本文整理汇总了TypeScript中tsmonad.Maybe类的典型用法代码示例。如果您正苦于以下问题:TypeScript Maybe类的具体用法?TypeScript Maybe怎么用?TypeScript Maybe使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Maybe类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: constructor
constructor(
public proofTree : IProofTree,
parent : Maybe<IProofTreeNode>
) {
this.body = undefined
this.depth = parent.fmap((p : IProofTreeNode) => p.depth + 1).valueOr(0)
const foo = parent.fmap((p : IProofTreeNode) => p.currentScaledX).valueOr(0)
this.currentScaledX = parent.fmap(p => p.currentScaledX).valueOr(0)
this.currentScaledY = parent.fmap(p => p.currentScaledY).valueOr(0)
this.id = `${nodeId++}` // used to be taken care of by d3
}
示例2: switch
errorMsg$.subscribe(e => {
// debugger
let failedEdit = Maybe.nothing<ISentence<IStage>>()
switch (e.editOrState) {
case EditOrState.Edit :
failedEdit = just(doc.getSentencesToProcess()[0])
break
case EditOrState.State :
failedEdit = doc.getSentenceByStateId(e.editOrStateId)
break
default : debugger
}
failedEdit.fmap(failedEdit => {
e.feedbackContent.location.fmap(location => {
const errorStartIndex = location.bp
const errorStopIndex = location.ep
// to compute the document location, we must map the location (nb of characters)
// to the on-screen position (by virtually moving the cursor right)
const errorStart = doc.movePositionRight(failedEdit.startPosition, errorStartIndex)
const errorStop = doc.movePositionRight(failedEdit.startPosition, errorStopIndex)
const range = new AceAjax.Range(errorStart.row, errorStart.column, errorStop.row, errorStop.column)
doc.markError(range, clear$)
})
})
})
示例3: getFirstMemberName
//////////
function getFirstMemberName(state: State): string | undefined {
return Maybe.maybe<Data>(state.data!)
.bind(data => Maybe.maybe(data.members[0]))
.bind(member => Maybe.just(member.name))
.caseOf({
just: name => name,
nothing: () => undefined
})
/*
return Maybe.maybe<Data>(state.data!)
.bind(data => Maybe.maybe(data.members[0]))
.caseOf({
just: member => member.name,
nothing: () => undefined
})
*/
}
示例4:
.bind(member => Maybe.just(member.name))