@aws-amplify/api-graphql 3.4.4-graphql-api-functional-options.1 → 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.
- package/lib/types/v6.d.ts +48 -0
- package/lib/types/v6.js +3 -0
- package/lib/types/v6.js.map +1 -0
- package/lib/v6.d.ts +22 -0
- package/lib/v6.js +45 -0
- package/lib/v6.js.map +1 -0
- package/lib-esm/types/v6.d.ts +48 -0
- package/lib-esm/types/v6.js +1 -0
- package/lib-esm/types/v6.js.map +1 -0
- package/lib-esm/v6.d.ts +22 -0
- package/lib-esm/v6.js +42 -0
- package/lib-esm/v6.js.map +1 -0
- package/package.json +7 -7
- package/src/types/v6.ts +110 -0
- package/src/v6.ts +103 -0
|
@@ -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 {};
|
package/lib/types/v6.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v6.js","sourceRoot":"","sources":["../../src/types/v6.ts"],"names":[],"mappings":""}
|
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,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=v6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v6.js","sourceRoot":"","sources":["../../src/types/v6.ts"],"names":[],"mappings":""}
|
package/lib-esm/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-esm/v6.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { __assign, __read } from "tslib";
|
|
2
|
+
import { GraphQLAPI } from './GraphQLAPI';
|
|
3
|
+
import { parse, print } from 'graphql';
|
|
4
|
+
/**
|
|
5
|
+
* The proposed interface additions to the TypeBeast
|
|
6
|
+
*/
|
|
7
|
+
var V6Client = /** @class */ (function () {
|
|
8
|
+
function V6Client() {
|
|
9
|
+
}
|
|
10
|
+
V6Client.prototype.graphql = function (options, additionalHeaders) {
|
|
11
|
+
var parsedQuery = typeof options.query === 'string'
|
|
12
|
+
? parse(options.query)
|
|
13
|
+
: parse(print(options.query));
|
|
14
|
+
var _a = __read(parsedQuery.definitions.filter(function (def) { return def.kind === 'OperationDefinition'; }), 1), _b = _a[0], operationDef = _b === void 0 ? {} : _b;
|
|
15
|
+
var operationType = operationDef.operation;
|
|
16
|
+
var childOptions = __assign(__assign({}, options), { query: print(parsedQuery) }); // todo
|
|
17
|
+
switch (operationType) {
|
|
18
|
+
case 'query':
|
|
19
|
+
return this.query(childOptions.query, childOptions, additionalHeaders);
|
|
20
|
+
case 'mutation':
|
|
21
|
+
return this.mutate(childOptions.query, childOptions, additionalHeaders);
|
|
22
|
+
case 'subscription':
|
|
23
|
+
return this.subscribe(childOptions.query, childOptions, additionalHeaders);
|
|
24
|
+
default:
|
|
25
|
+
throw new Error("invalid operation type: " + operationType);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
V6Client.prototype.query = function (document, queryParams, additionalHeaders) {
|
|
29
|
+
return GraphQLAPI.graphql(__assign(__assign({}, (queryParams || {})), { query: document }), additionalHeaders);
|
|
30
|
+
};
|
|
31
|
+
V6Client.prototype.mutate = function (document, queryParams, additionalHeaders) {
|
|
32
|
+
return GraphQLAPI.graphql(__assign(__assign({}, (queryParams || {})), { query: document }), additionalHeaders);
|
|
33
|
+
};
|
|
34
|
+
V6Client.prototype.subscribe = function (document, queryParams, additionalHeaders) {
|
|
35
|
+
return GraphQLAPI.graphql(__assign(__assign({}, (queryParams || {})), { query: document }), additionalHeaders);
|
|
36
|
+
};
|
|
37
|
+
return V6Client;
|
|
38
|
+
}());
|
|
39
|
+
export function generateClient() {
|
|
40
|
+
return new V6Client();
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=v6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v6.js","sourceRoot":"","sources":["../src/v6.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,KAAK,EAA2B,MAAM,SAAS,CAAC;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,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACtB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAE1B,IAAA,6GAEL,EAFM,UAAiB,EAAjB,sCAEN,CAAC;QACM,IAAA,sCAAwB,CACS;QAEzC,IAAM,YAAY,GAAG,sBACjB,OAAO,KACV,KAAK,EAAE,KAAK,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,UAAU,CAAC,OAAO,uBAEnB,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,UAAU,CAAC,OAAO,uBAEnB,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,UAAU,CAAC,OAAO,uBAEnB,CAAC,WAAW,IAAI,EAAE,CAAS,KAC/B,KAAK,EAAE,QAAQ,KAEhB,iBAAiB,CAGjB,CAAC;IACH,CAAC;IACF,eAAC;AAAD,CAAC,AAhFD,IAgFC;AAED,MAAM,UAAU,cAAc;IAC7B,OAAO,IAAI,QAAQ,EAAE,CAAC;AACvB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws-amplify/api-graphql",
|
|
3
|
-
"version": "3.4.4-graphql-api-functional-options.
|
|
3
|
+
"version": "3.4.4-graphql-api-functional-options.2+627f308ed",
|
|
4
4
|
"description": "Api-graphql category of aws-amplify",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"module": "./lib-esm/index.js",
|
|
@@ -50,11 +50,11 @@
|
|
|
50
50
|
"internals"
|
|
51
51
|
],
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@aws-amplify/api-rest": "3.3.3-graphql-api-functional-options.
|
|
54
|
-
"@aws-amplify/auth": "5.5.4-graphql-api-functional-options.
|
|
55
|
-
"@aws-amplify/cache": "5.1.4-graphql-api-functional-options.
|
|
56
|
-
"@aws-amplify/core": "5.5.3-graphql-api-functional-options.
|
|
57
|
-
"@aws-amplify/pubsub": "5.3.4-graphql-api-functional-options.
|
|
53
|
+
"@aws-amplify/api-rest": "3.3.3-graphql-api-functional-options.2+627f308ed",
|
|
54
|
+
"@aws-amplify/auth": "5.5.4-graphql-api-functional-options.2+627f308ed",
|
|
55
|
+
"@aws-amplify/cache": "5.1.4-graphql-api-functional-options.2+627f308ed",
|
|
56
|
+
"@aws-amplify/core": "5.5.3-graphql-api-functional-options.2+627f308ed",
|
|
57
|
+
"@aws-amplify/pubsub": "5.3.4-graphql-api-functional-options.2+627f308ed",
|
|
58
58
|
"graphql": "15.8.0",
|
|
59
59
|
"tslib": "^1.8.0",
|
|
60
60
|
"uuid": "^3.2.1",
|
|
@@ -115,5 +115,5 @@
|
|
|
115
115
|
"lib-esm"
|
|
116
116
|
]
|
|
117
117
|
},
|
|
118
|
-
"gitHead": "
|
|
118
|
+
"gitHead": "627f308ed709b6c0ab8ec750d7235f3e007a669a"
|
|
119
119
|
}
|
package/src/types/v6.ts
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { GraphQLResult } from './index';
|
|
2
|
+
|
|
3
|
+
// #region shared API types ... probably to be pulled from core or something later.
|
|
4
|
+
|
|
5
|
+
type UnionKeys<T> = T extends T ? keyof T : never;
|
|
6
|
+
type StrictUnionHelper<T, TAll> = T extends any
|
|
7
|
+
? T & Partial<Record<Exclude<UnionKeys<TAll>, keyof T>, undefined>>
|
|
8
|
+
: never;
|
|
9
|
+
export type StrictUnion<T> = StrictUnionHelper<T, T>;
|
|
10
|
+
export type SimpleAuthMode = {
|
|
11
|
+
authMode?: 'AMAZON_COGNITO_USERPOOLS' | 'API_KEY' | 'AWS_IAM';
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export type LambdaAuthMode = {
|
|
15
|
+
authMode: 'AWS_LAMBDA';
|
|
16
|
+
authToken: string;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export type AuthMode = StrictUnion<SimpleAuthMode | LambdaAuthMode>;
|
|
20
|
+
|
|
21
|
+
// #endregion
|
|
22
|
+
|
|
23
|
+
export type GeneratedQuery<InputType, OutputType> = string & {
|
|
24
|
+
__generatedQueryInput: InputType;
|
|
25
|
+
__generatedQueryOutput: OutputType;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export type GraphqlQueryOverrides<IN extends {}, OUT extends {}> = {
|
|
29
|
+
variables: IN;
|
|
30
|
+
result: OUT;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export type GraphqlQueryParams<
|
|
34
|
+
TYPED_GQL_STRING extends string,
|
|
35
|
+
FALLBACK_TYPES
|
|
36
|
+
> = AuthMode & {
|
|
37
|
+
variables: TYPED_GQL_STRING extends GeneratedQuery<infer IN, infer OUT>
|
|
38
|
+
? IN
|
|
39
|
+
: FALLBACK_TYPES extends GraphqlQueryOverrides<infer IN, infer OUT>
|
|
40
|
+
? IN
|
|
41
|
+
: any;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
export type GraphqlQueryResult<T extends string, S> = T extends GeneratedQuery<
|
|
45
|
+
infer IN,
|
|
46
|
+
infer OUT
|
|
47
|
+
>
|
|
48
|
+
? GraphQLResult<OUT>
|
|
49
|
+
: S extends GraphqlQueryOverrides<infer IN, infer OUT>
|
|
50
|
+
? GraphQLResult<OUT>
|
|
51
|
+
: any;
|
|
52
|
+
|
|
53
|
+
/** GraphQL mutate */
|
|
54
|
+
|
|
55
|
+
export type GeneratedMutation<InputType, OutputType> = string & {
|
|
56
|
+
__generatedMutationInput: InputType;
|
|
57
|
+
__generatedMutationOutput: OutputType;
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
export type GraphqlMutationParams<
|
|
61
|
+
TYPED_GQL_STRING extends string,
|
|
62
|
+
OVERRIDE_TYPE
|
|
63
|
+
> = AuthMode & {
|
|
64
|
+
variables: TYPED_GQL_STRING extends GeneratedMutation<infer IN, infer OUT>
|
|
65
|
+
? IN
|
|
66
|
+
: OVERRIDE_TYPE extends GraphqlQueryOverrides<infer OVERRIDE_IN, infer OUT>
|
|
67
|
+
? OVERRIDE_IN
|
|
68
|
+
: any;
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export type GraphqlMutationResult<
|
|
72
|
+
TYPED_GQL_STRING extends string,
|
|
73
|
+
FALLBACK_TYPES
|
|
74
|
+
> = TYPED_GQL_STRING extends GeneratedMutation<infer IN, infer OUT>
|
|
75
|
+
? GraphQLResult<OUT>
|
|
76
|
+
: FALLBACK_TYPES extends GraphqlQueryOverrides<infer IN, infer OUT>
|
|
77
|
+
? GraphQLResult<OUT>
|
|
78
|
+
: any;
|
|
79
|
+
|
|
80
|
+
/** GraphQL subscribe */
|
|
81
|
+
|
|
82
|
+
export type GeneratedSubscription<InputType, OutputType> = string & {
|
|
83
|
+
__generatedSubscriptionInput: InputType;
|
|
84
|
+
__generatedSubscriptionOutput: OutputType;
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
export type GraphqlSubscriptionParams<
|
|
88
|
+
TYPED_GQL_STRING extends string,
|
|
89
|
+
FALLBACK_TYPES
|
|
90
|
+
> = AuthMode & {
|
|
91
|
+
variables: TYPED_GQL_STRING extends GeneratedSubscription<infer IN, infer OUT>
|
|
92
|
+
? IN
|
|
93
|
+
: FALLBACK_TYPES extends GraphqlQueryOverrides<infer IN, infer OUT>
|
|
94
|
+
? IN
|
|
95
|
+
: any;
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
export type GraphqlSubscriptionResult<
|
|
99
|
+
TYPED_GQL_STRING extends string,
|
|
100
|
+
FALLBACK_TYPES
|
|
101
|
+
> = {
|
|
102
|
+
provider: any;
|
|
103
|
+
value: {
|
|
104
|
+
data: TYPED_GQL_STRING extends GeneratedSubscription<infer IN, infer OUT>
|
|
105
|
+
? OUT
|
|
106
|
+
: FALLBACK_TYPES extends GraphqlQueryOverrides<infer IN, infer OUT>
|
|
107
|
+
? OUT
|
|
108
|
+
: any;
|
|
109
|
+
};
|
|
110
|
+
};
|
package/src/v6.ts
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { GraphQLAPI } from './GraphQLAPI';
|
|
2
|
+
import { Observable } from 'zen-observable-ts';
|
|
3
|
+
import { parse, print, OperationDefinitionNode } from 'graphql';
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
GraphqlQueryParams,
|
|
7
|
+
GraphqlQueryResult,
|
|
8
|
+
GraphqlMutationParams,
|
|
9
|
+
GraphqlMutationResult,
|
|
10
|
+
GraphqlSubscriptionParams,
|
|
11
|
+
GraphqlSubscriptionResult,
|
|
12
|
+
} from './types/v6';
|
|
13
|
+
|
|
14
|
+
import { GraphQLOptions, GraphQLResult } from './types';
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The proposed interface additions to the TypeBeast
|
|
18
|
+
*/
|
|
19
|
+
class V6Client {
|
|
20
|
+
graphql<T = any>(
|
|
21
|
+
options: GraphQLOptions,
|
|
22
|
+
additionalHeaders?: { [key: string]: string }
|
|
23
|
+
): Observable<GraphqlSubscriptionResult<'', T>> | Promise<GraphQLResult<T>> {
|
|
24
|
+
const parsedQuery =
|
|
25
|
+
typeof options.query === 'string'
|
|
26
|
+
? parse(options.query)
|
|
27
|
+
: parse(print(options.query));
|
|
28
|
+
|
|
29
|
+
const [operationDef = {}] = parsedQuery.definitions.filter(
|
|
30
|
+
def => def.kind === 'OperationDefinition'
|
|
31
|
+
);
|
|
32
|
+
const { operation: operationType } =
|
|
33
|
+
operationDef as OperationDefinitionNode;
|
|
34
|
+
|
|
35
|
+
const childOptions = {
|
|
36
|
+
...options,
|
|
37
|
+
query: print(parsedQuery),
|
|
38
|
+
} as any; // todo
|
|
39
|
+
|
|
40
|
+
switch (operationType) {
|
|
41
|
+
case 'query':
|
|
42
|
+
return this.query(childOptions.query, childOptions, additionalHeaders);
|
|
43
|
+
case 'mutation':
|
|
44
|
+
return this.mutate(childOptions.query, childOptions, additionalHeaders);
|
|
45
|
+
case 'subscription':
|
|
46
|
+
return this.subscribe(
|
|
47
|
+
childOptions.query,
|
|
48
|
+
childOptions,
|
|
49
|
+
additionalHeaders
|
|
50
|
+
);
|
|
51
|
+
default:
|
|
52
|
+
throw new Error(`invalid operation type: ${operationType}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
query<FALLBACK_TYPES = unknown, TYPED_GQL_STRING extends string = string>(
|
|
57
|
+
document: TYPED_GQL_STRING,
|
|
58
|
+
queryParams?: GraphqlQueryParams<TYPED_GQL_STRING, FALLBACK_TYPES>,
|
|
59
|
+
additionalHeaders?: { [key: string]: string }
|
|
60
|
+
): Promise<GraphqlQueryResult<TYPED_GQL_STRING, FALLBACK_TYPES>> {
|
|
61
|
+
return GraphQLAPI.graphql(
|
|
62
|
+
{
|
|
63
|
+
...((queryParams || {}) as any), // todo
|
|
64
|
+
query: document,
|
|
65
|
+
},
|
|
66
|
+
additionalHeaders
|
|
67
|
+
) as Promise<GraphqlQueryResult<TYPED_GQL_STRING, FALLBACK_TYPES>>;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
mutate<FALLBACK_TYPES = unknown, TYPED_GQL_STRING extends string = string>(
|
|
71
|
+
document: TYPED_GQL_STRING,
|
|
72
|
+
queryParams?: GraphqlMutationParams<TYPED_GQL_STRING, FALLBACK_TYPES>,
|
|
73
|
+
additionalHeaders?: { [key: string]: string }
|
|
74
|
+
): Promise<GraphqlMutationResult<TYPED_GQL_STRING, FALLBACK_TYPES>> {
|
|
75
|
+
return GraphQLAPI.graphql(
|
|
76
|
+
{
|
|
77
|
+
...((queryParams || {}) as any), // todo
|
|
78
|
+
query: document,
|
|
79
|
+
},
|
|
80
|
+
additionalHeaders
|
|
81
|
+
) as Promise<GraphqlMutationResult<TYPED_GQL_STRING, FALLBACK_TYPES>>;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
subscribe<FALLBACK_TYPES = unknown, TYPED_GQL_STRING extends string = string>(
|
|
85
|
+
document: TYPED_GQL_STRING,
|
|
86
|
+
queryParams?: GraphqlSubscriptionParams<TYPED_GQL_STRING, FALLBACK_TYPES>,
|
|
87
|
+
additionalHeaders?: { [key: string]: string }
|
|
88
|
+
): Observable<GraphqlSubscriptionResult<TYPED_GQL_STRING, FALLBACK_TYPES>> {
|
|
89
|
+
return GraphQLAPI.graphql(
|
|
90
|
+
{
|
|
91
|
+
...((queryParams || {}) as any), // todo
|
|
92
|
+
query: document,
|
|
93
|
+
},
|
|
94
|
+
additionalHeaders
|
|
95
|
+
) as Observable<
|
|
96
|
+
GraphqlSubscriptionResult<TYPED_GQL_STRING, FALLBACK_TYPES>
|
|
97
|
+
>;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export function generateClient() {
|
|
102
|
+
return new V6Client();
|
|
103
|
+
}
|