mad-data-parser 0.0.1 → 0.0.2-beta.11

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 (90) hide show
  1. package/index.d.ts +2 -0
  2. package/index.js +2 -0
  3. package/mad-data-parser-0.0.2-beta.11.tgz +0 -0
  4. package/package.json +14 -38
  5. package/parser/parseJsonPaths.d.ts +12 -0
  6. package/parser/parseJsonPaths.d.ts.map +1 -0
  7. package/parser/parseJsonPaths.js +161 -0
  8. package/parser/parseJsonPaths.js.map +1 -0
  9. package/{dist/utils → utils}/graphql/index.d.ts +2 -2
  10. package/utils/graphql/index.d.ts.map +1 -0
  11. package/{dist/utils → utils}/graphql/index.js +2 -1
  12. package/utils/graphql/index.js.map +1 -0
  13. package/utils/graphql-tag/collocated/gql.d.ts +47 -0
  14. package/utils/graphql-tag/collocated/gql.d.ts.map +1 -0
  15. package/utils/graphql-tag/collocated/gql.js +133 -0
  16. package/utils/graphql-tag/collocated/gql.js.map +1 -0
  17. package/utils/graphql-tag/collocated/guards.d.ts +4 -0
  18. package/utils/graphql-tag/collocated/guards.d.ts.map +1 -0
  19. package/utils/graphql-tag/collocated/guards.js +13 -0
  20. package/utils/graphql-tag/collocated/guards.js.map +1 -0
  21. package/utils/graphql-tag/collocated/stringifyDocument.d.ts +2 -0
  22. package/utils/graphql-tag/collocated/stringifyDocument.d.ts.map +1 -0
  23. package/utils/graphql-tag/collocated/stringifyDocument.js +38 -0
  24. package/utils/graphql-tag/collocated/stringifyDocument.js.map +1 -0
  25. package/utils/graphql-tag/collocated/types.d.ts +19 -0
  26. package/utils/graphql-tag/collocated/types.d.ts.map +1 -0
  27. package/utils/graphql-tag/collocated/types.js.map +1 -0
  28. package/utils/graphql-tag/index.d.ts +5 -0
  29. package/utils/graphql-tag/index.d.ts.map +1 -0
  30. package/utils/graphql-tag/index.js +5 -0
  31. package/utils/graphql-tag/index.js.map +1 -0
  32. package/{dist/utils → utils}/jsonPath/guards.d.ts +1 -1
  33. package/utils/jsonPath/index.d.ts +4 -0
  34. package/utils/jsonPath/index.js +4 -0
  35. package/utils/jsonPath/types.js +2 -0
  36. package/{dist/utils → utils}/jsonPath/visitor.d.ts +2 -2
  37. package/{dist/utils → utils}/jsonPath/visitor.js +3 -3
  38. package/version.txt +1 -0
  39. package/.env.example +0 -0
  40. package/.swcrc +0 -27
  41. package/dist/index.d.ts +0 -2
  42. package/dist/index.js +0 -2
  43. package/dist/parser/parseJsonPaths.d.ts +0 -4
  44. package/dist/parser/parseJsonPaths.d.ts.map +0 -1
  45. package/dist/parser/parseJsonPaths.js +0 -116
  46. package/dist/parser/parseJsonPaths.js.map +0 -1
  47. package/dist/utils/graphql/index.d.ts.map +0 -1
  48. package/dist/utils/graphql/index.js.map +0 -1
  49. package/dist/utils/jsonPath/index.d.ts +0 -4
  50. package/dist/utils/jsonPath/index.js +0 -4
  51. package/example/data/__tests__/output.ts +0 -57
  52. package/example/data/data.ts +0 -226
  53. package/example/data/output.ts +0 -74
  54. package/example/data/types.ts +0 -92
  55. package/example/example.ts +0 -26
  56. package/example/jsonPaths.data.ts +0 -13
  57. package/example/loadSchema.ts +0 -32
  58. package/jest.config.d.ts +0 -6
  59. package/jest.config.ts +0 -241
  60. package/nodemon.json +0 -27
  61. package/register.setup.jest.d.ts +0 -2
  62. package/register.setup.jest.ts +0 -19
  63. package/src/index.ts +0 -2
  64. package/src/parser/parseJsonPaths.ts +0 -136
  65. package/src/utils/graphql/index.ts +0 -51
  66. package/src/utils/jsonPath/guards.ts +0 -37
  67. package/src/utils/jsonPath/index.ts +0 -3
  68. package/src/utils/jsonPath/types.ts +0 -56
  69. package/src/utils/jsonPath/visitor.ts +0 -108
  70. package/src/utils/ts/helpers.ts +0 -13
  71. package/tsconfig.build.json +0 -19
  72. package/tsconfig.jest.json +0 -18
  73. package/tsconfig.json +0 -36
  74. /package/{dist/index.d.ts.map → index.d.ts.map} +0 -0
  75. /package/{dist/index.js.map → index.js.map} +0 -0
  76. /package/{dist/utils/jsonPath → utils/graphql-tag/collocated}/types.js +0 -0
  77. /package/{dist/utils → utils}/jsonPath/guards.d.ts.map +0 -0
  78. /package/{dist/utils → utils}/jsonPath/guards.js +0 -0
  79. /package/{dist/utils → utils}/jsonPath/guards.js.map +0 -0
  80. /package/{dist/utils → utils}/jsonPath/index.d.ts.map +0 -0
  81. /package/{dist/utils → utils}/jsonPath/index.js.map +0 -0
  82. /package/{dist/utils → utils}/jsonPath/types.d.ts +0 -0
  83. /package/{dist/utils → utils}/jsonPath/types.d.ts.map +0 -0
  84. /package/{dist/utils → utils}/jsonPath/types.js.map +0 -0
  85. /package/{dist/utils → utils}/jsonPath/visitor.d.ts.map +0 -0
  86. /package/{dist/utils → utils}/jsonPath/visitor.js.map +0 -0
  87. /package/{dist/utils → utils}/ts/helpers.d.ts +0 -0
  88. /package/{dist/utils → utils}/ts/helpers.d.ts.map +0 -0
  89. /package/{dist/utils → utils}/ts/helpers.js +0 -0
  90. /package/{dist/utils → utils}/ts/helpers.js.map +0 -0
