UNPKG

decline-ts

Version:

Composable command-line parser for TypeScript - a (partial) porting of Scala decline using fp-ts

24 lines (23 loc) 1.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.regular = exports.of = exports.URI = void 0; const fp_ts_1 = require("fp-ts"); const function_1 = require("fp-ts/function"); const Opts_1 = require("../../Opts"); const Result_1 = require("../../Result"); const Match_1 = require("../Match"); exports.URI = 'Regular'; const of = (names, values = []) => ({ _tag: exports.URI, names, values, }); exports.of = of; exports.regular = { URI: exports.URI, parseOption: name => fa => fp_ts_1.readonlyArray.elem(Opts_1.Opts.Name.eq)(name, fa.names) ? fp_ts_1.option.some(Match_1.Match.matchOption(v => exports.of(fa.names, fp_ts_1.readonlyArray.cons(v, fa.values)))) : fp_ts_1.option.none, parseSub: () => () => fp_ts_1.option.none, result: fa => function_1.pipe(fa.values, fp_ts_1.readonlyArray.reverse, fp_ts_1.readonlyNonEmptyArray.fromReadonlyArray, fp_ts_1.option.map(Result_1.Result.success), fp_ts_1.option.getOrElse(() => Result_1.Result.fail)), };