@aws-amplify/api-graphql 4.0.29-unstable.f37faeb.0 → 4.0.29
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/dist/cjs/internals/generateClient.js +4 -14
- package/dist/cjs/internals/generateClient.js.map +1 -1
- package/dist/cjs/internals/server/generateClientWithAmplifyInstance.js +3 -8
- package/dist/cjs/internals/server/generateClientWithAmplifyInstance.js.map +1 -1
- package/dist/cjs/internals/v6.js +6 -3
- package/dist/cjs/internals/v6.js.map +1 -1
- package/dist/cjs/types/index.js +11 -1
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/utils/index.js +1 -5
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/esm/GraphQLAPI.d.ts +1 -1
- package/dist/esm/Providers/AWSAppSyncRealTimeProvider/index.d.ts +1 -1
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/internals/InternalGraphQLAPI.d.ts +1 -1
- package/dist/esm/internals/generateClient.mjs +5 -15
- package/dist/esm/internals/generateClient.mjs.map +1 -1
- package/dist/esm/internals/server/generateClientWithAmplifyInstance.mjs +4 -9
- package/dist/esm/internals/server/generateClientWithAmplifyInstance.mjs.map +1 -1
- package/dist/esm/internals/types.d.ts +1 -1
- package/dist/esm/internals/v6.d.ts +1 -1
- package/dist/esm/internals/v6.mjs +7 -4
- package/dist/esm/internals/v6.mjs.map +1 -1
- package/dist/esm/types/index.d.ts +10 -40
- package/dist/esm/types/index.mjs +10 -1
- package/dist/esm/types/index.mjs.map +1 -1
- package/dist/esm/utils/index.d.ts +0 -2
- package/dist/esm/utils/index.mjs +0 -2
- package/dist/esm/utils/index.mjs.map +1 -1
- package/package.json +5 -6
- package/src/GraphQLAPI.ts +1 -1
- package/src/Providers/AWSAppSyncRealTimeProvider/index.ts +4 -1
- package/src/internals/InternalGraphQLAPI.ts +4 -1
- package/src/internals/generateClient.ts +8 -36
- package/src/internals/server/generateClientWithAmplifyInstance.ts +6 -16
- package/src/internals/types.ts +1 -1
- package/src/internals/v6.ts +7 -7
- package/src/server/generateClient.ts +1 -1
- package/src/types/index.ts +36 -60
- package/src/utils/index.ts +0 -2
- package/dist/cjs/internals/APIClient.js +0 -733
- package/dist/cjs/internals/APIClient.js.map +0 -1
- package/dist/cjs/internals/clientUtils.js +0 -29
- package/dist/cjs/internals/clientUtils.js.map +0 -1
- package/dist/cjs/internals/generateCustomOperationsProperty.js +0 -50
- package/dist/cjs/internals/generateCustomOperationsProperty.js.map +0 -1
- package/dist/cjs/internals/operations/custom.js +0 -356
- package/dist/cjs/internals/operations/custom.js.map +0 -1
- package/dist/cjs/internals/operations/get.js +0 -62
- package/dist/cjs/internals/operations/get.js.map +0 -1
- package/dist/cjs/internals/operations/indexQuery.js +0 -75
- package/dist/cjs/internals/operations/indexQuery.js.map +0 -1
- package/dist/cjs/internals/operations/list.js +0 -74
- package/dist/cjs/internals/operations/list.js.map +0 -1
- package/dist/cjs/internals/operations/observeQuery.js +0 -121
- package/dist/cjs/internals/operations/observeQuery.js.map +0 -1
- package/dist/cjs/internals/operations/subscription.js +0 -31
- package/dist/cjs/internals/operations/subscription.js.map +0 -1
- package/dist/cjs/internals/server/generateModelsProperty.js +0 -53
- package/dist/cjs/internals/server/generateModelsProperty.js.map +0 -1
- package/dist/cjs/internals/utils/clientProperties/generateEnumsProperty.js +0 -21
- package/dist/cjs/internals/utils/clientProperties/generateEnumsProperty.js.map +0 -1
- package/dist/cjs/internals/utils/clientProperties/generateModelsProperty.js +0 -45
- package/dist/cjs/internals/utils/clientProperties/generateModelsProperty.js.map +0 -1
- package/dist/cjs/utils/findIndexByFields.js +0 -25
- package/dist/cjs/utils/findIndexByFields.js.map +0 -1
- package/dist/cjs/utils/resolveOwnerFields.js +0 -48
- package/dist/cjs/utils/resolveOwnerFields.js.map +0 -1
- package/dist/cjs/utils/resolvePKFields.js +0 -17
- package/dist/cjs/utils/resolvePKFields.js.map +0 -1
- package/dist/esm/internals/APIClient.d.ts +0 -126
- package/dist/esm/internals/APIClient.mjs +0 -721
- package/dist/esm/internals/APIClient.mjs.map +0 -1
- package/dist/esm/internals/clientUtils.d.ts +0 -6
- package/dist/esm/internals/clientUtils.mjs +0 -26
- package/dist/esm/internals/clientUtils.mjs.map +0 -1
- package/dist/esm/internals/generateCustomOperationsProperty.d.ts +0 -9
- package/dist/esm/internals/generateCustomOperationsProperty.mjs +0 -45
- package/dist/esm/internals/generateCustomOperationsProperty.mjs.map +0 -1
- package/dist/esm/internals/operations/custom.d.ts +0 -63
- package/dist/esm/internals/operations/custom.mjs +0 -354
- package/dist/esm/internals/operations/custom.mjs.map +0 -1
- package/dist/esm/internals/operations/get.d.ts +0 -5
- package/dist/esm/internals/operations/get.mjs +0 -60
- package/dist/esm/internals/operations/get.mjs.map +0 -1
- package/dist/esm/internals/operations/indexQuery.d.ts +0 -9
- package/dist/esm/internals/operations/indexQuery.mjs +0 -73
- package/dist/esm/internals/operations/indexQuery.mjs.map +0 -1
- package/dist/esm/internals/operations/list.d.ts +0 -4
- package/dist/esm/internals/operations/list.mjs +0 -72
- package/dist/esm/internals/operations/list.mjs.map +0 -1
- package/dist/esm/internals/operations/observeQuery.d.ts +0 -3
- package/dist/esm/internals/operations/observeQuery.mjs +0 -121
- package/dist/esm/internals/operations/observeQuery.mjs.map +0 -1
- package/dist/esm/internals/operations/subscription.d.ts +0 -3
- package/dist/esm/internals/operations/subscription.mjs +0 -29
- package/dist/esm/internals/operations/subscription.mjs.map +0 -1
- package/dist/esm/internals/server/generateModelsProperty.d.ts +0 -3
- package/dist/esm/internals/server/generateModelsProperty.mjs +0 -51
- package/dist/esm/internals/server/generateModelsProperty.mjs.map +0 -1
- package/dist/esm/internals/utils/clientProperties/generateEnumsProperty.d.ts +0 -3
- package/dist/esm/internals/utils/clientProperties/generateEnumsProperty.mjs +0 -18
- package/dist/esm/internals/utils/clientProperties/generateEnumsProperty.mjs.map +0 -1
- package/dist/esm/internals/utils/clientProperties/generateModelsProperty.d.ts +0 -4
- package/dist/esm/internals/utils/clientProperties/generateModelsProperty.mjs +0 -43
- package/dist/esm/internals/utils/clientProperties/generateModelsProperty.mjs.map +0 -1
- package/dist/esm/utils/findIndexByFields.d.ts +0 -9
- package/dist/esm/utils/findIndexByFields.mjs +0 -22
- package/dist/esm/utils/findIndexByFields.mjs.map +0 -1
- package/dist/esm/utils/resolveOwnerFields.d.ts +0 -12
- package/dist/esm/utils/resolveOwnerFields.mjs +0 -45
- package/dist/esm/utils/resolveOwnerFields.mjs.map +0 -1
- package/dist/esm/utils/resolvePKFields.d.ts +0 -13
- package/dist/esm/utils/resolvePKFields.mjs +0 -14
- package/dist/esm/utils/resolvePKFields.mjs.map +0 -1
- package/src/internals/APIClient.ts +0 -1076
- package/src/internals/clientUtils.ts +0 -37
- package/src/internals/generateCustomOperationsProperty.ts +0 -112
- package/src/internals/operations/custom.ts +0 -492
- package/src/internals/operations/get.ts +0 -140
- package/src/internals/operations/indexQuery.ts +0 -170
- package/src/internals/operations/list.ts +0 -135
- package/src/internals/operations/observeQuery.ts +0 -146
- package/src/internals/operations/subscription.ts +0 -75
- package/src/internals/server/generateModelsProperty.ts +0 -97
- package/src/internals/utils/clientProperties/generateEnumsProperty.ts +0 -34
- package/src/internals/utils/clientProperties/generateModelsProperty.ts +0 -81
- package/src/utils/findIndexByFields.ts +0 -31
- package/src/utils/resolveOwnerFields.ts +0 -77
- package/src/utils/resolvePKFields.ts +0 -23
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.getFactory = void 0;
|
|
5
|
-
const APIClient_1 = require("../APIClient");
|
|
6
|
-
function getFactory(client, modelIntrospection, model, operation, useContext = false) {
|
|
7
|
-
const getWithContext = async (contextSpec, arg, options) => {
|
|
8
|
-
return _get(client, modelIntrospection, model, arg, options, operation, contextSpec);
|
|
9
|
-
};
|
|
10
|
-
const get = async (arg, options) => {
|
|
11
|
-
return _get(client, modelIntrospection, model, arg, options, operation);
|
|
12
|
-
};
|
|
13
|
-
return useContext ? getWithContext : get;
|
|
14
|
-
}
|
|
15
|
-
exports.getFactory = getFactory;
|
|
16
|
-
async function _get(client, modelIntrospection, model, arg, options, operation, context) {
|
|
17
|
-
const { name } = model;
|
|
18
|
-
const query = (0, APIClient_1.generateGraphQLDocument)(modelIntrospection, name, operation, options);
|
|
19
|
-
const variables = (0, APIClient_1.buildGraphQLVariables)(model, operation, arg, modelIntrospection);
|
|
20
|
-
try {
|
|
21
|
-
const auth = (0, APIClient_1.authModeParams)(client, options);
|
|
22
|
-
const headers = (0, APIClient_1.getCustomHeaders)(client, options?.headers);
|
|
23
|
-
const { data, extensions } = context
|
|
24
|
-
? (await client.graphql(context, {
|
|
25
|
-
...auth,
|
|
26
|
-
query,
|
|
27
|
-
variables,
|
|
28
|
-
}, headers))
|
|
29
|
-
: (await client.graphql({
|
|
30
|
-
...auth,
|
|
31
|
-
query,
|
|
32
|
-
variables,
|
|
33
|
-
}, headers));
|
|
34
|
-
// flatten response
|
|
35
|
-
if (data) {
|
|
36
|
-
const [key] = Object.keys(data);
|
|
37
|
-
const flattenedResult = (0, APIClient_1.flattenItems)(data)[key];
|
|
38
|
-
if (options?.selectionSet) {
|
|
39
|
-
return { data: flattenedResult, extensions };
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
// TODO: refactor to avoid destructuring here
|
|
43
|
-
const [initialized] = (0, APIClient_1.initializeModel)(client, name, [flattenedResult], modelIntrospection, auth.authMode, auth.authToken, !!context);
|
|
44
|
-
return { data: initialized, extensions };
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
return { data: null, extensions };
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
catch (error) {
|
|
52
|
-
if (error.errors) {
|
|
53
|
-
// graphql errors pass through
|
|
54
|
-
return error;
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
// non-graphql errors re re-thrown
|
|
58
|
-
throw error;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=get.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sources":["../../../../src/internals/operations/get.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFactory = void 0;\nconst APIClient_1 = require(\"../APIClient\");\nfunction getFactory(client, modelIntrospection, model, operation, useContext = false) {\n const getWithContext = async (contextSpec, arg, options) => {\n return _get(client, modelIntrospection, model, arg, options, operation, contextSpec);\n };\n const get = async (arg, options) => {\n return _get(client, modelIntrospection, model, arg, options, operation);\n };\n return useContext ? getWithContext : get;\n}\nexports.getFactory = getFactory;\nasync function _get(client, modelIntrospection, model, arg, options, operation, context) {\n const { name } = model;\n const query = (0, APIClient_1.generateGraphQLDocument)(modelIntrospection, name, operation, options);\n const variables = (0, APIClient_1.buildGraphQLVariables)(model, operation, arg, modelIntrospection);\n try {\n const auth = (0, APIClient_1.authModeParams)(client, options);\n const headers = (0, APIClient_1.getCustomHeaders)(client, options?.headers);\n const { data, extensions } = context\n ? (await client.graphql(context, {\n ...auth,\n query,\n variables,\n }, headers))\n : (await client.graphql({\n ...auth,\n query,\n variables,\n }, headers));\n // flatten response\n if (data) {\n const [key] = Object.keys(data);\n const flattenedResult = (0, APIClient_1.flattenItems)(data)[key];\n if (options?.selectionSet) {\n return { data: flattenedResult, extensions };\n }\n else {\n // TODO: refactor to avoid destructuring here\n const [initialized] = (0, APIClient_1.initializeModel)(client, name, [flattenedResult], modelIntrospection, auth.authMode, auth.authToken, !!context);\n return { data: initialized, extensions };\n }\n }\n else {\n return { data: null, extensions };\n }\n }\n catch (error) {\n if (error.errors) {\n // graphql errors pass through\n return error;\n }\n else {\n // non-graphql errors re re-thrown\n throw error;\n }\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.indexQueryFactory = void 0;
|
|
5
|
-
const APIClient_1 = require("../APIClient");
|
|
6
|
-
function indexQueryFactory(client, modelIntrospection, model, indexMeta, context = false) {
|
|
7
|
-
const indexQueryWithContext = async (contextSpec, args, options) => {
|
|
8
|
-
return _indexQuery(client, modelIntrospection, model, indexMeta, {
|
|
9
|
-
...args,
|
|
10
|
-
...options,
|
|
11
|
-
}, contextSpec);
|
|
12
|
-
};
|
|
13
|
-
const indexQuery = async (args, options) => {
|
|
14
|
-
return _indexQuery(client, modelIntrospection, model, indexMeta, {
|
|
15
|
-
...args,
|
|
16
|
-
...options,
|
|
17
|
-
});
|
|
18
|
-
};
|
|
19
|
-
return context ? indexQueryWithContext : indexQuery;
|
|
20
|
-
}
|
|
21
|
-
exports.indexQueryFactory = indexQueryFactory;
|
|
22
|
-
function processGraphQlResponse(result, selectionSet, modelInitializer) {
|
|
23
|
-
const { data, extensions } = result;
|
|
24
|
-
const [key] = Object.keys(data);
|
|
25
|
-
if (data[key].items) {
|
|
26
|
-
const flattenedResult = (0, APIClient_1.flattenItems)(data)[key];
|
|
27
|
-
return {
|
|
28
|
-
data: selectionSet ? flattenedResult : modelInitializer(flattenedResult),
|
|
29
|
-
nextToken: data[key].nextToken,
|
|
30
|
-
extensions,
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
return {
|
|
34
|
-
data: data[key],
|
|
35
|
-
nextToken: data[key].nextToken,
|
|
36
|
-
extensions,
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
function handleGraphQlError(error) {
|
|
40
|
-
if (error.errors) {
|
|
41
|
-
// graphql errors pass through
|
|
42
|
-
return error;
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
// non-graphql errors re re-thrown
|
|
46
|
-
throw error;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
async function _indexQuery(client, modelIntrospection, model, indexMeta, args, contextSpec) {
|
|
50
|
-
const { name } = model;
|
|
51
|
-
const query = (0, APIClient_1.generateGraphQLDocument)(modelIntrospection, name, 'INDEX_QUERY', args, indexMeta);
|
|
52
|
-
const variables = (0, APIClient_1.buildGraphQLVariables)(model, 'INDEX_QUERY', args, modelIntrospection, indexMeta);
|
|
53
|
-
const auth = (0, APIClient_1.authModeParams)(client, args);
|
|
54
|
-
const modelInitializer = (flattenedResult) => (0, APIClient_1.initializeModel)(client, name, flattenedResult, modelIntrospection, auth.authMode, auth.authToken, !!contextSpec);
|
|
55
|
-
try {
|
|
56
|
-
const headers = (0, APIClient_1.getCustomHeaders)(client, args?.headers);
|
|
57
|
-
const graphQlParams = {
|
|
58
|
-
...auth,
|
|
59
|
-
query,
|
|
60
|
-
variables,
|
|
61
|
-
};
|
|
62
|
-
const requestArgs = [graphQlParams, headers];
|
|
63
|
-
if (contextSpec !== undefined) {
|
|
64
|
-
requestArgs.unshift(contextSpec);
|
|
65
|
-
}
|
|
66
|
-
const response = (await client.graphql(...requestArgs));
|
|
67
|
-
if (response.data !== undefined) {
|
|
68
|
-
return processGraphQlResponse(response, args?.selectionSet, modelInitializer);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
catch (error) {
|
|
72
|
-
return handleGraphQlError(error);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=indexQuery.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"indexQuery.js","sources":["../../../../src/internals/operations/indexQuery.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.indexQueryFactory = void 0;\nconst APIClient_1 = require(\"../APIClient\");\nfunction indexQueryFactory(client, modelIntrospection, model, indexMeta, context = false) {\n const indexQueryWithContext = async (contextSpec, args, options) => {\n return _indexQuery(client, modelIntrospection, model, indexMeta, {\n ...args,\n ...options,\n }, contextSpec);\n };\n const indexQuery = async (args, options) => {\n return _indexQuery(client, modelIntrospection, model, indexMeta, {\n ...args,\n ...options,\n });\n };\n return context ? indexQueryWithContext : indexQuery;\n}\nexports.indexQueryFactory = indexQueryFactory;\nfunction processGraphQlResponse(result, selectionSet, modelInitializer) {\n const { data, extensions } = result;\n const [key] = Object.keys(data);\n if (data[key].items) {\n const flattenedResult = (0, APIClient_1.flattenItems)(data)[key];\n return {\n data: selectionSet ? flattenedResult : modelInitializer(flattenedResult),\n nextToken: data[key].nextToken,\n extensions,\n };\n }\n return {\n data: data[key],\n nextToken: data[key].nextToken,\n extensions,\n };\n}\nfunction handleGraphQlError(error) {\n if (error.errors) {\n // graphql errors pass through\n return error;\n }\n else {\n // non-graphql errors re re-thrown\n throw error;\n }\n}\nasync function _indexQuery(client, modelIntrospection, model, indexMeta, args, contextSpec) {\n const { name } = model;\n const query = (0, APIClient_1.generateGraphQLDocument)(modelIntrospection, name, 'INDEX_QUERY', args, indexMeta);\n const variables = (0, APIClient_1.buildGraphQLVariables)(model, 'INDEX_QUERY', args, modelIntrospection, indexMeta);\n const auth = (0, APIClient_1.authModeParams)(client, args);\n const modelInitializer = (flattenedResult) => (0, APIClient_1.initializeModel)(client, name, flattenedResult, modelIntrospection, auth.authMode, auth.authToken, !!contextSpec);\n try {\n const headers = (0, APIClient_1.getCustomHeaders)(client, args?.headers);\n const graphQlParams = {\n ...auth,\n query,\n variables,\n };\n const requestArgs = [graphQlParams, headers];\n if (contextSpec !== undefined) {\n requestArgs.unshift(contextSpec);\n }\n const response = (await client.graphql(...requestArgs));\n if (response.data !== undefined) {\n return processGraphQlResponse(response, args?.selectionSet, modelInitializer);\n }\n }\n catch (error) {\n return handleGraphQlError(error);\n }\n}\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC,CAAC;AACnC,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAC5C,SAAS,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,GAAG,KAAK,EAAE;AAC1F,IAAI,MAAM,qBAAqB,GAAG,OAAO,WAAW,EAAE,IAAI,EAAE,OAAO,KAAK;AACxE,QAAQ,OAAO,WAAW,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE;AACzE,YAAY,GAAG,IAAI;AACnB,YAAY,GAAG,OAAO;AACtB,SAAS,EAAE,WAAW,CAAC,CAAC;AACxB,KAAK,CAAC;AACN,IAAI,MAAM,UAAU,GAAG,OAAO,IAAI,EAAE,OAAO,KAAK;AAChD,QAAQ,OAAO,WAAW,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE;AACzE,YAAY,GAAG,IAAI;AACnB,YAAY,GAAG,OAAO;AACtB,SAAS,CAAC,CAAC;AACX,KAAK,CAAC;AACN,IAAI,OAAO,OAAO,GAAG,qBAAqB,GAAG,UAAU,CAAC;AACxD,CAAC;AACD,OAAO,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;AAC9C,SAAS,sBAAsB,CAAC,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE;AACxE,IAAI,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC;AACxC,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE;AACzB,QAAQ,MAAM,eAAe,GAAG,IAAI,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AACzE,QAAQ,OAAO;AACf,YAAY,IAAI,EAAE,YAAY,GAAG,eAAe,GAAG,gBAAgB,CAAC,eAAe,CAAC;AACpF,YAAY,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS;AAC1C,YAAY,UAAU;AACtB,SAAS,CAAC;AACV,KAAK;AACL,IAAI,OAAO;AACX,QAAQ,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;AACvB,QAAQ,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS;AACtC,QAAQ,UAAU;AAClB,KAAK,CAAC;AACN,CAAC;AACD,SAAS,kBAAkB,CAAC,KAAK,EAAE;AACnC,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE;AACtB;AACA,QAAQ,OAAO,KAAK,CAAC;AACrB,KAAK;AACL,SAAS;AACT;AACA,QAAQ,MAAM,KAAK,CAAC;AACpB,KAAK;AACL,CAAC;AACD,eAAe,WAAW,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE;AAC5F,IAAI,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;AAC3B,IAAI,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,uBAAuB,EAAE,kBAAkB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;AACrH,IAAI,MAAM,SAAS,GAAG,IAAI,WAAW,CAAC,qBAAqB,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;AACxH,IAAI,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC/D,IAAI,MAAM,gBAAgB,GAAG,CAAC,eAAe,KAAK,IAAI,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,kBAAkB,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC;AACpL,IAAI,IAAI;AACR,QAAQ,MAAM,OAAO,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACjF,QAAQ,MAAM,aAAa,GAAG;AAC9B,YAAY,GAAG,IAAI;AACnB,YAAY,KAAK;AACjB,YAAY,SAAS;AACrB,SAAS,CAAC;AACV,QAAQ,MAAM,WAAW,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AACrD,QAAQ,IAAI,WAAW,KAAK,SAAS,EAAE;AACvC,YAAY,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AAC7C,SAAS;AACT,QAAQ,MAAM,QAAQ,IAAI,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC;AAChE,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE;AACzC,YAAY,OAAO,sBAAsB,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;AAC1F,SAAS;AACT,KAAK;AACL,IAAI,OAAO,KAAK,EAAE;AAClB,QAAQ,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACzC,KAAK;AACL;;"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.listFactory = void 0;
|
|
5
|
-
const APIClient_1 = require("../APIClient");
|
|
6
|
-
function listFactory(client, modelIntrospection, model, context = false) {
|
|
7
|
-
const listWithContext = async (contextSpec, args) => {
|
|
8
|
-
return _list(client, modelIntrospection, model, args, contextSpec);
|
|
9
|
-
};
|
|
10
|
-
const list = async (args) => {
|
|
11
|
-
return _list(client, modelIntrospection, model, args);
|
|
12
|
-
};
|
|
13
|
-
return context ? listWithContext : list;
|
|
14
|
-
}
|
|
15
|
-
exports.listFactory = listFactory;
|
|
16
|
-
async function _list(client, modelIntrospection, model, args, contextSpec) {
|
|
17
|
-
const { name } = model;
|
|
18
|
-
const query = (0, APIClient_1.generateGraphQLDocument)(modelIntrospection, name, 'LIST', args);
|
|
19
|
-
const variables = (0, APIClient_1.buildGraphQLVariables)(model, 'LIST', args, modelIntrospection);
|
|
20
|
-
try {
|
|
21
|
-
const auth = (0, APIClient_1.authModeParams)(client, args);
|
|
22
|
-
const headers = (0, APIClient_1.getCustomHeaders)(client, args?.headers);
|
|
23
|
-
const { data, extensions } = contextSpec
|
|
24
|
-
? (await client.graphql(contextSpec, {
|
|
25
|
-
...auth,
|
|
26
|
-
query,
|
|
27
|
-
variables,
|
|
28
|
-
}, headers))
|
|
29
|
-
: (await client.graphql({
|
|
30
|
-
...auth,
|
|
31
|
-
query,
|
|
32
|
-
variables,
|
|
33
|
-
}, headers));
|
|
34
|
-
// flatten response
|
|
35
|
-
if (data !== undefined) {
|
|
36
|
-
const [key] = Object.keys(data);
|
|
37
|
-
if (data[key].items) {
|
|
38
|
-
const flattenedResult = (0, APIClient_1.flattenItems)(data)[key];
|
|
39
|
-
// don't init if custom selection set
|
|
40
|
-
if (args?.selectionSet) {
|
|
41
|
-
return {
|
|
42
|
-
data: flattenedResult,
|
|
43
|
-
nextToken: data[key].nextToken,
|
|
44
|
-
extensions,
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
const initialized = (0, APIClient_1.initializeModel)(client, name, flattenedResult, modelIntrospection, auth.authMode, auth.authToken, !!contextSpec);
|
|
49
|
-
return {
|
|
50
|
-
data: initialized,
|
|
51
|
-
nextToken: data[key].nextToken,
|
|
52
|
-
extensions,
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
return {
|
|
57
|
-
data: data[key],
|
|
58
|
-
nextToken: data[key].nextToken,
|
|
59
|
-
extensions,
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
catch (error) {
|
|
64
|
-
if (error.errors) {
|
|
65
|
-
// graphql errors pass through
|
|
66
|
-
return error;
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
// non-graphql errors re re-thrown
|
|
70
|
-
throw error;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
//# sourceMappingURL=list.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sources":["../../../../src/internals/operations/list.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.listFactory = void 0;\nconst APIClient_1 = require(\"../APIClient\");\nfunction listFactory(client, modelIntrospection, model, context = false) {\n const listWithContext = async (contextSpec, args) => {\n return _list(client, modelIntrospection, model, args, contextSpec);\n };\n const list = async (args) => {\n return _list(client, modelIntrospection, model, args);\n };\n return context ? listWithContext : list;\n}\nexports.listFactory = listFactory;\nasync function _list(client, modelIntrospection, model, args, contextSpec) {\n const { name } = model;\n const query = (0, APIClient_1.generateGraphQLDocument)(modelIntrospection, name, 'LIST', args);\n const variables = (0, APIClient_1.buildGraphQLVariables)(model, 'LIST', args, modelIntrospection);\n try {\n const auth = (0, APIClient_1.authModeParams)(client, args);\n const headers = (0, APIClient_1.getCustomHeaders)(client, args?.headers);\n const { data, extensions } = contextSpec\n ? (await client.graphql(contextSpec, {\n ...auth,\n query,\n variables,\n }, headers))\n : (await client.graphql({\n ...auth,\n query,\n variables,\n }, headers));\n // flatten response\n if (data !== undefined) {\n const [key] = Object.keys(data);\n if (data[key].items) {\n const flattenedResult = (0, APIClient_1.flattenItems)(data)[key];\n // don't init if custom selection set\n if (args?.selectionSet) {\n return {\n data: flattenedResult,\n nextToken: data[key].nextToken,\n extensions,\n };\n }\n else {\n const initialized = (0, APIClient_1.initializeModel)(client, name, flattenedResult, modelIntrospection, auth.authMode, auth.authToken, !!contextSpec);\n return {\n data: initialized,\n nextToken: data[key].nextToken,\n extensions,\n };\n }\n }\n return {\n data: data[key],\n nextToken: data[key].nextToken,\n extensions,\n };\n }\n }\n catch (error) {\n if (error.errors) {\n // graphql errors pass through\n return error;\n }\n else {\n // non-graphql errors re re-thrown\n throw error;\n }\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.observeQueryFactory = void 0;
|
|
5
|
-
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
6
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
7
|
-
const rxjs_1 = require("rxjs");
|
|
8
|
-
const utils_1 = require("../../utils");
|
|
9
|
-
function observeQueryFactory(models, model) {
|
|
10
|
-
const { name } = model;
|
|
11
|
-
const observeQuery = (arg) => new rxjs_1.Observable(subscriber => {
|
|
12
|
-
// what we'll be sending to our subscribers
|
|
13
|
-
const items = [];
|
|
14
|
-
// To enqueue subscription messages while we collect our initial
|
|
15
|
-
// result set.
|
|
16
|
-
const messageQueue = [];
|
|
17
|
-
// operation to take when message(s) arrive.
|
|
18
|
-
// this operation will be swapped out once initial "sync" is complete
|
|
19
|
-
// to immediately ingest messsages.
|
|
20
|
-
let receiveMessages = (...messages) => {
|
|
21
|
-
return messageQueue.push(...messages);
|
|
22
|
-
};
|
|
23
|
-
// start subscriptions
|
|
24
|
-
const onCreateSub = models[name].onCreate(arg).subscribe({
|
|
25
|
-
next(item) {
|
|
26
|
-
receiveMessages({ item, type: 'create' });
|
|
27
|
-
},
|
|
28
|
-
error(error) {
|
|
29
|
-
subscriber.error({ type: 'onCreate', error });
|
|
30
|
-
},
|
|
31
|
-
});
|
|
32
|
-
const onUpdateSub = models[name].onUpdate(arg).subscribe({
|
|
33
|
-
next(item) {
|
|
34
|
-
receiveMessages({ item, type: 'update' });
|
|
35
|
-
},
|
|
36
|
-
error(error) {
|
|
37
|
-
subscriber.error({ type: 'onUpdate', error });
|
|
38
|
-
},
|
|
39
|
-
});
|
|
40
|
-
const onDeleteSub = models[name].onDelete(arg).subscribe({
|
|
41
|
-
next(item) {
|
|
42
|
-
receiveMessages({ item, type: 'delete' });
|
|
43
|
-
},
|
|
44
|
-
error(error) {
|
|
45
|
-
subscriber.error({ type: 'onDelete', error });
|
|
46
|
-
},
|
|
47
|
-
});
|
|
48
|
-
// consumes a list of messages and sends a snapshot
|
|
49
|
-
function ingestMessages(messages) {
|
|
50
|
-
for (const message of messages) {
|
|
51
|
-
const idx = (0, utils_1.findIndexByFields)(message.item, items, pkFields);
|
|
52
|
-
switch (message.type) {
|
|
53
|
-
case 'create':
|
|
54
|
-
if (idx < 0)
|
|
55
|
-
items.push(message.item);
|
|
56
|
-
break;
|
|
57
|
-
case 'update':
|
|
58
|
-
if (idx >= 0)
|
|
59
|
-
items[idx] = message.item;
|
|
60
|
-
break;
|
|
61
|
-
case 'delete':
|
|
62
|
-
if (idx >= 0)
|
|
63
|
-
items.splice(idx, 1);
|
|
64
|
-
break;
|
|
65
|
-
default:
|
|
66
|
-
console.error('Unrecognized message in observeQuery.', message);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
subscriber.next({
|
|
70
|
-
items,
|
|
71
|
-
isSynced: true,
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
const pkFields = (0, utils_1.resolvePKFields)(model);
|
|
75
|
-
// initial results
|
|
76
|
-
(async () => {
|
|
77
|
-
let firstPage = true;
|
|
78
|
-
let nextToken = null;
|
|
79
|
-
while (!subscriber.closed && (firstPage || nextToken)) {
|
|
80
|
-
firstPage = false;
|
|
81
|
-
const { data: page, errors, nextToken: _nextToken, } = await models[name].list({ ...arg, nextToken });
|
|
82
|
-
nextToken = _nextToken;
|
|
83
|
-
items.push(...page);
|
|
84
|
-
// if there are no more pages and no items we already know about
|
|
85
|
-
// that need to be merged in from sub, we're "synced"
|
|
86
|
-
const isSynced = messageQueue.length === 0 &&
|
|
87
|
-
(nextToken === null || nextToken === undefined);
|
|
88
|
-
subscriber.next({
|
|
89
|
-
items,
|
|
90
|
-
isSynced,
|
|
91
|
-
});
|
|
92
|
-
if (Array.isArray(errors)) {
|
|
93
|
-
for (const error of errors) {
|
|
94
|
-
subscriber.error(error);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
// play through the queue
|
|
99
|
-
if (messageQueue.length > 0) {
|
|
100
|
-
ingestMessages(messageQueue);
|
|
101
|
-
}
|
|
102
|
-
// switch the queue to write directly to the items collection
|
|
103
|
-
receiveMessages = (...messages) => {
|
|
104
|
-
ingestMessages(messages);
|
|
105
|
-
return items.length;
|
|
106
|
-
};
|
|
107
|
-
})();
|
|
108
|
-
// when subscriber unsubscribes, tear down internal subs
|
|
109
|
-
return () => {
|
|
110
|
-
// 1. tear down internal subs
|
|
111
|
-
onCreateSub.unsubscribe();
|
|
112
|
-
onUpdateSub.unsubscribe();
|
|
113
|
-
onDeleteSub.unsubscribe();
|
|
114
|
-
// 2. there is no need to explicitly stop paging. instead, we
|
|
115
|
-
// just check `subscriber.closed` above before fetching each page.
|
|
116
|
-
};
|
|
117
|
-
});
|
|
118
|
-
return observeQuery;
|
|
119
|
-
}
|
|
120
|
-
exports.observeQueryFactory = observeQueryFactory;
|
|
121
|
-
//# sourceMappingURL=observeQuery.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"observeQuery.js","sources":["../../../../src/internals/operations/observeQuery.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.observeQueryFactory = void 0;\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst rxjs_1 = require(\"rxjs\");\nconst utils_1 = require(\"../../utils\");\nfunction observeQueryFactory(models, model) {\n const { name } = model;\n const observeQuery = (arg) => new rxjs_1.Observable(subscriber => {\n // what we'll be sending to our subscribers\n const items = [];\n // To enqueue subscription messages while we collect our initial\n // result set.\n const messageQueue = [];\n // operation to take when message(s) arrive.\n // this operation will be swapped out once initial \"sync\" is complete\n // to immediately ingest messsages.\n let receiveMessages = (...messages) => {\n return messageQueue.push(...messages);\n };\n // start subscriptions\n const onCreateSub = models[name].onCreate(arg).subscribe({\n next(item) {\n receiveMessages({ item, type: 'create' });\n },\n error(error) {\n subscriber.error({ type: 'onCreate', error });\n },\n });\n const onUpdateSub = models[name].onUpdate(arg).subscribe({\n next(item) {\n receiveMessages({ item, type: 'update' });\n },\n error(error) {\n subscriber.error({ type: 'onUpdate', error });\n },\n });\n const onDeleteSub = models[name].onDelete(arg).subscribe({\n next(item) {\n receiveMessages({ item, type: 'delete' });\n },\n error(error) {\n subscriber.error({ type: 'onDelete', error });\n },\n });\n // consumes a list of messages and sends a snapshot\n function ingestMessages(messages) {\n for (const message of messages) {\n const idx = (0, utils_1.findIndexByFields)(message.item, items, pkFields);\n switch (message.type) {\n case 'create':\n if (idx < 0)\n items.push(message.item);\n break;\n case 'update':\n if (idx >= 0)\n items[idx] = message.item;\n break;\n case 'delete':\n if (idx >= 0)\n items.splice(idx, 1);\n break;\n default:\n console.error('Unrecognized message in observeQuery.', message);\n }\n }\n subscriber.next({\n items,\n isSynced: true,\n });\n }\n const pkFields = (0, utils_1.resolvePKFields)(model);\n // initial results\n (async () => {\n let firstPage = true;\n let nextToken = null;\n while (!subscriber.closed && (firstPage || nextToken)) {\n firstPage = false;\n const { data: page, errors, nextToken: _nextToken, } = await models[name].list({ ...arg, nextToken });\n nextToken = _nextToken;\n items.push(...page);\n // if there are no more pages and no items we already know about\n // that need to be merged in from sub, we're \"synced\"\n const isSynced = messageQueue.length === 0 &&\n (nextToken === null || nextToken === undefined);\n subscriber.next({\n items,\n isSynced,\n });\n if (Array.isArray(errors)) {\n for (const error of errors) {\n subscriber.error(error);\n }\n }\n }\n // play through the queue\n if (messageQueue.length > 0) {\n ingestMessages(messageQueue);\n }\n // switch the queue to write directly to the items collection\n receiveMessages = (...messages) => {\n ingestMessages(messages);\n return items.length;\n };\n })();\n // when subscriber unsubscribes, tear down internal subs\n return () => {\n // 1. tear down internal subs\n onCreateSub.unsubscribe();\n onUpdateSub.unsubscribe();\n onDeleteSub.unsubscribe();\n // 2. there is no need to explicitly stop paging. instead, we\n // just check `subscriber.closed` above before fetching each page.\n };\n });\n return observeQuery;\n}\nexports.observeQueryFactory = observeQueryFactory;\n"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.subscriptionFactory = void 0;
|
|
7
|
-
const rxjs_1 = require("rxjs");
|
|
8
|
-
const APIClient_1 = require("../APIClient");
|
|
9
|
-
function subscriptionFactory(client, modelIntrospection, model, operation) {
|
|
10
|
-
const { name } = model;
|
|
11
|
-
const subscription = (args) => {
|
|
12
|
-
const query = (0, APIClient_1.generateGraphQLDocument)(modelIntrospection, name, operation, args);
|
|
13
|
-
const variables = (0, APIClient_1.buildGraphQLVariables)(model, operation, args, modelIntrospection);
|
|
14
|
-
const auth = (0, APIClient_1.authModeParams)(client, args);
|
|
15
|
-
const headers = (0, APIClient_1.getCustomHeaders)(client, args?.headers);
|
|
16
|
-
const observable = client.graphql({
|
|
17
|
-
...auth,
|
|
18
|
-
query,
|
|
19
|
-
variables,
|
|
20
|
-
}, headers);
|
|
21
|
-
return observable.pipe((0, rxjs_1.map)(value => {
|
|
22
|
-
const [key] = Object.keys(value.data);
|
|
23
|
-
const data = value.data[key];
|
|
24
|
-
const [initialized] = (0, APIClient_1.initializeModel)(client, name, [data], modelIntrospection, auth.authMode, auth.authToken);
|
|
25
|
-
return initialized;
|
|
26
|
-
}));
|
|
27
|
-
};
|
|
28
|
-
return subscription;
|
|
29
|
-
}
|
|
30
|
-
exports.subscriptionFactory = subscriptionFactory;
|
|
31
|
-
//# sourceMappingURL=subscription.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subscription.js","sources":["../../../../src/internals/operations/subscription.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.subscriptionFactory = void 0;\nconst rxjs_1 = require(\"rxjs\");\nconst APIClient_1 = require(\"../APIClient\");\nfunction subscriptionFactory(client, modelIntrospection, model, operation) {\n const { name } = model;\n const subscription = (args) => {\n const query = (0, APIClient_1.generateGraphQLDocument)(modelIntrospection, name, operation, args);\n const variables = (0, APIClient_1.buildGraphQLVariables)(model, operation, args, modelIntrospection);\n const auth = (0, APIClient_1.authModeParams)(client, args);\n const headers = (0, APIClient_1.getCustomHeaders)(client, args?.headers);\n const observable = client.graphql({\n ...auth,\n query,\n variables,\n }, headers);\n return observable.pipe((0, rxjs_1.map)(value => {\n const [key] = Object.keys(value.data);\n const data = value.data[key];\n const [initialized] = (0, APIClient_1.initializeModel)(client, name, [data], modelIntrospection, auth.authMode, auth.authToken);\n return initialized;\n }));\n };\n return subscription;\n}\nexports.subscriptionFactory = subscriptionFactory;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,mBAAmB,GAAG,KAAK,CAAC,CAAC;AACrC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC/B,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAC5C,SAAS,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE;AAC3E,IAAI,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;AAC3B,IAAI,MAAM,YAAY,GAAG,CAAC,IAAI,KAAK;AACnC,QAAQ,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,uBAAuB,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;AAC1G,QAAQ,MAAM,SAAS,GAAG,IAAI,WAAW,CAAC,qBAAqB,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;AAC7G,QAAQ,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AACnE,QAAQ,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,gBAAgB,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACjF,QAAQ,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;AAC1C,YAAY,GAAG,IAAI;AACnB,YAAY,KAAK;AACjB,YAAY,SAAS;AACrB,SAAS,EAAE,OAAO,CAAC,CAAC;AACpB,QAAQ,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,KAAK,IAAI;AACxD,YAAY,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAClD,YAAY,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzC,YAAY,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;AAC5I,YAAY,OAAO,WAAW,CAAC;AAC/B,SAAS,CAAC,CAAC,CAAC;AACZ,KAAK,CAAC;AACN,IAAI,OAAO,YAAY,CAAC;AACxB,CAAC;AACD,OAAO,CAAC,mBAAmB,GAAG,mBAAmB;;"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.generateModelsProperty = void 0;
|
|
5
|
-
const APIClient_1 = require("../APIClient");
|
|
6
|
-
const list_1 = require("../operations/list");
|
|
7
|
-
const indexQuery_1 = require("../operations/indexQuery");
|
|
8
|
-
const get_1 = require("../operations/get");
|
|
9
|
-
const clientUtils_1 = require("../clientUtils");
|
|
10
|
-
function generateModelsProperty(client, params) {
|
|
11
|
-
const models = {};
|
|
12
|
-
const { config } = params;
|
|
13
|
-
const useContext = params.amplify === null;
|
|
14
|
-
if (!config) {
|
|
15
|
-
throw new Error('generateModelsProperty cannot retrieve Amplify config');
|
|
16
|
-
}
|
|
17
|
-
if (!config.API?.GraphQL) {
|
|
18
|
-
return {};
|
|
19
|
-
}
|
|
20
|
-
const modelIntrospection = config.API.GraphQL.modelIntrospection;
|
|
21
|
-
if (!modelIntrospection) {
|
|
22
|
-
return {};
|
|
23
|
-
}
|
|
24
|
-
const SSR_UNSUPORTED_OPS = [
|
|
25
|
-
'ONCREATE',
|
|
26
|
-
'ONUPDATE',
|
|
27
|
-
'ONDELETE',
|
|
28
|
-
'OBSERVE_QUERY',
|
|
29
|
-
];
|
|
30
|
-
for (const model of Object.values(modelIntrospection.models)) {
|
|
31
|
-
const { name } = model;
|
|
32
|
-
models[name] = {};
|
|
33
|
-
Object.entries(APIClient_1.graphQLOperationsInfo).forEach(([key, { operationPrefix }]) => {
|
|
34
|
-
const operation = key;
|
|
35
|
-
// subscriptions are not supported in SSR
|
|
36
|
-
if (SSR_UNSUPORTED_OPS.includes(operation))
|
|
37
|
-
return;
|
|
38
|
-
if (operation === 'LIST') {
|
|
39
|
-
models[name][operationPrefix] = (0, list_1.listFactory)(client, modelIntrospection, model, useContext);
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
models[name][operationPrefix] = (0, get_1.getFactory)(client, modelIntrospection, model, operation, useContext);
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
const secondaryIdxs = (0, clientUtils_1.getSecondaryIndexesFromSchemaModel)(model);
|
|
46
|
-
for (const idx of secondaryIdxs) {
|
|
47
|
-
models[name][idx.queryField] = (0, indexQuery_1.indexQueryFactory)(client, modelIntrospection, model, idx);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
return models;
|
|
51
|
-
}
|
|
52
|
-
exports.generateModelsProperty = generateModelsProperty;
|
|
53
|
-
//# sourceMappingURL=generateModelsProperty.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generateModelsProperty.js","sources":["../../../../src/internals/server/generateModelsProperty.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generateModelsProperty = void 0;\nconst APIClient_1 = require(\"../APIClient\");\nconst list_1 = require(\"../operations/list\");\nconst indexQuery_1 = require(\"../operations/indexQuery\");\nconst get_1 = require(\"../operations/get\");\nconst clientUtils_1 = require(\"../clientUtils\");\nfunction generateModelsProperty(client, params) {\n const models = {};\n const { config } = params;\n const useContext = params.amplify === null;\n if (!config) {\n throw new Error('generateModelsProperty cannot retrieve Amplify config');\n }\n if (!config.API?.GraphQL) {\n return {};\n }\n const modelIntrospection = config.API.GraphQL.modelIntrospection;\n if (!modelIntrospection) {\n return {};\n }\n const SSR_UNSUPORTED_OPS = [\n 'ONCREATE',\n 'ONUPDATE',\n 'ONDELETE',\n 'OBSERVE_QUERY',\n ];\n for (const model of Object.values(modelIntrospection.models)) {\n const { name } = model;\n models[name] = {};\n Object.entries(APIClient_1.graphQLOperationsInfo).forEach(([key, { operationPrefix }]) => {\n const operation = key;\n // subscriptions are not supported in SSR\n if (SSR_UNSUPORTED_OPS.includes(operation))\n return;\n if (operation === 'LIST') {\n models[name][operationPrefix] = (0, list_1.listFactory)(client, modelIntrospection, model, useContext);\n }\n else {\n models[name][operationPrefix] = (0, get_1.getFactory)(client, modelIntrospection, model, operation, useContext);\n }\n });\n const secondaryIdxs = (0, clientUtils_1.getSecondaryIndexesFromSchemaModel)(model);\n for (const idx of secondaryIdxs) {\n models[name][idx.queryField] = (0, indexQuery_1.indexQueryFactory)(client, modelIntrospection, model, idx);\n }\n }\n return models;\n}\nexports.generateModelsProperty = generateModelsProperty;\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,sBAAsB,GAAG,KAAK,CAAC,CAAC;AACxC,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;AACzD,MAAM,KAAK,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAC3C,MAAM,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAChD,SAAS,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE;AAChD,IAAI,MAAM,MAAM,GAAG,EAAE,CAAC;AACtB,IAAI,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;AAC9B,IAAI,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;AAC/C,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,QAAQ,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;AACjF,KAAK;AACL,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE;AAC9B,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK;AACL,IAAI,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC;AACrE,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC7B,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK;AACL,IAAI,MAAM,kBAAkB,GAAG;AAC/B,QAAQ,UAAU;AAClB,QAAQ,UAAU;AAClB,QAAQ,UAAU;AAClB,QAAQ,eAAe;AACvB,KAAK,CAAC;AACN,IAAI,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE;AAClE,QAAQ,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;AAC/B,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AAC1B,QAAQ,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,eAAe,EAAE,CAAC,KAAK;AAClG,YAAY,MAAM,SAAS,GAAG,GAAG,CAAC;AAClC;AACA,YAAY,IAAI,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC;AACtD,gBAAgB,OAAO;AACvB,YAAY,IAAI,SAAS,KAAK,MAAM,EAAE;AACtC,gBAAgB,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;AACvH,aAAa;AACb,iBAAiB;AACjB,gBAAgB,MAAM,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,GAAG,IAAI,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAChI,aAAa;AACb,SAAS,CAAC,CAAC;AACX,QAAQ,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;AAC3F,QAAQ,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE;AACzC,YAAY,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,IAAI,YAAY,CAAC,iBAAiB,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AACvH,SAAS;AACT,KAAK;AACL,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;AACD,OAAO,CAAC,sBAAsB,GAAG,sBAAsB;;"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.generateEnumsProperty = void 0;
|
|
7
|
-
const generateEnumsProperty = (graphqlConfig) => {
|
|
8
|
-
const modelIntrospection = graphqlConfig.modelIntrospection;
|
|
9
|
-
if (!modelIntrospection) {
|
|
10
|
-
return {};
|
|
11
|
-
}
|
|
12
|
-
const enums = {};
|
|
13
|
-
for (const [_, enumData] of Object.entries(modelIntrospection.enums)) {
|
|
14
|
-
enums[enumData.name] = {
|
|
15
|
-
values: () => enumData.values,
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
return enums;
|
|
19
|
-
};
|
|
20
|
-
exports.generateEnumsProperty = generateEnumsProperty;
|
|
21
|
-
//# sourceMappingURL=generateEnumsProperty.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generateEnumsProperty.js","sources":["../../../../../src/internals/utils/clientProperties/generateEnumsProperty.ts"],"sourcesContent":["\"use strict\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generateEnumsProperty = void 0;\nconst generateEnumsProperty = (graphqlConfig) => {\n const modelIntrospection = graphqlConfig.modelIntrospection;\n if (!modelIntrospection) {\n return {};\n }\n const enums = {};\n for (const [_, enumData] of Object.entries(modelIntrospection.enums)) {\n enums[enumData.name] = {\n values: () => enumData.values,\n };\n }\n return enums;\n};\nexports.generateEnumsProperty = generateEnumsProperty;\n"],"names":[],"mappings":";;AACA;AACA;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,qBAAqB,GAAG,KAAK,CAAC,CAAC;AACvC,MAAM,qBAAqB,GAAG,CAAC,aAAa,KAAK;AACjD,IAAI,MAAM,kBAAkB,GAAG,aAAa,CAAC,kBAAkB,CAAC;AAChE,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC7B,QAAQ,OAAO,EAAE,CAAC;AAClB,KAAK;AACL,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;AACrB,IAAI,KAAK,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE;AAC1E,QAAQ,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG;AAC/B,YAAY,MAAM,EAAE,MAAM,QAAQ,CAAC,MAAM;AACzC,SAAS,CAAC;AACV,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AACF,OAAO,CAAC,qBAAqB,GAAG,qBAAqB;;"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.generateModelsProperty = void 0;
|
|
5
|
-
const APIClient_1 = require("../../APIClient");
|
|
6
|
-
const list_1 = require("../../operations/list");
|
|
7
|
-
const indexQuery_1 = require("../../operations/indexQuery");
|
|
8
|
-
const get_1 = require("../../operations/get");
|
|
9
|
-
const subscription_1 = require("../../operations/subscription");
|
|
10
|
-
const observeQuery_1 = require("../../operations/observeQuery");
|
|
11
|
-
const clientUtils_1 = require("../../clientUtils");
|
|
12
|
-
function generateModelsProperty(client, apiGraphQLConfig) {
|
|
13
|
-
const models = {};
|
|
14
|
-
const modelIntrospection = apiGraphQLConfig.modelIntrospection;
|
|
15
|
-
if (!modelIntrospection) {
|
|
16
|
-
return {};
|
|
17
|
-
}
|
|
18
|
-
const SUBSCRIPTION_OPS = ['ONCREATE', 'ONUPDATE', 'ONDELETE'];
|
|
19
|
-
for (const model of Object.values(modelIntrospection.models)) {
|
|
20
|
-
const { name } = model;
|
|
21
|
-
models[name] = {};
|
|
22
|
-
Object.entries(APIClient_1.graphQLOperationsInfo).forEach(([key, { operationPrefix }]) => {
|
|
23
|
-
const operation = key;
|
|
24
|
-
if (operation === 'LIST') {
|
|
25
|
-
models[name][operationPrefix] = (0, list_1.listFactory)(client, modelIntrospection, model);
|
|
26
|
-
}
|
|
27
|
-
else if (SUBSCRIPTION_OPS.includes(operation)) {
|
|
28
|
-
models[name][operationPrefix] = (0, subscription_1.subscriptionFactory)(client, modelIntrospection, model, operation);
|
|
29
|
-
}
|
|
30
|
-
else if (operation === 'OBSERVE_QUERY') {
|
|
31
|
-
models[name][operationPrefix] = (0, observeQuery_1.observeQueryFactory)(models, model);
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
models[name][operationPrefix] = (0, get_1.getFactory)(client, modelIntrospection, model, operation);
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
const secondaryIdxs = (0, clientUtils_1.getSecondaryIndexesFromSchemaModel)(model);
|
|
38
|
-
for (const idx of secondaryIdxs) {
|
|
39
|
-
models[name][idx.queryField] = (0, indexQuery_1.indexQueryFactory)(client, modelIntrospection, model, idx);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return models;
|
|
43
|
-
}
|
|
44
|
-
exports.generateModelsProperty = generateModelsProperty;
|
|
45
|
-
//# sourceMappingURL=generateModelsProperty.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generateModelsProperty.js","sources":["../../../../../src/internals/utils/clientProperties/generateModelsProperty.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generateModelsProperty = void 0;\nconst APIClient_1 = require(\"../../APIClient\");\nconst list_1 = require(\"../../operations/list\");\nconst indexQuery_1 = require(\"../../operations/indexQuery\");\nconst get_1 = require(\"../../operations/get\");\nconst subscription_1 = require(\"../../operations/subscription\");\nconst observeQuery_1 = require(\"../../operations/observeQuery\");\nconst clientUtils_1 = require(\"../../clientUtils\");\nfunction generateModelsProperty(client, apiGraphQLConfig) {\n const models = {};\n const modelIntrospection = apiGraphQLConfig.modelIntrospection;\n if (!modelIntrospection) {\n return {};\n }\n const SUBSCRIPTION_OPS = ['ONCREATE', 'ONUPDATE', 'ONDELETE'];\n for (const model of Object.values(modelIntrospection.models)) {\n const { name } = model;\n models[name] = {};\n Object.entries(APIClient_1.graphQLOperationsInfo).forEach(([key, { operationPrefix }]) => {\n const operation = key;\n if (operation === 'LIST') {\n models[name][operationPrefix] = (0, list_1.listFactory)(client, modelIntrospection, model);\n }\n else if (SUBSCRIPTION_OPS.includes(operation)) {\n models[name][operationPrefix] = (0, subscription_1.subscriptionFactory)(client, modelIntrospection, model, operation);\n }\n else if (operation === 'OBSERVE_QUERY') {\n models[name][operationPrefix] = (0, observeQuery_1.observeQueryFactory)(models, model);\n }\n else {\n models[name][operationPrefix] = (0, get_1.getFactory)(client, modelIntrospection, model, operation);\n }\n });\n const secondaryIdxs = (0, clientUtils_1.getSecondaryIndexesFromSchemaModel)(model);\n for (const idx of secondaryIdxs) {\n models[name][idx.queryField] = (0, indexQuery_1.indexQueryFactory)(client, modelIntrospection, model, idx);\n }\n }\n return models;\n}\nexports.generateModelsProperty = generateModelsProperty;\n"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.findIndexByFields = void 0;
|
|
5
|
-
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
6
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
7
|
-
/**
|
|
8
|
-
* Iterates through a collection to find a matching item and returns the index.
|
|
9
|
-
*
|
|
10
|
-
* @param needle The item to search for
|
|
11
|
-
* @param haystack The collection to search
|
|
12
|
-
* @param keyFields The fields used to indicate a match
|
|
13
|
-
* @returns Index of `needle` in `haystack`, otherwise -1 if not found.
|
|
14
|
-
*/
|
|
15
|
-
function findIndexByFields(needle, haystack, keyFields) {
|
|
16
|
-
const searchObject = Object.fromEntries(keyFields.map(fieldName => [fieldName, needle[fieldName]]));
|
|
17
|
-
for (let i = 0; i < haystack.length; i++) {
|
|
18
|
-
if (Object.keys(searchObject).every(k => searchObject[k] === haystack[i][k])) {
|
|
19
|
-
return i;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
return -1;
|
|
23
|
-
}
|
|
24
|
-
exports.findIndexByFields = findIndexByFields;
|
|
25
|
-
//# sourceMappingURL=findIndexByFields.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"findIndexByFields.js","sources":["../../../src/utils/findIndexByFields.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.findIndexByFields = void 0;\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Iterates through a collection to find a matching item and returns the index.\n *\n * @param needle The item to search for\n * @param haystack The collection to search\n * @param keyFields The fields used to indicate a match\n * @returns Index of `needle` in `haystack`, otherwise -1 if not found.\n */\nfunction findIndexByFields(needle, haystack, keyFields) {\n const searchObject = Object.fromEntries(keyFields.map(fieldName => [fieldName, needle[fieldName]]));\n for (let i = 0; i < haystack.length; i++) {\n if (Object.keys(searchObject).every(k => searchObject[k] === haystack[i][k])) {\n return i;\n }\n }\n return -1;\n}\nexports.findIndexByFields = findIndexByFields;\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,iBAAiB,GAAG,KAAK,CAAC,CAAC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE;AACxD,IAAI,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACxG,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC9C,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;AACtF,YAAY,OAAO,CAAC,CAAC;AACrB,SAAS;AACT,KAAK;AACL,IAAI,OAAO,CAAC,CAAC,CAAC;AACd,CAAC;AACD,OAAO,CAAC,iBAAiB,GAAG,iBAAiB;;"}
|