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


TypeScript tried.luckFrom函數代碼示例

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


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

示例1: isSome

 luck => isSome(luck)
     ? luck.some !== undefined
         ? luckAsMaybe(read(luck.some))
         : luckFrom(
             noneFrom('No value specified.') // AB: TODO: some name, but no value (needs a special treatment in optional/required)
         )
     : luckFrom(
         noneFrom('No argument specified.') // no name
     )
開發者ID:aleksey-bykov,項目名稱:commandlining,代碼行數:9,代碼來源:mapping.ts

示例2: readVerbosity

function readVerbosity(value: string): bt.Tried<Severity, string> {
    const normalized = value.toLowerCase();
    switch (normalized) {
        case 'debug': return bt.luckFrom(Severity.Debug);
        case 'info': return bt.luckFrom(Severity.Info);
        case 'warning': return bt.luckFrom(Severity.Warning);
        case 'error': return bt.luckFrom(Severity.Error);
        default: return bt.fuckFrom('Unexpected value \'' + value + '\' for a verbosity.');
    }
}
開發者ID:aleksey-bykov,項目名稱:linting,代碼行數:10,代碼來源:commandlining.ts

示例3: readFlag

export function readFlag(value: string): Tried<boolean, string> {
    switch (value) {
        case 'true':
        case '1':
        case 'y':
            return luckFrom(true);
        case 'false':
        case '0':
        case 'n':
            return luckFrom(false);
        default:
            return fuckFrom('Unexpected value \'' + value + '\' of a flag argument.');
    }
}
開發者ID:aleksey-bykov,項目名稱:commandlining,代碼行數:14,代碼來源:mapping.ts

示例4: toOptions

export function toRunner<Options, State, Shared>(
    ruleKey: string,
    configs: Configs,
    toOptions: (config: {}) => bt.Tried<Options, string[]>,
    rule: FileRule<Options, State, Shared>
): bt.Tried<bo.Optional<Runner<Shared>>, string[]> {
    const config = configs[ruleKey];
    if (config !== undefined) {
        return bt.insteadFuck(
            bt.insteadLuck(
                toOptions(config),
                options => {
                    const runner = runnerFrom(
                        ruleKey,
                        (program, shared) => applyFileRule(program, options, rule, ruleKey, shared)
                    );
                    return bo.someFrom(runner)
                }
            ),
            problems => ba.insteadEach(
                problems,
                problem => 'Rule \'' + ruleKey + '\' has invalid configuration. ' + problem
            )
        );
    } else {
        return bt.luckFrom(
            bo.noneFrom('Rule \'' + ruleKey + '\' is disabled due to not being configured.')
        );
    }
}
開發者ID:aleksey-bykov,項目名稱:linting,代碼行數:30,代碼來源:configuring.ts

示例5: oneOrAnotherOrNeitherButNotBoth

function reading<Before, Value>(
    before: Tried<Before, string[]>,
    all: LooselyParsedResult,
    fullName: string,
    shortName: string | undefined,
    read: (value: string) => Tried<Value, string>
): Finishing<Before, Value> {

    const parsed = shortName !== undefined
        ? oneOrAnotherOrNeitherButNotBoth(
            tryAt(all.fullArgs, fullName),
            tryAt(all.shortArgs, shortName)
        )
        : luckFrom(tryAt(all.fullArgs, fullName));

    // attempt to read a string value as boolean
    const recognized = offTried(
        parsed,
        luck => isSome(luck)
            ? luck.some !== undefined
                ? luckAsMaybe(read(luck.some))
                : luckFrom(
                    noneFrom('No value specified.') // AB: TODO: some name, but no value (needs a special treatment in optional/required)
                )
            : luckFrom(
                noneFrom('No argument specified.') // no name
            )
        ,
        fuck => fuckFrom(fuck)
    );

    return new Finishing(all, before, recognized);
}
開發者ID:aleksey-bykov,項目名稱:commandlining,代碼行數:33,代碼來源:mapping.ts

示例6: toRunner

