本文整理匯總了TypeScript中@jonggrang/parsing.option函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript option函數的具體用法?TypeScript option怎麽用?TypeScript option使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了option函數的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1:
export const uri: PS.Parser<URI> = PS.co(function* () {
const us: string = yield PS.attempt(uscheme);
const [ua, up]: [Maybe<URIAuth>, string] = yield hierPart;
const uq: string = yield PS.option('', PS.char('?').chain(() => uquery));
const uf: string = yield PS.option('', PS.char('#').chain(() => ufragment));
return PS.pure(mkURI(us, ua, up, uq, uf));
});
示例2: notMatching
export const relativeRef: PS.Parser<URI> = PS.co(function* () {
yield notMatching(uscheme);
const [ua, path]: [Maybe<URIAuth>, string] = yield relativePart;
const uq: string = yield PS.option('', PS.char('?').chain(() => uquery));
const uf: string = yield PS.option('', PS.char('#').chain(() => ufragment));
return PS.pure(mkURI('', ua, path, uq, uf));
});
示例3: optNH4cH4
function optNH4cH4(n: number): PS.Parser<string> {
return PS.option('', PS.co(function* () {
const a1: string = yield countMinMax(0, n, h4c).map(joinStr);
const a2: string = yield h4;
return PS.pure(a1 + a2);
}));
}
示例4: countMinMax
function countMinMax<A>(m: number, n: number, p: PS.Parser<A>): PS.Parser<L.List<A>> {
if (m > 0) {
return p.chain(x => countMinMax(m - 1, n - 1, p).map(ar => L.cons(x, ar)));
} else if (n <= 0) {
return PS.pure(L.nil);
}
return PS.option(L.nil, p.chain(x => countMinMax(0, n - 1, p).map(ar => L.cons(x, ar))));
}
示例5: digits
const time: PS.Parser<[number, number, number]> = PS.co(function* () {
let h = yield digits(2, 2);
yield PS.char(':');
let m = yield digits(2, 2);
// the seconds fields is optional
let s = yield PS.option(0, PS.attempt(PS.char(':').chain(() => digits(2, 2))));
if (h > 23 || m > 59 || s > 59) {
return PS.fail('hour, minute and seconds must be in valid range');
}
return PS.pure([h, m, s]);
});