effect-zero 0.5.0 → 0.6.0-beta.1

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,19 @@
1
+ import { describe, it } from "@effect/vitest";
2
+ import * as Effect from "effect/Effect";
3
+ import * as Exit from "effect/Exit";
4
+ import * as Schema from "effect/Schema";
5
+ import { ClientArgsParseError } from "./client.js";
6
+ describe("ClientArgsParseError", () => {
7
+ // A `SchemaError` is not `instanceof Error`, so the validation detail is masked to a generic
8
+ // "Internal error" rather than leaked. The getter still exists so a `getErrorMessage`-style
9
+ // consumer reads that clean string instead of serializing the raw `Cause` into a "Parsed message" blob.
10
+ it.effect("masks the schema validation detail to 'Internal error'", Effect.fn(function* ({ expect }) {
11
+ const exit = yield* Effect.exit(Schema.decodeUnknownEffect(Schema.Struct({ id: Schema.String }))({}));
12
+ expect(Exit.isFailure(exit)).toBe(true);
13
+ if (!Exit.isFailure(exit))
14
+ return;
15
+ const error = new ClientArgsParseError({ cause: exit.cause });
16
+ expect(error.message).toBe("Internal error");
17
+ }));
18
+ });
19
+ //# sourceMappingURL=client.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.test.js","sourceRoot":"","sources":["../src/client.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,6FAA6F;IAC7F,4FAA4F;IAC5F,wGAAwG;IACxG,EAAE,CAAC,MAAM,CACP,wDAAwD,EACxD,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;YAAE,OAAO;QAElC,MAAM,KAAK,GAAG,IAAI,oBAAoB,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAE9D,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/C,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server-synchronization-context.d.ts","sourceRoot":"","sources":["../../src/internal/server-synchronization-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;;;;;;;;AAG5E,qBAAa,4BAA6B,SAAQ,iCASjD;CAAG;AAEJ,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,4BAA4B,CAE3D,CAAC;AAGF,eAAO,MAAM,KAAK,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,sFAazD,CAAC;AAEL,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,sFAyB5D,CAAC"}
1
+ {"version":3,"file":"server-synchronization-context.d.ts","sourceRoot":"","sources":["../../src/internal/server-synchronization-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;;;;;;;;AAG5E,qBAAa,4BAA6B,SAAQ,iCASjD;CAAG;AAEJ,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,4BAA4B,CAE3D,CAAC;AAGF,eAAO,MAAM,KAAK,GAAwB,CAAC,EAAE,CAAC,EAAE,CAAC,sHAY/C,CAAC;AAEH,eAAO,MAAM,QAAQ,GAAwB,CAAC,EAAE,CAAC,EAAE,CAAC,sHAwBlD,CAAC"}
@@ -14,7 +14,7 @@ export class ServerSynchronizationContext extends Context.Service()(prefixId("Se
14
14
  }
15
15
  export const layer = Layer.effect(ServerSynchronizationContext)(ServerSynchronizationContext.make);
16
16
  // Ensures that only one transaction is executed at a time and checks that another transaction wasn't already executed.
17
- export const guard = (effect) => Effect.gen(function* () {
17
+ export const guard = Effect.fn(function* (effect) {
18
18
  const ctx = yield* ServerSynchronizationContext;
19
19
  return yield* SynchronizedRef.modifyEffect(ctx.wasTransactionExecuted, Effect.fn(function* (wasTransactionExecuted) {
20
20
  if (wasTransactionExecuted) {
@@ -24,7 +24,7 @@ export const guard = (effect) => Effect.gen(function* () {
24
24
  return [result, true];
25
25
  }));
26
26
  });
27
- export const finalize = (effect) => Effect.gen(function* () {
27
+ export const finalize = Effect.fn(function* (effect) {
28
28
  const { wasTransactionExecuted } = yield* ServerSynchronizationContext;
29
29
  return yield* effect.pipe(
30
30
  // Case #2 "One transaction then fail"
@@ -1 +1 @@
1
- {"version":3,"file":"server-synchronization-context.js","sourceRoot":"","sources":["../../src/internal/server-synchronization-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,OAAO,4BAA6B,SAAQ,OAAO,CAAC,OAAO,EAAgC,CAC/F,QAAQ,CAAC,8BAA8B,CAAC,EACxC;IACE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACxB,OAAO;YACL,sBAAsB,EAAE,KAAK,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;SAC3D,CAAC;IACJ,CAAC,CAAC;CACH,CACF;CAAG;AAEJ,MAAM,CAAC,MAAM,KAAK,GAA8C,KAAK,CAAC,MAAM,CAAC,4BAA4B,CAAC,CACxG,4BAA4B,CAAC,IAAI,CAClC,CAAC;AAEF,uHAAuH;AACvH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAU,MAA8B,EAAE,EAAE,CAC/D,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,4BAA4B,CAAC;IAChD,OAAO,KAAK,CAAC,CAAC,eAAe,CAAC,YAAY,CACxC,GAAG,CAAC,sBAAsB,EAC1B,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,sBAAsB;QACzC,IAAI,sBAAsB,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC,CAAC,IAAI,yBAAyB,EAAE,CAAC;QAChD,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC;QAC7B,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACxB,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAU,MAA8B,EAAE,EAAE,CAClE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,EAAE,sBAAsB,EAAE,GAAG,KAAK,CAAC,CAAC,4BAA4B,CAAC;IAEvE,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI;IACvB,sCAAsC;IACtC,yGAAyG;IACzG,MAAM,CAAC,UAAU,CACf,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACvD,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,sDAAsD,EAAE,CAAC,CAAC,CAAC;QAC3F,CAAC;QACD,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CACH;IACD,2CAA2C;IAC3C,8DAA8D;IAC9D,MAAM,CAAC,GAAG,CACR,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC;YAC1D,OAAO,KAAK,CAAC,CAAC,IAAI,kBAAkB,EAAE,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CACH,CACF,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"server-synchronization-context.js","sourceRoot":"","sources":["../../src/internal/server-synchronization-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,OAAO,4BAA6B,SAAQ,OAAO,CAAC,OAAO,EAAgC,CAC/F,QAAQ,CAAC,8BAA8B,CAAC,EACxC;IACE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACxB,OAAO;YACL,sBAAsB,EAAE,KAAK,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;SAC3D,CAAC;IACJ,CAAC,CAAC;CACH,CACF;CAAG;AAEJ,MAAM,CAAC,MAAM,KAAK,GAA8C,KAAK,CAAC,MAAM,CAAC,4BAA4B,CAAC,CACxG,4BAA4B,CAAC,IAAI,CAClC,CAAC;AAEF,uHAAuH;AACvH,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAW,MAA8B;IAC/E,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,4BAA4B,CAAC;IAChD,OAAO,KAAK,CAAC,CAAC,eAAe,CAAC,YAAY,CACxC,GAAG,CAAC,sBAAsB,EAC1B,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,sBAAsB;QACzC,IAAI,sBAAsB,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC,CAAC,IAAI,yBAAyB,EAAE,CAAC;QAChD,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC;QAC7B,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACxB,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAW,MAA8B;IAClF,MAAM,EAAE,sBAAsB,EAAE,GAAG,KAAK,CAAC,CAAC,4BAA4B,CAAC;IAEvE,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI;IACvB,sCAAsC;IACtC,yGAAyG;IACzG,MAAM,CAAC,UAAU,CACf,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC;YACvD,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,sDAAsD,EAAE,CAAC,CAAC,CAAC;QAC3F,CAAC;QACD,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CACH;IACD,2CAA2C;IAC3C,8DAA8D;IAC9D,MAAM,CAAC,GAAG,CACR,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC;YAC1D,OAAO,KAAK,CAAC,CAAC,IAAI,kBAAkB,EAAE,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CACH,CACF,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,44 +1,29 @@
1
- import type { TransactionProviderInput } from "@rocicorp/zero/server";
2
- import * as Context from "effect/Context";
3
- declare const ServerTransactionInput_base: Context.ServiceClass<ServerTransactionInput, "effect-zero/ServerTransactionInput", TransactionProviderInput>;
4
- export declare class ServerTransactionInput extends ServerTransactionInput_base {
5
- }
6
- declare const NoTransactionError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
1
+ import type * as Cause from "effect/Cause";
2
+ declare const NoTransactionError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Cause.YieldableError & {
7
3
  readonly _tag: "NoTransactionError";
8
4
  } & Readonly<A>;
9
5
  export declare class NoTransactionError extends NoTransactionError_base {
10
6
  message: string;
11
7
  }
12
- declare const MultipleTransactionsError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
8
+ declare const MultipleTransactionsError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Cause.YieldableError & {
13
9
  readonly _tag: "MultipleTransactionsError";
14
10
  } & Readonly<A>;
15
11
  export declare class MultipleTransactionsError extends MultipleTransactionsError_base {
16
12
  }
17
- declare const OutOfOrderMutationErrorTypeId: unique symbol;
18
- declare const OutOfOrderMutationError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
19
- readonly _tag: "OutOfOrderMutationError";
13
+ declare const TransactInternalErrorTypeId: unique symbol;
14
+ declare const TransactInternalError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Cause.YieldableError & {
15
+ readonly _tag: "TransactInternalError";
20
16
  } & Readonly<A>;
21
- export declare class OutOfOrderMutationError extends OutOfOrderMutationError_base<{
22
- readonly clientID: string;
23
- readonly receivedMutationID: number;
24
- readonly lastMutationID: number | bigint;
17
+ export declare class TransactInternalError extends TransactInternalError_base<{
18
+ readonly cause: Cause.Cause<unknown>;
25
19
  }> {
26
- readonly [OutOfOrderMutationErrorTypeId]: symbol;
27
- get message(): string;
28
- static is(e: unknown): e is OutOfOrderMutationError;
20
+ readonly [TransactInternalErrorTypeId]: symbol;
21
+ static is(e: unknown): e is TransactInternalError;
29
22
  }
30
- declare const MutationAlreadyProcessedErrorTypeId: unique symbol;
31
- declare const MutationAlreadyProcessedError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
32
- readonly _tag: "MutationAlreadyProcessedError";
23
+ declare const TransactCallbackNotInvokedError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Cause.YieldableError & {
24
+ readonly _tag: "TransactCallbackNotInvokedError";
33
25
  } & Readonly<A>;
34
- export declare class MutationAlreadyProcessedError extends MutationAlreadyProcessedError_base<{
35
- readonly clientID: string;
36
- readonly received: number;
37
- readonly actual: number | bigint;
38
- }> {
39
- readonly [MutationAlreadyProcessedErrorTypeId]: symbol;
40
- get message(): string;
41
- static is(e: unknown): e is MutationAlreadyProcessedError;
26
+ export declare class TransactCallbackNotInvokedError extends TransactCallbackNotInvokedError_base {
42
27
  }
43
28
  export {};
44
29
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/internal/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;;AAK1C,qBAAa,sBAAuB,SAAQ,2BAE3C;CAAG;;;;AAEJ,qBAAa,kBAAmB,SAAQ,uBAAsC;IAC5E,OAAO,SAAuE;CAC/E;;;;AACD,qBAAa,yBAA0B,SAAQ,8BAA6C;CAAG;AAE/F,QAAA,MAAM,6BAA6B,eAAkD,CAAC;;;;AACtF,qBAAa,uBAAwB,SAAQ,6BAA4C;IACvF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1C,CAAC;IACA,QAAQ,CAAC,CAAC,6BAA6B,CAAC,SAAiC;IACzE,IAAa,OAAO,WAEnB;IACD,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,uBAAuB;CAGpD;AAED,QAAA,MAAM,mCAAmC,eAAwD,CAAC;;;;AAClG,qBAAa,6BAA8B,SAAQ,mCAAkD;IACnG,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CAClC,CAAC;IACA,QAAQ,CAAC,CAAC,mCAAmC,CAAC,SAAuC;IACrF,IAAa,OAAO,WAEnB;IACD,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,6BAA6B;CAG1D"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/internal/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;;;;AAK3C,qBAAa,kBAAmB,SAAQ,uBAAsC;IAC5E,OAAO,SAAuE;CAC/E;;;;AACD,qBAAa,yBAA0B,SAAQ,8BAA6C;CAAG;AAE/F,QAAA,MAAM,2BAA2B,eAAgD,CAAC;;;;AAClF,qBAAa,qBAAsB,SAAQ,2BAA0C;IACnF,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;CACtC,CAAC;IACA,QAAQ,CAAC,CAAC,2BAA2B,CAAC,SAA+B;IACrE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,qBAAqB;CAGlD;;;;AAED,qBAAa,+BAAgC,SAAQ,oCAAmD;CAAG"}
@@ -1,32 +1,18 @@
1
- import * as Context from "effect/Context";
2
1
  import * as Data from "effect/Data";
3
2
  import * as Predicate from "effect/Predicate";
4
3
  import { prefixId } from "./utils.js";
5
- export class ServerTransactionInput extends Context.Service()(prefixId("ServerTransactionInput")) {
6
- }
7
4
  export class NoTransactionError extends Data.TaggedError("NoTransactionError") {
8
5
  message = "No transaction detected in a mutation, a transaction is required.";
9
6
  }
10
7
  export class MultipleTransactionsError extends Data.TaggedError("MultipleTransactionsError") {
11
8
  }
12
- const OutOfOrderMutationErrorTypeId = Symbol.for(prefixId("OutOfOrderMutationError"));
13
- export class OutOfOrderMutationError extends Data.TaggedError("OutOfOrderMutationError") {
14
- [OutOfOrderMutationErrorTypeId] = OutOfOrderMutationErrorTypeId;
15
- get message() {
16
- return `Client ${this.clientID} sent mutation ID ${this.receivedMutationID} but expected ${this.lastMutationID}`;
17
- }
9
+ const TransactInternalErrorTypeId = Symbol.for(prefixId("TransactInternalError"));
10
+ export class TransactInternalError extends Data.TaggedError("TransactInternalError") {
11
+ [TransactInternalErrorTypeId] = TransactInternalErrorTypeId;
18
12
  static is(e) {
19
- return Predicate.hasProperty(e, OutOfOrderMutationErrorTypeId);
13
+ return Predicate.hasProperty(e, TransactInternalErrorTypeId);
20
14
  }
21
15
  }
22
- const MutationAlreadyProcessedErrorTypeId = Symbol.for(prefixId("MutationAlreadyProcessedError"));
23
- export class MutationAlreadyProcessedError extends Data.TaggedError("MutationAlreadyProcessedError") {
24
- [MutationAlreadyProcessedErrorTypeId] = MutationAlreadyProcessedErrorTypeId;
25
- get message() {
26
- return `Ignoring mutation from ${this.clientID} with ID ${this.received} as it was already processed. Expected: ${this.actual}`;
27
- }
28
- static is(e) {
29
- return Predicate.hasProperty(e, MutationAlreadyProcessedErrorTypeId);
30
- }
16
+ export class TransactCallbackNotInvokedError extends Data.TaggedError("TransactCallbackNotInvokedError") {
31
17
  }
32
18
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/internal/server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,OAAO,sBAAuB,SAAQ,OAAO,CAAC,OAAO,EAAoD,CAC7G,QAAQ,CAAC,wBAAwB,CAAC,CACnC;CAAG;AAEJ,MAAM,OAAO,kBAAmB,SAAQ,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC;IAC5E,OAAO,GAAG,mEAAmE,CAAC;CAC/E;AACD,MAAM,OAAO,yBAA0B,SAAQ,IAAI,CAAC,WAAW,CAAC,2BAA2B,CAAC;CAAG;AAE/F,MAAM,6BAA6B,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC,CAAC;AACtF,MAAM,OAAO,uBAAwB,SAAQ,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAIrF;IACS,CAAC,6BAA6B,CAAC,GAAG,6BAA6B,CAAC;IACzE,IAAa,OAAO;QAClB,OAAO,UAAU,IAAI,CAAC,QAAQ,qBAAqB,IAAI,CAAC,kBAAkB,iBAAiB,IAAI,CAAC,cAAc,EAAE,CAAC;IACnH,CAAC;IACD,MAAM,CAAC,EAAE,CAAC,CAAU;QAClB,OAAO,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,6BAA6B,CAAC,CAAC;IACjE,CAAC;CACF;AAED,MAAM,mCAAmC,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,CAAC;AAClG,MAAM,OAAO,6BAA8B,SAAQ,IAAI,CAAC,WAAW,CAAC,+BAA+B,CAIjG;IACS,CAAC,mCAAmC,CAAC,GAAG,mCAAmC,CAAC;IACrF,IAAa,OAAO;QAClB,OAAO,0BAA0B,IAAI,CAAC,QAAQ,YAAY,IAAI,CAAC,QAAQ,2CAA2C,IAAI,CAAC,MAAM,EAAE,CAAC;IAClI,CAAC;IACD,MAAM,CAAC,EAAE,CAAC,CAAU;QAClB,OAAO,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,mCAAmC,CAAC,CAAC;IACvE,CAAC;CACF"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/internal/server.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,OAAO,kBAAmB,SAAQ,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC;IAC5E,OAAO,GAAG,mEAAmE,CAAC;CAC/E;AACD,MAAM,OAAO,yBAA0B,SAAQ,IAAI,CAAC,WAAW,CAAC,2BAA2B,CAAC;CAAG;AAE/F,MAAM,2BAA2B,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC;AAClF,MAAM,OAAO,qBAAsB,SAAQ,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAEjF;IACS,CAAC,2BAA2B,CAAC,GAAG,2BAA2B,CAAC;IACrE,MAAM,CAAC,EAAE,CAAC,CAAU;QAClB,OAAO,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,2BAA2B,CAAC,CAAC;IAC/D,CAAC;CACF;AAED,MAAM,OAAO,+BAAgC,SAAQ,IAAI,CAAC,WAAW,CAAC,iCAAiC,CAAC;CAAG"}
@@ -1,14 +1,16 @@
1
1
  import { describe, it } from "@effect/vitest";
2
- import { assertExitFailure } from "@effect/vitest/utils";
3
2
  import * as Cause from "effect/Cause";
4
3
  import * as Effect from "effect/Effect";
5
4
  import * as Exit from "effect/Exit";
6
5
  import { NoTransactionError } from "./server.js";
7
6
  import * as ServerSynchronizationContext from "./server-synchronization-context.js";
8
7
  describe("ServerSynchronizationContext", () => {
9
- it.effect("finalize should return NoTransactionError when called without guard", () => Effect.gen(function* () {
8
+ it.effect("finalize should return NoTransactionError when called without guard", Effect.fn(function* ({ expect }) {
10
9
  const result = yield* Effect.void.pipe(ServerSynchronizationContext.finalize, Effect.provide(ServerSynchronizationContext.layer), Effect.exit);
11
- assertExitFailure(result, Cause.fail(new NoTransactionError()));
10
+ expect(Exit.isFailure(result)).toBe(true);
11
+ if (Exit.isFailure(result)) {
12
+ expect(Cause.squash(result.cause)).toBeInstanceOf(NoTransactionError);
13
+ }
12
14
  }));
13
15
  it.effect("finalize shouldn't return errors when called with guard", Effect.fn(function* ({ expect }) {
14
16
  const result = yield* Effect.void.pipe(ServerSynchronizationContext.guard, ServerSynchronizationContext.finalize, Effect.provide(ServerSynchronizationContext.layer), Effect.exit);
@@ -1 +1 @@
1
- {"version":3,"file":"server.test.js","sourceRoot":"","sources":["../../src/internal/server.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,4BAA4B,MAAM,qCAAqC,CAAC;AAEpF,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,MAAM,CAAC,qEAAqE,EAAE,GAAG,EAAE,CACpF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CACpC,4BAA4B,CAAC,QAAQ,EACrC,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,KAAK,CAAC,EAClD,MAAM,CAAC,IAAI,CACZ,CAAC;QACF,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,kBAAkB,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC,CACH,CAAC;IAEF,EAAE,CAAC,MAAM,CACP,yDAAyD,EACzD,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE;QAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CACpC,4BAA4B,CAAC,KAAK,EAClC,4BAA4B,CAAC,QAAQ,EACrC,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,KAAK,CAAC,EAClD,MAAM,CAAC,IAAI,CACZ,CAAC;QACF,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"server.test.js","sourceRoot":"","sources":["../../src/internal/server.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,4BAA4B,MAAM,qCAAqC,CAAC;AAEpF,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,MAAM,CACP,qEAAqE,EACrE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE;QAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CACpC,4BAA4B,CAAC,QAAQ,EACrC,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,KAAK,CAAC,EAClD,MAAM,CAAC,IAAI,CACZ,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACxE,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IAEF,EAAE,CAAC,MAAM,CACP,yDAAyD,EACzD,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE;QAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CACpC,4BAA4B,CAAC,KAAK,EAClC,4BAA4B,CAAC,QAAQ,EACrC,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,KAAK,CAAC,EAClD,MAAM,CAAC,IAAI,CACZ,CAAC;QACF,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,183 +1,156 @@
1
1
  import type { Schema as ZeroSchema, ServerTransaction as ZeroServerTransaction } from "@rocicorp/zero";
2
- import type { TransactionProviderHooks, ZQLDatabase } from "@rocicorp/zero/server";
2
+ import type { ZQLDatabase } from "@rocicorp/zero/server";
3
3
  import * as Cause from "effect/Cause";
4
4
  import * as Ctx from "effect/Context";
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 type * as ClientTransaction from "./client-transaction.js";
9
- import { MutationAlreadyProcessedError, OutOfOrderMutationError, ServerTransactionInput } from "./internal/server.js";
10
- import * as ServerSynchronizationContext from "./internal/server-synchronization-context.js";
8
+ import * as ClientTransaction from "./client-transaction.js";
9
+ import type { MultipleTransactionsError, TransactCallbackNotInvokedError, TransactInternalError } from "./internal/server.js";
10
+ import type * as ServerSynchronizationContext from "./internal/server-synchronization-context.js";
11
+ export declare const DatabaseSymbol: unique symbol;
12
+ export declare const ServerTransactionCallbackSymbol: unique symbol;
11
13
  export type Context<TSchema extends ZeroSchema, TTransaction> = ReturnType<typeof make<any, TSchema, TTransaction>>;
12
14
  export declare const make: <const Id extends string, TSchema extends ZeroSchema, TTransaction>(id: Id, database: ZQLDatabase<TSchema, TTransaction>, clientTransaction: ClientTransaction.Context<TSchema>) => {
13
- Context: {
15
+ use: <A>(fn: (transaction: ZeroServerTransaction<TSchema, TTransaction>, options: {
16
+ readonly signal: AbortSignal;
17
+ }) => PromiseLike<A>) => Effect.Effect<A, TransactionUseError, {
18
+ readonly Service: ZeroServerTransaction<TSchema, TTransaction>;
19
+ readonly key: `${string}/ServerTransactionContext`;
20
+ readonly "~effect/Context/Service": typeof Ctx.ServiceTypeId;
21
+ }>;
22
+ execute: <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, MultipleTransactionsError | TransactInternalError | TransactCallbackNotInvokedError | E, ServerSynchronizationContext.ServerSynchronizationContext | {
23
+ readonly Service: {
24
+ readonly transact: <A_1, E_1, R_1>(fn: (transaction: ZeroServerTransaction<TSchema, TTransaction>) => Effect.Effect<A_1, E_1, R_1>) => Effect.Effect<A_1, E_1 | TransactInternalError | TransactCallbackNotInvokedError | MultipleTransactionsError, R_1 | ServerSynchronizationContext.ServerSynchronizationContext>;
25
+ };
26
+ readonly key: `${string}/ServerTransactionCallback`;
27
+ readonly "~effect/Context/Service": typeof Ctx.ServiceTypeId;
28
+ } | Exclude<R, {
29
+ readonly Service: ZeroServerTransaction<TSchema, TTransaction>;
30
+ readonly key: `${string}/ServerTransactionContext`;
31
+ readonly "~effect/Context/Service": typeof Ctx.ServiceTypeId;
32
+ } | {
33
+ readonly Service: import("@rocicorp/zero").Transaction<TSchema>;
34
+ readonly key: any;
35
+ readonly "~effect/Context/Service": typeof Ctx.ServiceTypeId;
36
+ }>>;
37
+ [DatabaseSymbol]: ZQLDatabase<TSchema, TTransaction>;
38
+ [ServerTransactionCallbackSymbol]: {
14
39
  new (_: never): {
15
40
  readonly Service: {
16
- transaction: ZeroServerTransaction<TSchema, TTransaction>;
17
- transactionHooks: TransactionProviderHooks;
41
+ readonly transact: <A, E_1, R_1>(fn: (transaction: ZeroServerTransaction<TSchema, TTransaction>) => Effect.Effect<A, E_1, R_1>) => Effect.Effect<A, E_1 | TransactInternalError | TransactCallbackNotInvokedError | MultipleTransactionsError, R_1 | ServerSynchronizationContext.ServerSynchronizationContext>;
18
42
  };
19
- readonly key: `${string}/ServerTransactionContext`;
43
+ readonly key: `${string}/ServerTransactionCallback`;
20
44
  readonly "~effect/Context/Service": typeof Ctx.ServiceTypeId;
21
45
  };
22
- readonly key: `${string}/ServerTransactionContext`;
46
+ readonly key: `${string}/ServerTransactionCallback`;
23
47
  of(this: void, self: {
24
- transaction: ZeroServerTransaction<TSchema, TTransaction>;
25
- transactionHooks: TransactionProviderHooks;
48
+ readonly transact: <A, E_1, R_1>(fn: (transaction: ZeroServerTransaction<TSchema, TTransaction>) => Effect.Effect<A, E_1, R_1>) => Effect.Effect<A, E_1 | TransactInternalError | TransactCallbackNotInvokedError | MultipleTransactionsError, R_1 | ServerSynchronizationContext.ServerSynchronizationContext>;
26
49
  }): {
27
- transaction: ZeroServerTransaction<TSchema, TTransaction>;
28
- transactionHooks: TransactionProviderHooks;
50
+ readonly transact: <A, E_1, R_1>(fn: (transaction: ZeroServerTransaction<TSchema, TTransaction>) => Effect.Effect<A, E_1, R_1>) => Effect.Effect<A, E_1 | TransactInternalError | TransactCallbackNotInvokedError | MultipleTransactionsError, R_1 | ServerSynchronizationContext.ServerSynchronizationContext>;
29
51
  };
30
52
  context(self: {
31
- transaction: ZeroServerTransaction<TSchema, TTransaction>;
32
- transactionHooks: TransactionProviderHooks;
53
+ readonly transact: <A, E_1, R_1>(fn: (transaction: ZeroServerTransaction<TSchema, TTransaction>) => Effect.Effect<A, E_1, R_1>) => Effect.Effect<A, E_1 | TransactInternalError | TransactCallbackNotInvokedError | MultipleTransactionsError, R_1 | ServerSynchronizationContext.ServerSynchronizationContext>;
33
54
  }): Ctx.Context<{
34
55
  readonly Service: {
35
- transaction: ZeroServerTransaction<TSchema, TTransaction>;
36
- transactionHooks: TransactionProviderHooks;
56
+ readonly transact: <A, E_1, R_1>(fn: (transaction: ZeroServerTransaction<TSchema, TTransaction>) => Effect.Effect<A, E_1, R_1>) => Effect.Effect<A, E_1 | TransactInternalError | TransactCallbackNotInvokedError | MultipleTransactionsError, R_1 | ServerSynchronizationContext.ServerSynchronizationContext>;
37
57
  };
38
- readonly key: `${string}/ServerTransactionContext`;
58
+ readonly key: `${string}/ServerTransactionCallback`;
39
59
  readonly "~effect/Context/Service": typeof Ctx.ServiceTypeId;
40
60
  }>;
41
- use<A, E, R>(f: (service: {
42
- transaction: ZeroServerTransaction<TSchema, TTransaction>;
43
- transactionHooks: TransactionProviderHooks;
44
- }) => Effect.Effect<A, E, R>): Effect.Effect<A, E, {
61
+ use<A, E_2, R_2>(f: (service: {
62
+ readonly transact: <A_1, E_3, R_3>(fn: (transaction: ZeroServerTransaction<TSchema, TTransaction>) => Effect.Effect<A_1, E_3, R_3>) => Effect.Effect<A_1, E_3 | TransactInternalError | TransactCallbackNotInvokedError | MultipleTransactionsError, R_3 | ServerSynchronizationContext.ServerSynchronizationContext>;
63
+ }) => Effect.Effect<A, E_2, R_2>): Effect.Effect<A, E_2, {
45
64
  readonly Service: {
46
- transaction: ZeroServerTransaction<TSchema, TTransaction>;
47
- transactionHooks: TransactionProviderHooks;
65
+ readonly transact: <A_1, E_3, R_3>(fn: (transaction: ZeroServerTransaction<TSchema, TTransaction>) => Effect.Effect<A_1, E_3, R_3>) => Effect.Effect<A_1, E_3 | TransactInternalError | TransactCallbackNotInvokedError | MultipleTransactionsError, R_3 | ServerSynchronizationContext.ServerSynchronizationContext>;
48
66
  };
49
- readonly key: `${string}/ServerTransactionContext`;
67
+ readonly key: `${string}/ServerTransactionCallback`;
50
68
  readonly "~effect/Context/Service": typeof Ctx.ServiceTypeId;
51
- } | R>;
69
+ } | R_2>;
52
70
  useSync<A>(f: (service: {
53
- transaction: ZeroServerTransaction<TSchema, TTransaction>;
54
- transactionHooks: TransactionProviderHooks;
71
+ readonly transact: <A_1, E_1, R_1>(fn: (transaction: ZeroServerTransaction<TSchema, TTransaction>) => Effect.Effect<A_1, E_1, R_1>) => Effect.Effect<A_1, E_1 | TransactInternalError | TransactCallbackNotInvokedError | MultipleTransactionsError, R_1 | ServerSynchronizationContext.ServerSynchronizationContext>;
55
72
  }) => A): Effect.Effect<A, never, {
56
73
  readonly Service: {
57
- transaction: ZeroServerTransaction<TSchema, TTransaction>;
58
- transactionHooks: TransactionProviderHooks;
74
+ readonly transact: <A_1, E_1, R_1>(fn: (transaction: ZeroServerTransaction<TSchema, TTransaction>) => Effect.Effect<A_1, E_1, R_1>) => Effect.Effect<A_1, E_1 | TransactInternalError | TransactCallbackNotInvokedError | MultipleTransactionsError, R_1 | ServerSynchronizationContext.ServerSynchronizationContext>;
59
75
  };
60
- readonly key: `${string}/ServerTransactionContext`;
76
+ readonly key: `${string}/ServerTransactionCallback`;
61
77
  readonly "~effect/Context/Service": typeof Ctx.ServiceTypeId;
62
78
  }>;
63
79
  readonly Identifier: {
64
80
  readonly Service: {
65
- transaction: ZeroServerTransaction<TSchema, TTransaction>;
66
- transactionHooks: TransactionProviderHooks;
81
+ readonly transact: <A, E_1, R_1>(fn: (transaction: ZeroServerTransaction<TSchema, TTransaction>) => Effect.Effect<A, E_1, R_1>) => Effect.Effect<A, E_1 | TransactInternalError | TransactCallbackNotInvokedError | MultipleTransactionsError, R_1 | ServerSynchronizationContext.ServerSynchronizationContext>;
67
82
  };
68
- readonly key: `${string}/ServerTransactionContext`;
83
+ readonly key: `${string}/ServerTransactionCallback`;
69
84
  readonly "~effect/Context/Service": typeof Ctx.ServiceTypeId;
70
85
  };
71
86
  readonly Service: {
72
- transaction: ZeroServerTransaction<TSchema, TTransaction>;
73
- transactionHooks: TransactionProviderHooks;
87
+ readonly transact: <A, E_1, R_1>(fn: (transaction: ZeroServerTransaction<TSchema, TTransaction>) => Effect.Effect<A, E_1, R_1>) => Effect.Effect<A, E_1 | TransactInternalError | TransactCallbackNotInvokedError | MultipleTransactionsError, R_1 | ServerSynchronizationContext.ServerSynchronizationContext>;
74
88
  };
75
89
  readonly stack?: string | undefined;
76
90
  readonly "~effect/Context/Service": Ctx.ServiceTypeId;
77
91
  readonly "~effect/Effect": Effect.Variance<{
78
- transaction: ZeroServerTransaction<TSchema, TTransaction>;
79
- transactionHooks: TransactionProviderHooks;
92
+ readonly transact: <A, E_1, R_1>(fn: (transaction: ZeroServerTransaction<TSchema, TTransaction>) => Effect.Effect<A, E_1, R_1>) => Effect.Effect<A, E_1 | TransactInternalError | TransactCallbackNotInvokedError | MultipleTransactionsError, R_1 | ServerSynchronizationContext.ServerSynchronizationContext>;
80
93
  }, never, {
81
94
  readonly Service: {
82
- transaction: ZeroServerTransaction<TSchema, TTransaction>;
83
- transactionHooks: TransactionProviderHooks;
95
+ readonly transact: <A, E_1, R_1>(fn: (transaction: ZeroServerTransaction<TSchema, TTransaction>) => Effect.Effect<A, E_1, R_1>) => Effect.Effect<A, E_1 | TransactInternalError | TransactCallbackNotInvokedError | MultipleTransactionsError, R_1 | ServerSynchronizationContext.ServerSynchronizationContext>;
84
96
  };
85
- readonly key: `${string}/ServerTransactionContext`;
97
+ readonly key: `${string}/ServerTransactionCallback`;
86
98
  readonly "~effect/Context/Service": typeof Ctx.ServiceTypeId;
87
99
  }>;
88
100
  [Symbol.iterator](): Effect.EffectIterator<Effect.Effect<{
89
- transaction: ZeroServerTransaction<TSchema, TTransaction>;
90
- transactionHooks: TransactionProviderHooks;
101
+ readonly transact: <A, E_1, R_1>(fn: (transaction: ZeroServerTransaction<TSchema, TTransaction>) => Effect.Effect<A, E_1, R_1>) => Effect.Effect<A, E_1 | TransactInternalError | TransactCallbackNotInvokedError | MultipleTransactionsError, R_1 | ServerSynchronizationContext.ServerSynchronizationContext>;
91
102
  }, never, {
92
103
  readonly Service: {
93
- transaction: ZeroServerTransaction<TSchema, TTransaction>;
94
- transactionHooks: TransactionProviderHooks;
104
+ readonly transact: <A, E_1, R_1>(fn: (transaction: ZeroServerTransaction<TSchema, TTransaction>) => Effect.Effect<A, E_1, R_1>) => Effect.Effect<A, E_1 | TransactInternalError | TransactCallbackNotInvokedError | MultipleTransactionsError, R_1 | ServerSynchronizationContext.ServerSynchronizationContext>;
95
105
  };
96
- readonly key: `${string}/ServerTransactionContext`;
106
+ readonly key: `${string}/ServerTransactionCallback`;
97
107
  readonly "~effect/Context/Service": typeof Ctx.ServiceTypeId;
98
108
  }>>;
99
109
  [Unify.typeSymbol]?: unknown;
100
110
  [Unify.unifySymbol]?: Effect.EffectUnify<Ctx.ServiceClass<{
101
111
  readonly Service: {
102
- transaction: ZeroServerTransaction<TSchema, TTransaction>;
103
- transactionHooks: TransactionProviderHooks;
112
+ readonly transact: <A, E_1, R_1>(fn: (transaction: ZeroServerTransaction<TSchema, TTransaction>) => Effect.Effect<A, E_1, R_1>) => Effect.Effect<A, E_1 | TransactInternalError | TransactCallbackNotInvokedError | MultipleTransactionsError, R_1 | ServerSynchronizationContext.ServerSynchronizationContext>;
104
113
  };
105
- readonly key: `${string}/ServerTransactionContext`;
114
+ readonly key: `${string}/ServerTransactionCallback`;
106
115
  readonly "~effect/Context/Service": typeof Ctx.ServiceTypeId;
107
- }, `${string}/ServerTransactionContext`, {
108
- transaction: ZeroServerTransaction<TSchema, TTransaction>;
109
- transactionHooks: TransactionProviderHooks;
116
+ }, `${string}/ServerTransactionCallback`, {
117
+ readonly transact: <A, E_1, R_1>(fn: (transaction: ZeroServerTransaction<TSchema, TTransaction>) => Effect.Effect<A, E_1, R_1>) => Effect.Effect<A, E_1 | TransactInternalError | TransactCallbackNotInvokedError | MultipleTransactionsError, R_1 | ServerSynchronizationContext.ServerSynchronizationContext>;
110
118
  }>> | undefined;
111
119
  [Unify.ignoreSymbol]?: {};
112
120
  pipe<A>(this: A): A;
113
121
  pipe<A, B = never>(this: A, ab: (_: A) => B): B;
114
122
  pipe<A, B_1 = never, C = never>(this: A, ab: (_: A) => B_1, bc: (_: B_1) => C): C;
115
123
  pipe<A, B_2 = never, C_1 = never, D = never>(this: A, ab: (_: A) => B_2, bc: (_: B_2) => C_1, cd: (_: C_1) => D): D;
116
- pipe<A, B_3 = never, C_2 = never, D_1 = never, E_1 = never>(this: A, ab: (_: A) => B_3, bc: (_: B_3) => C_2, cd: (_: C_2) => D_1, de: (_: D_1) => E_1): E_1;
117
- pipe<A, B_4 = never, C_3 = never, D_2 = never, E_2 = never, F = never>(this: A, ab: (_: A) => B_4, bc: (_: B_4) => C_3, cd: (_: C_3) => D_2, de: (_: D_2) => E_2, ef: (_: E_2) => F): F;
118
- pipe<A, B_5 = never, C_4 = never, D_3 = never, E_3 = never, F_1 = never, G = never>(this: A, ab: (_: A) => B_5, bc: (_: B_5) => C_4, cd: (_: C_4) => D_3, de: (_: D_3) => E_3, ef: (_: E_3) => F_1, fg: (_: F_1) => G): G;
119
- pipe<A, B_6 = never, C_5 = never, D_4 = never, E_4 = never, F_2 = never, G_1 = never, H = never>(this: A, ab: (_: A) => B_6, bc: (_: B_6) => C_5, cd: (_: C_5) => D_4, de: (_: D_4) => E_4, ef: (_: E_4) => F_2, fg: (_: F_2) => G_1, gh: (_: G_1) => H): H;
120
- pipe<A, B_7 = never, C_6 = never, D_5 = never, E_5 = never, F_3 = never, G_2 = never, H_1 = never, I = never>(this: A, ab: (_: A) => B_7, bc: (_: B_7) => C_6, cd: (_: C_6) => D_5, de: (_: D_5) => E_5, ef: (_: E_5) => F_3, fg: (_: F_3) => G_2, gh: (_: G_2) => H_1, hi: (_: H_1) => I): I;
121
- pipe<A, B_8 = never, C_7 = never, D_6 = never, E_6 = never, F_4 = never, G_3 = never, H_2 = never, I_1 = never, J = never>(this: A, ab: (_: A) => B_8, bc: (_: B_8) => C_7, cd: (_: C_7) => D_6, de: (_: D_6) => E_6, ef: (_: E_6) => F_4, fg: (_: F_4) => G_3, gh: (_: G_3) => H_2, hi: (_: H_2) => I_1, ij: (_: I_1) => J): J;
122
- pipe<A, B_9 = never, C_8 = never, D_7 = never, E_7 = never, F_5 = never, G_4 = never, H_3 = never, I_2 = never, J_1 = never, K = never>(this: A, ab: (_: A) => B_9, bc: (_: B_9) => C_8, cd: (_: C_8) => D_7, de: (_: D_7) => E_7, ef: (_: E_7) => F_5, fg: (_: F_5) => G_4, gh: (_: G_4) => H_3, hi: (_: H_3) => I_2, ij: (_: I_2) => J_1, jk: (_: J_1) => K): K;
123
- pipe<A, B_10 = never, C_9 = never, D_8 = never, E_8 = never, F_6 = never, G_5 = never, H_4 = never, I_3 = never, J_2 = never, K_1 = never, L = never>(this: A, ab: (_: A) => B_10, bc: (_: B_10) => C_9, cd: (_: C_9) => D_8, de: (_: D_8) => E_8, ef: (_: E_8) => F_6, fg: (_: F_6) => G_5, gh: (_: G_5) => H_4, hi: (_: H_4) => I_3, ij: (_: I_3) => J_2, jk: (_: J_2) => K_1, kl: (_: K_1) => L): L;
124
- pipe<A, B_11 = never, C_10 = never, D_9 = never, E_9 = never, F_7 = never, G_6 = never, H_5 = never, I_4 = never, J_3 = never, K_2 = never, L_1 = never, M = never>(this: A, ab: (_: A) => B_11, bc: (_: B_11) => C_10, cd: (_: C_10) => D_9, de: (_: D_9) => E_9, ef: (_: E_9) => F_7, fg: (_: F_7) => G_6, gh: (_: G_6) => H_5, hi: (_: H_5) => I_4, ij: (_: I_4) => J_3, jk: (_: J_3) => K_2, kl: (_: K_2) => L_1, lm: (_: L_1) => M): M;
125
- pipe<A, B_12 = never, C_11 = never, D_10 = never, E_10 = never, F_8 = never, G_7 = never, H_6 = never, I_5 = never, J_4 = never, K_3 = never, L_2 = never, M_1 = never, N = never>(this: A, ab: (_: A) => B_12, bc: (_: B_12) => C_11, cd: (_: C_11) => D_10, de: (_: D_10) => E_10, ef: (_: E_10) => F_8, fg: (_: F_8) => G_7, gh: (_: G_7) => H_6, hi: (_: H_6) => I_5, ij: (_: I_5) => J_4, jk: (_: J_4) => K_3, kl: (_: K_3) => L_2, lm: (_: L_2) => M_1, mn: (_: M_1) => N): N;
126
- pipe<A, B_13 = never, C_12 = never, D_11 = never, E_11 = never, F_9 = never, G_8 = never, H_7 = never, I_6 = never, J_5 = never, K_4 = never, L_3 = never, M_2 = never, N_1 = never, O = never>(this: A, ab: (_: A) => B_13, bc: (_: B_13) => C_12, cd: (_: C_12) => D_11, de: (_: D_11) => E_11, ef: (_: E_11) => F_9, fg: (_: F_9) => G_8, gh: (_: G_8) => H_7, hi: (_: H_7) => I_6, ij: (_: I_6) => J_5, jk: (_: J_5) => K_4, kl: (_: K_4) => L_3, lm: (_: L_3) => M_2, mn: (_: M_2) => N_1, no: (_: N_1) => O): O;
127
- pipe<A, B_14 = never, C_13 = never, D_12 = never, E_12 = never, F_10 = never, G_9 = never, H_8 = never, I_7 = never, J_6 = never, K_5 = never, L_4 = never, M_3 = never, N_2 = never, O_1 = never, P = never>(this: A, ab: (_: A) => B_14, bc: (_: B_14) => C_13, cd: (_: C_13) => D_12, de: (_: D_12) => E_12, ef: (_: E_12) => F_10, fg: (_: F_10) => G_9, gh: (_: G_9) => H_8, hi: (_: H_8) => I_7, ij: (_: I_7) => J_6, jk: (_: J_6) => K_5, kl: (_: K_5) => L_4, lm: (_: L_4) => M_3, mn: (_: M_3) => N_2, no: (_: N_2) => O_1, op: (_: O_1) => P): P;
128
- pipe<A, B_15 = never, C_14 = never, D_13 = never, E_13 = never, F_11 = never, G_10 = never, H_9 = never, I_8 = never, J_7 = never, K_6 = never, L_5 = never, M_4 = never, N_3 = never, O_2 = never, P_1 = never, Q = never>(this: A, ab: (_: A) => B_15, bc: (_: B_15) => C_14, cd: (_: C_14) => D_13, de: (_: D_13) => E_13, ef: (_: E_13) => F_11, fg: (_: F_11) => G_10, gh: (_: G_10) => H_9, hi: (_: H_9) => I_8, ij: (_: I_8) => J_7, jk: (_: J_7) => K_6, kl: (_: K_6) => L_5, lm: (_: L_5) => M_4, mn: (_: M_4) => N_3, no: (_: N_3) => O_2, op: (_: O_2) => P_1, pq: (_: P_1) => Q): Q;
129
- pipe<A, B_16 = never, C_15 = never, D_14 = never, E_14 = never, F_12 = never, G_11 = never, H_10 = never, I_9 = never, J_8 = never, K_7 = never, L_6 = never, M_5 = never, N_4 = never, O_3 = never, P_2 = never, Q_1 = never, R_1 = never>(this: A, ab: (_: A) => B_16, bc: (_: B_16) => C_15, cd: (_: C_15) => D_14, de: (_: D_14) => E_14, ef: (_: E_14) => F_12, fg: (_: F_12) => G_11, gh: (_: G_11) => H_10, hi: (_: H_10) => I_9, ij: (_: I_9) => J_8, jk: (_: J_8) => K_7, kl: (_: K_7) => L_6, lm: (_: L_6) => M_5, mn: (_: M_5) => N_4, no: (_: N_4) => O_3, op: (_: O_3) => P_2, pq: (_: P_2) => Q_1, qr: (_: Q_1) => R_1): R_1;
130
- pipe<A, B_17 = never, C_16 = never, D_15 = never, E_15 = never, F_13 = never, G_12 = never, H_11 = never, I_10 = never, J_9 = never, K_8 = never, L_7 = never, M_6 = never, N_5 = never, O_4 = never, P_3 = never, Q_2 = never, R_2 = never, S = never>(this: A, ab: (_: A) => B_17, bc: (_: B_17) => C_16, cd: (_: C_16) => D_15, de: (_: D_15) => E_15, ef: (_: E_15) => F_13, fg: (_: F_13) => G_12, gh: (_: G_12) => H_11, hi: (_: H_11) => I_10, ij: (_: I_10) => J_9, jk: (_: J_9) => K_8, kl: (_: K_8) => L_7, lm: (_: L_7) => M_6, mn: (_: M_6) => N_5, no: (_: N_5) => O_4, op: (_: O_4) => P_3, pq: (_: P_3) => Q_2, qr: (_: Q_2) => R_2, rs: (_: R_2) => S): S;
131
- pipe<A, B_18 = never, C_17 = never, D_16 = never, E_16 = never, F_14 = never, G_13 = never, H_12 = never, I_11 = never, J_10 = never, K_9 = never, L_8 = never, M_7 = never, N_6 = never, O_5 = never, P_4 = never, Q_3 = never, R_3 = never, S_1 = never, T = never>(this: A, ab: (_: A) => B_18, bc: (_: B_18) => C_17, cd: (_: C_17) => D_16, de: (_: D_16) => E_16, ef: (_: E_16) => F_14, fg: (_: F_14) => G_13, gh: (_: G_13) => H_12, hi: (_: H_12) => I_11, ij: (_: I_11) => J_10, jk: (_: J_10) => K_9, kl: (_: K_9) => L_8, lm: (_: L_8) => M_7, mn: (_: M_7) => N_6, no: (_: N_6) => O_5, op: (_: O_5) => P_4, pq: (_: P_4) => Q_3, qr: (_: Q_3) => R_3, rs: (_: R_3) => S_1, st: (_: S_1) => T): T;
132
- pipe<A, B_19 = never, C_18 = never, D_17 = never, E_17 = never, F_15 = never, G_14 = never, H_13 = never, I_12 = never, J_11 = never, K_10 = never, L_9 = never, M_8 = never, N_7 = never, O_6 = never, P_5 = never, Q_4 = never, R_4 = never, S_2 = never, T_1 = never, U = never>(this: A, ab: (_: A) => B_19, bc: (_: B_19) => C_18, cd: (_: C_18) => D_17, de: (_: D_17) => E_17, ef: (_: E_17) => F_15, fg: (_: F_15) => G_14, gh: (_: G_14) => H_13, hi: (_: H_13) => I_12, ij: (_: I_12) => J_11, jk: (_: J_11) => K_10, kl: (_: K_10) => L_9, lm: (_: L_9) => M_8, mn: (_: M_8) => N_7, no: (_: N_7) => O_6, op: (_: O_6) => P_5, pq: (_: P_5) => Q_4, qr: (_: Q_4) => R_4, rs: (_: R_4) => S_2, st: (_: S_2) => T_1, tu: (_: T_1) => U): U;
133
- pipe<A, B_20 = never, C_19 = never, D_18 = never, E_18 = never, F_16 = never, G_15 = never, H_14 = never, I_13 = never, J_12 = never, K_11 = never, L_10 = never, M_9 = never, N_8 = never, O_7 = never, P_6 = never, Q_5 = never, R_5 = never, S_3 = never, T_2 = never, U_1 = never>(this: A, ab: (_: A) => B_20, bc: (_: B_20) => C_19, cd: (_: C_19) => D_18, de: (_: D_18) => E_18, ef: (_: E_18) => F_16, fg: (_: F_16) => G_15, gh: (_: G_15) => H_14, hi: (_: H_14) => I_13, ij: (_: I_13) => J_12, jk: (_: J_12) => K_11, kl: (_: K_11) => L_10, lm: (_: L_10) => M_9, mn: (_: M_9) => N_8, no: (_: N_8) => O_7, op: (_: O_7) => P_6, pq: (_: P_6) => Q_5, qr: (_: Q_5) => R_5, rs: (_: R_5) => S_3, st: (_: S_3) => T_2, tu: (_: T_2) => U_1): U_1;
124
+ pipe<A, B_3 = never, C_2 = never, D_1 = never, E_4 = never>(this: A, ab: (_: A) => B_3, bc: (_: B_3) => C_2, cd: (_: C_2) => D_1, de: (_: D_1) => E_4): E_4;
125
+ pipe<A, B_4 = never, C_3 = never, D_2 = never, E_5 = never, F = never>(this: A, ab: (_: A) => B_4, bc: (_: B_4) => C_3, cd: (_: C_3) => D_2, de: (_: D_2) => E_5, ef: (_: E_5) => F): F;
126
+ pipe<A, B_5 = never, C_4 = never, D_3 = never, E_6 = never, F_1 = never, G = never>(this: A, ab: (_: A) => B_5, bc: (_: B_5) => C_4, cd: (_: C_4) => D_3, de: (_: D_3) => E_6, ef: (_: E_6) => F_1, fg: (_: F_1) => G): G;
127
+ pipe<A, B_6 = never, C_5 = never, D_4 = never, E_7 = never, F_2 = never, G_1 = never, H = never>(this: A, ab: (_: A) => B_6, bc: (_: B_6) => C_5, cd: (_: C_5) => D_4, de: (_: D_4) => E_7, ef: (_: E_7) => F_2, fg: (_: F_2) => G_1, gh: (_: G_1) => H): H;
128
+ pipe<A, B_7 = never, C_6 = never, D_5 = never, E_8 = never, F_3 = never, G_2 = never, H_1 = never, I = never>(this: A, ab: (_: A) => B_7, bc: (_: B_7) => C_6, cd: (_: C_6) => D_5, de: (_: D_5) => E_8, ef: (_: E_8) => F_3, fg: (_: F_3) => G_2, gh: (_: G_2) => H_1, hi: (_: H_1) => I): I;
129
+ pipe<A, B_8 = never, C_7 = never, D_6 = never, E_9 = never, F_4 = never, G_3 = never, H_2 = never, I_1 = never, J = never>(this: A, ab: (_: A) => B_8, bc: (_: B_8) => C_7, cd: (_: C_7) => D_6, de: (_: D_6) => E_9, ef: (_: E_9) => F_4, fg: (_: F_4) => G_3, gh: (_: G_3) => H_2, hi: (_: H_2) => I_1, ij: (_: I_1) => J): J;
130
+ pipe<A, B_9 = never, C_8 = never, D_7 = never, E_10 = never, F_5 = never, G_4 = never, H_3 = never, I_2 = never, J_1 = never, K = never>(this: A, ab: (_: A) => B_9, bc: (_: B_9) => C_8, cd: (_: C_8) => D_7, de: (_: D_7) => E_10, ef: (_: E_10) => F_5, fg: (_: F_5) => G_4, gh: (_: G_4) => H_3, hi: (_: H_3) => I_2, ij: (_: I_2) => J_1, jk: (_: J_1) => K): K;
131
+ pipe<A, B_10 = never, C_9 = never, D_8 = never, E_11 = never, F_6 = never, G_5 = never, H_4 = never, I_3 = never, J_2 = never, K_1 = never, L = never>(this: A, ab: (_: A) => B_10, bc: (_: B_10) => C_9, cd: (_: C_9) => D_8, de: (_: D_8) => E_11, ef: (_: E_11) => F_6, fg: (_: F_6) => G_5, gh: (_: G_5) => H_4, hi: (_: H_4) => I_3, ij: (_: I_3) => J_2, jk: (_: J_2) => K_1, kl: (_: K_1) => L): L;
132
+ pipe<A, B_11 = never, C_10 = never, D_9 = never, E_12 = never, F_7 = never, G_6 = never, H_5 = never, I_4 = never, J_3 = never, K_2 = never, L_1 = never, M = never>(this: A, ab: (_: A) => B_11, bc: (_: B_11) => C_10, cd: (_: C_10) => D_9, de: (_: D_9) => E_12, ef: (_: E_12) => F_7, fg: (_: F_7) => G_6, gh: (_: G_6) => H_5, hi: (_: H_5) => I_4, ij: (_: I_4) => J_3, jk: (_: J_3) => K_2, kl: (_: K_2) => L_1, lm: (_: L_1) => M): M;
133
+ pipe<A, B_12 = never, C_11 = never, D_10 = never, E_13 = never, F_8 = never, G_7 = never, H_6 = never, I_5 = never, J_4 = never, K_3 = never, L_2 = never, M_1 = never, N = never>(this: A, ab: (_: A) => B_12, bc: (_: B_12) => C_11, cd: (_: C_11) => D_10, de: (_: D_10) => E_13, ef: (_: E_13) => F_8, fg: (_: F_8) => G_7, gh: (_: G_7) => H_6, hi: (_: H_6) => I_5, ij: (_: I_5) => J_4, jk: (_: J_4) => K_3, kl: (_: K_3) => L_2, lm: (_: L_2) => M_1, mn: (_: M_1) => N): N;
134
+ pipe<A, B_13 = never, C_12 = never, D_11 = never, E_14 = never, F_9 = never, G_8 = never, H_7 = never, I_6 = never, J_5 = never, K_4 = never, L_3 = never, M_2 = never, N_1 = never, O = never>(this: A, ab: (_: A) => B_13, bc: (_: B_13) => C_12, cd: (_: C_12) => D_11, de: (_: D_11) => E_14, ef: (_: E_14) => F_9, fg: (_: F_9) => G_8, gh: (_: G_8) => H_7, hi: (_: H_7) => I_6, ij: (_: I_6) => J_5, jk: (_: J_5) => K_4, kl: (_: K_4) => L_3, lm: (_: L_3) => M_2, mn: (_: M_2) => N_1, no: (_: N_1) => O): O;
135
+ pipe<A, B_14 = never, C_13 = never, D_12 = never, E_15 = never, F_10 = never, G_9 = never, H_8 = never, I_7 = never, J_6 = never, K_5 = never, L_4 = never, M_3 = never, N_2 = never, O_1 = never, P = never>(this: A, ab: (_: A) => B_14, bc: (_: B_14) => C_13, cd: (_: C_13) => D_12, de: (_: D_12) => E_15, ef: (_: E_15) => F_10, fg: (_: F_10) => G_9, gh: (_: G_9) => H_8, hi: (_: H_8) => I_7, ij: (_: I_7) => J_6, jk: (_: J_6) => K_5, kl: (_: K_5) => L_4, lm: (_: L_4) => M_3, mn: (_: M_3) => N_2, no: (_: N_2) => O_1, op: (_: O_1) => P): P;
136
+ pipe<A, B_15 = never, C_14 = never, D_13 = never, E_16 = never, F_11 = never, G_10 = never, H_9 = never, I_8 = never, J_7 = never, K_6 = never, L_5 = never, M_4 = never, N_3 = never, O_2 = never, P_1 = never, Q = never>(this: A, ab: (_: A) => B_15, bc: (_: B_15) => C_14, cd: (_: C_14) => D_13, de: (_: D_13) => E_16, ef: (_: E_16) => F_11, fg: (_: F_11) => G_10, gh: (_: G_10) => H_9, hi: (_: H_9) => I_8, ij: (_: I_8) => J_7, jk: (_: J_7) => K_6, kl: (_: K_6) => L_5, lm: (_: L_5) => M_4, mn: (_: M_4) => N_3, no: (_: N_3) => O_2, op: (_: O_2) => P_1, pq: (_: P_1) => Q): Q;
137
+ pipe<A, B_16 = never, C_15 = never, D_14 = never, E_17 = never, F_12 = never, G_11 = never, H_10 = never, I_9 = never, J_8 = never, K_7 = never, L_6 = never, M_5 = never, N_4 = never, O_3 = never, P_2 = never, Q_1 = never, R_4 = never>(this: A, ab: (_: A) => B_16, bc: (_: B_16) => C_15, cd: (_: C_15) => D_14, de: (_: D_14) => E_17, ef: (_: E_17) => F_12, fg: (_: F_12) => G_11, gh: (_: G_11) => H_10, hi: (_: H_10) => I_9, ij: (_: I_9) => J_8, jk: (_: J_8) => K_7, kl: (_: K_7) => L_6, lm: (_: L_6) => M_5, mn: (_: M_5) => N_4, no: (_: N_4) => O_3, op: (_: O_3) => P_2, pq: (_: P_2) => Q_1, qr: (_: Q_1) => R_4): R_4;
138
+ pipe<A, B_17 = never, C_16 = never, D_15 = never, E_18 = never, F_13 = never, G_12 = never, H_11 = never, I_10 = never, J_9 = never, K_8 = never, L_7 = never, M_6 = never, N_5 = never, O_4 = never, P_3 = never, Q_2 = never, R_5 = never, S = never>(this: A, ab: (_: A) => B_17, bc: (_: B_17) => C_16, cd: (_: C_16) => D_15, de: (_: D_15) => E_18, ef: (_: E_18) => F_13, fg: (_: F_13) => G_12, gh: (_: G_12) => H_11, hi: (_: H_11) => I_10, ij: (_: I_10) => J_9, jk: (_: J_9) => K_8, kl: (_: K_8) => L_7, lm: (_: L_7) => M_6, mn: (_: M_6) => N_5, no: (_: N_5) => O_4, op: (_: O_4) => P_3, pq: (_: P_3) => Q_2, qr: (_: Q_2) => R_5, rs: (_: R_5) => S): S;
139
+ pipe<A, B_18 = never, C_17 = never, D_16 = never, E_19 = never, F_14 = never, G_13 = never, H_12 = never, I_11 = never, J_10 = never, K_9 = never, L_8 = never, M_7 = never, N_6 = never, O_5 = never, P_4 = never, Q_3 = never, R_6 = never, S_1 = never, T = never>(this: A, ab: (_: A) => B_18, bc: (_: B_18) => C_17, cd: (_: C_17) => D_16, de: (_: D_16) => E_19, ef: (_: E_19) => F_14, fg: (_: F_14) => G_13, gh: (_: G_13) => H_12, hi: (_: H_12) => I_11, ij: (_: I_11) => J_10, jk: (_: J_10) => K_9, kl: (_: K_9) => L_8, lm: (_: L_8) => M_7, mn: (_: M_7) => N_6, no: (_: N_6) => O_5, op: (_: O_5) => P_4, pq: (_: P_4) => Q_3, qr: (_: Q_3) => R_6, rs: (_: R_6) => S_1, st: (_: S_1) => T): T;
140
+ pipe<A, B_19 = never, C_18 = never, D_17 = never, E_20 = never, F_15 = never, G_14 = never, H_13 = never, I_12 = never, J_11 = never, K_10 = never, L_9 = never, M_8 = never, N_7 = never, O_6 = never, P_5 = never, Q_4 = never, R_7 = never, S_2 = never, T_1 = never, U = never>(this: A, ab: (_: A) => B_19, bc: (_: B_19) => C_18, cd: (_: C_18) => D_17, de: (_: D_17) => E_20, ef: (_: E_20) => F_15, fg: (_: F_15) => G_14, gh: (_: G_14) => H_13, hi: (_: H_13) => I_12, ij: (_: I_12) => J_11, jk: (_: J_11) => K_10, kl: (_: K_10) => L_9, lm: (_: L_9) => M_8, mn: (_: M_8) => N_7, no: (_: N_7) => O_6, op: (_: O_6) => P_5, pq: (_: P_5) => Q_4, qr: (_: Q_4) => R_7, rs: (_: R_7) => S_2, st: (_: S_2) => T_1, tu: (_: T_1) => U): U;
141
+ pipe<A, B_20 = never, C_19 = never, D_18 = never, E_21 = never, F_16 = never, G_15 = never, H_14 = never, I_13 = never, J_12 = never, K_11 = never, L_10 = never, M_9 = never, N_8 = never, O_7 = never, P_6 = never, Q_5 = never, R_8 = never, S_3 = never, T_2 = never, U_1 = never>(this: A, ab: (_: A) => B_20, bc: (_: B_20) => C_19, cd: (_: C_19) => D_18, de: (_: D_18) => E_21, ef: (_: E_21) => F_16, fg: (_: F_16) => G_15, gh: (_: G_15) => H_14, hi: (_: H_14) => I_13, ij: (_: I_13) => J_12, jk: (_: J_12) => K_11, kl: (_: K_11) => L_10, lm: (_: L_10) => M_9, mn: (_: M_9) => N_8, no: (_: N_8) => O_7, op: (_: O_7) => P_6, pq: (_: P_6) => Q_5, qr: (_: Q_5) => R_8, rs: (_: R_8) => S_3, st: (_: S_3) => T_2, tu: (_: T_2) => U_1): U_1;
134
142
  toString(): string;
135
143
  toJSON(): unknown;
136
144
  [NodeInspectSymbol](): unknown;
137
145
  };
138
- use: <A>(fn: (transaction: ZeroServerTransaction<TSchema, TTransaction>, options: {
139
- readonly signal: AbortSignal;
140
- }) => PromiseLike<A>) => Effect.Effect<A, ServerTransactionError, {
141
- readonly Service: {
142
- transaction: ZeroServerTransaction<TSchema, TTransaction>;
143
- transactionHooks: TransactionProviderHooks;
144
- };
145
- readonly key: `${string}/ServerTransactionContext`;
146
- readonly "~effect/Context/Service": typeof Ctx.ServiceTypeId;
147
- }>;
148
- execute: <A, E_19, R_6>(effect: Effect.Effect<A, E_19, R_6>) => Effect.Effect<A, import("./internal/server.js").MultipleTransactionsError | OutOfOrderMutationError | MutationAlreadyProcessedError | E_19 | UpdateClientMutationIdError | ZeroDatabaseError, ServerTransactionInput | ServerSynchronizationContext.ServerSynchronizationContext | Exclude<R_6, {
149
- readonly Service: {
150
- transaction: ZeroServerTransaction<TSchema, TTransaction>;
151
- transactionHooks: TransactionProviderHooks;
152
- };
153
- readonly key: `${string}/ServerTransactionContext`;
154
- readonly "~effect/Context/Service": typeof Ctx.ServiceTypeId;
155
- } | {
156
- readonly Service: import("@rocicorp/zero").Transaction<TSchema>;
157
- readonly key: any;
158
- readonly "~effect/Context/Service": typeof Ctx.ServiceTypeId;
159
- }>>;
160
146
  };
161
- declare const ServerTransactionError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Cause.YieldableError & {
162
- readonly _tag: "ServerTransactionError";
163
- } & Readonly<A>;
164
- declare class ServerTransactionError extends ServerTransactionError_base<{
165
- readonly cause: Cause.Cause<unknown>;
166
- }> {
167
- }
168
- declare const UpdateClientMutationIdError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Cause.YieldableError & {
169
- readonly _tag: "UpdateClientMutationIdError";
170
- } & Readonly<A>;
171
- declare class UpdateClientMutationIdError extends UpdateClientMutationIdError_base<{
172
- readonly cause: Cause.Cause<unknown>;
173
- }> {
174
- }
175
- declare const ZeroDatabaseError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Cause.YieldableError & {
176
- readonly _tag: "ZeroDatabaseError";
147
+ declare const TransactionUseError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Cause.YieldableError & {
148
+ readonly _tag: "TransactionUseError";
177
149
  } & Readonly<A>;
178
- declare class ZeroDatabaseError extends ZeroDatabaseError_base<{
150
+ declare class TransactionUseError extends TransactionUseError_base<{
179
151
  readonly cause: Cause.Cause<unknown>;
180
152
  }> {
153
+ get message(): string;
181
154
  }
182
155
  export {};
183
156
  //# sourceMappingURL=server-transaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server-transaction.d.ts","sourceRoot":"","sources":["../src/server-transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-transaction.d.ts","sourceRoot":"","sources":["../src/server-transaction.ts"],"names":[],"mappings":"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"}