@schema-hub/zod-graphql-query-builder 0.0.13 → 0.0.15

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 (49) hide show
  1. package/package.json +17 -6
  2. package/readme.md +80 -2
  3. package/sbom.cdx.json +67 -0
  4. package/zod-graphql-query-builder/build-context.js +11 -0
  5. package/zod-graphql-query-builder/build-context.js.map +1 -0
  6. package/zod-graphql-query-builder/builder.d.ts +5 -16
  7. package/zod-graphql-query-builder/builder.d.ts.map +1 -1
  8. package/zod-graphql-query-builder/builder.js +21 -161
  9. package/zod-graphql-query-builder/builder.js.map +1 -1
  10. package/zod-graphql-query-builder/custom-scalar.d.ts +1 -2
  11. package/zod-graphql-query-builder/custom-scalar.d.ts.map +1 -1
  12. package/zod-graphql-query-builder/custom-scalar.js +3 -3
  13. package/zod-graphql-query-builder/custom-scalar.js.map +1 -1
  14. package/zod-graphql-query-builder/entry-point.d.ts +7 -10
  15. package/zod-graphql-query-builder/entry-point.d.ts.map +1 -1
  16. package/zod-graphql-query-builder/entry-point.js +4 -4
  17. package/zod-graphql-query-builder/fragment-definitions.js +15 -0
  18. package/zod-graphql-query-builder/fragment-definitions.js.map +1 -0
  19. package/zod-graphql-query-builder/query-schema.d.ts +65 -29
  20. package/zod-graphql-query-builder/query-schema.d.ts.map +1 -1
  21. package/zod-graphql-query-builder/query-schema.js +26 -32
  22. package/zod-graphql-query-builder/query-schema.js.map +1 -1
  23. package/zod-graphql-query-builder/root-shape.js +7 -0
  24. package/zod-graphql-query-builder/root-shape.js.map +1 -0
  25. package/zod-graphql-query-builder/serializer.js +312 -0
  26. package/zod-graphql-query-builder/serializer.js.map +1 -0
  27. package/zod-graphql-query-builder/type-name.d.ts +8 -0
  28. package/zod-graphql-query-builder/type-name.d.ts.map +1 -0
  29. package/zod-graphql-query-builder/type-name.js +45 -0
  30. package/zod-graphql-query-builder/type-name.js.map +1 -0
  31. package/zod-graphql-query-builder/values/enum.d.ts +0 -1
  32. package/zod-graphql-query-builder/values/enum.d.ts.map +1 -1
  33. package/zod-graphql-query-builder/values/enum.js +2 -2
  34. package/zod-graphql-query-builder/values/parameter-list.js +10 -4
  35. package/zod-graphql-query-builder/values/parameter-list.js.map +1 -1
  36. package/zod-graphql-query-builder/values/value.d.ts +4 -9
  37. package/zod-graphql-query-builder/values/value.d.ts.map +1 -1
  38. package/zod-graphql-query-builder/values/value.js +13 -7
  39. package/zod-graphql-query-builder/values/value.js.map +1 -1
  40. package/zod-graphql-query-builder/values/variable-placeholder.d.ts +0 -2
  41. package/zod-graphql-query-builder/values/variable-placeholder.d.ts.map +1 -1
  42. package/zod-graphql-query-builder/values/variable-placeholder.js +1 -1
  43. package/zod-graphql-query-builder/values/variable-set.js +4 -0
  44. package/zod-graphql-query-builder/values/variable-set.js.map +1 -0
  45. package/zod-graphql-query-builder/variable-correlations.js.map +1 -1
  46. package/zod-graphql-query-builder/variable-definition.d.ts +1 -2
  47. package/zod-graphql-query-builder/variable-definition.d.ts.map +1 -1
  48. package/zod-graphql-query-builder/variable-definition.js +6 -3
  49. package/zod-graphql-query-builder/variable-definition.js.map +1 -1