package/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from './parser/parseJsonPaths.js';
2
+ //# sourceMappingURL=index.d.ts.map
package/index.js ADDED
@@ -0,0 +1,2 @@
1
+ export * from './parser/parseJsonPaths.js';
2
+ //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,52 +1,28 @@
1
1
  {
2
2
  "name": "mad-data-parser",
3
- "version": "0.0.1",
3
+ "version": "0.0.2-beta.11",
4
4
  "description": "",
5
- "main": "dist/index.js",
5
+ "main": "index.js",
6
+ "typings": "index.d.ts",
6
7
  "type": "module",
8
+ "exports": {
9
+ ".": "./index.js",
10
+ "./utils/jsonPath": "./utils/jsonPath/index.js",
11
+ "./utils/graphql": "./utils/graphql/index.js",
12
+ "./utils/graphql-tag": "./utils/graphql-tag/index.js"
13
+ },
7
14
  "keywords": [],
8
15
  "author": "",
9
16
  "license": "ISC",
10
17
  "dependencies": {
11
- "@types/jsonpath": "~0.2.4",
12
- "bumpp": "~10.3.1",
18
+ "@graphql-tools/utils": "~10.9.1",
13
19
  "fast-glob": "~3.3.2",
14
20
  "gql-query-builder": "~3.8.0",
15
- "graphql": "~16.11.0",
21
+ "graphql": "^16.8.1",
16
22
  "graphql-tag": "~2.12.6",
17
23
  "jsonpath": "~1.1.1",
18
- "number-format.js": "~2.0.9",
19
- "tsc-alias": "~1.8.16"
20
- },
21
- "devDependencies": {
22
- "@graphql-tools/graphql-file-loader": "~8.1.2",
23
- "@graphql-tools/load": "~8.1.2",
24
- "@graphql-tools/url-loader": "~9.0.0",
25
- "@jest-performance-reporter/core": "~2.1.3",
26
- "@jest/globals": "~29.6.4",
27
- "@swc/core": "~1.12.5",
28
- "@swc/jest": "~0.2.38",
29
- "@tsconfig/node20": "~20.1.6",
30
- "@types/jest": "~29.5.12",
31
- "@types/node": "~24.1.0",
32
- "dotenv": "~17.2.1",
33
- "jest": "~29.6.4",
34
- "jest-slow-test-reporter": "~1.0.0",
35
- "json5": "~2.2.3",
36
- "node-notifier": "~10.0.1",
37
- "nodemon": "~3.1.10",
38
- "ts-jest": "~29.4.4",
39
- "ts-node": "~10.9.2",
40
- "tsx": "~4.10.5",
41
- "typescript": "~5.4.5"
42
- },
43
- "scripts": {
44
- "test": "NODE_ENV=test jest --maxWorkers=50% --",
45
- "autotest": "NODE_ENV=test jest --watch --maxWorkers=10%",
46
- "test:inspect": "NODE_ENV=test NODE_OPTIONS='--inspect-brk' jest --maxWorkers=1 -- ",
47
- "prebuild": "rm -rf dist",
48
- "build": "tsc --project tsconfig.build.json; tsc-alias",
49
- "release": "bumpp && pnpm publish"
24
+ "number-format.js": "~2.0.9"
50
25
  },
51
- "typings": "dist/index.d.ts"
26
+ "devDependencies": {},
27
+ "scripts": {}
52
28
  }
