MCPcopy Create free account
hub / github.com/effect-app/libs / nullableDecodedUndefinedEncoded

Function nullableDecodedUndefinedEncoded

packages/effect-app/test/special.test.ts:645–664  ·  view source on GitHub ↗
(schema: Schema.Top)

Source from the content-addressed store, hash-verified

643 it("nullable to optional — from NullOr", () => {
644 const nullableDecodedUndefinedEncoded = (schema: S.Top) => {
645 const isNullableSchema = "members" in schema
646 && globalThis.Array.isArray((schema as any).members)
647 && (schema as any).members.length === 2
648 && (schema as any).members.some((member: any) => member.ast._tag === "Null")
649
650 const nullableMembers = isNullableSchema ? (schema as any).members as ReadonlyArray<S.Top> : undefined
651 const innerSchema = nullableMembers
652 ? nullableMembers.find((member: any) => member.ast._tag !== "Null")!
653 : schema
654
655 const nullableSchema = isNullableSchema ? schema : S.NullOr(schema)
656
657 return nullableSchema.pipe(
658 S.encodeTo(S.optionalKey(innerSchema), {
659 decode: SchemaGetter.transformOptional(Option.orElseSome(() => null)),
660 encode: SchemaGetter.transformOptional(Option.filter(Predicate.isNotNull))
661 })
662 )
663 }
664
665 const fromNullOr = nullableDecodedUndefinedEncoded(S.NullOr(S.String))
666 const structFromNullOr = S.Struct({ status: fromNullOr })
667

Callers 1

special.test.tsFile · 0.85

Calls 6

someMethod · 0.80
filterMethod · 0.80
pipeMethod · 0.65
optionalKeyMethod · 0.65
getMethod · 0.65
setMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…