@@ -0,0 +1,45 @@
1
+ /* eslint-disable no-underscore-dangle -- we need to access _zod */
2
+ import { $ZodLiteral } from 'zod/v4/core';
3
+ import { unwrapFieldSchema } from "./query-schema.js";
4
+ import { isValidGraphqlName } from "./values/name.js";
5
+ function extractLiteralStringValue(schema) {
6
+ const unwrapped = unwrapFieldSchema(schema);
7
+ if (!(unwrapped instanceof $ZodLiteral)) {
8
+ return null;
9
+ }
10
+ const { values } = unwrapped._zod.def;
11
+ if (values.length !== 1) {
12
+ return null;
13
+ }
14
+ const [value] = values;
15
+ if (typeof value !== 'string') {
16
+ return null;
17
+ }
18
+ return value;
19
+ }
20
+ function inferTypeNameFromShape(schema) {
21
+ const typenameField = schema._zod.def.shape.__typename;
22
+ if (typenameField === undefined) {
23
+ return null;
24
+ }
25
+ const value = extractLiteralStringValue(typenameField);
26
+ if (value === null || !isValidGraphqlName(value)) {
27
+ return null;
28
+ }
29
+ return value;
30
+ }
31
+ function assertNoTypeNameConflict(explicit, inferred) {
32
+ if (explicit === null || inferred === null || explicit === inferred) {
33
+ return;
34
+ }
35
+ const prefix = `Conflicting GraphQL type name for schema: registered as "${explicit}" but `;
36
+ const suffix = `\`__typename\` literal is "${inferred}".`;
37
+ throw new Error(prefix + suffix);
38
+ }
39
+ export function resolveTypeName(registry, schema) {
40
+ const explicit = registry.get(schema)?.typeName ?? null;
41
+ const inferred = inferTypeNameFromShape(schema);
42
+ assertNoTypeNameConflict(explicit, inferred);
43
+ return explicit ?? inferred;
44
+ }
45
+ //# sourceMappingURL=type-name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-name.js","sourceRoot":"","sources":["../../../../source/zod-graphql-query-builder/type-name.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAIH,iBAAiB,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAWtD,SAAS,yBAAyB,CAAC,MAAmB;IAClD,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,CAAC,SAAS,YAAY,WAAW,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;IACtC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,CAAE,KAAK,CAAE,GAAG,MAAM,CAAC;IACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAsC;IAClE,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC;IACvD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,KAAK,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAC;IACvD,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,SAAS,wBAAwB,CAAC,QAAuB,EAAE,QAAuB;IAC9E,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClE,OAAO;IACX,CAAC;IACD,MAAM,MAAM,GAAG,4DAA4D,QAAQ,QAAQ,CAAC;IAC5F,MAAM,MAAM,GAAG,8BAA8B,QAAQ,IAAI,CAAC;IAC1D,MAAM,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,eAAe,CAC3B,QAA8B,EAC9B,MAAsC;IAEtC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,QAAQ,IAAI,IAAI,CAAC;IACxD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAChD,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC7C,OAAO,QAAQ,IAAI,QAAQ,CAAC;AAChC,CAAC"}
@@ -2,6 +2,5 @@ export type GraphqlEnumValue = {
2
2
  readonly enumValue: string;
3
3
  readonly tag: symbol;
4
4
  };
5
- export declare function isEnumValue(value: unknown): value is GraphqlEnumValue;
6
5
  export declare function enumValue(value: string): GraphqlEnumValue;
7
6
  //# sourceMappingURL=enum.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../../../../source/zod-graphql-query-builder/values/enum.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,gBAAgB,GAAG;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACxB,CAAC;AAIF,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAErE;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CASzD"}
1
+ {"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../../../../source/zod-graphql-query-builder/values/enum.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,gBAAgB,GAAG;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACxB;AAQD,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB"}
@@ -1,5 +1,5 @@
1
- import { isValidGraphqlName } from './name.js';
2
- import { hasProperty, isRecord } from './record.js';
1
+ import { isValidGraphqlName } from "./name.js";
2
+ import { hasProperty, isRecord } from "./record.js";
3
3
  const enumValueSymbol = Symbol('GraphQL enum value');
