@graphql-box/worker-client 5.1.0 → 5.2.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../worker-client/src//constants.ts","../worker-client/src//helpers/operationNameRegex.ts","../worker-client/src//main.ts","../worker-client/src//debug/logRequest.ts","../worker-client/src//debug/logSubscription.ts","../worker-client/src//helpers/isGraphqlBoxMessageRequestPayload.ts","../worker-client/src//registerWorker.ts"],"sourcesContent":["export const CACHEMAP = 'cachemap' as const;\nexport const GRAPHQL_BOX = 'graphqlBox' as const;\nexport const MESSAGE = 'message' as const;\nexport const REQUEST = 'request' as const;\nexport const SUBSCRIBE = 'subscribe' as const;\n","export const operationNameRegex = (request: string) => {\n const output = /(query|mutation|subscription) ([A-Za-z]+)(\\(| {)/.exec(request);\n return output ? output[2] : '';\n};\n","import { type CoreWorker } from '@cachemap/core-worker';\nimport {\n type DebugManagerDef,\n type PartialRequestContext,\n type PartialRequestResult,\n REQUEST_RESOLVED,\n type RequestContext,\n type RequestOptions,\n SUBSCRIPTION_RESOLVED,\n} from '@graphql-box/core';\nimport {\n ArgsError,\n EventAsyncIterator,\n GroupedError,\n deserializeErrors,\n hashRequest,\n isPlainObject,\n rehydrateCacheMetadata,\n} from '@graphql-box/helpers';\nimport { EventEmitter } from 'eventemitter3';\nimport { OperationTypeNode } from 'graphql';\nimport { isError } from 'lodash-es';\nimport { v4 as uuidv4 } from 'uuid';\nimport { GRAPHQL_BOX, MESSAGE, REQUEST, SUBSCRIBE } from './constants.ts';\nimport { logRequest } from './debug/logRequest.ts';\nimport { logSubscription } from './debug/logSubscription.ts';\nimport {\n type MessageContext,\n type MessageResponsePayload,\n type PendingResolver,\n type PendingTracker,\n type UserOptions,\n} from './types.ts';\n\nexport class WorkerClient {\n private static _getMessageContext({ hasDeferOrStream = false, requestID }: RequestContext): MessageContext {\n return { hasDeferOrStream, requestID };\n }\n\n private _onMessage = ({ data }: MessageEvent<MessageResponsePayload>): void => {\n if (!isPlainObject(data)) {\n return;\n }\n\n const { context, method, result, type } = data;\n\n if (type !== GRAPHQL_BOX) {\n return;\n }\n\n const { _cacheMetadata, ...otherProps } = result;\n const response: PartialRequestResult = { ...deserializeErrors(otherProps), requestID: context.requestID };\n\n if (_cacheMetadata) {\n response._cacheMetadata = rehydrateCacheMetadata(_cacheMetadata);\n }\n\n if (method === SUBSCRIBE) {\n this._debugManager?.log(SUBSCRIPTION_RESOLVED, {\n context,\n result: response,\n stats: { endTime: this._debugManager.now() },\n });\n\n this._eventEmitter.emit(context.requestID, response);\n } else if (context.hasDeferOrStream) {\n const pending = this._pending.get(context.requestID);\n\n if (pending) {\n const eventAsyncIterator = new EventAsyncIterator<PartialRequestResult>(this._eventEmitter, context.requestID);\n pending.resolve(eventAsyncIterator.getIterator());\n }\n\n this._debugManager?.log(REQUEST_RESOLVED, {\n context,\n result: response,\n stats: { endTime: this._debugManager.now() },\n });\n\n this._eventEmitter.emit(context.requestID, response);\n } else {\n const pending = this._pending.get(context.requestID);\n\n if (!pending) {\n return;\n }\n\n this._debugManager?.log(REQUEST_RESOLVED, {\n context,\n result: response,\n stats: { endTime: this._debugManager.now() },\n });\n\n pending.resolve(response);\n }\n };\n\n private _cache: CoreWorker;\n private _debugManager: DebugManagerDef | null;\n private _eventEmitter: EventEmitter;\n private _experimentalDeferStreamSupport: boolean;\n private _pending: PendingTracker = new Map();\n private _worker: Worker;\n\n constructor(options: UserOptions) {\n const errors: ArgsError[] = [];\n\n if (!isPlainObject(options)) {\n errors.push(new ArgsError('@graphql-box/worker-client expected options to ba a plain object.'));\n }\n\n if (!('cache' in options)) {\n errors.push(new ArgsError('@graphql-box/worker-client expected options.cache.'));\n }\n\n if (!('worker' in options)) {\n errors.push(new ArgsError('@graphql-box/worker-client expected options.worker.'));\n }\n\n if (errors.length > 0) {\n throw new GroupedError('@graphql-box/worker-client argument validation errors.', errors);\n }\n\n this._cache = options.cache;\n this._debugManager = options.debugManager ?? null;\n this._eventEmitter = new EventEmitter();\n this._experimentalDeferStreamSupport = options.experimentalDeferStreamSupport ?? false;\n this._worker = options.worker;\n this._addEventListener();\n }\n\n get cache(): CoreWorker {\n return this._cache;\n }\n\n public async mutate(request: string, options: RequestOptions = {}, context: PartialRequestContext = {}) {\n return this._request(request, options, this._getRequestContext(OperationTypeNode.MUTATION, request, context));\n }\n\n public async query(request: string, options: RequestOptions = {}, context: PartialRequestContext = {}) {\n return this._request(request, options, this._getRequestContext(OperationTypeNode.QUERY, request, context));\n }\n\n public async request(request: string, options: RequestOptions = {}, context: PartialRequestContext = {}) {\n return this._request(request, options, this._getRequestContext(OperationTypeNode.QUERY, request, context));\n }\n\n public async subscribe(request: string, options: RequestOptions = {}) {\n return this._subscribe(request, options, this._getRequestContext(OperationTypeNode.SUBSCRIPTION, request));\n }\n\n private _addEventListener(): void {\n this._worker.addEventListener(MESSAGE, this._onMessage);\n }\n\n private _getRequestContext(\n operation: OperationTypeNode,\n request: string,\n context: PartialRequestContext = {}\n ): RequestContext {\n return {\n debugManager: this._debugManager,\n experimentalDeferStreamSupport: this._experimentalDeferStreamSupport,\n fieldTypeMap: new Map(),\n filteredRequest: '',\n operation,\n operationName: '',\n originalRequestHash: hashRequest(request),\n parsedRequest: '',\n queryFiltered: false,\n request,\n requestComplexity: null,\n requestDepth: null,\n requestID: uuidv4(),\n ...context,\n };\n }\n\n @logRequest()\n private async _request(\n request: string,\n options: RequestOptions,\n context: RequestContext\n ): Promise<PartialRequestResult | AsyncIterableIterator<PartialRequestResult | undefined>> {\n try {\n return await new Promise((resolve: PendingResolver) => {\n this._worker.postMessage({\n context: WorkerClient._getMessageContext(context),\n method: REQUEST,\n options,\n request,\n type: GRAPHQL_BOX,\n });\n\n this._pending.set(context.requestID, { resolve });\n });\n } catch (error) {\n const confirmedError = isError(error)\n ? error\n : new Error('@graphql-box/worker-client request had an unexpected error.');\n\n return { errors: [confirmedError], requestID: context.requestID };\n }\n }\n\n @logSubscription()\n private _subscribe(\n request: string,\n options: RequestOptions,\n context: RequestContext\n ): Promise<PartialRequestResult | AsyncIterableIterator<PartialRequestResult | undefined>> {\n try {\n this._worker.postMessage({\n context: WorkerClient._getMessageContext(context),\n method: SUBSCRIBE,\n options,\n request,\n type: GRAPHQL_BOX,\n });\n\n const eventAsyncIterator = new EventAsyncIterator<PartialRequestResult>(this._eventEmitter, context.requestID);\n return Promise.resolve(eventAsyncIterator.getIterator());\n } catch (error) {\n const confirmedError = isError(error)\n ? error\n : new Error('@graphql-box/worker-client subscribe had an unexpected error.');\n\n return Promise.resolve({ errors: [confirmedError], requestID: context.requestID });\n }\n }\n}\n","import {\n type PartialRequestResult,\n REQUEST_EXECUTED,\n REQUEST_RESOLVED,\n type RequestContext,\n type RequestOptions,\n} from '@graphql-box/core';\nimport { isAsyncIterable } from 'iterall';\nimport { operationNameRegex } from '../helpers/operationNameRegex.ts';\nimport { type WorkerClient } from '../main.ts';\n\ntype Descriptor = (\n request: string,\n options: RequestOptions,\n context: RequestContext\n) => Promise<PartialRequestResult | AsyncIterableIterator<PartialRequestResult | undefined>>;\n\nexport const logRequest = () => {\n return (_target: WorkerClient, _propertyName: string, descriptor: TypedPropertyDescriptor<Descriptor>): void => {\n const method = descriptor.value;\n\n if (!method) {\n return;\n }\n\n descriptor.value = async function descriptorValue(...args: Parameters<Descriptor>): ReturnType<Descriptor> {\n return new Promise(resolve => {\n void (async () => {\n const { debugManager, ...otherContext } = args[2];\n\n if (!debugManager) {\n resolve(await method.apply(this, args));\n return;\n }\n\n const derivedOperationName = operationNameRegex(args[0]);\n const startTime = debugManager.now();\n\n debugManager.log(REQUEST_EXECUTED, {\n context: { ...otherContext, operationName: derivedOperationName },\n options: args[1],\n request: args[0],\n stats: { startTime },\n });\n\n const result = await method.apply(this, args);\n const endTime = debugManager.now();\n const duration = endTime - startTime;\n resolve(result);\n\n if (isAsyncIterable(result)) {\n return;\n }\n\n debugManager.log(REQUEST_RESOLVED, {\n context: { ...otherContext, operationName: derivedOperationName },\n options: args[1],\n request: args[0],\n result,\n stats: { duration, endTime, startTime },\n });\n })();\n });\n };\n };\n};\n","import {\n type PartialRequestResult,\n type RequestContext,\n type RequestOptions,\n SUBSCRIPTION_EXECUTED,\n} from '@graphql-box/core';\nimport { operationNameRegex } from '../helpers/operationNameRegex.ts';\nimport { type WorkerClient } from '../main.ts';\n\ntype Descriptor = (\n request: string,\n options: RequestOptions,\n context: RequestContext\n) => Promise<PartialRequestResult | AsyncIterableIterator<PartialRequestResult | undefined>>;\n\nexport const logSubscription = () => {\n return (_target: WorkerClient, _propertyName: string, descriptor: TypedPropertyDescriptor<Descriptor>): void => {\n const method = descriptor.value;\n\n if (!method) {\n return;\n }\n\n descriptor.value = async function descriptorValue(...args: Parameters<Descriptor>): ReturnType<Descriptor> {\n return new Promise(resolve => {\n void (async () => {\n const { debugManager, ...otherContext } = args[2];\n\n if (!debugManager) {\n resolve(await method.apply(this, args));\n return;\n }\n\n const derivedOperationName = operationNameRegex(args[0]);\n const startTime = debugManager.now();\n\n debugManager.log(SUBSCRIPTION_EXECUTED, {\n context: { ...otherContext, operationName: derivedOperationName },\n options: args[1],\n request: args[0],\n stats: { startTime },\n });\n\n const result = await method.apply(this, args);\n resolve(result);\n })();\n });\n };\n };\n};\n","import { type PostMessage as CachemapMessageRequestPayload } from '@cachemap/core-worker';\nimport { GRAPHQL_BOX } from '../constants.ts';\nimport type { MessageRequestPayload } from '../types.ts';\n\nexport const isGraphqlBoxMessageRequestPayload = (\n payload: MessageRequestPayload | CachemapMessageRequestPayload\n): payload is MessageRequestPayload => payload.type === GRAPHQL_BOX;\n","import {\n type PostMessage as CachemapMessageRequestPayload,\n handleMessage as handleCachemapMessage,\n} from '@cachemap/core-worker';\nimport { type Client } from '@graphql-box/client';\nimport {\n type PartialRequestResult,\n type PartialRequestResultWithDehydratedCacheMetadata,\n type RequestOptions,\n} from '@graphql-box/core';\nimport { dehydrateCacheMetadata, serializeErrors } from '@graphql-box/helpers';\nimport { forAwaitEach, isAsyncIterable } from 'iterall';\nimport { GRAPHQL_BOX, MESSAGE, REQUEST } from './constants.ts';\nimport { isGraphqlBoxMessageRequestPayload } from './helpers/isGraphqlBoxMessageRequestPayload.ts';\nimport {\n type MessageContext,\n type MessageRequestPayload,\n type MethodNames,\n type RegisterWorkerOptions,\n} from './types.ts';\n\nconst globalScope = self as unknown as DedicatedWorkerGlobalScope;\n\nconst handleRequest = async (\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 PartialRequestResult;\n const result: PartialRequestResultWithDehydratedCacheMetadata = { ...otherProps };\n\n if (_cacheMetadata) {\n result._cacheMetadata = dehydrateCacheMetadata(_cacheMetadata);\n }\n\n globalScope.postMessage({ context, method, result: serializeErrors(result), type: GRAPHQL_BOX });\n return;\n }\n\n void forAwaitEach(requestResult, ({ _cacheMetadata, ...otherProps }: PartialRequestResult) => {\n const result: PartialRequestResultWithDehydratedCacheMetadata = { ...otherProps };\n\n if (_cacheMetadata) {\n result._cacheMetadata = dehydrateCacheMetadata(_cacheMetadata);\n }\n\n globalScope.postMessage({ context, method, result: serializeErrors(result), type: GRAPHQL_BOX });\n });\n};\n\nconst handleSubscription = async (\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 globalScope.postMessage({\n context,\n method,\n result: serializeErrors(subscribeResult as PartialRequestResult),\n type: GRAPHQL_BOX,\n });\n\n return;\n }\n\n void forAwaitEach(subscribeResult, ({ _cacheMetadata, ...otherProps }: PartialRequestResult) => {\n const result: PartialRequestResultWithDehydratedCacheMetadata = { ...otherProps };\n\n if (_cacheMetadata) {\n result._cacheMetadata = dehydrateCacheMetadata(_cacheMetadata);\n }\n\n globalScope.postMessage({ context, method, result: serializeErrors(result), type: GRAPHQL_BOX });\n });\n};\n\nexport const handleMessage = (data: MessageRequestPayload, client: Client): void => {\n const { context, method, options, request } = data;\n\n if (method === REQUEST) {\n void handleRequest(request, method, options, context, client);\n } else {\n void handleSubscription(request, method, options, context, client);\n }\n};\n\nexport const registerWorker = ({ client }: RegisterWorkerOptions): void => {\n const onMessage = ({ data }: MessageEvent<MessageRequestPayload | CachemapMessageRequestPayload>): void => {\n if (isGraphqlBoxMessageRequestPayload(data)) {\n handleMessage(data, client);\n } else {\n void handleCachemapMessage(data, client.cache);\n }\n };\n\n globalScope.addEventListener(MESSAGE, onMessage);\n};\n"],"names":["GRAPHQL_BOX","MESSAGE","REQUEST","SUBSCRIBE","operationNameRegex","request","output","exec","WorkerClient","_dec","_target","_propertyName","descriptor","method","value","async","args","Promise","resolve","debugManager","otherContext","apply","this","derivedOperationName","startTime","now","log","REQUEST_EXECUTED","context","operationName","options","stats","result","endTime","duration","isAsyncIterable","REQUEST_RESOLVED","_dec2","SUBSCRIPTION_EXECUTED","_class","_getMessageContext","hasDeferOrStream","requestID","constructor","_defineProperty","data","isPlainObject","type","_cacheMetadata","otherProps","response","deserializeErrors","rehydrateCacheMetadata","_debugManager","SUBSCRIPTION_RESOLVED","_eventEmitter","emit","pending","_pending","get","eventAsyncIterator","EventAsyncIterator","getIterator","Map","errors","push","ArgsError","length","GroupedError","_cache","cache","EventEmitter","_experimentalDeferStreamSupport","experimentalDeferStreamSupport","_worker","worker","_addEventListener","mutate","_request","_getRequestContext","OperationTypeNode","MUTATION","query","QUERY","subscribe","_subscribe","SUBSCRIPTION","addEventListener","_onMessage","operation","fieldTypeMap","filteredRequest","originalRequestHash","hashRequest","parsedRequest","queryFiltered","requestComplexity","requestDepth","uuidv4","postMessage","set","error","isError","Error","confirmedError","_applyDecoratedDescriptor","prototype","Object","getOwnPropertyDescriptor","globalScope","self","handleMessage","client","requestResult","dehydrateCacheMetadata","serializeErrors","forAwaitEach","handleRequest","subscribeResult","handleSubscription","registerWorker","onMessage","handleCachemapMessage"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../worker-client/src//constants.ts","../worker-client/src//helpers/operationNameRegex.ts","../worker-client/src//main.ts","../worker-client/src//debug/logRequest.ts","../worker-client/src//debug/logSubscription.ts","../worker-client/src//helpers/isGraphqlBoxMessageRequestPayload.ts","../worker-client/src//registerWorker.ts"],"sourcesContent":["export const CACHEMAP = 'cachemap' as const;\nexport const GRAPHQL_BOX = 'graphqlBox' as const;\nexport const MESSAGE = 'message' as const;\nexport const REQUEST = 'request' as const;\nexport const SUBSCRIBE = 'subscribe' as const;\n","export const operationNameRegex = (request: string) => {\n const output = /(query|mutation|subscription) ([A-Za-z]+)(\\(| {)/.exec(request);\n return output ? output[2] : '';\n};\n","import { type CoreWorker } from '@cachemap/core-worker';\nimport {\n type DebugManagerDef,\n type PartialRequestContext,\n type PartialRequestResult,\n REQUEST_RESOLVED,\n type RequestContext,\n type RequestOptions,\n SUBSCRIPTION_RESOLVED,\n} from '@graphql-box/core';\nimport {\n ArgsError,\n EventAsyncIterator,\n GroupedError,\n deserializeErrors,\n hashRequest,\n isPlainObject,\n rehydrateCacheMetadata,\n} from '@graphql-box/helpers';\nimport { EventEmitter } from 'eventemitter3';\nimport { OperationTypeNode } from 'graphql';\nimport { isError } from 'lodash-es';\nimport { v4 as uuidv4 } from 'uuid';\nimport { GRAPHQL_BOX, MESSAGE, REQUEST, SUBSCRIBE } from './constants.ts';\nimport { logRequest } from './debug/logRequest.ts';\nimport { logSubscription } from './debug/logSubscription.ts';\nimport {\n type MessageContext,\n type MessageResponsePayload,\n type PendingResolver,\n type PendingTracker,\n type UserOptions,\n} from './types.ts';\n\nexport class WorkerClient {\n private static _getMessageContext({ hasDeferOrStream = false, requestID }: RequestContext): MessageContext {\n return { hasDeferOrStream, requestID };\n }\n\n private _onMessage = ({ data }: MessageEvent<MessageResponsePayload>): void => {\n if (!isPlainObject(data)) {\n return;\n }\n\n const { context, method, result, type } = data;\n\n if (type !== GRAPHQL_BOX) {\n return;\n }\n\n const { _cacheMetadata, ...otherProps } = result;\n const response: PartialRequestResult = { ...deserializeErrors(otherProps), requestID: context.requestID };\n\n if (_cacheMetadata) {\n response._cacheMetadata = rehydrateCacheMetadata(_cacheMetadata);\n }\n\n if (method === SUBSCRIBE) {\n this._debugManager?.log(SUBSCRIPTION_RESOLVED, {\n context,\n result: response,\n stats: { endTime: this._debugManager.now() },\n });\n\n this._eventEmitter.emit(context.requestID, response);\n } else if (context.hasDeferOrStream) {\n const pending = this._pending.get(context.requestID);\n\n if (pending) {\n const eventAsyncIterator = new EventAsyncIterator<PartialRequestResult>(this._eventEmitter, context.requestID);\n pending.resolve(eventAsyncIterator.getIterator());\n }\n\n this._debugManager?.log(REQUEST_RESOLVED, {\n context,\n result: response,\n stats: { endTime: this._debugManager.now() },\n });\n\n this._eventEmitter.emit(context.requestID, response);\n } else {\n const pending = this._pending.get(context.requestID);\n\n if (!pending) {\n return;\n }\n\n this._debugManager?.log(REQUEST_RESOLVED, {\n context,\n result: response,\n stats: { endTime: this._debugManager.now() },\n });\n\n pending.resolve(response);\n }\n };\n\n private _cache: CoreWorker;\n private _debugManager: DebugManagerDef | null;\n private _eventEmitter: EventEmitter;\n private _experimentalDeferStreamSupport: boolean;\n private _pending: PendingTracker = new Map();\n private _worker: Worker;\n\n constructor(options: UserOptions) {\n const errors: ArgsError[] = [];\n\n if (!isPlainObject(options)) {\n errors.push(new ArgsError('@graphql-box/worker-client expected options to ba a plain object.'));\n }\n\n if (!('cache' in options)) {\n errors.push(new ArgsError('@graphql-box/worker-client expected options.cache.'));\n }\n\n if (!('worker' in options)) {\n errors.push(new ArgsError('@graphql-box/worker-client expected options.worker.'));\n }\n\n if (errors.length > 0) {\n throw new GroupedError('@graphql-box/worker-client argument validation errors.', errors);\n }\n\n this._cache = options.cache;\n this._debugManager = options.debugManager ?? null;\n this._eventEmitter = new EventEmitter();\n this._experimentalDeferStreamSupport = options.experimentalDeferStreamSupport ?? false;\n this._worker = options.worker;\n this._addEventListener();\n }\n\n get cache(): CoreWorker {\n return this._cache;\n }\n\n public async mutate(request: string, options: RequestOptions = {}, context: PartialRequestContext = {}) {\n return this._request(request, options, this._getRequestContext(OperationTypeNode.MUTATION, request, context));\n }\n\n public async query(request: string, options: RequestOptions = {}, context: PartialRequestContext = {}) {\n return this._request(request, options, this._getRequestContext(OperationTypeNode.QUERY, request, context));\n }\n\n public async request(request: string, options: RequestOptions = {}, context: PartialRequestContext = {}) {\n return this._request(request, options, this._getRequestContext(OperationTypeNode.QUERY, request, context));\n }\n\n public async subscribe(request: string, options: RequestOptions = {}) {\n return this._subscribe(request, options, this._getRequestContext(OperationTypeNode.SUBSCRIPTION, request));\n }\n\n private _addEventListener(): void {\n this._worker.addEventListener(MESSAGE, this._onMessage);\n }\n\n private _getRequestContext(\n operation: OperationTypeNode,\n request: string,\n context: PartialRequestContext = {}\n ): RequestContext {\n return {\n debugManager: this._debugManager,\n experimentalDeferStreamSupport: this._experimentalDeferStreamSupport,\n fieldTypeMap: new Map(),\n filteredRequest: '',\n operation,\n operationName: '',\n originalRequestHash: hashRequest(request),\n parsedRequest: '',\n queryFiltered: false,\n request,\n requestComplexity: null,\n requestDepth: null,\n requestID: uuidv4(),\n ...context,\n };\n }\n\n @logRequest()\n private async _request(\n request: string,\n options: RequestOptions,\n context: RequestContext\n ): Promise<PartialRequestResult | AsyncIterableIterator<PartialRequestResult | undefined>> {\n try {\n return await new Promise((resolve: PendingResolver) => {\n this._worker.postMessage({\n context: WorkerClient._getMessageContext(context),\n method: REQUEST,\n options,\n request,\n type: GRAPHQL_BOX,\n });\n\n this._pending.set(context.requestID, { resolve });\n });\n } catch (error) {\n const confirmedError = isError(error)\n ? error\n : new Error('@graphql-box/worker-client request had an unexpected error.');\n\n return { errors: [confirmedError], requestID: context.requestID };\n }\n }\n\n @logSubscription()\n private _subscribe(\n request: string,\n options: RequestOptions,\n context: RequestContext\n ): Promise<PartialRequestResult | AsyncIterableIterator<PartialRequestResult | undefined>> {\n try {\n this._worker.postMessage({\n context: WorkerClient._getMessageContext(context),\n method: SUBSCRIBE,\n options,\n request,\n type: GRAPHQL_BOX,\n });\n\n const eventAsyncIterator = new EventAsyncIterator<PartialRequestResult>(this._eventEmitter, context.requestID);\n return Promise.resolve(eventAsyncIterator.getIterator());\n } catch (error) {\n const confirmedError = isError(error)\n ? error\n : new Error('@graphql-box/worker-client subscribe had an unexpected error.');\n\n return Promise.resolve({ errors: [confirmedError], requestID: context.requestID });\n }\n }\n}\n","import {\n type PartialRequestResult,\n REQUEST_EXECUTED,\n REQUEST_RESOLVED,\n type RequestContext,\n type RequestOptions,\n} from '@graphql-box/core';\nimport { isAsyncIterable } from 'iterall';\nimport { operationNameRegex } from '../helpers/operationNameRegex.ts';\nimport { type WorkerClient } from '../main.ts';\n\ntype Descriptor = (\n request: string,\n options: RequestOptions,\n context: RequestContext\n) => Promise<PartialRequestResult | AsyncIterableIterator<PartialRequestResult | undefined>>;\n\nexport const logRequest = () => {\n return (_target: WorkerClient, _propertyName: string, descriptor: TypedPropertyDescriptor<Descriptor>): void => {\n const method = descriptor.value;\n\n if (!method) {\n return;\n }\n\n descriptor.value = async function descriptorValue(...args: Parameters<Descriptor>): ReturnType<Descriptor> {\n return new Promise(resolve => {\n void (async () => {\n const { debugManager, ...otherContext } = args[2];\n\n if (!debugManager) {\n resolve(await method.apply(this, args));\n return;\n }\n\n const derivedOperationName = operationNameRegex(args[0]);\n const startTime = debugManager.now();\n\n debugManager.log(REQUEST_EXECUTED, {\n context: { ...otherContext, operationName: derivedOperationName },\n options: args[1],\n request: args[0],\n stats: { startTime },\n });\n\n const result = await method.apply(this, args);\n const endTime = debugManager.now();\n const duration = endTime - startTime;\n resolve(result);\n\n if (isAsyncIterable(result)) {\n return;\n }\n\n debugManager.log(REQUEST_RESOLVED, {\n context: { ...otherContext, operationName: derivedOperationName },\n options: args[1],\n request: args[0],\n result,\n stats: { duration, endTime, startTime },\n });\n })();\n });\n };\n };\n};\n","import {\n type PartialRequestResult,\n type RequestContext,\n type RequestOptions,\n SUBSCRIPTION_EXECUTED,\n} from '@graphql-box/core';\nimport { operationNameRegex } from '../helpers/operationNameRegex.ts';\nimport { type WorkerClient } from '../main.ts';\n\ntype Descriptor = (\n request: string,\n options: RequestOptions,\n context: RequestContext\n) => Promise<PartialRequestResult | AsyncIterableIterator<PartialRequestResult | undefined>>;\n\nexport const logSubscription = () => {\n return (_target: WorkerClient, _propertyName: string, descriptor: TypedPropertyDescriptor<Descriptor>): void => {\n const method = descriptor.value;\n\n if (!method) {\n return;\n }\n\n descriptor.value = async function descriptorValue(...args: Parameters<Descriptor>): ReturnType<Descriptor> {\n return new Promise(resolve => {\n void (async () => {\n const { debugManager, ...otherContext } = args[2];\n\n if (!debugManager) {\n resolve(await method.apply(this, args));\n return;\n }\n\n const derivedOperationName = operationNameRegex(args[0]);\n const startTime = debugManager.now();\n\n debugManager.log(SUBSCRIPTION_EXECUTED, {\n context: { ...otherContext, operationName: derivedOperationName },\n options: args[1],\n request: args[0],\n stats: { startTime },\n });\n\n const result = await method.apply(this, args);\n resolve(result);\n })();\n });\n };\n };\n};\n","import { type PostMessage as CachemapMessageRequestPayload } from '@cachemap/core-worker';\nimport { GRAPHQL_BOX } from '../constants.ts';\nimport { type MessageRequestPayload } from '../types.ts';\n\nexport const isGraphqlBoxMessageRequestPayload = (\n payload: MessageRequestPayload | CachemapMessageRequestPayload\n): payload is MessageRequestPayload => payload.type === GRAPHQL_BOX;\n","import {\n type PostMessage as CachemapMessageRequestPayload,\n handleMessage as handleCachemapMessage,\n} from '@cachemap/core-worker';\nimport { type Client } from '@graphql-box/client';\nimport {\n type PartialRequestResult,\n type PartialRequestResultWithDehydratedCacheMetadata,\n type RequestOptions,\n} from '@graphql-box/core';\nimport { dehydrateCacheMetadata, serializeErrors } from '@graphql-box/helpers';\nimport { forAwaitEach, isAsyncIterable } from 'iterall';\nimport { GRAPHQL_BOX, MESSAGE, REQUEST } from './constants.ts';\nimport { isGraphqlBoxMessageRequestPayload } from './helpers/isGraphqlBoxMessageRequestPayload.ts';\nimport {\n type MessageContext,\n type MessageRequestPayload,\n type MethodNames,\n type RegisterWorkerOptions,\n} from './types.ts';\n\nconst globalScope = self as unknown as DedicatedWorkerGlobalScope;\n\nconst handleRequest = async (\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 PartialRequestResult;\n const result: PartialRequestResultWithDehydratedCacheMetadata = { ...otherProps };\n\n if (_cacheMetadata) {\n result._cacheMetadata = dehydrateCacheMetadata(_cacheMetadata);\n }\n\n globalScope.postMessage({ context, method, result: serializeErrors(result), type: GRAPHQL_BOX });\n return;\n }\n\n void forAwaitEach(requestResult, ({ _cacheMetadata, ...otherProps }: PartialRequestResult) => {\n const result: PartialRequestResultWithDehydratedCacheMetadata = { ...otherProps };\n\n if (_cacheMetadata) {\n result._cacheMetadata = dehydrateCacheMetadata(_cacheMetadata);\n }\n\n globalScope.postMessage({ context, method, result: serializeErrors(result), type: GRAPHQL_BOX });\n });\n};\n\nconst handleSubscription = async (\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 globalScope.postMessage({\n context,\n method,\n result: serializeErrors(subscribeResult as PartialRequestResult),\n type: GRAPHQL_BOX,\n });\n\n return;\n }\n\n void forAwaitEach(subscribeResult, ({ _cacheMetadata, ...otherProps }: PartialRequestResult) => {\n const result: PartialRequestResultWithDehydratedCacheMetadata = { ...otherProps };\n\n if (_cacheMetadata) {\n result._cacheMetadata = dehydrateCacheMetadata(_cacheMetadata);\n }\n\n globalScope.postMessage({ context, method, result: serializeErrors(result), type: GRAPHQL_BOX });\n });\n};\n\nexport const handleMessage = (data: MessageRequestPayload, client: Client): void => {\n const { context, method, options, request } = data;\n\n if (method === REQUEST) {\n void handleRequest(request, method, options, context, client);\n } else {\n void handleSubscription(request, method, options, context, client);\n }\n};\n\nexport const registerWorker = ({ client }: RegisterWorkerOptions): void => {\n const onMessage = ({ data }: MessageEvent<MessageRequestPayload | CachemapMessageRequestPayload>): void => {\n if (isGraphqlBoxMessageRequestPayload(data)) {\n handleMessage(data, client);\n } else {\n void handleCachemapMessage(data, client.cache);\n }\n };\n\n globalScope.addEventListener(MESSAGE, onMessage);\n};\n"],"names":["GRAPHQL_BOX","MESSAGE","REQUEST","SUBSCRIBE","operationNameRegex","request","output","exec","WorkerClient","_dec","_target","_propertyName","descriptor","method","value","async","args","Promise","resolve","debugManager","otherContext","apply","this","derivedOperationName","startTime","now","log","REQUEST_EXECUTED","context","operationName","options","stats","result","endTime","duration","isAsyncIterable","REQUEST_RESOLVED","_dec2","SUBSCRIPTION_EXECUTED","_class","_getMessageContext","hasDeferOrStream","requestID","constructor","_defineProperty","data","isPlainObject","type","_cacheMetadata","otherProps","response","deserializeErrors","rehydrateCacheMetadata","_debugManager","SUBSCRIPTION_RESOLVED","_eventEmitter","emit","pending","_pending","get","eventAsyncIterator","EventAsyncIterator","getIterator","Map","errors","push","ArgsError","length","GroupedError","_cache","cache","EventEmitter","_experimentalDeferStreamSupport","experimentalDeferStreamSupport","_worker","worker","_addEventListener","mutate","_request","_getRequestContext","OperationTypeNode","MUTATION","query","QUERY","subscribe","_subscribe","SUBSCRIPTION","addEventListener","_onMessage","operation","fieldTypeMap","filteredRequest","originalRequestHash","hashRequest","parsedRequest","queryFiltered","requestComplexity","requestDepth","uuidv4","postMessage","set","error","isError","Error","confirmedError","_applyDecoratedDescriptor","prototype","Object","getOwnPropertyDescriptor","globalScope","self","handleMessage","client","requestResult","dehydrateCacheMetadata","serializeErrors","forAwaitEach","handleRequest","subscribeResult","handleSubscription","registerWorker","onMessage","handleCachemapMessage"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../worker-client/src//constants.ts","../worker-client/src//helpers/operationNameRegex.ts","../worker-client/src//main.ts","../worker-client/src//debug/logRequest.ts","../worker-client/src//debug/logSubscription.ts","../worker-client/src//helpers/isGraphqlBoxMessageRequestPayload.ts","../worker-client/src//registerWorker.ts"],"sourcesContent":["export const CACHEMAP = 'cachemap' as const;\nexport const GRAPHQL_BOX = 'graphqlBox' as const;\nexport const MESSAGE = 'message' as const;\nexport const REQUEST = 'request' as const;\nexport const SUBSCRIBE = 'subscribe' as const;\n","export const operationNameRegex = (request: string) => {\n const output = /(query|mutation|subscription) ([A-Za-z]+)(\\(| {)/.exec(request);\n return output ? output[2] : '';\n};\n","import { type CoreWorker } from '@cachemap/core-worker';\nimport {\n type DebugManagerDef,\n type PartialRequestContext,\n type PartialRequestResult,\n REQUEST_RESOLVED,\n type RequestContext,\n type RequestOptions,\n SUBSCRIPTION_RESOLVED,\n} from '@graphql-box/core';\nimport {\n ArgsError,\n EventAsyncIterator,\n GroupedError,\n deserializeErrors,\n hashRequest,\n isPlainObject,\n rehydrateCacheMetadata,\n} from '@graphql-box/helpers';\nimport { EventEmitter } from 'eventemitter3';\nimport { OperationTypeNode } from 'graphql';\nimport { isError } from 'lodash-es';\nimport { v4 as uuidv4 } from 'uuid';\nimport { GRAPHQL_BOX, MESSAGE, REQUEST, SUBSCRIBE } from './constants.ts';\nimport { logRequest } from './debug/logRequest.ts';\nimport { logSubscription } from './debug/logSubscription.ts';\nimport {\n type MessageContext,\n type MessageResponsePayload,\n type PendingResolver,\n type PendingTracker,\n type UserOptions,\n} from './types.ts';\n\nexport class WorkerClient {\n private static _getMessageContext({ hasDeferOrStream = false, requestID }: RequestContext): MessageContext {\n return { hasDeferOrStream, requestID };\n }\n\n private _onMessage = ({ data }: MessageEvent<MessageResponsePayload>): void => {\n if (!isPlainObject(data)) {\n return;\n }\n\n const { context, method, result, type } = data;\n\n if (type !== GRAPHQL_BOX) {\n return;\n }\n\n const { _cacheMetadata, ...otherProps } = result;\n const response: PartialRequestResult = { ...deserializeErrors(otherProps), requestID: context.requestID };\n\n if (_cacheMetadata) {\n response._cacheMetadata = rehydrateCacheMetadata(_cacheMetadata);\n }\n\n if (method === SUBSCRIBE) {\n this._debugManager?.log(SUBSCRIPTION_RESOLVED, {\n context,\n result: response,\n stats: { endTime: this._debugManager.now() },\n });\n\n this._eventEmitter.emit(context.requestID, response);\n } else if (context.hasDeferOrStream) {\n const pending = this._pending.get(context.requestID);\n\n if (pending) {\n const eventAsyncIterator = new EventAsyncIterator<PartialRequestResult>(this._eventEmitter, context.requestID);\n pending.resolve(eventAsyncIterator.getIterator());\n }\n\n this._debugManager?.log(REQUEST_RESOLVED, {\n context,\n result: response,\n stats: { endTime: this._debugManager.now() },\n });\n\n this._eventEmitter.emit(context.requestID, response);\n } else {\n const pending = this._pending.get(context.requestID);\n\n if (!pending) {\n return;\n }\n\n this._debugManager?.log(REQUEST_RESOLVED, {\n context,\n result: response,\n stats: { endTime: this._debugManager.now() },\n });\n\n pending.resolve(response);\n }\n };\n\n private _cache: CoreWorker;\n private _debugManager: DebugManagerDef | null;\n private _eventEmitter: EventEmitter;\n private _experimentalDeferStreamSupport: boolean;\n private _pending: PendingTracker = new Map();\n private _worker: Worker;\n\n constructor(options: UserOptions) {\n const errors: ArgsError[] = [];\n\n if (!isPlainObject(options)) {\n errors.push(new ArgsError('@graphql-box/worker-client expected options to ba a plain object.'));\n }\n\n if (!('cache' in options)) {\n errors.push(new ArgsError('@graphql-box/worker-client expected options.cache.'));\n }\n\n if (!('worker' in options)) {\n errors.push(new ArgsError('@graphql-box/worker-client expected options.worker.'));\n }\n\n if (errors.length > 0) {\n throw new GroupedError('@graphql-box/worker-client argument validation errors.', errors);\n }\n\n this._cache = options.cache;\n this._debugManager = options.debugManager ?? null;\n this._eventEmitter = new EventEmitter();\n this._experimentalDeferStreamSupport = options.experimentalDeferStreamSupport ?? false;\n this._worker = options.worker;\n this._addEventListener();\n }\n\n get cache(): CoreWorker {\n return this._cache;\n }\n\n public async mutate(request: string, options: RequestOptions = {}, context: PartialRequestContext = {}) {\n return this._request(request, options, this._getRequestContext(OperationTypeNode.MUTATION, request, context));\n }\n\n public async query(request: string, options: RequestOptions = {}, context: PartialRequestContext = {}) {\n return this._request(request, options, this._getRequestContext(OperationTypeNode.QUERY, request, context));\n }\n\n public async request(request: string, options: RequestOptions = {}, context: PartialRequestContext = {}) {\n return this._request(request, options, this._getRequestContext(OperationTypeNode.QUERY, request, context));\n }\n\n public async subscribe(request: string, options: RequestOptions = {}) {\n return this._subscribe(request, options, this._getRequestContext(OperationTypeNode.SUBSCRIPTION, request));\n }\n\n private _addEventListener(): void {\n this._worker.addEventListener(MESSAGE, this._onMessage);\n }\n\n private _getRequestContext(\n operation: OperationTypeNode,\n request: string,\n context: PartialRequestContext = {}\n ): RequestContext {\n return {\n debugManager: this._debugManager,\n experimentalDeferStreamSupport: this._experimentalDeferStreamSupport,\n fieldTypeMap: new Map(),\n filteredRequest: '',\n operation,\n operationName: '',\n originalRequestHash: hashRequest(request),\n parsedRequest: '',\n queryFiltered: false,\n request,\n requestComplexity: null,\n requestDepth: null,\n requestID: uuidv4(),\n ...context,\n };\n }\n\n @logRequest()\n private async _request(\n request: string,\n options: RequestOptions,\n context: RequestContext\n ): Promise<PartialRequestResult | AsyncIterableIterator<PartialRequestResult | undefined>> {\n try {\n return await new Promise((resolve: PendingResolver) => {\n this._worker.postMessage({\n context: WorkerClient._getMessageContext(context),\n method: REQUEST,\n options,\n request,\n type: GRAPHQL_BOX,\n });\n\n this._pending.set(context.requestID, { resolve });\n });\n } catch (error) {\n const confirmedError = isError(error)\n ? error\n : new Error('@graphql-box/worker-client request had an unexpected error.');\n\n return { errors: [confirmedError], requestID: context.requestID };\n }\n }\n\n @logSubscription()\n private _subscribe(\n request: string,\n options: RequestOptions,\n context: RequestContext\n ): Promise<PartialRequestResult | AsyncIterableIterator<PartialRequestResult | undefined>> {\n try {\n this._worker.postMessage({\n context: WorkerClient._getMessageContext(context),\n method: SUBSCRIBE,\n options,\n request,\n type: GRAPHQL_BOX,\n });\n\n const eventAsyncIterator = new EventAsyncIterator<PartialRequestResult>(this._eventEmitter, context.requestID);\n return Promise.resolve(eventAsyncIterator.getIterator());\n } catch (error) {\n const confirmedError = isError(error)\n ? error\n : new Error('@graphql-box/worker-client subscribe had an unexpected error.');\n\n return Promise.resolve({ errors: [confirmedError], requestID: context.requestID });\n }\n }\n}\n","import {\n type PartialRequestResult,\n REQUEST_EXECUTED,\n REQUEST_RESOLVED,\n type RequestContext,\n type RequestOptions,\n} from '@graphql-box/core';\nimport { isAsyncIterable } from 'iterall';\nimport { operationNameRegex } from '../helpers/operationNameRegex.ts';\nimport { type WorkerClient } from '../main.ts';\n\ntype Descriptor = (\n request: string,\n options: RequestOptions,\n context: RequestContext\n) => Promise<PartialRequestResult | AsyncIterableIterator<PartialRequestResult | undefined>>;\n\nexport const logRequest = () => {\n return (_target: WorkerClient, _propertyName: string, descriptor: TypedPropertyDescriptor<Descriptor>): void => {\n const method = descriptor.value;\n\n if (!method) {\n return;\n }\n\n descriptor.value = async function descriptorValue(...args: Parameters<Descriptor>): ReturnType<Descriptor> {\n return new Promise(resolve => {\n void (async () => {\n const { debugManager, ...otherContext } = args[2];\n\n if (!debugManager) {\n resolve(await method.apply(this, args));\n return;\n }\n\n const derivedOperationName = operationNameRegex(args[0]);\n const startTime = debugManager.now();\n\n debugManager.log(REQUEST_EXECUTED, {\n context: { ...otherContext, operationName: derivedOperationName },\n options: args[1],\n request: args[0],\n stats: { startTime },\n });\n\n const result = await method.apply(this, args);\n const endTime = debugManager.now();\n const duration = endTime - startTime;\n resolve(result);\n\n if (isAsyncIterable(result)) {\n return;\n }\n\n debugManager.log(REQUEST_RESOLVED, {\n context: { ...otherContext, operationName: derivedOperationName },\n options: args[1],\n request: args[0],\n result,\n stats: { duration, endTime, startTime },\n });\n })();\n });\n };\n };\n};\n","import {\n type PartialRequestResult,\n type RequestContext,\n type RequestOptions,\n SUBSCRIPTION_EXECUTED,\n} from '@graphql-box/core';\nimport { operationNameRegex } from '../helpers/operationNameRegex.ts';\nimport { type WorkerClient } from '../main.ts';\n\ntype Descriptor = (\n request: string,\n options: RequestOptions,\n context: RequestContext\n) => Promise<PartialRequestResult | AsyncIterableIterator<PartialRequestResult | undefined>>;\n\nexport const logSubscription = () => {\n return (_target: WorkerClient, _propertyName: string, descriptor: TypedPropertyDescriptor<Descriptor>): void => {\n const method = descriptor.value;\n\n if (!method) {\n return;\n }\n\n descriptor.value = async function descriptorValue(...args: Parameters<Descriptor>): ReturnType<Descriptor> {\n return new Promise(resolve => {\n void (async () => {\n const { debugManager, ...otherContext } = args[2];\n\n if (!debugManager) {\n resolve(await method.apply(this, args));\n return;\n }\n\n const derivedOperationName = operationNameRegex(args[0]);\n const startTime = debugManager.now();\n\n debugManager.log(SUBSCRIPTION_EXECUTED, {\n context: { ...otherContext, operationName: derivedOperationName },\n options: args[1],\n request: args[0],\n stats: { startTime },\n });\n\n const result = await method.apply(this, args);\n resolve(result);\n })();\n });\n };\n };\n};\n","import { type PostMessage as CachemapMessageRequestPayload } from '@cachemap/core-worker';\nimport { GRAPHQL_BOX } from '../constants.ts';\nimport type { MessageRequestPayload } from '../types.ts';\n\nexport const isGraphqlBoxMessageRequestPayload = (\n payload: MessageRequestPayload | CachemapMessageRequestPayload\n): payload is MessageRequestPayload => payload.type === GRAPHQL_BOX;\n","import {\n type PostMessage as CachemapMessageRequestPayload,\n handleMessage as handleCachemapMessage,\n} from '@cachemap/core-worker';\nimport { type Client } from '@graphql-box/client';\nimport {\n type PartialRequestResult,\n type PartialRequestResultWithDehydratedCacheMetadata,\n type RequestOptions,\n} from '@graphql-box/core';\nimport { dehydrateCacheMetadata, serializeErrors } from '@graphql-box/helpers';\nimport { forAwaitEach, isAsyncIterable } from 'iterall';\nimport { GRAPHQL_BOX, MESSAGE, REQUEST } from './constants.ts';\nimport { isGraphqlBoxMessageRequestPayload } from './helpers/isGraphqlBoxMessageRequestPayload.ts';\nimport {\n type MessageContext,\n type MessageRequestPayload,\n type MethodNames,\n type RegisterWorkerOptions,\n} from './types.ts';\n\nconst globalScope = self as unknown as DedicatedWorkerGlobalScope;\n\nconst handleRequest = async (\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 PartialRequestResult;\n const result: PartialRequestResultWithDehydratedCacheMetadata = { ...otherProps };\n\n if (_cacheMetadata) {\n result._cacheMetadata = dehydrateCacheMetadata(_cacheMetadata);\n }\n\n globalScope.postMessage({ context, method, result: serializeErrors(result), type: GRAPHQL_BOX });\n return;\n }\n\n void forAwaitEach(requestResult, ({ _cacheMetadata, ...otherProps }: PartialRequestResult) => {\n const result: PartialRequestResultWithDehydratedCacheMetadata = { ...otherProps };\n\n if (_cacheMetadata) {\n result._cacheMetadata = dehydrateCacheMetadata(_cacheMetadata);\n }\n\n globalScope.postMessage({ context, method, result: serializeErrors(result), type: GRAPHQL_BOX });\n });\n};\n\nconst handleSubscription = async (\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 globalScope.postMessage({\n context,\n method,\n result: serializeErrors(subscribeResult as PartialRequestResult),\n type: GRAPHQL_BOX,\n });\n\n return;\n }\n\n void forAwaitEach(subscribeResult, ({ _cacheMetadata, ...otherProps }: PartialRequestResult) => {\n const result: PartialRequestResultWithDehydratedCacheMetadata = { ...otherProps };\n\n if (_cacheMetadata) {\n result._cacheMetadata = dehydrateCacheMetadata(_cacheMetadata);\n }\n\n globalScope.postMessage({ context, method, result: serializeErrors(result), type: GRAPHQL_BOX });\n });\n};\n\nexport const handleMessage = (data: MessageRequestPayload, client: Client): void => {\n const { context, method, options, request } = data;\n\n if (method === REQUEST) {\n void handleRequest(request, method, options, context, client);\n } else {\n void handleSubscription(request, method, options, context, client);\n }\n};\n\nexport const registerWorker = ({ client }: RegisterWorkerOptions): void => {\n const onMessage = ({ data }: MessageEvent<MessageRequestPayload | CachemapMessageRequestPayload>): void => {\n if (isGraphqlBoxMessageRequestPayload(data)) {\n handleMessage(data, client);\n } else {\n void handleCachemapMessage(data, client.cache);\n }\n };\n\n globalScope.addEventListener(MESSAGE, onMessage);\n};\n"],"names":["CACHEMAP","GRAPHQL_BOX","MESSAGE","REQUEST","SUBSCRIBE","operationNameRegex","request","output","exec","WorkerClient","_dec","_target","_propertyName","descriptor","method","value","async","args","Promise","resolve","debugManager","otherContext","apply","this","derivedOperationName","startTime","now","log","REQUEST_EXECUTED","context","operationName","options","stats","result","endTime","duration","isAsyncIterable","REQUEST_RESOLVED","_dec2","SUBSCRIPTION_EXECUTED","_class","_getMessageContext","hasDeferOrStream","requestID","constructor","_defineProperty","data","isPlainObject","type","_cacheMetadata","otherProps","response","deserializeErrors","rehydrateCacheMetadata","_debugManager","SUBSCRIPTION_RESOLVED","_eventEmitter","emit","pending","_pending","get","eventAsyncIterator","EventAsyncIterator","getIterator","Map","errors","push","ArgsError","length","GroupedError","_cache","cache","EventEmitter","_experimentalDeferStreamSupport","experimentalDeferStreamSupport","_worker","worker","_addEventListener","mutate","_request","_getRequestContext","OperationTypeNode","MUTATION","query","QUERY","subscribe","_subscribe","SUBSCRIPTION","addEventListener","_onMessage","operation","fieldTypeMap","filteredRequest","originalRequestHash","hashRequest","parsedRequest","queryFiltered","requestComplexity","requestDepth","uuidv4","postMessage","set","error","isError","Error","confirmedError","_applyDecoratedDescriptor","prototype","Object","getOwnPropertyDescriptor","globalScope","self","handleMessage","client","requestResult","dehydrateCacheMetadata","serializeErrors","forAwaitEach","handleRequest","subscribeResult","handleSubscription","registerWorker","onMessage","handleCachemapMessage"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sources":["../worker-client/src//constants.ts","../worker-client/src//helpers/operationNameRegex.ts","../worker-client/src//main.ts","../worker-client/src//debug/logRequest.ts","../worker-client/src//debug/logSubscription.ts","../worker-client/src//helpers/isGraphqlBoxMessageRequestPayload.ts","../worker-client/src//registerWorker.ts"],"sourcesContent":["export const CACHEMAP = 'cachemap' as const;\nexport const GRAPHQL_BOX = 'graphqlBox' as const;\nexport const MESSAGE = 'message' as const;\nexport const REQUEST = 'request' as const;\nexport const SUBSCRIBE = 'subscribe' as const;\n","export const operationNameRegex = (request: string) => {\n const output = /(query|mutation|subscription) ([A-Za-z]+)(\\(| {)/.exec(request);\n return output ? output[2] : '';\n};\n","import { type CoreWorker } from '@cachemap/core-worker';\nimport {\n type DebugManagerDef,\n type PartialRequestContext,\n type PartialRequestResult,\n REQUEST_RESOLVED,\n type RequestContext,\n type RequestOptions,\n SUBSCRIPTION_RESOLVED,\n} from '@graphql-box/core';\nimport {\n ArgsError,\n EventAsyncIterator,\n GroupedError,\n deserializeErrors,\n hashRequest,\n isPlainObject,\n rehydrateCacheMetadata,\n} from '@graphql-box/helpers';\nimport { EventEmitter } from 'eventemitter3';\nimport { OperationTypeNode } from 'graphql';\nimport { isError } from 'lodash-es';\nimport { v4 as uuidv4 } from 'uuid';\nimport { GRAPHQL_BOX, MESSAGE, REQUEST, SUBSCRIBE } from './constants.ts';\nimport { logRequest } from './debug/logRequest.ts';\nimport { logSubscription } from './debug/logSubscription.ts';\nimport {\n type MessageContext,\n type MessageResponsePayload,\n type PendingResolver,\n type PendingTracker,\n type UserOptions,\n} from './types.ts';\n\nexport class WorkerClient {\n private static _getMessageContext({ hasDeferOrStream = false, requestID }: RequestContext): MessageContext {\n return { hasDeferOrStream, requestID };\n }\n\n private _onMessage = ({ data }: MessageEvent<MessageResponsePayload>): void => {\n if (!isPlainObject(data)) {\n return;\n }\n\n const { context, method, result, type } = data;\n\n if (type !== GRAPHQL_BOX) {\n return;\n }\n\n const { _cacheMetadata, ...otherProps } = result;\n const response: PartialRequestResult = { ...deserializeErrors(otherProps), requestID: context.requestID };\n\n if (_cacheMetadata) {\n response._cacheMetadata = rehydrateCacheMetadata(_cacheMetadata);\n }\n\n if (method === SUBSCRIBE) {\n this._debugManager?.log(SUBSCRIPTION_RESOLVED, {\n context,\n result: response,\n stats: { endTime: this._debugManager.now() },\n });\n\n this._eventEmitter.emit(context.requestID, response);\n } else if (context.hasDeferOrStream) {\n const pending = this._pending.get(context.requestID);\n\n if (pending) {\n const eventAsyncIterator = new EventAsyncIterator<PartialRequestResult>(this._eventEmitter, context.requestID);\n pending.resolve(eventAsyncIterator.getIterator());\n }\n\n this._debugManager?.log(REQUEST_RESOLVED, {\n context,\n result: response,\n stats: { endTime: this._debugManager.now() },\n });\n\n this._eventEmitter.emit(context.requestID, response);\n } else {\n const pending = this._pending.get(context.requestID);\n\n if (!pending) {\n return;\n }\n\n this._debugManager?.log(REQUEST_RESOLVED, {\n context,\n result: response,\n stats: { endTime: this._debugManager.now() },\n });\n\n pending.resolve(response);\n }\n };\n\n private _cache: CoreWorker;\n private _debugManager: DebugManagerDef | null;\n private _eventEmitter: EventEmitter;\n private _experimentalDeferStreamSupport: boolean;\n private _pending: PendingTracker = new Map();\n private _worker: Worker;\n\n constructor(options: UserOptions) {\n const errors: ArgsError[] = [];\n\n if (!isPlainObject(options)) {\n errors.push(new ArgsError('@graphql-box/worker-client expected options to ba a plain object.'));\n }\n\n if (!('cache' in options)) {\n errors.push(new ArgsError('@graphql-box/worker-client expected options.cache.'));\n }\n\n if (!('worker' in options)) {\n errors.push(new ArgsError('@graphql-box/worker-client expected options.worker.'));\n }\n\n if (errors.length > 0) {\n throw new GroupedError('@graphql-box/worker-client argument validation errors.', errors);\n }\n\n this._cache = options.cache;\n this._debugManager = options.debugManager ?? null;\n this._eventEmitter = new EventEmitter();\n this._experimentalDeferStreamSupport = options.experimentalDeferStreamSupport ?? false;\n this._worker = options.worker;\n this._addEventListener();\n }\n\n get cache(): CoreWorker {\n return this._cache;\n }\n\n public async mutate(request: string, options: RequestOptions = {}, context: PartialRequestContext = {}) {\n return this._request(request, options, this._getRequestContext(OperationTypeNode.MUTATION, request, context));\n }\n\n public async query(request: string, options: RequestOptions = {}, context: PartialRequestContext = {}) {\n return this._request(request, options, this._getRequestContext(OperationTypeNode.QUERY, request, context));\n }\n\n public async request(request: string, options: RequestOptions = {}, context: PartialRequestContext = {}) {\n return this._request(request, options, this._getRequestContext(OperationTypeNode.QUERY, request, context));\n }\n\n public async subscribe(request: string, options: RequestOptions = {}) {\n return this._subscribe(request, options, this._getRequestContext(OperationTypeNode.SUBSCRIPTION, request));\n }\n\n private _addEventListener(): void {\n this._worker.addEventListener(MESSAGE, this._onMessage);\n }\n\n private _getRequestContext(\n operation: OperationTypeNode,\n request: string,\n context: PartialRequestContext = {}\n ): RequestContext {\n return {\n debugManager: this._debugManager,\n experimentalDeferStreamSupport: this._experimentalDeferStreamSupport,\n fieldTypeMap: new Map(),\n filteredRequest: '',\n operation,\n operationName: '',\n originalRequestHash: hashRequest(request),\n parsedRequest: '',\n queryFiltered: false,\n request,\n requestComplexity: null,\n requestDepth: null,\n requestID: uuidv4(),\n ...context,\n };\n }\n\n @logRequest()\n private async _request(\n request: string,\n options: RequestOptions,\n context: RequestContext\n ): Promise<PartialRequestResult | AsyncIterableIterator<PartialRequestResult | undefined>> {\n try {\n return await new Promise((resolve: PendingResolver) => {\n this._worker.postMessage({\n context: WorkerClient._getMessageContext(context),\n method: REQUEST,\n options,\n request,\n type: GRAPHQL_BOX,\n });\n\n this._pending.set(context.requestID, { resolve });\n });\n } catch (error) {\n const confirmedError = isError(error)\n ? error\n : new Error('@graphql-box/worker-client request had an unexpected error.');\n\n return { errors: [confirmedError], requestID: context.requestID };\n }\n }\n\n @logSubscription()\n private _subscribe(\n request: string,\n options: RequestOptions,\n context: RequestContext\n ): Promise<PartialRequestResult | AsyncIterableIterator<PartialRequestResult | undefined>> {\n try {\n this._worker.postMessage({\n context: WorkerClient._getMessageContext(context),\n method: SUBSCRIBE,\n options,\n request,\n type: GRAPHQL_BOX,\n });\n\n const eventAsyncIterator = new EventAsyncIterator<PartialRequestResult>(this._eventEmitter, context.requestID);\n return Promise.resolve(eventAsyncIterator.getIterator());\n } catch (error) {\n const confirmedError = isError(error)\n ? error\n : new Error('@graphql-box/worker-client subscribe had an unexpected error.');\n\n return Promise.resolve({ errors: [confirmedError], requestID: context.requestID });\n }\n }\n}\n","import {\n type PartialRequestResult,\n REQUEST_EXECUTED,\n REQUEST_RESOLVED,\n type RequestContext,\n type RequestOptions,\n} from '@graphql-box/core';\nimport { isAsyncIterable } from 'iterall';\nimport { operationNameRegex } from '../helpers/operationNameRegex.ts';\nimport { type WorkerClient } from '../main.ts';\n\ntype Descriptor = (\n request: string,\n options: RequestOptions,\n context: RequestContext\n) => Promise<PartialRequestResult | AsyncIterableIterator<PartialRequestResult | undefined>>;\n\nexport const logRequest = () => {\n return (_target: WorkerClient, _propertyName: string, descriptor: TypedPropertyDescriptor<Descriptor>): void => {\n const method = descriptor.value;\n\n if (!method) {\n return;\n }\n\n descriptor.value = async function descriptorValue(...args: Parameters<Descriptor>): ReturnType<Descriptor> {\n return new Promise(resolve => {\n void (async () => {\n const { debugManager, ...otherContext } = args[2];\n\n if (!debugManager) {\n resolve(await method.apply(this, args));\n return;\n }\n\n const derivedOperationName = operationNameRegex(args[0]);\n const startTime = debugManager.now();\n\n debugManager.log(REQUEST_EXECUTED, {\n context: { ...otherContext, operationName: derivedOperationName },\n options: args[1],\n request: args[0],\n stats: { startTime },\n });\n\n const result = await method.apply(this, args);\n const endTime = debugManager.now();\n const duration = endTime - startTime;\n resolve(result);\n\n if (isAsyncIterable(result)) {\n return;\n }\n\n debugManager.log(REQUEST_RESOLVED, {\n context: { ...otherContext, operationName: derivedOperationName },\n options: args[1],\n request: args[0],\n result,\n stats: { duration, endTime, startTime },\n });\n })();\n });\n };\n };\n};\n","import {\n type PartialRequestResult,\n type RequestContext,\n type RequestOptions,\n SUBSCRIPTION_EXECUTED,\n} from '@graphql-box/core';\nimport { operationNameRegex } from '../helpers/operationNameRegex.ts';\nimport { type WorkerClient } from '../main.ts';\n\ntype Descriptor = (\n request: string,\n options: RequestOptions,\n context: RequestContext\n) => Promise<PartialRequestResult | AsyncIterableIterator<PartialRequestResult | undefined>>;\n\nexport const logSubscription = () => {\n return (_target: WorkerClient, _propertyName: string, descriptor: TypedPropertyDescriptor<Descriptor>): void => {\n const method = descriptor.value;\n\n if (!method) {\n return;\n }\n\n descriptor.value = async function descriptorValue(...args: Parameters<Descriptor>): ReturnType<Descriptor> {\n return new Promise(resolve => {\n void (async () => {\n const { debugManager, ...otherContext } = args[2];\n\n if (!debugManager) {\n resolve(await method.apply(this, args));\n return;\n }\n\n const derivedOperationName = operationNameRegex(args[0]);\n const startTime = debugManager.now();\n\n debugManager.log(SUBSCRIPTION_EXECUTED, {\n context: { ...otherContext, operationName: derivedOperationName },\n options: args[1],\n request: args[0],\n stats: { startTime },\n });\n\n const result = await method.apply(this, args);\n resolve(result);\n })();\n });\n };\n };\n};\n","import { type PostMessage as CachemapMessageRequestPayload } from '@cachemap/core-worker';\nimport { GRAPHQL_BOX } from '../constants.ts';\nimport { type MessageRequestPayload } from '../types.ts';\n\nexport const isGraphqlBoxMessageRequestPayload = (\n payload: MessageRequestPayload | CachemapMessageRequestPayload\n): payload is MessageRequestPayload => payload.type === GRAPHQL_BOX;\n","import {\n type PostMessage as CachemapMessageRequestPayload,\n handleMessage as handleCachemapMessage,\n} from '@cachemap/core-worker';\nimport { type Client } from '@graphql-box/client';\nimport {\n type PartialRequestResult,\n type PartialRequestResultWithDehydratedCacheMetadata,\n type RequestOptions,\n} from '@graphql-box/core';\nimport { dehydrateCacheMetadata, serializeErrors } from '@graphql-box/helpers';\nimport { forAwaitEach, isAsyncIterable } from 'iterall';\nimport { GRAPHQL_BOX, MESSAGE, REQUEST } from './constants.ts';\nimport { isGraphqlBoxMessageRequestPayload } from './helpers/isGraphqlBoxMessageRequestPayload.ts';\nimport {\n type MessageContext,\n type MessageRequestPayload,\n type MethodNames,\n type RegisterWorkerOptions,\n} from './types.ts';\n\nconst globalScope = self as unknown as DedicatedWorkerGlobalScope;\n\nconst handleRequest = async (\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 PartialRequestResult;\n const result: PartialRequestResultWithDehydratedCacheMetadata = { ...otherProps };\n\n if (_cacheMetadata) {\n result._cacheMetadata = dehydrateCacheMetadata(_cacheMetadata);\n }\n\n globalScope.postMessage({ context, method, result: serializeErrors(result), type: GRAPHQL_BOX });\n return;\n }\n\n void forAwaitEach(requestResult, ({ _cacheMetadata, ...otherProps }: PartialRequestResult) => {\n const result: PartialRequestResultWithDehydratedCacheMetadata = { ...otherProps };\n\n if (_cacheMetadata) {\n result._cacheMetadata = dehydrateCacheMetadata(_cacheMetadata);\n }\n\n globalScope.postMessage({ context, method, result: serializeErrors(result), type: GRAPHQL_BOX });\n });\n};\n\nconst handleSubscription = async (\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 globalScope.postMessage({\n context,\n method,\n result: serializeErrors(subscribeResult as PartialRequestResult),\n type: GRAPHQL_BOX,\n });\n\n return;\n }\n\n void forAwaitEach(subscribeResult, ({ _cacheMetadata, ...otherProps }: PartialRequestResult) => {\n const result: PartialRequestResultWithDehydratedCacheMetadata = { ...otherProps };\n\n if (_cacheMetadata) {\n result._cacheMetadata = dehydrateCacheMetadata(_cacheMetadata);\n }\n\n globalScope.postMessage({ context, method, result: serializeErrors(result), type: GRAPHQL_BOX });\n });\n};\n\nexport const handleMessage = (data: MessageRequestPayload, client: Client): void => {\n const { context, method, options, request } = data;\n\n if (method === REQUEST) {\n void handleRequest(request, method, options, context, client);\n } else {\n void handleSubscription(request, method, options, context, client);\n }\n};\n\nexport const registerWorker = ({ client }: RegisterWorkerOptions): void => {\n const onMessage = ({ data }: MessageEvent<MessageRequestPayload | CachemapMessageRequestPayload>): void => {\n if (isGraphqlBoxMessageRequestPayload(data)) {\n handleMessage(data, client);\n } else {\n void handleCachemapMessage(data, client.cache);\n }\n };\n\n globalScope.addEventListener(MESSAGE, onMessage);\n};\n"],"names":["CACHEMAP","GRAPHQL_BOX","MESSAGE","REQUEST","SUBSCRIBE","operationNameRegex","request","output","exec","WorkerClient","_dec","_target","_propertyName","descriptor","method","value","async","args","Promise","resolve","debugManager","otherContext","apply","this","derivedOperationName","startTime","now","log","REQUEST_EXECUTED","context","operationName","options","stats","result","endTime","duration","isAsyncIterable","REQUEST_RESOLVED","_dec2","SUBSCRIPTION_EXECUTED","_class","_getMessageContext","hasDeferOrStream","requestID","constructor","_defineProperty","data","isPlainObject","type","_cacheMetadata","otherProps","response","deserializeErrors","rehydrateCacheMetadata","_debugManager","SUBSCRIPTION_RESOLVED","_eventEmitter","emit","pending","_pending","get","eventAsyncIterator","EventAsyncIterator","getIterator","Map","errors","push","ArgsError","length","GroupedError","_cache","cache","EventEmitter","_experimentalDeferStreamSupport","experimentalDeferStreamSupport","_worker","worker","_addEventListener","mutate","_request","_getRequestContext","OperationTypeNode","MUTATION","query","QUERY","subscribe","_subscribe","SUBSCRIPTION","addEventListener","_onMessage","operation","fieldTypeMap","filteredRequest","originalRequestHash","hashRequest","parsedRequest","queryFiltered","requestComplexity","requestDepth","uuidv4","postMessage","set","error","isError","Error","confirmedError","_applyDecoratedDescriptor","prototype","Object","getOwnPropertyDescriptor","globalScope","self","handleMessage","client","requestResult","dehydrateCacheMetadata","serializeErrors","forAwaitEach","handleRequest","subscribeResult","handleSubscription","registerWorker","onMessage","handleCachemapMessage"],"mappings":"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"}
@@ -1,50 +1,50 @@
1
1
  -----------------------------
