effect-app 4.0.0-beta.119 → 4.0.0-beta.120

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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # @effect-app/prelude
2
2
 
3
+ ## 4.0.0-beta.120
4
+
5
+ ### Minor Changes
6
+
7
+ - f21190c: Add `copy` property to `Class` and `TaggedClass` for creating modified instances with updated fields. The `copy` method is cached per-class and supports both object and function-based updates, with pipeline support.
8
+
3
9
  ## 4.0.0-beta.119
4
10
 
5
11
  ## 4.0.0-beta.118
@@ -1,11 +1,11 @@
1
1
  import * as S from "./Schema.js";
2
2
  export type OperationId = S.StringId;
3
- export declare const OperationId: S.WithDefaults<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "StringId"> & {
3
+ export declare const OperationId: S.WithDefaults<S.brand<S.String, "NonEmptyString" | "StringId" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k"> & {
4
4
  make: () => S.StringId;
5
- withDefault: S.withConstructorDefault<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "StringId">>;
6
- }> & S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "StringId"> & {
5
+ withDefault: S.withConstructorDefault<S.brand<S.String, "NonEmptyString" | "StringId" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">>;
6
+ }> & S.brand<S.String, "NonEmptyString" | "StringId" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k"> & {
7
7
  make: () => S.StringId;
8
- withDefault: S.withConstructorDefault<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "StringId">>;
8
+ withDefault: S.withConstructorDefault<S.brand<S.String, "NonEmptyString" | "StringId" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">>;
9
9
  };
