@model-ts/graphql 7.2.0 → 7.4.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.
package/dist/Builder.js CHANGED
@@ -27,6 +27,10 @@ function make(policy, maxPageSize, defaultPageSize) {
27
27
  internal: [...policy.internal, ...(options.internal ?? [])],
28
28
  public: [...policy.public, ...(options.public ?? [])],
29
29
  publicCodes: { ...policy.publicCodes, ...options.publicCodes },
30
+ publicMessages: {
31
+ ...policy.publicMessages,
32
+ ...options.publicMessages,
33
+ },
30
34
  }, maxPageSize, defaultPageSize),
31
35
  schema: (module) => ({
32
36
  schema: assemble(module),
@@ -1 +1 @@
1
- {"version":3,"file":"Builder.js","sourceRoot":"","sources":["../src/Builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EACL,eAAe,GAGhB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAA6C,MAAM,aAAa,CAAA;AACvE,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EAKjB,SAAS,EACT,OAAO,GACR,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAkC,MAAM,iBAAiB,CAAA;AAChE,OAAO,EAA0C,MAAM,eAAe,CAAA;AACtE,OAAO,EAAmC,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAwC5D,MAAM,UAAU,aAAa,CAC3B,OAAO,GAAmB,EAAE;IAE5B,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,IAAI,GAAG,CAAA;IACtC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;QACvC,OAAO,CAAC,iDAAiD,CAAC,CAAA;IAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;IACzD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,GAAG;QACvD,OAAO,CACL,gFAAgF,CACjF,CAAA;IACH,OAAO,IAAI,CAAkB,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;AACvE,CAAC;AAED,SAAS,IAAI,CACX,MAAmB,EACnB,WAAmB,EACnB,eAAuB;IAEvB,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CACtC,MAAM,EACN,WAAW,EACX,eAAe,CAChB,CAAA;IACD,OAAO;QACL,GAAG,MAAM;QACT,GAAG,eAAe,CAAc,SAAS,CAAC;QAC1C,KAAK;QACL,OAAO,EAAE,SAAS;QAClB,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE,CAC3B,IAAI,CACF;YACE,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YAC3D,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YACrD,WAAW,EAAE,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE;SAC/D,EACD,WAAW,EACX,eAAe,CAChB;QACH,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACnB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;YACxB,CAAC,iBAAiB,CAAC,EAAE,MAAM;YAC3B,CAAC,kBAAkB,CAAC,EAAE,SAAS;SAChC,CAAC;QACF,SAAS;QACT,OAAO;KACR,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"Builder.js","sourceRoot":"","sources":["../src/Builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EACL,eAAe,GAGhB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAA6C,MAAM,aAAa,CAAA;AACvE,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EAKjB,SAAS,EACT,OAAO,GACR,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAkC,MAAM,iBAAiB,CAAA;AAChE,OAAO,EAA0C,MAAM,eAAe,CAAA;AACtE,OAAO,EAAmC,MAAM,cAAc,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAwC5D,MAAM,UAAU,aAAa,CAC3B,OAAO,GAAmB,EAAE;IAE5B,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,IAAI,GAAG,CAAA;IACtC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;QACvC,OAAO,CAAC,iDAAiD,CAAC,CAAA;IAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;IACzD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,GAAG;QACvD,OAAO,CACL,gFAAgF,CACjF,CAAA;IACH,OAAO,IAAI,CAAkB,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;AACvE,CAAC;AAED,SAAS,IAAI,CACX,MAAmB,EACnB,WAAmB,EACnB,eAAuB;IAEvB,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CACtC,MAAM,EACN,WAAW,EACX,eAAe,CAChB,CAAA;IACD,OAAO;QACL,GAAG,MAAM;QACT,GAAG,eAAe,CAAc,SAAS,CAAC;QAC1C,KAAK;QACL,OAAO,EAAE,SAAS;QAClB,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE,CAC3B,IAAI,CACF;YACE,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YAC3D,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YACrD,WAAW,EAAE,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE;YAC9D,cAAc,EAAE;gBACd,GAAG,MAAM,CAAC,cAAc;gBACxB,GAAG,OAAO,CAAC,cAAc;aAC1B;SACF,EACD,WAAW,EACX,eAAe,CAChB;QACH,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACnB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;YACxB,CAAC,iBAAiB,CAAC,EAAE,MAAM;YAC3B,CAAC,kBAAkB,CAAC,EAAE,SAAS;SAChC,CAAC;QACF,SAAS;QACT,OAAO;KACR,CAAA;AACH,CAAC"}
package/dist/Errors.d.ts CHANGED
@@ -8,11 +8,19 @@ export interface ErrorPolicyOptions<I extends readonly ErrorSchema[], P extends
8
8
  readonly public?: P;
9
9
  /** Preserve an existing API's codes; unspecified tags use their own name. */
10
10
  readonly publicCodes?: [P[number]] extends [never] ? never : Partial<Record<ErrorsOf<NoInfer<P>>["_tag"], string>>;
11
+ /**
12
+ * A fixed message for a public error. Clients get only this message and the
13
+ * error's code: neither its own message nor any declared field is exposed.
14
+ * Use it to expose errors whose fields are internal, such as a not-found
15
+ * error that carries a storage key.
16
+ */
17
+ readonly publicMessages?: [P[number]] extends [never] ? never : Partial<Record<ErrorsOf<NoInfer<P>>["_tag"], string>>;
11
18
  }
12
19
  export interface ErrorPolicy {
13
20
  readonly internal: readonly ErrorSchema[];
14
21
  readonly public: readonly ErrorSchema[];
15
22
  readonly publicCodes?: Readonly<Record<string, string>>;
23
+ readonly publicMessages?: Readonly<Record<string, string>>;
16
24
  }
17
25
  export declare const defaultErrorPolicy: ErrorPolicy;
18
26
  export interface ErrorReport {
@@ -1 +1 @@
1
- {"version":3,"file":"Errors.d.ts","sourceRoot":"","sources":["../src/Errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAkB,MAAM,QAAQ,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,QAAQ,EAGd,MAAM,cAAc,CAAA;AAErB,MAAM,WAAW,kBAAkB,CACjC,CAAC,SAAS,SAAS,WAAW,EAAE,EAChC,CAAC,SAAS,SAAS,WAAW,EAAE;IAEhC,iDAAiD;IACjD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACnB,6EAA6E;IAC7E,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAC9C,KAAK,GACL,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;CAC1D;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAA;IACzC,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAA;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACxD;AAED,eAAO,MAAM,kBAAkB,EAAE,WAA0C,CAAA;AAE3E,MAAM,WAAW,WAAW;IAC1B,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,CAAA;CAClE;;qBAMoB,CAAC,KAAK,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;;AAJhE,wFAAwF;AACxF,qBAAa,aAAc,SAAQ,kBAKG;CAAG;AAKzC,eAAO,MAAM,eAAe,UAAW,OAAO,KAAG,OACI,CAAA;AAErD,eAAO,MAAM,UAAU,YACZ,MAAM,cACH,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,UACrC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAC3B,YAOF,CAAA;AAED,eAAO,MAAM,SAAS,UAAW,MAAM,KAAG,YAGtC,CAAA;AAKJ,eAAO,MAAM,YAAY,UAAW,OAAO,KAAG,OAGnC,CAAA;AAiCX,eAAO,MAAM,YAAY,UAChB,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,WAClB,SAAS,WAAW,EAAE,UACvB,WAAW,YACT,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,KACnC,MAAM,CAAC,MAAM,CAAC,OAAO,CAyBpB,CAAA;AAEJ,sFAAsF;AACtF,eAAO,MAAM,OAAO,aACR,MAAM,OAAO,WACd,SAAS,WAAW,EAAE,UACvB,WAAW,YACT,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,KACnC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CA8BrC,CAAA;AAEH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,MAAM,GACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKzB"}
1
+ {"version":3,"file":"Errors.d.ts","sourceRoot":"","sources":["../src/Errors.ts"],"names":[],"mappings":"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"}
package/dist/Errors.js CHANGED
@@ -46,15 +46,18 @@ function visibleFailure(error, members, policy) {
46
46
  }
47
47
  const visible = policy.public.find(matches);
48
48
  if (visible) {
49
- const { _tag, message, ...extensions } = declaredFields(visible, error);
50
49
  const tag = errorName(visible);
51
- return fieldError(String(message ?? tag), {
52
- ...extensions,
53
- code: policy.publicCodes?.[tag] ?? tag,
54
- });
50
+ const code = entry(policy.publicCodes, tag) ?? tag;
51
+ const fixed = entry(policy.publicMessages, tag);
52
+ if (fixed !== undefined)
53
+ return fieldError(fixed, { code });
54
+ const { _tag, message, ...extensions } = declaredFields(visible, error);
55
+ return fieldError(String(message ?? tag), { ...extensions, code });
55
56
  }
56
57
  return undefined;
57
58
  }
59
+ // Own entries only, so a tag such as "constructor" never reads the prototype.
60
+ const entry = (record, tag) => record && Object.hasOwn(record, tag) ? record[tag] : undefined;
58
61
  export const recoverCause = (cause, members, policy, location) => Effect.gen(function* () {
59
62
  // Do not turn cancellation into an error response or a telemetry incident.
60
63
  if (Cause.hasInterruptsOnly(cause))
@@ -1 +1 @@
1
- {"version":3,"file":"Errors.js","sourceRoot":"","sources":["../src/Errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Errors.js","sourceRoot":"","sources":["../src/Errors.ts"],"names":[],"mappings":"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"}
package/dist/GraphQL.d.ts CHANGED
@@ -6,5 +6,6 @@ export type { Connection, ConnectionArgs, Edge, PageInfo, } from "./Connections.
6
6
  export type { ErrorSchema, ResultOptions } from "./Results.ts";
7
7
  export { ErrorReporter, type ErrorReport, type ErrorPolicyOptions, } from "./Errors.ts";
8
8
  export { ID, JSONValue, DateTime, id, input, defaulted } from "./SchemaTypes.ts";
9
+ export { jsonScalar, type JSONScalarOptions } from "./Scalars.ts";
9
10
  export { executor, type Executor, type Execution, type Json, execute, subscribe, type BuiltSchema, type Request, type ExecutionResult, type FormattedExecutionResult, } from "./Execution.ts";
10
11
  //# sourceMappingURL=GraphQL.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GraphQL.d.ts","sourceRoot":"","sources":["../src/GraphQL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAA;AAC/E,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC5E,YAAY,EACV,KAAK,EACL,MAAM,EACN,SAAS,EACT,GAAG,EACH,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,YAAY,GACb,MAAM,iBAAiB,CAAA;AACxB,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,eAAe,GAChB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACV,UAAU,EACV,cAAc,EACd,IAAI,EACJ,QAAQ,GACT,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EACL,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAChF,OAAO,EACL,QAAQ,EACR,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,IAAI,EACT,OAAO,EACP,SAAS,EACT,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,KAAK,wBAAwB,GAC9B,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"GraphQL.d.ts","sourceRoot":"","sources":["../src/GraphQL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAA;AAC/E,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC5E,YAAY,EACV,KAAK,EACL,MAAM,EACN,SAAS,EACT,GAAG,EACH,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,YAAY,GACb,MAAM,iBAAiB,CAAA;AACxB,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,eAAe,GAChB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACV,UAAU,EACV,cAAc,EACd,IAAI,EACJ,QAAQ,GACT,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC9D,OAAO,EACL,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAChF,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACjE,OAAO,EACL,QAAQ,EACR,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,IAAI,EACT,OAAO,EACP,SAAS,EACT,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,KAAK,wBAAwB,GAC9B,MAAM,gBAAgB,CAAA"}
package/dist/GraphQL.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export { createBuilder } from "./Builder.js";
2
2
  export { ErrorReporter, } from "./Errors.js";
3
3
  export { ID, JSONValue, DateTime, id, input, defaulted } from "./SchemaTypes.js";
4
+ export { jsonScalar } from "./Scalars.js";
4
5
  export { executor, execute, subscribe, } from "./Execution.js";
5
6
  //# sourceMappingURL=GraphQL.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GraphQL.js","sourceRoot":"","sources":["../src/GraphQL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAqC,MAAM,cAAc,CAAA;AAgC/E,OAAO,EACL,aAAa,GAGd,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAChF,OAAO,EACL,QAAQ,EAIR,OAAO,EACP,SAAS,GAKV,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"GraphQL.js","sourceRoot":"","sources":["../src/GraphQL.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAqC,MAAM,cAAc,CAAA;AAgC/E,OAAO,EACL,aAAa,GAGd,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAChF,OAAO,EAAE,UAAU,EAA0B,MAAM,cAAc,CAAA;AACjE,OAAO,EACL,QAAQ,EAIR,OAAO,EACP,SAAS,GAKV,MAAM,gBAAgB,CAAA"}
@@ -21,7 +21,7 @@ export type Model = {
21
21
  export type Tag<M extends Model> = M["Type"] extends {
22
22
  readonly _tag: infer N extends string;
23
23
  } ? N : never;
24
- export type InferKind<M extends Model> = M extends Schema.Literals<readonly string[]> ? "enum" : M extends Schema.Union<readonly Schema.Top[]> ? "union" : M["Type"] extends string | number | boolean | Date ? "scalar" : "object";
24
+ export type InferKind<M extends Model> = M extends Schema.Literals<readonly string[]> ? "enum" : unknown extends M["Type"] ? "scalar" : M extends Schema.Union<readonly Schema.Top[]> ? "union" : M["Type"] extends string | number | boolean | Date ? "scalar" : "object";
25
25
  /** Tagged models need no name; non-object abstract types specify their kind. */
26
26
  export type Register<M extends Model, N extends string = Tag<M>, K extends DefinitionKind = InferKind<M>> = {
27
27
  readonly [Name in N]: Registration<K, M["Type"]>;
@@ -1 +1 @@
1
- {"version":3,"file":"Registry.d.ts","sourceRoot":"","sources":["../src/Registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Registry.d.ts","sourceRoot":"","sources":["../src/Registry.ts"],"names":[],"mappings":"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"}
package/dist/Scalars.d.ts CHANGED
@@ -3,7 +3,29 @@ import { GraphQLScalarType, GraphQLEnumType } from "graphql";
3
3
  export declare const date: (value: unknown) => Date;
4
4
  export declare const dateTime: () => GraphQLScalarType<unknown, unknown>;
5
5
  export declare function scalar<A, I>(name: string, codec: Schema.Codec<A, I>): GraphQLScalarType;
6
- /** Like graphql-type-json, variables and outputs are deliberately unrestricted JS values. */
7
- export declare const jsonScalar: () => GraphQLScalarType<unknown, unknown>;
6
+ /** Metadata of the built-in JSON scalar. */
7
+ export interface JSONScalarOptions {
8
+ /** Replaces the default description, which cites ECMA-404. */
9
+ readonly description?: string | undefined;
10
+ /** Printed as `@specifiedBy(url: ...)`. */
11
+ readonly specifiedByURL?: string | undefined;
12
+ }
13
+ /**
14
+ * The built-in `JSON` scalar. Like graphql-type-json, variables and outputs
15
+ * are deliberately unrestricted JS values; literals are JSON values, and enum
16
+ * literals are rejected at any depth. Pass it to `GraphQL.scalar("JSON", ...)`
17
+ * to give the scalar its own metadata.
18
+ *
19
+ * ```ts
20
+ * const specifiedByURL =
21
+ * "https://ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf"
22
+ * export const JSONType = GraphQL.scalar(
23
+ * "JSON",
24
+ * JSONValue.annotate({ specifiedByURL }),
25
+ * jsonScalar({ specifiedByURL }),
26
+ * )
27
+ * ```
28
+ */
29
+ export declare const jsonScalar: (options?: JSONScalarOptions) => GraphQLScalarType;
8
30
  export declare function enumeration(name: string, schema: Schema.Schema<string>): GraphQLEnumType;
9
31
  //# sourceMappingURL=Scalars.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Scalars.d.ts","sourceRoot":"","sources":["../src/Scalars.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EACL,iBAAiB,EACjB,eAAe,EAIhB,MAAM,SAAS,CAAA;AAKhB,eAAO,MAAM,IAAI,UAAW,OAAO,SAOlC,CAAA;AAcD,eAAO,MAAM,QAAQ,2CAelB,CAAA;AAEH,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EACzB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GACxB,iBAAiB,CAkCnB;AAyBD,6FAA6F;AAC7F,eAAO,MAAM,UAAU,2CAUpB,CAAA;AAEH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAC5B,eAAe,CAcjB"}
1
+ {"version":3,"file":"Scalars.d.ts","sourceRoot":"","sources":["../src/Scalars.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/B,OAAO,EACL,iBAAiB,EACjB,eAAe,EAIhB,MAAM,SAAS,CAAA;AAKhB,eAAO,MAAM,IAAI,UAAW,OAAO,SAOlC,CAAA;AAcD,eAAO,MAAM,QAAQ,2CAelB,CAAA;AAEH,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EACzB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GACxB,iBAAiB,CAyCnB;AAyBD,4CAA4C;AAC5C,MAAM,WAAW,iBAAiB;IAChC,8DAA8D;IAC9D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzC,2CAA2C;IAC3C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC7C;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,UAAU,aACZ,iBAAiB,KACzB,iBAYA,CAAA;AAEH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,GAC5B,eAAe,CAcjB"}
package/dist/Scalars.js CHANGED
@@ -34,6 +34,13 @@ export const dateTime = () => guardScalar(new GraphQLScalarType({
34
34
  : invalidInput("DateTime expects a string literal"),
35
35
  }));
36
36
  export function scalar(name, codec) {
37
+ // "JSON" registered with a permissive schema such as `JSONValue` keeps the
38
+ // built-in JSON parsing and takes the schema's metadata.
39
+ if (name === "JSON" && codec.ast._tag === "Unknown")
40
+ return jsonScalar({
41
+ ...metadata(codec.ast),
42
+ specifiedByURL: annotations(codec.ast).specifiedByURL,
43
+ });
37
44
  const decode = Schema.decodeUnknownSync(codec);
38
45
  const encode = Schema.encodeUnknownSync(codec);
39
46
  const decodeInput = (value) => {
@@ -80,10 +87,27 @@ function jsonLiteral(node, variables) {
80
87
  return valueFromASTUntyped(node, variables);
81
88
  }
82
89
  }
83
- /** Like graphql-type-json, variables and outputs are deliberately unrestricted JS values. */
84
- export const jsonScalar = () => guardScalar(new GraphQLScalarType({
90
+ /**
91
+ * The built-in `JSON` scalar. Like graphql-type-json, variables and outputs
92
+ * are deliberately unrestricted JS values; literals are JSON values, and enum
93
+ * literals are rejected at any depth. Pass it to `GraphQL.scalar("JSON", ...)`
94
+ * to give the scalar its own metadata.
95
+ *
96
+ * ```ts
97
+ * const specifiedByURL =
98
+ * "https://ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf"
99
+ * export const JSONType = GraphQL.scalar(
100
+ * "JSON",
101
+ * JSONValue.annotate({ specifiedByURL }),
102
+ * jsonScalar({ specifiedByURL }),
103
+ * )
104
+ * ```
105
+ */
106
+ export const jsonScalar = (options = {}) => guardScalar(new GraphQLScalarType({
85
107
  name: "JSON",
86
- description: "The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).",
108
+ description: options.description ??
109
+ "The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).",
110
+ specifiedByURL: options.specifiedByURL,
87
111
  serialize: (value) => value,
88
112
  parseValue: (value) => value,
89
113
  parseLiteral: jsonLiteral,
@@ -1 +1 @@
1
- {"version":3,"file":"Scalars.js","sourceRoot":"","sources":["../src/Scalars.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Scalars.js","sourceRoot":"","sources":["../src/Scalars.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@model-ts/graphql",
3
- "version": "7.2.0",
3
+ "version": "7.4.0",
4
4
  "description": "Effect-native GraphQL schemas, typed model registration and resolver services.",
5
5
  "keywords": [
6
6
  "effect",
package/src/Builder.ts CHANGED
@@ -95,6 +95,10 @@ function make<Types, G, C>(
95
95
  internal: [...policy.internal, ...(options.internal ?? [])],
96
96
  public: [...policy.public, ...(options.public ?? [])],
97
97
  publicCodes: { ...policy.publicCodes, ...options.publicCodes },
98
+ publicMessages: {
99
+ ...policy.publicMessages,
100
+ ...options.publicMessages,
101
+ },
98
102
  },
99
103
  maxPageSize,
100
104
  defaultPageSize,
package/src/Errors.ts CHANGED
@@ -19,12 +19,22 @@ export interface ErrorPolicyOptions<
19
19
  readonly publicCodes?: [P[number]] extends [never]
20
20
  ? never
21
21
  : Partial<Record<ErrorsOf<NoInfer<P>>["_tag"], string>>
22
+ /**
23
+ * A fixed message for a public error. Clients get only this message and the
24
+ * error's code: neither its own message nor any declared field is exposed.
25
+ * Use it to expose errors whose fields are internal, such as a not-found
26
+ * error that carries a storage key.
27
+ */
28
+ readonly publicMessages?: [P[number]] extends [never]
29
+ ? never
30
+ : Partial<Record<ErrorsOf<NoInfer<P>>["_tag"], string>>
22
31
  }
23
32
 
24
33
  export interface ErrorPolicy {
25
34
  readonly internal: readonly ErrorSchema[]
26
35
  readonly public: readonly ErrorSchema[]
27
36
  readonly publicCodes?: Readonly<Record<string, string>>
37
+ readonly publicMessages?: Readonly<Record<string, string>>
28
38
  }
29
39
 
30
40
  export const defaultErrorPolicy: ErrorPolicy = { internal: [], public: [] }
@@ -97,16 +107,23 @@ function visibleFailure(
97
107
  }
98
108
  const visible = policy.public.find(matches)
99
109
  if (visible) {
100
- const { _tag, message, ...extensions } = declaredFields(visible, error)
101
110
  const tag = errorName(visible)
102
- return fieldError(String(message ?? tag), {
103
- ...extensions,
104
- code: policy.publicCodes?.[tag] ?? tag,
105
- })
111
+ const code = entry(policy.publicCodes, tag) ?? tag
112
+ const fixed = entry(policy.publicMessages, tag)
113
+ if (fixed !== undefined) return fieldError(fixed, { code })
114
+ const { _tag, message, ...extensions } = declaredFields(visible, error)
115
+ return fieldError(String(message ?? tag), { ...extensions, code })
106
116
  }
107
117
  return undefined
108
118
  }
109
119
 
120
+ // Own entries only, so a tag such as "constructor" never reads the prototype.
121
+ const entry = (
122
+ record: Readonly<Record<string, string>> | undefined,
123
+ tag: string,
124
+ ): string | undefined =>
125
+ record && Object.hasOwn(record, tag) ? record[tag] : undefined
126
+
110
127
  export const recoverCause = (
111
128
  cause: Cause.Cause<unknown>,
112
129
  members: readonly ErrorSchema[],
package/src/GraphQL.ts CHANGED
@@ -36,6 +36,7 @@ export {
36
36
  type ErrorPolicyOptions,
37
37
  } from "./Errors.ts"
38
38
  export { ID, JSONValue, DateTime, id, input, defaulted } from "./SchemaTypes.ts"
39
+ export { jsonScalar, type JSONScalarOptions } from "./Scalars.ts"
39
40
  export {
40
41
  executor,
41
42
  type Executor,
package/src/Registry.ts CHANGED
@@ -35,11 +35,14 @@ export type Tag<M extends Model> = M["Type"] extends {
35
35
  export type InferKind<M extends Model> =
36
36
  M extends Schema.Literals<readonly string[]>
37
37
  ? "enum"
38
- : M extends Schema.Union<readonly Schema.Top[]>
39
- ? "union"
40
- : M["Type"] extends string | number | boolean | Date
41
- ? "scalar"
42
- : "object"
38
+ : // An unknown value, such as `JSONValue`, can only be a scalar.
39
+ unknown extends M["Type"]
40
+ ? "scalar"
41
+ : M extends Schema.Union<readonly Schema.Top[]>
42
+ ? "union"
43
+ : M["Type"] extends string | number | boolean | Date
44
+ ? "scalar"
45
+ : "object"
43
46
  /** Tagged models need no name; non-object abstract types specify their kind. */
44
47
 
45
48
  export type Register<
package/src/Scalars.ts CHANGED
@@ -52,6 +52,13 @@ export function scalar<A, I>(
52
52
  name: string,
53
53
  codec: Schema.Codec<A, I>,
54
54
  ): GraphQLScalarType {
55
+ // "JSON" registered with a permissive schema such as `JSONValue` keeps the
56
+ // built-in JSON parsing and takes the schema's metadata.
57
+ if (name === "JSON" && codec.ast._tag === "Unknown")
58
+ return jsonScalar({
59
+ ...metadata(codec.ast),
60
+ specifiedByURL: annotations(codec.ast).specifiedByURL,
61
+ })
55
62
  const decode = Schema.decodeUnknownSync(codec)
56
63
  const encode = Schema.encodeUnknownSync(codec)
57
64
  const decodeInput = (value: unknown) => {
@@ -110,13 +117,40 @@ function jsonLiteral(
110
117
  }
111
118
  }
112
119
 
113
- /** Like graphql-type-json, variables and outputs are deliberately unrestricted JS values. */
114
- export const jsonScalar = () =>
120
+ /** Metadata of the built-in JSON scalar. */
121
+ export interface JSONScalarOptions {
122
+ /** Replaces the default description, which cites ECMA-404. */
123
+ readonly description?: string | undefined
124
+ /** Printed as `@specifiedBy(url: ...)`. */
125
+ readonly specifiedByURL?: string | undefined
126
+ }
127
+
128
+ /**
129
+ * The built-in `JSON` scalar. Like graphql-type-json, variables and outputs
130
+ * are deliberately unrestricted JS values; literals are JSON values, and enum
131
+ * literals are rejected at any depth. Pass it to `GraphQL.scalar("JSON", ...)`
132
+ * to give the scalar its own metadata.
133
+ *
134
+ * ```ts
135
+ * const specifiedByURL =
136
+ * "https://ecma-international.org/wp-content/uploads/ECMA-404_2nd_edition_december_2017.pdf"
137
+ * export const JSONType = GraphQL.scalar(
138
+ * "JSON",
139
+ * JSONValue.annotate({ specifiedByURL }),
140
+ * jsonScalar({ specifiedByURL }),
141
+ * )
142
+ * ```
143
+ */
144
+ export const jsonScalar = (
145
+ options: JSONScalarOptions = {},
146
+ ): GraphQLScalarType =>
115
147
  guardScalar(
116
148
  new GraphQLScalarType({
117
149
  name: "JSON",
118
150
  description:
151
+ options.description ??
119
152
  "The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).",
153
+ specifiedByURL: options.specifiedByURL,
120
154
  serialize: (value) => value,
121
155
  parseValue: (value) => value,
122
156
  parseLiteral: jsonLiteral,