@aws-amplify/api-graphql 3.4.3 → 3.4.4-graphql-api-functional-options.2

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.
Files changed (57) hide show
  1. package/lib/facade-iterable-paging.d.ts +19 -0
  2. package/lib/facade-iterable-paging.js +115 -0
  3. package/lib/facade-iterable-paging.js.map +1 -0
  4. package/lib/facade-light-flattening.d.ts +19 -0
  5. package/lib/facade-light-flattening.js +69 -0
  6. package/lib/facade-light-flattening.js.map +1 -0
  7. package/lib/facade-no-flattening.d.ts +19 -0
  8. package/lib/facade-no-flattening.js +37 -0
  9. package/lib/facade-no-flattening.js.map +1 -0
  10. package/lib/types/facade-iterable-paging.d.ts +106 -0
  11. package/lib/types/facade-iterable-paging.js +3 -0
  12. package/lib/types/facade-iterable-paging.js.map +1 -0
  13. package/lib/types/facade-light-flattening.d.ts +84 -0
  14. package/lib/types/facade-light-flattening.js +3 -0
  15. package/lib/types/facade-light-flattening.js.map +1 -0
  16. package/lib/types/facade-no-flattening.d.ts +48 -0
  17. package/lib/types/facade-no-flattening.js +3 -0
  18. package/lib/types/facade-no-flattening.js.map +1 -0
  19. package/lib/types/v6.d.ts +48 -0
  20. package/lib/types/v6.js +3 -0
  21. package/lib/types/v6.js.map +1 -0
  22. package/lib/v6.d.ts +22 -0
  23. package/lib/v6.js +45 -0
  24. package/lib/v6.js.map +1 -0
  25. package/lib-esm/facade-iterable-paging.d.ts +19 -0
  26. package/lib-esm/facade-iterable-paging.js +109 -0
  27. package/lib-esm/facade-iterable-paging.js.map +1 -0
  28. package/lib-esm/facade-light-flattening.d.ts +19 -0
  29. package/lib-esm/facade-light-flattening.js +63 -0
  30. package/lib-esm/facade-light-flattening.js.map +1 -0
  31. package/lib-esm/facade-no-flattening.d.ts +19 -0
  32. package/lib-esm/facade-no-flattening.js +31 -0
  33. package/lib-esm/facade-no-flattening.js.map +1 -0
  34. package/lib-esm/types/facade-iterable-paging.d.ts +106 -0
  35. package/lib-esm/types/facade-iterable-paging.js +1 -0
  36. package/lib-esm/types/facade-iterable-paging.js.map +1 -0
  37. package/lib-esm/types/facade-light-flattening.d.ts +84 -0
  38. package/lib-esm/types/facade-light-flattening.js +1 -0
  39. package/lib-esm/types/facade-light-flattening.js.map +1 -0
  40. package/lib-esm/types/facade-no-flattening.d.ts +48 -0
  41. package/lib-esm/types/facade-no-flattening.js +1 -0
  42. package/lib-esm/types/facade-no-flattening.js.map +1 -0
  43. package/lib-esm/types/v6.d.ts +48 -0
  44. package/lib-esm/types/v6.js +1 -0
  45. package/lib-esm/types/v6.js.map +1 -0
  46. package/lib-esm/v6.d.ts +22 -0
  47. package/lib-esm/v6.js +42 -0
  48. package/lib-esm/v6.js.map +1 -0
  49. package/package.json +10 -7
  50. package/src/facade-iterable-paging.ts +150 -0
  51. package/src/facade-light-flattening.ts +139 -0
  52. package/src/facade-no-flattening.ts +100 -0
  53. package/src/types/facade-iterable-paging.ts +200 -0
  54. package/src/types/facade-light-flattening.ts +171 -0
  55. package/src/types/facade-no-flattening.ts +110 -0
  56. package/src/types/v6.ts +110 -0
  57. package/src/v6.ts +103 -0
