當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript Type.isObject方法代碼示例

本文整理匯總了TypeScript中@ephox/katamari.Type.isObject方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript Type.isObject方法的具體用法?TypeScript Type.isObject怎麽用?TypeScript Type.isObject使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在@ephox/katamari.Type的用法示例。


在下文中一共展示了Type.isObject方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: Error

 const handler = (value: string, meta?: Record<string, any>) => {
   if (!Type.isString(value)) {
     throw new Error('Expected value to be string');
   }
   if (meta !== undefined && !Type.isObject(meta)) {
     throw new Error('Expected meta to be a object');
   }
   const r: UrlData = { value, meta };
   completer(r);
 };
開發者ID:tinymce,項目名稱:tinymce,代碼行數:10,代碼來源:UrlInputBackstage.ts

示例2: Error

const items = (value: boolean | string, defaultValue: string): string => {

  if (Type.isArray(value) || Type.isObject(value)) {
    throw new Error('expected a string but found: ' + value);
  }

  if (Type.isUndefined(value)) {
    return defaultValue;
  }

  if (Type.isBoolean(value)) {
    return value === false ? '' : defaultValue;
  }
  return value;
};
開發者ID:tinymce,項目名稱:tinymce,代碼行數:15,代碼來源:EditorSettings.ts

示例3: function

  const create = function (o: BlobInfoData | string, blob?: Blob, base64?: string, filename?: string): BlobInfo {
    if (Type.isString(o)) {
      const id = o as string;

      return toBlobInfo({
        id,
        name: filename,
        blob,
        base64
      });
    } else if (Type.isObject(o)) {
      return toBlobInfo(o);
    } else {
      throw new Error('Unknown input type');
    }
  };
開發者ID:danielpunkass,項目名稱:tinymce,代碼行數:16,代碼來源:BlobCache.ts

示例4:

const isRaw = (str: any): str is RawString => Type.isObject(str) && Obj.has(str, 'raw');
開發者ID:tinymce,項目名稱:tinymce,代碼行數:1,代碼來源:I18n.ts

示例5:

const isRecordOfUrlArray = (r: any): boolean => {
  return Type.isObject(r) && Obj.find(r, (value) => !isArrayOfUrl(value)).isNone();
};
開發者ID:tinymce,項目名稱:tinymce,代碼行數:3,代碼來源:UrlInputHistory.ts

示例6: err

const normalizePattern = (pattern: RawPattern): Result<Pattern, PatternError> => {
  const err = (message: string) => Result.error({ message, pattern });
  const formatOrCmd = <T> (name: string, onFormat: (formats: string[]) => T, onCommand: (cmd: string, value: any) => T): Result<T, PatternError> => {
    if (pattern.format !== undefined) {
      let formats: string[];
      if (Type.isArray(pattern.format)) {
        if (!Arr.forall(pattern.format, Type.isString)) {
          return err(name + ' pattern has non-string items in the `format` array');
        }
        formats = pattern.format;
      } else if (Type.isString(pattern.format)) {
        formats = [pattern.format];
      } else {
        return err(name + ' pattern has non-string `format` parameter');
      }
      return Result.value(onFormat(formats));
    } else if (pattern.cmd !== undefined) {
      if (!Type.isString(pattern.cmd)) {
        return err(name + ' pattern has non-string `cmd` parameter');
      }
      return Result.value(onCommand(pattern.cmd, pattern.value));
    } else {
      return err(name + ' pattern is missing both `format` and `cmd` parameters');
    }
  };
  if (!Type.isObject(pattern)) {
    return err('Raw pattern is not an object');
  }
  if (!Type.isString(pattern.start)) {
    return err('Raw pattern is missing `start` parameter');
  }
  if (pattern.end !== undefined) {
    // inline pattern
    if (!Type.isString(pattern.end)) {
      return err('Inline pattern has non-string `end` parameter');
    }
    if (pattern.start.length === 0 && pattern.end.length === 0) {
      return err('Inline pattern has empty `start` and `end` parameters');
    }
    let start = pattern.start;
    let end = pattern.end;
    // when the end is empty swap with start as it is more efficent
    if (end.length === 0) {
      end = start;
      start = '';
    }
    return formatOrCmd<InlinePattern>('Inline',
    (format) => ({ type: 'inline-format', start, end, format }),
    (cmd, value) => ({ type: 'inline-command', start, end, cmd, value }));
  } else if (pattern.replacement !== undefined) {
    // replacement pattern
    if (!Type.isString(pattern.replacement)) {
      return err('Replacement pattern has non-string `replacement` parameter');
    }
    if (pattern.start.length === 0) {
      return err('Replacement pattern has empty `start` parameter');
    }
    return Result.value<InlineCmdPattern>({
      type: 'inline-command',
      start: '',
      end: pattern.start,
      cmd: 'mceInsertContent',
      value: pattern.replacement,
    });
  } else {
    // block pattern
    if (pattern.start.length === 0) {
      return err('Block pattern has empty `start` parameter');
    }
    return formatOrCmd<BlockPattern>('Block', (formats) => ({
      type: 'block-format',
      start: pattern.start,
      format: formats[0]
    }), (command, commandValue) => ({
      type: 'block-command',
      start: pattern.start,
      cmd: command,
      value: commandValue,
    }));
  }
};
開發者ID:tinymce,項目名稱:tinymce,代碼行數:81,代碼來源:Pattern.ts

示例7:

const isCustomMessage = (data: any): boolean => {
  return !isSupportedMessage(data) && Type.isObject(data) && Obj.has(data, 'mceAction');
};
開發者ID:tinymce,項目名稱:tinymce,代碼行數:3,代碼來源:SilverUrlDialog.ts


注:本文中的@ephox/katamari.Type.isObject方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。