@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/CHANGELOG.md +14 -0
- package/README.md +37 -2
- package/dist/.tsbuildinfo +1 -1
- package/dist/Builder.js +4 -0
- package/dist/Builder.js.map +1 -1
- package/dist/Errors.d.ts +8 -0
- package/dist/Errors.d.ts.map +1 -1
- package/dist/Errors.js +8 -5
- package/dist/Errors.js.map +1 -1
- package/dist/GraphQL.d.ts +1 -0
- package/dist/GraphQL.d.ts.map +1 -1
- package/dist/GraphQL.js +1 -0
- package/dist/GraphQL.js.map +1 -1
- package/dist/Registry.d.ts +1 -1
- package/dist/Registry.d.ts.map +1 -1
- package/dist/Scalars.d.ts +24 -2
- package/dist/Scalars.d.ts.map +1 -1
- package/dist/Scalars.js +27 -3
- package/dist/Scalars.js.map +1 -1
- package/package.json +1 -1
- package/src/Builder.ts +4 -0
- package/src/Errors.ts +22 -5
- package/src/GraphQL.ts +1 -0
- package/src/Registry.ts +8 -5
- package/src/Scalars.ts +36 -2
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),
|
package/dist/Builder.js.map
CHANGED
|
@@ -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;
|
|
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 {
|
package/dist/Errors.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
52
|
-
|
|
53
|
-
|
|
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))
|
package/dist/Errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Errors.js","sourceRoot":"","sources":["../src/Errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAGL,WAAW,EACX,SAAS,GACV,MAAM,cAAc,CAAA;
|
|
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
|
package/dist/GraphQL.d.ts.map
CHANGED
|
@@ -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
|
package/dist/GraphQL.js.map
CHANGED
|
@@ -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"}
|
package/dist/Registry.d.ts
CHANGED
|
@@ -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"]>;
|
package/dist/Registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Registry.d.ts","sourceRoot":"","sources":["../src/Registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,IAAI,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC5E,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEhE,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAA;IACvB,IAAI,EAAE,OAAO,CAAA;CACd;AAED,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,WAAW,GACX,OAAO,GACP,QAAQ,GACR,MAAM,CAAA;AAEV,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,cAAc,EAAE,CAAC;IACvD,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;IAChB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAClB;AAED,MAAM,MAAM,KAAK,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAA;AAE9C,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,MAAM,CAAA;CACtC,GACG,CAAC,GACD,KAAK,CAAA;AAET,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,KAAK,IACnC,CAAC,SAAS,MAAM,CAAC,QAAQ,CAAC,SAAS,MAAM,EAAE,CAAC,GACxC,MAAM,
|
|
1
|
+
{"version":3,"file":"Registry.d.ts","sourceRoot":"","sources":["../src/Registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,IAAI,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC5E,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEhE,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,IAAI,GAAG,MAAM,CAAA;IACvB,IAAI,EAAE,OAAO,CAAA;CACd;AAED,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,WAAW,GACX,OAAO,GACP,QAAQ,GACR,MAAM,CAAA;AAEV,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,cAAc,EAAE,CAAC;IACvD,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;IAChB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAClB;AAED,MAAM,MAAM,KAAK,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAA;AAE9C,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,MAAM,CAAA;CACtC,GACG,CAAC,GACD,KAAK,CAAA;AAET,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,KAAK,IACnC,CAAC,SAAS,MAAM,CAAC,QAAQ,CAAC,SAAS,MAAM,EAAE,CAAC,GACxC,MAAM,GAEN,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,GACvB,QAAQ,GACR,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,CAAC,GAC3C,OAAO,GACP,CAAC,CAAC,MAAM,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAChD,QAAQ,GACR,QAAQ,CAAA;AACpB,gFAAgF;AAEhF,MAAM,MAAM,QAAQ,CAClB,CAAC,SAAS,KAAK,EACf,CAAC,SAAS,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,EACzB,CAAC,SAAS,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,IACrC;IACF,QAAQ,EAAE,IAAI,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;CACjD,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,KAAK,EAAE,IAAI,SAAS,cAAc,IAAI,OAAO,CACnE;KACG,CAAC,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK;CAC7E,CAAC,MAAM,KAAK,CAAC,EACd,MAAM,CACP,CAAA;AAED,MAAM,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,SAAS,MAAM,KAAK,GACjD,KAAK,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,GACpD,CAAC,GACD,KAAK,GACP,KAAK,CAAA;AAET,MAAM,MAAM,MAAM,CAAC,KAAK,IAAI;IAC1B,QAAQ,EAAE,CAAC,IAAI,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;CAC/C,GAAG;IACF,QAAQ,EACN,CAAC,IAAI,WAAW,CACd,KAAK,EACL,QAAQ,GAAG,WAAW,GAAG,OAAO,CACjC,IAAI,GAAG,CAAC,MAAM,SAAS,MAAM,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,MAAM,GACvD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;CAC3B,GAAG;IACF,QAAQ,EACN,CAAC,IAAI,WAAW,CACd,KAAK,EACL,QAAQ,GAAG,WAAW,GAAG,OAAO,CACjC,IAAI,GAAG,CAAC,YAAY,SAAS,MAAM,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,YAAY,GACnE,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;CACjC,GAAG,CAAC,UAAU,SAAS,MAAM,KAAK,GAAG,EAAE,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAC,CAAA;AAE3E,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS;IAChC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,SAAS,MAAM,CAAA;CACzC,GACG,CAAC,GACD,KAAK,CAAA;AAET,MAAM,MAAM,iBAAiB,CAC3B,KAAK,EACL,CAAC,SAAS,MAAM,EAChB,CAAC,EACD,CAAC,SAAS,cAAc,IACtB,CAAC,SAAS,MAAM,KAAK,GACrB,KAAK,CAAC,CAAC,CAAC,SAAS,YAAY,CAAC,CAAC,EAAE,MAAM,QAAQ,CAAC,GAC9C,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,GACpB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GACpB,OAAO,GACP,oCAAoC,CAAC,oCAAoC,GAC3E,oCAAoC,CAAC,oCAAoC,GAC3E,mCAAmC,CAAC,eAAe,CAAC,EAAE,GACxD,aAAa,CAAC,gFAAgF,CAAC,GAAG,CAAC,SAAS,QAAQ,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,QAAQ,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAA;AAElM,MAAM,MAAM,iBAAiB,CAC3B,KAAK,EACL,CAAC,SAAS,MAAM,EAChB,CAAC,EACD,CAAC,SAAS,cAAc,IAExB,iBAAiB,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,SAAS,MAAM,KAAK,GACjD,KAAK,SAAS,MAAM,GAClB;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GACzB,OAAO,GACT,KAAK,CAAA;AAEX,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,GAAG;IACrC,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACxC,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAA;KAAE,CAAA;CACtD,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC,SAAS,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,WAAW,GACxE,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,SAAS,MAAM,KAAK,GACvE,KAAK,SAAS,MAAM,GAClB,KAAK,GACL,KAAK,GACP,KAAK,GACP,oHAAoH,CAAA;AAExH,MAAM,MAAM,cAAc,CAAC,KAAK,EAAE,OAAO,SAAS,SAAS,MAAM,CAAC,GAAG,EAAE,IACrE,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,KAAK,GACnD,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GACrB,OAAO,GACP;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAC3B,KAAK,CAAA;AAEX,MAAM,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC,IAC3B,OAAO,CAAC,MAAM,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,OAAO,GAC1D,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GACvB,OAAO,GACP,uBAAuB,OAAO,GAAG,MAAM,uCAAuC,GAChF,KAAK,CAAA;AAEX,0FAA0F;AAC1F,MAAM,MAAM,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI;IACrC,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;QACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACzB,GACG,CAAC,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,GACxB,CAAC,SAAS,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,GACnC,OAAO,GACP,mIAAmI,GACrI,kIAAkI,GACpI,OAAO;CACZ,CAAA"}
|
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
|
-
/**
|
|
7
|
-
export
|
|
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
|
package/dist/Scalars.d.ts.map
CHANGED
|
@@ -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,
|
|
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
|
-
/**
|
|
84
|
-
|
|
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:
|
|
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,
|
package/dist/Scalars.js.map
CHANGED
|
@@ -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
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
|
-
|
|
103
|
-
|
|
104
|
-
|
|
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
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
|
-
:
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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
|
-
/**
|
|
114
|
-
export
|
|
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,
|