@luvio/compiler 0.89.0 → 0.90.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.
@@ -9,6 +9,7 @@ const key_1 = require("./key");
9
9
  const interface_1 = require("./interface");
10
10
  const ingest_1 = require("./ingest");
11
11
  const ttl_1 = require("./ttl");
12
+ const merge_1 = require("./merge");
12
13
  const imports_1 = require("../../../utils/imports");
13
14
  function generateType(graphqlDsl, graphqlTypeName, def, importContext, metadata) {
14
15
  return (0, imports_1.resolveImports)((0, deindent_1.default) `
@@ -16,6 +17,7 @@ function generateType(graphqlDsl, graphqlTypeName, def, importContext, metadata)
16
17
  ${(0, ttl_1.generateTtl)(graphqlDsl, graphqlTypeName)}
17
18
  ${(0, interface_1.generateInterfaces)(graphqlDsl, graphqlTypeName, def, importContext, metadata)}
18
19
  ${(0, key_1.generateKey)(def, importContext, graphqlDsl.schemaName)}
20
+ ${(0, merge_1.generateMerge)(importContext)}
19
21
  ${(0, ingest_1.generateIngest)(graphqlDsl, graphqlTypeName, def, importContext, metadata)}
20
22
  `);
21
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/index.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,+BAAoC;AACpC,2CAAiD;AACjD,qCAA0C;AAC1C,+BAAoC;AACpC,oDAAwD;AAMxD,SAAgB,YAAY,CACxB,UAA2B,EAC3B,eAAuB,EACvB,GAA6B,EAC7B,aAA4B,EAC5B,QAAgC;IAEhC,OAAO,IAAA,wBAAc,EAAC,IAAA,kBAAQ,EAAA;+BACH,eAAe;UACpC,IAAA,iBAAW,EAAC,UAAU,EAAE,eAAe,CAAC;UACxC,IAAA,8BAAkB,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UAC7E,IAAA,iBAAW,EAAC,GAAG,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC;UACtD,IAAA,uBAAc,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;KAC9E,CAAC,CAAC;AACP,CAAC;AAdD,oCAcC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/index.ts"],"names":[],"mappings":";;;;;;AAAA,uEAA+C;AAC/C,+BAAoC;AACpC,2CAAiD;AACjD,qCAA0C;AAC1C,+BAAoC;AACpC,mCAAwC;AACxC,oDAAwD;AAMxD,SAAgB,YAAY,CACxB,UAA2B,EAC3B,eAAuB,EACvB,GAA6B,EAC7B,aAA4B,EAC5B,QAAgC;IAEhC,OAAO,IAAA,wBAAc,EAAC,IAAA,kBAAQ,EAAA;+BACH,eAAe;UACpC,IAAA,iBAAW,EAAC,UAAU,EAAE,eAAe,CAAC;UACxC,IAAA,8BAAkB,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;UAC7E,IAAA,iBAAW,EAAC,GAAG,EAAE,aAAa,EAAE,UAAU,CAAC,UAAU,CAAC;UACtD,IAAA,qBAAa,EAAC,aAAa,CAAC;UAC5B,IAAA,uBAAc,EAAC,UAAU,EAAE,eAAe,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,CAAC;KAC9E,CAAC,CAAC;AACP,CAAC;AAfD,oCAeC"}
@@ -21,22 +21,23 @@ function ingestNamedType(field, typeNode, importContext, normalizableTypeMap) {
21
21
  }
22
22
  const typeNameIngestImport = importGraphQLArtifact(typeName, constants_2.TYPE_INGEST_IDENTIFIER);
23
23
  const fieldStateIdentifier = `${fieldName}State`;
24
- return `if(${constants_2.REQUESTED_FIELD_IDENTIFIER}.name.value === '${fieldName}') {
25
- const ${fieldStateIdentifier} = {
26
- ...state,
27
- path: {
28
- parent: null,
29
- propertyName: ${constants_2.FIELD_KEY_IDENTIFIER},
30
- fullPath: key + '__' + ${constants_2.FIELD_KEY_IDENTIFIER}
31
- },
32
- data: ${constants_2.FIELD_DATA_IDENTIFIER},
24
+ return (0, deindent_1.default) `
25
+ if(${constants_2.REQUESTED_FIELD_IDENTIFIER}.name.value === '${fieldName}') {
26
+ const ${fieldStateIdentifier} = {
27
+ ...state,
28
+ path: {
29
+ parent: null,
30
+ propertyName: ${constants_2.FIELD_KEY_IDENTIFIER},
31
+ fullPath: key + '__' + ${constants_2.FIELD_KEY_IDENTIFIER}
32
+ },
33
+ data: ${constants_2.FIELD_DATA_IDENTIFIER},
34
+ };
35
+ dataSink[${constants_2.FIELD_KEY_IDENTIFIER}] = ${typeNameIngestImport}(
36
+ ${constants_2.REQUESTED_FIELD_IDENTIFIER},
37
+ ${fieldStateIdentifier}
38
+ ) as any;
33
39
  };
34
- delete data[${constants_2.FIELD_DATA_KEY_IDENTIFIER}]; // TODO (W-11126527): prefer using a dataSink instead
35
- data[${constants_2.FIELD_KEY_IDENTIFIER}] = ${typeNameIngestImport}(
36
- ${constants_2.REQUESTED_FIELD_IDENTIFIER},
37
- ${fieldStateIdentifier}
38
- ) as any;
39
- };`;
40
+ `;
40
41
  }
