@aws-amplify/api-graphql 4.0.1-console-preview.be08038.0 → 4.0.1-server-generate-client.1e317a1.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.
- package/lib/GraphQLAPI.d.ts +2 -2
- package/lib/GraphQLAPI.js +4 -6
- package/lib/Providers/AWSAppSyncRealTimeProvider/index.d.ts +1 -1
- package/lib/Providers/AWSAppSyncRealTimeProvider/index.js +36 -36
- package/lib/Providers/constants.js +5 -4
- package/lib/index.js +5 -4
- package/lib/internals/APIClient.d.ts +101 -0
- package/lib/internals/APIClient.js +443 -0
- package/lib/internals/InternalGraphQLAPI.d.ts +2 -2
- package/lib/internals/InternalGraphQLAPI.js +35 -17
- package/lib/internals/generateClient.d.ts +12 -0
- package/lib/internals/generateClient.js +30 -0
- package/lib/internals/generateModelsProperty.d.ts +4 -0
- package/lib/internals/generateModelsProperty.js +169 -0
- package/lib/internals/index.d.ts +1 -0
- package/lib/internals/index.js +8 -5
- package/lib/internals/types.d.ts +10 -0
- package/lib/internals/types.js +2 -0
- package/lib/internals/v6.js +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -6619
- package/lib/types/PubSub.d.ts +2 -2
- package/lib/types/PubSub.js +3 -2
- package/lib/types/index.d.ts +25 -22
- package/lib/types/index.js +4 -3
- package/lib/utils/ConnectionStateMonitor.d.ts +3 -3
- package/lib/utils/ConnectionStateMonitor.js +7 -6
- package/lib/utils/ReachabilityMonitor/index.d.ts +1 -1
- package/lib/utils/ReachabilityMonitor/index.js +3 -1
- package/lib/utils/ReachabilityMonitor/index.native.d.ts +1 -1
- package/lib/utils/ReachabilityMonitor/index.native.js +3 -1
- package/lib/utils/ReconnectionMonitor.js +2 -1
- package/lib/utils/errors/APIError.js +1 -0
- package/lib/utils/errors/assertValidationError.js +1 -0
- package/lib/utils/errors/index.js +5 -4
- package/lib/utils/errors/validation.js +2 -1
- package/lib/utils/index.js +3 -2
- package/lib/utils/resolveConfig.d.ts +1 -1
- package/lib/utils/resolveConfig.js +4 -2
- package/lib/utils/resolveLibraryOptions.d.ts +1 -1
- package/lib/utils/resolveLibraryOptions.js +3 -1
- package/lib/utils/resolveOwnerFields.d.ts +12 -0
- package/lib/utils/resolveOwnerFields.js +63 -0
- package/lib-esm/GraphQLAPI.d.ts +2 -2
- package/lib-esm/GraphQLAPI.js +1 -5
- package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.d.ts +1 -1
- package/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.js +28 -29
- package/lib-esm/internals/APIClient.d.ts +101 -0
- package/lib-esm/internals/APIClient.js +432 -0
- package/lib-esm/internals/InternalGraphQLAPI.d.ts +2 -2
- package/lib-esm/internals/InternalGraphQLAPI.js +21 -5
- package/lib-esm/internals/generateClient.d.ts +12 -0
- package/lib-esm/internals/generateClient.js +26 -0
- package/lib-esm/internals/generateModelsProperty.d.ts +4 -0
- package/lib-esm/internals/generateModelsProperty.js +165 -0
- package/lib-esm/internals/index.d.ts +1 -0
- package/lib-esm/internals/index.js +1 -0
- package/lib-esm/internals/types.d.ts +10 -0
- package/lib-esm/internals/types.js +1 -0
- package/lib-esm/tsconfig.tsbuildinfo +1 -6619
- package/lib-esm/types/PubSub.d.ts +2 -2
- package/lib-esm/types/index.d.ts +25 -22
- package/lib-esm/utils/ConnectionStateMonitor.d.ts +3 -3
- package/lib-esm/utils/ConnectionStateMonitor.js +2 -2
- package/lib-esm/utils/ReachabilityMonitor/index.d.ts +1 -1
- package/lib-esm/utils/ReachabilityMonitor/index.native.d.ts +1 -1
- package/lib-esm/utils/resolveConfig.d.ts +1 -1
- package/lib-esm/utils/resolveLibraryOptions.d.ts +1 -1
- package/lib-esm/utils/resolveOwnerFields.d.ts +12 -0
- package/lib-esm/utils/resolveOwnerFields.js +59 -0
- package/package.json +12 -6
- package/src/GraphQLAPI.ts +2 -6
- package/src/Providers/AWSAppSyncRealTimeProvider/index.ts +2 -3
- package/src/internals/APIClient.ts +583 -0
- package/src/internals/InternalGraphQLAPI.ts +35 -9
- package/src/internals/generateClient.ts +30 -0
- package/src/internals/generateModelsProperty.ts +192 -0
- package/src/internals/index.ts +1 -0
- package/src/internals/types.ts +15 -0
- package/src/types/index.ts +7 -1
- package/src/utils/resolveOwnerFields.ts +65 -0
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateModelsProperty = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var APIClient_1 = require("./APIClient");
|
|
6
|
+
var rxjs_1 = require("rxjs");
|
|
7
|
+
var core_1 = require("@aws-amplify/core");
|
|
8
|
+
function generateModelsProperty(client, params) {
|
|
9
|
+
var e_1, _a;
|
|
10
|
+
var _this = this;
|
|
11
|
+
var _b, _c, _d;
|
|
12
|
+
var models = {};
|
|
13
|
+
// params.config gets populated in SSR only; otherwise we get it from the singleton
|
|
14
|
+
var config = (_b = params.config) !== null && _b !== void 0 ? _b : core_1.Amplify.getConfig();
|
|
15
|
+
var modelIntrospection = (_d = (_c = config.API) === null || _c === void 0 ? void 0 : _c.GraphQL) === null || _d === void 0 ? void 0 : _d.modelIntrospection;
|
|
16
|
+
if (!modelIntrospection) {
|
|
17
|
+
return {};
|
|
18
|
+
}
|
|
19
|
+
var _loop_1 = function (model) {
|
|
20
|
+
var name_1 = model.name;
|
|
21
|
+
models[name_1] = {};
|
|
22
|
+
Object.entries(APIClient_1.graphQLOperationsInfo).forEach(function (_a) {
|
|
23
|
+
var _b = tslib_1.__read(_a, 2), key = _b[0], operationPrefix = _b[1].operationPrefix;
|
|
24
|
+
var operation = key;
|
|
25
|
+
if (operation === 'LIST') {
|
|
26
|
+
models[name_1][operationPrefix] = function (args) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
27
|
+
var query, variables, _a, data, nextToken, extensions, _b, key_1, flattenedResult, initialized, error_1;
|
|
28
|
+
return tslib_1.__generator(this, function (_c) {
|
|
29
|
+
switch (_c.label) {
|
|
30
|
+
case 0:
|
|
31
|
+
query = (0, APIClient_1.generateGraphQLDocument)(modelIntrospection.models, name_1, 'LIST', args);
|
|
32
|
+
variables = (0, APIClient_1.buildGraphQLVariables)(model, 'LIST', args, modelIntrospection);
|
|
33
|
+
_c.label = 1;
|
|
34
|
+
case 1:
|
|
35
|
+
_c.trys.push([1, 3, , 4]);
|
|
36
|
+
return [4 /*yield*/, client.graphql({
|
|
37
|
+
query: query,
|
|
38
|
+
variables: variables,
|
|
39
|
+
})];
|
|
40
|
+
case 2:
|
|
41
|
+
_a = (_c.sent()), data = _a.data, nextToken = _a.nextToken, extensions = _a.extensions;
|
|
42
|
+
// flatten response
|
|
43
|
+
if (data !== undefined) {
|
|
44
|
+
_b = tslib_1.__read(Object.keys(data), 1), key_1 = _b[0];
|
|
45
|
+
if (data[key_1].items) {
|
|
46
|
+
flattenedResult = (0, APIClient_1.flattenItems)(data)[key_1];
|
|
47
|
+
// don't init if custom selection set
|
|
48
|
+
if (args === null || args === void 0 ? void 0 : args.selectionSet) {
|
|
49
|
+
return [2 /*return*/, {
|
|
50
|
+
data: flattenedResult,
|
|
51
|
+
nextToken: nextToken,
|
|
52
|
+
extensions: extensions,
|
|
53
|
+
}];
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
initialized = (0, APIClient_1.initializeModel)(client, name_1, flattenedResult, modelIntrospection);
|
|
57
|
+
return [2 /*return*/, {
|
|
58
|
+
data: initialized,
|
|
59
|
+
nextToken: nextToken,
|
|
60
|
+
extensions: extensions,
|
|
61
|
+
}];
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return [2 /*return*/, {
|
|
65
|
+
data: data[key_1],
|
|
66
|
+
nextToken: nextToken,
|
|
67
|
+
extensions: extensions,
|
|
68
|
+
}];
|
|
69
|
+
}
|
|
70
|
+
return [3 /*break*/, 4];
|
|
71
|
+
case 3:
|
|
72
|
+
error_1 = _c.sent();
|
|
73
|
+
if (error_1.errors) {
|
|
74
|
+
// graphql errors pass through
|
|
75
|
+
return [2 /*return*/, error_1];
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
// non-graphql errors re re-thrown
|
|
79
|
+
throw error_1;
|
|
80
|
+
}
|
|
81
|
+
return [3 /*break*/, 4];
|
|
82
|
+
case 4: return [2 /*return*/];
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}); };
|
|
86
|
+
}
|
|
87
|
+
else if (['ONCREATE', 'ONUPDATE', 'ONDELETE'].includes(operation)) {
|
|
88
|
+
models[name_1][operationPrefix] = function (arg, options) {
|
|
89
|
+
var query = (0, APIClient_1.generateGraphQLDocument)(modelIntrospection.models, name_1, operation);
|
|
90
|
+
var variables = (0, APIClient_1.buildGraphQLVariables)(model, operation, arg, modelIntrospection);
|
|
91
|
+
var observable = client.graphql({
|
|
92
|
+
query: query,
|
|
93
|
+
variables: variables,
|
|
94
|
+
});
|
|
95
|
+
return observable.pipe((0, rxjs_1.map)(function (value) {
|
|
96
|
+
var _a = tslib_1.__read(Object.keys(value.data), 1), key = _a[0];
|
|
97
|
+
return value.data[key];
|
|
98
|
+
}));
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
models[name_1][operationPrefix] = function (arg, options) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
103
|
+
var query, variables, _a, data, extensions, _b, key_2, flattenedResult, _c, initialized, error_2;
|
|
104
|
+
return tslib_1.__generator(this, function (_d) {
|
|
105
|
+
switch (_d.label) {
|
|
106
|
+
case 0:
|
|
107
|
+
query = (0, APIClient_1.generateGraphQLDocument)(modelIntrospection.models, name_1, operation, options);
|
|
108
|
+
variables = (0, APIClient_1.buildGraphQLVariables)(model, operation, arg, modelIntrospection);
|
|
109
|
+
_d.label = 1;
|
|
110
|
+
case 1:
|
|
111
|
+
_d.trys.push([1, 3, , 4]);
|
|
112
|
+
return [4 /*yield*/, client.graphql({
|
|
113
|
+
query: query,
|
|
114
|
+
variables: variables,
|
|
115
|
+
})];
|
|
116
|
+
case 2:
|
|
117
|
+
_a = (_d.sent()), data = _a.data, extensions = _a.extensions;
|
|
118
|
+
// flatten response
|
|
119
|
+
if (data !== undefined) {
|
|
120
|
+
_b = tslib_1.__read(Object.keys(data), 1), key_2 = _b[0];
|
|
121
|
+
flattenedResult = (0, APIClient_1.flattenItems)(data)[key_2];
|
|
122
|
+
if (options === null || options === void 0 ? void 0 : options.selectionSet) {
|
|
123
|
+
return [2 /*return*/, { data: flattenedResult, extensions: extensions }];
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
_c = tslib_1.__read((0, APIClient_1.initializeModel)(client, name_1, [flattenedResult], modelIntrospection), 1), initialized = _c[0];
|
|
127
|
+
return [2 /*return*/, { data: initialized, extensions: extensions }];
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
return [2 /*return*/, { data: null, extensions: extensions }];
|
|
132
|
+
}
|
|
133
|
+
return [3 /*break*/, 4];
|
|
134
|
+
case 3:
|
|
135
|
+
error_2 = _d.sent();
|
|
136
|
+
if (error_2.errors) {
|
|
137
|
+
// graphql errors pass through
|
|
138
|
+
return [2 /*return*/, error_2];
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
// non-graphql errors re re-thrown
|
|
142
|
+
throw error_2;
|
|
143
|
+
}
|
|
144
|
+
return [3 /*break*/, 4];
|
|
145
|
+
case 4: return [2 /*return*/];
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
}); };
|
|
149
|
+
}
|
|
150
|
+
});
|
|
151
|
+
};
|
|
152
|
+
try {
|
|
153
|
+
// TODO: refactor this to use separate methods for each CRUDL.
|
|
154
|
+
// Doesn't make sense to gen the methods dynamically given the different args and return values
|
|
155
|
+
for (var _e = tslib_1.__values(Object.values(modelIntrospection.models)), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
156
|
+
var model = _f.value;
|
|
157
|
+
_loop_1(model);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
161
|
+
finally {
|
|
162
|
+
try {
|
|
163
|
+
if (_f && !_f.done && (_a = _e.return)) _a.call(_e);
|
|
164
|
+
}
|
|
165
|
+
finally { if (e_1) throw e_1.error; }
|
|
166
|
+
}
|
|
167
|
+
return models;
|
|
168
|
+
}
|
|
169
|
+
exports.generateModelsProperty = generateModelsProperty;
|
package/lib/internals/index.d.ts
CHANGED
package/lib/internals/index.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateClient = exports.isCancelError = exports.cancel = exports.graphql = exports.InternalGraphQLAPIClass = exports.InternalGraphQLAPI = void 0;
|
|
3
4
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
5
|
// SPDX-License-Identifier: Apache-2.0
|
|
5
6
|
var InternalGraphQLAPI_1 = require("./InternalGraphQLAPI");
|
|
6
|
-
exports
|
|
7
|
-
exports
|
|
7
|
+
Object.defineProperty(exports, "InternalGraphQLAPI", { enumerable: true, get: function () { return InternalGraphQLAPI_1.InternalGraphQLAPI; } });
|
|
8
|
+
Object.defineProperty(exports, "InternalGraphQLAPIClass", { enumerable: true, get: function () { return InternalGraphQLAPI_1.InternalGraphQLAPIClass; } });
|
|
8
9
|
var v6_1 = require("./v6");
|
|
9
|
-
exports
|
|
10
|
-
exports
|
|
11
|
-
exports
|
|
10
|
+
Object.defineProperty(exports, "graphql", { enumerable: true, get: function () { return v6_1.graphql; } });
|
|
11
|
+
Object.defineProperty(exports, "cancel", { enumerable: true, get: function () { return v6_1.cancel; } });
|
|
12
|
+
Object.defineProperty(exports, "isCancelError", { enumerable: true, get: function () { return v6_1.isCancelError; } });
|
|
13
|
+
var generateClient_1 = require("./generateClient");
|
|
14
|
+
Object.defineProperty(exports, "generateClient", { enumerable: true, get: function () { return generateClient_1.generateClient; } });
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AmplifyClassV6 } from '@aws-amplify/core';
|
|
2
|
+
/**
|
|
3
|
+
* @private
|
|
4
|
+
*
|
|
5
|
+
* The knobs available for configuring `generateClient` internally.
|
|
6
|
+
*/
|
|
7
|
+
export type ClientGenerationParams = {
|
|
8
|
+
amplify: AmplifyClassV6 | ((fn: (amplify: any) => Promise<any>) => Promise<AmplifyClassV6>);
|
|
9
|
+
config?: object;
|
|
10
|
+
};
|
package/lib/internals/v6.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isCancelError = exports.cancel = exports.graphql = void 0;
|
|
3
4
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
5
|
// SPDX-License-Identifier: Apache-2.0
|
|
5
6
|
var GraphQLAPI_1 = require("../GraphQLAPI");
|