@graphql-box/worker-client 4.1.5 → 5.0.0

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 (110) hide show
  1. package/README.md +1 -5
  2. package/dist/cjs/index.cjs +410 -0
  3. package/dist/cjs/index.cjs.map +1 -0
  4. package/dist/esm/index.mjs +401 -0
  5. package/dist/esm/index.mjs.map +1 -0
  6. package/dist/types/cjs/constants.d.cts +6 -0
  7. package/dist/types/cjs/constants.d.cts.map +1 -0
  8. package/dist/types/cjs/debug/logRequest.d.cts +6 -0
  9. package/dist/types/cjs/debug/logRequest.d.cts.map +1 -0
  10. package/dist/types/cjs/debug/logSubscription.d.cts +6 -0
  11. package/dist/types/cjs/debug/logSubscription.d.cts.map +1 -0
  12. package/dist/types/cjs/helpers/isGraphqlBoxMessageRequestPayload.d.cts +4 -0
  13. package/dist/types/cjs/helpers/isGraphqlBoxMessageRequestPayload.d.cts.map +1 -0
  14. package/dist/types/cjs/helpers/operationNameRegex.d.cts +2 -0
  15. package/dist/types/cjs/helpers/operationNameRegex.d.cts.map +1 -0
  16. package/dist/types/cjs/index.d.cts +5 -0
  17. package/dist/types/cjs/index.d.cts.map +1 -0
  18. package/dist/types/cjs/main.d.cts +24 -0
  19. package/dist/types/cjs/main.d.cts.map +1 -0
  20. package/dist/types/cjs/registerWorker.d.cts +5 -0
  21. package/dist/types/cjs/registerWorker.d.cts.map +1 -0
  22. package/dist/types/cjs/types.d.cts +49 -0
  23. package/dist/types/cjs/types.d.cts.map +1 -0
  24. package/dist/types/esm/constants.d.ts +6 -0
  25. package/dist/types/esm/constants.d.ts.map +1 -0
  26. package/dist/types/esm/debug/logRequest.d.ts +6 -0
  27. package/dist/types/esm/debug/logRequest.d.ts.map +1 -0
  28. package/dist/types/esm/debug/logSubscription.d.ts +6 -0
  29. package/dist/types/esm/debug/logSubscription.d.ts.map +1 -0
  30. package/dist/types/esm/helpers/isGraphqlBoxMessageRequestPayload.d.ts +4 -0
  31. package/dist/types/esm/helpers/isGraphqlBoxMessageRequestPayload.d.ts.map +1 -0
  32. package/dist/types/esm/helpers/operationNameRegex.d.ts +2 -0
  33. package/dist/types/esm/helpers/operationNameRegex.d.ts.map +1 -0
  34. package/dist/types/esm/index.d.ts +5 -0
  35. package/dist/types/esm/index.d.ts.map +1 -0
  36. package/dist/types/esm/main.d.ts +24 -0
  37. package/dist/types/esm/main.d.ts.map +1 -0
  38. package/dist/types/esm/registerWorker.d.ts +5 -0
  39. package/dist/types/esm/registerWorker.d.ts.map +1 -0
  40. package/{lib/types/defs/index.d.ts → dist/types/esm/types.d.ts} +11 -11
  41. package/dist/types/esm/types.d.ts.map +1 -0
  42. package/dist/types/tsconfig.build.tsbuildinfo +1 -0
  43. package/package.json +57 -45
  44. package/src/constants.ts +5 -0
  45. package/src/debug/{log-request/index.ts → logRequest.ts} +30 -20
  46. package/src/debug/logSubscription.ts +50 -0
  47. package/src/helpers/isGraphqlBoxMessageRequestPayload.ts +7 -0
  48. package/src/helpers/operationNameRegex.test.ts +26 -14
  49. package/src/helpers/operationNameRegex.ts +2 -2
  50. package/src/index.ts +4 -3
  51. package/src/{main/index.ts → main.ts} +135 -108
  52. package/src/registerWorker.ts +107 -0
  53. package/src/{defs/index.ts → types.ts} +14 -9
  54. package/tsconfig.build.json +10 -0
  55. package/tsconfig.json +17 -0
  56. package/lib/browser/index.js +0 -2
  57. package/lib/browser/index.js.map +0 -1
  58. package/lib/browser/production.analysis.txt +0 -81
  59. package/lib/main/consts/index.js +0 -17
  60. package/lib/main/consts/index.js.map +0 -1
  61. package/lib/main/debug/log-request/index.js +0 -77
  62. package/lib/main/debug/log-request/index.js.map +0 -1
  63. package/lib/main/debug/log-subscription/index.js +0 -55
  64. package/lib/main/debug/log-subscription/index.js.map +0 -1
  65. package/lib/main/defs/index.js +0 -2
  66. package/lib/main/defs/index.js.map +0 -1
  67. package/lib/main/helpers/operationNameRegex.js +0 -14
  68. package/lib/main/helpers/operationNameRegex.js.map +0 -1
  69. package/lib/main/index.js +0 -41
  70. package/lib/main/index.js.map +0 -1
  71. package/lib/main/main/index.js +0 -249
  72. package/lib/main/main/index.js.map +0 -1
  73. package/lib/main/register-worker/index.js +0 -143
  74. package/lib/main/register-worker/index.js.map +0 -1
  75. package/lib/module/consts/index.js +0 -6
  76. package/lib/module/consts/index.js.map +0 -1
  77. package/lib/module/debug/log-request/index.js +0 -64
  78. package/lib/module/debug/log-request/index.js.map +0 -1
  79. package/lib/module/debug/log-subscription/index.js +0 -43
  80. package/lib/module/debug/log-subscription/index.js.map +0 -1
  81. package/lib/module/defs/index.js +0 -2
  82. package/lib/module/defs/index.js.map +0 -1
  83. package/lib/module/helpers/operationNameRegex.js +0 -5
  84. package/lib/module/helpers/operationNameRegex.js.map +0 -1
  85. package/lib/module/index.js +0 -4
  86. package/lib/module/index.js.map +0 -1
  87. package/lib/module/main/index.js +0 -236
  88. package/lib/module/main/index.js.map +0 -1
  89. package/lib/module/register-worker/index.js +0 -126
  90. package/lib/module/register-worker/index.js.map +0 -1
  91. package/lib/types/consts/index.d.ts +0 -6
  92. package/lib/types/consts/index.d.ts.map +0 -1
  93. package/lib/types/debug/log-request/index.d.ts +0 -2
  94. package/lib/types/debug/log-request/index.d.ts.map +0 -1
  95. package/lib/types/debug/log-subscription/index.d.ts +0 -2
  96. package/lib/types/debug/log-subscription/index.d.ts.map +0 -1
  97. package/lib/types/defs/index.d.ts.map +0 -1
  98. package/lib/types/helpers/operationNameRegex.d.ts +0 -3
  99. package/lib/types/helpers/operationNameRegex.d.ts.map +0 -1
  100. package/lib/types/helpers/operationNameRegex.test.d.ts +0 -2
  101. package/lib/types/helpers/operationNameRegex.test.d.ts.map +0 -1
  102. package/lib/types/index.d.ts +0 -4
  103. package/lib/types/index.d.ts.map +0 -1
  104. package/lib/types/main/index.d.ts +0 -32
  105. package/lib/types/main/index.d.ts.map +0 -1
  106. package/lib/types/register-worker/index.d.ts +0 -5
  107. package/lib/types/register-worker/index.d.ts.map +0 -1
  108. package/src/consts/index.ts +0 -7
  109. package/src/debug/log-subscription/index.ts +0 -41
  110. package/src/register-worker/index.ts +0 -95