10
10
  declare const OperationProgress_base: S.EnhancedClass<OperationProgress, import("effect/Schema").Struct<{
11
11
  completed: S.WithDefaults<S.brand<import("effect/Schema").Int, "NonNegativeInt" | "Int" | "NonNegativeNumber">> & S.brand<import("effect/Schema").Int, "NonNegativeInt" | "Int" | "NonNegativeNumber"> & {
@@ -20,14 +20,14 @@ export declare class OperationProgress extends OperationProgress_base {
20
20
  declare const OperationSuccess_base: S.EnhancedTaggedClass<OperationSuccess, "OperationSuccess", {
21
21
  readonly _tag: S.tag<"OperationSuccess">;
22
22
  } & {
23
- message: S.withConstructorDefault<import("effect/Schema").NullOr<S.WithDefaults<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k">> & S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k">>>;
23
+ message: S.withConstructorDefault<import("effect/Schema").NullOr<S.WithDefaults<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString2k" | "NonEmptyString64k">> & S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString2k" | "NonEmptyString64k">>>;
24
24
  }, OperationSuccess.Encoded>;
25
25
  export declare class OperationSuccess extends OperationSuccess_base {
26
26
  }
27
27
  declare const OperationFailure_base: S.EnhancedTaggedClass<OperationFailure, "OperationFailure", {
28
28
  readonly _tag: S.tag<"OperationFailure">;
29
29
  } & {
30
- message: S.withConstructorDefault<import("effect/Schema").NullOr<S.WithDefaults<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k">> & S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k">>>;
30
+ message: S.withConstructorDefault<import("effect/Schema").NullOr<S.WithDefaults<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString2k" | "NonEmptyString64k">> & S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString2k" | "NonEmptyString64k">>>;
31
31
  }, OperationFailure.Encoded>;
32
32
  export declare class OperationFailure extends OperationFailure_base {
33
33
  }
@@ -80,14 +80,14 @@ export declare const OperationResult: S.Union<[typeof OperationSuccess, typeof O
80
80
  };
81
81
  export type OperationResult = S.Schema.Type<typeof OperationResult>;
82
82
  declare const Operation_base: S.EnhancedClass<Operation, import("effect/Schema").Struct<{
83
- id: S.WithDefaults<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "StringId"> & {
83
+ id: S.WithDefaults<S.brand<S.String, "NonEmptyString" | "StringId" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k"> & {
84
84
  make: () => S.StringId;
85
- withDefault: S.withConstructorDefault<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "StringId">>;
86
- }> & S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "StringId"> & {
85
+ withDefault: S.withConstructorDefault<S.brand<S.String, "NonEmptyString" | "StringId" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">>;
86
+ }> & S.brand<S.String, "NonEmptyString" | "StringId" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k"> & {
87
87
  make: () => S.StringId;
88
- withDefault: S.withConstructorDefault<S.brand<S.String, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k" | "NonEmptyString255" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "StringId">>;
88
+ withDefault: S.withConstructorDefault<S.brand<S.String, "NonEmptyString" | "StringId" | "NonEmptyString50" | "NonEmptyString64" | "NonEmptyString80" | "NonEmptyString100" | "NonEmptyString255" | "NonEmptyString2k" | "NonEmptyString64k">>;
89
89
  };
90
- title: S.WithDefaults<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k">> & S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString64k" | "NonEmptyString2k">;
90
+ title: S.WithDefaults<S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString2k" | "NonEmptyString64k">> & S.brand<import("effect/Schema").NonEmptyString, "NonEmptyString" | "NonEmptyString2k" | "NonEmptyString64k">;
91
91
  progress: S.optional<typeof OperationProgress>;
92
92
  result: S.optional<S.Union<[typeof OperationSuccess, typeof OperationFailure]> & {
93
93
  readonly cases: {
@@ -1,8 +1,13 @@
1
1
  import * as S from "effect/Schema";
2
+ import { copyOrigin } from "../utils.js";
2
3
  type ClassAnnotations<Self> = S.Annotations.Declaration<Self, readonly [any]>;
3
4
  export interface EnhancedClass<Self, SchemaS extends S.Top & {
4
5
  readonly fields: S.Struct.Fields;
5
6
  }, Inherited> extends S.Class<Self, SchemaS, Inherited> {
7
+ /**
8
+ * See `copyOrigin` docs in `utils.ts` for return-type design details.
9
+ */
10
+ readonly copy: ReturnType<typeof copyOrigin<new (_: any) => Self>>;
6
11
  }
7
12
  type MissingSelfGeneric<Usage extends string, Params extends string = ""> = `Missing \`Self\` generic - use \`class Self extends ${Usage}<Self>()(${Params}{ ... })\``;
8
13
  type HasFields<Fields extends S.Struct.Fields> = {
@@ -12,7 +17,7 @@ type HasFields<Fields extends S.Struct.Fields> = {
12
17
  };
13
18
  export type Class<Self, S extends S.Top & {
14
19
  readonly fields: S.Struct.Fields;
15
- }, Inherited> = S.Class<Self, S, Inherited>;
20
+ }, Inherited> = EnhancedClass<Self, S, Inherited>;
16
21
  /**
17
22
  * Like `Schema.Class`, but the resulting class accepts plain objects matching
18
23
  * the struct schema during encoding — not only `instanceof` or type-id
@@ -1 +1 @@
1
- {"version":3,"file":"Class.d.ts","sourceRoot":"","sources":["../../src/Schema/Class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Class.d.ts","sourceRoot":"","sources":["../../src/Schema/Class.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  import { Effect, Option, Schema, SchemaAST, SchemaIssue } from "effect";
3
3
  import * as S from "effect/Schema";
4
+ import { copyOrigin } from "../utils.js";
4
5
  import { concurrencyUnbounded } from "./ext.js";
5
6
  /**
6
7
  * Build a modified Declaration that accepts struct-matching values during
@@ -50,7 +51,16 @@ export const Class = (identifier) => (fields, annotations) => {
50
51
  const originalAstDescriptor = Object.getOwnPropertyDescriptor(Base, "ast");
51
52
  // Cache per-class to avoid recomputing
52
53
  const astCache = new WeakMap();
54
+ const copyCache = new WeakMap();
53
55
  return class extends Base {
56
+ static get copy() {
57
+ let cached = copyCache.get(this);
58
+ if (cached === undefined) {
59
+ cached = copyOrigin(this);
60
+ copyCache.set(this, cached);
61
+ }
62
+ return cached;
63
+ }
54
64
  static get ast() {
55
65
  let cached = astCache.get(this);
56
66
  if (cached !== undefined)
@@ -90,7 +100,16 @@ export const TaggedClass = (identifier) => (tag, fields, annotations) => {
90
100
  const Base = S.TaggedClass(identifier)(tag, fields, annotations);
91
101
  const originalAstDescriptor = Object.getOwnPropertyDescriptor(Base, "ast");
92
102
  const astCache = new WeakMap();
103
+ const copyCache = new WeakMap();
93
104
  return class extends Base {
105
+ static get copy() {
106
+ let cached = copyCache.get(this);
107
+ if (cached === undefined) {
108
+ cached = copyOrigin(this);
109
+ copyCache.set(this, cached);
110
+ }
111
+ return cached;
112
+ }
94
113
  static get ast() {
95
114
  let cached = astCache.get(this);
96
115
  if (cached !== undefined)
@@ -110,4 +129,4 @@ export const TaggedClass = (identifier) => (tag, fields, annotations) => {
110
129
  // ---------------------------------------------------------------------------
111
130
  export const ExtendedClass = Class;
112
131
  export const ExtendedTaggedClass = TaggedClass;
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2NoZW1hL0NsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUN2RSxPQUFPLEtBQUssQ0FBQyxNQUFNLGVBQWUsQ0FBQTtBQUNsQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFtQi9DOzs7R0FHRztBQUNILFNBQVMsc0JBQXNCLENBQzdCLEdBQTBCLEVBQzFCLE1BQTRCLEVBQzVCLEdBQVE7SUFFUixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQzFDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDN0MsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsY0FBYyxDQUF1QyxDQUFBO0lBQ3BHLE1BQU0sV0FBVyxHQUFHO1FBQ2xCLEdBQUcsR0FBRyxDQUFDLFdBQVc7UUFDbEIsWUFBWSxFQUFFLEVBQUUsR0FBRyxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsV0FBb0IsRUFBRTtLQUM3RSxDQUFBO0lBQ0QsT0FBTyxJQUFJLFNBQVMsQ0FBQyxXQUFXLENBQzlCLEdBQUcsQ0FBQyxjQUFjLEVBQ2xCLEdBQUcsRUFBRSxDQUFDLENBQUMsS0FBYyxFQUFFLElBQTJCLEVBQUUsRUFBRTtRQUNwRCxJQUFJLEtBQUssWUFBWSxHQUFHLElBQUksYUFBYSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDakQsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQzlCLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxXQUFX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
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2NoZW1hL0NsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUN2RSxPQUFPLEtBQUssQ0FBQyxNQUFNLGVBQWUsQ0FBQTtBQUNsQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQTJCL0M7OztHQUdHO0FBQ0gsU0FBUyxzQkFBc0IsQ0FDN0IsR0FBMEIsRUFDMUIsTUFBNEIsRUFDNUIsR0FBUTtJQUVSLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDMUMsTUFBTSxhQUFhLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUM3QyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxjQUFjLENBQXVDLENBQUE7SUFDcEcsTUFBTSxXQUFXLEdBQUc7UUFDbEIsR0FBRyxHQUFHLENBQUMsV0FBVztRQUNsQixZQUFZLEVBQUUsRUFBRSxHQUFHLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxXQUFvQixFQUFFO0tBQzdFLENBQUE7SUFDRCxPQUFPLElBQUksU0FBUyxDQUFDLFdBQVcsQ0FDOUIsR0FBRyxDQUFDLGNBQWMsRUFDbEIsR0FBRyxFQUFFLENBQUMsQ0FBQyxLQUFjLEVBQUUsSUFBMkIsRUFBRSxFQUFFO1FBQ3BELElBQUksS0FBSyxZQUFZLEdBQUcsSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNqRCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDOUIsQ0FB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
package/dist/utils.d.ts CHANGED
@@ -181,6 +181,12 @@ type CopyOriginRet<A, U> = {
181
181
  [K in keyof A | keyof U]: K extends keyof U ? U[K] : A[K & keyof A];
182
182
  } & {};
183
183
  type CopyOriginSelf<A, U> = Equals<{}, U> extends true ? Equals<keyof {}, keyof U> extends true ? `updates argument is empty or contains only extra properties` : A : A;
184
+ /**
185
+ * By design this does not return `Self` directly.
186
+ *
187
+ * The return type is computed from `Self` and the update payload so callers can
188
+ * expose an explicit structural return type that remains assignable to `Self`.
189
+ */
184
190
  export declare const copyOrigin: <Ctor extends new (_: any) => any>(ctor: Ctor) => {
185
191
  <A extends InstanceType<Ctor>, U extends Partial<InstanceType<Ctor>>>(f: (a: A) => CopyOriginU<U, Ctor>): (self: CopyOriginSelf<A, U>) => CopyOriginRet<A, U>;
186
192
  <A extends InstanceType<Ctor>, U_1 extends Partial<InstanceType<Ctor>>>(updates: CopyOriginU<U_1, Ctor>): (self: CopyOriginSelf<A, U_1>) => CopyOriginRet<A, U_1>;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/dist/utils.js CHANGED
@@ -280,6 +280,12 @@ export const clone = dual(2, (self, f) => {
280
280
  export const copy = dual(2, (self, f) => clone(self, { ...self, ...(isFunction(f) ? f(self) : f) }));
281
281
  // just one input param: the convention is that the ctor takes an object
282
282
  // containing the properties of the class (I can't put object there as type because of contravariance)
283
+ /**
284
+ * By design this does not return `Self` directly.
285
+ *
286
+ * The return type is computed from `Self` and the update payload so callers can
287
+ * expose an explicit structural return type that remains assignable to `Self`.
288
+ */
283
289
  export const copyOrigin = (ctor) => dual(2, (self, f) => {
284
290
  const o = { ...self, ...(isFunction(f) ? f(self) : f) };
285
291
  if (cloneTrait in self) {
@@ -406,4 +412,4 @@ const genConstructor = (function* () { }).constructor;
406
412
  * @since 3.11.0
407
413
  */
408
414
  export const isGeneratorFunction = (u) => isObject(u) && u.constructor === genConstructor;
409
- //# 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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "effect-app",
3
- "version": "4.0.0-beta.119",
3
+ "version": "4.0.0-beta.120",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -1,6 +1,7 @@
1
1
  /* eslint-disable @typescript-eslint/no-explicit-any */
2
2
  import { Effect, Option, Schema, SchemaAST, SchemaIssue } from "effect"
3
3
  import * as S from "effect/Schema"
4
+ import { copyOrigin } from "../utils.js"
4
5
  import { concurrencyUnbounded } from "./ext.js"
5
6
 
6
7
  type ClassAnnotations<Self> = S.Annotations.Declaration<Self, readonly [any]>
@@ -8,6 +9,10 @@ type ClassAnnotations<Self> = S.Annotations.Declaration<Self, readonly [any]>
8
9
  export interface EnhancedClass<Self, SchemaS extends S.Top & { readonly fields: S.Struct.Fields }, Inherited>
9
10
  extends S.Class<Self, SchemaS, Inherited>
10
11
  {
12
+ /**
13
+ * See `copyOrigin` docs in `utils.ts` for return-type design details.
14
+ */
15
+ readonly copy: ReturnType<typeof copyOrigin<new(_: any) => Self>>
11
16
  }
12
17
  type MissingSelfGeneric<Usage extends string, Params extends string = ""> =
13
18
  `Missing \`Self\` generic - use \`class Self extends ${Usage}<Self>()(${Params}{ ... })\``
@@ -18,7 +23,11 @@ type HasFields<Fields extends S.Struct.Fields> = {
18
23
  readonly from: HasFields<Fields>
19
24
  }
20
25
 
21
- export type Class<Self, S extends S.Top & { readonly fields: S.Struct.Fields }, Inherited> = S.Class<Self, S, Inherited>
26
+ export type Class<Self, S extends S.Top & { readonly fields: S.Struct.Fields }, Inherited> = EnhancedClass<
27
+ Self,
28
+ S,
29
+ Inherited
30
+ >
22
31
 
23
32
  /**
24
33
  * Build a modified Declaration that accepts struct-matching values during
@@ -90,8 +99,17 @@ export const Class: <Self = never>(identifier: string) => <Fields extends S.Stru
90
99
 
91
100
  // Cache per-class to avoid recomputing
92
101
  const astCache = new WeakMap<any, SchemaAST.Declaration>()
102
+ const copyCache = new WeakMap<any, ReturnType<typeof copyOrigin>>()
93
103
 
94
104
  return class extends Base {
105
+ static get copy() {
106
+ let cached = copyCache.get(this)
107
+ if (cached === undefined) {
108
+ cached = copyOrigin(this)
109
+ copyCache.set(this, cached)
110
+ }
111
+ return cached
112
+ }
95
113
  static get ast(): SchemaAST.Declaration {
96
114
  let cached = astCache.get(this)
97
115
  if (cached !== undefined) return cached
@@ -143,8 +161,17 @@ export const TaggedClass: <Self = never>(
143
161
  const Base = (S.TaggedClass as any)(identifier)(tag, fields, annotations)
144
162
  const originalAstDescriptor = Object.getOwnPropertyDescriptor(Base, "ast")!
145
163
  const astCache = new WeakMap<any, SchemaAST.Declaration>()
164
+ const copyCache = new WeakMap<any, ReturnType<typeof copyOrigin>>()
146
165
 
147
166
  return class extends Base {
167
+ static get copy() {
168
+ let cached = copyCache.get(this)
169
+ if (cached === undefined) {
170
+ cached = copyOrigin(this)
171
+ copyCache.set(this, cached)
172
+ }
173
+ return cached
174
+ }
148
175
  static get ast(): SchemaAST.Declaration {
149
176
  let cached = astCache.get(this)
150
177
  if (cached !== undefined) return cached
package/src/utils.ts CHANGED
@@ -755,6 +755,12 @@ type CopyOriginSelf<A, U> = Equals<{}, U> extends true
755
755
 
756
756
  // just one input param: the convention is that the ctor takes an object
757
757
  // containing the properties of the class (I can't put object there as type because of contravariance)
758
+ /**
759
+ * By design this does not return `Self` directly.
760
+ *
761
+ * The return type is computed from `Self` and the update payload so callers can
762
+ * expose an explicit structural return type that remains assignable to `Self`.
763
+ */
758
764
  export const copyOrigin = <Ctor extends new(_: any) => any>(ctor: Ctor) =>
759
765
  dual<
760
766
  {
@@ -140,6 +140,57 @@ describe("TaggedClass constructor", () => {
140
140
  })
141
141
  })
142
142
 
143
+ describe("Class.copy", () => {
144
+ it("creates a new instance with updated fields", () => {
145
+ class A extends Class<A>("A")({ a: S.String, b: S.Number }) {}
146
+
147
+ const instance = new A({ a: "hello", b: 1 })
148
+ const copied: A = A.copy(instance, { b: 2 })
149
+ expect(copied).toBeInstanceOf(A)
150
+ expect(copied.a).toBe("hello")
151
+ expect(copied.b).toBe(2)
152
+ })
153
+
154
+ it("accepts a function for updates", () => {
155
+ class A extends Class<A>("A")({ a: S.String, b: S.Number }) {}
156
+
157
+ const instance = new A({ a: "hello", b: 1 })
158
+ const copied: A = A.copy(instance, (a) => ({ b: a.b + 1 }))
159
+ expect(copied).toBeInstanceOf(A)
160
+ expect(copied.b).toBe(2)
161
+ })
162
+
163
+ it("is pipeable", () => {
164
+ class A extends Class<A>("A")({ a: S.String, b: S.Number }) {}
165
+
166
+ const instance = new A({ a: "hello", b: 1 })
167
+ const copied: A = A.copy({ b: 2 })(instance)
168
+ expect(copied).toBeInstanceOf(A)
169
+ expect(copied.b).toBe(2)
170
+ })
171
+ })
172
+
173
+ describe("TaggedClass.copy", () => {
174
+ it("creates a new instance with updated fields", () => {
175
+ class Circle extends TaggedClass<Circle>()("Circle", { radius: S.Number }) {}
176
+
177
+ const instance = new Circle({ radius: 5 })
178
+ const copied: Circle = Circle.copy(instance, { radius: 10 })
179
+ expect(copied).toBeInstanceOf(Circle)
180
+ expect(copied._tag).toBe("Circle")
181
+ expect(copied.radius).toBe(10)
182
+ })
183
+
184
+ it("accepts a function for updates", () => {
185
+ class Circle extends TaggedClass<Circle>()("Circle", { radius: S.Number }) {}
186
+
187
+ const instance = new Circle({ radius: 5 })
188
+ const copied: Circle = Circle.copy(instance, (c) => ({ radius: c.radius * 2 }))
189
+ expect(copied).toBeInstanceOf(Circle)
190
+ expect(copied.radius).toBe(10)
191
+ })
192
+ })
193
+
143
194
  describe("TaggedError", () => {
144
195
  it("InvalidStateError toString includes the message", () => {
145
196
  const error = new InvalidStateError("something went wrong")