41
42
  exports.ingestNamedType = ingestNamedType;
42
43
  function ingestListType(field, typeNode, importContext, normalizableTypeMap) {
@@ -52,7 +53,8 @@ function ingestListType(field, typeNode, importContext, normalizableTypeMap) {
52
53
  return generateIngestScalarField(fieldName);
53
54
  }
54
55
  const typeNameIngestImport = importGraphQLArtifact(typeName, constants_2.TYPE_INGEST_IDENTIFIER);
55
- return `if(${constants_2.REQUESTED_FIELD_IDENTIFIER}.name.value === '${fieldName}') {
56
+ return (0, deindent_1.default) `
57
+ if(${constants_2.REQUESTED_FIELD_IDENTIFIER}.name.value === '${fieldName}') {
56
58
  const ${collectionIdentifier}: ${constants_1.LUVIO_STORE_LINK_IMPORT}[] = [];
57
59
  const ${fullPathIdentifier} = \`\${key}__\${${constants_2.FIELD_KEY_IDENTIFIER}}\`;
58
60
  for(let i = 0, len = ${dataIdentifier}.length; i < len; i++) {
@@ -73,7 +75,7 @@ function ingestListType(field, typeNode, importContext, normalizableTypeMap) {
73
75
  )
74
76
  }
75
77
  ${constants_1.LUVIO_IDENTIFIER}.storePublish(${fullPathIdentifier}, ${collectionIdentifier})
76
- ${dataIdentifier} = {
78
+ dataSink[${constants_2.FIELD_KEY_IDENTIFIER}] = {
77
79
  __ref: ${fullPathIdentifier}
78
80
  } as any;
79
81
  };
@@ -81,10 +83,11 @@ function ingestListType(field, typeNode, importContext, normalizableTypeMap) {
81
83
  }
82
84
  exports.ingestListType = ingestListType;
83
85
  function generateIngestScalarField(fieldName) {
84
- return `if(${constants_2.REQUESTED_FIELD_IDENTIFIER}.name.value === '${fieldName}') {
85
- delete data[${constants_2.FIELD_DATA_KEY_IDENTIFIER}]; // TODO (W-11126527): prefer using a dataSink instead
86
- data[${constants_2.FIELD_KEY_IDENTIFIER}] = ${constants_2.FIELD_DATA_IDENTIFIER};
87
- }`;
86
+ return (0, deindent_1.default) `
87
+ if(${constants_2.REQUESTED_FIELD_IDENTIFIER}.name.value === '${fieldName}') {
88
+ dataSink[${constants_2.FIELD_KEY_IDENTIFIER}] = ${constants_2.FIELD_DATA_IDENTIFIER};
89
+ }
90
+ `;
88
91
  }
89
92
  function ingestType(field, typeNode, importContext, normalizableTypeMap) {
90
93
  if (field === undefined) {
@@ -108,11 +111,10 @@ function generateIngestFromDef(graphqlDsl, def, importContext, normalizableTypeM
108
111
  exports.generateIngestFromDef = generateIngestFromDef;
109
112
  function generateObjectTypeIngest(type, importContext, normalizableTypeMap) {
110
113
  const fieldMap = type.getFields();
111
- const fieldList = Object.keys(fieldMap);
112
- const fieldIngestStatements = fieldList
113
- .map((fieldName) => {
114
+ const fields = Object.values(fieldMap);
115
+ const fieldIngestStatements = fields
116
+ .map((field) => {
114
117
  var _a, _b;
115
- const field = fieldMap[fieldName];
116
118
  if (((_a = field.astNode) === null || _a === void 0 ? void 0 : _a.type) === undefined) {
117
119
  return '';
118
120
  }
@@ -127,12 +129,16 @@ function generateObjectTypeIngest(type, importContext, normalizableTypeMap) {
127
129
  return ingestStatements.join('\n');
128
130
  }
129
131
  function getRequestedFieldsStatement() {
130
- return `const ${REQUESTED_FIELDS_IDENTIFIER}: ${constants_1.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[] = astNode && astNode.selectionSet ?
131
- astNode.selectionSet.selections
132
- .filter((i): i is ${constants_1.LUVIO_GRAPHQL_FIELD_NODE_IMPORT} => {
133
- return i.kind === "Field";
134
- }) :
135
- [];`;
132
+ return (0, deindent_1.default) `
133
+ const ${REQUESTED_FIELDS_IDENTIFIER}: ${constants_1.LUVIO_GRAPHQL_FIELD_NODE_IMPORT}[] =
134
+ astNode && astNode.selectionSet ?
135
+ astNode.selectionSet.selections.filter(
136
+ (i): i is ${constants_1.LUVIO_GRAPHQL_FIELD_NODE_IMPORT} => {
137
+ return i.kind === "Field";
138
+ }
139
+ ) :
140
+ [];
141
+ `;
136
142
  }
137
143
  function iterateThroughResponseKeys(importContext, individualFieldIngestBlock) {
138
144
  const getRequestedFieldImport = importContext.importGraphQLArtifact(constants_2.TYPE_UTIL_IDENTIFIER, constants_2.GET_REQUESTED_FIELD_IDENTIFIER);
@@ -167,15 +173,26 @@ function generateIngest(graphqlDsl, typeName, def, importContext, _metadata) {
167
173
  : constants_1.LUVIO_GRAPHQL_FIELD_NODE_IMPORT;
168
174
  return (0, deindent_1.default) `
169
175
  export function ingest(astNode: ${astNodeParamType}, state: ${graphqlStateInterface}<${interface_1.PARTIAL_INTERFACE_IDENTIFIER}>) {
170
- const { path, ${constants_1.LUVIO_IDENTIFIER} } = state;
176
+ const { path, ${constants_1.LUVIO_IDENTIFIER}, ${constants_1.LUVIO_STORE_IDENTIFIER} } = state;
171
177
  const data = state.data;
172
178
  const key = ${constants_2.KEY_BUILDER_IDENTIFIER}(path, data);
173
179
 
174
180
  // normalize fields
181
+ const dataSink = <PartialInterface>({});
175
182
  ${generateIngestFromDef(graphqlDsl, def, importContext, normalizableTypeMap)};
176
-
183
+
184
+ // merge existing cache data and new request response data
185
+ let mergedData: PartialInterface;
186
+ const existingData = ${constants_1.LUVIO_STORE_IDENTIFIER}.readEntry<${interface_1.PARTIAL_INTERFACE_IDENTIFIER}>(key);
187
+ if (existingData !== undefined && existingData.__type !== "error") {
188
+ mergedData = mergeData(existingData as PartialInterface, dataSink);
189
+ }
190
+ else {
191
+ mergedData = dataSink;
192
+ }
193
+
177
194
  // publish
178
- ${constants_1.LUVIO_IDENTIFIER}.storePublish(key, data);
195
+ ${constants_1.LUVIO_IDENTIFIER}.storePublish(key, mergedData);
179
196
 
180
197
  const storeMetadataParams = {
181
198
  ttl: ${ttl},
@@ -1 +1 @@
1
- {"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/ingest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/ingest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { ImportContext } from '../../../utils/imports';
2
+ export declare function generateMerge(importContext: ImportContext): string;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.generateMerge = void 0;
7
+ const interface_1 = require("./interface");
8
+ const deindent_1 = __importDefault(require("../../../utils/deindent"));
9
+ function generateMerge(importContext) {
10
+ return (0, deindent_1.default) `
11
+ export function mergeData(existingData: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}, newData: ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}): ${interface_1.PARTIAL_INTERFACE_IDENTIFIER}{
12
+ return ${importContext.importTypeUtil('ObjectAssign')}(existingData, newData);
13
+ }
14
+ `;
15
+ }
16
+ exports.generateMerge = generateMerge;
17
+ //# sourceMappingURL=merge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../../src/codegen/graphql/type/merge.ts"],"names":[],"mappings":";;;;;;AAAA,2CAA2D;AAC3D,uEAA+C;AAG/C,SAAgB,aAAa,CAAC,aAA4B;IACtD,OAAO,IAAA,kBAAQ,EAAA;kDAC+B,wCAA4B,cAAc,wCAA4B,MAAM,wCAA4B;qBACrI,aAAa,CAAC,cAAc,CAAC,cAAc,CAAC;;KAE5D,CAAC;AACN,CAAC;AAND,sCAMC"}
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.generateShapeUtils = void 0;
7
7
  const deindent_1 = __importDefault(require("../../utils/deindent"));
8
8
  const LANGUAGE = (0, deindent_1.default) `
9
- export const { freeze: ObjectFreeze, keys: ObjectKeys, create: ObjectCreate } = Object;
9
+ export const { freeze: ObjectFreeze, keys: ObjectKeys, create: ObjectCreate, assign: ObjectAssign } = Object;
10
10
  export const { isArray: ArrayIsArray } = Array;
11
11
  export const { stringify: JSONStringify } = JSON;
12
12
  `;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luvio/compiler",
3
- "version": "0.89.0",
3
+ "version": "0.90.0",
4
4
  "description": "Luvio Compiler",
5
5
  "main": "dist/main.js",
6
6
  "types": "dist/main.d.ts",
@@ -31,11 +31,11 @@
31
31
  "resources/"
32
32
  ],
33
33
  "dependencies": {
34
- "@luvio/graphql-parser": "0.89.0",
34
+ "@luvio/graphql-parser": "0.90.0",
35
35
  "amf-client-js": "4.2.0"
36
36
  },
37
37
  "devDependencies": {
38
- "@luvio/adapter-test-library": "0.89.0",
39
- "@luvio/engine": "0.89.0"
38
+ "@luvio/adapter-test-library": "0.90.0",
39
+ "@luvio/engine": "0.90.0"
40
40
  }
41
41
  }