@aws-amplify/api-graphql 4.0.1-api-v6-models.3eb7748.0 → 4.0.1-api-v6-models.9493d4d.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.
|
@@ -147,7 +147,7 @@ exports.graphQLOperationsInfo = {
|
|
|
147
147
|
ONDELETE: { operationPrefix: 'onDelete', usePlural: false },
|
|
148
148
|
};
|
|
149
149
|
var graphQLDocumentsCache = new Map();
|
|
150
|
-
var
|
|
150
|
+
var SELECTION_SET_WILDCARD = '*';
|
|
151
151
|
function defaultSelectionSetForModel(modelDefinition) {
|
|
152
152
|
// fields that are explicitly part of the graphql schema; not
|
|
153
153
|
// inferred from owner auth rules.
|
|
@@ -184,71 +184,54 @@ var FIELD_IR = '';
|
|
|
184
184
|
* ```
|
|
185
185
|
*/
|
|
186
186
|
function customSelectionSetToIR(modelIntrospection, modelName, selectionSet) {
|
|
187
|
-
var e_2, _a;
|
|
188
|
-
var _b, _c, _d, _e;
|
|
189
187
|
var modelDefinition = modelIntrospection[modelName];
|
|
190
|
-
var
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
var
|
|
196
|
-
if (
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
if (!relatedModel) {
|
|
200
|
-
// TODO: may need to change this to support custom types
|
|
201
|
-
throw Error("".concat(modelFieldName, " is not a model field"));
|
|
202
|
-
}
|
|
203
|
-
if (selectedField === SELECTION_SET_ALL_NESTED) {
|
|
204
|
-
var relatedModelDefinition = modelIntrospection[relatedModel];
|
|
205
|
-
var defaultSelectionSet = defaultSelectionSetForModel(relatedModelDefinition);
|
|
206
|
-
var reduced = defaultSelectionSet.reduce(function (acc, curVal) {
|
|
207
|
-
acc[curVal] = FIELD_IR;
|
|
208
|
-
return acc;
|
|
209
|
-
}, {});
|
|
210
|
-
if ((_d = fields[modelFieldName]) === null || _d === void 0 ? void 0 : _d.isArray) {
|
|
211
|
-
intermediateSelectionSet[modelFieldName] = {
|
|
212
|
-
items: reduced,
|
|
213
|
-
};
|
|
214
|
-
}
|
|
215
|
-
else {
|
|
216
|
-
intermediateSelectionSet[modelFieldName] = reduced;
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
else {
|
|
220
|
-
var getNestedSelSet = customSelectionSetToIR(modelIntrospection, relatedModel, [selectedField]);
|
|
221
|
-
if ((_e = fields[modelFieldName]) === null || _e === void 0 ? void 0 : _e.isArray) {
|
|
222
|
-
var existing = intermediateSelectionSet[modelFieldName] || { items: {} };
|
|
223
|
-
var merged = tslib_1.__assign(tslib_1.__assign({}, existing.items), getNestedSelSet);
|
|
224
|
-
intermediateSelectionSet[modelFieldName] = { items: merged };
|
|
225
|
-
}
|
|
226
|
-
else {
|
|
227
|
-
var existingItems = intermediateSelectionSet[modelFieldName] || {};
|
|
228
|
-
var merged = tslib_1.__assign(tslib_1.__assign({}, existingItems), getNestedSelSet);
|
|
229
|
-
intermediateSelectionSet[modelFieldName] = merged;
|
|
230
|
-
}
|
|
231
|
-
}
|
|
188
|
+
var modelFields = modelDefinition.fields;
|
|
189
|
+
return selectionSet.reduce(function (resultObj, path) {
|
|
190
|
+
var _a, _b, _c;
|
|
191
|
+
var _d = tslib_1.__read(path.split('.')), fieldName = _d[0], nested = _d[1], rest = _d.slice(2);
|
|
192
|
+
if (nested) {
|
|
193
|
+
var relatedModel = (_b = (_a = modelFields[fieldName]) === null || _a === void 0 ? void 0 : _a.type) === null || _b === void 0 ? void 0 : _b.model;
|
|
194
|
+
if (!relatedModel) {
|
|
195
|
+
// TODO: may need to change this to support custom types
|
|
196
|
+
throw Error("".concat(fieldName, " is not a model field"));
|
|
232
197
|
}
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
198
|
+
var relatedModelDefinition = modelIntrospection[relatedModel];
|
|
199
|
+
var selectionSet_1 = nested === SELECTION_SET_WILDCARD
|
|
200
|
+
? defaultSelectionSetIR(relatedModelDefinition)
|
|
201
|
+
: // if we have a path like 'field.anotherField' recursively build up selection set IR
|
|
202
|
+
customSelectionSetToIR(modelIntrospection, relatedModel, [
|
|
203
|
+
tslib_1.__spreadArray([nested], tslib_1.__read(rest), false).join('.'),
|
|
204
|
+
]);
|
|
205
|
+
if ((_c = modelFields[fieldName]) === null || _c === void 0 ? void 0 : _c.isArray) {
|
|
206
|
+
var existing = resultObj[fieldName] || {
|
|
207
|
+
items: {},
|
|
208
|
+
};
|
|
209
|
+
var merged_1 = tslib_1.__assign(tslib_1.__assign({}, existing.items), selectionSet_1);
|
|
210
|
+
resultObj[fieldName] = { items: merged_1 };
|
|
211
|
+
return resultObj;
|
|
239
212
|
}
|
|
213
|
+
var existingItems = resultObj[fieldName] || {};
|
|
214
|
+
var merged = tslib_1.__assign(tslib_1.__assign({}, existingItems), selectionSet_1);
|
|
215
|
+
resultObj[fieldName] = merged;
|
|
216
|
+
return resultObj;
|
|
240
217
|
}
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
try {
|
|
245
|
-
if (selectionSet_1_1 && !selectionSet_1_1.done && (_a = selectionSet_1.return)) _a.call(selectionSet_1);
|
|
218
|
+
var exists = Boolean(modelFields[fieldName]);
|
|
219
|
+
if (!exists) {
|
|
220
|
+
throw Error("".concat(fieldName, " is not a field of model ").concat(modelName));
|
|
246
221
|
}
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
222
|
+
resultObj[fieldName] = FIELD_IR;
|
|
223
|
+
return resultObj;
|
|
224
|
+
}, {});
|
|
250
225
|
}
|
|
251
226
|
exports.customSelectionSetToIR = customSelectionSetToIR;
|
|
227
|
+
var defaultSelectionSetIR = function (relatedModelDefinition) {
|
|
228
|
+
var defaultSelectionSet = defaultSelectionSetForModel(relatedModelDefinition);
|
|
229
|
+
var reduced = defaultSelectionSet.reduce(function (acc, curVal) {
|
|
230
|
+
acc[curVal] = FIELD_IR;
|
|
231
|
+
return acc;
|
|
232
|
+
}, {});
|
|
233
|
+
return reduced;
|
|
234
|
+
};
|
|
252
235
|
/**
|
|
253
236
|
* Stringifies selection set IR
|
|
254
237
|
* * @example
|