@@ -1,126 +0,0 @@
1
- import _isPlainObject from "lodash/isPlainObject";
2
- import "core-js/modules/es.promise.js";
3
- import { handleMessage as handleCachemapMessage } from "@cachemap/core-worker";
4
- import { dehydrateCacheMetadata, serializeErrors } from "@graphql-box/helpers";
5
- import { forAwaitEach, isAsyncIterable } from "iterall";
6
- import { CACHEMAP, GRAPHQL_BOX, MESSAGE, REQUEST, SUBSCRIBE } from "../consts";
7
- const {
8
- addEventListener,
9
- postMessage
10
- } = self;
11
-
12
- async function handleRequest(request, method, options, context, client) {
13
- const requestResult = await client.request(request, options, context);
14
-
15
- if (!isAsyncIterable(requestResult)) {
16
- const {
17
- _cacheMetadata,
18
- ...otherProps
19
- } = requestResult;
20
- const result = { ...otherProps
21
- };
22
-
23
- if (_cacheMetadata) {
24
- result._cacheMetadata = dehydrateCacheMetadata(_cacheMetadata);
25
- }
26
-
27
- postMessage({
28
- context,
29
- method,
30
- result: serializeErrors(result),
31
- type: GRAPHQL_BOX
32
- });
33
- return;
34
- }
35
-
36
- forAwaitEach(requestResult, ({
37
- _cacheMetadata,
38
- ...otherProps
39
- }) => {
40
- const result = { ...otherProps
41
- };
42
-
43
- if (_cacheMetadata) {
44
- result._cacheMetadata = dehydrateCacheMetadata(_cacheMetadata);
45
- }
46
-
47
- postMessage({
48
- context,
49
- method,
50
- result: serializeErrors(result),
51
- type: GRAPHQL_BOX
52
- });
53
- });
54
- }
55
-
56
- async function handleSubscription(request, method, options, context, client) {
57
- const subscribeResult = await client.subscribe(request, options, context);
58
-
59
- if (!isAsyncIterable(subscribeResult)) {
60
- postMessage({
61
- context,
62
- method,
63
- result: serializeErrors(subscribeResult),
64
- type: GRAPHQL_BOX
65
- });
66
- return;
67
- }
68
-
69
- forAwaitEach(subscribeResult, ({
70
- _cacheMetadata,
71
- ...otherProps
72
- }) => {
73
- const result = { ...otherProps
74
- };
75
-
76
- if (_cacheMetadata) {
77
- result._cacheMetadata = dehydrateCacheMetadata(_cacheMetadata);
78
- }
79
-
80
- postMessage({
81
- context,
82
- method,
83
- result: serializeErrors(result),
84
- type: GRAPHQL_BOX
85
- });
86
- });
87
- }
88
-
89
- export function handleMessage(data, client) {
90
- const {
91
- context,
92
- method,
93
- options,
94
- request
95
- } = data;
96
-
97
- if (method === REQUEST) {
98
- handleRequest(request, method, options, context, client);
99
- } else if (method === SUBSCRIBE) {
100
- handleSubscription(request, method, options, context, client);
101
- }
102
- }
103
- export default async function registerWorker({
104
- client
105
- }) {
106
- function onMessage({
107
- data
108
- }) {
109
- if (!_isPlainObject(data)) {
110
- return;
111
- }
112
-
113
- const {
114
- type
115
- } = data;
116
-
117
- if (type === GRAPHQL_BOX) {
118
- handleMessage(data, client);
119
- } else if (type === CACHEMAP && client.cache) {
120
- handleCachemapMessage(data, client.cache);
121
- }
122
- }
123
-
124
- addEventListener(MESSAGE, onMessage);
125
- }
126
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/register-worker/index.ts"],"names":["handleMessage","handleCachemapMessage","dehydrateCacheMetadata","serializeErrors","forAwaitEach","isAsyncIterable","CACHEMAP","GRAPHQL_BOX","MESSAGE","REQUEST","SUBSCRIBE","addEventListener","postMessage","self","handleRequest","request","method","options","context","client","requestResult","_cacheMetadata","otherProps","result","type","handleSubscription","subscribeResult","subscribe","data","registerWorker","onMessage","cache"],"mappings":"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","sourcesContent":["import { handleMessage as handleCachemapMessage } from \"@cachemap/core-worker\";\nimport Client from \"@graphql-box/client\";\nimport { MaybeRequestResult, MaybeRequestResultWithDehydratedCacheMetadata, RequestOptions } from \"@graphql-box/core\";\nimport { dehydrateCacheMetadata, serializeErrors } from \"@graphql-box/helpers\";\nimport { forAwaitEach, isAsyncIterable } from \"iterall\";\nimport { isPlainObject } from \"lodash\";\nimport { CACHEMAP, GRAPHQL_BOX, MESSAGE, REQUEST, SUBSCRIBE } from \"../consts\";\nimport { MessageContext, MessageRequestPayload, MethodNames, RegisterWorkerOptions } from \"../defs\";\n\nconst { addEventListener, postMessage } = (self as unknown) as DedicatedWorkerGlobalScope;\n\nasync function handleRequest(\n request: string,\n method: MethodNames,\n options: RequestOptions,\n context: MessageContext,\n client: Client,\n): Promise<void> {\n const requestResult = await client.request(request, options, context);\n\n if (!isAsyncIterable(requestResult)) {\n const { _cacheMetadata, ...otherProps } = requestResult as MaybeRequestResult;\n const result: MaybeRequestResultWithDehydratedCacheMetadata = { ...otherProps };\n\n if (_cacheMetadata) {\n result._cacheMetadata = dehydrateCacheMetadata(_cacheMetadata);\n }\n\n postMessage({ context, method, result: serializeErrors(result), type: GRAPHQL_BOX });\n return;\n }\n\n forAwaitEach(requestResult, ({ _cacheMetadata, ...otherProps }: MaybeRequestResult) => {\n const result: MaybeRequestResultWithDehydratedCacheMetadata = { ...otherProps };\n\n if (_cacheMetadata) {\n result._cacheMetadata = dehydrateCacheMetadata(_cacheMetadata);\n }\n\n postMessage({ context, method, result: serializeErrors(result), type: GRAPHQL_BOX });\n });\n}\n\nasync function handleSubscription(\n request: string,\n method: MethodNames,\n options: RequestOptions,\n context: MessageContext,\n client: Client,\n): Promise<void> {\n const subscribeResult = await client.subscribe(request, options, context);\n\n if (!isAsyncIterable(subscribeResult)) {\n postMessage({ context, method, result: serializeErrors(subscribeResult as MaybeRequestResult), type: GRAPHQL_BOX });\n return;\n }\n\n forAwaitEach(subscribeResult, ({ _cacheMetadata, ...otherProps }: MaybeRequestResult) => {\n const result: MaybeRequestResultWithDehydratedCacheMetadata = { ...otherProps };\n\n if (_cacheMetadata) {\n result._cacheMetadata = dehydrateCacheMetadata(_cacheMetadata);\n }\n\n postMessage({ context, method, result: serializeErrors(result), type: GRAPHQL_BOX });\n });\n}\n\nexport function handleMessage(data: MessageRequestPayload, client: Client): void {\n const { context, method, options, request } = data as MessageRequestPayload;\n\n if (method === REQUEST) {\n handleRequest(request, method, options, context, client);\n } else if (method === SUBSCRIBE) {\n handleSubscription(request, method, options, context, client);\n }\n}\n\nexport default async function registerWorker({ client }: RegisterWorkerOptions): Promise<void> {\n function onMessage({ data }: MessageEvent): void {\n if (!isPlainObject(data)) {\n return;\n }\n\n const { type } = data as MessageRequestPayload;\n\n if (type === GRAPHQL_BOX) {\n handleMessage(data, client);\n } else if (type === CACHEMAP && client.cache) {\n handleCachemapMessage(data, client.cache);\n }\n }\n\n addEventListener(MESSAGE, onMessage);\n}\n"],"file":"index.js"}
@@ -1,6 +0,0 @@
1
- export declare const REQUEST = "request";
2
- export declare const SUBSCRIBE = "subscribe";
3
- export declare const MESSAGE = "message";
4
- export declare const GRAPHQL_BOX = "graphqlBox";
5
- export declare const CACHEMAP = "cachemap";
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/consts/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,SAAS,cAAc,CAAC;AAErC,eAAO,MAAM,OAAO,YAAY,CAAC;AAEjC,eAAO,MAAM,WAAW,eAAe,CAAC;AACxC,eAAO,MAAM,QAAQ,aAAa,CAAC"}
@@ -1,2 +0,0 @@
1
- export default function logRequest(): (_target: any, _propertyName: string, descriptor: TypedPropertyDescriptor<(...args: any[]) => Promise<any>>) => void;
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/debug/log-request/index.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,UAAU,cAErB,GAAG,iBACG,MAAM,gDACyB,GAAG,EAAE,KAAK,QAAQ,GAAG,CAAC,MACnE,IAAI,CA8CR"}
@@ -1,2 +0,0 @@
1
- export default function logSubscription(): (_target: any, _propertyName: string, descriptor: TypedPropertyDescriptor<(...args: any[]) => Promise<any>>) => void;
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/debug/log-subscription/index.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,eAAe,cAE1B,GAAG,iBACG,MAAM,gDACyB,GAAG,EAAE,KAAK,QAAQ,GAAG,CAAC,MACnE,IAAI,CAgCR"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/defs/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,uBAAuB,CAAC;AACnD,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE3G,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,KAAK,EAAE,cAAc,CAAC;IAEtB;;OAEG;IACH,YAAY,CAAC,EAAE,eAAe,CAAC;IAE/B;;;OAGG;IACH,8BAA8B,CAAC,EAAE,OAAO,CAAC;IAEzC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,oBAAY,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC;AAElD,oBAAY,eAAe,GAAG,CAC5B,KAAK,EAAE,kBAAkB,GAAG,qBAAqB,CAAC,kBAAkB,GAAG,SAAS,CAAC,KAC9E,IAAI,CAAC;AAEV,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,eAAe,CAAC;CAC1B;AAED,oBAAY,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAEtD,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,YAAY,GAAG,UAAU,CAAC;CACjC;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,IAAI,EAAE,YAAY,GAAG,UAAU,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -1,3 +0,0 @@
1
- declare const _default: (request: string) => string;
2
- export default _default;
3
- //# sourceMappingURL=operationNameRegex.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"operationNameRegex.d.ts","sourceRoot":"","sources":["../../../src/helpers/operationNameRegex.ts"],"names":[],"mappings":"kCAAyB,MAAM;AAA/B,wBAGE"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=operationNameRegex.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"operationNameRegex.test.d.ts","sourceRoot":"","sources":["../../../src/helpers/operationNameRegex.test.ts"],"names":[],"mappings":""}
@@ -1,4 +0,0 @@
1
- export * from "./defs";
2
- export { default } from "./main";
3
- export { default as registerWorker } from "./register-worker";
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,32 +0,0 @@
1
- import WorkerCachemap from "@cachemap/core-worker";
2
- import { MaybeRequestContext, MaybeRequestResult, RequestOptions } from "@graphql-box/core";
3
- import { UserOptions } from "../defs";
4
- export default class WorkerClient {
5
- private static _getMessageContext;
6
- private _cache;
7
- private _debugManager;
8
- private _eventEmitter;
9
- private _experimentalDeferStreamSupport;
10
- private _pending;
11
- private _worker;
12
- constructor(options: UserOptions);
13
- get cache(): WorkerCachemap;
14
- mutate(request: string, options?: RequestOptions, context?: MaybeRequestContext): Promise<MaybeRequestResult | AsyncIterableIterator<MaybeRequestResult | undefined> | {
15
- errors: any[];
16
- }>;
17
- query(request: string, options?: RequestOptions, context?: MaybeRequestContext): Promise<MaybeRequestResult | AsyncIterableIterator<MaybeRequestResult | undefined> | {
18
- errors: any[];
19
- }>;
20
- request(request: string, options?: RequestOptions, context?: MaybeRequestContext): Promise<MaybeRequestResult | AsyncIterableIterator<MaybeRequestResult | undefined> | {
21
- errors: any[];
22
- }>;
23
- subscribe(request: string, options?: RequestOptions): Promise<AsyncIterableIterator<MaybeRequestResult | undefined> | {
24
- errors: any[];
25
- }>;
26
- private _addEventListener;
27
- private _getRequestContext;
28
- private _onMessage;
29
- private _request;
30
- private _subscribe;
31
- }
32
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/main/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAGL,mBAAmB,EACnB,kBAAkB,EAIlB,cAAc,EAIf,MAAM,mBAAmB,CAAC;AAQ3B,OAAO,EAA2E,WAAW,EAAE,MAAM,SAAS,CAAC;AAE/G,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAIjC,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,+BAA+B,CAAU;IACjD,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,WAAW;IA2BhC,IAAI,KAAK,IAAI,cAAc,CAE1B;IAEY,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,EAAE,OAAO,GAAE,mBAAwB;;;IAIvF,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,EAAE,OAAO,GAAE,mBAAwB;;;IAItF,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,EAAE,OAAO,GAAE,mBAAwB;;;IAIxF,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB;;;IAIpE,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,kBAAkB;IAuB1B,OAAO,CAAC,UAAU,CAwDhB;YAGY,QAAQ;YAmBR,UAAU;CAgBzB"}
@@ -1,5 +0,0 @@
1
- import Client from "@graphql-box/client";
2
- import { MessageRequestPayload, RegisterWorkerOptions } from "../defs";
3
- export declare function handleMessage(data: MessageRequestPayload, client: Client): void;
4
- export default function registerWorker({ client }: RegisterWorkerOptions): Promise<void>;
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/register-worker/index.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAMzC,OAAO,EAAkB,qBAAqB,EAAe,qBAAqB,EAAE,MAAM,SAAS,CAAC;AA6DpG,wBAAgB,aAAa,CAAC,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAQ/E;AAED,wBAA8B,cAAc,CAAC,EAAE,MAAM,EAAE,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB7F"}
@@ -1,7 +0,0 @@
1
- export const REQUEST = "request";
2
- export const SUBSCRIBE = "subscribe";
3
-
4
- export const MESSAGE = "message";
5
-
6
- export const GRAPHQL_BOX = "graphqlBox";
7
- export const CACHEMAP = "cachemap";
@@ -1,41 +0,0 @@
1
- import { RequestContext, SUBSCRIPTION_EXECUTED } from "@graphql-box/core";
2
- import operationNameRegex from "../../helpers/operationNameRegex";
3
-
4
- export default function logSubscription() {
5
- return (
6
- _target: any,
7
- _propertyName: string,
8
- descriptor: TypedPropertyDescriptor<(...args: any[]) => Promise<any>>,
9
- ): void => {
10
- const method = descriptor.value;
11
- if (!method) return;
12
-
13
- descriptor.value = async function descriptorValue(...args: any[]): Promise<any> {
14
- try {
15
- return new Promise(async resolve => {
16
- const { debugManager, ...otherContext } = args[2] as RequestContext;
17
-
18
- if (!debugManager) {
19
- resolve(await method.apply(this, args));
20
- return;
21
- }
22
-
23
- const derivedOperationName = operationNameRegex(args[0]);
24
- const startTime = debugManager.now();
25
-
26
- debugManager.log(SUBSCRIPTION_EXECUTED, {
27
- context: { ...otherContext, operationName: derivedOperationName },
28
- options: args[1],
29
- request: args[0],
30
- stats: { startTime },
31
- });
32
-
33
- const result = await method.apply(this, args);
34
- resolve(result);
35
- });
36
- } catch (error) {
37
- return Promise.reject(error);
38
- }
39
- };
40
- };
41
- }
@@ -1,95 +0,0 @@
1
- import { handleMessage as handleCachemapMessage } from "@cachemap/core-worker";
2
- import Client from "@graphql-box/client";
3
- import { MaybeRequestResult, MaybeRequestResultWithDehydratedCacheMetadata, RequestOptions } from "@graphql-box/core";
4
- import { dehydrateCacheMetadata, serializeErrors } from "@graphql-box/helpers";
5
- import { forAwaitEach, isAsyncIterable } from "iterall";
6
- import { isPlainObject } from "lodash";
7
- import { CACHEMAP, GRAPHQL_BOX, MESSAGE, REQUEST, SUBSCRIBE } from "../consts";
8
- import { MessageContext, MessageRequestPayload, MethodNames, RegisterWorkerOptions } from "../defs";
9
-
10
- const { addEventListener, postMessage } = (self as unknown) as DedicatedWorkerGlobalScope;
11
-
12
- async function handleRequest(
13
- request: string,
14
- method: MethodNames,
15
- options: RequestOptions,
16
- context: MessageContext,
17
- client: Client,
18
- ): Promise<void> {
19
- const requestResult = await client.request(request, options, context);
20
-
21
- if (!isAsyncIterable(requestResult)) {
22
- const { _cacheMetadata, ...otherProps } = requestResult as MaybeRequestResult;
23
- const result: MaybeRequestResultWithDehydratedCacheMetadata = { ...otherProps };
24
-
25
- if (_cacheMetadata) {
26
- result._cacheMetadata = dehydrateCacheMetadata(_cacheMetadata);
27
- }
28
-
29
- postMessage({ context, method, result: serializeErrors(result), type: GRAPHQL_BOX });
30
- return;
31
- }
32
-
33
- forAwaitEach(requestResult, ({ _cacheMetadata, ...otherProps }: MaybeRequestResult) => {
34
- const result: MaybeRequestResultWithDehydratedCacheMetadata = { ...otherProps };
35
-
36
- if (_cacheMetadata) {
37
- result._cacheMetadata = dehydrateCacheMetadata(_cacheMetadata);
38
- }
39
-
40
- postMessage({ context, method, result: serializeErrors(result), type: GRAPHQL_BOX });
41
- });
42
- }
43
-
44
- async function handleSubscription(
45
- request: string,
46
- method: MethodNames,
47
- options: RequestOptions,
48
- context: MessageContext,
49
- client: Client,
50
- ): Promise<void> {
51
- const subscribeResult = await client.subscribe(request, options, context);
52
-
53
- if (!isAsyncIterable(subscribeResult)) {
54
- postMessage({ context, method, result: serializeErrors(subscribeResult as MaybeRequestResult), type: GRAPHQL_BOX });
55
- return;
56
- }
57
-
58
- forAwaitEach(subscribeResult, ({ _cacheMetadata, ...otherProps }: MaybeRequestResult) => {
59
- const result: MaybeRequestResultWithDehydratedCacheMetadata = { ...otherProps };
60
-
61
- if (_cacheMetadata) {
62
- result._cacheMetadata = dehydrateCacheMetadata(_cacheMetadata);
63
- }
64
-
65
- postMessage({ context, method, result: serializeErrors(result), type: GRAPHQL_BOX });
66
- });
67
- }
68
-
69
- export function handleMessage(data: MessageRequestPayload, client: Client): void {
70
- const { context, method, options, request } = data as MessageRequestPayload;
71
-
72
- if (method === REQUEST) {
73
- handleRequest(request, method, options, context, client);
74
- } else if (method === SUBSCRIBE) {
75
- handleSubscription(request, method, options, context, client);
76
- }
77
- }
78
-
79
- export default async function registerWorker({ client }: RegisterWorkerOptions): Promise<void> {
80
- function onMessage({ data }: MessageEvent): void {
81
- if (!isPlainObject(data)) {
82
- return;
83
- }
84
-
85
- const { type } = data as MessageRequestPayload;
86
-
87
- if (type === GRAPHQL_BOX) {
88
- handleMessage(data, client);
89
- } else if (type === CACHEMAP && client.cache) {
90
- handleCachemapMessage(data, client.cache);
91
- }
92
- }
93
-
94
- addEventListener(MESSAGE, onMessage);
95
- }