@conduit-client/service-bindings-lwc 3.19.6 → 3.20.3

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,6 +1,2 @@
1
- /*!
2
- * Copyright (c) 2022, Salesforce, Inc.,
3
- * All rights reserved.
4
- * For full license text, see the LICENSE.txt file
5
- */
1
+
6
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/dist/v1/index.js CHANGED
@@ -1,8 +1,3 @@
1
- /*!
2
- * Copyright (c) 2022, Salesforce, Inc.,
3
- * All rights reserved.
4
- * For full license text, see the LICENSE.txt file
5
- */
6
1
  import { emitError } from "@conduit-client/bindings-utils/v1";
7
2
  import { assertIsValid, JsonSchemaViolationError, MissingRequiredPropertyError } from "@conduit-client/jsonschema-validate";
8
3
  import { isSubscribableResult, deepFreeze, ok, isUserVisibleError, logError } from "@conduit-client/utils";
@@ -66,7 +61,7 @@ class CommandWireAdapterConstructor {
66
61
  this.callback = callback;
67
62
  this.connected = false;
68
63
  this.exposeRefresh = false;
69
- if (!(options == null ? void 0 : options.skipEmptyEmit)) {
64
+ if (!options?.skipEmptyEmit) {
70
65
  this.emit();
71
66
  }
72
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/v1/sanitize.ts","../../src/v1/utils.ts","../../src/v1/wire.ts","../../src/v1/graphql-wire.ts"],"sourcesContent":["interface CurrentPath {\n key: string;\n value: object;\n parent: CurrentPath | null;\n data: any;\n}\n\nclass Sanitizer<T extends object> {\n obj: T;\n copy: T;\n currentPath: CurrentPath;\n\n constructor(obj: T) {\n this.obj = obj;\n this.copy = {} as T;\n\n this.currentPath = {\n key: '',\n value: obj,\n parent: null,\n data: this.copy,\n };\n }\n\n sanitize(): T {\n const sanitizer = this;\n\n JSON.stringify(this.obj, function (key, value) {\n if (key === '') {\n return value;\n }\n\n const parent = this;\n if (parent !== sanitizer.currentPath.value) {\n sanitizer.exit(parent);\n }\n if (typeof value === 'object' && value !== null) {\n sanitizer.enter(key, value);\n return value;\n }\n sanitizer.currentPath.data[key] = value;\n\n return value;\n });\n\n return this.copy;\n }\n\n private enter(key: string, value: any) {\n const { currentPath: parentPath } = this;\n const data = (parentPath.data[key] = Array.isArray(value) ? [] : {});\n this.currentPath = {\n key,\n value,\n parent: parentPath,\n data,\n };\n }\n\n private exit(parent: any) {\n while (this.currentPath.value !== parent) {\n this.currentPath = this.currentPath.parent || this.currentPath;\n }\n }\n}\n\n/**\n * Returns a sanitized version of an object by recursively unwrapping the Proxies.\n *\n * All the data coming from LWC-land need to be sanitized first.\n */\nexport default function sanitize<T extends object>(obj: T): T {\n return new Sanitizer(obj).sanitize();\n}\n","import { emitError } from '@conduit-client/bindings-utils/v1';\nimport {\n assertIsValid,\n MissingRequiredPropertyError,\n type JSONSchema,\n JsonSchemaViolationError,\n} from '@conduit-client/jsonschema-validate';\nimport {\n type WireAdapter,\n type WireConfigValue,\n type WireContextValue,\n type WireDataCallback,\n} from '@conduit-client/lwc-types';\n\nimport {\n type SyncOrAsync,\n type Unsubscribe,\n type SubscribableResult,\n type CommandError,\n deepFreeze,\n type Result,\n ok,\n isSubscribableResult,\n logError,\n isUserVisibleError,\n} from '@conduit-client/utils';\nimport { type GraphQLResponse } from '@conduit-client/graphql-normalization/v1';\nimport sanitize from './sanitize';\nimport type {\n SubscribableResultCommand,\n ResultCommand,\n MaybeSubscribableResultCommand,\n} from '@conduit-client/bindings-utils/v1';\n\nexport type WireAdapterCompatibleCommand<Data, Error> =\n | SubscribableResultCommand<Data, Error>\n | ResultCommand<Data, Error>\n | MaybeSubscribableResultCommand<Data, Error>;\n\nexport function isIncompleteConfigError(err: unknown): boolean {\n return (\n err instanceof MissingRequiredPropertyError ||\n (err instanceof JsonSchemaViolationError &&\n err.validationErrors.find(\n (validationError) => validationError instanceof MissingRequiredPropertyError\n ) !== undefined)\n );\n}\n\nexport type GetCommand<\n Data,\n Config extends WireConfigValue = WireConfigValue,\n CommandType extends WireAdapterCompatibleCommand<\n Data,\n CommandError\n > = WireAdapterCompatibleCommand<Data, CommandError>,\n> = (condig: Config) => CommandType;\n\n/**\n * Binds a Command to a LWC wire adapter.\n * @see https://lwc.dev/guide/wire_adapter\n */\nexport abstract class CommandWireAdapterConstructor<\n Data,\n Config extends WireConfigValue = WireConfigValue,\n CommandType extends WireAdapterCompatibleCommand<\n Data,\n CommandError\n > = WireAdapterCompatibleCommand<Data, CommandError>,\n> implements WireAdapter\n{\n connected = false;\n config?: Config;\n unsubscriber?: Unsubscribe;\n exposeRefresh = false;\n\n abstract configSchema?: JSONSchema;\n abstract getCommand(): CommandType;\n protected refresh?: () => SyncOrAsync<Result<void, unknown>>;\n\n constructor(\n protected callback: WireDataCallback,\n sourceContext?: {\n tagName?: string;\n },\n options?: {\n skipEmptyEmit?: true;\n }\n ) {\n if (!options?.skipEmptyEmit) {\n this.emit();\n }\n }\n\n connect(): void {\n this.connected = true;\n this.invokeAdapter();\n }\n\n disconnect(): void {\n this.unsubscribe();\n this.connected = false;\n }\n\n update(config: Config, _context?: WireContextValue): void {\n this.unsubscribe();\n this.config = sanitize<Config>(config);\n this.invokeAdapter();\n }\n\n protected emit(result?: Result<Data, unknown> | SubscribableResult<Data, unknown>) {\n try {\n if (result === undefined) {\n this.callback({ data: undefined, error: undefined });\n } else {\n const consumerEmittedRefresh = (): Promise<void> => {\n if (!this.refresh) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n if (!this.refresh) {\n resolve();\n return;\n }\n this.refresh().then((res) => {\n if (res.isOk()) {\n resolve();\n } else {\n reject(\n new Error(\n 'Internal error in Lightning Data Service adapter occurred: Failed to refresh data'\n )\n );\n }\n });\n });\n };\n\n let consumerEmittedData = {\n data: undefined,\n error: undefined,\n } as {\n data: Data | undefined;\n error: unknown | undefined;\n refresh?: () => Promise<void>;\n };\n\n if (this.exposeRefresh && this.refresh) {\n consumerEmittedData.refresh = consumerEmittedRefresh;\n }\n\n if (result.isErr()) {\n if (isSubscribableResult(result)) {\n consumerEmittedData.error = result.error.failure;\n } else {\n consumerEmittedData.error = result.error;\n }\n } else {\n if (isSubscribableResult(result)) {\n deepFreeze(result.value.data);\n consumerEmittedData.data = result.value.data;\n } else {\n deepFreeze(result.value);\n consumerEmittedData.data = result.value;\n }\n }\n\n this.callback(consumerEmittedData);\n }\n } catch (e) {\n this.handleExecutionThrow(e);\n }\n }\n\n protected invokeAdapter() {\n if (!this.connected || this.config === undefined) {\n return;\n }\n\n if (this.configSchema) {\n try {\n assertIsValid<unknown>(this.config, this.configSchema);\n } catch (err) {\n if (isIncompleteConfigError(err)) {\n // config is incomplete, wait for updated config\n return;\n }\n\n if (err instanceof JsonSchemaViolationError) {\n this.handleConfigSchemaViolation(err);\n return;\n }\n\n throw err;\n }\n }\n\n const initialConfig = this.config;\n const command = this.getCommand();\n\n try {\n command.execute().then((result) => {\n // config changed or component disconnected before result came back, ignore result\n if (!this.connected || this.config !== initialConfig) {\n return;\n }\n\n this.refresh = undefined;\n\n if (result.isOk()) {\n if (isSubscribableResult<Data, unknown>(result)) {\n const value = result.value;\n this.unsubscriber = value.subscribe((updatedResult) => {\n if (!this.connected || this.config !== initialConfig) {\n this.unsubscribe();\n return;\n }\n\n this.emit(updatedResult);\n });\n this.refresh = value.refresh;\n this.emit(ok(value.data));\n } else {\n this.emit(result);\n }\n } else {\n if (isSubscribableResult(result)) {\n const value = result.error;\n this.unsubscriber = value.subscribe((updatedResult) => {\n if (!this.connected || this.config !== initialConfig) {\n this.unsubscribe();\n return;\n }\n\n this.emit(updatedResult);\n });\n this.refresh = value.refresh;\n this.emit(result);\n } else {\n this.unsubscriber = () => {};\n this.emit(result);\n }\n }\n });\n } catch (e: unknown) {\n this.handleExecutionThrow(e);\n }\n }\n\n protected handleExecutionThrow(error: unknown) {\n emitError(this.callback, error);\n }\n\n /**\n * Hook for subclasses to handle a JsonSchemaViolationError from the config\n * schema assertion. The default re-throws so legacy non-GraphQL wire\n * adapters keep their existing throw behavior. Overrides are expected to\n * either emit an error result or re-throw — silently returning will\n * swallow the error.\n */\n protected handleConfigSchemaViolation(error: JsonSchemaViolationError): void {\n throw error;\n }\n\n protected unsubscribe() {\n if (this.unsubscriber) {\n this.unsubscriber();\n delete this.unsubscriber;\n }\n }\n}\n\n/**\n * Maps a command failure (unknown or user-visible) into a GraphQLResponse suitable for consumers.\n */\nexport function toGraphQLResponseFromFailure(failure: unknown): {\n data: GraphQLResponse['data'];\n errors: GraphQLResponse['errors'];\n} {\n if (isUserVisibleError<GraphQLResponse>(failure)) {\n return {\n data: failure.data.data,\n errors: failure.data.errors,\n };\n }\n logError(failure);\n return {\n data: undefined,\n errors: [{ message: 'Internal error in GraphQL adapter occurred', locations: [] }],\n };\n}\n","import { type JSONSchema } from '@conduit-client/jsonschema-validate';\nimport {\n type WireAdapterConstructor,\n type WireAdapterResult,\n type WireConfigValue,\n} from '@conduit-client/lwc-types';\nimport { CommandWireAdapterConstructor, type GetCommand } from './utils';\nimport type { NamedService, ServiceDescriptor } from '@conduit-client/utils';\n\nexport class LWCWireBindingsService {\n bind<Data, Config extends WireConfigValue = WireConfigValue>(\n getCommand: GetCommand<Data, Config>,\n configSchema?: JSONSchema,\n exposeRefresh = false\n ): WireAdapterConstructor<Config, WireAdapterResult<Data>, {}> {\n return class extends CommandWireAdapterConstructor<Data, Config> {\n configSchema = configSchema;\n exposeRefresh = exposeRefresh;\n getCommand() {\n return getCommand(this.config!);\n }\n };\n }\n}\n\nexport type LWCWireBindingsServiceDescriptor = ServiceDescriptor<\n LWCWireBindingsService,\n 'lwcWireBindings',\n '1.0'\n>;\n\nexport type NamedLWCWireBindingsService<Name extends string = 'lwcWireBindings'> = NamedService<\n Name,\n LWCWireBindingsService\n>;\n\nexport function buildServiceDescriptor(): LWCWireBindingsServiceDescriptor {\n return {\n type: 'lwcWireBindings',\n version: '1.0',\n service: new LWCWireBindingsService(),\n };\n}\n","import { deepFreeze, isSubscribableResult, isUserVisibleError } from '@conduit-client/utils';\nimport {\n type GraphQLCommandError,\n type GraphQLResponse,\n type GraphQLCommand,\n} from '@conduit-client/graphql-normalization/v1';\nimport {\n type ResolveAndValidateOptions,\n resolveAndValidateGraphQLConfig,\n toGraphQLErrorResponse,\n} from '@conduit-client/onestore-graphql-parser/v1';\nimport {\n type JsonSchemaViolationError,\n type JSONSchema,\n} from '@conduit-client/jsonschema-validate';\nimport {\n type WireAdapterConstructor,\n type WireConfigValue,\n type WireContextValue,\n type GraphQLWireAdapterResult,\n} from '@conduit-client/lwc-types';\nimport {\n CommandWireAdapterConstructor,\n type GetCommand,\n toGraphQLResponseFromFailure,\n} from './utils';\nimport sanitize from './sanitize';\nimport type {\n Result,\n ServiceDescriptor,\n SubscribableResult,\n NamedService,\n} from '@conduit-client/utils';\n\nexport abstract class GraphQLCommandWireAdapterConstructor<\n Config extends WireConfigValue = WireConfigValue,\n> extends CommandWireAdapterConstructor<GraphQLResponse, Config, GraphQLCommand> {\n protected emit(\n result?:\n | SubscribableResult<GraphQLResponse, GraphQLCommandError>\n | Result<GraphQLResponse, GraphQLCommandError>\n | undefined\n ): void {\n try {\n if (result === undefined) {\n this.callback({ data: undefined, errors: undefined });\n } else {\n const consumerEmittedRefresh = (): Promise<void> => {\n if (!this.refresh) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n if (!this.refresh) {\n resolve();\n return;\n }\n this.refresh().then((res) => {\n if (res.isOk()) {\n resolve();\n return;\n }\n\n if (isUserVisibleError(res.error)) {\n resolve();\n return;\n }\n\n reject(\n new Error(\n 'Internal error in GraphQL adapter occurred: Failed to refresh GraphQL data'\n )\n );\n });\n });\n };\n\n let consumerEmittedData = {\n data: undefined,\n errors: undefined,\n } as {\n data: GraphQLResponse['data'];\n errors: GraphQLResponse['errors'];\n refresh?: () => Promise<void>;\n };\n\n if (this.exposeRefresh && this.refresh) {\n consumerEmittedData.refresh = consumerEmittedRefresh;\n }\n\n if (result.isErr()) {\n const failure = isSubscribableResult(result)\n ? result.error.failure\n : result.error;\n const resp = toGraphQLResponseFromFailure(failure);\n consumerEmittedData.data = resp.data;\n consumerEmittedData.errors = resp.errors;\n } else {\n consumerEmittedData.data = result.value.data;\n }\n\n deepFreeze(consumerEmittedData);\n this.callback(consumerEmittedData);\n }\n } catch (e) {\n this.handleExecutionThrow(e);\n }\n }\n\n protected handleExecutionThrow(error: unknown): void {\n this.callback(toGraphQLErrorResponse(error));\n }\n\n protected handleConfigSchemaViolation(error: JsonSchemaViolationError): void {\n this.handleExecutionThrow(error);\n }\n\n update(config: Config, _context?: WireContextValue): void {\n this.unsubscribe();\n\n // Centralized parsing error handling (handles null/undefined query)\n const options: ResolveAndValidateOptions = {\n acceptedOperations: ['query'],\n };\n const result = resolveAndValidateGraphQLConfig(config, options);\n\n if (!result) {\n return;\n }\n\n if (result.isErr()) {\n const error = result.error;\n // Emit error response for actual parsing errors\n this.callback({\n data: undefined,\n errors: error.errors,\n } satisfies GraphQLResponse);\n return;\n }\n\n // Sanitize everything except query (DocumentNode must not be sanitized for AST resolution)\n const { query, ...rest } = result.value;\n this.config = {\n query,\n ...sanitize(rest),\n } as unknown as Config;\n this.invokeAdapter();\n }\n}\n\nexport class LWCGraphQLWireBindingsService {\n bind<Config extends WireConfigValue = WireConfigValue>(\n getCommand: GetCommand<GraphQLResponse, Config, GraphQLCommand>,\n configSchema?: JSONSchema,\n exposeRefresh = false\n ): WireAdapterConstructor<Config, GraphQLWireAdapterResult, {}> {\n return class extends GraphQLCommandWireAdapterConstructor<Config> {\n configSchema = configSchema;\n exposeRefresh = exposeRefresh;\n getCommand() {\n return getCommand(this.config!);\n }\n };\n }\n}\n\nexport type LWCGraphQLWireBindingsServiceDescriptor = ServiceDescriptor<\n LWCGraphQLWireBindingsService,\n 'lwcGraphQLWireBindings',\n '1.0'\n>;\n\nexport type NamedLWCGraphQLWireBindingsService<Name extends string = 'lwcGraphQLWireBindings'> =\n NamedService<Name, LWCGraphQLWireBindingsService>;\n\nexport function buildServiceDescriptor(): LWCGraphQLWireBindingsServiceDescriptor {\n return {\n type: 'lwcGraphQLWireBindings',\n version: '1.0',\n service: new LWCGraphQLWireBindingsService(),\n };\n}\n"],"names":["buildServiceDescriptor"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/v1/sanitize.ts","../../src/v1/utils.ts","../../src/v1/wire.ts","../../src/v1/graphql-wire.ts"],"sourcesContent":["interface CurrentPath {\n key: string;\n value: object;\n parent: CurrentPath | null;\n data: any;\n}\n\nclass Sanitizer<T extends object> {\n obj: T;\n copy: T;\n currentPath: CurrentPath;\n\n constructor(obj: T) {\n this.obj = obj;\n this.copy = {} as T;\n\n this.currentPath = {\n key: '',\n value: obj,\n parent: null,\n data: this.copy,\n };\n }\n\n sanitize(): T {\n const sanitizer = this;\n\n JSON.stringify(this.obj, function (key, value) {\n if (key === '') {\n return value;\n }\n\n const parent = this;\n if (parent !== sanitizer.currentPath.value) {\n sanitizer.exit(parent);\n }\n if (typeof value === 'object' && value !== null) {\n sanitizer.enter(key, value);\n return value;\n }\n sanitizer.currentPath.data[key] = value;\n\n return value;\n });\n\n return this.copy;\n }\n\n private enter(key: string, value: any) {\n const { currentPath: parentPath } = this;\n const data = (parentPath.data[key] = Array.isArray(value) ? [] : {});\n this.currentPath = {\n key,\n value,\n parent: parentPath,\n data,\n };\n }\n\n private exit(parent: any) {\n while (this.currentPath.value !== parent) {\n this.currentPath = this.currentPath.parent || this.currentPath;\n }\n }\n}\n\n/**\n * Returns a sanitized version of an object by recursively unwrapping the Proxies.\n *\n * All the data coming from LWC-land need to be sanitized first.\n */\nexport default function sanitize<T extends object>(obj: T): T {\n return new Sanitizer(obj).sanitize();\n}\n","import { emitError } from '@conduit-client/bindings-utils/v1';\nimport {\n assertIsValid,\n MissingRequiredPropertyError,\n type JSONSchema,\n JsonSchemaViolationError,\n} from '@conduit-client/jsonschema-validate';\nimport {\n type WireAdapter,\n type WireConfigValue,\n type WireContextValue,\n type WireDataCallback,\n} from '@conduit-client/lwc-types';\n\nimport {\n type SyncOrAsync,\n type Unsubscribe,\n type SubscribableResult,\n type CommandError,\n deepFreeze,\n type Result,\n ok,\n isSubscribableResult,\n logError,\n isUserVisibleError,\n} from '@conduit-client/utils';\nimport { type GraphQLResponse } from '@conduit-client/graphql-normalization/v1';\nimport sanitize from './sanitize';\nimport type {\n SubscribableResultCommand,\n ResultCommand,\n MaybeSubscribableResultCommand,\n} from '@conduit-client/bindings-utils/v1';\n\nexport type WireAdapterCompatibleCommand<Data, Error> =\n | SubscribableResultCommand<Data, Error>\n | ResultCommand<Data, Error>\n | MaybeSubscribableResultCommand<Data, Error>;\n\nexport function isIncompleteConfigError(err: unknown): boolean {\n return (\n err instanceof MissingRequiredPropertyError ||\n (err instanceof JsonSchemaViolationError &&\n err.validationErrors.find(\n (validationError) => validationError instanceof MissingRequiredPropertyError\n ) !== undefined)\n );\n}\n\nexport type GetCommand<\n Data,\n Config extends WireConfigValue = WireConfigValue,\n CommandType extends WireAdapterCompatibleCommand<\n Data,\n CommandError\n > = WireAdapterCompatibleCommand<Data, CommandError>,\n> = (condig: Config) => CommandType;\n\n/**\n * Binds a Command to a LWC wire adapter.\n * @see https://lwc.dev/guide/wire_adapter\n */\nexport abstract class CommandWireAdapterConstructor<\n Data,\n Config extends WireConfigValue = WireConfigValue,\n CommandType extends WireAdapterCompatibleCommand<\n Data,\n CommandError\n > = WireAdapterCompatibleCommand<Data, CommandError>,\n> implements WireAdapter\n{\n connected = false;\n config?: Config;\n unsubscriber?: Unsubscribe;\n exposeRefresh = false;\n\n abstract configSchema?: JSONSchema;\n abstract getCommand(): CommandType;\n protected refresh?: () => SyncOrAsync<Result<void, unknown>>;\n\n constructor(\n protected callback: WireDataCallback,\n sourceContext?: {\n tagName?: string;\n },\n options?: {\n skipEmptyEmit?: true;\n }\n ) {\n if (!options?.skipEmptyEmit) {\n this.emit();\n }\n }\n\n connect(): void {\n this.connected = true;\n this.invokeAdapter();\n }\n\n disconnect(): void {\n this.unsubscribe();\n this.connected = false;\n }\n\n update(config: Config, _context?: WireContextValue): void {\n this.unsubscribe();\n this.config = sanitize<Config>(config);\n this.invokeAdapter();\n }\n\n protected emit(result?: Result<Data, unknown> | SubscribableResult<Data, unknown>) {\n try {\n if (result === undefined) {\n this.callback({ data: undefined, error: undefined });\n } else {\n const consumerEmittedRefresh = (): Promise<void> => {\n if (!this.refresh) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n if (!this.refresh) {\n resolve();\n return;\n }\n this.refresh().then((res) => {\n if (res.isOk()) {\n resolve();\n } else {\n reject(\n new Error(\n 'Internal error in Lightning Data Service adapter occurred: Failed to refresh data'\n )\n );\n }\n });\n });\n };\n\n let consumerEmittedData = {\n data: undefined,\n error: undefined,\n } as {\n data: Data | undefined;\n error: unknown | undefined;\n refresh?: () => Promise<void>;\n };\n\n if (this.exposeRefresh && this.refresh) {\n consumerEmittedData.refresh = consumerEmittedRefresh;\n }\n\n if (result.isErr()) {\n if (isSubscribableResult(result)) {\n consumerEmittedData.error = result.error.failure;\n } else {\n consumerEmittedData.error = result.error;\n }\n } else {\n if (isSubscribableResult(result)) {\n deepFreeze(result.value.data);\n consumerEmittedData.data = result.value.data;\n } else {\n deepFreeze(result.value);\n consumerEmittedData.data = result.value;\n }\n }\n\n this.callback(consumerEmittedData);\n }\n } catch (e) {\n this.handleExecutionThrow(e);\n }\n }\n\n protected invokeAdapter() {\n if (!this.connected || this.config === undefined) {\n return;\n }\n\n if (this.configSchema) {\n try {\n assertIsValid<unknown>(this.config, this.configSchema);\n } catch (err) {\n if (isIncompleteConfigError(err)) {\n // config is incomplete, wait for updated config\n return;\n }\n\n if (err instanceof JsonSchemaViolationError) {\n this.handleConfigSchemaViolation(err);\n return;\n }\n\n throw err;\n }\n }\n\n const initialConfig = this.config;\n const command = this.getCommand();\n\n try {\n command.execute().then((result) => {\n // config changed or component disconnected before result came back, ignore result\n if (!this.connected || this.config !== initialConfig) {\n return;\n }\n\n this.refresh = undefined;\n\n if (result.isOk()) {\n if (isSubscribableResult<Data, unknown>(result)) {\n const value = result.value;\n this.unsubscriber = value.subscribe((updatedResult) => {\n if (!this.connected || this.config !== initialConfig) {\n this.unsubscribe();\n return;\n }\n\n this.emit(updatedResult);\n });\n this.refresh = value.refresh;\n this.emit(ok(value.data));\n } else {\n this.emit(result);\n }\n } else {\n if (isSubscribableResult(result)) {\n const value = result.error;\n this.unsubscriber = value.subscribe((updatedResult) => {\n if (!this.connected || this.config !== initialConfig) {\n this.unsubscribe();\n return;\n }\n\n this.emit(updatedResult);\n });\n this.refresh = value.refresh;\n this.emit(result);\n } else {\n this.unsubscriber = () => {};\n this.emit(result);\n }\n }\n });\n } catch (e: unknown) {\n this.handleExecutionThrow(e);\n }\n }\n\n protected handleExecutionThrow(error: unknown) {\n emitError(this.callback, error);\n }\n\n /**\n * Hook for subclasses to handle a JsonSchemaViolationError from the config\n * schema assertion. The default re-throws so legacy non-GraphQL wire\n * adapters keep their existing throw behavior. Overrides are expected to\n * either emit an error result or re-throw — silently returning will\n * swallow the error.\n */\n protected handleConfigSchemaViolation(error: JsonSchemaViolationError): void {\n throw error;\n }\n\n protected unsubscribe() {\n if (this.unsubscriber) {\n this.unsubscriber();\n delete this.unsubscriber;\n }\n }\n}\n\n/**\n * Maps a command failure (unknown or user-visible) into a GraphQLResponse suitable for consumers.\n */\nexport function toGraphQLResponseFromFailure(failure: unknown): {\n data: GraphQLResponse['data'];\n errors: GraphQLResponse['errors'];\n} {\n if (isUserVisibleError<GraphQLResponse>(failure)) {\n return {\n data: failure.data.data,\n errors: failure.data.errors,\n };\n }\n logError(failure);\n return {\n data: undefined,\n errors: [{ message: 'Internal error in GraphQL adapter occurred', locations: [] }],\n };\n}\n","import { type JSONSchema } from '@conduit-client/jsonschema-validate';\nimport {\n type WireAdapterConstructor,\n type WireAdapterResult,\n type WireConfigValue,\n} from '@conduit-client/lwc-types';\nimport { CommandWireAdapterConstructor, type GetCommand } from './utils';\nimport type { NamedService, ServiceDescriptor } from '@conduit-client/utils';\n\nexport class LWCWireBindingsService {\n bind<Data, Config extends WireConfigValue = WireConfigValue>(\n getCommand: GetCommand<Data, Config>,\n configSchema?: JSONSchema,\n exposeRefresh = false\n ): WireAdapterConstructor<Config, WireAdapterResult<Data>, {}> {\n return class extends CommandWireAdapterConstructor<Data, Config> {\n configSchema = configSchema;\n exposeRefresh = exposeRefresh;\n getCommand() {\n return getCommand(this.config!);\n }\n };\n }\n}\n\nexport type LWCWireBindingsServiceDescriptor = ServiceDescriptor<\n LWCWireBindingsService,\n 'lwcWireBindings',\n '1.0'\n>;\n\nexport type NamedLWCWireBindingsService<Name extends string = 'lwcWireBindings'> = NamedService<\n Name,\n LWCWireBindingsService\n>;\n\nexport function buildServiceDescriptor(): LWCWireBindingsServiceDescriptor {\n return {\n type: 'lwcWireBindings',\n version: '1.0',\n service: new LWCWireBindingsService(),\n };\n}\n","import { deepFreeze, isSubscribableResult, isUserVisibleError } from '@conduit-client/utils';\nimport {\n type GraphQLCommandError,\n type GraphQLResponse,\n type GraphQLCommand,\n} from '@conduit-client/graphql-normalization/v1';\nimport {\n type ResolveAndValidateOptions,\n resolveAndValidateGraphQLConfig,\n toGraphQLErrorResponse,\n} from '@conduit-client/onestore-graphql-parser/v1';\nimport {\n type JsonSchemaViolationError,\n type JSONSchema,\n} from '@conduit-client/jsonschema-validate';\nimport {\n type WireAdapterConstructor,\n type WireConfigValue,\n type WireContextValue,\n type GraphQLWireAdapterResult,\n} from '@conduit-client/lwc-types';\nimport {\n CommandWireAdapterConstructor,\n type GetCommand,\n toGraphQLResponseFromFailure,\n} from './utils';\nimport sanitize from './sanitize';\nimport type {\n Result,\n ServiceDescriptor,\n SubscribableResult,\n NamedService,\n} from '@conduit-client/utils';\n\nexport abstract class GraphQLCommandWireAdapterConstructor<\n Config extends WireConfigValue = WireConfigValue,\n> extends CommandWireAdapterConstructor<GraphQLResponse, Config, GraphQLCommand> {\n protected emit(\n result?:\n | SubscribableResult<GraphQLResponse, GraphQLCommandError>\n | Result<GraphQLResponse, GraphQLCommandError>\n | undefined\n ): void {\n try {\n if (result === undefined) {\n this.callback({ data: undefined, errors: undefined });\n } else {\n const consumerEmittedRefresh = (): Promise<void> => {\n if (!this.refresh) {\n return Promise.resolve();\n }\n return new Promise((resolve, reject) => {\n if (!this.refresh) {\n resolve();\n return;\n }\n this.refresh().then((res) => {\n if (res.isOk()) {\n resolve();\n return;\n }\n\n if (isUserVisibleError(res.error)) {\n resolve();\n return;\n }\n\n reject(\n new Error(\n 'Internal error in GraphQL adapter occurred: Failed to refresh GraphQL data'\n )\n );\n });\n });\n };\n\n let consumerEmittedData = {\n data: undefined,\n errors: undefined,\n } as {\n data: GraphQLResponse['data'];\n errors: GraphQLResponse['errors'];\n refresh?: () => Promise<void>;\n };\n\n if (this.exposeRefresh && this.refresh) {\n consumerEmittedData.refresh = consumerEmittedRefresh;\n }\n\n if (result.isErr()) {\n const failure = isSubscribableResult(result)\n ? result.error.failure\n : result.error;\n const resp = toGraphQLResponseFromFailure(failure);\n consumerEmittedData.data = resp.data;\n consumerEmittedData.errors = resp.errors;\n } else {\n consumerEmittedData.data = result.value.data;\n }\n\n deepFreeze(consumerEmittedData);\n this.callback(consumerEmittedData);\n }\n } catch (e) {\n this.handleExecutionThrow(e);\n }\n }\n\n protected handleExecutionThrow(error: unknown): void {\n this.callback(toGraphQLErrorResponse(error));\n }\n\n protected handleConfigSchemaViolation(error: JsonSchemaViolationError): void {\n this.handleExecutionThrow(error);\n }\n\n update(config: Config, _context?: WireContextValue): void {\n this.unsubscribe();\n\n // Centralized parsing error handling (handles null/undefined query)\n const options: ResolveAndValidateOptions = {\n acceptedOperations: ['query'],\n };\n const result = resolveAndValidateGraphQLConfig(config, options);\n\n if (!result) {\n return;\n }\n\n if (result.isErr()) {\n const error = result.error;\n // Emit error response for actual parsing errors\n this.callback({\n data: undefined,\n errors: error.errors,\n } satisfies GraphQLResponse);\n return;\n }\n\n // Sanitize everything except query (DocumentNode must not be sanitized for AST resolution)\n const { query, ...rest } = result.value;\n this.config = {\n query,\n ...sanitize(rest),\n } as unknown as Config;\n this.invokeAdapter();\n }\n}\n\nexport class LWCGraphQLWireBindingsService {\n bind<Config extends WireConfigValue = WireConfigValue>(\n getCommand: GetCommand<GraphQLResponse, Config, GraphQLCommand>,\n configSchema?: JSONSchema,\n exposeRefresh = false\n ): WireAdapterConstructor<Config, GraphQLWireAdapterResult, {}> {\n return class extends GraphQLCommandWireAdapterConstructor<Config> {\n configSchema = configSchema;\n exposeRefresh = exposeRefresh;\n getCommand() {\n return getCommand(this.config!);\n }\n };\n }\n}\n\nexport type LWCGraphQLWireBindingsServiceDescriptor = ServiceDescriptor<\n LWCGraphQLWireBindingsService,\n 'lwcGraphQLWireBindings',\n '1.0'\n>;\n\nexport type NamedLWCGraphQLWireBindingsService<Name extends string = 'lwcGraphQLWireBindings'> =\n NamedService<Name, LWCGraphQLWireBindingsService>;\n\nexport function buildServiceDescriptor(): LWCGraphQLWireBindingsServiceDescriptor {\n return {\n type: 'lwcGraphQLWireBindings',\n version: '1.0',\n service: new LWCGraphQLWireBindingsService(),\n };\n}\n"],"names":["buildServiceDescriptor"],"mappings":";;;;AAOA,MAAM,UAA4B;AAAA,EAK9B,YAAY,KAAQ;AAChB,SAAK,MAAM;AACX,SAAK,OAAO,CAAA;AAEZ,SAAK,cAAc;AAAA,MACf,KAAK;AAAA,MACL,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,MAAM,KAAK;AAAA,IAAA;AAAA,EAEnB;AAAA,EAEA,WAAc;AACV,UAAM,YAAY;AAElB,SAAK,UAAU,KAAK,KAAK,SAAU,KAAK,OAAO;AAC3C,UAAI,QAAQ,IAAI;AACZ,eAAO;AAAA,MACX;AAEA,YAAM,SAAS;AACf,UAAI,WAAW,UAAU,YAAY,OAAO;AACxC,kBAAU,KAAK,MAAM;AAAA,MACzB;AACA,UAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAC7C,kBAAU,MAAM,KAAK,KAAK;AAC1B,eAAO;AAAA,MACX;AACA,gBAAU,YAAY,KAAK,GAAG,IAAI;AAElC,aAAO;AAAA,IACX,CAAC;AAED,WAAO,KAAK;AAAA,EAChB;AAAA,EAEQ,MAAM,KAAa,OAAY;AACnC,UAAM,EAAE,aAAa,WAAA,IAAe;AACpC,UAAM,OAAQ,WAAW,KAAK,GAAG,IAAI,MAAM,QAAQ,KAAK,IAAI,CAAA,IAAK,CAAA;AACjE,SAAK,cAAc;AAAA,MACf;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,MACR;AAAA,IAAA;AAAA,EAER;AAAA,EAEQ,KAAK,QAAa;AACtB,WAAO,KAAK,YAAY,UAAU,QAAQ;AACtC,WAAK,cAAc,KAAK,YAAY,UAAU,KAAK;AAAA,IACvD;AAAA,EACJ;AACJ;AAOA,SAAwB,SAA2B,KAAW;AAC1D,SAAO,IAAI,UAAU,GAAG,EAAE,SAAA;AAC9B;AClCO,SAAS,wBAAwB,KAAuB;AAC3D,SACI,eAAe,gCACd,eAAe,4BACZ,IAAI,iBAAiB;AAAA,IACjB,CAAC,oBAAoB,2BAA2B;AAAA,EAAA,MAC9C;AAElB;AAeO,MAAe,8BAQtB;AAAA,EAUI,YACc,UACV,eAGA,SAGF;AAPY,SAAA,WAAA;AAVd,SAAA,YAAY;AAGZ,SAAA,gBAAgB;AAeZ,QAAI,CAAC,SAAS,eAAe;AACzB,WAAK,KAAA;AAAA,IACT;AAAA,EACJ;AAAA,EAEA,UAAgB;AACZ,SAAK,YAAY;AACjB,SAAK,cAAA;AAAA,EACT;AAAA,EAEA,aAAmB;AACf,SAAK,YAAA;AACL,SAAK,YAAY;AAAA,EACrB;AAAA,EAEA,OAAO,QAAgB,UAAmC;AACtD,SAAK,YAAA;AACL,SAAK,SAAS,SAAiB,MAAM;AACrC,SAAK,cAAA;AAAA,EACT;AAAA,EAEU,KAAK,QAAoE;AAC/E,QAAI;AACA,UAAI,WAAW,QAAW;AACtB,aAAK,SAAS,EAAE,MAAM,QAAW,OAAO,QAAW;AAAA,MACvD,OAAO;AACH,cAAM,yBAAyB,MAAqB;AAChD,cAAI,CAAC,KAAK,SAAS;AACf,mBAAO,QAAQ,QAAA;AAAA,UACnB;AACA,iBAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACpC,gBAAI,CAAC,KAAK,SAAS;AACf,sBAAA;AACA;AAAA,YACJ;AACA,iBAAK,QAAA,EAAU,KAAK,CAAC,QAAQ;AACzB,kBAAI,IAAI,QAAQ;AACZ,wBAAA;AAAA,cACJ,OAAO;AACH;AAAA,kBACI,IAAI;AAAA,oBACA;AAAA,kBAAA;AAAA,gBACJ;AAAA,cAER;AAAA,YACJ,CAAC;AAAA,UACL,CAAC;AAAA,QACL;AAEA,YAAI,sBAAsB;AAAA,UACtB,MAAM;AAAA,UACN,OAAO;AAAA,QAAA;AAOX,YAAI,KAAK,iBAAiB,KAAK,SAAS;AACpC,8BAAoB,UAAU;AAAA,QAClC;AAEA,YAAI,OAAO,SAAS;AAChB,cAAI,qBAAqB,MAAM,GAAG;AAC9B,gCAAoB,QAAQ,OAAO,MAAM;AAAA,UAC7C,OAAO;AACH,gCAAoB,QAAQ,OAAO;AAAA,UACvC;AAAA,QACJ,OAAO;AACH,cAAI,qBAAqB,MAAM,GAAG;AAC9B,uBAAW,OAAO,MAAM,IAAI;AAC5B,gCAAoB,OAAO,OAAO,MAAM;AAAA,UAC5C,OAAO;AACH,uBAAW,OAAO,KAAK;AACvB,gCAAoB,OAAO,OAAO;AAAA,UACtC;AAAA,QACJ;AAEA,aAAK,SAAS,mBAAmB;AAAA,MACrC;AAAA,IACJ,SAAS,GAAG;AACR,WAAK,qBAAqB,CAAC;AAAA,IAC/B;AAAA,EACJ;AAAA,EAEU,gBAAgB;AACtB,QAAI,CAAC,KAAK,aAAa,KAAK,WAAW,QAAW;AAC9C;AAAA,IACJ;AAEA,QAAI,KAAK,cAAc;AACnB,UAAI;AACA,sBAAuB,KAAK,QAAQ,KAAK,YAAY;AAAA,MACzD,SAAS,KAAK;AACV,YAAI,wBAAwB,GAAG,GAAG;AAE9B;AAAA,QACJ;AAEA,YAAI,eAAe,0BAA0B;AACzC,eAAK,4BAA4B,GAAG;AACpC;AAAA,QACJ;AAEA,cAAM;AAAA,MACV;AAAA,IACJ;AAEA,UAAM,gBAAgB,KAAK;AAC3B,UAAM,UAAU,KAAK,WAAA;AAErB,QAAI;AACA,cAAQ,QAAA,EAAU,KAAK,CAAC,WAAW;AAE/B,YAAI,CAAC,KAAK,aAAa,KAAK,WAAW,eAAe;AAClD;AAAA,QACJ;AAEA,aAAK,UAAU;AAEf,YAAI,OAAO,QAAQ;AACf,cAAI,qBAAoC,MAAM,GAAG;AAC7C,kBAAM,QAAQ,OAAO;AACrB,iBAAK,eAAe,MAAM,UAAU,CAAC,kBAAkB;AACnD,kBAAI,CAAC,KAAK,aAAa,KAAK,WAAW,eAAe;AAClD,qBAAK,YAAA;AACL;AAAA,cACJ;AAEA,mBAAK,KAAK,aAAa;AAAA,YAC3B,CAAC;AACD,iBAAK,UAAU,MAAM;AACrB,iBAAK,KAAK,GAAG,MAAM,IAAI,CAAC;AAAA,UAC5B,OAAO;AACH,iBAAK,KAAK,MAAM;AAAA,UACpB;AAAA,QACJ,OAAO;AACH,cAAI,qBAAqB,MAAM,GAAG;AAC9B,kBAAM,QAAQ,OAAO;AACrB,iBAAK,eAAe,MAAM,UAAU,CAAC,kBAAkB;AACnD,kBAAI,CAAC,KAAK,aAAa,KAAK,WAAW,eAAe;AAClD,qBAAK,YAAA;AACL;AAAA,cACJ;AAEA,mBAAK,KAAK,aAAa;AAAA,YAC3B,CAAC;AACD,iBAAK,UAAU,MAAM;AACrB,iBAAK,KAAK,MAAM;AAAA,UACpB,OAAO;AACH,iBAAK,eAAe,MAAM;AAAA,YAAC;AAC3B,iBAAK,KAAK,MAAM;AAAA,UACpB;AAAA,QACJ;AAAA,MACJ,CAAC;AAAA,IACL,SAAS,GAAY;AACjB,WAAK,qBAAqB,CAAC;AAAA,IAC/B;AAAA,EACJ;AAAA,EAEU,qBAAqB,OAAgB;AAC3C,cAAU,KAAK,UAAU,KAAK;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASU,4BAA4B,OAAuC;AACzE,UAAM;AAAA,EACV;AAAA,EAEU,cAAc;AACpB,QAAI,KAAK,cAAc;AACnB,WAAK,aAAA;AACL,aAAO,KAAK;AAAA,IAChB;AAAA,EACJ;AACJ;AAKO,SAAS,6BAA6B,SAG3C;AACE,MAAI,mBAAoC,OAAO,GAAG;AAC9C,WAAO;AAAA,MACH,MAAM,QAAQ,KAAK;AAAA,MACnB,QAAQ,QAAQ,KAAK;AAAA,IAAA;AAAA,EAE7B;AACA,WAAS,OAAO;AAChB,SAAO;AAAA,IACH,MAAM;AAAA,IACN,QAAQ,CAAC,EAAE,SAAS,8CAA8C,WAAW,CAAA,GAAI;AAAA,EAAA;AAEzF;ACzRO,MAAM,uBAAuB;AAAA,EAChC,KACI,YACA,cACA,gBAAgB,OAC2C;AAC3D,WAAO,cAAc,8BAA4C;AAAA,MAA1D,cAAA;AAAA,cAAA,GAAA,SAAA;AACH,aAAA,eAAe;AACf,aAAA,gBAAgB;AAAA,MAAA;AAAA,MAChB,aAAa;AACT,eAAO,WAAW,KAAK,MAAO;AAAA,MAClC;AAAA,IAAA;AAAA,EAER;AACJ;AAaO,SAASA,2BAA2D;AACvE,SAAO;AAAA,IACH,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS,IAAI,uBAAA;AAAA,EAAuB;AAE5C;ACRO,MAAe,6CAEZ,8BAAuE;AAAA,EACnE,KACN,QAII;AACJ,QAAI;AACA,UAAI,WAAW,QAAW;AACtB,aAAK,SAAS,EAAE,MAAM,QAAW,QAAQ,QAAW;AAAA,MACxD,OAAO;AACH,cAAM,yBAAyB,MAAqB;AAChD,cAAI,CAAC,KAAK,SAAS;AACf,mBAAO,QAAQ,QAAA;AAAA,UACnB;AACA,iBAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACpC,gBAAI,CAAC,KAAK,SAAS;AACf,sBAAA;AACA;AAAA,YACJ;AACA,iBAAK,QAAA,EAAU,KAAK,CAAC,QAAQ;AACzB,kBAAI,IAAI,QAAQ;AACZ,wBAAA;AACA;AAAA,cACJ;AAEA,kBAAI,mBAAmB,IAAI,KAAK,GAAG;AAC/B,wBAAA;AACA;AAAA,cACJ;AAEA;AAAA,gBACI,IAAI;AAAA,kBACA;AAAA,gBAAA;AAAA,cACJ;AAAA,YAER,CAAC;AAAA,UACL,CAAC;AAAA,QACL;AAEA,YAAI,sBAAsB;AAAA,UACtB,MAAM;AAAA,UACN,QAAQ;AAAA,QAAA;AAOZ,YAAI,KAAK,iBAAiB,KAAK,SAAS;AACpC,8BAAoB,UAAU;AAAA,QAClC;AAEA,YAAI,OAAO,SAAS;AAChB,gBAAM,UAAU,qBAAqB,MAAM,IACrC,OAAO,MAAM,UACb,OAAO;AACb,gBAAM,OAAO,6BAA6B,OAAO;AACjD,8BAAoB,OAAO,KAAK;AAChC,8BAAoB,SAAS,KAAK;AAAA,QACtC,OAAO;AACH,8BAAoB,OAAO,OAAO,MAAM;AAAA,QAC5C;AAEA,mBAAW,mBAAmB;AAC9B,aAAK,SAAS,mBAAmB;AAAA,MACrC;AAAA,IACJ,SAAS,GAAG;AACR,WAAK,qBAAqB,CAAC;AAAA,IAC/B;AAAA,EACJ;AAAA,EAEU,qBAAqB,OAAsB;AACjD,SAAK,SAAS,uBAAuB,KAAK,CAAC;AAAA,EAC/C;AAAA,EAEU,4BAA4B,OAAuC;AACzE,SAAK,qBAAqB,KAAK;AAAA,EACnC;AAAA,EAEA,OAAO,QAAgB,UAAmC;AACtD,SAAK,YAAA;AAGL,UAAM,UAAqC;AAAA,MACvC,oBAAoB,CAAC,OAAO;AAAA,IAAA;AAEhC,UAAM,SAAS,gCAAgC,QAAQ,OAAO;AAE9D,QAAI,CAAC,QAAQ;AACT;AAAA,IACJ;AAEA,QAAI,OAAO,SAAS;AAChB,YAAM,QAAQ,OAAO;AAErB,WAAK,SAAS;AAAA,QACV,MAAM;AAAA,QACN,QAAQ,MAAM;AAAA,MAAA,CACS;AAC3B;AAAA,IACJ;AAGA,UAAM,EAAE,OAAO,GAAG,KAAA,IAAS,OAAO;AAClC,SAAK,SAAS;AAAA,MACV;AAAA,MACA,GAAG,SAAS,IAAI;AAAA,IAAA;AAEpB,SAAK,cAAA;AAAA,EACT;AACJ;AAEO,MAAM,8BAA8B;AAAA,EACvC,KACI,YACA,cACA,gBAAgB,OAC4C;AAC5D,WAAO,cAAc,qCAA6C;AAAA,MAA3D,cAAA;AAAA,cAAA,GAAA,SAAA;AACH,aAAA,eAAe;AACf,aAAA,gBAAgB;AAAA,MAAA;AAAA,MAChB,aAAa;AACT,eAAO,WAAW,KAAK,MAAO;AAAA,MAClC;AAAA,IAAA;AAAA,EAER;AACJ;AAWO,SAAS,yBAAkE;AAC9E,SAAO;AAAA,IACH,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS,IAAI,8BAAA;AAAA,EAA8B;AAEnD;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@conduit-client/service-bindings-lwc",
3
- "version": "3.19.6",
3
+ "version": "3.20.3",
4
4
  "private": false,
5
5
  "description": "Conduit services for LWC bindings",
6
6
  "type": "module",
@@ -31,14 +31,14 @@
31
31
  "watch": "npm run build --watch"
32
32
  },
33
33
  "dependencies": {
34
- "@conduit-client/bindings-utils": "3.19.6",
35
- "@conduit-client/jsonschema-validate": "3.19.6",
36
- "@conduit-client/onestore-graphql-parser": "3.19.6",
37
- "@conduit-client/utils": "3.19.6"
34
+ "@conduit-client/bindings-utils": "3.20.3",
35
+ "@conduit-client/jsonschema-validate": "3.20.3",
36
+ "@conduit-client/onestore-graphql-parser": "3.20.3",
37
+ "@conduit-client/utils": "3.20.3"
38
38
  },
39
39
  "devDependencies": {
40
- "@conduit-client/graphql-normalization": "3.19.6",
41
- "@conduit-client/lwc-types": "3.19.6"
40
+ "@conduit-client/graphql-normalization": "3.20.3",
41
+ "@conduit-client/lwc-types": "3.20.3"
42
42
  },
43
43
  "volta": {
44
44
  "extends": "../../../../package.json"