@wix/graphql-codegen-ts-builders 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/README.md +207 -0
  2. package/dist/es/src/documents-to-operations.d.ts +18 -0
  3. package/dist/es/src/documents-to-operations.d.ts.map +1 -0
  4. package/dist/es/src/documents-to-operations.js +200 -0
  5. package/dist/es/src/documents-to-operations.js.map +1 -0
  6. package/dist/es/src/helpers.d.ts +10 -0
  7. package/dist/es/src/helpers.d.ts.map +1 -0
  8. package/dist/es/src/helpers.js +84 -0
  9. package/dist/es/src/helpers.js.map +1 -0
  10. package/dist/es/src/index.d.ts +24 -0
  11. package/dist/es/src/index.d.ts.map +1 -0
  12. package/dist/es/src/index.js +362 -0
  13. package/dist/es/src/index.js.map +1 -0
  14. package/dist/es/src/mock-value-generator.d.ts +51 -0
  15. package/dist/es/src/mock-value-generator.d.ts.map +1 -0
  16. package/dist/es/src/mock-value-generator.js +370 -0
  17. package/dist/es/src/mock-value-generator.js.map +1 -0
  18. package/dist/es/src/types.d.ts +87 -0
  19. package/dist/es/src/types.d.ts.map +1 -0
  20. package/dist/es/src/types.js +6 -0
  21. package/dist/es/src/types.js.map +1 -0
  22. package/dist/es/src/utility-types.d.ts +10 -0
  23. package/dist/es/src/utility-types.d.ts.map +1 -0
  24. package/dist/es/src/utility-types.js +12 -0
  25. package/dist/es/src/utility-types.js.map +1 -0
  26. package/dist/src/documents-to-operations.d.ts +18 -0
  27. package/dist/src/documents-to-operations.d.ts.map +1 -0
  28. package/dist/src/documents-to-operations.js +207 -0
  29. package/dist/src/documents-to-operations.js.map +1 -0
  30. package/dist/src/helpers.d.ts +10 -0
  31. package/dist/src/helpers.d.ts.map +1 -0
  32. package/dist/src/helpers.js +96 -0
  33. package/dist/src/helpers.js.map +1 -0
  34. package/dist/src/index.d.ts +24 -0
  35. package/dist/src/index.d.ts.map +1 -0
  36. package/dist/src/index.js +366 -0
  37. package/dist/src/index.js.map +1 -0
  38. package/dist/src/mock-value-generator.d.ts +51 -0
  39. package/dist/src/mock-value-generator.d.ts.map +1 -0
  40. package/dist/src/mock-value-generator.js +377 -0
  41. package/dist/src/mock-value-generator.js.map +1 -0
  42. package/dist/src/types.d.ts +87 -0
  43. package/dist/src/types.d.ts.map +1 -0
  44. package/dist/src/types.js +9 -0
  45. package/dist/src/types.js.map +1 -0
  46. package/dist/src/utility-types.d.ts +10 -0
  47. package/dist/src/utility-types.d.ts.map +1 -0
  48. package/dist/src/utility-types.js +16 -0
  49. package/dist/src/utility-types.js.map +1 -0
  50. package/package.json +76 -0
