effect-zero 0.7.0 → 0.9.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 (46) hide show
  1. package/README.md +86 -77
  2. package/dist/client-transaction.d.ts +0 -1
  3. package/dist/client-transaction.d.ts.map +1 -1
  4. package/dist/client.d.ts +38 -138
  5. package/dist/client.d.ts.map +1 -1
  6. package/dist/client.js +75 -24
  7. package/dist/client.js.map +1 -1
  8. package/dist/internal/utils.d.ts +0 -7
  9. package/dist/internal/utils.d.ts.map +1 -1
  10. package/dist/internal/utils.js +0 -7
  11. package/dist/internal/utils.js.map +1 -1
  12. package/dist/mutator.d.ts +115 -0
  13. package/dist/mutator.d.ts.map +1 -0
  14. package/dist/mutator.js +67 -0
  15. package/dist/mutator.js.map +1 -0
  16. package/dist/mutator.test.d.ts +2 -0
  17. package/dist/mutator.test.d.ts.map +1 -0
  18. package/dist/{client.test.js → mutator.test.js} +5 -5
  19. package/dist/mutator.test.js.map +1 -0
  20. package/dist/query.d.ts +2 -2
  21. package/dist/result.d.ts +1 -1
  22. package/dist/result.d.ts.map +1 -1
  23. package/dist/result.js +1 -1
  24. package/dist/result.js.map +1 -1
  25. package/dist/server-transaction.d.ts +0 -1
  26. package/dist/server-transaction.d.ts.map +1 -1
  27. package/dist/server.d.ts +7 -3
  28. package/dist/server.d.ts.map +1 -1
  29. package/dist/server.js +30 -15
  30. package/dist/server.js.map +1 -1
  31. package/dist/types.test.js +85 -120
  32. package/dist/types.test.js.map +1 -1
  33. package/package.json +49 -48
  34. package/src/client.ts +159 -56
  35. package/src/internal/utils.ts +0 -8
  36. package/src/mutator.ts +232 -0
  37. package/src/result.ts +2 -2
  38. package/src/server.ts +49 -34
  39. package/dist/client.test.d.ts +0 -2
  40. package/dist/client.test.d.ts.map +0 -1
  41. package/dist/client.test.js.map +0 -1
  42. package/dist/mutators.d.ts +0 -30
  43. package/dist/mutators.d.ts.map +0 -1
  44. package/dist/mutators.js +0 -17
  45. package/dist/mutators.js.map +0 -1
  46. package/src/mutators.ts +0 -80
@@ -2,11 +2,4 @@
2
2
  * Prefix a string with the package name.
3
3
  */
4
4
  export declare const prefixId: <S extends string>(name: S) => `effect-zero/${S}`;
5
- /**
6
- * Zero unconditionally serializes arg-less mutator calls as `null` on the wire
7
- * (https://github.com/rocicorp/mono/blob/3082c9fa061891067b4bd7dc9fe74f798270d8d7/packages/zero-client/src/client/custom.ts).
8
- * v3 `Schema.Void` happened to accept any input; v4 `Schema.Void` is strict
9
- * `=== undefined`, so we renormalize before decoding.
10
- */
11
- export declare const normalizeArgs: (args: unknown) => unknown;
12
5
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/internal/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,EAAE,MAAM,CAAC,uBAAmC,CAAC;AAEtF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,MAAM,OAAO,KAAG,OAA6C,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/internal/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,EAAE,MAAM,CAAC,uBAAmC,CAAC"}
@@ -2,11 +2,4 @@
2
2
  * Prefix a string with the package name.
3
3
  */
4
4
  export const prefixId = (name) => `effect-zero/${name}`;
