UNPKG

decline-ts

Version:

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

19 lines (18 loc) 1.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validate = exports.of = exports.URI = void 0; const fp_ts_1 = require("fp-ts"); const function_1 = require("fp-ts/function"); const Result_1 = require("../../Result"); const index_1 = require("../index"); const Match_1 = require("../Match"); exports.URI = 'Validate'; const of = (a, f) => ({ _tag: exports.URI, a, f }); exports.of = of; exports.validate = { URI: exports.URI, parseOption: name => fa => function_1.pipe(fa.a, index_1.Accumulator.parseOption(name), fp_ts_1.option.map(Match_1.Match.map(a => exports.of(a, fa.f)))), parseArg: arg => fa => function_1.pipe(fa.a, index_1.Accumulator.parseArg(arg), fp_ts_1.readonlyNonEmptyArray.map(fp_ts_1.either.bimap(index_1.Accumulator.mapValidated(fa.f), index_1.Accumulator.mapValidated(fa.f)))), parseSub: command => fa => function_1.pipe(fa.a, index_1.Accumulator.parseSub(command), fp_ts_1.option.map(l => function_1.flow(l, fp_ts_1.either.map(Result_1.Result.mapValidated(fa.f))))), result: fa => function_1.pipe(fa.a, index_1.Accumulator.result, Result_1.Result.mapValidated(fa.f)), };