effect-app 4.0.0-beta.146 → 4.0.0-beta.148
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/Operations.d.ts +17 -977
- package/dist/Operations.d.ts.map +1 -1
- package/dist/Schema/Class.d.ts +2 -2
- package/dist/Schema/Class.d.ts.map +1 -1
- package/dist/Schema.d.ts +19 -7
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +46 -3
- package/dist/utils.d.ts +18 -4
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +1 -1
- package/package.json +1 -1
- package/src/Schema.ts +76 -12
- package/src/utils.ts +36 -3
- package/test/schema.test.ts +19 -0
- package/test/special.test.ts +43 -0
package/dist/utils.js
CHANGED
|
@@ -412,4 +412,4 @@ const genConstructor = (function* () { }).constructor;
|
|
|
412
412
|
* @since 3.11.0
|
|
413
413
|
*/
|
|
414
414
|
export const isGeneratorFunction = (u) => isObject(u) && u.constructor === genConstructor;
|
|
415
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0RBQStEO0FBQy9ELHVEQUF1RDtBQUN2RCxzRUFBc0U7QUFDdEUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQ25FLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3ZELE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFBO0FBRXZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRzlDLHVFQUF1RTtBQUN2RSxjQUFjLHNCQUFzQixDQUFBO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYyxnQkFBZ0IsQ0FBQTtBQUM5QixjQUFjLG1CQUFtQixDQUFBO0FBQ2pDLGNBQWMscUJBQXFCLENBQUE7QUFDbkMsY0FBYztBQUVkLGNBQWMsY0FBYyxDQUFBO0FBRTVCLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBbUduRCxTQUFTLEdBQUcsQ0FBQyxHQUFRLEVBQUUsSUFBUyxFQUFFLFlBQVksR0FBRyxTQUFTO0lBQ3hELDJGQUEyRjtJQUMzRixNQUFNLE1BQU0sR0FBRyxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQzdCLE1BQU07U0FDSCxTQUFTO1NBQ1QsS0FBSztTQUNMLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO1NBQ2xCLE1BQU0sQ0FBQyxPQUFPLENBQUM7U0FDZixNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcs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
|
|
415
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0RBQStEO0FBQy9ELHVEQUF1RDtBQUN2RCxzRUFBc0U7QUFDdEUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBQ25FLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3ZELE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFBO0FBRXZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBRzlDLHVFQUF1RTtBQUN2RSxjQUFjLHNCQUFzQixDQUFBO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYyxnQkFBZ0IsQ0FBQTtBQUM5QixjQUFjLG1CQUFtQixDQUFBO0FBQ2pDLGNBQWMscUJBQXFCLENBQUE7QUFDbkMsY0FBYztBQUVkLGNBQWMsY0FBYyxDQUFBO0FBRTVCLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBbUduRCxTQUFTLEdBQUcsQ0FBQyxHQUFRLEVBQUUsSUFBUyxFQUFFLFlBQVksR0FBRyxTQUFTO0lBQ3hELDJGQUEyRjtJQUMzRixNQUFNLE1BQU0sR0FBRyxDQUFDLE1BQVcsRUFBRSxFQUFFLENBQzdCLE1BQU07U0FDSCxTQUFTO1NBQ1QsS0FBSztTQUNMLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO1NBQ2xCLE1BQU0sQ0FBQyxPQUFPLENBQUM7U0FDZixNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcs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
|
package/package.json
CHANGED
package/src/Schema.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { fakerArb } from "./faker.js"
|
|
|
5
5
|
import { Email as EmailT, type Email as EmailType } from "./Schema/email.js"
|
|
6
6
|
import { concurrencyUnbounded, withDefaultMake } from "./Schema/ext.js"
|
|
7
7
|
import { PhoneNumber as PhoneNumberT, type PhoneNumber as PhoneNumberType } from "./Schema/phoneNumber.js"
|
|
8
|
-
import { copy, type
|
|
8
|
+
import { copy, extendM, type StructuralCopyOrigin } from "./utils.js"
|
|
9
9
|
|
|
10
10
|
export * from "effect/Schema"
|
|
11
11
|
|
|
@@ -36,24 +36,86 @@ export { Void as Void_ } from "effect/Schema"
|
|
|
36
36
|
// Struct / NonEmptyArray / Record — with concurrency: "unbounded"
|
|
37
37
|
// ---------------------------------------------------------------------------
|
|
38
38
|
|
|
39
|
-
type WithSchemaCopy<Self extends S.Top> = Self & {
|
|
40
|
-
readonly copy:
|
|
39
|
+
type WithSchemaCopy<Self extends S.Top & { readonly Type: object }> = Self & {
|
|
40
|
+
readonly copy: StructuralCopyOrigin<Self["Type"]>
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
type OptionalMakeInput<Fields extends S.Struct.Fields> = {} extends S.Struct.MakeIn<Fields> ? {
|
|
44
|
+
make(input?: S.Struct.MakeIn<Fields>, options?: S.MakeOptions): S.Struct.Type<Fields>
|
|
45
|
+
}
|
|
46
|
+
: {}
|
|
47
|
+
|
|
48
|
+
export function Struct<const Fields extends S.Struct.Fields>(
|
|
49
|
+
fields: Fields
|
|
50
|
+
): Struct<Fields> & OptionalMakeInput<Fields> {
|
|
44
51
|
const result = S.Struct(fields).annotate(concurrencyUnbounded)
|
|
52
|
+
const allowVoidMake = (schema: any): any => {
|
|
53
|
+
// Normalize omitted input to an empty object so optional/default-only structs can be constructed with make().
|
|
54
|
+
const origMake: any = schema.make
|
|
55
|
+
const origMakeOption: any = schema.makeOption
|
|
56
|
+
const origMakeEffect: any = schema.makeEffect
|
|
57
|
+
schema.make = function(this: any, input: any, options?: any) {
|
|
58
|
+
return origMake.call(this, input === undefined ? {} : input, options)
|
|
59
|
+
}
|
|
60
|
+
schema.makeOption = function(this: any, input: any, options?: any) {
|
|
61
|
+
return origMakeOption.call(this, input === undefined ? {} : input, options)
|
|
62
|
+
}
|
|
63
|
+
schema.makeEffect = function(this: any, input: any, options?: any) {
|
|
64
|
+
return origMakeEffect.call(this, input === undefined ? {} : input, options)
|
|
65
|
+
}
|
|
66
|
+
return schema
|
|
67
|
+
}
|
|
45
68
|
// eslint-disable-next-line @typescript-eslint/unbound-method, @typescript-eslint/no-unsafe-assignment
|
|
46
69
|
const origMapFields: any = result.mapFields
|
|
70
|
+
// eslint-disable-next-line @typescript-eslint/unbound-method, @typescript-eslint/no-unsafe-assignment
|
|
71
|
+
const origAnnotate: any = result.annotate
|
|
72
|
+
// eslint-disable-next-line @typescript-eslint/unbound-method, @typescript-eslint/no-unsafe-assignment
|
|
73
|
+
const origAnnotateKey: any = result.annotateKey
|
|
74
|
+
|
|
75
|
+
const preserveCopyAndMethods = (schema: any): any => {
|
|
76
|
+
schema.copy = copy
|
|
77
|
+
schema.mapFields = function(this: any, f: any, options?: any) {
|
|
78
|
+
return (result as any).mapFields.call(this, f, options)
|
|
79
|
+
}
|
|
80
|
+
schema.annotate = function(this: any, annotations?: any) {
|
|
81
|
+
return (result as any).annotate.call(this, annotations)
|
|
82
|
+
}
|
|
83
|
+
schema.annotateKey = function(this: any, annotations?: any) {
|
|
84
|
+
return (result as any).annotateKey.call(this, annotations)
|
|
85
|
+
}
|
|
86
|
+
return allowVoidMake(schema)
|
|
87
|
+
}
|
|
47
88
|
;(result as any).mapFields = function(this: any, f: any, options?: any) {
|
|
48
89
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
49
90
|
const mapped = origMapFields.call(this, f, options).annotate(concurrencyUnbounded)
|
|
50
|
-
mapped
|
|
51
|
-
|
|
91
|
+
return preserveCopyAndMethods(mapped)
|
|
92
|
+
}
|
|
93
|
+
;(result as any).annotate = function(this: any, annotations?: any) {
|
|
94
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
95
|
+
const annotated = origAnnotate.call(this, annotations)
|
|
96
|
+
return preserveCopyAndMethods(annotated)
|
|
97
|
+
}
|
|
98
|
+
;(result as any).annotateKey = function(this: any, annotations?: any) {
|
|
99
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
|
|
100
|
+
const annotated = origAnnotateKey.call(this, annotations)
|
|
101
|
+
return preserveCopyAndMethods(annotated)
|
|
52
102
|
}
|
|
53
103
|
;(result as any).copy = copy
|
|
54
|
-
|
|
104
|
+
allowVoidMake(result)
|
|
105
|
+
return result as Struct<Fields> & OptionalMakeInput<Fields>
|
|
106
|
+
}
|
|
107
|
+
export interface Struct<Fields extends S.Struct.Fields> extends WithSchemaCopy<S.Struct<Fields>> {
|
|
108
|
+
annotate(
|
|
109
|
+
annotations: S.Annotations.Bottom<S.Struct.Type<Fields>, S.Struct<Fields>["~type.parameters"]>
|
|
110
|
+
): Struct<Fields>
|
|
111
|
+
annotateKey(annotations: S.Annotations.Key<S.Struct.Type<Fields>>): Struct<Fields>
|
|
112
|
+
mapFields<To extends S.Struct.Fields>(
|
|
113
|
+
f: (fields: Fields) => To,
|
|
114
|
+
options?: {
|
|
115
|
+
readonly unsafePreserveChecks?: boolean | undefined
|
|
116
|
+
}
|
|
117
|
+
): Struct<Readonly<To>>
|
|
55
118
|
}
|
|
56
|
-
export interface Struct<Fields extends S.Struct.Fields> extends WithSchemaCopy<S.Struct<Fields>> {}
|
|
57
119
|
export declare namespace Struct {
|
|
58
120
|
export type Fields = S.Struct.Fields
|
|
59
121
|
export type Type<F extends S.Struct.Fields> = S.Struct.Type<F>
|
|
@@ -71,12 +133,14 @@ export function NonEmptyArray<Value extends S.Top>(value: Value): S.NonEmptyArra
|
|
|
71
133
|
export function TaggedStruct<const Tag extends SchemaAST.LiteralValue, const Fields extends S.Struct.Fields>(
|
|
72
134
|
value: Tag,
|
|
73
135
|
fields: Fields
|
|
74
|
-
):
|
|
136
|
+
): TaggedStruct<Tag, Fields> {
|
|
75
137
|
return Struct({ _tag: S.tag(value), ...fields }) as any
|
|
76
138
|
}
|
|
77
|
-
export type TaggedStruct<Tag extends SchemaAST.LiteralValue, Fields extends S.Struct.Fields> =
|
|
78
|
-
|
|
79
|
-
>
|
|
139
|
+
export type TaggedStruct<Tag extends SchemaAST.LiteralValue, Fields extends S.Struct.Fields> =
|
|
140
|
+
& WithSchemaCopy<
|
|
141
|
+
S.TaggedStruct<Tag, Fields>
|
|
142
|
+
>
|
|
143
|
+
& OptionalMakeInput<Readonly<{ readonly _tag: S.tag<Tag> } & Fields>>
|
|
80
144
|
|
|
81
145
|
export function Record<Key extends S.Record.Key, Value extends S.Top>(
|
|
82
146
|
key: Key,
|
package/src/utils.ts
CHANGED
|
@@ -733,23 +733,56 @@ export const copy = dual<
|
|
|
733
733
|
}
|
|
734
734
|
>(2, <A>(self: A, f: Partial<A> | ((a: A) => Partial<A>)) => clone(self, { ...self, ...(isFunction(f) ? f(self) : f) }))
|
|
735
735
|
|
|
736
|
-
type CopyOriginU<U, Ctor extends new(...args: any[]) => any> =
|
|
736
|
+
export type CopyOriginU<U, Ctor extends new(...args: any[]) => any> =
|
|
737
737
|
& {
|
|
738
738
|
[K in keyof U & keyof InstanceType<Ctor>]?: U[K]
|
|
739
739
|
}
|
|
740
740
|
& {}
|
|
741
741
|
|
|
742
|
-
type CopyOriginRet<A, U> =
|
|
742
|
+
export type CopyOriginRet<A, U> =
|
|
743
743
|
& {
|
|
744
744
|
[K in keyof A | keyof U]: K extends keyof U ? U[K] : A[K & keyof A]
|
|
745
745
|
}
|
|
746
746
|
& {}
|
|
747
747
|
|
|
748
|
-
type CopyOriginSelf<A, U> = Equals<{}, U> extends true
|
|
748
|
+
export type CopyOriginSelf<A, U> = Equals<{}, U> extends true
|
|
749
749
|
? Equals<keyof {}, keyof U> extends true ? `updates argument is empty or contains only extra properties`
|
|
750
750
|
: A
|
|
751
751
|
: A
|
|
752
752
|
|
|
753
|
+
export interface StructuralCopyOrigin<Self extends object> {
|
|
754
|
+
<A extends Self, U extends Partial<Self>>(
|
|
755
|
+
f: (a: A) =>
|
|
756
|
+
& {
|
|
757
|
+
[K in keyof U & keyof Self]?: U[K]
|
|
758
|
+
}
|
|
759
|
+
& {}
|
|
760
|
+
): (self: CopyOriginSelf<A, U>) => CopyOriginRet<A, U>
|
|
761
|
+
<A extends Self, U extends Partial<Self>>(
|
|
762
|
+
updates:
|
|
763
|
+
& {
|
|
764
|
+
[K in keyof U & keyof Self]?: U[K]
|
|
765
|
+
}
|
|
766
|
+
& {}
|
|
767
|
+
): (self: CopyOriginSelf<A, U>) => CopyOriginRet<A, U>
|
|
768
|
+
<A extends Self, U extends Partial<Self>>(
|
|
769
|
+
self: CopyOriginSelf<A, U>,
|
|
770
|
+
f: (a: A) =>
|
|
771
|
+
& {
|
|
772
|
+
[K in keyof U & keyof Self]?: U[K]
|
|
773
|
+
}
|
|
774
|
+
& {}
|
|
775
|
+
): CopyOriginRet<A, U>
|
|
776
|
+
<A extends Self, U extends Partial<Self>>(
|
|
777
|
+
self: CopyOriginSelf<A, U>,
|
|
778
|
+
updates:
|
|
779
|
+
& {
|
|
780
|
+
[K in keyof U & keyof Self]?: U[K]
|
|
781
|
+
}
|
|
782
|
+
& {}
|
|
783
|
+
): CopyOriginRet<A, U>
|
|
784
|
+
}
|
|
785
|
+
|
|
753
786
|
// just one input param: the convention is that the ctor takes an object
|
|
754
787
|
// containing the properties of the value (I can't put object there as type because of contravariance)
|
|
755
788
|
/**
|
package/test/schema.test.ts
CHANGED
|
@@ -68,6 +68,25 @@ test("S.Literals([\"A\", \"B\"]).Default is typed as \"A\"", () => {
|
|
|
68
68
|
expectTypeOf(l.Default).toEqualTypeOf<"A">()
|
|
69
69
|
})
|
|
70
70
|
|
|
71
|
+
test("Struct.make accepts void when all fields are optional", () => {
|
|
72
|
+
const schema = S.Struct({
|
|
73
|
+
a: S.optional(S.String),
|
|
74
|
+
b: S.optional(S.Number)
|
|
75
|
+
})
|
|
76
|
+
|
|
77
|
+
const made = schema.make()
|
|
78
|
+
expect(made).toEqual({})
|
|
79
|
+
expectTypeOf(made).toEqualTypeOf<{ readonly a?: string | undefined; readonly b?: number | undefined }>()
|
|
80
|
+
})
|
|
81
|
+
|
|
82
|
+
test("TaggedStruct.make accepts void when only constructor-default fields exist", () => {
|
|
83
|
+
const schema = S.TaggedStruct("OnlyTag", {})
|
|
84
|
+
|
|
85
|
+
const made = schema.make()
|
|
86
|
+
expect(made).toEqual({ _tag: "OnlyTag" })
|
|
87
|
+
expectTypeOf(made).toEqualTypeOf<{ readonly _tag: "OnlyTag" }>()
|
|
88
|
+
})
|
|
89
|
+
|
|
71
90
|
test("tagged union derives tag map and tags from v4 literal ast", () => {
|
|
72
91
|
const schema = S.TaggedUnion(
|
|
73
92
|
S.TaggedStruct("A", { a: S.String }),
|
package/test/special.test.ts
CHANGED
|
@@ -281,6 +281,49 @@ describe("Struct.copy", () => {
|
|
|
281
281
|
|
|
282
282
|
expect(copied).toEqual({ name: "x", state: { _tag: "b", b: 1 } })
|
|
283
283
|
})
|
|
284
|
+
|
|
285
|
+
it("copy function is preserved when using .annotate()", () => {
|
|
286
|
+
const A = AppSchema.Struct({ a: S.String, b: S.Number }).annotate({ title: "A" })
|
|
287
|
+
|
|
288
|
+
const instance = A.make({ a: "hello", b: 1 })
|
|
289
|
+
const copied = A.copy(instance, { b: 2 })
|
|
290
|
+
|
|
291
|
+
expect(copied).toEqual({ a: "hello", b: 2 })
|
|
292
|
+
expect(copied).not.toBe(instance)
|
|
293
|
+
})
|
|
294
|
+
|
|
295
|
+
it("copy function is preserved when using .annotateKey()", () => {
|
|
296
|
+
const A = AppSchema.Struct({ a: S.String, b: S.Number }).annotateKey({ title: "A" })
|
|
297
|
+
|
|
298
|
+
const instance = A.make({ a: "hello", b: 1 })
|
|
299
|
+
const copied = A.copy(instance, { b: 2 })
|
|
300
|
+
|
|
301
|
+
expect(copied).toEqual({ a: "hello", b: 2 })
|
|
302
|
+
expect(copied).not.toBe(instance)
|
|
303
|
+
})
|
|
304
|
+
|
|
305
|
+
it("copy function is preserved when using .mapFields()", () => {
|
|
306
|
+
const A = AppSchema.Struct({ a: S.String, b: S.Number }).mapFields((f) => ({ ...f }))
|
|
307
|
+
|
|
308
|
+
const instance = A.make({ a: "hello", b: 1 })
|
|
309
|
+
const copied = A.copy(instance, { b: 2 })
|
|
310
|
+
|
|
311
|
+
expect(copied).toEqual({ a: "hello", b: 2 })
|
|
312
|
+
expect(copied).not.toBe(instance)
|
|
313
|
+
})
|
|
314
|
+
|
|
315
|
+
it("copy function is preserved through chained calls", () => {
|
|
316
|
+
const A = AppSchema
|
|
317
|
+
.Struct({ a: S.String, b: S.Number })
|
|
318
|
+
.annotate({ title: "A" })
|
|
319
|
+
.annotateKey({ description: "test" })
|
|
320
|
+
|
|
321
|
+
const instance = A.make({ a: "hello", b: 1 })
|
|
322
|
+
const copied = A.copy(instance, { b: 2 })
|
|
323
|
+
|
|
324
|
+
expect(copied).toEqual({ a: "hello", b: 2 })
|
|
325
|
+
expect(copied).not.toBe(instance)
|
|
326
|
+
})
|
|
284
327
|
})
|
|
285
328
|
|
|
286
329
|
describe("TaggedStruct.copy", () => {
|