5
- /**
6
- * Zero unconditionally serializes arg-less mutator calls as `null` on the wire
7
- * (https://github.com/rocicorp/mono/blob/3082c9fa061891067b4bd7dc9fe74f798270d8d7/packages/zero-client/src/client/custom.ts).
8
- * v3 `Schema.Void` happened to accept any input; v4 `Schema.Void` is strict
9
- * `=== undefined`, so we renormalize before decoding.
10
- */
11
- export const normalizeArgs = (args) => (args === null ? undefined : args);
12
5
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/internal/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAmB,IAAO,EAAE,EAAE,CAAC,eAAe,IAAI,EAAW,CAAC;AAEtF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAa,EAAW,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/internal/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAmB,IAAO,EAAE,EAAE,CAAC,eAAe,IAAI,EAAW,CAAC"}
@@ -0,0 +1,115 @@
1
+ import type { AnyMutatorRegistry, MutateRequest as ZeroMutateRequest, Schema as ZeroSchema, Transaction as ZeroTransaction } from "@rocicorp/zero";
2
+ import * as Cause from "effect/Cause";
3
+ import * as Effect from "effect/Effect";
4
+ import * as Schema from "effect/Schema";
5
+ import type * as ClientTransaction from "./client-transaction.js";
6
+ import { ContextSymbol } from "./client-transaction.js";
7
+ export declare const RegistryTypeId: unique symbol;
8
+ /**
9
+ * A mutator that isn't part of a registry yet, made with {@link make}. Like `defineMutator`, it gets its name
10
+ * from its path in the {@link registry}.
11
+ */
12
+ export interface Definition<Type, Encoded, E, R> {
13
+ readonly payload: Schema.Codec<Type, Encoded, R>;
14
+ readonly mutator: (args: Type) => Effect.Effect<unknown, E, R>;
15
+ }
16
+ export type AnyDefinition = Definition<any, any, any, any>;
17
+ export type Definitions = {
18
+ readonly [key: string]: AnyDefinition | Definitions;
19
+ };
20
+ /**
21
+ * A registered mutator. Calling it encodes `args` and returns a request for `ZfxClient.mutate(zero, request)`, or
22
+ * for Zero's own `zero.mutate(request)`. It is also a Zero `Mutator`, so the registry can be passed to Zero.
23
+ */
24
+ export interface Mutator<Type, Encoded, E, R> extends Definition<Type, Encoded, E, R> {
25
+ (args: Type): MutateRequest<Type>;
26
+ readonly mutatorName: string;
27
+ /** Runs the mutator for Zero, which calls it with the transaction and the `context` from `ZfxClient.make`. */
28
+ readonly fn: (options: {
29
+ readonly args: unknown;
30
+ readonly ctx: unknown;
31
+ readonly tx: ZeroTransaction<ZeroSchema>;
32
+ }) => Promise<void>;
33
+ readonly "~": "Mutator";
34
+ }
35
+ export type AnyMutator = Mutator<any, any, any, any>;
36
+ /** A request to run a mutator, for `ZfxClient.mutate` or Zero's own `zero.mutate`. */
37
+ export type MutateRequest<Type> = ZeroMutateRequest<any, any, any, any> & {
38
+ readonly mutator: Mutator<Type, any, any, any>;
39
+ };
40
+ type Tree<D> = {
41
+ readonly [K in keyof D]: D[K] extends Definition<infer Type, infer Encoded, infer E, infer R> ? Mutator<Type, Encoded, E, R> : Tree<D[K]>;
42
+ };
43
+ /** A tree of registered mutators, made with {@link registry}. Pass it to `ZfxClient.make` and the server. */
44
+ export type Registry<D extends Definitions, TTransaction extends AnyClientTransaction> = Tree<D> & {
45
+ readonly "~": AnyMutatorRegistry["~"];
46
+ readonly [RegistryTypeId]: {
47
+ readonly transaction: TTransaction;
48
+ };
49
+ };
50
+ export type AnyRegistry = Registry<any, AnyClientTransaction>;
51
+ type AnyClientTransaction = ClientTransaction.Context<any>;
52
+ type Keys<T> = Exclude<Extract<keyof T, string>, "~">;
53
+ /** The services a registry's mutators require. */
54
+ export type Requirements<T> = T extends Mutator<any, any, any, infer R> ? R : {
55
+ [K in Keys<T>]: Requirements<T[K]>;
56
+ }[Keys<T>];
57
+ /** The client transaction a registry's mutators run in. */
58
+ export type Transaction<T extends AnyRegistry> = T[typeof RegistryTypeId]["transaction"];
59
+ /** The Zero schema a registry's mutators run against. */
60
+ export type ZeroSchemaOf<T extends AnyRegistry> = Transaction<T> extends ClientTransaction.Context<infer S> ? S : never;
61
+ /**
62
+ * Defines a mutator. Its `payload` codec decodes the args on both the client and the server; it must encode without
63
+ * services, since calling a registered mutator encodes its args synchronously.
64
+ */
65
+ export declare const make: <Type, Encoded, RD = never, A = unknown, E = never, R = never>(options: {
66
+ readonly payload: Schema.Codec<Type, Encoded, RD, never>;
67
+ readonly mutator: (args: NoInfer<Type>) => Effect.Effect<A, E, R>;
68
+ }) => Definition<Type, Encoded, E, R | RD>;
69
+ /**
70
+ * Registers mutators under their path, like Zero's `defineMutators`: `{ todo: { create } }` registers
71
+ * `"todo.create"`. The result is also a Zero mutator registry, so it can be passed to `new Zero({ mutators })`.
72
+ */
73
+ export declare const registry: <TTransaction extends AnyClientTransaction, const D extends Definitions>(transaction: TTransaction, definitions: D) => Registry<D, TTransaction>;
74
+ type Overrides<T> = {
75
+ readonly [K in Keys<T>]?: T[K] extends Mutator<infer Type, infer _Encoded, infer _E, infer _R> ? (args: Type) => Effect.Effect<unknown, any, any> : Overrides<T[K]>;
76
+ };
77
+ /** The server's view of a registry, made with {@link server}. */
78
+ export interface ServerMutators<TRegistry extends AnyRegistry, O> {
79
+ readonly registry: TRegistry;
80
+ readonly overrides: O;
81
+ }
82
+ export type AnyServerMutators = ServerMutators<AnyRegistry, unknown>;
83
+ /**
84
+ * The registry's mutators as the server runs them, for `ZfxServer.handleMutate`. `overrides` replaces some mutators'
85
+ * bodies, like Zero's `defineMutators(base, overrides)`; every other mutator runs its shared body in a server
86
+ * transaction, so pass `{}` if nothing differs. An override runs outside the transaction, so it can do work before
87
+ * and after `serverTransaction.execute`, e.g. `registry.todo.create.mutator(args).pipe(serverTransaction.execute)`.
88
+ */
89
+ export declare const server: <TRegistry extends AnyRegistry, const O extends Overrides<TRegistry>>(registry: TRegistry, overrides: O) => ServerMutators<TRegistry, O>;
90
+ type ServerTreeRequirements<T, O, ClientTransactionId> = {
91
+ [K in Keys<T>]: T[K] extends AnyMutator ? K extends keyof O ? O[K] extends (args: never) => Effect.Effect<infer _A, infer _E, infer R> ? R : never : Exclude<Requirements<T[K]>, ClientTransactionId> : ServerTreeRequirements<T[K], K extends keyof O ? O[K] : unknown, ClientTransactionId>;
92
+ }[Keys<T>];
93
+ /**
94
+ * The services the server needs to run these mutators. Mutators that aren't overridden run in a server transaction,
95
+ * which provides their client transaction.
96
+ */
97
+ export type ServerRequirements<T extends AnyServerMutators> = T extends ServerMutators<infer TRegistry, infer O> ? ServerTreeRequirements<TRegistry, O, Transaction<TRegistry>[typeof ContextSymbol]["Identifier"]> : never;
98
+ declare const ClientArgsParseError_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 & {
99
+ readonly _tag: "ClientArgsParseError";
100
+ } & Readonly<A>;
101
+ export declare class ClientArgsParseError extends ClientArgsParseError_base<{
102
+ readonly cause: Cause.Cause<unknown>;
103
+ }> {
104
+ get message(): string;
105
+ }
106
+ declare const MutatorContextNotFound_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 & {
107
+ readonly _tag: "MutatorContextNotFound";
108
+ } & Readonly<A>;
109
+ /** A mutator ran on a Zero instance that wasn't made with `ZfxClient.make`. */
110
+ export declare class MutatorContextNotFound extends MutatorContextNotFound_base<{
111
+ readonly mutator: string;
112
+ }> {
113
+ }
114
+ export {};
115
+ //# sourceMappingURL=mutator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutator.d.ts","sourceRoot":"","sources":["../src/mutator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import * as Cause from "effect/Cause";
2
+ import * as Context from "effect/Context";
3
+ import * as Data from "effect/Data";
4
+ import * as Effect from "effect/Effect";
5
+ import * as Predicate from "effect/Predicate";
6
+ import * as Rec from "effect/Record";
7
+ import * as Schema from "effect/Schema";
8
+ import { ContextSymbol } from "./client-transaction.js";
9
+ import { prefixId } from "./internal/utils.js";
10
+ export const RegistryTypeId = Symbol.for(prefixId("MutatorRegistry"));
11
+ /**
12
+ * Defines a mutator. Its `payload` codec decodes the args on both the client and the server; it must encode without
13
+ * services, since calling a registered mutator encodes its args synchronously.
14
+ */
15
+ export const make = (options) => options;
16
+ /**
17
+ * Registers mutators under their path, like Zero's `defineMutators`: `{ todo: { create } }` registers
18
+ * `"todo.create"`. The result is also a Zero mutator registry, so it can be passed to `new Zero({ mutators })`.
19
+ */
20
+ export const registry = (transaction, definitions) => {
21
+ const register = (definitions, path) => Rec.map(definitions, (value, key) => isDefinition(value) ? makeMutator(transaction, [...path, key].join("."), value) : register(value, [...path, key]));
22
+ // The registry's shape is only known from `D`.
23
+ return Object.assign(register(definitions, []), {
24
+ "~": "MutatorRegistry",
25
+ [RegistryTypeId]: { transaction },
26
+ });
27
+ };
28
+ const isDefinition = (u) => Predicate.hasProperty(u, "payload") && Schema.isSchema(u.payload);
29
+ const makeMutator = (transaction, name, definition) => {
30
+ const run = (args, tx) => Schema.decodeUnknownEffect(definition.payload)(args).pipe(Effect.catchTag("SchemaError", (error) => new ClientArgsParseError({ cause: Cause.fail(error) })), Effect.flatMap(definition.mutator), Effect.withSpan("zero.mutator", {
31
+ attributes: {
32
+ "zero.mutator": name,
33
+ "zero.clientID": tx.clientID,
34
+ "zero.mutationID": tx.mutationID,
35
+ "zero.mutation.reason": tx.reason,
36
+ },
37
+ }), Effect.provideService(transaction[ContextSymbol], tx), Effect.asVoid);
38
+ const mutator = Object.assign((args) =>
39
+ // A Zero `MutateRequest`, whose brand only exists at the type level.
40
+ ({ mutator, args: Schema.encodeSync(definition.payload)(args), "~": "MutateRequest" }), {
41
+ ...definition,
42
+ mutatorName: name,
43
+ "~": "Mutator",
44
+ fn: ({ args, ctx, tx, }) => Context.isContext(ctx)
45
+ ? // `ZfxClient.make` passes the services it captured, which cover every mutator's requirements.
46
+ run(args, tx).pipe(Effect.runPromiseWith(ctx))
47
+ : Promise.reject(new MutatorContextNotFound({ mutator: name })),
48
+ });
49
+ return mutator;
50
+ };
51
+ /**
52
+ * The registry's mutators as the server runs them, for `ZfxServer.handleMutate`. `overrides` replaces some mutators'
53
+ * bodies, like Zero's `defineMutators(base, overrides)`; every other mutator runs its shared body in a server
54
+ * transaction, so pass `{}` if nothing differs. An override runs outside the transaction, so it can do work before
55
+ * and after `serverTransaction.execute`, e.g. `registry.todo.create.mutator(args).pipe(serverTransaction.execute)`.
56
+ */
57
+ export const server = (registry, overrides) => ({ registry, overrides });
58
+ export class ClientArgsParseError extends Data.TaggedError("ClientArgsParseError") {
59
+ get message() {
60
+ const error = Cause.squash(this.cause);
61
+ return Predicate.isError(error) && !Schema.isSchemaError(error) ? error.message : "Internal error";
62
+ }
63
+ }
64
+ /** A mutator ran on a Zero instance that wasn't made with `ZfxClient.make`. */
65
+ export class MutatorContextNotFound extends Data.TaggedError("MutatorContextNotFound") {
66
+ }
67
+ //# sourceMappingURL=mutator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutator.js","sourceRoot":"","sources":["../src/mutator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mutator.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutator.test.d.ts","sourceRoot":"","sources":["../src/mutator.test.ts"],"names":[],"mappings":""}
@@ -2,11 +2,11 @@ import { describe, it } from "@effect/vitest";
2
2
  import * as Effect from "effect/Effect";