package/lib/v6.d.ts ADDED
@@ -0,0 +1,22 @@
1
+ import { Observable } from 'zen-observable-ts';
2
+ import { GraphqlQueryParams, GraphqlQueryResult, GraphqlMutationParams, GraphqlMutationResult, GraphqlSubscriptionParams, GraphqlSubscriptionResult } from './types/v6';
3
+ import { GraphQLOptions, GraphQLResult } from './types';
4
+ /**
5
+ * The proposed interface additions to the TypeBeast
6
+ */
7
+ declare class V6Client {
8
+ graphql<T = any>(options: GraphQLOptions, additionalHeaders?: {
9
+ [key: string]: string;
10
+ }): Observable<GraphqlSubscriptionResult<'', T>> | Promise<GraphQLResult<T>>;
11
+ query<FALLBACK_TYPES = unknown, TYPED_GQL_STRING extends string = string>(document: TYPED_GQL_STRING, queryParams?: GraphqlQueryParams<TYPED_GQL_STRING, FALLBACK_TYPES>, additionalHeaders?: {
12
+ [key: string]: string;
13
+ }): Promise<GraphqlQueryResult<TYPED_GQL_STRING, FALLBACK_TYPES>>;
14
+ mutate<FALLBACK_TYPES = unknown, TYPED_GQL_STRING extends string = string>(document: TYPED_GQL_STRING, queryParams?: GraphqlMutationParams<TYPED_GQL_STRING, FALLBACK_TYPES>, additionalHeaders?: {
15
+ [key: string]: string;
16
+ }): Promise<GraphqlMutationResult<TYPED_GQL_STRING, FALLBACK_TYPES>>;
17
+ subscribe<FALLBACK_TYPES = unknown, TYPED_GQL_STRING extends string = string>(document: TYPED_GQL_STRING, queryParams?: GraphqlSubscriptionParams<TYPED_GQL_STRING, FALLBACK_TYPES>, additionalHeaders?: {
18
+ [key: string]: string;
19
+ }): Observable<GraphqlSubscriptionResult<TYPED_GQL_STRING, FALLBACK_TYPES>>;
20
+ }
21
+ export declare function generateClient(): V6Client;
22
+ export {};
package/lib/v6.js ADDED
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ var GraphQLAPI_1 = require("./GraphQLAPI");
5
+ var graphql_1 = require("graphql");
6
+ /**
7
+ * The proposed interface additions to the TypeBeast
8
+ */
9
+ var V6Client = /** @class */ (function () {
10
+ function V6Client() {
11
+ }
12
+ V6Client.prototype.graphql = function (options, additionalHeaders) {
13
+ var parsedQuery = typeof options.query === 'string'
14
+ ? graphql_1.parse(options.query)
15
+ : graphql_1.parse(graphql_1.print(options.query));
16
+ var _a = tslib_1.__read(parsedQuery.definitions.filter(function (def) { return def.kind === 'OperationDefinition'; }), 1), _b = _a[0], operationDef = _b === void 0 ? {} : _b;
17
+ var operationType = operationDef.operation;
18
+ var childOptions = tslib_1.__assign(tslib_1.__assign({}, options), { query: graphql_1.print(parsedQuery) }); // todo
19
+ switch (operationType) {
20
+ case 'query':
21
+ return this.query(childOptions.query, childOptions, additionalHeaders);
22
+ case 'mutation':
23
+ return this.mutate(childOptions.query, childOptions, additionalHeaders);
24
+ case 'subscription':
25
+ return this.subscribe(childOptions.query, childOptions, additionalHeaders);
26
+ default:
27
+ throw new Error("invalid operation type: " + operationType);
28
+ }
29
+ };
30
+ V6Client.prototype.query = function (document, queryParams, additionalHeaders) {
31
+ return GraphQLAPI_1.GraphQLAPI.graphql(tslib_1.__assign(tslib_1.__assign({}, (queryParams || {})), { query: document }), additionalHeaders);
32
+ };
33
+ V6Client.prototype.mutate = function (document, queryParams, additionalHeaders) {
34
+ return GraphQLAPI_1.GraphQLAPI.graphql(tslib_1.__assign(tslib_1.__assign({}, (queryParams || {})), { query: document }), additionalHeaders);
35
+ };
36
+ V6Client.prototype.subscribe = function (document, queryParams, additionalHeaders) {
37
+ return GraphQLAPI_1.GraphQLAPI.graphql(tslib_1.__assign(tslib_1.__assign({}, (queryParams || {})), { query: document }), additionalHeaders);
38
+ };
39
+ return V6Client;
40
+ }());
41
+ function generateClient() {
42
+ return new V6Client();
43
+ }
44
+ exports.generateClient = generateClient;
45
+ //# sourceMappingURL=v6.js.map
package/lib/v6.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v6.js","sourceRoot":"","sources":["../src/v6.ts"],"names":[],"mappings":";;;AAAA,2CAA0C;AAE1C,mCAAgE;AAahE;;GAEG;AACH;IAAA;IAgFA,CAAC;IA/EA,0BAAO,GAAP,UACC,OAAuB,EACvB,iBAA6C;QAE7C,IAAM,WAAW,GAChB,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;YAChC,CAAC,CAAC,eAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACtB,CAAC,CAAC,eAAK,CAAC,eAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAE1B,IAAA,qHAEL,EAFM,UAAiB,EAAjB,sCAEN,CAAC;QACM,IAAA,sCAAwB,CACS;QAEzC,IAAM,YAAY,GAAG,sCACjB,OAAO,KACV,KAAK,EAAE,eAAK,CAAC,WAAW,CAAC,GAClB,CAAC,CAAC,OAAO;QAEjB,QAAQ,aAAa,EAAE;YACtB,KAAK,OAAO;gBACX,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC;YACxE,KAAK,UAAU;gBACd,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC;YACzE,KAAK,cAAc;gBAClB,OAAO,IAAI,CAAC,SAAS,CACpB,YAAY,CAAC,KAAK,EAClB,YAAY,EACZ,iBAAiB,CACjB,CAAC;YACH;gBACC,MAAM,IAAI,KAAK,CAAC,6BAA2B,aAAe,CAAC,CAAC;SAC7D;IACF,CAAC;IAED,wBAAK,GAAL,UACC,QAA0B,EAC1B,WAAkE,EAClE,iBAA6C;QAE7C,OAAO,uBAAU,CAAC,OAAO,uCAEnB,CAAC,WAAW,IAAI,EAAE,CAAS,KAC/B,KAAK,EAAE,QAAQ,KAEhB,iBAAiB,CACgD,CAAC;IACpE,CAAC;IAED,yBAAM,GAAN,UACC,QAA0B,EAC1B,WAAqE,EACrE,iBAA6C;QAE7C,OAAO,uBAAU,CAAC,OAAO,uCAEnB,CAAC,WAAW,IAAI,EAAE,CAAS,KAC/B,KAAK,EAAE,QAAQ,KAEhB,iBAAiB,CACmD,CAAC;IACvE,CAAC;IAED,4BAAS,GAAT,UACC,QAA0B,EAC1B,WAAyE,EACzE,iBAA6C;QAE7C,OAAO,uBAAU,CAAC,OAAO,uCAEnB,CAAC,WAAW,IAAI,EAAE,CAAS,KAC/B,KAAK,EAAE,QAAQ,KAEhB,iBAAiB,CAGjB,CAAC;IACH,CAAC;IACF,eAAC;AAAD,CAAC,AAhFD,IAgFC;AAED,SAAgB,cAAc;IAC7B,OAAO,IAAI,QAAQ,EAAE,CAAC;AACvB,CAAC;AAFD,wCAEC"}
@@ -0,0 +1,19 @@
1
+ import { Observable } from 'zen-observable-ts';
2
+ /**
3
+ * `GraphQLOptions` currently includes `{ query: string | DocumentNode, ... }`, but I'm thinking
4
+ * we swap that for `query: string` or `query: string | T extends Whatever`.
5
+ */
6
+ import { GraphQLOptions } from './types';
7
+ import { GraphQLResult, GraphqlQueryParams, GraphqlQueryResult, GraphqlMutationParams, GraphqlMutationResult, GraphqlSubscriptionParams, GraphqlSubscriptionResult } from './types/facade-iterable-paging';
8
+ export declare function graphql<T = any>(options: GraphQLOptions, additionalHeaders?: {
9
+ [key: string]: string;
10
+ }): Observable<GraphqlSubscriptionResult<'', T>> | Promise<GraphQLResult<T>>;
11
+ export declare function query<FALLBACK_TYPES = unknown, TYPED_GQL_STRING extends string = string>(document: TYPED_GQL_STRING, queryParams?: GraphqlQueryParams<TYPED_GQL_STRING, FALLBACK_TYPES>, additionalHeaders?: {
12
+ [key: string]: string;
13
+ }): Promise<GraphqlQueryResult<TYPED_GQL_STRING, FALLBACK_TYPES>>;
14
+ export declare function mutate<FALLBACK_TYPES = unknown, TYPED_GQL_STRING extends string = string>(document: TYPED_GQL_STRING, queryParams?: GraphqlMutationParams<TYPED_GQL_STRING, FALLBACK_TYPES>, additionalHeaders?: {
15
+ [key: string]: string;
16
+ }): Promise<GraphqlMutationResult<TYPED_GQL_STRING, FALLBACK_TYPES>>;
17
+ export declare function subscribe<FALLBACK_TYPES = unknown, TYPED_GQL_STRING extends string = string>(document: TYPED_GQL_STRING, queryParams?: GraphqlSubscriptionParams<TYPED_GQL_STRING, FALLBACK_TYPES>, additionalHeaders?: {
18
+ [key: string]: string;
19
+ }): Observable<GraphqlSubscriptionResult<TYPED_GQL_STRING, FALLBACK_TYPES>>;
@@ -0,0 +1,109 @@
1
+ import { __assign, __asyncGenerator, __await, __generator, __read, __values } from "tslib";
2
+ import { GraphQLAPI } from './GraphQLAPI';
3
+ import { parse, print } from 'graphql';
4
+ export function graphql(options, additionalHeaders) {
5
+ var parsedQuery = typeof options.query === 'string'
6
+ ? parse(options.query)
7
+ : parse(print(options.query));
8
+ var _a = __read(parsedQuery.definitions.filter(function (def) { return def.kind === 'OperationDefinition'; }), 1), _b = _a[0], operationDef = _b === void 0 ? {} : _b;
9
+ var operationType = operationDef.operation;
10
+ var childOptions = __assign(__assign({}, options), { query: print(parsedQuery) });
11
+ switch (operationType) {
12
+ case 'query':
13
+ return query(childOptions.query, childOptions, additionalHeaders);
14
+ case 'mutation':
15
+ return mutate(childOptions.query, childOptions, additionalHeaders);
16
+ case 'subscription':
17
+ return subscribe(childOptions.query, childOptions, additionalHeaders);
18
+ default:
19
+ throw new Error("invalid operation type: " + operationType);
20
+ }
21
+ }
22
+ export function query(document, queryParams, additionalHeaders) {
23
+ return GraphQLAPI.graphql(__assign(__assign({}, (queryParams || {})), { query: document }), additionalHeaders).then(function (raw) {
24
+ var _a;
25
+ var responseKey = raw.data ? Object.keys(raw.data)[0] : undefined;
26
+ if (responseKey) {
27
+ if (Array.isArray((_a = raw.data[responseKey]) === null || _a === void 0 ? void 0 : _a.items)) {
28
+ return {
29
+ data: (function _() {
30
+ var _a;
31
+ return __asyncGenerator(this, arguments, function _1() {
32
+ var _a, _b, item, e_1_1;
33
+ var e_1, _c;
34
+ return __generator(this, function (_d) {
35
+ switch (_d.label) {
36
+ case 0:
37
+ _d.trys.push([0, 6, 7, 8]);
38
+ _a = __values((_a = raw.data[responseKey]) === null || _a === void 0 ? void 0 : _a.items), _b = _a.next();
39
+ _d.label = 1;
40
+ case 1:
41
+ if (!!_b.done) return [3 /*break*/, 5];
42
+ item = _b.value;
43
+ return [4 /*yield*/, __await(item)];
44
+ case 2: return [4 /*yield*/, _d.sent()];
45
+ case 3:
46
+ _d.sent();
47
+ _d.label = 4;
48
+ case 4:
49
+ _b = _a.next();
50
+ return [3 /*break*/, 1];
51
+ case 5: return [3 /*break*/, 8];
52
+ case 6:
53
+ e_1_1 = _d.sent();
54
+ e_1 = { error: e_1_1 };
55
+ return [3 /*break*/, 8];
56
+ case 7:
57
+ try {
58
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
59
+ }
60
+ finally { if (e_1) throw e_1.error; }
61
+ return [7 /*endfinally*/];
62
+ case 8: return [2 /*return*/];
63
+ }
64
+ });
65
+ });
66
+ })(),
67
+ errors: raw.errors,
68
+ };
69
+ }
70
+ else {
71
+ return {
72
+ data: raw.data[responseKey],
73
+ errors: raw.errors,
74
+ };
75
+ }
76
+ }
77
+ else {
78
+ return raw;
79
+ }
80
+ });
81
+ }
82
+ export function mutate(document, queryParams, additionalHeaders) {
83
+ return GraphQLAPI.graphql(__assign(__assign({}, (queryParams || {})), { query: document }), additionalHeaders).then(function (raw) {
84
+ var responseKey = raw.data ? Object.keys(raw.data)[0] : undefined;
85
+ if (responseKey) {
86
+ return {
87
+ data: raw.data[responseKey],
88
+ errors: raw.errors,
89
+ };
90
+ }
91
+ else {
92
+ return raw;
93
+ }
94
+ });
95
+ }
96
+ export function subscribe(document, queryParams, additionalHeaders) {
97
+ return GraphQLAPI.graphql(__assign(__assign({}, (queryParams || {})), { query: document }), additionalHeaders).map(function (raw) {
98
+ var messageKey = raw.value.data
99
+ ? Object.keys(raw.value.data)[0]
100
+ : undefined;
101
+ return {
102
+ value: {
103
+ data: messageKey ? raw.value.data[messageKey] : undefined,
104
+ provider: raw.provider,
105
+ },
106
+ };
107
+ });
108
+ }
109
+ //# sourceMappingURL=facade-iterable-paging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"facade-iterable-paging.js","sourceRoot":"","sources":["../src/facade-iterable-paging.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { Observable } from 'zen-observable-ts';
2
+ /**
3
+ * `GraphQLOptions` currently includes `{ query: string | DocumentNode, ... }`, but I'm thinking
4
+ * we swap that for `query: string` or `query: string | T extends Whatever`.
5
+ */
6
+ import { GraphQLOptions } from './types';
7
+ import { GraphQLResult, GraphqlQueryParams, GraphqlQueryResult, GraphqlMutationParams, GraphqlMutationResult, GraphqlSubscriptionParams, GraphqlSubscriptionResult } from './types/facade-light-flattening';
8
+ export declare function graphql<T = any>(options: GraphQLOptions, additionalHeaders?: {
9
+ [key: string]: string;
10
+ }): Observable<GraphqlSubscriptionResult<'', T>> | Promise<GraphQLResult<T>>;
11
+ export declare function query<FALLBACK_TYPES = unknown, TYPED_GQL_STRING extends string = string>(document: TYPED_GQL_STRING, queryParams?: GraphqlQueryParams<TYPED_GQL_STRING, FALLBACK_TYPES>, additionalHeaders?: {
12
+ [key: string]: string;
13
+ }): Promise<GraphqlQueryResult<TYPED_GQL_STRING, FALLBACK_TYPES>>;
14
+ export declare function mutate<FALLBACK_TYPES = unknown, TYPED_GQL_STRING extends string = string>(document: TYPED_GQL_STRING, queryParams?: GraphqlMutationParams<TYPED_GQL_STRING, FALLBACK_TYPES>, additionalHeaders?: {
15
+ [key: string]: string;
16
+ }): Promise<GraphqlMutationResult<TYPED_GQL_STRING, FALLBACK_TYPES>>;
17
+ export declare function subscribe<FALLBACK_TYPES = unknown, TYPED_GQL_STRING extends string = string>(document: TYPED_GQL_STRING, queryParams?: GraphqlSubscriptionParams<TYPED_GQL_STRING, FALLBACK_TYPES>, additionalHeaders?: {
18
+ [key: string]: string;
19
+ }): Observable<GraphqlSubscriptionResult<TYPED_GQL_STRING, FALLBACK_TYPES>>;
@@ -0,0 +1,63 @@
1
+ import { __assign, __read } from "tslib";
2
+ import { GraphQLAPI } from './GraphQLAPI';
3
+ import { parse, print } from 'graphql';
4
+ export function graphql(options, additionalHeaders) {
5
+ var parsedQuery = typeof options.query === 'string'
6
+ ? parse(options.query)
7
+ : parse(print(options.query));
8
+ var _a = __read(parsedQuery.definitions.filter(function (def) { return def.kind === 'OperationDefinition'; }), 1), _b = _a[0], operationDef = _b === void 0 ? {} : _b;
9
+ var operationType = operationDef.operation;
10
+ var childOptions = __assign(__assign({}, options), { query: print(parsedQuery) });
11
+ switch (operationType) {
12
+ case 'query':
13
+ return query(childOptions.query, childOptions, additionalHeaders);
14
+ case 'mutation':
15
+ return mutate(childOptions.query, childOptions, additionalHeaders);
16
+ case 'subscription':
17
+ return subscribe(childOptions.query, childOptions, additionalHeaders);
18
+ default:
19
+ throw new Error("invalid operation type: " + operationType);
20
+ }
21
+ }
22
+ export function query(document, queryParams, additionalHeaders) {
23
+ return GraphQLAPI.graphql(__assign(__assign({}, (queryParams || {})), { query: document }), additionalHeaders).then(function (raw) {
24
+ var responseKey = raw.data ? Object.keys(raw.data)[0] : undefined;
25
+ if (responseKey) {
26
+ return {
27
+ data: raw.data[responseKey],
28
+ errors: raw.errors,
29
+ };
30
+ }
31
+ else {
32
+ return raw;
33
+ }
34
+ });
35
+ }
36
+ export function mutate(document, queryParams, additionalHeaders) {
37
+ return GraphQLAPI.graphql(__assign(__assign({}, (queryParams || {})), { query: document }), additionalHeaders).then(function (raw) {
38
+ var responseKey = raw.data ? Object.keys(raw.data)[0] : undefined;
39
+ if (responseKey) {
40
+ return {
41
+ data: raw.data[responseKey],
42
+ errors: raw.errors,
43
+ };
44
+ }
45
+ else {
46
+ return raw;
47
+ }
48
+ });
49
+ }
50
+ export function subscribe(document, queryParams, additionalHeaders) {
51
+ return GraphQLAPI.graphql(__assign(__assign({}, (queryParams || {})), { query: document }), additionalHeaders).map(function (raw) {
52
+ var messageKey = raw.value.data
53
+ ? Object.keys(raw.value.data)[0]
54
+ : undefined;
55
+ return {
56
+ value: {
57
+ data: messageKey ? raw.value.data[messageKey] : undefined,
58
+ provider: raw.provider,
59
+ },
60
+ };
61
+ });
62
+ }
63
+ //# sourceMappingURL=facade-light-flattening.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"facade-light-flattening.js","sourceRoot":"","sources":["../src/facade-light-flattening.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { Observable } from 'zen-observable-ts';
2
+ /**
3
+ * `GraphQLOptions` currently includes `{ query: string | DocumentNode, ... }`, but I'm thinking
4
+ * we swap that for `query: string` or `query: string | T extends Whatever`.
5
+ */
6
+ import { GraphQLOptions, GraphQLResult } from './types';
7
+ import { GraphqlQueryParams, GraphqlQueryResult, GraphqlMutationParams, GraphqlMutationResult, GraphqlSubscriptionParams, GraphqlSubscriptionResult } from './types/facade-no-flattening';
8
+ export declare function graphql<T = any>(options: GraphQLOptions, additionalHeaders?: {
9
+ [key: string]: string;
10
+ }): Observable<GraphqlSubscriptionResult<'', T>> | Promise<GraphQLResult<T>>;
11
+ export declare function query<FALLBACK_TYPES = unknown, TYPED_GQL_STRING extends string = string>(document: TYPED_GQL_STRING, queryParams?: GraphqlQueryParams<TYPED_GQL_STRING, FALLBACK_TYPES>, additionalHeaders?: {
12
+ [key: string]: string;
13
+ }): Promise<GraphqlQueryResult<TYPED_GQL_STRING, FALLBACK_TYPES>>;
14
+ export declare function mutate<FALLBACK_TYPES = unknown, TYPED_GQL_STRING extends string = string>(document: TYPED_GQL_STRING, queryParams?: GraphqlMutationParams<TYPED_GQL_STRING, FALLBACK_TYPES>, additionalHeaders?: {
15
+ [key: string]: string;
16
+ }): Promise<GraphqlMutationResult<TYPED_GQL_STRING, FALLBACK_TYPES>>;
17
+ export declare function subscribe<FALLBACK_TYPES = unknown, TYPED_GQL_STRING extends string = string>(document: TYPED_GQL_STRING, queryParams?: GraphqlSubscriptionParams<TYPED_GQL_STRING, FALLBACK_TYPES>, additionalHeaders?: {
18
+ [key: string]: string;
19
+ }): Observable<GraphqlSubscriptionResult<TYPED_GQL_STRING, FALLBACK_TYPES>>;
@@ -0,0 +1,31 @@
1
+ import { __assign, __read } from "tslib";
2
+ import { GraphQLAPI } from './GraphQLAPI';
3
+ import { parse, print } from 'graphql';
4
+ export function graphql(options, additionalHeaders) {
5
+ var parsedQuery = typeof options.query === 'string'
6
+ ? parse(options.query)
7
+ : parse(print(options.query));
8
+ var _a = __read(parsedQuery.definitions.filter(function (def) { return def.kind === 'OperationDefinition'; }), 1), _b = _a[0], operationDef = _b === void 0 ? {} : _b;
9
+ var operationType = operationDef.operation;
10
+ var childOptions = __assign(__assign({}, options), { query: print(parsedQuery) }); // todo
11
+ switch (operationType) {
12
+ case 'query':
13
+ return query(childOptions.query, childOptions, additionalHeaders);
14
+ case 'mutation':
15
+ return mutate(childOptions.query, childOptions, additionalHeaders);
16
+ case 'subscription':
17
+ return subscribe(childOptions.query, childOptions, additionalHeaders);
18
+ default:
19
+ throw new Error("invalid operation type: " + operationType);
20
+ }
21
+ }
22
+ export function query(document, queryParams, additionalHeaders) {
23
+ return GraphQLAPI.graphql(__assign(__assign({}, (queryParams || {})), { query: document }), additionalHeaders);
24
+ }
25
+ export function mutate(document, queryParams, additionalHeaders) {
26
+ return GraphQLAPI.graphql(__assign(__assign({}, (queryParams || {})), { query: document }), additionalHeaders);
27
+ }
28
+ export function subscribe(document, queryParams, additionalHeaders) {
29
+ return GraphQLAPI.graphql(__assign(__assign({}, (queryParams || {})), { query: document }), additionalHeaders);
30
+ }
31
+ //# sourceMappingURL=facade-no-flattening.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"facade-no-flattening.js","sourceRoot":"","sources":["../src/facade-no-flattening.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,KAAK,EAA2B,MAAM,SAAS,CAAC;AAiBhE,MAAM,UAAU,OAAO,CACtB,OAAuB,EACvB,iBAA6C;IAE7C,IAAM,WAAW,GAChB,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;QAChC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACtB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAE1B,IAAA,6GAEL,EAFM,UAAiB,EAAjB,sCAEN,CAAC;IACM,IAAA,sCAAwB,CAA6C;IAE7E,IAAM,YAAY,GAAG,sBACjB,OAAO,KACV,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,GAClB,CAAC,CAAC,OAAO;IAEjB,QAAQ,aAAa,EAAE;QACtB,KAAK,OAAO;YACX,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC;QACnE,KAAK,UAAU;YACd,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC;QACpE,KAAK,cAAc;YAClB,OAAO,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC;QACvE;YACC,MAAM,IAAI,KAAK,CAAC,6BAA2B,aAAe,CAAC,CAAC;KAC7D;AACF,CAAC;AAED,MAAM,UAAU,KAAK,CAIpB,QAA0B,EAC1B,WAAkE,EAClE,iBAA6C;IAE7C,OAAO,UAAU,CAAC,OAAO,uBAEnB,CAAC,WAAW,IAAI,EAAE,CAAS,KAC/B,KAAK,EAAE,QAAQ,KAEhB,iBAAiB,CACgD,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,MAAM,CAIrB,QAA0B,EAC1B,WAAqE,EACrE,iBAA6C;IAE7C,OAAO,UAAU,CAAC,OAAO,uBAEnB,CAAC,WAAW,IAAI,EAAE,CAAS,KAC/B,KAAK,EAAE,QAAQ,KAEhB,iBAAiB,CACmD,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,SAAS,CAIxB,QAA0B,EAC1B,WAAyE,EACzE,iBAA6C;IAE7C,OAAO,UAAU,CAAC,OAAO,uBAEnB,CAAC,WAAW,IAAI,EAAE,CAAS,KAC/B,KAAK,EAAE,QAAQ,KAEhB,iBAAiB,CAC0D,CAAC;AAC9E,CAAC"}
@@ -0,0 +1,106 @@
1
+ import { GraphQLError } from 'graphql';
2
+ /**
3
+ * Digs down a layer into an object to extract a union of all the property
4
+ * types.
5
+ *
6
+ * ```
7
+ * type T = Dig<{ x: { a: string, b: number }, y: { c: boolean } }>;
8
+ * ^
9
+ * {
10
+ * a: string;
11
+ * b: number;
12
+ * } | {
13
+ * c: boolean;
14
+ * }
15
+ * ```
16
+ *
17
+ * This is particularly useful for extracting the type when a single property
18
+ * exists on an object and we just want to "skip" it or "dig it out".
19
+ *
20
+ * ```
21
+ * type T = Dig<{x: { a: string, b: number }}>;
22
+ * ^
23
+ * {
24
+ * a: string;
25
+ * b: number;
26
+ * }
27
+ * ```
28
+ *
29
+ */
30
+ declare type Dig<T> = T[keyof T];
31
+ declare type Iterated<T> = T extends Array<infer IT> ? AsyncGenerator<Exclude<IT, null>> : T;
32
+ declare type WithIterablesInsteadOfArrays<T> = T extends {
33
+ items: infer IT;
34
+ } ? Iterated<IT> : T;
35
+ export declare type GraphQLResult<T = object> = {
36
+ data: WithIterablesInsteadOfArrays<Dig<T>>;
37
+ errors?: GraphQLError[];
38
+ extensions?: {
39
+ [key: string]: any;
40
+ };
41
+ };
42
+ declare type UnionKeys<T> = T extends T ? keyof T : never;
43
+ declare type StrictUnionHelper<T, TAll> = T extends any ? T & Partial<Record<Exclude<UnionKeys<TAll>, keyof T>, undefined>> : never;
44
+ export declare type StrictUnion<T> = StrictUnionHelper<T, T>;
45
+ export declare type SimpleAuthMode = {
46
+ authMode?: 'AMAZON_COGNITO_USERPOOLS' | 'API_KEY' | 'AWS_IAM';
47
+ };
48
+ export declare type LambdaAuthMode = {
49
+ authMode: 'AWS_LAMBDA';
50
+ authToken: string;
51
+ };
52
+ export declare type AuthMode = StrictUnion<SimpleAuthMode | LambdaAuthMode>;
53
+ export declare type GeneratedQuery<InputType, OutputType> = string & {
54
+ __generatedQueryInput: InputType;
55
+ __generatedQueryOutput: OutputType;
56
+ };
57
+ export declare type GraphqlQueryOverrides<IN extends {}, OUT extends {}> = {
58
+ variables: IN;
59
+ result: OUT;
60
+ };
61
+ export declare type GraphqlQueryParams<TYPED_GQL_STRING extends string, FALLBACK_TYPES> = AuthMode & {
62
+ variables: TYPED_GQL_STRING extends GeneratedQuery<infer IN, infer OUT> ? IN : FALLBACK_TYPES extends GraphqlQueryOverrides<infer IN, infer OUT> ? IN : any;
63
+ };
64
+ export declare type GraphqlQueryResult<T extends string, S> = T extends GeneratedQuery<infer IN, infer OUT> ? GraphQLResult<OUT> : S extends GraphqlQueryOverrides<infer IN, infer OUT> ? GraphQLResult<OUT> : any;
65
+ export declare type ListThreadsQuery = {
66
+ listThreads?: {
67
+ __typename: 'ModelThreadConnection';
68
+ items: Array<{
69
+ __typename: 'Thread';
70
+ id: string;
71
+ topic?: string | null;
72
+ comments?: {
73
+ __typename: 'ModelCommentConnection';
74
+ nextToken?: string | null;
75
+ } | null;
76
+ createdAt?: string | null;
77
+ updatedAt: string;
78
+ owner?: string | null;
79
+ } | null>;
80
+ nextToken?: string | null;
81
+ } | null;
82
+ };
83
+ /** GraphQL mutate */
84
+ export declare type GeneratedMutation<InputType, OutputType> = string & {
85
+ __generatedMutationInput: InputType;
86
+ __generatedMutationOutput: OutputType;
87
+ };
88
+ export declare type GraphqlMutationParams<TYPED_GQL_STRING extends string, OVERRIDE_TYPE> = AuthMode & {
89
+ variables: TYPED_GQL_STRING extends GeneratedMutation<infer IN, infer OUT> ? IN : OVERRIDE_TYPE extends GraphqlQueryOverrides<infer OVERRIDE_IN, infer OUT> ? OVERRIDE_IN : any;
90
+ };
91
+ export declare type GraphqlMutationResult<TYPED_GQL_STRING extends string, FALLBACK_TYPES> = TYPED_GQL_STRING extends GeneratedMutation<infer IN, infer OUT> ? GraphQLResult<OUT> : FALLBACK_TYPES extends GraphqlQueryOverrides<infer IN, infer OUT> ? GraphQLResult<OUT> : any;
92
+ /** GraphQL subscribe */
93
+ export declare type GeneratedSubscription<InputType, OutputType> = string & {
94
+ __generatedSubscriptionInput: InputType;
95
+ __generatedSubscriptionOutput: OutputType;
96
+ };
97
+ export declare type GraphqlSubscriptionParams<TYPED_GQL_STRING extends string, FALLBACK_TYPES> = AuthMode & {
98
+ variables: TYPED_GQL_STRING extends GeneratedSubscription<infer IN, infer OUT> ? IN : FALLBACK_TYPES extends GraphqlQueryOverrides<infer IN, infer OUT> ? IN : any;
99
+ };
100
+ export declare type GraphqlSubscriptionResult<TYPED_GQL_STRING extends string, FALLBACK_TYPES> = {
101
+ value: {
102
+ data: TYPED_GQL_STRING extends GeneratedSubscription<infer IN, infer OUT> ? Dig<OUT> : FALLBACK_TYPES extends GraphqlQueryOverrides<infer IN, infer OUT> ? Dig<OUT> : any;
103
+ };
104
+ provider: any;
105
+ };
106
+ export {};
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=facade-iterable-paging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"facade-iterable-paging.js","sourceRoot":"","sources":["../../src/types/facade-iterable-paging.ts"],"names":[],"mappings":""}
@@ -0,0 +1,84 @@
1
+ import { GraphQLError } from 'graphql';
2
+ /**
3
+ * Digs down a layer into an object to extract a union of all the property
4
+ * types.
5
+ *
6
+ * ```
7
+ * type T = Dig<{ x: { a: string, b: number }, y: { c: boolean } }>;
8
+ * ^
9
+ * {
10
+ * a: string;
11
+ * b: number;
12
+ * } | {
13
+ * c: boolean;
14
+ * }
15
+ * ```
16
+ *
17
+ * This is particularly useful for extracting the type when a single property
18
+ * exists on an object and we just want to "skip" it or "dig it out".
19
+ *
20
+ * ```
21
+ * type T = Dig<{x: { a: string, b: number }}>;
22
+ * ^
23
+ * {
24
+ * a: string;
25
+ * b: number;
26
+ * }
27
+ * ```
28
+ *
29
+ */
30
+ declare type Dig<T> = T[keyof T];
31
+ export declare type GraphQLResult<T = object> = {
32
+ data: Dig<T>;
33
+ errors?: GraphQLError[];
34
+ extensions?: {
35
+ [key: string]: any;
36
+ };
37
+ };
38
+ declare type UnionKeys<T> = T extends T ? keyof T : never;
39
+ declare type StrictUnionHelper<T, TAll> = T extends any ? T & Partial<Record<Exclude<UnionKeys<TAll>, keyof T>, undefined>> : never;
40
+ export declare type StrictUnion<T> = StrictUnionHelper<T, T>;
41
+ export declare type SimpleAuthMode = {
42
+ authMode?: 'AMAZON_COGNITO_USERPOOLS' | 'API_KEY' | 'AWS_IAM';
43
+ };
44
+ export declare type LambdaAuthMode = {
45
+ authMode: 'AWS_LAMBDA';
46
+ authToken: string;
47
+ };
48
+ export declare type AuthMode = StrictUnion<SimpleAuthMode | LambdaAuthMode>;
49
+ export declare type GeneratedQuery<InputType, OutputType> = string & {
50
+ __generatedQueryInput: InputType;
51
+ __generatedQueryOutput: OutputType;
52
+ };
53
+ export declare type GraphqlQueryOverrides<IN extends {}, OUT extends {}> = {
54
+ variables: IN;
55
+ result: OUT;
56
+ };
57
+ export declare type GraphqlQueryParams<TYPED_GQL_STRING extends string, FALLBACK_TYPES> = AuthMode & {
58
+ variables: TYPED_GQL_STRING extends GeneratedQuery<infer IN, infer OUT> ? IN : FALLBACK_TYPES extends GraphqlQueryOverrides<infer IN, infer OUT> ? IN : any;
59
+ };
60
+ export declare type GraphqlQueryResult<T extends string, S> = T extends GeneratedQuery<infer IN, infer OUT> ? GraphQLResult<OUT> : S extends GraphqlQueryOverrides<infer IN, infer OUT> ? GraphQLResult<OUT> : any;
61
+ /** GraphQL mutate */
62
+ export declare type GeneratedMutation<InputType, OutputType> = string & {
63
+ __generatedMutationInput: InputType;
64
+ __generatedMutationOutput: OutputType;
65
+ };
66
+ export declare type GraphqlMutationParams<TYPED_GQL_STRING extends string, OVERRIDE_TYPE> = AuthMode & {
67
+ variables: TYPED_GQL_STRING extends GeneratedMutation<infer IN, infer OUT> ? IN : OVERRIDE_TYPE extends GraphqlQueryOverrides<infer OVERRIDE_IN, infer OUT> ? OVERRIDE_IN : any;
68
+ };
69
+ export declare type GraphqlMutationResult<TYPED_GQL_STRING extends string, FALLBACK_TYPES> = TYPED_GQL_STRING extends GeneratedMutation<infer IN, infer OUT> ? GraphQLResult<OUT> : FALLBACK_TYPES extends GraphqlQueryOverrides<infer IN, infer OUT> ? GraphQLResult<OUT> : any;
70
+ /** GraphQL subscribe */
71
+ export declare type GeneratedSubscription<InputType, OutputType> = string & {
72
+ __generatedSubscriptionInput: InputType;
73
+ __generatedSubscriptionOutput: OutputType;
74
+ };
75
+ export declare type GraphqlSubscriptionParams<TYPED_GQL_STRING extends string, FALLBACK_TYPES> = AuthMode & {
76
+ variables: TYPED_GQL_STRING extends GeneratedSubscription<infer IN, infer OUT> ? IN : FALLBACK_TYPES extends GraphqlQueryOverrides<infer IN, infer OUT> ? IN : any;
77
+ };
78
+ export declare type GraphqlSubscriptionResult<TYPED_GQL_STRING extends string, FALLBACK_TYPES> = {
79
+ value: {
80
+ data: TYPED_GQL_STRING extends GeneratedSubscription<infer IN, infer OUT> ? Dig<OUT> : FALLBACK_TYPES extends GraphqlQueryOverrides<infer IN, infer OUT> ? Dig<OUT> : any;
81
+ };
82
+ provider: any;
83
+ };
84
+ export {};
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=facade-light-flattening.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"facade-light-flattening.js","sourceRoot":"","sources":["../../src/types/facade-light-flattening.ts"],"names":[],"mappings":""}
@@ -0,0 +1,48 @@
1
+ import { GraphQLResult } from './index';
2
+ declare type UnionKeys<T> = T extends T ? keyof T : never;
3
+ declare type StrictUnionHelper<T, TAll> = T extends any ? T & Partial<Record<Exclude<UnionKeys<TAll>, keyof T>, undefined>> : never;
4
+ export declare type StrictUnion<T> = StrictUnionHelper<T, T>;
5
+ export declare type SimpleAuthMode = {
6
+ authMode?: 'AMAZON_COGNITO_USERPOOLS' | 'API_KEY' | 'AWS_IAM';
7
+ };
8
+ export declare type LambdaAuthMode = {
9
+ authMode: 'AWS_LAMBDA';
10
+ authToken: string;
11
+ };
12
+ export declare type AuthMode = StrictUnion<SimpleAuthMode | LambdaAuthMode>;
13
+ export declare type GeneratedQuery<InputType, OutputType> = string & {
14
+ __generatedQueryInput: InputType;
15
+ __generatedQueryOutput: OutputType;
16
+ };
17
+ export declare type GraphqlQueryOverrides<IN extends {}, OUT extends {}> = {
18
+ variables: IN;
19
+ result: OUT;
20
+ };
21
+ export declare type GraphqlQueryParams<TYPED_GQL_STRING extends string, FALLBACK_TYPES> = AuthMode & {
22
+ variables: TYPED_GQL_STRING extends GeneratedQuery<infer IN, infer OUT> ? IN : FALLBACK_TYPES extends GraphqlQueryOverrides<infer IN, infer OUT> ? IN : any;
23
+ };
24
+ export declare type GraphqlQueryResult<T extends string, S> = T extends GeneratedQuery<infer IN, infer OUT> ? GraphQLResult<OUT> : S extends GraphqlQueryOverrides<infer IN, infer OUT> ? GraphQLResult<OUT> : any;
25
+ /** GraphQL mutate */
26
+ export declare type GeneratedMutation<InputType, OutputType> = string & {
27
+ __generatedMutationInput: InputType;
28
+ __generatedMutationOutput: OutputType;
29
+ };
30
+ export declare type GraphqlMutationParams<TYPED_GQL_STRING extends string, OVERRIDE_TYPE> = AuthMode & {
31
+ variables: TYPED_GQL_STRING extends GeneratedMutation<infer IN, infer OUT> ? IN : OVERRIDE_TYPE extends GraphqlQueryOverrides<infer OVERRIDE_IN, infer OUT> ? OVERRIDE_IN : any;
32
+ };
33
+ export declare type GraphqlMutationResult<TYPED_GQL_STRING extends string, FALLBACK_TYPES> = TYPED_GQL_STRING extends GeneratedMutation<infer IN, infer OUT> ? GraphQLResult<OUT> : FALLBACK_TYPES extends GraphqlQueryOverrides<infer IN, infer OUT> ? GraphQLResult<OUT> : any;
34
+ /** GraphQL subscribe */
35
+ export declare type GeneratedSubscription<InputType, OutputType> = string & {
36
+ __generatedSubscriptionInput: InputType;
37
+ __generatedSubscriptionOutput: OutputType;
38
+ };
39
+ export declare type GraphqlSubscriptionParams<TYPED_GQL_STRING extends string, FALLBACK_TYPES> = AuthMode & {
40
+ variables: TYPED_GQL_STRING extends GeneratedSubscription<infer IN, infer OUT> ? IN : FALLBACK_TYPES extends GraphqlQueryOverrides<infer IN, infer OUT> ? IN : any;
41
+ };
42
+ export declare type GraphqlSubscriptionResult<TYPED_GQL_STRING extends string, FALLBACK_TYPES> = {
43
+ provider: any;
44
+ value: {
45
+ data: TYPED_GQL_STRING extends GeneratedSubscription<infer IN, infer OUT> ? OUT : FALLBACK_TYPES extends GraphqlQueryOverrides<infer IN, infer OUT> ? OUT : any;
46
+ };
47
+ };
48
+ export {};
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=facade-no-flattening.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"facade-no-flattening.js","sourceRoot":"","sources":["../../src/types/facade-no-flattening.ts"],"names":[],"mappings":""}