2
2
  Rollup File Analysis
3
3
  -----------------------------
4
- bundle size: 11.477 KB
4
+ bundle size: 11.769 KB
5
5
  original size: 15.177 KB
6
- code reduction: 24.38 %
6
+ code reduction: 22.46 %
7
7
  module count: 8
8
8
 
9
- ██████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░
9
+ ███████████████████████████░░░░░░░░░░░░░░░░░░░░░░░
10
10
  file: /src/main.ts
11
- bundle space: 53.89 %
12
- rendered size: 6.185 KB
11
+ bundle space: 54.01 %
12
+ rendered size: 6.357 KB
13
13
  original size: 7.224 KB
14
- code reduction: 14.38 %
14
+ code reduction: 12 %
15
15
  dependents: 1
16
16
  - /src/index.ts
17
17
 
18
18
  ██████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
19
19
  file: /src/registerWorker.ts
20
- bundle space: 20 %
21
- rendered size: 2.295 KB
20
+ bundle space: 20.32 %
21
+ rendered size: 2.392 KB
22
22
  original size: 3.522 KB
23
- code reduction: 34.84 %
23
+ code reduction: 32.08 %
24
24
  dependents: 1
25
25
  - /src/index.ts
26
26
 
27
27
  ██████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
28
28
  file: /src/debug/logRequest.ts
