effect-zero 0.5.0 → 0.6.0-beta.0

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.
Files changed (76) hide show
  1. package/README.md +56 -38
  2. package/dist/client-transaction.d.ts +11 -9
  3. package/dist/client-transaction.d.ts.map +1 -1
  4. package/dist/client-transaction.js +4 -1
  5. package/dist/client-transaction.js.map +1 -1
  6. package/dist/client.d.ts +68 -66
  7. package/dist/client.d.ts.map +1 -1
  8. package/dist/client.js +7 -10
  9. package/dist/client.js.map +1 -1
  10. package/dist/client.test.d.ts +2 -0
  11. package/dist/client.test.d.ts.map +1 -0
  12. package/dist/client.test.js +19 -0
  13. package/dist/client.test.js.map +1 -0
  14. package/dist/internal/server-synchronization-context.d.ts.map +1 -1
  15. package/dist/internal/server-synchronization-context.js +2 -2
  16. package/dist/internal/server-synchronization-context.js.map +1 -1
  17. package/dist/internal/server.d.ts +13 -28
  18. package/dist/internal/server.d.ts.map +1 -1
  19. package/dist/internal/server.js +5 -19
  20. package/dist/internal/server.js.map +1 -1
  21. package/dist/internal/server.test.js +5 -3
  22. package/dist/internal/server.test.js.map +1 -1
  23. package/dist/server-transaction.d.ts +82 -109
  24. package/dist/server-transaction.d.ts.map +1 -1
  25. package/dist/server-transaction.js +26 -74
  26. package/dist/server-transaction.js.map +1 -1
  27. package/dist/server.d.ts +207 -354
  28. package/dist/server.d.ts.map +1 -1
  29. package/dist/server.js +60 -80
  30. package/dist/server.js.map +1 -1
  31. package/dist/types/ast.d.ts +4 -0
  32. package/dist/types/ast.d.ts.map +1 -0
  33. package/dist/types/ast.js +4 -0
  34. package/dist/types/ast.js.map +1 -0
  35. package/dist/types/{queries.d.ts → custom-queries.d.ts} +19 -1
  36. package/dist/types/custom-queries.d.ts.map +1 -0
  37. package/dist/types/{queries.js → custom-queries.js} +5 -6
  38. package/dist/types/custom-queries.js.map +1 -0
  39. package/dist/types/mutate-server.d.ts +160 -0
  40. package/dist/types/mutate-server.d.ts.map +1 -0
  41. package/dist/types/mutate-server.js +29 -0
  42. package/dist/types/mutate-server.js.map +1 -0
  43. package/dist/types/mutation-id.d.ts +7 -0
  44. package/dist/types/mutation-id.d.ts.map +1 -0
  45. package/dist/types/mutation-id.js +8 -0
  46. package/dist/types/mutation-id.js.map +1 -0
  47. package/dist/types/mutation.d.ts +79 -0
  48. package/dist/types/mutation.d.ts.map +1 -0
  49. package/dist/types/mutation.js +125 -0
  50. package/dist/types/mutation.js.map +1 -0
  51. package/dist/types/push.d.ts +100 -85
  52. package/dist/types/push.d.ts.map +1 -1
  53. package/dist/types/push.js +7 -134
  54. package/dist/types/push.js.map +1 -1
  55. package/dist/types/query-server.d.ts +144 -0
  56. package/dist/types/query-server.d.ts.map +1 -0
  57. package/dist/types/query-server.js +19 -0
  58. package/dist/types/query-server.js.map +1 -0
  59. package/dist/types.test.js +4 -4
  60. package/dist/types.test.js.map +1 -1
  61. package/package.json +35 -5
  62. package/src/client-transaction.ts +5 -1
  63. package/src/client.ts +14 -15
  64. package/src/internal/server-synchronization-context.ts +37 -39
  65. package/src/internal/server.ts +8 -31
  66. package/src/server-transaction.ts +55 -101
  67. package/src/server.ts +147 -151
  68. package/src/types/ast.ts +4 -0
  69. package/src/types/{queries.ts → custom-queries.ts} +4 -6
  70. package/src/types/mutate-server.ts +37 -0
  71. package/src/types/mutation-id.ts +10 -0
  72. package/src/types/mutation.ts +155 -0
  73. package/src/types/push.ts +7 -167
  74. package/src/types/query-server.ts +27 -0
  75. package/dist/types/queries.d.ts.map +0 -1
  76. package/dist/types/queries.js.map +0 -1
