当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript Result.default方法代码示例

本文整理汇总了TypeScript中@ephox/katamari.Result.default方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Result.default方法的具体用法?TypeScript Result.default怎么用?TypeScript Result.default使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在@ephox/katamari.Result的用法示例。


在下文中一共展示了Result.default方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: convertUnit

export const makeRatioConverter = (currentFieldText: string, otherFieldText: string): SizeConversion => {
  const cValue = parseSize(currentFieldText).toOption();
  const oValue = parseSize(otherFieldText).toOption();
  return Options.liftN([cValue, oValue], (cSize: Size, oSize: Size) => {
    return convertUnit(cSize, oSize.unit).map((val) => oSize.value / val).map(
      (r) => ratioSizeConversion(r, oSize.unit)
    ).getOr(noSizeConversion);
  }).getOr(noSizeConversion);
};
开发者ID:tinymce,项目名称:tinymce,代码行数:9,代码来源:SizeInputModel.ts

示例2: extractGlobal

 ScriptLoader.ScriptLoader.loadScript(databaseUrl, () => {
   extractGlobal(databaseUrl).fold(
     (err) => {
       console.log(err);
       categories.set(Option.some({ }));
       all.set(Option.some([ ]));
     },
     (emojis) => {
       const userEmojis = getUserDefinedEmoticons(editor);
       processEmojis(Merger.merge(emojis, userEmojis));
     }
   );
 }, () => {
开发者ID:tinymce,项目名称:tinymce,代码行数:13,代码来源:EmojiDatabase.ts

示例3: 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


注:本文中的@ephox/katamari.Result.default方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。