29
- bundle space: 13.64 %
30
- rendered size: 1.566 KB
29
+ bundle space: 13.46 %
30
+ rendered size: 1.584 KB
31
31
  original size: 2.005 KB
32
- code reduction: 21.9 %
32
+ code reduction: 21 %
33
33
  dependents: 1
34
34
  - /src/main.ts
35
35
 
36
36
  ████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
37
37
  file: /src/debug/logSubscription.ts
38
- bundle space: 9.09 %
39
- rendered size: 1.043 KB
38
+ bundle space: 8.9 %
39
+ rendered size: 1.048 KB
40
40
  original size: 1.515 KB
41
- code reduction: 31.16 %
41
+ code reduction: 30.83 %
42
42
  dependents: 1
43
43
  - /src/main.ts
44
44
 
45
45
  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
46
46
  file: /src/helpers/operationNameRegex.ts
47
- bundle space: 1.39 %
47
+ bundle space: 1.35 %
48
48
  rendered size: 159 Bytes
49
49
  original size: 177 Bytes
50
50
  code reduction: 10.17 %
@@ -54,7 +54,7 @@ dependents: 2
54
54
 
55
55
  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
56
56
  file: /src/constants.ts
57
- bundle space: 1.28 %
57
+ bundle space: 1.25 %
58
58
  rendered size: 147 Bytes