@@ -0,0 +1,144 @@
1
+ import * as Schema from "effect/Schema";
2
+ export declare const QueryResult: Schema.Union<readonly [Schema.Struct<{
3
+ readonly id: Schema.String;
4
+ readonly name: Schema.String;
5
+ readonly ast: Schema.Unknown;
6
+ }>, Schema.Union<readonly [Schema.Struct<{
7
+ readonly error: Schema.Literal<"app">;
8
+ readonly id: Schema.String;
9
+ readonly name: Schema.String;
10
+ readonly message: Schema.optional<Schema.String>;
11
+ readonly details: Schema.optional<Schema.Unknown>;
12
+ }>, Schema.Struct<{
13
+ readonly error: Schema.Literal<"parse">;
14
+ readonly id: Schema.String;
15
+ readonly name: Schema.String;
16
+ readonly message: Schema.String;
17
+ readonly details: Schema.optional<Schema.Unknown>;
18
+ }>]>]>;
19
+ export type QueryResult = typeof QueryResult.Type;
20
+ export declare const QueryResponseBody: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
21
+ readonly id: Schema.String;
22
+ readonly name: Schema.String;
23
+ readonly ast: Schema.Unknown;
24
+ }>, Schema.Union<readonly [Schema.Struct<{
25
+ readonly error: Schema.Literal<"app">;
26
+ readonly id: Schema.String;
27
+ readonly name: Schema.String;
28
+ readonly message: Schema.optional<Schema.String>;
29
+ readonly details: Schema.optional<Schema.Unknown>;
30
+ }>, Schema.Struct<{
31
+ readonly error: Schema.Literal<"parse">;
32
+ readonly id: Schema.String;
33
+ readonly name: Schema.String;
34
+ readonly message: Schema.String;
35
+ readonly details: Schema.optional<Schema.Unknown>;
36
+ }>]>]>>;
37
+ export type QueryResponseBody = typeof QueryResponseBody.Type;
38
+ export declare const QuerySuccess: Schema.Struct<{
39
+ readonly kind: Schema.Literal<"QueryResponse">;
40
+ readonly userID: Schema.optional<Schema.NullOr<Schema.String>>;
41
+ readonly queries: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
42
+ readonly id: Schema.String;
43
+ readonly name: Schema.String;
44
+ readonly ast: Schema.Unknown;
45
+ }>, Schema.Union<readonly [Schema.Struct<{
46
+ readonly error: Schema.Literal<"app">;
47
+ readonly id: Schema.String;
48
+ readonly name: Schema.String;
49
+ readonly message: Schema.optional<Schema.String>;
50
+ readonly details: Schema.optional<Schema.Unknown>;
51
+ }>, Schema.Struct<{
52
+ readonly error: Schema.Literal<"parse">;
53
+ readonly id: Schema.String;
54
+ readonly name: Schema.String;
55
+ readonly message: Schema.String;
56
+ readonly details: Schema.optional<Schema.Unknown>;
57
+ }>]>]>>;
58
+ }>;
59
+ export type QuerySuccess = typeof QuerySuccess.Type;
60
+ export declare const QueryResponse: Schema.Union<readonly [Schema.Struct<{
61
+ readonly kind: Schema.Literal<"QueryResponse">;
62
+ readonly userID: Schema.optional<Schema.NullOr<Schema.String>>;
63
+ readonly queries: Schema.$Array<Schema.Union<readonly [Schema.Struct<{
64
+ readonly id: Schema.String;
65
+ readonly name: Schema.String;
66
+ readonly ast: Schema.Unknown;
67
+ }>, Schema.Union<readonly [Schema.Struct<{
68
+ readonly error: Schema.Literal<"app">;
69
+ readonly id: Schema.String;
70
+ readonly name: Schema.String;
71
+ readonly message: Schema.optional<Schema.String>;
72
+ readonly details: Schema.optional<Schema.Unknown>;
73
+ }>, Schema.Struct<{
74
+ readonly error: Schema.Literal<"parse">;
75
+ readonly id: Schema.String;
76
+ readonly name: Schema.String;
77
+ readonly message: Schema.String;
78
+ readonly details: Schema.optional<Schema.Unknown>;
79
+ }>]>]>>;
80
+ }>, Schema.Union<readonly [Schema.Struct<{
81
+ readonly origin: Schema.Literal<"server">;
82
+ readonly reason: Schema.Literals<readonly ["database", "parse", "internal"]>;
83
+ readonly kind: Schema.Literal<"TransformFailed">;
84
+ readonly details: Schema.optional<Schema.Unknown>;
85
+ readonly queryIDs: Schema.$Array<Schema.String>;
86
+ readonly message: Schema.String;
87
+ }>, Schema.Struct<{
88
+ readonly origin: Schema.Literal<"zeroCache">;
89
+ readonly reason: Schema.Literal<"http">;
90
+ readonly status: Schema.Number;
91
+ readonly bodyPreview: Schema.optional<Schema.String>;
92
+ readonly kind: Schema.Literal<"TransformFailed">;
93
+ readonly details: Schema.optional<Schema.Unknown>;
94
+ readonly queryIDs: Schema.$Array<Schema.String>;
95
+ readonly message: Schema.String;
96
+ }>, Schema.Struct<{
97
+ readonly origin: Schema.Literal<"zeroCache">;
98
+ readonly reason: Schema.Literals<readonly ["timeout", "parse", "internal"]>;
99
+ readonly kind: Schema.Literal<"TransformFailed">;
100
+ readonly details: Schema.optional<Schema.Unknown>;
101
+ readonly queryIDs: Schema.$Array<Schema.String>;
102
+ readonly message: Schema.String;
103
+ }>]>, Schema.Union<readonly [Schema.Tuple<readonly [Schema.Literal<"transformed">, Schema.$Array<Schema.Union<readonly [Schema.Struct<{
104
+ readonly id: Schema.String;
105
+ readonly name: Schema.String;
106
+ readonly ast: Schema.Unknown;
107
+ }>, Schema.Union<readonly [Schema.Struct<{
108
+ readonly error: Schema.Literal<"app">;
109
+ readonly id: Schema.String;
110
+ readonly name: Schema.String;
111
+ readonly message: Schema.optional<Schema.String>;
112
+ readonly details: Schema.optional<Schema.Unknown>;
113
+ }>, Schema.Struct<{
114
+ readonly error: Schema.Literal<"parse">;
115
+ readonly id: Schema.String;
116
+ readonly name: Schema.String;
117
+ readonly message: Schema.String;
118
+ readonly details: Schema.optional<Schema.Unknown>;
119
+ }>]>]>>]>, Schema.Tuple<readonly [Schema.Literal<"transformFailed">, Schema.Union<readonly [Schema.Struct<{
120
+ readonly origin: Schema.Literal<"server">;
121
+ readonly reason: Schema.Literals<readonly ["database", "parse", "internal"]>;
122
+ readonly kind: Schema.Literal<"TransformFailed">;
123
+ readonly details: Schema.optional<Schema.Unknown>;
124
+ readonly queryIDs: Schema.$Array<Schema.String>;
125
+ readonly message: Schema.String;
126
+ }>, Schema.Struct<{
127
+ readonly origin: Schema.Literal<"zeroCache">;
128
+ readonly reason: Schema.Literal<"http">;
129
+ readonly status: Schema.Number;
130
+ readonly bodyPreview: Schema.optional<Schema.String>;
131
+ readonly kind: Schema.Literal<"TransformFailed">;
132
+ readonly details: Schema.optional<Schema.Unknown>;
133
+ readonly queryIDs: Schema.$Array<Schema.String>;
134
+ readonly message: Schema.String;
135
+ }>, Schema.Struct<{
136
+ readonly origin: Schema.Literal<"zeroCache">;
137
+ readonly reason: Schema.Literals<readonly ["timeout", "parse", "internal"]>;
138
+ readonly kind: Schema.Literal<"TransformFailed">;
139
+ readonly details: Schema.optional<Schema.Unknown>;
140
+ readonly queryIDs: Schema.$Array<Schema.String>;
141
+ readonly message: Schema.String;
142
+ }>]>]>]>]>;
143
+ export type QueryResponse = typeof QueryResponse.Type;
144
+ //# sourceMappingURL=query-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-server.d.ts","sourceRoot":"","sources":["../../src/types/query-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAOxC,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;MAAiD,CAAC;AAC1E,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAElD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;OAA4B,CAAC;AAC3D,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAC;AAE9D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;EAIvB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,IAAI,CAAC;AAEpD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAKxB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAC"}
@@ -0,0 +1,19 @@
1
+ import * as Schema from "effect/Schema";
2
+ import { ErroredQuery, TransformedQuery, TransformResponseMessage } from "./custom-queries.js";
3
+ import { TransformFailedBody } from "./error.js";
4
+ // The code below was converted to Effect Schema from:
5
+ // https://github.com/rocicorp/mono/blob/74273167af5d15ed07045e04165cb04d3983d44f/packages/zero-protocol/src/query-server.ts
6
+ export const QueryResult = Schema.Union([TransformedQuery, ErroredQuery]);
7
+ export const QueryResponseBody = Schema.Array(QueryResult);
8
+ export const QuerySuccess = Schema.Struct({
9
+ kind: Schema.Literal("QueryResponse"),
10
+ userID: Schema.optional(Schema.NullOr(Schema.String)),
11
+ queries: QueryResponseBody,
12
+ });
13
+ export const QueryResponse = Schema.Union([
14
+ QuerySuccess,
15
+ TransformFailedBody,
16
+ // for backwards compatibility
17
+ TransformResponseMessage,
18
+ ]);
19
+ //# sourceMappingURL=query-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-server.js","sourceRoot":"","sources":["../../src/types/query-server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,sDAAsD;AACtD,4HAA4H;AAE5H,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC;AAG1E,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAG3D,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrD,OAAO,EAAE,iBAAiB;CAC3B,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC;IACxC,YAAY;IACZ,mBAAmB;IACnB,8BAA8B;IAC9B,wBAAwB;CACzB,CAAC,CAAC"}
@@ -133,7 +133,7 @@ describe("Type tests", () => {
133
133
  noTags: Effect.fn(function* () { }),
134
134
  },
135
135
  });
