@aws-amplify/api 5.3.4-api-v6.25 → 5.3.4-api-v6-models.34

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/src/API.ts CHANGED
@@ -11,6 +11,19 @@ import { graphql as v6graphql } from '@aws-amplify/api-graphql/internals';
11
11
  import { Amplify, ConsoleLogger as Logger } from '@aws-amplify/core';
12
12
  import Observable from 'zen-observable-ts';
13
13
  import { InternalAPIClass } from './internals/InternalAPI';
14
+ import {
15
+ initializeModel,
16
+ generateGraphQLDocument,
17
+ buildGraphQLVariables,
18
+ graphQLOperationsInfo,
19
+ ModelOperation,
20
+ } from './APIClient';
21
+ import type { ModelTypes } from '@aws-amplify/types-package-alpha';
22
+
23
+ /*
24
+ await post.comments()
25
+ => await graphql()
26
+ */
14
27
 
15
28
  const logger = new Logger('API');
16
29
  /**
@@ -51,7 +64,7 @@ export class APIClass extends InternalAPIClass {
51
64
  /**
52
65
  * Generates an API client that can work with models or raw GraphQL
53
66
  */
54
- generateClient<T = never>(): V6Client<T> {
67
+ generateClient<T extends Record<any, any> = never>(): V6Client<T> {
55
68
  const config = super.configure({});
56
69
 
57
70
  const { modelIntrospection } = config;
@@ -61,6 +74,8 @@ export class APIClass extends InternalAPIClass {
61
74
  models: {},
62
75
  };
63
76
 
77
+ // TODO: refactor this to use separate methods for each CRUDL.
78
+ // Doesn't make sense to gen the methods dynamically given the different args and return values
64
79
  for (const model of Object.values(modelIntrospection.models)) {
65
80
  const { name } = model as any;
66
81
 
@@ -70,24 +85,87 @@ export class APIClass extends InternalAPIClass {
70
85
  ([key, { operationPrefix }]) => {
71
86
  const operation = key as ModelOperation;
72
87
 
73
- // e.g. clients.models.Todo.update
74
- client.models[name][operationPrefix] = async (arg?: any) => {
75
- const query = generateGraphQLDocument(model, operation);
76
- const variables = buildGraphQLVariables(model, operation, arg);
77
-
78
- const res = (await this.graphql({
79
- query,
80
- variables,
81
- })) as any;
82
-
83
- // flatten response
84
- if (res.data !== undefined) {
85
- const [key] = Object.keys(res.data);
86
- return res.data[key];
87
- }
88
-
89
- return res;
90
- };
88
+ if (operation === 'LIST') {
89
+ client.models[name][operationPrefix] = async (args?: any) => {
90
+ const query = generateGraphQLDocument(
91
+ modelIntrospection.models,
92
+ name,
93
+ 'LIST',
94
+ args
95
+ );
96
+ const variables = buildGraphQLVariables(model, 'LIST', args);
97
+
98
+ console.log('API list', query, variables);
99
+
100
+ const res = (await this.graphql({
101
+ query,
102
+ variables,
103
+ })) as any;
104
+
105
+ // flatten response
106
+ if (res.data !== undefined) {
107
+ const [key] = Object.keys(res.data);
108
+
109
+ if (res.data[key].items) {
110
+ const flattenedResult = res.data[key].items;
111
+
112
+ // don't init if custom selection set
113
+ if (args?.selectionSet) {
114
+ return flattenedResult;
115
+ } else {
116
+ const initialized = initializeModel(
117
+ client,
118
+ name,
119
+ flattenedResult,
120
+ modelIntrospection
121
+ );
122
+
123
+ return initialized;
124
+ }
125
+ }
126
+
127
+ return res.data[key];
128
+ }
129
+
130
+ return res as any;
131
+ };
132
+ } else {
133
+ client.models[name][operationPrefix] = async (
134
+ arg?: any,
135
+ options?: any
136
+ ) => {
137
+ const query = generateGraphQLDocument(
138
+ modelIntrospection.models,
139
+ name,
140
+ operation
141
+ );
142
+ const variables = buildGraphQLVariables(model, operation, arg);
143
+
144
+ console.log(`API ${operationPrefix}`, query, variables);
145
+
146
+ const res = (await this.graphql({
147
+ query,
148
+ variables,
149
+ })) as any;
150
+
151
+ // flatten response
152
+ if (res.data !== undefined) {
153
+ const [key] = Object.keys(res.data);
154
+
155
+ // TODO: refactor to avoid destructuring here
156
+ const [initialized] = initializeModel(
157
+ client,
158
+ name,
159
+ [res.data[key]],
160
+ modelIntrospection
161
+ );
162
+
163
+ return initialized;
164
+ }
165
+
166
+ return res;
167
+ };
168
+ }
91
169
  }
92
170
  );
93
171
  }
@@ -96,167 +174,6 @@ export class APIClass extends InternalAPIClass {
96
174
  }
97
175
  }
98
176
 
99
- const graphQLOperationsInfo = {
100
- CREATE: { operationPrefix: 'create' as const, usePlural: false },
101
- READ: { operationPrefix: 'get' as const, usePlural: false },
102
- UPDATE: { operationPrefix: 'update' as const, usePlural: false },
103
- DELETE: { operationPrefix: 'delete' as const, usePlural: false },
104
- LIST: { operationPrefix: 'list' as const, usePlural: true },
105
- };
106
- type ModelOperation = keyof typeof graphQLOperationsInfo;
107
- type OperationPrefix =
108
- (typeof graphQLOperationsInfo)[ModelOperation]['operationPrefix'];
109
-
110
- const graphQLDocumentsCache = new Map<string, Map<ModelOperation, string>>();
111
-
112
- function generateGraphQLDocument(
113
- modelDefinition: any,
114
- modelOperation: ModelOperation
115
- ): string {
116
- const {
117
- name,
118
- pluralName,
119
- fields,
120
- primaryKeyInfo: {
121
- isCustomPrimaryKey,
122
- primaryKeyFieldName,
123
- sortKeyFieldNames,
124
- },
125
- } = modelDefinition;
126
- const { operationPrefix, usePlural } = graphQLOperationsInfo[modelOperation];
127
-
128
- const fromCache = graphQLDocumentsCache.get(name)?.get(modelOperation);
129
-
130
- if (fromCache !== undefined) {
131
- return fromCache;
132
- }
133
-
134
- if (!graphQLDocumentsCache.has(name)) {
135
- graphQLDocumentsCache.set(name, new Map());
136
- }
137
-
138
- const graphQLFieldName = `${operationPrefix}${usePlural ? pluralName : name}`;
139
- let graphQLOperationType: 'mutation' | 'query' | undefined;
140
- let graphQLSelectionSet: string | undefined;
141
- let graphQLArguments: Record<string, any> | undefined;
142
-
143
- const selectionSetFields = Object.values<any>(fields)
144
- .map(({ type, name }) => typeof type === 'string' && name) // Only scalars for now
145
- .filter(Boolean)
146
- .join(' ');
147
-
148
- switch (modelOperation) {
149
- case 'CREATE':
150
- case 'UPDATE':
151
- case 'DELETE':
152
- graphQLArguments ??
153
- (graphQLArguments = {
154
- input: `${
155
- operationPrefix.charAt(0).toLocaleUpperCase() +
156
- operationPrefix.slice(1)
157
- }${name}Input!`,
158
- });
159
- graphQLOperationType ?? (graphQLOperationType = 'mutation');
160
- case 'READ':
161
- graphQLArguments ??
162
- (graphQLArguments = isCustomPrimaryKey
163
- ? [primaryKeyFieldName, ...sortKeyFieldNames].reduce(
164
- (acc, fieldName) => {
165
- acc[fieldName] = fields[fieldName].type;
166
-
167
- return acc;
168
- },
169
- {}
170
- )
171
- : {
172
- [primaryKeyFieldName]: `${fields[primaryKeyFieldName].type}!`,
173
- });
174
- graphQLSelectionSet ?? (graphQLSelectionSet = selectionSetFields);
175
- case 'LIST':
176
- graphQLOperationType ?? (graphQLOperationType = 'query');
177
- graphQLSelectionSet ??
178
- (graphQLSelectionSet = `items { ${selectionSetFields} }`);
179
- }
180
-
181
- const graphQLDocument = `${graphQLOperationType}${
182
- graphQLArguments
183
- ? `(${Object.entries(graphQLArguments).map(
184
- ([fieldName, type]) => `\$${fieldName}: ${type}`
185
- )})`
186
- : ''
187
- } { ${graphQLFieldName}${
188
- graphQLArguments
189
- ? `(${Object.keys(graphQLArguments).map(
190
- fieldName => `${fieldName}: \$${fieldName}`
191
- )})`
192
- : ''
193
- } { ${graphQLSelectionSet} } }`;
194
-
195
- graphQLDocumentsCache.get(name)?.set(modelOperation, graphQLDocument);
196
-
197
- return graphQLDocument;
198
- }
199
-
200
- function buildGraphQLVariables(
201
- modelDefinition: any,
202
- operation: ModelOperation,
203
- arg: any
204
- ): object {
205
- const {
206
- fields,
207
- primaryKeyInfo: {
208
- isCustomPrimaryKey,
209
- primaryKeyFieldName,
210
- sortKeyFieldNames,
211
- },
212
- } = modelDefinition;
213
-
214
- let variables = {};
215
-
216
- switch (operation) {
217
- case 'CREATE':
218
- variables = { input: arg };
219
- break;
220
- case 'UPDATE':
221
- // readonly fields are not updated
222
- variables = {
223
- input: Object.fromEntries(
224
- Object.entries(arg).filter(([fieldName]) => {
225
- const { isReadOnly } = fields[fieldName];
226
-
227
- return !isReadOnly;
228
- })
229
- ),
230
- };
231
- break;
232
- case 'READ':
233
- case 'DELETE':
234
- // only identifiers are sent
235
- variables = isCustomPrimaryKey
236
- ? [primaryKeyFieldName, ...sortKeyFieldNames].reduce(
237
- (acc, fieldName) => {
238
- acc[fieldName] = arg[fieldName];
239
-
240
- return acc;
241
- },
242
- {}
243
- )
244
- : { [primaryKeyFieldName]: arg[primaryKeyFieldName] };
245
-
246
- if (operation === 'DELETE') {
247
- variables = { input: variables };
248
- }
249
- break;
250
- case 'LIST':
251
- break;
252
- default:
253
- const exhaustiveCheck: never = operation;
254
- throw new Error(`Unhandled operation case: ${exhaustiveCheck}`);
255
- }
256
-
257
- return variables;
258
- }
259
-
260
177
  type FilteredKeys<T> = {
261
178
  [P in keyof T]: T[P] extends never ? never : P;
262
179
  }[keyof T];
@@ -264,32 +181,10 @@ type ExcludeNeverFields<O> = {
264
181
  [K in FilteredKeys<O>]: O[K];
265
182
  };
266
183
 
267
- type Prettify<T> = T extends object
268
- ? {
269
- [P in keyof T]: Prettify<T[P]>;
270
- }
271
- : T;
272
-
273
184
  // If no T is passed, ExcludeNeverFields removes "models" from the client
274
- declare type V6Client<T = never> = ExcludeNeverFields<{
185
+ declare type V6Client<T extends Record<any, any> = never> = ExcludeNeverFields<{
275
186
  graphql: typeof v6graphql;
276
- models: {
277
- [K in keyof T]: K extends string
278
- ? {
279
- create: (model: T[K]) => Promise<T[K]>;
280
- update: (
281
- model: Prettify<
282
- {
283
- id: string;
284
- } & Partial<T[K]>
285
- >
286
- ) => Promise<T[K]>;
287
- delete: (id: string) => Promise<T[K]>;
288
- get: (id: string) => Promise<T[K]>;
289
- list: () => Promise<Array<T[K]>>;
290
- }
291
- : never;
292
- };
187
+ models: ModelTypes<T>;
293
188
  }>;
294
189
 
295
190
  export const API = new APIClass(null);
@@ -0,0 +1,283 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ import type { ModelTypes } from '@aws-amplify/types-package-alpha';
5
+
6
+ type ListArgs = { selectionSet?: string[]; filter?: {} };
7
+
8
+ // TODO: this should accept single result to support CRUD methods; create helper for array/list
9
+ export function initializeModel(
10
+ client: any,
11
+ modelName: string,
12
+ result: any[],
13
+ modelIntrospection: any
14
+ ): any[] {
15
+ const introModel = modelIntrospection.models[modelName];
16
+ const introModelFields = introModel.fields;
17
+
18
+ const modelFields: string[] = Object.entries(introModelFields)
19
+ .filter(([_, field]: [string, any]) => typeof field.type !== 'string')
20
+ .map(([fieldName]) => fieldName);
21
+
22
+ return result.map(record => {
23
+ const initialized = {};
24
+
25
+ for (const field of modelFields) {
26
+ const relatedModel = introModelFields[field].type.model;
27
+ const connectionField =
28
+ introModelFields[field].association.associatedWith;
29
+ // TODO: support sort key
30
+ const parentPk = introModel.primaryKeyInfo.primaryKeyFieldName;
31
+
32
+ initialized[field] = async () => {
33
+ return client.models[relatedModel].list({
34
+ filter: { [connectionField]: { eq: record[parentPk] } },
35
+ });
36
+ };
37
+ }
38
+
39
+ return { ...record, ...initialized };
40
+ });
41
+ }
42
+
43
+ export const graphQLOperationsInfo = {
44
+ CREATE: { operationPrefix: 'create' as const, usePlural: false },
45
+ READ: { operationPrefix: 'get' as const, usePlural: false },
46
+ UPDATE: { operationPrefix: 'update' as const, usePlural: false },
47
+ DELETE: { operationPrefix: 'delete' as const, usePlural: false },
48
+ LIST: { operationPrefix: 'list' as const, usePlural: true },
49
+ };
50
+ export type ModelOperation = keyof typeof graphQLOperationsInfo;
51
+
52
+ type OperationPrefix =
53
+ (typeof graphQLOperationsInfo)[ModelOperation]['operationPrefix'];
54
+
55
+ const graphQLDocumentsCache = new Map<string, Map<ModelOperation, string>>();
56
+ const SELECTION_SET_ALL_NESTED = '*';
57
+
58
+ function defaultSelectionSetForModel(modelDefinition: any): string {
59
+ const { fields } = modelDefinition;
60
+ return Object.values<any>(fields)
61
+ .map(({ type, name }) => typeof type === 'string' && name) // Default selection set omits model fields
62
+ .filter(Boolean)
63
+ .join(' ');
64
+ }
65
+
66
+ function generateSelectionSet(
67
+ modelIntrospection: any,
68
+ modelName: string,
69
+ selectionSet?: string[]
70
+ ) {
71
+ const modelDefinition = modelIntrospection[modelName];
72
+ const { fields } = modelDefinition;
73
+
74
+ if (!selectionSet) {
75
+ return defaultSelectionSetForModel(modelDefinition);
76
+ }
77
+
78
+ const selSet: string[] = [];
79
+
80
+ for (const f of selectionSet) {
81
+ const nested = f.includes('.');
82
+
83
+ if (nested) {
84
+ const [modelFieldName, selectedField] = f.split('.');
85
+
86
+ const relatedModel = fields[modelFieldName]?.type?.model;
87
+
88
+ if (!relatedModel) {
89
+ // TODO: may need to change this to support custom types
90
+ throw Error(`${modelFieldName} is not a model field`);
91
+ }
92
+
93
+ if (selectedField === SELECTION_SET_ALL_NESTED) {
94
+ const relatedModelDefinition = modelIntrospection[relatedModel];
95
+ const defaultSelectionSet = defaultSelectionSetForModel(
96
+ relatedModelDefinition
97
+ );
98
+
99
+ if (fields[modelFieldName]?.isArray) {
100
+ selSet.push(`${modelFieldName} { items { ${defaultSelectionSet} } }`);
101
+ } else {
102
+ selSet.push(`${modelFieldName} { ${defaultSelectionSet} }`);
103
+ }
104
+ }
105
+ } else {
106
+ const exists = Boolean(fields[f]);
107
+
108
+ if (!exists) {
109
+ throw Error(`${f} is not a field of model ${modelName}`);
110
+ }
111
+
112
+ selSet.push(f);
113
+ }
114
+ }
115
+
116
+ return selSet.join(' ');
117
+ }
118
+
119
+ export function generateGraphQLDocument(
120
+ modelIntrospection: any,
121
+ modelName: string,
122
+ modelOperation: ModelOperation,
123
+ listArgs?: ListArgs
124
+ ): string {
125
+ const modelDefinition = modelIntrospection[modelName];
126
+
127
+ const {
128
+ name,
129
+ pluralName,
130
+ fields,
131
+ primaryKeyInfo: {
132
+ isCustomPrimaryKey,
133
+ primaryKeyFieldName,
134
+ sortKeyFieldNames,
135
+ },
136
+ } = modelDefinition;
137
+
138
+ const { operationPrefix, usePlural } = graphQLOperationsInfo[modelOperation];
139
+
140
+ const { selectionSet } = listArgs || {};
141
+
142
+ const fromCache = graphQLDocumentsCache.get(name)?.get(modelOperation);
143
+
144
+ if (fromCache !== undefined) {
145
+ return fromCache;
146
+ }
147
+
148
+ if (!graphQLDocumentsCache.has(name)) {
149
+ graphQLDocumentsCache.set(name, new Map());
150
+ }
151
+
152
+ const graphQLFieldName = `${operationPrefix}${usePlural ? pluralName : name}`;
153
+ let graphQLOperationType: 'mutation' | 'query' | undefined;
154
+ let graphQLSelectionSet: string | undefined;
155
+ let graphQLArguments: Record<string, any> | undefined;
156
+
157
+ const selectionSetFields = generateSelectionSet(
158
+ modelIntrospection,
159
+ modelName,
160
+ selectionSet
161
+ );
162
+
163
+ console.log('generated sel set', selectionSetFields);
164
+
165
+ switch (modelOperation) {
166
+ case 'CREATE':
167
+ case 'UPDATE':
168
+ case 'DELETE':
169
+ graphQLArguments ??
170
+ (graphQLArguments = {
171
+ input: `${
172
+ operationPrefix.charAt(0).toLocaleUpperCase() +
173
+ operationPrefix.slice(1)
174
+ }${name}Input!`,
175
+ });
176
+ graphQLOperationType ?? (graphQLOperationType = 'mutation');
177
+ case 'READ':
178
+ graphQLArguments ??
179
+ (graphQLArguments = isCustomPrimaryKey
180
+ ? [primaryKeyFieldName, ...sortKeyFieldNames].reduce(
181
+ (acc, fieldName) => {
182
+ acc[fieldName] = fields[fieldName].type;
183
+
184
+ return acc;
185
+ },
186
+ {}
187
+ )
188
+ : {
189
+ [primaryKeyFieldName]: `${fields[primaryKeyFieldName].type}!`,
190
+ });
191
+ graphQLSelectionSet ?? (graphQLSelectionSet = selectionSetFields);
192
+ case 'LIST':
193
+ graphQLArguments ??
194
+ (graphQLArguments = {
195
+ filter: `Model${name}FilterInput`,
196
+ });
197
+ graphQLOperationType ?? (graphQLOperationType = 'query');
198
+ graphQLSelectionSet ??
199
+ (graphQLSelectionSet = `items { ${selectionSetFields} }`);
200
+ }
201
+
202
+ const graphQLDocument = `${graphQLOperationType}${
203
+ graphQLArguments
204
+ ? `(${Object.entries(graphQLArguments).map(
205
+ ([fieldName, type]) => `\$${fieldName}: ${type}`
206
+ )})`
207
+ : ''
208
+ } { ${graphQLFieldName}${
209
+ graphQLArguments
210
+ ? `(${Object.keys(graphQLArguments).map(
211
+ fieldName => `${fieldName}: \$${fieldName}`
212
+ )})`
213
+ : ''
214
+ } { ${graphQLSelectionSet} } }`;
215
+
216
+ graphQLDocumentsCache.get(name)?.set(modelOperation, graphQLDocument);
217
+
218
+ return graphQLDocument;
219
+ }
220
+
221
+ export function buildGraphQLVariables(
222
+ modelDefinition: any,
223
+ operation: ModelOperation,
224
+ arg: any
225
+ ): object {
226
+ const {
227
+ fields,
228
+ primaryKeyInfo: {
229
+ isCustomPrimaryKey,
230
+ primaryKeyFieldName,
231
+ sortKeyFieldNames,
232
+ },
233
+ } = modelDefinition;
234
+
235
+ let variables = {};
236
+
237
+ // TODO: process input
238
+ switch (operation) {
239
+ case 'CREATE':
240
+ variables = { input: arg };
241
+ break;
242
+ case 'UPDATE':
243
+ // readonly fields are not updated
244
+ variables = {
245
+ input: Object.fromEntries(
246
+ Object.entries(arg).filter(([fieldName]) => {
247
+ const { isReadOnly } = fields[fieldName];
248
+
249
+ return !isReadOnly;
250
+ })
251
+ ),
252
+ };
253
+ break;
254
+ case 'READ':
255
+ case 'DELETE':
256
+ // only identifiers are sent
257
+ variables = isCustomPrimaryKey
258
+ ? [primaryKeyFieldName, ...sortKeyFieldNames].reduce(
259
+ (acc, fieldName) => {
260
+ acc[fieldName] = arg[fieldName];
261
+
262
+ return acc;
263
+ },
264
+ {}
265
+ )
266
+ : { [primaryKeyFieldName]: arg[primaryKeyFieldName] };
267
+
268
+ if (operation === 'DELETE') {
269
+ variables = { input: variables };
270
+ }
271
+ break;
272
+ case 'LIST':
273
+ if (arg?.filter) {
274
+ variables = { filter: arg.filter };
275
+ }
276
+ break;
277
+ default:
278
+ const exhaustiveCheck: never = operation;
279
+ throw new Error(`Unhandled operation case: ${exhaustiveCheck}`);
280
+ }
281
+
282
+ return variables;
283
+ }
package/lib/.tsbuildinfo DELETED
@@ -1,3 +0,0 @@
1
- {
2
- "version": "3.8.3"
3
- }
package/lib/API.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"API.js","sourceRoot":"","sources":["../src/API.ts"],"names":[],"mappings":"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"}
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;;AAGtC,6BAAsC;AAA7B,oBAAA,GAAG,CAAA;AAAE,yBAAA,QAAQ,CAAA;AACtB,wDAIkC;AAHjC,yCAAA,gBAAgB,CAAA;AAChB,yCAAA,gBAAgB,CAAA;AAChB,0CAAA,iBAAiB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"InternalAPI.js","sourceRoot":"","sources":["../../src/internals/InternalAPI.ts"],"names":[],"mappings":";;;AAUA,gEAA6E;AAC7E,kDAAqD;AACrD,0CAAyC;AACzC,4CAA2C;AAC3C,0CAO2B;AAI3B,IAAM,MAAM,GAAG,IAAI,oBAAM,CAAC,KAAK,CAAC,CAAC;AACjC;;;;GAIG;AACH;IAaC;;;OAGG;IACH,0BAAY,OAAO;QARnB,SAAI,GAAG,WAAI,CAAC;QACZ,UAAK,GAAG,aAAK,CAAC;QACd,gBAAW,GAAG,kBAAW,CAAC;QAOzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,uBAAY,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,mCAAuB,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,CAAC,KAAK,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAEM,wCAAa,GAApB;QACC,OAAO,aAAa,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,oCAAS,GAAT,UAAU,OAAO;QAChB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE1D,6CAA6C;QAC7C,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAE7C,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAEhD,IAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7D,IAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEnE,6CAAY,aAAa,GAAK,gBAAgB,EAAG;IAClD,CAAC;IAED;;;;;;OAMG;IACH,8BAAG,GAAH,UACC,OAAe,EACf,IAAY,EACZ,IAA4B;QAE5B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CACvB,OAAO,EACP,IAAI,EACJ,IAAI,CAAC,iCAAiC,CAAC,IAAI,EAAE,gBAAS,CAAC,GAAG,CAAC,CAC3D,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,+BAAI,GAAJ,UACC,OAAe,EACf,IAAY,EACZ,IAA4B;QAE5B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CACxB,OAAO,EACP,IAAI,EACJ,IAAI,CAAC,iCAAiC,CAAC,IAAI,EAAE,gBAAS,CAAC,IAAI,CAAC,CAC5D,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,8BAAG,GAAH,UACC,OAAe,EACf,IAAY,EACZ,IAA4B;QAE5B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CACvB,OAAO,EACP,IAAI,EACJ,IAAI,CAAC,iCAAiC,CAAC,IAAI,EAAE,gBAAS,CAAC,GAAG,CAAC,CAC3D,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,gCAAK,GAAL,UACC,OAAe,EACf,IAAY,EACZ,IAA4B;QAE5B,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CACzB,OAAO,EACP,IAAI,EACJ,IAAI,CAAC,iCAAiC,CAAC,IAAI,EAAE,gBAAS,CAAC,KAAK,CAAC,CAC7D,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,8BAAG,GAAH,UACC,OAAe,EACf,IAAY,EACZ,IAA4B;QAE5B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CACvB,OAAO,EACP,IAAI,EACJ,IAAI,CAAC,iCAAiC,CAAC,IAAI,EAAE,gBAAS,CAAC,GAAG,CAAC,CAC3D,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,+BAAI,GAAJ,UACC,OAAe,EACf,IAAY,EACZ,IAA4B;QAE5B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CACxB,OAAO,EACP,IAAI,EACJ,IAAI,CAAC,iCAAiC,CAAC,IAAI,EAAE,gBAAS,CAAC,IAAI,CAAC,CAC5D,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,mCAAQ,GAAR,UAAS,KAAU;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IACD;;;;;OAKG;IACH,iCAAM,GAAN,UAAO,OAAqB,EAAE,OAAgB;QAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;YAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SAC9C;aAAM,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;YACpD,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SACjD;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAEO,4DAAiC,GAAzC,UACC,IAA4B,EAC5B,MAAiB;QAEjB,IAAM,sBAAsB,GAA2B;YACtD,QAAQ,EAAE,eAAQ,CAAC,GAAG;YACtB,MAAM,QAAA;SACN,CAAC;QACF,IAAM,UAAU,yCAAQ,IAAI,KAAE,sBAAsB,wBAAA,GAAE,CAAC;QACvD,OAAO,UAAU,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACG,mCAAQ,GAAd,UAAe,OAAe;;;gBAC7B,sBAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAC;;;KACvC;IAED;;;OAGG;IACH,kDAAuB,GAAvB,UAAwB,SAA2B;QAClD,OAAO,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAC5D,CAAC;IAqBD,kCAAO,GAAP,UACC,OAAuB,EACvB,iBAA6C,EAC7C,sBAA+C;QAE/C,IAAM,mBAAmB,sBACxB,QAAQ,EAAE,eAAQ,CAAC,GAAG,EACtB,MAAM,EAAE,gBAAS,CAAC,OAAO,IACtB,sBAAsB,CACzB,CAAC;QAEF,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAC9B,OAAO,EACP,iBAAiB,EACjB,mBAAmB,CACnB,CAAC;IACH,CAAC;IACF,uBAAC;AAAD,CAAC,AA3PD,IA2PC;AA3PY,4CAAgB;AA6PhB,QAAA,WAAW,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;AACtD,cAAO,CAAC,QAAQ,CAAC,mBAAW,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/internals/index.ts"],"names":[],"mappings":";;AAAA,qEAAqE;AACrE,sCAAsC;AACtC,6CAA8D;AAArD,oCAAA,WAAW,CAAA;AAAE,yCAAA,gBAAgB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;;AAEtC;;;;GAIG;AACH,wDAOkC;AANjC,yCAAA,gBAAgB,CAAA;AAChB,yCAAA,gBAAgB,CAAA;AAEhB,0CAAA,iBAAiB,CAAA"}
@@ -1,3 +0,0 @@
1
- {
2
- "version": "3.8.3"
3
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"API.js","sourceRoot":"","sources":["../src/API.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAGtC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,GACjB,MAAM,0BAA0B,CAAC"}