@@ -0,0 +1,12 @@
1
+ import type { GraphQLObjectType } from "graphql";
2
+ import * as JSONPath from '../utils/jsonPath/index.js';
3
+ import type { CollocatedFragment } from "../utils/graphql-tag/index.js";
4
+ export interface FilterCondition extends Pick<CollocatedFragment, 'requiredVars'> {
5
+ filter: string;
6
+ }
7
+ export interface ParseJsonPathsOptions {
8
+ fragmentName?: string;
9
+ filterConditions?: Record<string, FilterCondition>;
10
+ }
11
+ export declare function parseJsonPaths(jsonPaths: Array<JSONPath.ASTNode[]>, rootType: GraphQLObjectType, options?: ParseJsonPathsOptions): CollocatedFragment<Record<string, any>, Record<string, any>>;
12
+ //# sourceMappingURL=parseJsonPaths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseJsonPaths.d.ts","sourceRoot":"","sources":["../../src/parser/parseJsonPaths.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAgB,iBAAiB,EAAqI,MAAM,SAAS,CAAA;AAIjM,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAA;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAQ7D,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,kBAAkB,EAAE,cAAc,CAAC;IAC/E,MAAM,EAAC,MAAM,CAAA;CAEd;AAED,MAAM,WAAW,qBAAqB;IACpC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;CACnD;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAC,qBAAqB,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAsD7L"}
@@ -0,0 +1,161 @@
1
+ import { getNamedType, isObjectType, isUnionType, print } from "graphql";
2
+ import { gql, toGraphqlQueryDefs } from "../utils/graphql-tag/index.js";
3
+ import { createFieldNode, createInlineFragment, findFieldNode, isPrimitiveType } from "../utils/graphql/index.js";
4
+ import { Kind } from "graphql";
5
+ import * as JSONPath from '../utils/jsonPath/index.js';
6
+ import { memoize1 } from "@graphql-tools/utils";
7
+ const typeNameFieldNode = createFieldNode('__typename');
8
+ export function parseJsonPaths(jsonPaths, rootType, options) {
9
+ const fragmentName = options?.fragmentName ?? `autoGen${rootType.name}`;
10
+ const { processStackItems } = createItemProcessors(options?.filterConditions ?? {});
11
+ const rootFragment = {
12
+ kind: Kind.FRAGMENT_DEFINITION,
13
+ typeCondition: { kind: Kind.NAMED_TYPE, name: { kind: Kind.NAME, value: rootType.name } },
14
+ name: { kind: Kind.NAME, value: fragmentName },
15
+ selectionSet: {
16
+ kind: Kind.SELECTION_SET,
17
+ selections: [typeNameFieldNode],
18
+ },
19
+ };
20
+ let requiredVars = {};
21
+ const doc = {
22
+ kind: Kind.DOCUMENT,
23
+ definitions: [rootFragment],
24
+ };
25
+ const stack = [];
26
+ const visitor = {
27
+ Root() {
28
+ stack.push([{ type: rootType, selectionSet: rootFragment.selectionSet, parent: null }]);
29
+ return;
30
+ },
31
+ Identifier(node) {
32
+ const stackItems = stack[stack.length - 1];
33
+ const passStackItems = processStackItems(stackItems, { fieldName: node.expression.value, value: undefined, condition: undefined });
34
+ requiredVars = passStackItems.reduce((acc, item) => Object.assign(acc, item.requiredVars ?? {}), requiredVars);
35
+ stack.push(passStackItems);
36
+ return;
37
+ },
38
+ FilterExpression(node) {
39
+ const stackItems = stack[stack.length - 1];
40
+ const regex = /\?\(@\.(?<field>\w+)(\s*(?<condition>(?:==|!=)=?)\s*(?<quote>'|")(?<value>.*?)(\4))?/;
41
+ const matches = node.expression.value.match(regex);
42
+ const fieldName = matches?.groups?.field ?? '__typename';
43
+ const condition = matches?.groups?.condition;
44
+ const value = matches?.groups?.value;
45
+ const passStackItems = processStackItems(stackItems, { fieldName, value, condition, isFieldFilter: true });
46
+ requiredVars = passStackItems.reduce((acc, item) => Object.assign(acc, item.requiredVars ?? {}), requiredVars);
47
+ stack.push(passStackItems);
48
+ return;
49
+ },
50
+ leave(node, parent, path, ancestors) {
51
+ if (needProcess(node)) {
52
+ stack.pop();
53
+ }
54
+ }
55
+ };
56
+ JSONPath.visit(jsonPaths, visitor);
57
+ return {
58
+ fragment: doc,
59
+ name: fragmentName,
60
+ requiredVars: requiredVars,
61
+ };
62
+ }
63
+ function needProcess(node) {
64
+ return JSONPath.isRootNode(node) || JSONPath.isIdentifierNode(node) || JSONPath.isFilterExpressionNode(node);
65
+ }
66
+ function createItemProcessors(filterConditions) {
67
+ function processStackItems(stackItems, { fieldName, value: conditionValue, condition, isFieldFilter }) {
68
+ const passStackItems = [];
69
+ stackItems.forEach(stackItem => {
70
+ const parentType = stackItem.type;
71
+ if (isPrimitiveType(parentType)) {
72
+ return;
73
+ }
74
+ const selSet = stackItem.selectionSet;
75
+ if (isUnionType(parentType)) {
76
+ const filterField = (type) => fieldName === '__typename' ? type.name === conditionValue : Boolean(type.getFields()[fieldName]);
77
+ const filter = condition && !condition.includes('!')
78
+ ? (type) => filterField(type)
79
+ : (type) => !filterField(type);
80
+ const possibleTypes = parentType.getTypes().filter(filter);
81
+ possibleTypes.forEach(type => {
82
+ let inlineFragment = selSet.selections.find(selection => selection.kind === Kind.INLINE_FRAGMENT
83
+ && (selection.typeCondition?.name.value === type.name));
84
+ if (!inlineFragment) {
85
+ inlineFragment = createInlineFragment(type, '__typename');
86
+ selSet.selections.push(inlineFragment);
87
+ }
88
+ const fragmentStackItem = { type: type, selectionSet: inlineFragment.selectionSet, parent: stackItem };
89
+ const appendFieldType = type.getFields()[fieldName]?.type;
90
+ if (!appendFieldType) {
91
+ if (fieldName === '__typename') {
92
+ passStackItems.push(fragmentStackItem);
93
+ }
94
+ return;
95
+ }
96
+ const newStackItem = processGraphqlObjectType(fragmentStackItem, appendFieldType, fieldName);
97
+ const stackItemToAdd = isFieldFilter ? fragmentStackItem : newStackItem;
98
+ passStackItems.push(stackItemToAdd);
99
+ });
100
+ return;
101
+ }
102
+ const parentObjectType = isObjectType(parentType) ? parentType : stackItem.parent?.type;
103
+ if (!parentObjectType)
104
+ return;
105
+ const field = parentObjectType.getFields()[fieldName];
106
+ if (!field) {
107
+ return;
108
+ }
109
+ const newStackItem = processGraphqlObjectType(stackItem, field.type, fieldName);
110
+ const stackItemToAdd = isFieldFilter ? stackItem : newStackItem;
111
+ passStackItems.push(stackItemToAdd);
112
+ });
113
+ return passStackItems;
114
+ }
115
+ function processGraphqlObjectType(stackItem, fieldType, fieldName) {
116
+ const selSet = stackItem.selectionSet;
117
+ if (!selSet) {
118
+ throw new Error('Selection set not found');
119
+ }
120
+ const realFieldType = getNamedType(fieldType);
121
+ const subFieldsSelections = [isPrimitiveType(realFieldType) ? undefined : typeNameFieldNode].filter(Boolean);
122
+ let fieldNode = findFieldNode(selSet, fieldName);
123
+ let requiredVars = undefined;
124
+ if (!fieldNode) {
125
+ const filterData = buildFilterData(realFieldType);
126
+ const filterArgs = filterData?.arguments;
127
+ requiredVars = filterData?.requiredVars;
128
+ fieldNode = createFieldNode(fieldName, subFieldsSelections.map(selection => selection.name.value), filterArgs);
129
+ selSet.selections.push(fieldNode);
130
+ }
131
+ return { type: realFieldType, selectionSet: fieldNode.selectionSet, parent: stackItem, requiredVars };
132
+ }
133
+ const buildFilterData = memoize1((type) => {
134
+ const typename = getNamedType(type).name;
135
+ const filterCondition = filterConditions[typename];
136
+ if (!filterCondition)
137
+ return undefined;
138
+ const filter = filterCondition.filter;
139
+ const requiredVars = filterCondition.requiredVars ?? {};
140
+ if (!filter) {
141
+ return undefined;
142
+ }
143
+ const varsDefs = Object.values(toGraphqlQueryDefs(requiredVars)).join('\n');
144
+ const query = gql `
145
+ query qry${typename}(${varsDefs}) {
146
+ fetch${typename}(${filter}){
147
+ __typename
148
+ }
149
+ }`;
150
+ const definition = query.definitions[0];
151
+ // const variables = Object.fromEntries(definition.variableDefinitions?.map(v => [v.variable.name.value, v.type]) ?? [])
152
+ // console.log(JSON.stringify(variables, null, 2))
153
+ const firstField = definition.selectionSet.selections[0];
154
+ const argNodes = firstField.arguments;
155
+ if (!argNodes)
156
+ return undefined;
157
+ return { arguments: argNodes, requiredVars };
158
+ });
159
+ return { processStackItems };
160
+ }
161
+ //# sourceMappingURL=parseJsonPaths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseJsonPaths.js","sourceRoot":"","sources":["../../src/parser/parseJsonPaths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACxE,OAAO,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAG7D,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACvG,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAA;AAG5C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAI/C,MAAM,iBAAiB,GAAG,eAAe,CAAC,YAAY,CAAC,CAAA;AAYvD,MAAM,UAAU,cAAc,CAAC,SAAmC,EAAE,QAA2B,EAAE,OAA8B;IAC7H,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,UAAU,QAAQ,CAAC,IAAI,EAAE,CAAA;IACvE,MAAM,EAAE,iBAAiB,EAAE,GAAG,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,IAAI,EAAE,CAAC,CAAA;IACnF,MAAM,YAAY,GAA0B;QAC1C,IAAI,EAAE,IAAI,CAAC,mBAAmB;QAC9B,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE;QACzF,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE;QAC9C,YAAY,EAAE;YACV,IAAI,EAAE,IAAI,CAAC,aAAa;YACxB,UAAU,EAAE,CAAC,iBAAiB,CAAC;SACP;KAC7B,CAAA;IACD,IAAI,YAAY,GAA2B,EAAE,CAAA;IAC7C,MAAM,GAAG,GAAiB;QACxB,IAAI,EAAE,IAAI,CAAC,QAAQ;QACnB,WAAW,EAAE,CAAC,YAAY,CAAC;KAC5B,CAAA;IACD,MAAM,KAAK,GAAuB,EAAE,CAAA;IACpC,MAAM,OAAO,GAAyB;QACpC,IAAI;YACF,KAAK,CAAC,IAAI,CAAC,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC,YAAa,EAAE,MAAM,EAAE,IAAI,EAAC,CAAC,CAAC,CAAA;YACtF,OAAM;QACR,CAAC;QACD,UAAU,CAAC,IAAI;YACb,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAA;YAC3C,MAAM,cAAc,GAAG,iBAAiB,CAAC,UAAU,EAAE,EAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,KAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAC,CAAC,CAAA;YACjI,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,CAAA;YAC9G,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAC1B,OAAM;QACR,CAAC;QACD,gBAAgB,CAAC,IAAI;YACnB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAA;YAC3C,MAAM,KAAK,GAAG,sFAAsF,CAAA;YACpG,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACnD,MAAM,SAAS,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,YAAY,CAAA;YACxD,MAAM,SAAS,GAAG,OAAO,EAAE,MAAM,EAAE,SAAS,CAAA;YAC5C,MAAM,KAAK,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,CAAA;YACpC,MAAM,cAAc,GAAG,iBAAiB,CAAC,UAAU,EAAE,EAAC,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAC,CAAC,CAAA;YACxG,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,CAAA;YAC9G,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;YAC1B,OAAM;QACR,CAAC;QACD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS;YACjC,IAAG,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,KAAK,CAAC,GAAG,EAAE,CAAA;YACb,CAAC;QACH,CAAC;KACF,CAAA;IACD,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IAClC,OAAO;QACL,QAAQ,EAAE,GAAG;QACb,IAAI,EAAE,YAAY;QAClB,YAAY,EAAE,YAAY;KAC3B,CAAA;AACH,CAAC;AAED,SAAS,WAAW,CAAC,IAAqB;IACxC,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAA;AAC9G,CAAC;AAKD,SAAS,oBAAoB,CAAC,gBAAiD;IAC7E,SAAS,iBAAiB,CAAC,UAAuB,EAAE,EAAC,SAAS,EAAE,KAAK,EAAC,cAAc,EAAE,SAAS,EAAE,aAAa,EAAmF;QAC/L,MAAM,cAAc,GAAgB,EAAE,CAAA;QACtC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC7B,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAA;YACjC,IAAG,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/B,OAAM;YACR,CAAC;YACD,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAA;YACrC,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5B,MAAM,WAAW,GAAG,CAAC,IAAuB,EAAE,EAAE,CAAC,SAAS,KAAK,YAAY,CAAA,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,SAAU,CAAC,CAAC,CAAA;gBACjJ,MAAM,MAAM,GAAG,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;oBAClD,CAAC,CAAC,CAAC,IAAuB,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC;oBAChD,CAAC,CAAC,CAAC,IAAuB,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;gBACnD,MAAM,aAAa,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;gBAC1D,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBAC3B,IAAI,cAAc,GAAgC,MAAM,CAAC,UAAU,CAAC,IAAI,CACpE,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,eAAe;2BACjD,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,CACvB,CAAA;oBAEnC,IAAI,CAAC,cAAc,EAAE,CAAC;wBACpB,cAAc,GAAG,oBAAoB,CAAC,IAAI,EAAE,YAAY,CAAC,CACxD;wBAAC,MAAM,CAAC,UAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;oBACpD,CAAC;oBACD,MAAM,iBAAiB,GAAG,EAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,CAAC,YAAa,EAAE,MAAM,EAAE,SAAS,EAAC,CAAA;oBACrG,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,SAAU,CAAC,EAAE,IAAI,CAAA;oBAC1D,IAAG,CAAC,eAAe,EAAE,CAAC;wBACpB,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;4BAC/B,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;wBACxC,CAAC;wBACD,OAAM;oBACR,CAAC;oBACD,MAAM,YAAY,GAAG,wBAAwB,CAAC,iBAAiB,EAAE,eAAe,EAAE,SAAU,CAAC,CAAA;oBAC7F,MAAM,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAA;oBACvE,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;gBACrC,CAAC,CAAC,CAAA;gBACF,OAAO;YACT,CAAC;YACD,MAAM,gBAAgB,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,IAAmC,CAAA;YACtH,IAAI,CAAC,gBAAgB;gBAAE,OAAO;YAC9B,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAC,SAAU,CAAC,CAAA;YACtD,IAAG,CAAC,KAAK,EAAE,CAAC;gBACV,OAAM;YACR,CAAC;YACD,MAAM,YAAY,GAAG,wBAAwB,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,SAAU,CAAC,CAAA;YAChF,MAAM,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAA;YAC/D,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;QAErC,CAAC,CAAC,CAAA;QACF,OAAO,cAAc,CAAA;IACvB,CAAC;IAID,SAAS,wBAAwB,CAAC,SAAoB,EAAE,SAA4B,EAAE,SAAiB;QACrG,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAA;QACrC,IAAG,CAAC,MAAM,EAAC,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAC5C,CAAC;QACD,MAAM,aAAa,GAAG,YAAY,CAAC,SAAS,CAAC,CAAA;QAC7C,MAAM,mBAAmB,GAAG,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAgB,CAAA;QAC3H,IAAI,SAAS,GAAG,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;QAChD,IAAI,YAAY,GAAqC,SAAS,CAAA;QAC9D,IAAG,CAAC,SAAS,EAAE,CAAC;YACd,MAAM,UAAU,GAAG,eAAe,CAAC,aAAa,CAAC,CAAA;YACjD,MAAM,UAAU,GAAG,UAAU,EAAE,SAAS,CAAA;YACxC,YAAY,GAAG,UAAU,EAAE,YAAY,CAAA;YACvC,SAAS,GAAG,eAAe,CAAC,SAAS,EAAE,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,KAAM,CAAC,EAAE,UAAU,CAAC,CAC9G;YAAC,MAAM,CAAC,UAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC/C,CAAC;QACD,OAAO,EAAC,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,CAAC,YAAa,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAC,CAAA;IACtG,CAAC;IAMD,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,IAAuB,EAAkC,EAAE;QAC3F,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAA;QACxC,MAAM,eAAe,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QAClD,IAAG,CAAC,eAAe;YAAE,OAAO,SAAS,CAAA;QACrC,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAA;QACrC,MAAM,YAAY,GAAG,eAAe,CAAC,YAAY,IAAI,EAAE,CAAA;QACvD,IAAG,CAAC,MAAM,EAAE,CAAC;YACX,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAE3E,MAAM,KAAK,GAAmD,GAAG,CAAA;eACtD,QAAQ,IAAI,QAAQ;aACtB,QAAQ,IAAI,MAAM;;;MAGzB,CAAA;QACF,MAAM,UAAU,GAA4B,KAAK,CAAC,WAAW,CAAC,CAAC,CAA4B,CAAA;QAC3F,wHAAwH;QACxH,kDAAkD;QAClD,MAAM,UAAU,GAAc,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAc,CAAA;QAChF,MAAM,QAAQ,GAAI,UAAU,CAAC,SAAuC,CAAA;QACpE,IAAG,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAA;QAC9B,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,OAAO,EAAC,iBAAiB,EAAC,CAAA;AAC5B,CAAC"}
@@ -1,7 +1,7 @@
1
- import type { GraphQLOutputType, SelectionSetNode, FieldNode, InlineFragmentNode, GraphQLNamedOutputType } from "graphql";
1
+ import type { GraphQLOutputType, SelectionSetNode, FieldNode, InlineFragmentNode, GraphQLNamedOutputType, ArgumentNode } from "graphql";
2
2
  export declare function isPrimitiveType(type: GraphQLOutputType): boolean;
3
3
  export declare function findFieldNode(selectionSet: SelectionSetNode, fieldName: string): FieldNode | undefined;
4
- export declare function createFieldNode(fieldName: string, children?: string[]): FieldNode;
4
+ export declare function createFieldNode(fieldName: string, children?: string[], args?: ArgumentNode[]): FieldNode;
5
5
  export declare function createFieldSelectionSet(outputType: GraphQLNamedOutputType, fieldName?: string): SelectionSetNode;
6
6
  export declare function createInlineFragment(outputType: GraphQLNamedOutputType, fieldName: string): InlineFragmentNode;
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/graphql/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,SAAS,EAAE,kBAAkB,EAAE,sBAAsB,EAAiB,YAAY,EAAE,MAAM,SAAS,CAAA;AAGtJ,wBAAgB,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAGhE;AAED,wBAAgB,aAAa,CAAC,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAE,SAAS,GAAC,SAAS,CAEnG;AAGD,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,YAAY,EAAE,GAAE,SAAS,CAcvG;AAID,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,sBAAsB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAE,gBAAgB,CAU/G;AAGD,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,GAAE,kBAAkB,CAM7G"}
@@ -6,7 +6,7 @@ export function isPrimitiveType(type) {
6
6
  export function findFieldNode(selectionSet, fieldName) {
7
7
  return selectionSet?.selections.find(selection => selection.kind === Kind.FIELD && selection.name.value === fieldName);
8
8
  }
9
- export function createFieldNode(fieldName, children) {
9
+ export function createFieldNode(fieldName, children, args) {
10
10
  let selectionSet = undefined;
11
11
  if (children?.length) {
12
12
  selectionSet = {
@@ -16,6 +16,7 @@ export function createFieldNode(fieldName, children) {
16
16
  }
17
17
  return {
18
18
  kind: Kind.FIELD,
19
+ arguments: args,
19
20
  name: { kind: Kind.NAME, value: fieldName },
20
21
  selectionSet
21
22
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/graphql/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAItE,MAAM,UAAU,eAAe,CAAC,IAAuB;IACrD,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IACpC,OAAO,YAAY,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,SAAS,CAAC,CAAA;AACzD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,YAA8B,EAAE,SAAiB;IAC7E,OAAO,YAAY,EAAE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAwB,CAAA;AAC/I,CAAC;AAGD,MAAM,UAAU,eAAe,CAAC,SAAiB,EAAE,QAAmB,EAAE,IAAqB;IAC3F,IAAI,YAAY,GAA+B,SAAS,CAAA;IACxD,IAAG,QAAQ,EAAE,MAAM,EAAE,CAAC;QACpB,YAAY,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,aAAa;YACxB,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;SAC/B,CAAA;IAC9B,CAAC;IACD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,KAAK;QAChB,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE;QAC3C,YAAY;KACb,CAAA;AACH,CAAC;AAID,MAAM,UAAU,uBAAuB,CAAC,UAAkC,EAAE,SAAkB;IAC5F,MAAM,GAAG,GAAG;QACV,IAAI,EAAE,IAAI,CAAC,aAAa;QACxB,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAoB;KACxE,CAAA;IAE5B,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC,EAAE,CAAC;QAC9I,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAA;IACvD,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAGD,MAAM,UAAU,oBAAoB,CAAC,UAAkC,EAAE,SAAiB;IACxF,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,eAAe;QAC1B,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,EAAE;QAC3F,YAAY,EAAE,uBAAuB,CAAC,UAAU,EAAE,SAAS,CAAC;KAChC,CAAA;AAChC,CAAC"}
@@ -0,0 +1,47 @@
1
+ import type { TypedDocumentNode } from "@graphql-typed-document-node/core";
2
+ import type { DocumentNode } from "graphql";
3
+ import type { CollocatedFragment, AnyVariables } from "./types.js";
4
+ type InterpolDocNode = TypedDocumentNode | DocumentNode;
5
+ type InterpolationsArray = Array<string | InterpolDocNode | CollocatedFragment | Record<string, InterpolDocNode> | string[] | InterpolDocNode[] | CollocatedFragment[]>;
6
+ /**
7
+ * Extends @urql/gql gql`tag` template string to accept a list of fragments or a collocatedFragments
8
+ */
9
+ export declare function gql<Data = any, Variables extends AnyVariables = AnyVariables>(strings: TemplateStringsArray, ...interpolations: InterpolationsArray): TypedDocumentNode<Data, Variables>;
10
+ export declare function gql<Data = any, Variables extends AnyVariables = AnyVariables>(string: string): TypedDocumentNode<Data, Variables>;
11
+ type SpreadFragmentsDefinition = CollocatedFragment | TypedDocumentNode | DocumentNode | string | Record<string, TypedDocumentNode | DocumentNode>;
12
+ /**
13
+ * Receive a DocumentNode with fragment definitions or a CollocatedFragment and return his name
14
+ * Also accept string and return string
15
+ */
16
+ export declare function extractFragmentNames(nodes: SpreadFragmentsDefinition | SpreadFragmentsDefinition[]): string[];
17
+ /**
18
+ *
19
+ * Convert a SpreadFragmentsDefinition to an array of ['...fragName', '...frag2Name']
20
+ * use with gql`` template string as
21
+ *
22
+ * @see {@link gql}
23
+ *
24
+ * example:
25
+ * import * as fragDef from 'somewhere.gql'
26
+
27
+
28
+
29
+ * gql`
30
+ * fragment MyFrag on MyGraphqlType {
31
+ * ${spreadFragments(fragDef)} # spread all fragments from fragDef, removing fragments that not match with match
32
+ * }
33
+ * ${ fragDef } # it will add all fragments from fragDef
34
+ * `
35
+ *
36
+ * @param { SpreadFragmentsDefinition} nodes
37
+ * @param { (x : string) => boolean } match # by default it will ignore fragments that starts with '_' or it is equals to 'default' name
38
+ *
39
+ * @return string
40
+ */
41
+ export declare function spreadFragments(nodes: SpreadFragmentsDefinition | SpreadFragmentsDefinition[], match?: (x: string) => boolean): string[];
42
+ export declare function extractFragmentVarsDefs(validColFragments: Pick<CollocatedFragment, 'requiredVars'> | Pick<CollocatedFragment, 'requiredVars'>[], searchRequiredVarsDebug?: string[]): Record<string, string>;
43
+ export declare function toGraphqlQueryDefs<T extends Pick<CollocatedFragment, 'requiredVars'>>(varDefs: T | T[]): Record<string, string>;
44
+ export declare function toGraphqlQueryDefs(varDefs: Record<string, string>): Record<string, string>;
45
+ export declare function extractFragmentVarsDefaults(validColFragments: CollocatedFragment | CollocatedFragment[]): Record<string, any>;
46
+ export {};
47
+ //# sourceMappingURL=gql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gql.d.ts","sourceRoot":"","sources":["../../../../src/utils/graphql-tag/collocated/gql.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAE1E,OAAO,KAAK,EAAE,YAAY,EAA0B,MAAM,SAAS,CAAA;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAK/D,KAAK,eAAe,GAAG,iBAAiB,GAAG,YAAY,CAAA;AACvD,KAAK,mBAAmB,GAAG,KAAK,CAAC,MAAM,GAAG,eAAe,GAAG,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,MAAM,EAAE,GAAG,eAAe,EAAE,GAAG,kBAAkB,EAAE,CAAC,CAAA;AACvK;;GAEG;AACH,wBAAgB,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,SAAS,SAAS,YAAY,GAAG,YAAY,EAAE,OAAO,EAAE,oBAAoB,EAAE,GAAG,cAAc,EAAE,mBAAmB,GAAG,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;AACzL,wBAAgB,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,SAAS,SAAS,YAAY,GAAG,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;AA4ClI,KAAK,yBAAyB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,YAAY,CAAC,CAAA;AAClJ;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,GAAG,yBAAyB,EAAE,GAAG,MAAM,EAAE,CAmB7G;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,yBAAyB,GAAG,yBAAyB,EAAE,EAAE,KAAK,GAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAsD,GACzK,MAAM,EAAE,CAEV;AAKD,wBAAgB,uBAAuB,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,EAAE,cAAc,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,cAAc,CAAC,EAAE,EAAE,uBAAuB,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQ5M;AAGD,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,IAAI,CAAC,kBAAkB,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAChI,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAoB3F,wBAAgB,2BAA2B,CAAC,iBAAiB,EAAE,kBAAkB,GAAG,kBAAkB,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAuB7H"}
@@ -0,0 +1,133 @@
1
+ import { Kind } from "graphql";
2
+ import { gql as originalGql, disableFragmentWarnings } from "graphql-tag";
3
+ import { stringifyDocument } from "./stringifyDocument.js";
4
+ import { isCollocatedFragment } from "../../../utils/graphql-tag/collocated/guards.js";
5
+ export function gql(parts, ...interpolations) {
6
+ const callOrigGql = ((literals, ...args) => {
7
+ try {
8
+ disableFragmentWarnings();
9
+ // @eslint:ignore
10
+ return originalGql(literals, ...args);
11
+ }
12
+ catch (e) {
13
+ console.error(e);
14
+ throw e;
15
+ }
16
+ });
17
+ if (Array.isArray(parts)) {
18
+ const newInterpolations = interpolations.map((sInter) => {
19
+ if (typeof sInter === 'string')
20
+ return sInter;
21
+ if (isCollocatedFragment(sInter))
22
+ return sInter.fragment;
23
+ if ('kind' in sInter)
24
+ return sInter;
25
+ if ('default' in sInter)
26
+ return sInter.default;
27
+ const values = Object.values(sInter);
28
+ let ret = '';
29
+ for (let i = 0; i < values.length; i++) {
30
+ let vVal = isCollocatedFragment(values[i]) ? values[i].fragment : values[i];
31
+ if (!(typeof vVal === 'string'))
32
+ vVal = stringifyDocument(vVal);
33
+ ret = [ret, vVal].filter(x => x.length > 0).join('\n');
34
+ }
35
+ return ret;
36
+ });
37
+ return callOrigGql(parts, ...newInterpolations);
38
+ }
39
+ return callOrigGql(parts);
40
+ }
41
+ /**
42
+ * Receive a DocumentNode with fragment definitions or a CollocatedFragment and return his name
43
+ * Also accept string and return string
44
+ */
45
+ export function extractFragmentNames(nodes) {
46
+ if (typeof nodes === 'object' && !Array.isArray(nodes)) {
47
+ if (!('kind' in nodes) && !isCollocatedFragment(nodes))
48
+ nodes = (Object.values(nodes));
49
+ }
50
+ // ensure all nodes are array of SpreadFragmentsDefinition without Record
51
+ const spreadAry = [nodes || []].flat(1);
52
+ const names = (spreadAry).map((n) => {
53
+ if (typeof n === 'string')
54
+ return n;
55
+ if (isCollocatedFragment(n))
56
+ return n.name;
57
+ return n.definitions
58
+ .filter(x => x.kind === Kind.FRAGMENT_DEFINITION)
59
+ .map((fragDef) => fragDef.name.value);
60
+ }).flat(1);
61
+ return [...new Set(names)]; // ensure unique names
62
+ }
63
+ /**
64
+ *
65
+ * Convert a SpreadFragmentsDefinition to an array of ['...fragName', '...frag2Name']
66
+ * use with gql`` template string as
67
+ *
68
+ * @see {@link gql}
69
+ *
70
+ * example:
71
+ * import * as fragDef from 'somewhere.gql'
72
+
73
+
74
+
75
+ * gql`
76
+ * fragment MyFrag on MyGraphqlType {
77
+ * ${spreadFragments(fragDef)} # spread all fragments from fragDef, removing fragments that not match with match
78
+ * }
79
+ * ${ fragDef } # it will add all fragments from fragDef
80
+ * `
81
+ *
82
+ * @param { SpreadFragmentsDefinition} nodes
83
+ * @param { (x : string) => boolean } match # by default it will ignore fragments that starts with '_' or it is equals to 'default' name
84
+ *
85
+ * @return string
86
+ */
87
+ export function spreadFragments(nodes, match = x => !(x.startsWith('_') || x === 'default')) {
88
+ return extractFragmentNames(nodes).filter(match).map(x => `... ${x}`);
89
+ }
90
+ export function extractFragmentVarsDefs(validColFragments, searchRequiredVarsDebug) {
91
+ return ([validColFragments]).flat(1).reduce((acc, next) => {
92
+ if (searchRequiredVarsDebug && Object.keys(next.requiredVars ?? {}).some(x => searchRequiredVarsDebug.includes(x))) {
93
+ console.warn('Found: requiredVars in CollocatedFragment', next.name ?? JSON.stringify(next), next.requiredVars);
94
+ }
95
+ Object.assign(acc, next.requiredVars || {});
96
+ return acc;
97
+ }, {});
98
+ }
99
+ export function toGraphqlQueryDefs(varDefs) {
100
+ if (Array.isArray(varDefs)) {
101
+ varDefs = extractFragmentVarsDefs(varDefs);
102
+ }
103
+ else if (isCollocatedFragment(varDefs)) {
104
+ varDefs = extractFragmentVarsDefs(varDefs);
105
+ }
106
+ // Record<string, string>
107
+ return Object.fromEntries(Object.entries(varDefs || {}).map(([key, value]) => {
108
+ const newValue = value.startsWith(`\$${key}:`) ? value : `\$${key}: ${value}`;
109
+ return [key, newValue];
110
+ }));
111
+ }
112
+ export function extractFragmentVarsDefaults(validColFragments) {
113
+ const fnConvert = function (type, value) {
114
+ const map = {
115
+ Boolean: (val) => !['false', '0', ''].includes(val),
116
+ Int: (val) => Number.parseInt(val),
117
+ Float: (val) => Number.parseFloat(val),
118
+ default: (val) => val,
119
+ };
120
+ return (map[type ?? 'default'])?.(value);
121
+ };
122
+ return [validColFragments].flat(1).reduce((acc, next) => {
123
+ const varsWithDefaults = Object.fromEntries(Object.entries(next.requiredVars ?? {}).filter(([_key, value]) => value.includes('=')).map(([key, value]) => {
124
+ let [_type, _value] = value.split('=');
125
+ _type = _type.replace(/\s+/, '').replace('!', '');
126
+ const _newValue = fnConvert(_type, _value);
127
+ return [key, _newValue];
128
+ }));
129
+ Object.assign(acc, varsWithDefaults || {});
130
+ return acc;
131
+ }, {});
132
+ }
133
+ //# sourceMappingURL=gql.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gql.js","sourceRoot":"","sources":["../../../../src/utils/graphql-tag/collocated/gql.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { CollocatedFragment, GraphqlDataObject } from "./types.js";
2
+ export declare function isGraphqlDataObject(value: unknown): value is GraphqlDataObject;
3
+ export declare function isCollocatedFragment(value: unknown): value is CollocatedFragment;
4
+ //# sourceMappingURL=guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../../../src/utils/graphql-tag/collocated/guards.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAErE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,iBAAiB,CAE9E;AAGD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAQhF"}
@@ -0,0 +1,13 @@
1
+ export function isGraphqlDataObject(value) {
2
+ return typeof value === 'object' && !!value && ('__typename' in value) && typeof value.__typename === 'string';
3
+ }
4
+ export function isCollocatedFragment(value) {
5
+ if (typeof value === 'object' && !!value) {
6
+ const colFrag = value;
7
+ const hasName = 'name' in colFrag && typeof colFrag.name === 'string';
8
+ const hasFragment = 'fragment' in colFrag && colFrag.fragment && 'definitions' in colFrag.fragment;
9
+ return hasName && hasFragment;
10
+ }
11
+ return false;
12
+ }
13
+ //# sourceMappingURL=guards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.js","sourceRoot":"","sources":["../../../../src/utils/graphql-tag/collocated/guards.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAA;AAChH,CAAC;AAGD,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,KAA2B,CAAA;QAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAA;QACrE,MAAM,WAAW,GAAG,UAAU,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,IAAI,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAA;QAClG,OAAO,OAAO,IAAI,WAAW,CAAA;IAC/B,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function stringifyDocument(node: any): string;
2
+ //# sourceMappingURL=stringifyDocument.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stringifyDocument.d.ts","sourceRoot":"","sources":["../../../../src/utils/graphql-tag/collocated/stringifyDocument.ts"],"names":[],"mappings":"AAaA,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAyBnD"}
@@ -0,0 +1,38 @@
1
+ import { print } from "graphql";
2
+ var SOURCE_NAME = 'gql';
3
+ var GRAPHQL_STRING_RE = /("{3}[\s\S]*"{3}|"(?:\\.|[^"])*")/g;
4
+ var REPLACE_CHAR_RE = /(?:#[^\n\r]+)?(?:[\r\n]+|$)/g;
5
+ var replaceOutsideStrings = (str, idx) => idx % 2 === 0 ? str.replace(REPLACE_CHAR_RE, '\n') : str;
6
+ var prints = new WeakMap();
7
+ var docs = new WeakMap();
8
+ /** Sanitizes a GraphQL document string by replacing comments and redundant newlines in it. */
9
+ const sanitizeDocument = (node) => node.split(GRAPHQL_STRING_RE).map(replaceOutsideStrings).join('').trim();
10
+ export function stringifyDocument(node) {
11
+ var printed;
12
+ if (typeof node === 'string') {
13
+ printed = sanitizeDocument(node);
14
+ }
15
+ else if (node.loc && docs.get(node.__key) === node) {
16
+ printed = node.loc.source.body;
17
+ }
18
+ else {
19
+ printed = prints.get(node) || sanitizeDocument(print(node));
20
+ prints.set(node, printed);
21
+ }
22
+ if (typeof node !== 'string' && !node.loc) {
23
+ node.loc = {
24
+ start: 0,
25
+ end: printed.length,
26
+ source: {
27
+ body: printed,
28
+ name: SOURCE_NAME,
29
+ locationOffset: {
30
+ line: 1,
31
+ column: 1
32
+ }
33
+ }
34
+ };
35
+ }
36
+ return printed;
37
+ }
38
+ //# sourceMappingURL=stringifyDocument.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stringifyDocument.js","sourceRoot":"","sources":["../../../../src/utils/graphql-tag/collocated/stringifyDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAGhC,IAAI,WAAW,GAAG,KAAK,CAAC;AACxB,IAAI,iBAAiB,GAAG,oCAAoC,CAAC;AAC7D,IAAI,eAAe,GAAG,8BAA8B,CAAC;AACrD,IAAI,qBAAqB,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACnH,IAAI,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;AAC3B,IAAI,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;AAEzB,8FAA8F;AAC9F,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAE5H,MAAM,UAAU,iBAAiB,CAAC,IAAS;IACzC,IAAI,OAAO,CAAC;IACZ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;SAAM,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QACrD,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1C,IAAI,CAAC,GAAG,GAAG;YACT,KAAK,EAAE,CAAC;YACR,GAAG,EAAE,OAAO,CAAC,MAAM;YACnB,MAAM,EAAE;gBACN,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,WAAW;gBACjB,cAAc,EAAE;oBACd,IAAI,EAAE,CAAC;oBACP,MAAM,EAAE,CAAC;iBACV;aACF;SACF,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { TypedDocumentNode } from "@graphql-typed-document-node/core";
2
+ export type AnyVariables = Record<string, any>;
3
+ export interface CollocatedFragment<T extends Record<string, any> = Record<string, any>, Variables extends Record<string, any> = Record<string, any>> {
4
+ fragment: TypedDocumentNode<T, Variables>;
5
+ name: string;
6
+ requiredVars?: Record<string, string>;
7
+ }
8
+ export type Stage = 'DRAFT' | 'PUBLISHED';
9
+ export interface GraphqlDataObject {
10
+ __typename?: string;
11
+ id?: string;
12
+ stage?: Stage;
13
+ }
14
+ export interface SplitableDataObject {
15
+ typename: string;
16
+ id: string;
17
+ stage: Stage;
18
+ }
19
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/utils/graphql-tag/collocated/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAI9C,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,SAAS,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAClJ,QAAQ,EAAE,iBAAiB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IACzC,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACtC;AAGD,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,WAAW,CAAA;AAEzC,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,KAAK,CAAA;CACd;AACD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAA;IAChB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,KAAK,CAAA;CACb"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/utils/graphql-tag/collocated/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export * from "./collocated/gql.js";
2
+ export * from "./collocated/types.js";
3
+ export * from "./collocated/guards.js";
4
+ export * from "./collocated/stringifyDocument.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/graphql-tag/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,gCAAgC,CAAA"}