136
- const serverEffect = Server.processPush(serverTransaction, mutators, {}, {});
136
+ const serverEffect = Server.handleMutate({ transaction: serverTransaction, mutators, query: {}, body: {}, userId: undefined });
137
137
  // Server effect should require both NestedDummyTag and NestedDummyTag2
138
138
  expectTypeOf().toEqualTypeOf();
139
139
  });
@@ -156,11 +156,11 @@ describe("Type tests", () => {
156
156
  yield* DummyTag2;
157
157
  }),
158
158
  });
159
- const serverEffect = Server.processPush(serverTransaction, mutators, {}, {});
159
+ const serverEffect = Server.handleMutate({ transaction: serverTransaction, mutators, query: {}, body: {}, userId: undefined });
160
160
  // Server effect should require both DummyTag and DummyTag2
161
161
  expectTypeOf().toEqualTypeOf();
162
162
  });
163
- it("processPush has no extra requirements when mutators have none", () => {
163
+ it("handleMutate has no extra requirements when mutators have none", () => {
164
164
  const clientTransaction = ClientTransaction.make("TestClientTransaction3", mockZeroSchema);
165
165
  const serverTransaction = ServerTransaction.make("TestServerTransaction2", mockDatabase, clientTransaction);
166
166
  const mutatorSchema = Mutators.schema({
@@ -169,7 +169,7 @@ describe("Type tests", () => {
169
169
  const mutators = Mutators.make(mutatorSchema, {
170
170
  simple: Effect.fn(function* () { }),
171
171
  });
172
- const effect = Server.processPush(serverTransaction, mutators, {}, {});
172
+ const effect = Server.handleMutate({ transaction: serverTransaction, mutators, query: {}, body: {}, userId: undefined });
173
173
  expectTypeOf().toEqualTypeOf();
174
174
  });
175
175
  });
@@ -1 +1 @@
1
- {"version":3,"file":"types.test.js","sourceRoot":"","sources":["../src/types.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,YAAY,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAE7D,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CACvC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE;IAC3B,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;CACzD,CAAC,CACH,CAAC;AAEF,kCAAkC;AAClC,MAAM,cAAc,GAAG;IACrB,MAAM,EAAE;QACN,QAAQ,EAAE;YACR,SAAS,EAAE,UAAU;YACrB,OAAO,EAAE;gBACP,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACtB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;aACzB;YACD,UAAU,EAAE,CAAC,IAAI,CAAC;SACnB;KACF;CACK,CAAC;AAET,+BAA+B;AAC/B,MAAM,YAAY,GAAG,EAAS,CAAC;AAE/B,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC;gBACpC,QAAQ,EAAE;oBACR,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;wBACpB,EAAE,EAAE,MAAM,CAAC,MAAM;wBACjB,IAAI,EAAE,MAAM,CAAC,MAAM;qBACpB,CAAC;iBACH;gBACD,eAAe,EAAE,MAAM,CAAC,IAAI;gBAC5B,MAAM,EAAE,MAAM,CAAC,IAAI;gBACnB,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC;oBAC3B,GAAG,EAAE,MAAM,CAAC,gBAAgB;iBAC7B,CAAC;aACH,CAAC,CAAC;YAEH,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,uBAAuB,EAAE,cAAc,CAAC,CAAC;YAE1F,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE;gBAC5C,QAAQ,EAAE;oBACR,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CACd,iBAAiB,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;wBAC/B,yBAAyB;wBACzB,MAAM,GAAG,GAAW,GAAG,CAAC,EAAE,CAAC;wBAC3B,MAAM,KAAK,GAAW,GAAG,CAAC,IAAI,CAAC;oBACjC,CAAC,CAAC;iBACL;gBACD,eAAe,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAG,CAAC,CAAC;gBAC7C,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAK,CAAC,CAAC;gBAClC,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAG,CAAC,CAAC;aAC5C,CAAC,CAAC;YAEH,yCAAyC;YACzC,YAAY,EAA+C,CAAC,aAAa,EAAyB,CAAC;YAEnG,sBAAsB;YACtB,YAAY,EAAsC,CAAC,aAAa,EAAM,CAAC;YAEvE,yCAAyC;YACzC,YAAY,EAA+C,CAAC,aAAa,EAEtE,CAAC;YAEJ,kEAAkE;YAClE,YAAY,EAA6C,CAAC,aAAa,EAEpE,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;YAC5E,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC;gBACpC,IAAI,EAAE;oBACJ,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;wBACpB,EAAE,EAAE,MAAM,CAAC,MAAM;wBACjB,KAAK,EAAE,MAAM,CAAC,MAAM;qBACrB,CAAC;oBACF,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;wBACpB,EAAE,EAAE,MAAM,CAAC,MAAM;wBACjB,IAAI,EAAE,MAAM,CAAC,OAAO;qBACrB,CAAC;oBACF,MAAM,EAAE,MAAM,CAAC,IAAI;iBACpB;aACF,CAAC,CAAC;YAEH,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,6BAA6B,EAAE,cAAc,CAAC,CAAC;YAEhG,2FAA2F;YAC3F,wEAAwE;YACxE,yFAAyF;YACzF,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE;gBAC5C,IAAI,EAAE;oBACJ,6DAA6D;oBAC7D,MAAM,EAAE,CAAC,IAAmC,EAAE,EAAE,CAC9C,iBAAiB,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;wBAC/B,MAAM,GAAG,GAAW,IAAI,CAAC,EAAE,CAAC;wBAC5B,MAAM,MAAM,GAAW,IAAI,CAAC,KAAK,CAAC;oBACpC,CAAC,CAAC;oBACJ,gDAAgD;oBAChD,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAmC;wBAC9D,KAAK,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC,CAAC;oBAC/C,CAAC,CAAC;oBACF,6CAA6C;oBAC7C,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC;wBACzB,KAAK,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC,CAAC;oBAC/C,CAAC,CAAC;iBACH;aACF,CAAC,CAAC;YAEH,2DAA2D;YAC3D,YAAY,EAA2C,CAAC,aAAa,EAAmC,CAAC;YAEzG,mFAAmF;YACnF,YAAY,EAA2C,CAAC,aAAa,EAAmC,CAAC;YAEzG,gDAAgD;YAChD,YAAY,EAA2C,CAAC,aAAa,EAAM,CAAC;QAC9E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,cAAe,SAAQ,OAAO,CAAC,OAAO,EAAsB,CAAC,iCAAiC,CAAC;aAAG;YAExG,MAAM,eAAgB,SAAQ,OAAO,CAAC,OAAO,EAAuB,CAAC,kCAAkC,CAAC;aAAG;YAE3G,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,gCAAgC,EAAE,cAAc,CAAC,CAAC;YACnG,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAC9C,gCAAgC,EAChC,YAAY,EACZ,iBAAiB,CAClB,CAAC;YAEF,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC;gBACpC,MAAM,EAAE;oBACN,QAAQ,EAAE,MAAM,CAAC,IAAI;oBACrB,QAAQ,EAAE,MAAM,CAAC,IAAI;oBACrB,MAAM,EAAE,MAAM,CAAC,IAAI;iBACpB;aACF,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE;gBAC5C,MAAM,EAAE;oBACN,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC;wBAC3B,KAAK,CAAC,CAAC,cAAc,CAAC;oBACxB,CAAC,CAAC;oBACF,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC;wBAC3B,KAAK,CAAC,CAAC,eAAe,CAAC;oBACzB,CAAC,CAAC;oBACF,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAK,CAAC,CAAC;iBACnC;aACF,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,iBAAiB,EAAE,QAAQ,EAAE,EAAS,EAAE,EAAS,CAAC,CAAC;YAE3F,uEAAuE;YACvE,YAAY,EAAwC,CAAC,aAAa,EAAoC,CAAC;QACzG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,QAAS,SAAQ,OAAO,CAAC,OAAO,EAAgB,CAAC,2BAA2B,CAAC;aAAG;YAEtF,MAAM,SAAU,SAAQ,OAAO,CAAC,OAAO,EAAiB,CAAC,4BAA4B,CAAC;aAAG;YAEzF,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,wBAAwB,EAAE,cAAc,CAAC,CAAC;YAC3F,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,uBAAuB,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC;YAE3G,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC;gBACpC,KAAK,EAAE,MAAM,CAAC,IAAI;gBAClB,MAAM,EAAE,MAAM,CAAC,IAAI;aACpB,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE;gBAC5C,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC;oBACxB,KAAK,CAAC,CAAC,QAAQ,CAAC;gBAClB,CAAC,CAAC;gBACF,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC;oBACzB,KAAK,CAAC,CAAC,SAAS,CAAC;gBACnB,CAAC,CAAC;aACH,CAAC,CAAC;YAEH,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,iBAAiB,EAAE,QAAQ,EAAE,EAAS,EAAE,EAAS,CAAC,CAAC;YAE3F,2DAA2D;YAC3D,YAAY,EAAwC,CAAC,aAAa,EAAwB,CAAC;QAC7F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;YACvE,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,wBAAwB,EAAE,cAAc,CAAC,CAAC;YAC3F,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,wBAAwB,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC;YAE5G,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC;gBACpC,MAAM,EAAE,MAAM,CAAC,IAAI;aACpB,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE;gBAC5C,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAK,CAAC,CAAC;aACnC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,iBAAiB,EAAE,QAAQ,EAAE,EAAS,EAAE,EAAS,CAAC,CAAC;YAErF,YAAY,EAAkC,CAAC,aAAa,EAAS,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,+DAA+D;QAC/D,MAAM,aAAa,GAAG,GAAQ,EAAE;YAC9B,MAAM,SAAS,GAAG;gBAChB,CAAC,iBAAiB,CAAC,EAAE,IAAI;gBACzB,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;gBAC3B,WAAW,EAAE,GAAG,EAAE,CAAC,SAAS;aAC7B,CAAC;YACF,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QAEF,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACnE,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC;gBACpC,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,cAAc;gBACvB,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3B,0DAA0D;oBAC1D,YAAY,EAAY,CAAC,aAAa,EAAQ,CAAC;oBAC/C,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;gBAChD,CAAC,CAAC;aACH,CAAC,CAAC;YAEH,mDAAmD;YACnD,YAAY,EAAyC,CAAC,aAAa,EAAU,CAAC;QAChF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC7B,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,MAAM,CAAC,MAAM;gBACtB,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC3B,YAAY,EAAY,CAAC,aAAa,EAAU,CAAC;oBACjD,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;gBAChD,CAAC,CAAC;aACH,CAAC,CAAC;YAEH,YAAY,EAAkC,CAAC,aAAa,EAAY,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,iEAAiE;QACjE,EAAE;QACF,6EAA6E;QAC7E,uCAAuC;QACvC,6BAA6B;QAC7B,2DAA2D;QAC3D,0CAA0C;QAC1C,0DAA0D;QAC1D,0DAA0D;QAC1D,uDAAuD;QACvD,UAAU;QACV,QAAQ;QAER,wFAAwF;QACxF,MAAM;QAEN,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC9D,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC5B,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,MAAM,CAAC,IAAI;gBACpB,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC;oBACxB,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;gBAChD,CAAC,CAAC;aACH,CAAC,CAAC;YAEH,6EAA6E;YAC7E,YAAY,EAAiC,CAAC,aAAa,EAAgB,CAAC;QAC9E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;YAC3E,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC9B,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;oBACrB,EAAE,EAAE,MAAM,CAAC,MAAM;oBACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;iBAChD,CAAC;gBACF,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,GAA8C;oBACxE,YAAY,EAAc,CAAC,aAAa,EAA6C,CAAC;oBACtF,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;gBAChD,CAAC,CAAC;aACH,CAAC,CAAC;YAEH,YAAY,EAAmC,CAAC,aAAa,EAE1D,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;gBACxB,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACtC,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;aAC7C,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;gBACxB,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;aAC7C,CAAC,CAAC;YAEH,oCAAoC;YACpC,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAmC,CAAC;YACnE,YAAY,CAAC,OAAO,CAAC,CAAC,QAAQ,EAA2B,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"types.test.js","sourceRoot":"","sources":["../src/types.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "effect-zero",
3
3
  "type": "module",
4
- "version": "0.5.0",
4
+ "version": "0.6.0-beta.0",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "url": "https://github.com/realms-labs/effect-zero"
@@ -18,7 +18,7 @@
18
18
  "@biomejs/biome": "^2.2.6",
19
19
  "@effect/language-service": "^0.86.2",
20
20
  "@effect/vitest": "^4.0.0-beta.78",
21
- "@rocicorp/zero": "^1.3.0",
21
+ "@rocicorp/zero": "1.7.0-canary.4",
22
22
  "@types/bun": "latest",
23
23
  "@types/fs-extra": "^11.0.4",
24
24
  "effect": "^4.0.0-beta.78",
@@ -80,10 +80,10 @@
80
80
  "default": "./dist/server.js"
81
81
  }
82
82
  },
83
- "./types/queries": {
83
+ "./types/custom-queries": {
84
84
  "import": {
85
- "types": "./dist/types/queries.d.ts",
86
- "default": "./dist/types/queries.js"
85
+ "types": "./dist/types/custom-queries.d.ts",
86
+ "default": "./dist/types/custom-queries.js"
87
87
  }
88
88
  },
89
89
  "./types/common": {
@@ -92,12 +92,42 @@
92
92
  "default": "./dist/types/common.js"
93
93
  }
94
94
  },
95
+ "./types/mutation-id": {
96
+ "import": {
97
+ "types": "./dist/types/mutation-id.d.ts",
98
+ "default": "./dist/types/mutation-id.js"
99
+ }
100
+ },
101
+ "./types/mutate-server": {
102
+ "import": {
103
+ "types": "./dist/types/mutate-server.d.ts",
104
+ "default": "./dist/types/mutate-server.js"
105
+ }
106
+ },
95
107
  "./types/error": {
96
108
  "import": {
97
109
  "types": "./dist/types/error.d.ts",
98
110
  "default": "./dist/types/error.js"
99
111
  }
100
112
  },
113
+ "./types/mutation": {
114
+ "import": {
115
+ "types": "./dist/types/mutation.d.ts",
116
+ "default": "./dist/types/mutation.js"
117
+ }
118
+ },
119
+ "./types/query-server": {
120
+ "import": {
121
+ "types": "./dist/types/query-server.d.ts",
122
+ "default": "./dist/types/query-server.js"
123
+ }
124
+ },
125
+ "./types/ast": {
126
+ "import": {
127
+ "types": "./dist/types/ast.d.ts",
128
+ "default": "./dist/types/ast.js"
129
+ }
130
+ },
101
131
  "./types/push": {
102
132
  "import": {
103
133
  "types": "./dist/types/push.d.ts",
@@ -5,10 +5,14 @@ import * as Data from "effect/Data";
5
5
  import * as Effect from "effect/Effect";
6
6
  import type { NodeInspectSymbol } from "effect/Inspectable";
7
7
  import type * as Unify from "effect/Unify";
8
+ import { prefixId } from "./internal/utils.js";
8
9
 
9
10
  type _NodeInspectSymbol = NodeInspectSymbol;
10
11
  type _Unify = Unify.typeSymbol | Unify.unifySymbol | Unify.ignoreSymbol;
11
12
 
13
+ export const ContextSymbol = Symbol.for(prefixId("Context"));
14
+ export const SchemaSymbol = Symbol.for(prefixId("Schema"));
15
+
12
16
  // biome-ignore lint/suspicious/noExplicitAny: any client transaction (its Id literal is irrelevant here)
13
17
  export type Context<TSchema extends ZeroSchema> = ReturnType<typeof make<any, TSchema>>;
14
18
 
@@ -26,7 +30,7 @@ export const make = <const Id extends string, TSchema extends ZeroSchema>(id: Id
26
30
  });
27
31
  });
28
32
 
29
- return { Context, use, schema };
33
+ return { use, [ContextSymbol]: Context, [SchemaSymbol]: schema };
30
34
  };
31
35
 
32
36
  class ClientTransactionError extends Data.TaggedError("ClientTransactionError")<{
package/src/client.ts CHANGED
@@ -2,7 +2,6 @@ import { Zero, type ZeroOptions, type Schema as ZeroSchema, type Transaction as
2
2
  import * as Cause from "effect/Cause";
3
3
  import * as Data from "effect/Data";
4
4
  import * as Effect from "effect/Effect";
5
- import * as Exit from "effect/Exit";
6
5
  import type { NodeInspectSymbol } from "effect/Inspectable";
7
6
  import * as Match from "effect/Match";
8
7
  import * as Predicate from "effect/Predicate";
@@ -10,6 +9,7 @@ import * as Rec from "effect/Record";
10
9
  import * as Schema from "effect/Schema";
11
10
  import type * as Unify from "effect/Unify";
12
11
  import type * as ClientTransaction from "./client-transaction.js";
12
+ import { ContextSymbol, SchemaSymbol } from "./client-transaction.js";
13
13
  import { normalizeArgs } from "./internal/utils.js";
14
14
  import * as Mutators from "./mutators.js";
15
15
 
@@ -23,23 +23,17 @@ export const make = Effect.fn(function* <TSchema extends ZeroSchema, TMutators e
23
23
  ) {
24
24
  const ctx =
25
25
  yield* Effect.context<
26
- Exclude<Mutators.ExtractMutatorsRequirements<TMutators>, (typeof transaction.Context)["Identifier"]>
26
+ Exclude<Mutators.ExtractMutatorsRequirements<TMutators>, (typeof transaction)[typeof ContextSymbol]["Identifier"]>
27
27
  >();
28
28
 
29
29
  function unwrapMutator<E>(mutator: Mutators.AnyMutator<Mutators.ExtractMutatorsRequirements<TMutators>, E>) {
30
- return async (tx: ZeroTransaction<TSchema>, args: unknown, _ctx: unknown) => {
31
- const exit = await Schema.decodeUnknownEffect(mutator[Mutators.MutatorSchemaSymbol])(normalizeArgs(args)).pipe(
30
+ return (tx: ZeroTransaction<TSchema>, args: unknown, _ctx: unknown) =>
31
+ Schema.decodeUnknownEffect(mutator[Mutators.MutatorSchemaSymbol])(normalizeArgs(args)).pipe(
32
32
  Effect.catchTag("SchemaError", (e) => Effect.fail(new ClientArgsParseError({ cause: Cause.fail(e) }))),
33
33
  Effect.flatMap(mutator),
34
- Effect.provideService(transaction.Context, tx),
35
- Effect.runPromiseExitWith(ctx),
34
+ Effect.provideService(transaction[ContextSymbol], tx),
35
+ Effect.runPromiseWith(ctx),
36
36
  );
37
- if (Exit.isFailure(exit)) {
38
- // Extract underlying error bypassing FiberFailure
39
- throw Cause.squash(exit.cause);
40
- }
41
- return exit.value;
42
- };
43
37
  }
44
38
 
45
39
  const unwrappedMutators = Rec.map(mutators, (v) =>
@@ -50,7 +44,7 @@ export const make = Effect.fn(function* <TSchema extends ZeroSchema, TMutators e
50
44
  Effect.sync(() => {
51
45
  return new Zero({
52
46
  ...options,
53
- schema: transaction.schema,
47
+ schema: transaction[SchemaSymbol],
54
48
  mutators: unwrappedMutators,
55
49
  });
56
50
  }),
@@ -76,5 +70,10 @@ type UnwrapMutators<TSchema extends ZeroSchema, TMutators extends Mutators.AnyMu
76
70
  } & {};
77
71
 
78
72
  export class ClientArgsParseError extends Data.TaggedError("ClientArgsParseError")<{
79
- readonly cause: Cause.Cause<Schema.SchemaError>;
80
- }> {}
73
+ readonly cause: Cause.Cause<unknown>;
74
+ }> {
75
+ override get message() {
76
+ const error = Cause.squash(this.cause);
77
+ return Predicate.isError(error) ? error.message : "Internal error";
78
+ }
79
+ }
@@ -21,44 +21,42 @@ export const layer: Layer.Layer<ServerSynchronizationContext> = Layer.effect(Ser
21
21
  );
22
22
 
23
23
  // Ensures that only one transaction is executed at a time and checks that another transaction wasn't already executed.
24
- export const guard = <A, E, R>(effect: Effect.Effect<A, E, R>) =>
25
- Effect.gen(function* () {
26
- const ctx = yield* ServerSynchronizationContext;
27
- return yield* SynchronizedRef.modifyEffect(
28
- ctx.wasTransactionExecuted,
29
- Effect.fn(function* (wasTransactionExecuted) {
30
- if (wasTransactionExecuted) {
31
- return yield* new MultipleTransactionsError();
32
- }
33
- const result = yield* effect;
34
- return [result, true];
35
- }),
36
- );
37
- });
24
+ export const guard = Effect.fn(function* <A, E, R>(effect: Effect.Effect<A, E, R>) {
25
+ const ctx = yield* ServerSynchronizationContext;
26
+ return yield* SynchronizedRef.modifyEffect(
27
+ ctx.wasTransactionExecuted,
28
+ Effect.fn(function* (wasTransactionExecuted) {
29
+ if (wasTransactionExecuted) {
30
+ return yield* new MultipleTransactionsError();
31
+ }
32
+ const result = yield* effect;
33
+ return [result, true];
34
+ }),
35
+ );
36
+ });
38
37
 
39
- export const finalize = <A, E, R>(effect: Effect.Effect<A, E, R>) =>
40
- Effect.gen(function* () {
41
- const { wasTransactionExecuted } = yield* ServerSynchronizationContext;
38
+ export const finalize = Effect.fn(function* <A, E, R>(effect: Effect.Effect<A, E, R>) {
39
+ const { wasTransactionExecuted } = yield* ServerSynchronizationContext;
42
40
 
43
- return yield* effect.pipe(
44
- // Case #2 "One transaction then fail"
45
- // If the transaction was executed successfully, swallow the error and just log it, otherwise re-throw it
46
- Effect.catchCause(
47
- Effect.fn(function* (e) {
48
- if (yield* SynchronizedRef.get(wasTransactionExecuted)) {
49
- return yield* Effect.logError("Error occurred after transaction execution completed", e);
50
- }
51
- return yield* Effect.failCause(e);
52
- }),
53
- ),
54
- // Case #4 "Zero transactions then succeed"
55
- // Check that the transaction was executed during the mutation
56
- Effect.tap(
57
- Effect.gen(function* () {
58
- if (!(yield* SynchronizedRef.get(wasTransactionExecuted))) {
59
- return yield* new NoTransactionError();
60
- }
61
- }),
62
- ),
63
- );
64
- });
41
+ return yield* effect.pipe(
42
+ // Case #2 "One transaction then fail"
43
+ // If the transaction was executed successfully, swallow the error and just log it, otherwise re-throw it
44
+ Effect.catchCause(
45
+ Effect.fn(function* (e) {
46
+ if (yield* SynchronizedRef.get(wasTransactionExecuted)) {
47
+ return yield* Effect.logError("Error occurred after transaction execution completed", e);
48
+ }
49
+ return yield* Effect.failCause(e);
50
+ }),
51
+ ),
52
+ // Case #4 "Zero transactions then succeed"
53
+ // Check that the transaction was executed during the mutation
54
+ Effect.tap(
55
+ Effect.gen(function* () {
56
+ if (!(yield* SynchronizedRef.get(wasTransactionExecuted))) {
57
+ return yield* new NoTransactionError();
58
+ }
59
+ }),
60
+ ),
61
+ );
62
+ });
@@ -1,44 +1,21 @@
1
- import type { TransactionProviderInput } from "@rocicorp/zero/server";
2
- import * as Context from "effect/Context";
1
+ import type * as Cause from "effect/Cause";
3
2
  import * as Data from "effect/Data";
4
3
  import * as Predicate from "effect/Predicate";
5
4
  import { prefixId } from "./utils.js";
6
5
 
7
- export class ServerTransactionInput extends Context.Service<ServerTransactionInput, TransactionProviderInput>()(
8
- prefixId("ServerTransactionInput"),
9
- ) {}
10
-
11
6
  export class NoTransactionError extends Data.TaggedError("NoTransactionError") {
12
7
  message = "No transaction detected in a mutation, a transaction is required.";
13
8
  }
14
9
  export class MultipleTransactionsError extends Data.TaggedError("MultipleTransactionsError") {}
15
10
 
16
- const OutOfOrderMutationErrorTypeId = Symbol.for(prefixId("OutOfOrderMutationError"));
17
- export class OutOfOrderMutationError extends Data.TaggedError("OutOfOrderMutationError")<{
18
- readonly clientID: string;
19
- readonly receivedMutationID: number;
20
- readonly lastMutationID: number | bigint;
11
+ const TransactInternalErrorTypeId = Symbol.for(prefixId("TransactInternalError"));
12
+ export class TransactInternalError extends Data.TaggedError("TransactInternalError")<{
13
+ readonly cause: Cause.Cause<unknown>;
21
14
  }> {
22
- readonly [OutOfOrderMutationErrorTypeId] = OutOfOrderMutationErrorTypeId;
23
- override get message() {
24
- return `Client ${this.clientID} sent mutation ID ${this.receivedMutationID} but expected ${this.lastMutationID}`;
25
- }
26
- static is(e: unknown): e is OutOfOrderMutationError {
27
- return Predicate.hasProperty(e, OutOfOrderMutationErrorTypeId);
15
+ readonly [TransactInternalErrorTypeId] = TransactInternalErrorTypeId;
16
+ static is(e: unknown): e is TransactInternalError {
17
+ return Predicate.hasProperty(e, TransactInternalErrorTypeId);
28
18
  }
29
19
  }
30
20
 
31
- const MutationAlreadyProcessedErrorTypeId = Symbol.for(prefixId("MutationAlreadyProcessedError"));
32
- export class MutationAlreadyProcessedError extends Data.TaggedError("MutationAlreadyProcessedError")<{
33
- readonly clientID: string;
34
- readonly received: number;
35
- readonly actual: number | bigint;
36
- }> {
37
- readonly [MutationAlreadyProcessedErrorTypeId] = MutationAlreadyProcessedErrorTypeId;
38
- override get message() {
39
- return `Ignoring mutation from ${this.clientID} with ID ${this.received} as it was already processed. Expected: ${this.actual}`;
40
- }
41
- static is(e: unknown): e is MutationAlreadyProcessedError {
42
- return Predicate.hasProperty(e, MutationAlreadyProcessedErrorTypeId);
43
- }
44
- }
21
+ export class TransactCallbackNotInvokedError extends Data.TaggedError("TransactCallbackNotInvokedError") {}