3
3
  import * as Exit from "effect/Exit";
4
4
  import * as Schema from "effect/Schema";
5
- import { ClientArgsParseError } from "./client.js";
5
+ import { ClientArgsParseError } from "./mutator.js";
6
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.
7
+ // The schema validation detail is masked to a generic "Internal error" rather than leaked. The getter
8
+ // still exists so a `getErrorMessage`-style consumer reads that clean string instead of serializing the
9
+ // raw `Cause` into a "Parsed message" blob.
10
10
  it.effect("masks the schema validation detail to 'Internal error'", Effect.fn(function* ({ expect }) {
11
11
  const exit = yield* Effect.exit(Schema.decodeUnknownEffect(Schema.Struct({ id: Schema.String }))({}));
12
12
  expect(Exit.isFailure(exit)).toBe(true);
@@ -16,4 +16,4 @@ describe("ClientArgsParseError", () => {
16
16
  expect(error.message).toBe("Internal error");
17
17
  }));
18
18
  });
19
- //# sourceMappingURL=client.test.js.map
19
+ //# sourceMappingURL=mutator.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutator.test.js","sourceRoot":"","sources":["../src/mutator.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,cAAc,CAAC;AAEpD,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,sGAAsG;IACtG,wGAAwG;IACxG,4CAA4C;IAC5C,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"}
package/dist/query.d.ts CHANGED
@@ -17,9 +17,9 @@ export declare const make: <N extends string, A extends ReadonlyJSONValue | void
17
17
  name: N;