4
4
  export function isEnumValue(value) {
5
5
  return isRecord(value) && hasProperty(value, 'tag') && value.tag === enumValueSymbol;
@@ -1,15 +1,21 @@
1
- import { isValidGraphqlName } from './name.js';
2
- import { normalizeGraphqlValue } from './value.js';
1
+ import { isValidGraphqlName } from "./name.js";
2
+ import { normalizeGraphqlValue } from "./value.js";
3
+ import { mergeVariables } from "./variable-set.js";
3
4
  export function normalizeParameterList(parameters) {
4
5
  let referencedVariables = new Set();
5
6
  const serializedParameters = [];
6
- for (const [parameterName, parameterValue] of Object.entries(parameters)) {
7
+ const sortedEntries = Object
8
+ .entries(parameters)
9
+ .toSorted(function ([nameA], [nameB]) {
10
+ return nameA.localeCompare(nameB);
11
+ });
12
+ for (const [parameterName, parameterValue] of sortedEntries) {
7
13
  if (!isValidGraphqlName(parameterName)) {
8
14
  throw new Error(`Parameter name "${parameterName}" is not a valid GraphQL parameter name`);
9
15
  }
10
16
  const normalizedParameterValue = normalizeGraphqlValue(parameterValue);
11
17
  serializedParameters.push(`${parameterName}: ${normalizedParameterValue.serializedValue}`);
12
- referencedVariables = new Set([...referencedVariables, ...normalizedParameterValue.referencedVariables]);
18
+ referencedVariables = mergeVariables(referencedVariables, normalizedParameterValue.referencedVariables);
13
19
  }
14
20
  return {
15
21
  serializedValue: serializedParameters.length > 0 ? `(${serializedParameters.join(', ')})` : '',
@@ -1 +1 @@
1
- {"version":3,"file":"parameter-list.js","sourceRoot":"","sources":["../../../../../source/zod-graphql-query-builder/values/parameter-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAkD,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnG,MAAM,UAAU,sBAAsB,CAAC,UAAwC;IAC3E,IAAI,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5C,MAAM,oBAAoB,GAAa,EAAE,CAAC;IAE1C,KAAK,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACvE,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,mBAAmB,aAAa,yCAAyC,CAAC,CAAC;QAC/F,CAAC;QAED,MAAM,wBAAwB,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;QACvE,oBAAoB,CAAC,IAAI,CAAC,GAAG,aAAa,KAAK,wBAAwB,CAAC,eAAe,EAAE,CAAC,CAAC;QAC3F,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,mBAAmB,EAAE,GAAG,wBAAwB,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC7G,CAAC;IAED,OAAO;QACH,eAAe,EAAE,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QAC9F,mBAAmB;KACtB,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"parameter-list.js","sourceRoot":"","sources":["../../../../../source/zod-graphql-query-builder/values/parameter-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAkD,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,UAAU,sBAAsB,CAAC,UAAkD;IACrF,IAAI,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5C,MAAM,oBAAoB,GAAa,EAAE,CAAC;IAE1C,MAAM,aAAa,GAAG,MAAM;SACvB,OAAO,CAAC,UAAU,CAAC;SACnB,QAAQ,CAAC,UAAU,CAAE,KAAK,CAAE,EAAE,CAAE,KAAK,CAAE;QACpC,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEP,KAAK,MAAM,CAAE,aAAa,EAAE,cAAc,CAAE,IAAI,aAAa,EAAE,CAAC;QAC5D,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,mBAAmB,aAAa,yCAAyC,CAAC,CAAC;QAC/F,CAAC;QAED,MAAM,wBAAwB,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;QACvE,oBAAoB,CAAC,IAAI,CAAC,GAAG,aAAa,KAAK,wBAAwB,CAAC,eAAe,EAAE,CAAC,CAAC;QAC3F,mBAAmB,GAAG,cAAc,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,mBAAmB,CAAC,CAAC;IAC5G,CAAC;IAED,OAAO;QACH,eAAe,EAAE,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QAC9F,mBAAmB;KACtB,CAAC;AACN,CAAC"}
@@ -1,14 +1,9 @@
1
- import { type GraphqlEnumValue } from './enum.js';
2
- import { type GraphqlVariablePlaceholder } from './variable-placeholder.js';
1
+ import { type GraphqlEnumValue } from './enum.ts';
2
+ import { type GraphqlVariablePlaceholder } from './variable-placeholder.ts';
3
3
  type GraphqlObjectValue = {
4
- [Key: string]: GraphqlValue;
4
+ readonly [Key: string]: GraphqlValue;
5
5
  };
6
6
  type GraphqlPrimitiveValue = boolean | number | string | null;
7
- export type GraphqlValue = GraphqlEnumValue | GraphqlObjectValue | GraphqlPrimitiveValue | GraphqlValue[] | GraphqlVariablePlaceholder;
8
- export type NormalizedGraphqlValue = {
9
- serializedValue: string;
10
- referencedVariables: Set<string>;
11
- };
12
- export declare function normalizeGraphqlValue(value: GraphqlValue): NormalizedGraphqlValue;
7
+ export type GraphqlValue = GraphqlEnumValue | GraphqlObjectValue | GraphqlPrimitiveValue | GraphqlVariablePlaceholder | readonly GraphqlValue[];
13
8
  export {};
14
9
  //# sourceMappingURL=value.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../../../../../source/zod-graphql-query-builder/values/value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAe,MAAM,WAAW,CAAC;AAG/D,OAAO,EAAE,KAAK,0BAA0B,EAAyB,MAAM,2BAA2B,CAAC;AAEnG,KAAK,kBAAkB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAC;CAAE,CAAC;AAM3D,KAAK,qBAAqB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAO9D,MAAM,MAAM,YAAY,GAClB,gBAAgB,GAChB,kBAAkB,GAClB,qBAAqB,GACrB,YAAY,EAAE,GACd,0BAA0B,CAAC;AAEjC,MAAM,MAAM,sBAAsB,GAAG;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACpC,CAAC;AA0CF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,YAAY,GAAG,sBAAsB,CA0BjF"}
1
+ {"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../../../../../source/zod-graphql-query-builder/values/value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAe,MAAM,WAAW;AAG9D,OAAO,EAAE,KAAK,0BAA0B,EAAyB,MAAM,2BAA2B;AAGlG,KAAK,kBAAkB,GAAG;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,YAAY,CAAC;CAAE;AAMnE,KAAK,qBAAqB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI;AAO7D,MAAM,MAAM,YAAY,GAClB,gBAAgB,GAChB,kBAAkB,GAClB,qBAAqB,GACrB,0BAA0B,GAC1B,SAAS,YAAY,EAAE"}
@@ -1,7 +1,8 @@
1
- import { isEnumValue } from './enum.js';
2
- import { isValidGraphqlName } from './name.js';
3
- import { isRecord } from './record.js';
4
- import { isVariablePlaceholder } from './variable-placeholder.js';
1
+ import { isEnumValue } from "./enum.js";
2
+ import { isValidGraphqlName } from "./name.js";
3
+ import { isRecord } from "./record.js";
4
+ import { isVariablePlaceholder } from "./variable-placeholder.js";
5
+ import { mergeVariables } from "./variable-set.js";
5
6
  function isObjectValue(value) {
6
7
  return isRecord(value) && !isEnumValue(value) && !isVariablePlaceholder(value);
7
8
  }
@@ -15,14 +16,19 @@ function serializePrimitiveValue(value) {
15
16
  function normalizeObjectValue(value) {
16
17
  let referencedVariables = new Set();
17
18
  const serializedFields = [];
18
- for (const [fieldName, fieldValue] of Object.entries(value)) {
19
+ const sortedEntries = Object
20
+ .entries(value)
21
+ .toSorted(function ([nameA], [nameB]) {
22
+ return nameA.localeCompare(nameB);
23
+ });
24
+ for (const [fieldName, fieldValue] of sortedEntries) {
19
25
  if (!isValidGraphqlName(fieldName)) {
20
26
  throw new Error(`Field name "${fieldName}" is not a valid GraphQL field name`);
21
27
  }
22
28
  // eslint-disable-next-line @typescript-eslint/no-use-before-define -- mutual recursion
23
29
  const normalizedFieldValue = normalizeGraphqlValue(fieldValue);
24
30
  serializedFields.push(`${fieldName}: ${normalizedFieldValue.serializedValue}`);
25
- referencedVariables = new Set([...referencedVariables, ...normalizedFieldValue.referencedVariables]);
31
+ referencedVariables = mergeVariables(referencedVariables, normalizedFieldValue.referencedVariables);
26
32
  }
27
33
  return {
28
34
  serializedValue: `{${serializedFields.join(', ')}}`,
@@ -36,7 +42,7 @@ function normalizeListValue(value) {
36
42
  // eslint-disable-next-line @typescript-eslint/no-use-before-define -- mutual recursion
37
43
  const normalizedItem = normalizeGraphqlValue(item);
38
44
  serializedItems.push(normalizedItem.serializedValue);
39
- referencedVariables = new Set([...referencedVariables, ...normalizedItem.referencedVariables]);
45
+ referencedVariables = mergeVariables(referencedVariables, normalizedItem.referencedVariables);
40
46
  }
41
47
  return {
42
48
  serializedValue: `[${serializedItems.join(', ')}]`,
@@ -1 +1 @@
1
- {"version":3,"file":"value.js","sourceRoot":"","sources":["../../../../../source/zod-graphql-query-builder/values/value.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"value.js","sourceRoot":"","sources":["../../../../../source/zod-graphql-query-builder/values/value.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,5 @@ export type GraphqlVariablePlaceholder = {
2
2
  readonly variableName: string;
3
3
  readonly tag: symbol;
4
4
  };
5
- export declare function isVariablePlaceholder(value: unknown): value is GraphqlVariablePlaceholder;
6
- export declare function isValidVariableIdentifier(value: string): boolean;
7
5
  export declare function variablePlaceholder(variableName: string): GraphqlVariablePlaceholder;
8
6
  //# sourceMappingURL=variable-placeholder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"variable-placeholder.d.ts","sourceRoot":"","sources":["../../../../../source/zod-graphql-query-builder/values/variable-placeholder.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,0BAA0B,GAAG;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACxB,CAAC;AAIF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,0BAA0B,CAEzF;AAID,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,0BAA0B,CASpF"}
1
+ {"version":3,"file":"variable-placeholder.d.ts","sourceRoot":"","sources":["../../../../../source/zod-graphql-query-builder/values/variable-placeholder.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,0BAA0B,GAAG;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;CACxB;AAcD,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,0BAA0B"}
@@ -1,4 +1,4 @@
1
- import { hasProperty, isRecord } from './record.js';
1
+ import { hasProperty, isRecord } from "./record.js";
2
2
  const variablePlaceholderSymbol = Symbol('GraphQL Variable Placeholder');
3
3
  export function isVariablePlaceholder(value) {
4
4
  return isRecord(value) && hasProperty(value, 'tag') && value.tag === variablePlaceholderSymbol;
@@ -0,0 +1,4 @@
1
+ export function mergeVariables(first, second) {
2
+ return new Set([...first, ...second]);
3
+ }
4
+ //# sourceMappingURL=variable-set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variable-set.js","sourceRoot":"","sources":["../../../../../source/zod-graphql-query-builder/values/variable-set.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc,CAAC,KAA0B,EAAE,MAA2B;IAClF,OAAO,IAAI,GAAG,CAAC,CAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAE,CAAC,CAAC;AAC5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"variable-correlations.js","sourceRoot":"","sources":["../../../../source/zod-graphql-query-builder/variable-correlations.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,+BAA+B,CAC3C,mBAAwC,EACxC,mBAAgC;IAEhC,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE5E,KAAK,MAAM,kBAAkB,IAAI,mBAAmB,EAAE,CAAC;QACnD,yBAAyB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,wBAAwB,kBAAkB,qCAAqC,CAAC,CAAC;QACrG,CAAC;IACL,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACpE,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,4BAA4B,mBAAmB,uBAAuB,CAAC,CAAC;IAC5F,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"variable-correlations.js","sourceRoot":"","sources":["../../../../source/zod-graphql-query-builder/variable-correlations.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,+BAA+B,CAC3C,mBAAwC,EACxC,mBAAwC;IAExC,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE5E,KAAK,MAAM,kBAAkB,IAAI,mBAAmB,EAAE,CAAC;QACnD,yBAAyB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACrD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,wBAAwB,kBAAkB,qCAAqC,CAAC,CAAC;QACrG,CAAC;IACL,CAAC;IAED,MAAM,CAAE,mBAAmB,CAAE,GAAG,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IACtE,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,4BAA4B,mBAAmB,uBAAuB,CAAC,CAAC;IAC5F,CAAC;AACL,CAAC"}
@@ -1,3 +1,2 @@
1
- export type VariableDefinitions = Record<string, string>;
2
- export declare function serializeVariableDefinitions(definitions: VariableDefinitions): string;
1
+ export type VariableDefinitions = Readonly<Record<string, string>>;
3
2
  //# sourceMappingURL=variable-definition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"variable-definition.d.ts","sourceRoot":"","sources":["../../../../source/zod-graphql-query-builder/variable-definition.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAoBzD,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,mBAAmB,GAAG,MAAM,CAWrF"}
1
+ {"version":3,"file":"variable-definition.d.ts","sourceRoot":"","sources":["../../../../source/zod-graphql-query-builder/variable-definition.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
- import { isValidVariableIdentifier } from './values/variable-placeholder.js';
2
- import { isValidGraphqlType } from './variable-type.js';
1
+ import { isValidVariableIdentifier } from "./values/variable-placeholder.js";
2
+ import { isValidGraphqlType } from "./variable-type.js";
3
3
  function ensureValidVariableDefinition(variableDefinition) {
4
4
  const [variableName, variableType] = variableDefinition;
5
5
  if (!isValidVariableIdentifier(variableName)) {
@@ -19,7 +19,10 @@ export function serializeVariableDefinitions(definitions) {
19
19
  return '';
20
20
  }
21
21
  entries.forEach(ensureValidVariableDefinition);
22
- const serializedEntries = entries.map(serializeVariableDefinitionPair);
22
+ const sortedEntries = entries.toSorted(function ([nameA], [nameB]) {
23
+ return nameA.localeCompare(nameB);
24
+ });
25
+ const serializedEntries = sortedEntries.map(serializeVariableDefinitionPair);
23
26
  return `(${serializedEntries.join(', ')})`;
24
27
  }
25
28
  //# sourceMappingURL=variable-definition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"variable-definition.js","sourceRoot":"","sources":["../../../../source/zod-graphql-query-builder/variable-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAMxD,SAAS,6BAA6B,CAAC,kBAA0C;IAC7E,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,kBAAkB,CAAC;IAExD,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,kBAAkB,YAAY,wCAAwC,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,SAAS,YAAY,mBAAmB,YAAY,cAAc,CAAC,CAAC;IACxF,CAAC;AACL,CAAC;AAED,SAAS,+BAA+B,CAAC,kBAA0C;IAC/E,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,kBAAkB,CAAC;IACxD,OAAO,GAAG,YAAY,KAAK,YAAY,EAAE,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,WAAgC;IACzE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAE5C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,OAAO,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC/C,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAEvE,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"variable-definition.js","sourceRoot":"","sources":["../../../../source/zod-graphql-query-builder/variable-definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAMxD,SAAS,6BAA6B,CAAC,kBAA0C;IAC7E,MAAM,CAAE,YAAY,EAAE,YAAY,CAAE,GAAG,kBAAkB,CAAC;IAE1D,IAAI,CAAC,yBAAyB,CAAC,YAAY,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,kBAAkB,YAAY,wCAAwC,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,SAAS,YAAY,mBAAmB,YAAY,cAAc,CAAC,CAAC;IACxF,CAAC;AACL,CAAC;AAED,SAAS,+BAA+B,CAAC,kBAA0C;IAC/E,MAAM,CAAE,YAAY,EAAE,YAAY,CAAE,GAAG,kBAAkB,CAAC;IAC1D,OAAO,GAAG,YAAY,KAAK,YAAY,EAAE,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,WAAgC;IACzE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAE5C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACd,CAAC;IAED,OAAO,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC/C,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAE,KAAK,CAAE,EAAE,CAAE,KAAK,CAAE;QACjE,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IACH,MAAM,iBAAiB,GAAG,aAAa,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAE7E,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAC/C,CAAC"}