@graphql-tools/executor-apollo-link 0.0.1-alpha-20221108145549-a9090635

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/cjs/index.js ADDED
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ExecutorLink = void 0;
5
+ const tslib_1 = require("tslib");
6
+ const apolloImport = tslib_1.__importStar(require("@apollo/client"));
7
+ const utils_1 = require("@graphql-tools/utils");
8
+ const apollo = (_a = apolloImport === null || apolloImport === void 0 ? void 0 : apolloImport.default) !== null && _a !== void 0 ? _a : apolloImport;
9
+ function createApolloRequestHandler(executor) {
10
+ return function ApolloRequestHandler(operation) {
11
+ return new apollo.Observable(observer => {
12
+ const executionRequest = {
13
+ document: operation.query,
14
+ variables: operation.variables,
15
+ operationName: operation.operationName,
16
+ extensions: operation.extensions,
17
+ context: operation.getContext(),
18
+ };
19
+ Promise.resolve(executor(executionRequest))
20
+ .then(async (results) => {
21
+ if ((0, utils_1.isAsyncIterable)(results)) {
22
+ for await (const result of results) {
23
+ if (observer.closed) {
24
+ return;
25
+ }
26
+ observer.next(result);
27
+ }
28
+ observer.complete();
29
+ }
30
+ else if (!observer.closed) {
31
+ observer.next(results);
32
+ observer.complete();
33
+ }
34
+ })
35
+ .catch(error => {
36
+ if (!observer.closed) {
37
+ observer.error(error);
38
+ }
39
+ });
40
+ });
41
+ };
42
+ }
43
+ class ExecutorLink extends apollo.ApolloLink {
44
+ constructor(executor) {
45
+ super(createApolloRequestHandler(executor));
46
+ }
47
+ }
48
+ exports.ExecutorLink = ExecutorLink;
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
package/esm/index.js ADDED
@@ -0,0 +1,43 @@
1
+ var _a;
2
+ import * as apolloImport from '@apollo/client';
3
+ import { isAsyncIterable } from '@graphql-tools/utils';
4
+ const apollo = (_a = apolloImport === null || apolloImport === void 0 ? void 0 : apolloImport.default) !== null && _a !== void 0 ? _a : apolloImport;
5
+ function createApolloRequestHandler(executor) {
6
+ return function ApolloRequestHandler(operation) {
7
+ return new apollo.Observable(observer => {
8
+ const executionRequest = {
9
+ document: operation.query,
10
+ variables: operation.variables,
11
+ operationName: operation.operationName,
12
+ extensions: operation.extensions,
13
+ context: operation.getContext(),
14
+ };
15
+ Promise.resolve(executor(executionRequest))
16
+ .then(async (results) => {
17
+ if (isAsyncIterable(results)) {
18
+ for await (const result of results) {
19
+ if (observer.closed) {
20
+ return;
21
+ }
22
+ observer.next(result);
23
+ }
24
+ observer.complete();
25
+ }
26
+ else if (!observer.closed) {
27
+ observer.next(results);
28
+ observer.complete();
29
+ }
30
+ })
31
+ .catch(error => {
32
+ if (!observer.closed) {
33
+ observer.error(error);
34
+ }
35
+ });
36
+ });
37
+ };
38
+ }
39
+ export class ExecutorLink extends apollo.ApolloLink {
40
+ constructor(executor) {
41
+ super(createApolloRequestHandler(executor));
42
+ }
43
+ }
package/package.json ADDED
@@ -0,0 +1,59 @@
1
+ {
2
+ "name": "@graphql-tools/executor-apollo-link",
3
+ "version": "0.0.1-alpha-20221108145549-a9090635",
4
+ "description": "A set of utils for faster development of GraphQL tools",
5
+ "sideEffects": false,
6
+ "peerDependencies": {
7
+ "graphql": "^15.2.0 || ^16.0.0",
8
+ "@apollo/client": "^3.5.9"
9
+ },
10
+ "dependencies": {
11
+ "@graphql-tools/utils": "9.1.0",
12
+ "tslib": "^2.3.1"
13
+ },
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "ardatan/graphql-tools",
17
+ "directory": "packages/executors/apollo-link"
18
+ },
19
+ "author": "Arda TANRIKULU <ardatanrikulu@gmail.com>",
20
+ "license": "MIT",
21
+ "main": "cjs/index.js",
22
+ "module": "esm/index.js",
23
+ "typings": "typings/index.d.ts",
24
+ "typescript": {
25
+ "definition": "typings/index.d.ts"
26
+ },
27
+ "type": "module",
28
+ "exports": {
29
+ ".": {
30
+ "require": {
31
+ "types": "./typings/index.d.cts",
32
+ "default": "./cjs/index.js"
33
+ },
34
+ "import": {
35
+ "types": "./typings/index.d.ts",
36
+ "default": "./esm/index.js"
37
+ },
38
+ "default": {
39
+ "types": "./typings/index.d.ts",
40
+ "default": "./esm/index.js"
41
+ }
42
+ },
43
+ "./*": {
44
+ "require": {
45
+ "types": "./typings/*.d.cts",
46
+ "default": "./cjs/*.js"
47
+ },
48
+ "import": {
49
+ "types": "./typings/*.d.ts",
50
+ "default": "./esm/*.js"
51
+ },
52
+ "default": {
53
+ "types": "./typings/*.d.ts",
54
+ "default": "./esm/*.js"
55
+ }
56
+ },
57
+ "./package.json": "./package.json"
58
+ }
59
+ }
@@ -0,0 +1,7 @@
1
+ import * as apolloImport from '@apollo/client';
2
+ import { Executor } from '@graphql-tools/utils';
3
+ declare const apollo: typeof apolloImport;
4
+ export declare class ExecutorLink extends apollo.ApolloLink {
5
+ constructor(executor: Executor);
6
+ }
7
+ export {};
@@ -0,0 +1,7 @@
1
+ import * as apolloImport from '@apollo/client';
2
+ import { Executor } from '@graphql-tools/utils';
3
+ declare const apollo: typeof apolloImport;
4
+ export declare class ExecutorLink extends apollo.ApolloLink {
5
+ constructor(executor: Executor);
6
+ }
7
+ export {};