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


TypeScript array.fold函數代碼示例

本文整理匯總了TypeScript中basic/array.fold函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript fold函數的具體用法?TypeScript fold怎麽用?TypeScript fold使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


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

示例1: fold

 (result, value) => fold(
     toArguments(value),
     result,
     (result, argument) => (
         void tryAdd(result, argument, value),
         result
     )
 )
開發者ID:aleksey-bykov,項目名稱:commandlining,代碼行數:8,代碼來源:arguments.ts

示例2: lint

    function lint(
        projectFile: string,
        shared: Shared,
        configuration: Configs
    ): OneOfThree<Issue[], ts.Diagnostic[], Line<Severity>[]> {

        const runners = toRunners(configuration);
        if (bt.isLuck(runners)) {
            const [configured, unconfigured] = partition<bm.Some<Runner<Shared>>, bm.None>(runners.luck, bm.isSome);
            if (configured.length > 0) {
                const linted = run(
                    projectFile,
                    shared,
                    insteadEach(configured, bm.someOf)
                );
                if (bt.isLuck(linted)) {
                    return firstFrom(linted.luck);
                } else {
                    return secondFrom(linted.fuck);
                }
            } else {
                return thirdFrom(
                    fold(
                        unconfigured,
                        [lineFrom(Severity.Info, 'There are no available rules.')],
                        (result, unconfigured) => append(result, lineFrom(Severity.Info, unconfigured.none))
                    )
                );
            }
        } else {
            return thirdFrom(
                fold(
                    runners.fuck,
                    [lineFrom(Severity.Error, 'Unable to get runners ready.')],
                    (result, failure) => append(result, lineFrom(Severity.Error, failure))
                )
            );
        }
    }
開發者ID:aleksey-bykov,項目名稱:linting,代碼行數:39,代碼來源:starting.ts

示例3:

export function applyFileRule<Options, State, Shared>(
    program: ts.Program,
    options: Options,
    rule: FileRule<Options, State, Shared>,
    ruleKey: string,
    shared: Shared
): Issue[] {
    return rule.toIssues(
        ba.fold(
            program.getSourceFiles(),
            rule.toState(program, options, shared),
            (state, file) => rule.enforce(file, program.getTypeChecker(), state, options, ruleKey, shared)
        ),
        options,
        shared
    );
}
開發者ID:aleksey-bykov,項目名稱:linting,代碼行數:17,代碼來源:applying.ts

示例4: viaTarget

 (node, state) => {
     if (isIdentifier(node)) {
         const identifier = node;
         state.issues = ba.fold(
             state.checks,
             state.issues,
             (issues, rule) => viaTarget(
                 identifier,
                 rule.target,
                 identifier => rule.regex.test(identifier.text)
                     ? bl.add(issues, issueFrom(node, rule.message, 'invalid-name'))
                     : issues,
                 () => issues
             )
         );
     }
     return state;
 }
開發者ID:aleksey-bykov,項目名稱:rules,代碼行數:18,代碼來源:rule.ts


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