MCPcopy
hub / github.com/Effect-TS/effect / getCurrentMessage

Function getCurrentMessage

packages/effect/src/ParseResult.ts:1802–1821  ·  view source on GitHub ↗
(issue: ParseIssue)

Source from the content-addressed store, hash-verified

1800const Either_void = Either.right(undefined)
1801
1802const getCurrentMessage = (issue: ParseIssue): Effect.Effect<CurrentMessage | undefined> =>
1803 getAnnotated(issue).pipe(
1804 Option.flatMap(AST.getMessageAnnotation),
1805 Option.match({
1806 onNone: () => Either_void,
1807 onSome: (messageAnnotation) => {
1808 const union = messageAnnotation(issue)
1809 if (Predicate.isString(union)) {
1810 return Either.right({ message: union, override: false })
1811 }
1812 if (Effect.isEffect(union)) {
1813 return Effect.map(union, (message) => ({ message, override: false }))
1814 }
1815 if (Predicate.isString(union.message)) {
1816 return Either.right({ message: union.message, override: union.override })
1817 }
1818 return Effect.map(union.message, (message) => ({ message, override: union.override }))
1819 }
1820 })
1821 )
1822
1823const createParseIssueGuard =
1824 <T extends ParseIssue["_tag"]>(tag: T) => (issue: ParseIssue): issue is Extract<ParseIssue, { _tag: T }> =>

Callers 1

getMessageFunction · 0.85

Calls 3

getAnnotatedFunction · 0.85
pipeMethod · 0.65
mapMethod · 0.65

Tested by

no test coverage detected