@conduit-client/command-aura-cache-control 3.5.0 → 3.6.2
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 +6 -1
- package/dist/v1/index.js.map +1 -1
- package/package.json +8 -8
package/dist/v1/index.js
CHANGED
|
@@ -35,7 +35,12 @@ class AuraCacheControlCommand extends CacheControlCommand {
|
|
|
35
35
|
(errs) => this.coerceAuraErrors(errs)
|
|
36
36
|
);
|
|
37
37
|
} else if (this.shouldUseFetch()) {
|
|
38
|
-
|
|
38
|
+
const params = this.fetchParams;
|
|
39
|
+
try {
|
|
40
|
+
return this.convertFetchResponseToData(this.services.fetch(...params));
|
|
41
|
+
} catch (reason) {
|
|
42
|
+
return resolvedPromiseLike(err(toError(reason)));
|
|
43
|
+
}
|
|
39
44
|
}
|
|
40
45
|
return resolvedPromiseLike(err(toError("Aura/Fetch network services not found")));
|
|
41
46
|
}
|
package/dist/v1/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/v1/aura-cache-control-command.ts","../../src/v1/index.ts"],"sourcesContent":["import { CacheControlCommand } from '@conduit-client/command-cache-control/v1';\nimport {\n err,\n ok,\n resolvedPromiseLike,\n toError,\n type Result,\n type SyncOrAsync,\n} from '@conduit-client/utils';\nimport { type NamedPubSubService } from '@conduit-client/service-pubsub/v1';\nimport type { NamedCacheControllerService } from '@conduit-client/service-cache-control/v1';\nimport type { NamedAuraNetworkService } from '@conduit-client/service-aura-network/v1';\nimport type { NamedFetchService, FetchService } from '@conduit-client/service-fetch-network/v1';\n\nexport type AuraRawResponseBody<Data extends Record<string, any> = Record<string, any>> = {\n getReturnValue: () => Data;\n};\n\nexport type NetworkPreference = 'aura' | 'http';\n/**\n * An implementation of BaseCommand that allows for extending abstract cache methods\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 AuraCacheControlCommand<\n Data,\n ExtraServices extends object = object,\n NetworkResult = Data,\n> extends CacheControlCommand<Data, NetworkResult, ExtraServices> {\n protected abstract readonly endpoint: string;\n protected abstract readonly auraParams: Record<string, unknown>;\n protected actionConfig = {\n background: false,\n hotspot: true,\n longRunning: false,\n storable: false,\n };\n protected readonly networkPreference: NetworkPreference = 'aura';\n protected get fetchParams(): Parameters<FetchService> {\n throw new Error(\n 'Fetch parameters must be specified when using HTTP transport on an Aura adapter'\n );\n }\n\n constructor(\n protected services: NamedCacheControllerService &\n Partial<NamedPubSubService> &\n Partial<NamedAuraNetworkService> &\n Partial<NamedFetchService> &\n ExtraServices\n ) {\n super(services);\n }\n\n protected shouldUseAuraNetwork(): boolean {\n return (\n this.services.auraNetwork !== undefined &&\n (this.networkPreference === 'aura' || !this.services.fetch)\n );\n }\n\n protected shouldUseFetch(): boolean {\n return (\n this.services.fetch !== undefined &&\n (this.networkPreference === 'http' || !this.services.auraNetwork)\n );\n }\n\n requestFromNetwork(): SyncOrAsync<Result<NetworkResult, Error>> {\n if (this.shouldUseAuraNetwork()) {\n return this.convertAuraResponseToData(\n this.services.auraNetwork!(this.endpoint, this.auraParams, this.actionConfig),\n (errs) => this.coerceAuraErrors(errs)\n );\n } else if (this.shouldUseFetch()) {\n return this.convertFetchResponseToData(this.services.fetch!(...
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/v1/aura-cache-control-command.ts","../../src/v1/index.ts"],"sourcesContent":["import { CacheControlCommand } from '@conduit-client/command-cache-control/v1';\nimport {\n err,\n ok,\n resolvedPromiseLike,\n toError,\n type Result,\n type SyncOrAsync,\n} from '@conduit-client/utils';\nimport { type NamedPubSubService } from '@conduit-client/service-pubsub/v1';\nimport type { NamedCacheControllerService } from '@conduit-client/service-cache-control/v1';\nimport type { NamedAuraNetworkService } from '@conduit-client/service-aura-network/v1';\nimport type { NamedFetchService, FetchService } from '@conduit-client/service-fetch-network/v1';\n\nexport type AuraRawResponseBody<Data extends Record<string, any> = Record<string, any>> = {\n getReturnValue: () => Data;\n};\n\nexport type NetworkPreference = 'aura' | 'http';\n/**\n * An implementation of BaseCommand that allows for extending abstract cache methods\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 AuraCacheControlCommand<\n Data,\n ExtraServices extends object = object,\n NetworkResult = Data,\n> extends CacheControlCommand<Data, NetworkResult, ExtraServices> {\n protected abstract readonly endpoint: string;\n protected abstract readonly auraParams: Record<string, unknown>;\n protected actionConfig = {\n background: false,\n hotspot: true,\n longRunning: false,\n storable: false,\n };\n protected readonly networkPreference: NetworkPreference = 'aura';\n protected get fetchParams(): Parameters<FetchService> {\n throw new Error(\n 'Fetch parameters must be specified when using HTTP transport on an Aura adapter'\n );\n }\n\n constructor(\n protected services: NamedCacheControllerService &\n Partial<NamedPubSubService> &\n Partial<NamedAuraNetworkService> &\n Partial<NamedFetchService> &\n ExtraServices\n ) {\n super(services);\n }\n\n protected shouldUseAuraNetwork(): boolean {\n return (\n this.services.auraNetwork !== undefined &&\n (this.networkPreference === 'aura' || !this.services.fetch)\n );\n }\n\n protected shouldUseFetch(): boolean {\n return (\n this.services.fetch !== undefined &&\n (this.networkPreference === 'http' || !this.services.auraNetwork)\n );\n }\n\n requestFromNetwork(): SyncOrAsync<Result<NetworkResult, Error>> {\n if (this.shouldUseAuraNetwork()) {\n return this.convertAuraResponseToData(\n this.services.auraNetwork!(this.endpoint, this.auraParams, this.actionConfig),\n (errs) => this.coerceAuraErrors(errs)\n );\n } else if (this.shouldUseFetch()) {\n const params = this.fetchParams;\n try {\n return this.convertFetchResponseToData(this.services.fetch!(...params));\n } catch (reason) {\n return resolvedPromiseLike(err(toError(reason)));\n }\n }\n return resolvedPromiseLike(err(toError('Aura/Fetch network services not found')));\n }\n\n protected coerceAuraErrors(auraErrors: any[]): Error {\n return toError(auraErrors[0]); // Default Implementation stringifies the response\n }\n\n protected async coerceFetchError(errorResponse: Response): Promise<Error> {\n return toError(errorResponse.statusText); // Default Behavior\n }\n\n protected processAuraReturnValue(auraReturnValue: NetworkResult): Result<NetworkResult, Error> {\n return ok(auraReturnValue);\n }\n\n protected processFetchReturnValue(json: NetworkResult): Result<NetworkResult, Error> {\n return ok(json);\n }\n\n protected convertAuraResponseToData(\n responsePromise: Promise<AuraRawResponseBody<any>>,\n coerceError: (errors: any[]) => Error\n ): Promise<Result<NetworkResult, Error>> {\n return responsePromise\n .then((response) => {\n return this.processAuraReturnValue(response.getReturnValue());\n })\n .finally(() => {\n try {\n this.afterRequestHooks({ statusCode: 200 }); // Treat all aura success as 200\n } catch (e) {}\n })\n .catch((error) => {\n if (!error || !error.getError) {\n return err(toError('Failed to get error from response'));\n } else {\n const actionErrors = error.getError();\n if (actionErrors.length > 0) {\n return err(coerceError(actionErrors));\n } else {\n return err(toError('Error fetching component'));\n }\n }\n });\n }\n\n protected convertFetchResponseToData(\n response: PromiseLike<Response>\n ): PromiseLike<Result<NetworkResult, Error>> {\n return response.then(\n (response) => {\n if (response.ok) {\n return response\n .json()\n .then(\n (json: NetworkResult) => {\n return this.processFetchReturnValue(json);\n },\n (reason: any) => err(toError(reason))\n )\n .finally(() => {\n try {\n this.afterRequestHooks({ statusCode: response.status });\n } catch (e) {}\n });\n } else {\n return this.coerceFetchError(response)\n .then((coercedError) => {\n return err(coercedError);\n })\n .finally(() => {\n try {\n this.afterRequestHooks({ statusCode: response.status });\n } catch (e) {}\n });\n }\n },\n (reason) => err(toError(reason))\n );\n }\n}\n","import { type NamedService, type ServiceDescriptor } from '@conduit-client/utils';\nimport { AuraCacheControlCommand } from './aura-cache-control-command';\n\nexport { AuraCacheControlCommand } from './aura-cache-control-command';\n\nexport type AuraCacheControlCommandServiceDescriptor = ServiceDescriptor<\n typeof AuraCacheControlCommand,\n 'auraCacheControlCommand',\n '1.0'\n>;\n\nexport type NamedAuraCacheControlCommand = NamedService<\n 'auraCacheControlCommand',\n typeof AuraCacheControlCommand\n>;\n\nexport function buildServiceDescriptor(): AuraCacheControlCommandServiceDescriptor {\n return {\n type: 'auraCacheControlCommand',\n version: '1.0',\n service: AuraCacheControlCommand,\n };\n}\n"],"names":["response"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@conduit-client/command-aura-cache-control",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.6.2",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Luvio Aura Cache Control Command",
|
|
6
6
|
"type": "module",
|
|
@@ -31,13 +31,13 @@
|
|
|
31
31
|
"watch": "npm run build --watch"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@conduit-client/command-base": "3.
|
|
35
|
-
"@conduit-client/command-cache-control": "3.
|
|
36
|
-
"@conduit-client/service-aura-network": "3.
|
|
37
|
-
"@conduit-client/service-cache-control": "3.
|
|
38
|
-
"@conduit-client/service-fetch-network": "3.
|
|
39
|
-
"@conduit-client/service-pubsub": "3.
|
|
40
|
-
"@conduit-client/utils": "3.
|
|
34
|
+
"@conduit-client/command-base": "3.6.2",
|
|
35
|
+
"@conduit-client/command-cache-control": "3.6.2",
|
|
36
|
+
"@conduit-client/service-aura-network": "3.6.2",
|
|
37
|
+
"@conduit-client/service-cache-control": "3.6.2",
|
|
38
|
+
"@conduit-client/service-fetch-network": "3.6.2",
|
|
39
|
+
"@conduit-client/service-pubsub": "3.6.2",
|
|
40
|
+
"@conduit-client/utils": "3.6.2"
|
|
41
41
|
},
|
|
42
42
|
"volta": {
|
|
43
43
|
"extends": "../../../../package.json"
|