export function toRunners<Shared extends PerNodeShared & PerFileShared>(
    configs: Configs
): bt.Tried<bo.Optional<Runner<Shared>>[], string[]> {

    const all = [
        toRunner('bad-comment', configs, config => readFileFilterOptions(config), building().stateless(toBadComment).perNode().file().perFile(x => x).rule),
        toRunner('no-throw', configs, toEmptyOptions, building().stateless(toNoThrow).perNode().file().perFile(x => x).rule),

        toRunner(
            'no-export-import', configs, config => readFileFilterOptions(config),
            building().stateless(noExportImport).perNode().file().perFile(x => x).rule
        ),

        toRunner('no-primitive-to-self', configs, config => readFileFilterOptions(config), building().stateless(toNoPrimitiveToSelf).perNode().file().perFile(x => x).rule),
        toRunner('no-expressionless-return', configs, toEmptyOptions, building().stateless(toNoExpressionlessReturn).perNode().file().perFile(x => x).rule),
        toRunner('no-unnecessary-annotations', configs, toEmptyOptions, building().stateless(toNoUnnecessaryAnnotations).perNode().file().perFile(x => x).rule),
        toRunner('no-unnecessary-assertions', configs, toEmptyOptions, building().stateless(toNoUnnecessaryAssertions).perNode().file().perFile(x => x).rule),
        toRunner('names-stat', configs, config => {
            const ruleOptions = nameStat.toOptions(config);
            const fileOptions = readFileFilterOptions(config);
            const options = bothLucks(ruleOptions, fileOptions, fuse, concat);
            return options;
        }, building().stateful(nameStat.toRule()).perNode().file().perFile(x => x).rule),
        toRunner(
            'no-const-lambdas', configs, config => readFileFilterOptions(config),
            building().stateless(noConstLambdas).perNode().file().perFile(x => x).rule
        ),
        toRunner('banned-names', configs, toEmptyOptions, building().stateful(toBannedNames).perNode().file().perFile(x => x).rule),
        toRunner('no-symbol', configs, toEmptyOptions, building().stateless(toNoUndeclaredSymbols).perNode().file().perFile(x => x).rule),
        toRunner('const-needed', configs, config => readFileFilterOptions(config), building().stateful(toConstNeeded).perNode().file().perFile(x => x).rule)
    ];

    const [goods, bads] = partition(all);
    return bads.length > 0
        ? bt.fuckFrom(
            ba.concatAll(bads)
        )
        : bt.luckFrom(goods);
}
開發者ID:aleksey-bykov,項目名稱:rules,代碼行數:39,代碼來源:all.ts

示例7: standFrom

export function read<Parsing, Parsed>(
    value: string,
    parsing: Parsing,
    builder: Builder<Parsing>,
    asParsed: (parsing: Parsing) => Optional<Parsed>
): Tried<Parsed, Error> {
    const stand = standFrom(mightNeedCommandOrParameter, []);
    const started = keepReading(parsing, value, 0, stand, builder);
    if (isLuck(started)) {
        const finished = finishReading(started.luck.result, started.luck.stand, builder)
        if (isLuck(finished)) {
            const parsed = asParsed(finished.luck);
            if (isSome(parsed)) {
                return luckFrom(parsed.some);
            } else {
                return toFailedToFindBuilderInParameterState();
            }
        } else {
            return finished;
        }
    } else {
        return started;
    }
}
開發者ID:aleksey-bykov,項目名稱:commandlining,代碼行數:24,代碼來源:reading.ts

示例8: toEmptyOptions

export function toEmptyOptions(): bt.Luck<{}> {
    return bt.luckFrom({});
}
開發者ID:aleksey-bykov,項目名稱:rules,代碼行數:3,代碼來源:all.ts

示例9: luckFrom

function luck<State>(parsing: LooselyParsing, state: State): Luck<Expected<State, LooselyParsing>> {
    return luckFrom(expectedFrom(parsing, state));
}
開發者ID:aleksey-bykov,項目名稱:commandlining,代碼行數:3,代碼來源:loose-builder.ts


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