effect-app 4.0.0-beta.93 → 4.0.0-beta.95
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 +8 -0
- package/dist/Operations.d.ts +2 -2
- package/dist/Schema/Class.d.ts +1 -23
- package/dist/Schema/Class.d.ts.map +1 -1
- package/dist/Schema/Class.js +2 -20
- package/dist/Schema.d.ts +1 -1
- package/dist/Schema.d.ts.map +1 -1
- package/dist/Schema.js +2 -2
- package/dist/client/errors.d.ts +8 -8
- package/package.json +1 -1
- package/src/Schema/Class.ts +2 -62
- package/src/Schema.ts +1 -1
- package/test/special.test.ts +2 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# @effect-app/prelude
|
|
2
2
|
|
|
3
|
+
## 4.0.0-beta.95
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 88838fb: Remove pick/omit customizations from Class/TaggedClass/Struct/TaggedStruct. Use `Struct.pick(X.fields, [...])` from `effect-app` instead.
|
|
8
|
+
|
|
9
|
+
## 4.0.0-beta.94
|
|
10
|
+
|
|
3
11
|
## 4.0.0-beta.93
|
|
4
12
|
|
|
5
13
|
## 4.0.0-beta.92
|
package/dist/Operations.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export declare const OperationId: S.WithDefaults<S.brand<S.String, "NonEmptyStri
|
|
|
7
7
|
make: () => S.StringId;
|
|
8
8
|
withDefault: S.withConstructorDefault<S.brand<S.String, "NonEmptyString" | "StringId" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">>;
|
|
9
9
|
};
|
|
10
|
-
declare const OperationProgress_base: S.EnhancedClass<OperationProgress,
|
|
10
|
+
declare const OperationProgress_base: S.EnhancedClass<OperationProgress, S.Struct<{
|
|
11
11
|
completed: S.WithDefaults<S.brand<import("effect/Schema").Int, "NonNegativeInt" | "Int" | "NonNegativeNumber">> & S.brand<import("effect/Schema").Int, "NonNegativeInt" | "Int" | "NonNegativeNumber"> & {
|
|
12
12
|
withDefault: S.withConstructorDefault<S.WithDefaults<S.brand<import("effect/Schema").Int, "NonNegativeInt" | "Int" | "NonNegativeNumber">> & S.brand<import("effect/Schema").Int, "NonNegativeInt" | "Int" | "NonNegativeNumber">>;
|
|
13
13
|
};
|
|
@@ -59,7 +59,7 @@ export declare const OperationResult: S.Union<[typeof OperationSuccess, typeof O
|
|
|
59
59
|
readonly tags: import("effect/Schema").Literals<["OperationSuccess", "OperationFailure"]>;
|
|
60
60
|
};
|
|
61
61
|
export type OperationResult = S.Schema.Type<typeof OperationResult>;
|
|
62
|
-
declare const Operation_base: S.EnhancedClass<Operation,
|
|
62
|
+
declare const Operation_base: S.EnhancedClass<Operation, S.Struct<{
|
|
63
63
|
id: S.WithDefaults<S.brand<S.String, "NonEmptyString" | "StringId" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k"> & {
|
|
64
64
|
make: () => S.StringId;
|
|
65
65
|
withDefault: S.withConstructorDefault<S.brand<S.String, "NonEmptyString" | "StringId" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">>;
|
package/dist/Schema/Class.d.ts
CHANGED
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
import { SchemaAST } from "effect";
|
|
2
1
|
import * as S from "effect/Schema";
|
|
3
2
|
type ClassAnnotations<Self> = S.Annotations.Declaration<Self, readonly [any]>;
|
|
4
3
|
export interface EnhancedClass<Self, SchemaS extends S.Top & {
|
|
5
4
|
readonly fields: S.Struct.Fields;
|
|
6
|
-
}, Inherited> extends S.Class<Self, SchemaS, Inherited
|
|
5
|
+
}, Inherited> extends S.Class<Self, SchemaS, Inherited> {
|
|
7
6
|
}
|
|
8
7
|
type MissingSelfGeneric<Usage extends string, Params extends string = ""> = `Missing \`Self\` generic - use \`class Self extends ${Usage}<Self>()(${Params}{ ... })\``;
|
|
9
|
-
export interface PropsExtensions<Fields> {
|
|
10
|
-
pick: <P extends keyof Fields>(...keys: readonly P[]) => Pick<Fields, P>;
|
|
11
|
-
omit: <P extends keyof Fields>(...keys: readonly P[]) => Omit<Fields, P>;
|
|
12
|
-
}
|
|
13
8
|
type HasFields<Fields extends S.Struct.Fields> = {
|
|
14
9
|
readonly fields: Fields;
|
|
15
10
|
} | {
|
|
@@ -57,23 +52,6 @@ export declare const Class: <Self = never>(identifier: string) => <Fields extend
|
|
|
57
52
|
export declare const TaggedClass: <Self = never>(identifier?: string) => <Tag extends string, Fields extends S.Struct.Fields>(tag: Tag, fieldsOr: Fields | HasFields<Fields>, annotations?: ClassAnnotations<Self>) => [Self] extends [never] ? MissingSelfGeneric<"TaggedClass"> : EnhancedClass<Self, S.Struct<{
|
|
58
53
|
readonly _tag: S.tag<Tag>;
|
|
59
54
|
} & Fields>, {}>;
|
|
60
|
-
type EnhancedStruct<Fields extends S.Struct.Fields> = S.Struct<Fields> & PropsExtensions<Fields>;
|
|
61
|
-
export declare const Struct: <Fields extends S.Struct.Fields>(fields: Fields) => EnhancedStruct<Fields>;
|
|
62
|
-
export type Struct<Fields extends S.Struct.Fields = S.Struct.Fields> = S.Struct<Fields>;
|
|
63
|
-
export declare namespace Struct {
|
|
64
|
-
type Fields = S.Struct.Fields;
|
|
65
|
-
type Type<Fields extends S.Struct.Fields> = S.Struct.Type<Fields>;
|
|
66
|
-
type Encoded<Fields extends S.Struct.Fields> = S.Struct.Encoded<Fields>;
|
|
67
|
-
type DecodingServices<Fields extends S.Struct.Fields> = S.Struct.DecodingServices<Fields>;
|
|
68
|
-
type EncodingServices<Fields extends S.Struct.Fields> = S.Struct.EncodingServices<Fields>;
|
|
69
|
-
type MakeIn<Fields extends S.Struct.Fields> = S.Struct.MakeIn<Fields>;
|
|
70
|
-
type Iso<Fields extends S.Struct.Fields> = S.Struct.Iso<Fields>;
|
|
71
|
-
}
|
|
72
|
-
type EnhancedTaggedStruct<Tag extends SchemaAST.LiteralValue, Fields extends S.Struct.Fields> = S.TaggedStruct<Tag, Fields> & PropsExtensions<{
|
|
73
|
-
readonly _tag: S.tag<Tag>;
|
|
74
|
-
} & Fields>;
|
|
75
|
-
export declare const TaggedStruct: <Tag extends SchemaAST.LiteralValue, Fields extends S.Struct.Fields>(value: Tag, fields: Fields) => EnhancedTaggedStruct<Tag, Fields>;
|
|
76
|
-
export type TaggedStruct<Tag extends SchemaAST.LiteralValue = SchemaAST.LiteralValue, Fields extends S.Struct.Fields = S.Struct.Fields> = S.TaggedStruct<Tag, Fields>;
|
|
77
55
|
export declare const ExtendedClass: <Self, _SelfFrom>(identifier: string) => <Fields extends S.Struct.Fields>(fieldsOr: Fields | HasFields<Fields>, annotations?: ClassAnnotations<Self>) => EnhancedClass<Self, S.Struct<Fields>, {}>;
|
|
78
56
|
export interface EnhancedTaggedClass<Self, Tag extends string, Fields extends S.Struct.Fields, SelfFrom> extends EnhancedClass<Self, S.Struct<Fields> & {
|
|
79
57
|
readonly Encoded: SelfFrom;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Class.d.ts","sourceRoot":"","sources":["../../src/Schema/Class.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Class.d.ts","sourceRoot":"","sources":["../../src/Schema/Class.ts"],"names":[],"mappings":"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"}
|
package/dist/Schema/Class.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { Effect, Option,
|
|
2
|
+
import { Effect, Option, Schema, SchemaAST, SchemaIssue } from "effect";
|
|
3
3
|
import * as S from "effect/Schema";
|
|
4
4
|
/**
|
|
5
5
|
* Build a modified Declaration that accepts struct-matching values during
|
|
@@ -56,8 +56,6 @@ export const Class = (identifier) => (fields, annotations) => {
|
|
|
56
56
|
astCache.set(this, cached);
|
|
57
57
|
return cached;
|
|
58
58
|
}
|
|
59
|
-
static pick = (...selection) => pipe(this["fields"], Struct2.pick(selection));
|
|
60
|
-
static omit = (...selection) => pipe(this["fields"], Struct2.omit(selection));
|
|
61
59
|
};
|
|
62
60
|
};
|
|
63
61
|
// ---------------------------------------------------------------------------
|
|
@@ -93,27 +91,11 @@ export const TaggedClass = (identifier) => (tag, fields, annotations) => {
|
|
|
93
91
|
astCache.set(this, cached);
|
|
94
92
|
return cached;
|
|
95
93
|
}
|
|
96
|
-
static pick = (...selection) => pipe(this["fields"], Struct2.pick(selection));
|
|
97
|
-
static omit = (...selection) => pipe(this["fields"], Struct2.omit(selection));
|
|
98
94
|
};
|
|
99
95
|
};
|
|
100
|
-
export const Struct = (fields) => {
|
|
101
|
-
const base = S.Struct(fields);
|
|
102
|
-
return Object.assign(base, {
|
|
103
|
-
pick: (...selection) => pipe(base.fields, Struct2.pick(selection)),
|
|
104
|
-
omit: (...selection) => pipe(base.fields, Struct2.omit(selection))
|
|
105
|
-
});
|
|
106
|
-
};
|
|
107
|
-
export const TaggedStruct = (value, fields) => {
|
|
108
|
-
const base = S.TaggedStruct(value, fields);
|
|
109
|
-
return Object.assign(base, {
|
|
110
|
-
pick: (...selection) => pipe(base.fields, Struct2.pick(selection)),
|
|
111
|
-
omit: (...selection) => pipe(base.fields, Struct2.omit(selection))
|
|
112
|
-
});
|
|
113
|
-
};
|
|
114
96
|
// ---------------------------------------------------------------------------
|
|
115
97
|
// ExtendedClass — like Class but with extra type parameter for hierarchies
|
|
116
98
|
// ---------------------------------------------------------------------------
|
|
117
99
|
export const ExtendedClass = Class;
|
|
118
100
|
export const ExtendedTaggedClass = TaggedClass;
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2NoZW1hL0NsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUN2RSxPQUFPLEtBQUssQ0FBQyxNQUFNLGVBQWUsQ0FBQTtBQW1CbEM7OztHQUdHO0FBQ0gsU0FBUyxzQkFBc0IsQ0FDN0IsR0FBMEIsRUFDMUIsTUFBNEIsRUFDNUIsR0FBUTtJQUVSLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDMUMsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUM3QyxPQUFPLElBQUksU0FBUyxDQUFDLFdBQVcsQ0FDOUIsR0FBRyxDQUFDLGNBQWMsRUFDbEIsR0FBRyxFQUFFLENBQUMsQ0FBQyxLQUFjLEVBQUUsSUFBMkIsRUFBRSxFQUFFO1FBQ3BELElBQUksS0FBSyxZQUFZLEdBQUcsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNqRCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDOUIsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzNFLENBQUMsRUFDRCxHQUFHLENBQUMsV0FBVyxFQUNmLEdBQUcsQ0FBQyxNQUFNLEVBQ1YsR0FBRyxDQUFDLFFBQVEsRUFDWixHQUFHLENBQUMsT0FBTyxDQUNaLENBQUE7QUFDSCxDQUFDO0FBRUQsOEVBQThFO0FBQzlFLHNEQUFzRDtBQUN0RCw4RUFBOEU7QUFF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
|
package/dist/Schema.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { Email as EmailT, type Email as EmailType } from "./Schema/email.js";
|
|
|
5
5
|
import { PhoneNumber as PhoneNumberT, type PhoneNumber as PhoneNumberType } from "./Schema/phoneNumber.js";
|
|
6
6
|
export * from "effect/Schema";
|
|
7
7
|
export * from "./Schema/Class.js";
|
|
8
|
-
export { Class,
|
|
8
|
+
export { Class, TaggedClass } from "./Schema/Class.js";
|
|
9
9
|
export { fromBrand, nominal } from "./Schema/brand.js";
|
|
10
10
|
export { Array, Boolean, Date, DateFromString, DateValid, Finite, Literals, NullOr, Number, ReadonlyMap, ReadonlySet } from "./Schema/ext.js";
|
|
11
11
|
export { Int, NonNegativeInt } from "./Schema/numbers.js";
|
package/dist/Schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../src/Schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,KAAK,CAAC,MAAM,eAAe,CAAA;AAClC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAEvD,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,KAAK,KAAK,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE5E,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,KAAK,WAAW,IAAI,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAG1G,cAAc,eAAe,CAAA;AAE7B,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../src/Schema.ts"],"names":[],"mappings":"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"}
|
package/dist/Schema.js
CHANGED
|
@@ -7,7 +7,7 @@ import { PhoneNumber as PhoneNumberT } from "./Schema/phoneNumber.js";
|
|
|
7
7
|
import { extendM } from "./utils.js";
|
|
8
8
|
export * from "effect/Schema";
|
|
9
9
|
export * from "./Schema/Class.js";
|
|
10
|
-
export { Class,
|
|
10
|
+
export { Class, TaggedClass } from "./Schema/Class.js";
|
|
11
11
|
export { fromBrand, nominal } from "./Schema/brand.js";
|
|
12
12
|
export { Array, Boolean, Date, DateFromString, DateValid, Finite, Literals, NullOr, Number, ReadonlyMap, ReadonlySet } from "./Schema/ext.js";
|
|
13
13
|
export { Int, NonNegativeInt } from "./Schema/numbers.js";
|
|
@@ -74,4 +74,4 @@ export const tags = (self) => S.Literals(self.map(getTagFromAST));
|
|
|
74
74
|
const extendTaggedUnionWithTags = (schema) => extendM(schema.pipe(S.toTaggedUnion("_tag")), () => ({ tags: tags(schema.members) }));
|
|
75
75
|
export const ExtendTaggedUnion = (schema) => extendTaggedUnionWithTags(schema);
|
|
76
76
|
export const TaggedUnion = (...a) => extendTaggedUnionWithTags(S.Union(a));
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFlLE1BQU0sUUFBUSxDQUFBO0FBQy9DLE9BQU8sS0FBSyxDQUFDLE1BQU0sZUFBZSxDQUFBO0FBRWxDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDckMsT0FBTyxFQUFFLEtBQUssSUFBSSxNQUFNLEVBQTJCLE1BQU0sbUJBQW1CLENBQUE7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQ2pELE9BQU8sRUFBRSxXQUFXLElBQUksWUFBWSxFQUF1QyxNQUFNLHlCQUF5QixDQUFBO0FBQzFHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFcEMsY0FBYyxlQUFlLENBQUE7QUFFN0IsY0FBYyxtQkFBbUIsQ0FBQTtBQUNqQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRXRELE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDdEQsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM3SSxPQUFPLEVBQUUsR0FBRyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRXpELGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYyxpQkFBaUIsQ0FBQTtBQUMvQixjQUFjLHlCQUF5QixDQUFBO0FBQ3ZDLGNBQWMscUJBQXFCLENBQUE7QUFDbkMsY0FBYyx5QkFBeUIsQ0FBQTtBQUN2QyxjQUFjLG9CQUFvQixDQUFBO0FBQ2xD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
|
package/dist/client/errors.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export declare const tryToJson: (error: {
|
|
|
4
4
|
toJSON(): unknown;
|
|
5
5
|
toString(): string;
|
|
6
6
|
}) => unknown;
|
|
7
|
-
declare const NotFoundError_base: import("effect/Schema").Class<NotFoundError<ItemType>,
|
|
7
|
+
declare const NotFoundError_base: import("effect/Schema").Class<NotFoundError<ItemType>, S.TaggedStruct<"NotFoundError", {
|
|
8
8
|
readonly type: S.String;
|
|
9
9
|
readonly id: S.Unknown;
|
|
10
10
|
}>, Cause.YieldableError>;
|
|
@@ -17,7 +17,7 @@ export declare class NotFoundError<ItemType = string> extends NotFoundError_base
|
|
|
17
17
|
get message(): string;
|
|
18
18
|
toString(): string;
|
|
19
19
|
}
|
|
20
|
-
declare const InvalidStateError_base: import("effect/Schema").Class<InvalidStateError,
|
|
20
|
+
declare const InvalidStateError_base: import("effect/Schema").Class<InvalidStateError, S.TaggedStruct<"InvalidStateError", {
|
|
21
21
|
readonly message: S.String;
|
|
22
22
|
}>, Cause.YieldableError>;
|
|
23
23
|
export declare class InvalidStateError extends InvalidStateError_base {
|
|
@@ -27,7 +27,7 @@ export declare class InvalidStateError extends InvalidStateError_base {
|
|
|
27
27
|
}, disableValidation?: boolean);
|
|
28
28
|
toString(): string;
|
|
29
29
|
}
|
|
30
|
-
declare const ServiceUnavailableError_base: import("effect/Schema").Class<ServiceUnavailableError,
|
|
30
|
+
declare const ServiceUnavailableError_base: import("effect/Schema").Class<ServiceUnavailableError, S.TaggedStruct<"ServiceUnavailableError", {
|
|
31
31
|
readonly message: S.String;
|
|
32
32
|
}>, Cause.YieldableError>;
|
|
33
33
|
export declare class ServiceUnavailableError extends ServiceUnavailableError_base {
|
|
@@ -37,7 +37,7 @@ export declare class ServiceUnavailableError extends ServiceUnavailableError_bas
|
|
|
37
37
|
}, disableValidation?: boolean);
|
|
38
38
|
toString(): string;
|
|
39
39
|
}
|
|
40
|
-
declare const ValidationError_base: import("effect/Schema").Class<ValidationError,
|
|
40
|
+
declare const ValidationError_base: import("effect/Schema").Class<ValidationError, S.TaggedStruct<"ValidationError", {
|
|
41
41
|
readonly errors: S.$Array<S.Unknown> & {
|
|
42
42
|
withDefault: S.withConstructorDefault<S.$Array<S.Unknown>>;
|
|
43
43
|
withDecodingDefaultType: S.withDecodingDefaultType<S.$Array<S.Unknown>>;
|
|
@@ -51,7 +51,7 @@ export declare class ValidationError extends ValidationError_base {
|
|
|
51
51
|
get message(): string;
|
|
52
52
|
toString(): string;
|
|
53
53
|
}
|
|
54
|
-
declare const NotLoggedInError_base: import("effect/Schema").Class<NotLoggedInError,
|
|
54
|
+
declare const NotLoggedInError_base: import("effect/Schema").Class<NotLoggedInError, S.TaggedStruct<"NotLoggedInError", {
|
|
55
55
|
readonly message: S.String;
|
|
56
56
|
}>, Cause.YieldableError>;
|
|
57
57
|
export declare class NotLoggedInError extends NotLoggedInError_base {
|
|
@@ -61,7 +61,7 @@ export declare class NotLoggedInError extends NotLoggedInError_base {
|
|
|
61
61
|
}, disableValidation?: boolean);
|
|
62
62
|
toString(): string;
|
|
63
63
|
}
|
|
64
|
-
declare const LoginError_base: import("effect/Schema").Class<LoginError,
|
|
64
|
+
declare const LoginError_base: import("effect/Schema").Class<LoginError, S.TaggedStruct<"NotLoggedInError", {
|
|
65
65
|
readonly message: S.String;
|
|
66
66
|
}>, Cause.YieldableError>;
|
|
67
67
|
/**
|
|
@@ -74,7 +74,7 @@ export declare class LoginError extends LoginError_base {
|
|
|
74
74
|
}, disableValidation?: boolean);
|
|
75
75
|
toString(): string;
|
|
76
76
|
}
|
|
77
|
-
declare const UnauthorizedError_base: import("effect/Schema").Class<UnauthorizedError,
|
|
77
|
+
declare const UnauthorizedError_base: import("effect/Schema").Class<UnauthorizedError, S.TaggedStruct<"UnauthorizedError", {
|
|
78
78
|
readonly message: S.String;
|
|
79
79
|
}>, Cause.YieldableError>;
|
|
80
80
|
export declare class UnauthorizedError extends UnauthorizedError_base {
|
|
@@ -91,7 +91,7 @@ type OptimisticConcurrencyDetails = {
|
|
|
91
91
|
readonly current?: string | undefined;
|
|
92
92
|
readonly found?: string | undefined;
|
|
93
93
|
};
|
|
94
|
-
declare const OptimisticConcurrencyException_base: import("effect/Schema").Class<OptimisticConcurrencyException,
|
|
94
|
+
declare const OptimisticConcurrencyException_base: import("effect/Schema").Class<OptimisticConcurrencyException, S.TaggedStruct<"OptimisticConcurrencyException", {
|
|
95
95
|
readonly message: S.String;
|
|
96
96
|
}>, Cause.YieldableError>;
|
|
97
97
|
export declare class OptimisticConcurrencyException extends OptimisticConcurrencyException_base {
|
package/package.json
CHANGED
package/src/Schema/Class.ts
CHANGED
|
@@ -1,21 +1,16 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { Effect, Option,
|
|
2
|
+
import { Effect, Option, Schema, SchemaAST, SchemaIssue } from "effect"
|
|
3
3
|
import * as S from "effect/Schema"
|
|
4
4
|
|
|
5
5
|
type ClassAnnotations<Self> = S.Annotations.Declaration<Self, readonly [any]>
|
|
6
6
|
|
|
7
7
|
export interface EnhancedClass<Self, SchemaS extends S.Top & { readonly fields: S.Struct.Fields }, Inherited>
|
|
8
|
-
extends S.Class<Self, SchemaS, Inherited
|
|
8
|
+
extends S.Class<Self, SchemaS, Inherited>
|
|
9
9
|
{
|
|
10
10
|
}
|
|
11
11
|
type MissingSelfGeneric<Usage extends string, Params extends string = ""> =
|
|
12
12
|
`Missing \`Self\` generic - use \`class Self extends ${Usage}<Self>()(${Params}{ ... })\``
|
|
13
13
|
|
|
14
|
-
export interface PropsExtensions<Fields> {
|
|
15
|
-
pick: <P extends keyof Fields>(...keys: readonly P[]) => Pick<Fields, P>
|
|
16
|
-
omit: <P extends keyof Fields>(...keys: readonly P[]) => Omit<Fields, P>
|
|
17
|
-
}
|
|
18
|
-
|
|
19
14
|
type HasFields<Fields extends S.Struct.Fields> = {
|
|
20
15
|
readonly fields: Fields
|
|
21
16
|
} | {
|
|
@@ -101,8 +96,6 @@ export const Class: <Self = never>(identifier: string) => <Fields extends S.Stru
|
|
|
101
96
|
astCache.set(this, cached)
|
|
102
97
|
return cached
|
|
103
98
|
}
|
|
104
|
-
static readonly pick = (...selection: any[]) => pipe(this["fields"], Struct2.pick(selection))
|
|
105
|
-
static readonly omit = (...selection: any[]) => pipe(this["fields"], Struct2.omit(selection))
|
|
106
99
|
} as any
|
|
107
100
|
}
|
|
108
101
|
|
|
@@ -151,8 +144,6 @@ export const TaggedClass: <Self = never>(
|
|
|
151
144
|
astCache.set(this, cached)
|
|
152
145
|
return cached
|
|
153
146
|
}
|
|
154
|
-
static readonly pick = (...selection: any[]) => pipe(this["fields"], Struct2.pick(selection))
|
|
155
|
-
static readonly omit = (...selection: any[]) => pipe(this["fields"], Struct2.omit(selection))
|
|
156
147
|
} as any
|
|
157
148
|
}
|
|
158
149
|
|
|
@@ -160,57 +151,6 @@ export const TaggedClass: <Self = never>(
|
|
|
160
151
|
// ExtendedClass — like Class but with extra type parameter for hierarchies
|
|
161
152
|
// ---------------------------------------------------------------------------
|
|
162
153
|
|
|
163
|
-
// ---------------------------------------------------------------------------
|
|
164
|
-
// Struct — like Schema.Struct but with pick/omit
|
|
165
|
-
// ---------------------------------------------------------------------------
|
|
166
|
-
|
|
167
|
-
type EnhancedStruct<Fields extends S.Struct.Fields> = S.Struct<Fields> & PropsExtensions<Fields>
|
|
168
|
-
|
|
169
|
-
export const Struct: <Fields extends S.Struct.Fields>(fields: Fields) => EnhancedStruct<Fields> = (fields) => {
|
|
170
|
-
const base = S.Struct(fields)
|
|
171
|
-
return Object.assign(base, {
|
|
172
|
-
pick: (...selection: any[]) => pipe(base.fields, Struct2.pick(selection)),
|
|
173
|
-
omit: (...selection: any[]) => pipe(base.fields, Struct2.omit(selection))
|
|
174
|
-
}) as any
|
|
175
|
-
}
|
|
176
|
-
export type Struct<Fields extends S.Struct.Fields = S.Struct.Fields> = S.Struct<Fields>
|
|
177
|
-
export declare namespace Struct {
|
|
178
|
-
export type Fields = S.Struct.Fields
|
|
179
|
-
export type Type<Fields extends S.Struct.Fields> = S.Struct.Type<Fields>
|
|
180
|
-
export type Encoded<Fields extends S.Struct.Fields> = S.Struct.Encoded<Fields>
|
|
181
|
-
export type DecodingServices<Fields extends S.Struct.Fields> = S.Struct.DecodingServices<Fields>
|
|
182
|
-
export type EncodingServices<Fields extends S.Struct.Fields> = S.Struct.EncodingServices<Fields>
|
|
183
|
-
export type MakeIn<Fields extends S.Struct.Fields> = S.Struct.MakeIn<Fields>
|
|
184
|
-
export type Iso<Fields extends S.Struct.Fields> = S.Struct.Iso<Fields>
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
// ---------------------------------------------------------------------------
|
|
188
|
-
// TaggedStruct — like Schema.TaggedStruct but with pick/omit
|
|
189
|
-
// ---------------------------------------------------------------------------
|
|
190
|
-
|
|
191
|
-
type EnhancedTaggedStruct<Tag extends SchemaAST.LiteralValue, Fields extends S.Struct.Fields> =
|
|
192
|
-
& S.TaggedStruct<Tag, Fields>
|
|
193
|
-
& PropsExtensions<{ readonly _tag: S.tag<Tag> } & Fields>
|
|
194
|
-
|
|
195
|
-
export const TaggedStruct: <Tag extends SchemaAST.LiteralValue, Fields extends S.Struct.Fields>(
|
|
196
|
-
value: Tag,
|
|
197
|
-
fields: Fields
|
|
198
|
-
) => EnhancedTaggedStruct<Tag, Fields> = (value, fields) => {
|
|
199
|
-
const base = S.TaggedStruct(value, fields)
|
|
200
|
-
return Object.assign(base, {
|
|
201
|
-
pick: (...selection: any[]) => pipe(base.fields, Struct2.pick(selection)),
|
|
202
|
-
omit: (...selection: any[]) => pipe(base.fields, Struct2.omit(selection))
|
|
203
|
-
}) as any
|
|
204
|
-
}
|
|
205
|
-
export type TaggedStruct<
|
|
206
|
-
Tag extends SchemaAST.LiteralValue = SchemaAST.LiteralValue,
|
|
207
|
-
Fields extends S.Struct.Fields = S.Struct.Fields
|
|
208
|
-
> = S.TaggedStruct<Tag, Fields>
|
|
209
|
-
|
|
210
|
-
// ---------------------------------------------------------------------------
|
|
211
|
-
// ExtendedClass — like Class but with extra type parameter for hierarchies
|
|
212
|
-
// ---------------------------------------------------------------------------
|
|
213
|
-
|
|
214
154
|
export const ExtendedClass: <Self, _SelfFrom>(identifier: string) => <Fields extends S.Struct.Fields>(
|
|
215
155
|
fieldsOr: Fields | HasFields<Fields>,
|
|
216
156
|
annotations?: ClassAnnotations<Self>
|
package/src/Schema.ts
CHANGED
|
@@ -10,7 +10,7 @@ import { extendM } from "./utils.js"
|
|
|
10
10
|
export * from "effect/Schema"
|
|
11
11
|
|
|
12
12
|
export * from "./Schema/Class.js"
|
|
13
|
-
export { Class,
|
|
13
|
+
export { Class, TaggedClass } from "./Schema/Class.js"
|
|
14
14
|
|
|
15
15
|
export { fromBrand, nominal } from "./Schema/brand.js"
|
|
16
16
|
export { Array, Boolean, Date, DateFromString, DateValid, Finite, Literals, NullOr, Number, ReadonlyMap, ReadonlySet } from "./Schema/ext.js"
|
package/test/special.test.ts
CHANGED
|
@@ -93,13 +93,11 @@ describe("Class constructor", () => {
|
|
|
93
93
|
expect(() => S.decodeUnknownSync(A)({ a: 1 })).toThrow()
|
|
94
94
|
})
|
|
95
95
|
|
|
96
|
-
it("exposes fields, identifier
|
|
96
|
+
it("exposes fields, identifier", () => {
|
|
97
97
|
class A extends Class<A>("A")({ a: S.String, b: S.Number }) {}
|
|
98
98
|
|
|
99
99
|
expect(A.identifier).toBe("A")
|
|
100
100
|
expect(Object.keys(A.fields)).toStrictEqual(["a", "b"])
|
|
101
|
-
expect(A.pick("a")).toStrictEqual({ a: A.fields.a })
|
|
102
|
-
expect(A.omit("b")).toStrictEqual({ a: A.fields.a })
|
|
103
101
|
})
|
|
104
102
|
})
|
|
105
103
|
|
|
@@ -133,13 +131,12 @@ describe("TaggedClass constructor", () => {
|
|
|
133
131
|
expect((decoded as Circle)._tag).toBe("Circle")
|
|
134
132
|
})
|
|
135
133
|
|
|
136
|
-
it("exposes fields, identifier
|
|
134
|
+
it("exposes fields, identifier", () => {
|
|
137
135
|
class Circle extends TaggedClass<Circle>()("Circle", { radius: S.Number }) {}
|
|
138
136
|
|
|
139
137
|
expect(Circle.identifier).toBe("Circle")
|
|
140
138
|
expect(Object.keys(Circle.fields)).toContain("_tag")
|
|
141
139
|
expect(Object.keys(Circle.fields)).toContain("radius")
|
|
142
|
-
expect(Circle.pick("radius")).toStrictEqual({ radius: Circle.fields.radius })
|
|
143
140
|
})
|
|
144
141
|
})
|
|
145
142
|
|