59
59
  original size: 228 Bytes
60
60
  code reduction: 35.53 %
@@ -66,7 +66,7 @@ dependents: 4
66
66
 
67
67
  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
68
68
  file: /src/helpers/isGraphqlBoxMessageRequestPayload.ts
69
- bundle space: 0.71 %
69
+ bundle space: 0.7 %
70
70
  rendered size: 82 Bytes
71
71
  original size: 382 Bytes
72
72
  code reduction: 78.53 %
@@ -1,4 +1,4 @@
1
1
  import { type PostMessage as CachemapMessageRequestPayload } from '@cachemap/core-worker';
2
- import type { MessageRequestPayload } from '../types.cts';
2
+ import { type MessageRequestPayload } from '../types.cts';
3
3
  export declare const isGraphqlBoxMessageRequestPayload: (payload: MessageRequestPayload | CachemapMessageRequestPayload) => payload is MessageRequestPayload;
4
4
  //# sourceMappingURL=isGraphqlBoxMessageRequestPayload.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"isGraphqlBoxMessageRequestPayload.d.cts","sourceRoot":"","sources":["../../../../src/helpers/isGraphqlBoxMessageRequestPayload.cts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,IAAI,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAE1F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,iCAAiC,YACnC,qBAAqB,GAAG,6BAA6B,qCACG,CAAC"}