18
18
  payload: Schema.Codec<B, A, R1, R1>;
19
19
  query: (args: NoInfer<B>) => Effect.Effect<ZeroQuery<T, S, R>, E, R2>;
20
- }) => ((args: B) => Effect.Effect<ZeroQuery<T, S, R> & Equal.Equal, Schema.SchemaError | E, R1 | R2>) & {
20
+ }) => ((args: B) => Effect.Effect<ZeroQuery<T, S, R, never> & Equal.Equal, Schema.SchemaError | E, R1 | R2>) & {
21
21
  [QueryNameSymbol]: N;
22
- [RunQuerySymbol]: (args: QueryArgs<A, B>) => Effect.Effect<ZeroQuery<T, S, R> & Equal.Equal, Schema.SchemaError | E, R1 | R2>;
22
+ [RunQuerySymbol]: (args: QueryArgs<A, B>) => Effect.Effect<ZeroQuery<T, S, R, never> & Equal.Equal, Schema.SchemaError | E, R1 | R2>;
23
23
  };
24
24
  export type MakeQueryResult<E = any, R1 = any, R2 = any> = ReturnType<typeof make<string, any, any, string, ZeroSchema, Record<string, any> | undefined, E, R1, R2>>;
25
25
  export declare const stream: <T extends keyof S["tables"] & string, S extends ZeroSchema, R>(zero: Zero<S>, query: ZeroQuery<T, S, R>) => Stream.Stream<QueryResult.QueryResult<R>, never, never>;
