本文整理汇总了TypeScript中src/monet.Validation.chain方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Validation.chain方法的具体用法?TypeScript Validation.chain怎么用?TypeScript Validation.chain使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类src/monet.Validation
的用法示例。
在下文中一共展示了Validation.chain方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: getMessage
return Success<string, IMessage>(msg);
}
return Fail<string, IMessage>('BadMessageFormat.');
}
const wrapped = getMessage({type: 'MESSAGE', payload: 'Hello World'});
console.assert(!(wrapped.isSuccess() === wrapped.isFail()));
const wrappedGreeting: Validation<string, string> = wrapped.bind(v => v.payload ?
Validation.success<string, string>(v.payload) :
Validation.fail<string, string>('NonePayload'));
const wrappedType = wrapped.flatMap(getType);
const unpacked = wrappedGreeting.chain(g => wrappedType.map(t => `Type: ${t} - Body: ${g}`));
log(unpacked).run();
log2(getMessage(null).flatMap(getType)).performUnsafeIO();
log3(getMessage({type: 'x', payload: null}).chain(getType));
const nameError: string = Fail('-- Adamovisch').failMap(n => n.split(' ').shift()).fail();
function getHttpError(code: number) {
return Fail<number, string>(code);
}
const messageErrors: string = getHttpError(404).failMap<string>(String).failMap(Array)
.ap(getHttpError(400).failMap(String).failMap(Array).map(v => t => v + t))
.ap(getHttpError(500).failMap(String).failMap(Array).map(v => t => v + t))
.cata(e => e.join(), v => v);