本文整理匯總了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))