decline-ts
Version:
Composable command-line parser for TypeScript - a (partial) porting of Scala decline using fp-ts
20 lines (19 loc) • 707 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.subcommand = 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");
exports.URI = 'Subcommand';
const of = (name, action) => ({
_tag: exports.URI,
name,
action,
});
exports.of = of;
exports.subcommand = {
URI: exports.URI,
parseOption: () => () => fp_ts_1.option.none,
parseSub: command => fa => command === fa.name ? fp_ts_1.option.some(function_1.flow(fa.action, fp_ts_1.either.map(Result_1.Result.success))) : fp_ts_1.option.none,
result: fa => Result_1.Result.missingCommand(fa.name),
};