package/README.md ADDED
@@ -0,0 +1,207 @@
1
+ # @wix/graphql-codegen-ts-builders
2
+
3
+ ## Description
4
+
5
+ Enhance your [GraphQL Codegen](https://github.com/dotansimha/graphql-code-generator) workflow with this plugin that generates mock data builders based on your schema and user code operations. This plugin builds upon the capabilities of the existing [graphql-codegen-typescript-mock-data](https://github.com/ardeois/graphql-codegen-typescript-mock-data/tree/main) library.
6
+
7
+ ## Installation
8
+
9
+ Install the plugin using:
10
+
11
+ ```bash
12
+ yarn add -D @wix/graphql-codegen-ts-builders
13
+ ```
14
+
15
+ ## Configuration
16
+
17
+ Customize the behavior of the mock data builders with the following configuration options:
18
+
19
+ ### terminateCircularRelationships (`boolean`, defaultValue: `false`)
20
+
21
+ ### listElementCount (`number`, defaultValue: `1`)
22
+
23
+ Specify the number of elements to generate for lists.
24
+
25
+ <br />For more configuration options, refer to the [graphql-codegen-typescript-mock-data](https://github.com/ardeois/graphql-codegen-typescript-mock-data/tree/main)
26
+
27
+ ## Usage
28
+
29
+ Install required packages:
30
+
31
+ ```bash
32
+ yarn add -D graphql typescript @graphql-codegen/cli @graphql-codegen/client-preset @wix/graphql-codegen-ts-builders
33
+ ```
34
+ Then, add the codegen script to your package.json:
35
+
36
+ ```json
37
+ {
38
+ "scripts": {
39
+ "codegen": "graphql-codegen --config ${your-config-file}"
40
+ }
41
+ }
42
+ ```
43
+ Now, let's create a configuration file:
44
+
45
+ ## Configuration
46
+
47
+ Create the following ```codegen.ts``` configuration file:
48
+
49
+ ```typescript
50
+ import type { CodegenConfig } from '@graphql-codegen/cli';
51
+
52
+ const config: CodegenConfig = {
53
+ overwrite: true,
54
+ schema: 'https://www.wix.com/graphql-server/graphql',
55
+ documents: ['src/**/*.ts'],
56
+ ignoreNoDocuments: true,
57
+ generates: {
58
+ './src/gql/': {
59
+ preset: 'client',
60
+ plugins: ['@wix/graphql-codegen-ts-builders']
61
+ },
62
+ },
63
+ };
64
+
65
+ export default config;
66
+ ```
67
+
68
+ ## Example Code
69
+
70
+ ```typescript
71
+ import { graphql } from './gql';
72
+ import { aGetProductOperationResponse } from './gql/graphql';
73
+
74
+ const getProductQuery = graphql(`
75
+ query getProduct($id: ID!) {
76
+ metroinspectorV1ProductsProduct(id: $id) {
77
+ id
78
+ title
79
+ }
80
+ }
81
+ `);
82
+
83
+ const response1 = aGetProductOperationResponse();
84
+ const response2 = aGetProductOperationResponse({ getProduct: { metroinspectorV1ProductsProduct: { id: "12345"} } });
85
+
86
+ console.log(response1);
87
+ // => { getProduct: { metroinspectorV1ProductsProduct: { id: "000", title: "abc" } } }
88
+
89
+ console.log(response2);
90
+ // => { getProduct: { metroinspectorV1ProductsProduct: { id: "12345", title: "abc" } } }
91
+ ```
92
+
93
+ ## More Code Examples
94
+
95
+ **schema.graphql**
96
+
97
+ ```graphql
98
+ type Address {
99
+ street: String
100
+ city: String
101
+ postalCode: Int
102
+ }
103
+
104
+ type PersonalInfo {
105
+ id: ID
106
+ name: String
107
+ age: Int
108
+ address: Address
109
+ }
110
+
111
+ type Query {
112
+ getPersonalInfo(id: ID): PersonalInfo
113
+ queryPersonalInfo: [PersonalInfo]
114
+ }
115
+
116
+ type Mutation {
117
+ updatePersonalInfo: PersonalInfo
118
+ }
119
+ ```
120
+
121
+ ### Builders Reuse
122
+
123
+ Using the same builder for different operations and getting the relevant result
124
+
125
+ **index.ts**
126
+ ```typescript
127
+ import { graphql } from './gql';
128
+ import { aPersonalInfo, aGetPersonalInfoOperationResponse, aQueryPersonalInfoOperationResponse } from './gql/graphql';
129
+
130
+ const getPersonalInfo = graphql(`
131
+ query getPersonalInfo($id: ID!) {
132
+ getPersonalInfo(id: $id) {
133
+ id
134
+ name
135
+ }
136
+ }
137
+ `);
138
+
139
+ const queryPersonalInfo = graphql(`
140
+ query queryPersonalInfo {
141
+ queryPersonalInfo {
142
+ id
143
+ name
144
+ address {
145
+ street
146
+ city
147
+ }
148
+ }
149
+ }
150
+ `);
151
+
152
+ const personalInfo = aPersonalInfo({ name: 'joe' });
153
+
154
+ const response1 = aGetPersonalInfoOperationResponse({ getPersonalInfo: personalInfo });
155
+
156
+ const response2 = aQueryPersonalInfoOperationResponse({ queryPersonalInfo: [ personalInfo ] });
157
+
158
+ console.log(personalInfo);
159
+ // => { id: '123', name: 'joe', age: 23, address: { street: 'a', city: 'b', postalCode: '555' } }
160
+
161
+ console.log(response1);
162
+ // => { getPersonalInfo: { id: '123', name: 'joe' } }
163
+
164
+ console.log(response2);
165
+ // => { queryPersonalInfo: [ { id: '123', name: 'joe', address: { street: 'a', city: 'b' } } ] }
166
+ ```
167
+
168
+ ### Using Fragments
169
+
170
+ **index.ts**
171
+ ```typescript
172
+ import { graphql } from './gql';
173
+ import { anAddress, aGetPersonalInfoOperationResponse, aQueryPersonalInfoOperationResponse } from './gql/graphql';
174
+
175
+ const addressFragment = graphql(`
176
+ fragment AddressFragment on Address {
177
+ city
178
+ street
179
+ }
180
+ `);
181
+
182
+ const getPersonalInfo = graphql(`
183
+ query getPersonalInfo($id: ID!) {
184
+ getPersonalInfo(id: $id) {
185
+ id
186
+ name
187
+ address {
188
+ ...AddressFragment
189
+ }
190
+ }
191
+ }
192
+ `);
193
+
194
+ const address = anAddress({ city: 'Tel Aviv-Yafo' });
195
+
196
+ const response = aGetPersonalInfoOperationResponse({ getPersonalInfo: { id: '777', address } });
197
+
198
+ console.log(address);
199
+ // => { street: 'a', city: 'Tel Aviv-Yafo', postalCode: '555' }
200
+
201
+ console.log(response);
202
+ // => { getPersonalInfo: { id: '777', name: 'joe', address: { street: 'a', city: 'Tel Aviv-Yafo' } } }
203
+ ```
204
+
205
+ ## Next Features
206
+
207
+ - Field alias support
@@ -0,0 +1,18 @@
1
+ import { Types } from '@graphql-codegen/plugin-helpers';
2
+ import { FieldNode, FragmentDefinitionNode, GraphQLObjectType, GraphQLOutputType, GraphQLSchema } from 'graphql';
3
+ import { OperationInfo, OperationData, FragmentData, TypeData } from './types';
4
+ type DocumentFile = Types.DocumentFile;
5
+ export interface DocumentsToOperationsResult {
6
+ operations: OperationData[];
7
+ fragments: FragmentData[];
8
+ }
9
+ export interface SimplifyOperationsDataResult {
10
+ queries: OperationInfo[];
11
+ mutations: OperationInfo[];
12
+ }
13
+ export declare function getTypeName(type: GraphQLOutputType): string;
14
+ export declare function selectionNodeToTypeData(node: FieldNode | FragmentDefinitionNode, schema: GraphQLSchema, typeName: string, parentType: GraphQLObjectType): TypeData;
15
+ export declare function documentsToOperations(documents: DocumentFile[], schema: GraphQLSchema): DocumentsToOperationsResult;
16
+ export declare function simplifyOperationsData(operationsData: OperationData[], fragments?: FragmentData[]): SimplifyOperationsDataResult;
17
+ export {};
18
+ //# sourceMappingURL=documents-to-operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documents-to-operations.d.ts","sourceRoot":"","sources":["../../../src/documents-to-operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAExD,OAAO,EACL,SAAS,EACT,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EAQd,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EACZ,QAAQ,EAIT,MAAM,SAAS,CAAC;AAEjB,KAAK,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;AAEvC,MAAM,WAAW,2BAA2B;IAC1C,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,SAAS,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,SAAS,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAM3D;AAcD,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,SAAS,GAAG,sBAAsB,EACxC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,iBAAiB,GAC5B,QAAQ,CAqEV;AAED,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,YAAY,EAAE,EACzB,MAAM,EAAE,aAAa,GACpB,2BAA2B,CAuG7B;AAED,wBAAgB,sBAAsB,CACpC,cAAc,EAAE,aAAa,EAAE,EAC/B,SAAS,GAAE,YAAY,EAAO,GAC7B,4BAA4B,CAsB9B"}
@@ -0,0 +1,200 @@
1
+ import { __assign, __rest, __spreadArray } from "tslib";
2
+ import { isListType, isNonNullType, isObjectType, Kind, parse, visit, } from 'graphql';
3
+ import { OperationKind, } from './types';
4
+ export function getTypeName(type) {
5
+ return isListType(type)
6
+ ? isNonNullType(type.ofType)
7
+ ? getTypeName(type.ofType)
8
+ : type.ofType.name
9
+ : type.name;
10
+ }
11
+ function getRootType(operation, schema) {
12
+ switch (operation) {
13
+ case 'query':
14
+ return schema.getQueryType();
15
+ case 'mutation':
16
+ return schema.getMutationType();
17
+ case 'subscription':
18
+ return schema.getSubscriptionType();
19
+ }
20
+ throw new Error("Unknown operation type: ".concat(operation));
21
+ }
22
+ export function selectionNodeToTypeData(node, schema, typeName, parentType) {
23
+ var typeData = {
24
+ name: typeName,
25
+ selections: [],
26
+ fragments: [],
27
+ };
28
+ var _a = node.selectionSet.selections.reduce(function (selectionsAndFragments, selectionNode) {
29
+ if (selectionNode.kind !== Kind.FIELD &&
30
+ selectionNode.kind !== Kind.FRAGMENT_SPREAD) {
31
+ return selectionsAndFragments;
32
+ }
33
+ if (selectionNode.kind === Kind.FRAGMENT_SPREAD) {
34
+ selectionsAndFragments.fragments.push(selectionNode.name.value);
35
+ return selectionsAndFragments;
36
+ }
37
+ var fieldType = (isListType(parentType)
38
+ ? parentType.ofType
39
+ : parentType).getFields()[selectionNode.name.value].type;
40
+ var fieldTypeNme = getTypeName(fieldType);
41
+ var fieldTypeData = {
42
+ name: fieldTypeNme,
43
+ selections: [],
44
+ fragments: [],
45
+ };
46
+ selectionsAndFragments.selections.push({
47
+ name: selectionNode.name.value,
48
+ type: fieldTypeData,
49
+ isList: isListType(fieldType),
50
+ });
51
+ if (isObjectType(fieldType) ||
52
+ (isListType(fieldType) && isObjectType(fieldType.ofType))) {
53
+ var result = selectionNodeToTypeData(selectionNode, schema, fieldTypeNme, fieldType);
54
+ fieldTypeData.selections = result.selections;
55
+ fieldTypeData.fragments = result.fragments;
56
+ }
57
+ return selectionsAndFragments;
58
+ }, { selections: [], fragments: [] }), selections = _a.selections, fragments = _a.fragments;
59
+ typeData.selections = selections;
60
+ typeData.fragments = fragments;
61
+ return typeData;
62
+ }
63
+ export function documentsToOperations(documents, schema) {
64
+ var operationsData = [];
65
+ var fragmentsData = [];
66
+ documents.forEach(function (doc) {
67
+ if (!doc.rawSDL) {
68
+ return;
69
+ }
70
+ var astNode = parse(doc.rawSDL);
71
+ var visitor = {
72
+ schema: schema,
73
+ unnamedCounter: 0,
74
+ convertName: function (name, _a) {
75
+ var _b = _a === void 0 ? { prefix: '' } : _a, prefix = _b.prefix;
76
+ return "".concat(prefix).concat(name);
77
+ },
78
+ handleAnonymousOperation: function (node) {
79
+ var _a;
80
+ var name = (_a = node.name) === null || _a === void 0 ? void 0 : _a.value;
81
+ if (name) {
82
+ return this.convertName(name);
83
+ }
84
+ return this.convertName(String(this.unnamedCounter++), {
85
+ prefix: 'Unnamed_',
86
+ });
87
+ },
88
+ FragmentDefinition: function (node) {
89
+ var fragmentTypeName = node.typeCondition.name.value;
90
+ var type = schema.getType(fragmentTypeName);
91
+ var typeData = selectionNodeToTypeData(node, schema, fragmentTypeName, type);
92
+ var fragmentData = {
93
+ name: node.name.value,
94
+ rootTypeName: fragmentTypeName,
95
+ selections: typeData.selections,
96
+ fragments: typeData.fragments,
97
+ };
98
+ fragmentsData.push(fragmentData);
99
+ return fragmentData;
100
+ },
101
+ OperationDefinition: function (node) {
102
+ var name = this.handleAnonymousOperation(node);
103
+ var operationRootType = getRootType(node.operation, this.schema);
104
+ if (!operationRootType) {
105
+ throw new Error("Unable to find root schema type for operation type \"".concat(node.operation, "\"!"));
106
+ }
107
+ var operation = node.selectionSet.selections.reduce(function (operationData, field) {
108
+ var _a;
109
+ field = field;
110
+ var fieldName = field.name.value;
111
+ var graphqlField = operationRootType.getFields()[fieldName];
112
+ var fieldType = graphqlField.type;
113
+ var fieldTypeName = getTypeName(fieldType);
114
+ operationData.selections.push({
115
+ name: fieldName,
116
+ type: selectionNodeToTypeData(field, schema, fieldTypeName, fieldType),
117
+ typeNode: (_a = graphqlField.astNode) === null || _a === void 0 ? void 0 : _a.type,
118
+ isList: isListType(fieldType),
119
+ });
120
+ return operationData;
121
+ }, {
122
+ name: name,
123
+ kind: OperationKind.QUERY,
124
+ selections: [],
125
+ });
126
+ operationsData.push(operation);
127
+ return operation;
128
+ },
129
+ };
130
+ visit(astNode, visitor);
131
+ });
132
+ return {
133
+ operations: operationsData,
134
+ fragments: fragmentsData,
135
+ };
136
+ }
137
+ export function simplifyOperationsData(operationsData, fragments) {
138
+ if (fragments === void 0) { fragments = []; }
139
+ return operationsData.reduce(function (operations, operation) {
140
+ var simplifiedOperation = {
141
+ name: operation.name,
142
+ type: operation.kind,
143
+ selections: simplifySelections(operation.selections, fragments),
144
+ };
145
+ if (operation.kind === OperationKind.QUERY) {
146
+ operations.queries.push(simplifiedOperation);
147
+ }
148
+ else if (operation.kind === OperationKind.MUTATION) {
149
+ operations.mutations.push(simplifiedOperation);
150
+ }
151
+ return operations;
152
+ }, {
153
+ queries: [],
154
+ mutations: [],
155
+ });
156
+ }
157
+ function simplifySelections(selections, fragments) {
158
+ if (fragments === void 0) { fragments = []; }
159
+ return selections.map(function (_a) {
160
+ var type = _a.type, info = __rest(_a, ["type"]);
161
+ if (type.selections.length === 0 && type.fragments.length === 0) {
162
+ return __assign(__assign({}, info), { type: {
163
+ name: type.name,
164
+ selections: [],
165
+ } });
166
+ }
167
+ var typeSelections = __spreadArray([], type.selections, true);
168
+ if (type.fragments.length > 0) {
169
+ for (var _i = 0, _b = type.fragments; _i < _b.length; _i++) {
170
+ var fragName = _b[_i];
171
+ typeSelections.push.apply(typeSelections, resolveFragmentSelections(fragName, fragments));
172
+ }
173
+ }
174
+ return __assign(__assign({}, info), { type: {
175
+ name: type.name,
176
+ selections: simplifySelections(typeSelections, fragments),
177
+ } });
178
+ });
179
+ }
180
+ function resolveFragmentSelections(fragmentName, fragments) {
181
+ var fragment = fragments.find(function (_a) {
182
+ var name = _a.name;
183
+ return name === fragmentName;
184
+ });
185
+ if (!fragment) {
186
+ return [];
187
+ }
188
+ var selections = [];
189
+ if (fragment.selections.length > 0) {
190
+ selections.push.apply(selections, fragment.selections);
191
+ }
192
+ if (fragment.fragments.length > 0) {
193
+ for (var _i = 0, _a = fragment.fragments; _i < _a.length; _i++) {
194
+ var fragName = _a[_i];
195
+ selections.push.apply(selections, resolveFragmentSelections(fragName, fragments));
196
+ }
197
+ }
198
+ return selections;
199
+ }
200
+ //# sourceMappingURL=documents-to-operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"documents-to-operations.js","sourceRoot":"","sources":["../../../src/documents-to-operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { OperationInfo, TypeInfo, PickedFields, NamingConvention } from './types';
2
+ export declare function hashedString(value: string): number;
3
+ export declare function convertName(value: string, fn: (v: string) => string, transformUnderscore: boolean): string;
4
+ export declare function createNameConverter(convention: NamingConvention, transformUnderscore: boolean): (value: string, prefix?: string) => string;
5
+ export declare function toMockName(typedName: string, casedName: string, prefix?: string): string;
6
+ export declare function toOperationMockName(operation: OperationInfo): string;
7
+ export declare function operationToOperationType(operation: OperationInfo): string;
8
+ export declare function calculatePickedFields(type: TypeInfo): PickedFields;
9
+ export declare function calculatePickedFieldsNames(type: TypeInfo): string[];
10
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/helpers.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,UAazC;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,EACzB,mBAAmB,EAAE,OAAO,GAC3B,MAAM,CASR;AAED,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,gBAAgB,EAC5B,mBAAmB,EAAE,OAAO,WAEb,MAAM,6BAUtB;AAED,wBAAgB,UAAU,CACxB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,UAOhB;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,aAAa,UAK3D;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,aAAa,GAAG,MAAM,CAqBzE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,GAAG,YAAY,CAUlE;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,EAAE,CAcnE"}
@@ -0,0 +1,84 @@
1
+ import a from 'indefinite';
2
+ import { sentenceCase } from 'sentence-case';
3
+ import { resolveExternalModuleAndFn } from '@graphql-codegen/plugin-helpers';
4
+ export function hashedString(value) {
5
+ var hash = 0;
6
+ if (value.length === 0) {
7
+ return hash;
8
+ }
9
+ for (var i = 0; i < value.length; i++) {
10
+ var char = value.charCodeAt(i);
11
+ // eslint-disable-next-line no-bitwise
12
+ hash = (hash << 5) - hash + char;
13
+ // eslint-disable-next-line no-bitwise
14
+ hash = hash & hash; // Convert to 32bit integer
15
+ }
16
+ return hash;
17
+ }
18
+ export function convertName(value, fn, transformUnderscore) {
19
+ if (transformUnderscore) {
20
+ return fn(value);
21
+ }
22
+ return value
23
+ .split('_')
24
+ .map(function (s) { return fn(s); })
25
+ .join('_');
26
+ }
27
+ export function createNameConverter(convention, transformUnderscore) {
28
+ return function (value, prefix) {
29
+ if (prefix === void 0) { prefix = ''; }
30
+ if (convention === 'keep') {
31
+ return "".concat(prefix).concat(value);
32
+ }
33
+ return "".concat(prefix).concat(convertName(value, resolveExternalModuleAndFn(convention), transformUnderscore));
34
+ };
35
+ }
36
+ export function toMockName(typedName, casedName, prefix) {
37
+ if (prefix) {
38
+ return "".concat(prefix).concat(casedName);
39
+ }
40
+ var firstWord = sentenceCase(typedName).split(' ')[0];
41
+ return "".concat(a(firstWord, { articleOnly: true })).concat(casedName);
42
+ }
43
+ export function toOperationMockName(operation) {
44
+ return "".concat(operation.name.slice(0, 1).toUpperCase()).concat(operation.name.slice(1, operation.name.length), "Operation");
45
+ }
46
+ export function operationToOperationType(operation) {
47
+ var operationType = "export type ".concat(toOperationMockName(operation), " = DeepPick<{\n");
48
+ var fields = operation.selections.reduce(function (operationFields, _a) {
49
+ var name = _a.name, type = _a.type, isList = _a.isList;
50
+ operationFields += " ".concat(name, ": ").concat(isList ? "".concat(type.name, "[]") : type.name, ";\n");
51
+ return operationFields;
52
+ }, "");
53
+ var pickedFieldsNames = calculatePickedFieldsNames(operation);
54
+ return "".concat(operationType).concat(fields, "}, ").concat(pickedFieldsNames
55
+ .map(function (x) { return "'".concat(x, "'\n"); })
56
+ .join(' | '), ">");
57
+ }
58
+ export function calculatePickedFields(type) {
59
+ return type.selections.reduce(function (pickedFields, selection) {
60
+ if (selection.type.selections.length === 0) {
61
+ pickedFields.set(selection.name, undefined);
62
+ }
63
+ else {
64
+ pickedFields.set(selection.name, calculatePickedFields(selection.type));
65
+ }
66
+ return pickedFields;
67
+ }, new Map());
68
+ }
69
+ export function calculatePickedFieldsNames(type) {
70
+ return type.selections.reduce(function (pickedFields, selection) {
71
+ if (selection.type.selections.length === 0) {
72
+ pickedFields.push(selection.name);
73
+ }
74
+ else {
75
+ var nestedPickedFields = calculatePickedFieldsNames(selection.type);
76
+ for (var _i = 0, nestedPickedFields_1 = nestedPickedFields; _i < nestedPickedFields_1.length; _i++) {
77
+ var fieldName = nestedPickedFields_1[_i];
78
+ pickedFields.push("".concat(selection.name, ".").concat(fieldName));
79
+ }
80
+ }
81
+ return pickedFields;
82
+ }, []);
83
+ }
84
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { NamingConvention, ScalarMap, TypeFieldMap } from './types';
2
+ import { PluginFunction } from '@graphql-codegen/plugin-helpers';
3
+ export interface TypescriptMocksPluginConfig {
4
+ typesFile?: string;
5
+ enumValues?: NamingConvention;
6
+ typeNames?: NamingConvention;
7
+ addTypename?: boolean;
8
+ prefix?: string;
9
+ scalars?: ScalarMap;
10
+ terminateCircularRelationships?: boolean;
11
+ typesPrefix?: string;
12
+ enumsPrefix?: string;
13
+ transformUnderscore?: boolean;
14
+ listElementCount?: number;
15
+ dynamicValues?: boolean;
16
+ generateLibrary?: 'casual' | 'faker';
17
+ fieldGeneration?: TypeFieldMap;
18
+ locale?: string;
19
+ enumsAsTypes?: boolean;
20
+ useImplementingTypes?: boolean;
21
+ defaultNullableToNull?: boolean;
22
+ }
23
+ export declare const plugin: PluginFunction<TypescriptMocksPluginConfig>;
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,gBAAgB,EAChB,SAAS,EACT,YAAY,EAGb,MAAM,SAAS,CAAC;AACjB,OAAO,EAAY,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAkH3E,MAAM,WAAW,2BAA2B;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IACrC,eAAe,CAAC,EAAE,YAAY,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAKD,eAAO,MAAM,MAAM,EAAE,cAAc,CAAC,2BAA2B,CA2Y9D,CAAC"}