package/dist/result.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { HumanReadable } from "@rocicorp/zero";
2
2
  import * as Cause from "effect/Cause";
3
- import { AsyncResult } from "effect/unstable/reactivity";
3
+ import * as AsyncResult from "effect/reactivity/AsyncResult";
4
4
  import type { QueryResult } from "./internal/query-result.js";
5
5
  export type Result<A, E = never> = AsyncResult.AsyncResult<QueryResult.Partial<A> | QueryResult.Complete<A>, E | QueryError>;
6
6
  export declare namespace Result {
@@ -1 +1 @@
1
- {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"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"}
package/dist/result.js CHANGED
@@ -4,8 +4,8 @@ import * as Fn from "effect/Function";
4
4
  import * as Match from "effect/Match";
5
5
  import * as Option from "effect/Option";
6
6
  import * as Predicate from "effect/Predicate";
7
+ import * as AsyncResult from "effect/reactivity/AsyncResult";
7
8
  import * as Struct from "effect/Struct";
8
- import { AsyncResult } from "effect/unstable/reactivity";
9
9
  export class QueryError extends Data.TaggedError("QueryError") {
10
10
  }
11
11
  export const make = (value) => Match.valueTags(value, {
@@ -1 +1 @@
1
- {"version":3,"file":"result.js","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"result.js","sourceRoot":"","sources":["../src/result.ts"],"names":[],"mappings":"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"}
@@ -86,7 +86,6 @@ export declare const make: <const Id extends string, TSchema extends ZeroSchema,
86
86
  readonly Service: {
87
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>;
88
88
  };
89
- readonly stack?: string | undefined;
90
89
  readonly "~effect/Context/Service": Ctx.ServiceTypeId;
91
90
  readonly "~effect/Effect": Effect.Variance<{
92
91
  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>;
@@ -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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"}
package/dist/server.d.ts CHANGED
@@ -4,7 +4,7 @@ import * as Cause from "effect/Cause";
4
4
  import * as Effect from "effect/Effect";
5
5
  import { TransactCallbackNotInvokedError, TransactInternalError } from "./internal/server.js";
6
6
  import * as ServerSynchronizationContext from "./internal/server-synchronization-context.js";
7
- import * as Mutators from "./mutators.js";
7
+ import type * as Mutator from "./mutator.js";
8
8
  import { type MakeQueryResult } from "./query.js";
9
9
  import type * as ServerTransaction from "./server-transaction.js";
10
10
  import type { TransformRequestMessage } from "./types/custom-queries.js";
@@ -16,7 +16,11 @@ type MutateUserId = Extract<Awaited<ReturnType<typeof handleMutateRequest>>, {
16
16
  type QueryUserId = Extract<Awaited<ReturnType<typeof handleQueryRequest>>, {
17
17
  kind: "QueryResponse";
18
18
  }>["userID"];
19
- export declare const handleMutate: <TSchema extends ZeroSchema, TTransaction, TMutators extends Mutators.AnyMutators>(args_0: {
19
+ /**
20
+ * Handles Zero's push endpoint, running each mutation's server implementation: its override from
21
+ * `ZfxMutator.server`, or else its shared body in a server transaction.
22
+ */
23
+ export declare const handleMutate: <TSchema extends ZeroSchema, TTransaction, TMutators extends Mutator.AnyServerMutators>(args_0: {
20
24
  transaction: ServerTransaction.Context<TSchema, TTransaction>;
21
25
  mutators: TMutators;
22
26
  query: MutateParams;
@@ -149,7 +153,7 @@ export declare const handleMutate: <TSchema extends ZeroSchema, TTransaction, TM
149
153
  }[];
150
154
  origin: "zeroCache";
151
155
  reason: "parse" | "timeout" | "internal";
152
- }, HandleMutateError, Exclude<Mutators.ExtractMutatorsRequirements<TMutators>, ServerSynchronizationContext.ServerSynchronizationContext | {
156
+ }, HandleMutateError, Exclude<Mutator.ServerRequirements<TMutators>, ServerSynchronizationContext.ServerSynchronizationContext | {
153
157
  readonly Service: {
154
158
  readonly transact: <A, E, R>(fn: (transaction: ZeroServerTransaction<TSchema, TTransaction>) => Effect.Effect<A, E, R>) => Effect.Effect<A, import("./internal/server.js").MultipleTransactionsError | TransactInternalError | TransactCallbackNotInvokedError | E, ServerSynchronizationContext.ServerSynchronizationContext | R>;
155
159
  };
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,MAAM,IAAI,UAAU,EACpB,iBAAiB,IAAI,qBAAqB,EAC3C,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,kBAAkB,EAAsB,MAAM,uBAAuB,CAAC;AAEtH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAYxC,OAAO,EAAE,+BAA+B,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC9F,OAAO,KAAK,4BAA4B,MAAM,8CAA8C,CAAC;AAE7F,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,KAAK,eAAe,EAAmC,MAAM,YAAY,CAAC;AACnF,OAAO,KAAK,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAElE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAWhD,KAAK,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,EAAE;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;AACnH,KAAK,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,EAAE;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;AAEhH,eAAO,MAAM,YAAY,GACvB,OAAO,SAAS,UAAU,EAC1B,YAAY,EACZ,SAAS,SAAS,QAAQ,CAAC,WAAW;iBAQzB,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC;cACnD,SAAS;WACZ,YAAY;UACb,QAAQ;YACN,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiFpB,CAAC;AA2BH,eAAO,MAAM,oBAAoB,GAAI,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,oDAI/D,CAAC;;;;AAcF,cAAM,iBAAkB,SAAQ,uBAAsC;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC;CAAG;AAElH,eAAO,MAAM,WAAW,GAAwB,CAAC,EAAE,EAAE,EAAE,EAAE;aAM9C,eAAe,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;YAC7B,UAAU;UACZ,uBAAuB;YACrB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAqBnB,CAAC;;;;AAQH,cAAM,gBAAiB,SAAQ,sBAAqC;IAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC;CAAG"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,MAAM,IAAI,UAAU,EACpB,iBAAiB,IAAI,qBAAqB,EAC3C,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,kBAAkB,EAAsB,MAAM,uBAAuB,CAAC;AAEtH,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAGtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAUxC,OAAO,EAAE,+BAA+B,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC9F,OAAO,KAAK,4BAA4B,MAAM,8CAA8C,CAAC;AAC7F,OAAO,KAAK,KAAK,OAAO,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,KAAK,eAAe,EAAmC,MAAM,YAAY,CAAC;AACnF,OAAO,KAAK,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAElE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAWhD,KAAK,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,EAAE;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;AACnH,KAAK,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,EAAE;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;AAEhH;;;GAGG;AACH,eAAO,MAAM,YAAY,GACvB,OAAO,SAAS,UAAU,EAC1B,YAAY,EACZ,SAAS,SAAS,OAAO,CAAC,iBAAiB;iBAQ9B,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC;cACnD,SAAS;WACZ,YAAY;UACb,QAAQ;YACN,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoFpB,CAAC;AAuCH,eAAO,MAAM,oBAAoB,GAAI,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,oDAI/D,CAAC;;;;AAcF,cAAM,iBAAkB,SAAQ,uBAAsC;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC;CAAG;AAElH,eAAO,MAAM,WAAW,GAAwB,CAAC,EAAE,EAAE,EAAE,EAAE;aAM9C,eAAe,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;YAC7B,UAAU;UACZ,uBAAuB;YACrB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAoBnB,CAAC;;;;AAQH,cAAM,gBAAiB,SAAQ,sBAAqC;IAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC;CAAG"}
package/dist/server.js CHANGED
@@ -5,9 +5,7 @@ import * as Data from "effect/Data";
5
5
  import * as Deferred from "effect/Deferred";
6
6
  import * as Effect from "effect/Effect";
7
7
  import * as Exit from "effect/Exit";
8
- import * as Fn from "effect/Function";
9
8
  import * as Layer from "effect/Layer";
10
- import * as Match from "effect/Match";
11
9
  import * as Option from "effect/Option";
12
10
  import * as Predicate from "effect/Predicate";
13
11
  import * as Rec from "effect/Record";
@@ -15,10 +13,12 @@ import * as Schema from "effect/Schema";
15
13
  import * as Str from "effect/String";
16
14
  import { TransactCallbackNotInvokedError, TransactInternalError } from "./internal/server.js";
17
15
  import * as ServerSynchronizationContext from "./internal/server-synchronization-context.js";
18
- import { normalizeArgs } from "./internal/utils.js";
19
- import * as Mutators from "./mutators.js";
20
16
  import { QueryNameSymbol, RunQuerySymbol } from "./query.js";
21
17
  import { DatabaseSymbol, ServerTransactionCallbackSymbol } from "./server-transaction.js";
18
+ /**
19
+ * Handles Zero's push endpoint, running each mutation's server implementation: its override from
20
+ * `ZfxMutator.server`, or else its shared body in a server transaction.
21
+ */
22
22
  export const handleMutate = Effect.fn(function* ({ transaction, mutators, query, body, userId, }) {
23
23
  const ctx = yield* Effect.context();
24
24
  return yield* Effect.tryPromise({
@@ -30,15 +30,21 @@ export const handleMutate = Effect.fn(function* ({ transaction, mutators, query,
30
30
  const innerCtx = yield* Effect.context();
31
31
  const exitDeferred = yield* Deferred.make();
32
32
  yield* Effect.tryPromise({
33
- try: (signal) => transact_((transaction) => fn(transaction).pipe(Effect.onExit((exit) => Deferred.done(exitDeferred, exit)), Effect.catchCause((cause) => Effect.die(makeApplicationError(cause))), Effect.asVoid, Effect.provide(innerCtx), (effect) => Effect.runPromise(effect, { signal }))),
33
+ try: (signal) => transact_((transaction) => fn(transaction).pipe(Effect.onExit((exit) => Deferred.done(exitDeferred, exit)), Effect.catchCause((cause) => Effect.die(makeApplicationError(cause))), Effect.asVoid, (effect) => Effect.runPromiseWith(innerCtx)(effect, { signal }))),
34
34
  catch: (error) => new TransactInternalError({ cause: Cause.fail(error) }),
35
35
  }).pipe(Effect.flatMap((value) => Deferred.succeed(response, value)));
36
- return yield* Deferred.poll(exitDeferred).pipe(Effect.flatMap(Effect.fromOption), Effect.catchTag("NoSuchElementError", () => Effect.fail(new TransactCallbackNotInvokedError())), Effect.flatten);
36
+ return yield* Deferred.poll(exitDeferred).pipe(Effect.flatMap(Effect.fromOption(() => new TransactCallbackNotInvokedError())), Effect.flatten);
37
37
  }, ServerSynchronizationContext.guard);
38
- const exit = yield* runMutation(mutators, mutation).pipe(ServerSynchronizationContext.finalize, Effect.provide([
38
+ const exit = yield* runMutation(mutators, transaction, mutation).pipe(ServerSynchronizationContext.finalize, Effect.provide([
39
39
  Layer.succeed(transaction[ServerTransactionCallbackSymbol], { transact }),
40
40
  ServerSynchronizationContext.layer,
41
- ]), Effect.exit);
41
+ ]), Effect.withSpan("zero.mutation.handle", {
42
+ attributes: {
43
+ "zero.mutator": mutation.name,
44
+ "zero.clientID": mutation.clientID,
45
+ "zero.mutationID": mutation.id,
46
+ },
47
+ }), Effect.exit);
42
48
  return yield* Deferred.poll(response).pipe(Effect.flatMap(Effect.fromOption), Effect.catchTag("NoSuchElementError", () => Effect.failCause(Exit.isFailure(exit) ? exit.cause : Cause.empty)), Effect.flatten);
43
49
  }).pipe(Effect.catchCause((cause) => {
44
50
  const error = cause.pipe(Cause.squash, (squashed) => TransactInternalError.is(squashed) ? Cause.squash(squashed.cause) : squashed);
@@ -52,12 +58,21 @@ export const handleMutate = Effect.fn(function* ({ transaction, mutators, query,
52
58
  catch: (e) => new HandleMutateError({ cause: Cause.fail(e) }),
53
59
  });
54
60
  });
55
- const runMutation = Effect.fn(function* (mutators, mutation) {
56
- // Support both "namespace|name" and "namespace.name" formats, and single-segment names.
57
- const [namespace, name] = mutation.name.includes("|") ? Str.split(mutation.name, "|") : Str.split(mutation.name, ".");
58
- const mutator = yield* Fn.pipe(mutators, Rec.get(namespace), Option.flatMap((mutator) => Match.value([mutator, name]).pipe(Match.when([Predicate.isObject, Predicate.isString], ([mutator, name]) => Rec.get(name)(mutator)), Match.when([Predicate.isFunction, Predicate.isUndefined], ([mutator]) => Option.some(mutator)), Match.orElse(() => Option.none()))), Effect.fromOption, Effect.catchTag("NoSuchElementError", () => Effect.fail(new MutatorNotFoundError({ name: mutation.name }))));
59
- const args = yield* Schema.decodeUnknownEffect(mutator[Mutators.MutatorSchemaSymbol])(normalizeArgs(mutation.args[0])).pipe(Effect.catchTag("SchemaError", (e) => Effect.fail(new ServerArgsParseError({ cause: Cause.fail(e) }))));
60
- return yield* mutator(args);
61
+ /**
62
+ * Runs a mutation: its override if it has one, or else its shared body in a server transaction. Like upstream, names
63
+ * are split on "." or "|" (the separator of Zero's legacy custom mutators), at any depth. Their services aren't tracked
64
+ * from here on: `handleMutate` already requires every implementation's.
65
+ */
66
+ const runMutation = Effect.fn(function* (mutators, transaction, mutation) {
67
+ const { registry, overrides } = Rec.map(mutators, (root) => Arr.reduce(Str.split(mutation.name, /[.|]/), Option.some(root), (tree, key) =>
68
+ // Only an object has keys to walk into; the checks below make sure the walk ended at a mutator.
69
+ tree.pipe(Option.filter(Predicate.isObject), Option.flatMap(Rec.get(key)))));
70
+ const mutator = yield* registry.pipe(Option.filter((u) => Predicate.isFunction(u) && Predicate.hasProperty(u, "mutatorName")), Effect.fromOption(() => new MutatorNotFoundError({ name: mutation.name })));
71
+ const args = yield* Schema.decodeUnknownEffect(mutator.payload)(mutation.args[0]).pipe(Effect.catchTag("SchemaError", (e) => Effect.fail(new ServerArgsParseError({ cause: Cause.fail(e) }))));
72
+ return yield* overrides.pipe(Option.filter((u) => Predicate.isFunction(u)), Option.match({
73
+ onNone: () => transaction.execute(mutator.mutator(args)),
74
+ onSome: (run) => run(args),
75
+ }));
61
76
  });
62
77
  export const makeApplicationError = (cause) => {
63
78
  const error = Cause.squash(cause);
@@ -77,7 +92,7 @@ export const handleQuery = Effect.fn(function* ({ queries, schema, body, userId,
77
92
  const ctx = yield* Effect.context();
78
93
  return yield* Effect.tryPromise({
79
94
  try: () => handleQueryRequest({
80
- handler: (name, args) => Arr.findFirst(queries, (q) => q[QueryNameSymbol] === name).pipe(Effect.fromOption, Effect.catchTag("NoSuchElementError", () => Effect.fail(new QueryNotFound({ name }))), Effect.flatMap((query) => query[RunQuerySymbol]({ _tag: "Encoded", args })), Effect.runSyncWith(ctx)),
95
+ handler: (name, args) => Arr.findFirst(queries, (q) => q[QueryNameSymbol] === name).pipe(Effect.fromOption(() => new QueryNotFound({ name })), Effect.flatMap((query) => query[RunQuerySymbol]({ _tag: "Encoded", args })), Effect.runSyncWith(ctx)),
81
96
  schema,
82
97
  // `query` params are unused by the query endpoint at runtime but required by the options type.
83
98
  query: {},
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}