1
+ {"version":3,"file":"isGraphqlBoxMessageRequestPayload.d.cts","sourceRoot":"","sources":["../../../../src/helpers/isGraphqlBoxMessageRequestPayload.cts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,IAAI,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAE1F,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,iCAAiC,YACnC,qBAAqB,GAAG,6BAA6B,qCACG,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import { type PostMessage as CachemapMessageRequestPayload } from '@cachemap/core-worker';
2
- import type { MessageRequestPayload } from '../types.ts';
2
+ import { type MessageRequestPayload } from '../types.ts';
3
3
  export declare const isGraphqlBoxMessageRequestPayload: (payload: MessageRequestPayload | CachemapMessageRequestPayload) => payload is MessageRequestPayload;
4
4
  //# sourceMappingURL=isGraphqlBoxMessageRequestPayload.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"isGraphqlBoxMessageRequestPayload.d.ts","sourceRoot":"","sources":["../../../../src/helpers/isGraphqlBoxMessageRequestPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,IAAI,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAE1F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,iCAAiC,YACnC,qBAAqB,GAAG,6BAA6B,qCACG,CAAC"}
1
+ {"version":3,"file":"isGraphqlBoxMessageRequestPayload.d.ts","sourceRoot":"","sources":["../../../../src/helpers/isGraphqlBoxMessageRequestPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,IAAI,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAE1F,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEzD,eAAO,MAAM,iCAAiC,YACnC,qBAAqB,GAAG,6BAA6B,qCACG,CAAC"}