@conduit-client/command-aura-graphql-normalized-cache-control 3.6.1 → 3.6.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.
- package/dist/v1/index.js +20 -5
- package/dist/v1/index.js.map +1 -1
- package/package.json +13 -13
package/dist/v1/index.js
CHANGED
|
@@ -116,11 +116,26 @@ class AuraGraphQLNormalizedCacheControlCommand extends AuraNormalizedCacheContro
|
|
|
116
116
|
return buildSubscribableResult(result, this.buildSubscribe(), () => this.refresh());
|
|
117
117
|
});
|
|
118
118
|
} else if (this.shouldUseFetch()) {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
119
|
+
const params = this.originalFetchParams;
|
|
120
|
+
try {
|
|
121
|
+
return this.convertFetchResponseToData(this.services.fetch(...params)).then(
|
|
122
|
+
(result) => {
|
|
123
|
+
return buildSubscribableResult(
|
|
124
|
+
result,
|
|
125
|
+
this.buildSubscribe(),
|
|
126
|
+
() => this.refresh()
|
|
127
|
+
);
|
|
128
|
+
}
|
|
129
|
+
);
|
|
130
|
+
} catch (reason) {
|
|
131
|
+
return resolvedPromiseLike(
|
|
132
|
+
buildSubscribableResult(
|
|
133
|
+
err(toError(reason)),
|
|
134
|
+
this.buildSubscribe(),
|
|
135
|
+
() => this.refresh()
|
|
136
|
+
)
|
|
137
|
+
);
|
|
138
|
+
}
|
|
124
139
|
}
|
|
125
140
|
return resolvedPromiseLike(
|
|
126
141
|
buildSubscribableResult(
|
package/dist/v1/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/v1/aura-graphql-normalized-cache-control-command.ts","../../src/v1/index.ts"],"sourcesContent":["import { AuraNormalizedCacheControlCommand } from '@conduit-client/command-aura-normalized-cache-control/v1';\nimport { type NamedPubSubService } from '@conduit-client/service-pubsub/v1';\nimport type {\n DataOf,\n ReadInputOf,\n WriteInput,\n WriteInputOf,\n WriteResponseOf,\n} from '@conduit-client/type-normalization/v1';\nimport type { NamedCacheControllerService } from '@conduit-client/service-cache-control/v1';\nimport type { NamedAuraNetworkService } from '@conduit-client/service-aura-network/v1';\nimport { FetchService, NamedFetchService } from '@conduit-client/service-fetch-network/v1';\nimport {\n addTypenameToDocument,\n buildGraphQLInputExtension,\n findExecutableOperation,\n GraphQLDocumentRootTypeRepository,\n GraphQLRequestParams,\n} from '@conduit-client/graphql-normalization/v1';\nimport {\n GraphQLInputExtension,\n GraphQLResponse,\n GraphQLVariables,\n GraphQLFragmentDefinitions,\n} from '@conduit-client/graphql-normalization/v1';\nimport { print, SelectionNode } from '@conduit-client/onestore-graphql-parser/v1';\nimport {\n buildSubscribableResult,\n err,\n InternalError,\n ok,\n resolvedPromiseLike,\n Result,\n SubscribableResult,\n SyncOrAsync,\n toError,\n UserVisibleError,\n} from '@conduit-client/utils';\nimport { CacheControlRequestRunner } from '@conduit-client/command-cache-control/v1';\n\n/**\n * An implementation of BaseCommand that allows for extending abstract cache methods with GraphQL support\n *\n * @typeParam Data cache result for read operations\n * @typeParam NetworkResult cache result including network metadata\n * @typeParam ExtraServices additional named services needed by a subclass\n */\nexport abstract class AuraGraphQLNormalizedCacheControlCommand<\n ExtraServices extends object = object,\n> extends AuraNormalizedCacheControlCommand<\n GraphQLDocumentRootTypeRepository<any, any>,\n DataOf<GraphQLDocumentRootTypeRepository<any, any>>,\n GraphQLResponse,\n ReadInputOf<GraphQLDocumentRootTypeRepository<any, any>>,\n WriteResponseOf<GraphQLDocumentRootTypeRepository<any, any>>,\n WriteInputOf<GraphQLDocumentRootTypeRepository<any, any>>,\n ExtraServices\n> {\n constructor(\n protected config: GraphQLRequestParams,\n protected documentRootType: GraphQLDocumentRootTypeRepository<any, any>,\n protected services: NamedCacheControllerService &\n NamedPubSubService &\n Partial<NamedAuraNetworkService> &\n Partial<NamedFetchService> &\n ExtraServices\n ) {\n super(services);\n }\n\n protected get operationType(): 'query' | 'mutation' {\n const operationResult = findExecutableOperation(this.config);\n if (operationResult.isErr()) {\n return 'mutation'; // Default to mutation to avoid subscribing to an invalid operation\n }\n const operationType = operationResult.value.operation.toString();\n if (operationType === 'mutation' || operationType === 'query') {\n return operationType;\n }\n return 'mutation'; // Coerce unhandled operation types to mutation\n }\n\n buildResultType() {\n return this.documentRootType;\n }\n\n buildQuery() {\n const extensionResult = buildGraphQLInputExtension(this.config);\n if (extensionResult.isErr()) {\n throw extensionResult.error;\n }\n return {\n type: 'keyParams',\n keyParams: null,\n ...extensionResult.value,\n };\n }\n\n protected responseHasErrors(data: GraphQLResponse) {\n return data.hasOwnProperty('errors') && data.errors && data.errors.length > 0;\n }\n\n protected processAuraReturnValue(\n auraReturnValue: GraphQLResponse\n ): Result<GraphQLResponse, Error> {\n if (this.responseHasErrors(auraReturnValue)) {\n return err(new UserVisibleError(auraReturnValue));\n }\n return ok(auraReturnValue);\n }\n\n protected processFetchReturnValue(json: GraphQLResponse): Result<GraphQLResponse, Error> {\n if (this.responseHasErrors(json)) {\n return err(new UserVisibleError(json));\n }\n return ok(json);\n }\n\n abstract get url(): Parameters<FetchService>[0];\n\n /**\n * Optional body wrapper name for aura requests.\n * If defined, the aura params will be wrapped in an object with this property name.\n * Override this method in subclasses if a body wrapper is needed.\n */\n protected get auraBodyWrapperName(): string | undefined {\n return undefined;\n }\n\n get auraParams(): Record<string, unknown> {\n const params = { ...this.config, query: print(this.buildRequestQuery()) };\n\n if (this.auraBodyWrapperName) {\n return { [this.auraBodyWrapperName]: params };\n }\n\n return params;\n }\n\n get fetchParams(): Parameters<FetchService> {\n const body = { ...this.config, query: print(this.buildRequestQuery()) };\n const headers: Record<string, any> = {\n 'Content-Type': 'application/json',\n };\n const params: Parameters<FetchService>[1] = {\n method: 'POST',\n cache: 'no-cache',\n headers,\n body: JSON.stringify(body),\n };\n return [this.url, params];\n }\n\n get originalAuraParams() {\n const params = { ...this.config, query: print(this.config.query) };\n\n if (this.auraBodyWrapperName) {\n return { [this.auraBodyWrapperName]: params };\n }\n\n return params;\n }\n\n get originalFetchParams(): Parameters<FetchService> {\n const body = { ...this.config, query: print(this.config.query) };\n const headers: Record<string, any> = {\n 'Content-Type': 'application/json',\n };\n const params: Parameters<FetchService>[1] = {\n method: 'POST',\n cache: 'no-cache',\n headers,\n body: JSON.stringify(body),\n };\n return [this.url, params];\n }\n\n // TODO: We should respect the cache control strategy in this method. We don't support only-if-cached strategies at the moment, but if we did add support, we would technically violate that cache control strategy if the data wasn't in the cache here.\n runOriginalRequest(): SyncOrAsync<SubscribableResult<GraphQLResponse, Error>> {\n if (this.shouldUseAuraNetwork()) {\n return this.convertAuraResponseToData(\n this.services.auraNetwork!(\n this.endpoint,\n this.originalAuraParams,\n this.actionConfig\n ),\n (errs) => this.coerceAuraErrors(errs)\n ).then((result) => {\n return buildSubscribableResult(result, this.buildSubscribe(), () => this.refresh());\n });\n } else if (this.shouldUseFetch()) {\n return this.convertFetchResponseToData(\n this.services.fetch!(...this.originalFetchParams)\n ).then((result) => {\n return buildSubscribableResult(result, this.buildSubscribe(), () => this.refresh());\n });\n }\n return resolvedPromiseLike(\n buildSubscribableResult(\n err(toError('Aura/Fetch network services not found')),\n this.buildSubscribe(),\n () => this.refresh()\n )\n );\n }\n\n buildRequestQuery() {\n const augmentedQueryResult = this.documentRootType.buildAugmentedQuery(this.config);\n if (augmentedQueryResult.isErr()) {\n throw augmentedQueryResult.error;\n }\n return addTypenameToDocument(augmentedQueryResult.value);\n }\n\n buildWriteInput(data: GraphQLResponse): WriteInput<any, GraphQLInputExtension> {\n const extensionResult = buildGraphQLInputExtension({\n ...this.config,\n query: this.buildRequestQuery(),\n });\n if (extensionResult.isErr()) {\n throw new InternalError(extensionResult.error);\n }\n return { data: data.data, ...extensionResult.value };\n }\n\n // Any changes to this method should most likely be duplicated in the https command as well\n handleCacheControllerResult(\n result: Result<void, Error>,\n requestRunner: CacheControlRequestRunner<GraphQLResponse, GraphQLResponse>\n ) {\n if (this.operationType === 'mutation') {\n return super.handleCacheControllerResult(result, requestRunner);\n }\n\n const { networkError, returnData } = requestRunner;\n return this.publishUpdatedKeys().then(() => {\n // For any error state, we want to return the original requests response\n // Possible error states are:\n // We got a network error\n // We didn't get any return data\n // The return data (read from cache result) was an error\n // The cache control execution returned an internal error\n if (networkError || returnData === undefined || returnData.isErr() || result.isErr()) {\n return this.runOriginalRequest();\n }\n if (this.subscriptions.length > 0) {\n this.subscribe();\n }\n return returnData;\n });\n }\n}\n","import { type NamedService, type ServiceDescriptor } from '@conduit-client/utils';\nimport { AuraGraphQLNormalizedCacheControlCommand } from './aura-graphql-normalized-cache-control-command';\n\nexport { AuraGraphQLNormalizedCacheControlCommand } from './aura-graphql-normalized-cache-control-command';\n\nexport type AuraGraphQLNormalizedCacheControlCommandServiceDescriptor = ServiceDescriptor<\n typeof AuraGraphQLNormalizedCacheControlCommand,\n 'auraGraphQLNormalizedCacheControlCommand',\n '1.0'\n>;\n\nexport type NamedAuraGraphQLNormalizedCacheControlCommand = NamedService<\n 'auraGraphQLNormalizedCacheControlCommand',\n typeof AuraGraphQLNormalizedCacheControlCommand\n>;\n\nexport function buildServiceDescriptor(): AuraGraphQLNormalizedCacheControlCommandServiceDescriptor {\n return {\n type: 'auraGraphQLNormalizedCacheControlCommand',\n version: '1.0',\n service: AuraGraphQLNormalizedCacheControlCommand,\n };\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/v1/aura-graphql-normalized-cache-control-command.ts","../../src/v1/index.ts"],"sourcesContent":["import { AuraNormalizedCacheControlCommand } from '@conduit-client/command-aura-normalized-cache-control/v1';\nimport { type NamedPubSubService } from '@conduit-client/service-pubsub/v1';\nimport type {\n DataOf,\n ReadInputOf,\n WriteInput,\n WriteInputOf,\n WriteResponseOf,\n} from '@conduit-client/type-normalization/v1';\nimport type { NamedCacheControllerService } from '@conduit-client/service-cache-control/v1';\nimport type { NamedAuraNetworkService } from '@conduit-client/service-aura-network/v1';\nimport { FetchService, NamedFetchService } from '@conduit-client/service-fetch-network/v1';\nimport {\n addTypenameToDocument,\n buildGraphQLInputExtension,\n findExecutableOperation,\n GraphQLDocumentRootTypeRepository,\n GraphQLRequestParams,\n} from '@conduit-client/graphql-normalization/v1';\nimport {\n GraphQLInputExtension,\n GraphQLResponse,\n GraphQLVariables,\n GraphQLFragmentDefinitions,\n} from '@conduit-client/graphql-normalization/v1';\nimport { print, SelectionNode } from '@conduit-client/onestore-graphql-parser/v1';\nimport {\n buildSubscribableResult,\n err,\n InternalError,\n ok,\n resolvedPromiseLike,\n Result,\n SubscribableResult,\n SyncOrAsync,\n toError,\n UserVisibleError,\n} from '@conduit-client/utils';\nimport { CacheControlRequestRunner } from '@conduit-client/command-cache-control/v1';\n\n/**\n * An implementation of BaseCommand that allows for extending abstract cache methods with GraphQL support\n *\n * @typeParam Data cache result for read operations\n * @typeParam NetworkResult cache result including network metadata\n * @typeParam ExtraServices additional named services needed by a subclass\n */\nexport abstract class AuraGraphQLNormalizedCacheControlCommand<\n ExtraServices extends object = object,\n> extends AuraNormalizedCacheControlCommand<\n GraphQLDocumentRootTypeRepository<any, any>,\n DataOf<GraphQLDocumentRootTypeRepository<any, any>>,\n GraphQLResponse,\n ReadInputOf<GraphQLDocumentRootTypeRepository<any, any>>,\n WriteResponseOf<GraphQLDocumentRootTypeRepository<any, any>>,\n WriteInputOf<GraphQLDocumentRootTypeRepository<any, any>>,\n ExtraServices\n> {\n constructor(\n protected config: GraphQLRequestParams,\n protected documentRootType: GraphQLDocumentRootTypeRepository<any, any>,\n protected services: NamedCacheControllerService &\n NamedPubSubService &\n Partial<NamedAuraNetworkService> &\n Partial<NamedFetchService> &\n ExtraServices\n ) {\n super(services);\n }\n\n protected get operationType(): 'query' | 'mutation' {\n const operationResult = findExecutableOperation(this.config);\n if (operationResult.isErr()) {\n return 'mutation'; // Default to mutation to avoid subscribing to an invalid operation\n }\n const operationType = operationResult.value.operation.toString();\n if (operationType === 'mutation' || operationType === 'query') {\n return operationType;\n }\n return 'mutation'; // Coerce unhandled operation types to mutation\n }\n\n buildResultType() {\n return this.documentRootType;\n }\n\n buildQuery() {\n const extensionResult = buildGraphQLInputExtension(this.config);\n if (extensionResult.isErr()) {\n throw extensionResult.error;\n }\n return {\n type: 'keyParams',\n keyParams: null,\n ...extensionResult.value,\n };\n }\n\n protected responseHasErrors(data: GraphQLResponse) {\n return data.hasOwnProperty('errors') && data.errors && data.errors.length > 0;\n }\n\n protected processAuraReturnValue(\n auraReturnValue: GraphQLResponse\n ): Result<GraphQLResponse, Error> {\n if (this.responseHasErrors(auraReturnValue)) {\n return err(new UserVisibleError(auraReturnValue));\n }\n return ok(auraReturnValue);\n }\n\n protected processFetchReturnValue(json: GraphQLResponse): Result<GraphQLResponse, Error> {\n if (this.responseHasErrors(json)) {\n return err(new UserVisibleError(json));\n }\n return ok(json);\n }\n\n abstract get url(): Parameters<FetchService>[0];\n\n /**\n * Optional body wrapper name for aura requests.\n * If defined, the aura params will be wrapped in an object with this property name.\n * Override this method in subclasses if a body wrapper is needed.\n */\n protected get auraBodyWrapperName(): string | undefined {\n return undefined;\n }\n\n get auraParams(): Record<string, unknown> {\n const params = { ...this.config, query: print(this.buildRequestQuery()) };\n\n if (this.auraBodyWrapperName) {\n return { [this.auraBodyWrapperName]: params };\n }\n\n return params;\n }\n\n get fetchParams(): Parameters<FetchService> {\n const body = { ...this.config, query: print(this.buildRequestQuery()) };\n const headers: Record<string, any> = {\n 'Content-Type': 'application/json',\n };\n const params: Parameters<FetchService>[1] = {\n method: 'POST',\n cache: 'no-cache',\n headers,\n body: JSON.stringify(body),\n };\n return [this.url, params];\n }\n\n get originalAuraParams() {\n const params = { ...this.config, query: print(this.config.query) };\n\n if (this.auraBodyWrapperName) {\n return { [this.auraBodyWrapperName]: params };\n }\n\n return params;\n }\n\n get originalFetchParams(): Parameters<FetchService> {\n const body = { ...this.config, query: print(this.config.query) };\n const headers: Record<string, any> = {\n 'Content-Type': 'application/json',\n };\n const params: Parameters<FetchService>[1] = {\n method: 'POST',\n cache: 'no-cache',\n headers,\n body: JSON.stringify(body),\n };\n return [this.url, params];\n }\n\n // TODO: We should respect the cache control strategy in this method. We don't support only-if-cached strategies at the moment, but if we did add support, we would technically violate that cache control strategy if the data wasn't in the cache here.\n runOriginalRequest(): SyncOrAsync<SubscribableResult<GraphQLResponse, Error>> {\n if (this.shouldUseAuraNetwork()) {\n return this.convertAuraResponseToData(\n this.services.auraNetwork!(\n this.endpoint,\n this.originalAuraParams,\n this.actionConfig\n ),\n (errs) => this.coerceAuraErrors(errs)\n ).then((result) => {\n return buildSubscribableResult(result, this.buildSubscribe(), () => this.refresh());\n });\n } else if (this.shouldUseFetch()) {\n // Access originalFetchParams outside try-catch so errors from accessing it are not caught\n const params = this.originalFetchParams;\n try {\n return this.convertFetchResponseToData(this.services.fetch!(...params)).then(\n (result) => {\n return buildSubscribableResult(result, this.buildSubscribe(), () =>\n this.refresh()\n );\n }\n );\n } catch (reason) {\n return resolvedPromiseLike(\n buildSubscribableResult(err(toError(reason)), this.buildSubscribe(), () =>\n this.refresh()\n )\n );\n }\n }\n return resolvedPromiseLike(\n buildSubscribableResult(\n err(toError('Aura/Fetch network services not found')),\n this.buildSubscribe(),\n () => this.refresh()\n )\n );\n }\n\n buildRequestQuery() {\n const augmentedQueryResult = this.documentRootType.buildAugmentedQuery(this.config);\n if (augmentedQueryResult.isErr()) {\n throw augmentedQueryResult.error;\n }\n return addTypenameToDocument(augmentedQueryResult.value);\n }\n\n buildWriteInput(data: GraphQLResponse): WriteInput<any, GraphQLInputExtension> {\n const extensionResult = buildGraphQLInputExtension({\n ...this.config,\n query: this.buildRequestQuery(),\n });\n if (extensionResult.isErr()) {\n throw new InternalError(extensionResult.error);\n }\n return { data: data.data, ...extensionResult.value };\n }\n\n // Any changes to this method should most likely be duplicated in the https command as well\n handleCacheControllerResult(\n result: Result<void, Error>,\n requestRunner: CacheControlRequestRunner<GraphQLResponse, GraphQLResponse>\n ) {\n if (this.operationType === 'mutation') {\n return super.handleCacheControllerResult(result, requestRunner);\n }\n\n const { networkError, returnData } = requestRunner;\n return this.publishUpdatedKeys().then(() => {\n // For any error state, we want to return the original requests response\n // Possible error states are:\n // We got a network error\n // We didn't get any return data\n // The return data (read from cache result) was an error\n // The cache control execution returned an internal error\n if (networkError || returnData === undefined || returnData.isErr() || result.isErr()) {\n return this.runOriginalRequest();\n }\n if (this.subscriptions.length > 0) {\n this.subscribe();\n }\n return returnData;\n });\n }\n}\n","import { type NamedService, type ServiceDescriptor } from '@conduit-client/utils';\nimport { AuraGraphQLNormalizedCacheControlCommand } from './aura-graphql-normalized-cache-control-command';\n\nexport { AuraGraphQLNormalizedCacheControlCommand } from './aura-graphql-normalized-cache-control-command';\n\nexport type AuraGraphQLNormalizedCacheControlCommandServiceDescriptor = ServiceDescriptor<\n typeof AuraGraphQLNormalizedCacheControlCommand,\n 'auraGraphQLNormalizedCacheControlCommand',\n '1.0'\n>;\n\nexport type NamedAuraGraphQLNormalizedCacheControlCommand = NamedService<\n 'auraGraphQLNormalizedCacheControlCommand',\n typeof AuraGraphQLNormalizedCacheControlCommand\n>;\n\nexport function buildServiceDescriptor(): AuraGraphQLNormalizedCacheControlCommandServiceDescriptor {\n return {\n type: 'auraGraphQLNormalizedCacheControlCommand',\n version: '1.0',\n service: AuraGraphQLNormalizedCacheControlCommand,\n };\n}\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@conduit-client/command-aura-graphql-normalized-cache-control",
|
|
3
|
-
"version": "3.6.
|
|
3
|
+
"version": "3.6.3",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Luvio Aura GraphQL Normalized Cache Control Command",
|
|
6
6
|
"type": "module",
|
|
@@ -31,18 +31,18 @@
|
|
|
31
31
|
"watch": "npm run build --watch"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@conduit-client/command-aura-cache-control": "3.6.
|
|
35
|
-
"@conduit-client/command-aura-normalized-cache-control": "3.6.
|
|
36
|
-
"@conduit-client/command-base": "3.6.
|
|
37
|
-
"@conduit-client/command-cache-control": "3.6.
|
|
38
|
-
"@conduit-client/graphql-normalization": "3.6.
|
|
39
|
-
"@conduit-client/onestore-graphql-parser": "3.6.
|
|
40
|
-
"@conduit-client/service-aura-network": "3.6.
|
|
41
|
-
"@conduit-client/service-cache-control": "3.6.
|
|
42
|
-
"@conduit-client/service-fetch-network": "3.6.
|
|
43
|
-
"@conduit-client/service-pubsub": "3.6.
|
|
44
|
-
"@conduit-client/type-normalization": "3.6.
|
|
45
|
-
"@conduit-client/utils": "3.6.
|
|
34
|
+
"@conduit-client/command-aura-cache-control": "3.6.3",
|
|
35
|
+
"@conduit-client/command-aura-normalized-cache-control": "3.6.3",
|
|
36
|
+
"@conduit-client/command-base": "3.6.3",
|
|
37
|
+
"@conduit-client/command-cache-control": "3.6.3",
|
|
38
|
+
"@conduit-client/graphql-normalization": "3.6.3",
|
|
39
|
+
"@conduit-client/onestore-graphql-parser": "3.6.3",
|
|
40
|
+
"@conduit-client/service-aura-network": "3.6.3",
|
|
41
|
+
"@conduit-client/service-cache-control": "3.6.3",
|
|
42
|
+
"@conduit-client/service-fetch-network": "3.6.3",
|
|
43
|
+
"@conduit-client/service-pubsub": "3.6.3",
|
|
44
|
+
"@conduit-client/type-normalization": "3.6.3",
|
|
45
|
+
"@conduit-client/utils": "3.6.3"
|
|
46
46
|
},
|
|
47
47
|
"volta": {
|
|
48
48
|
"extends": "../../../../package.json"
|