@conduit-client/command-aura-network 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 CHANGED
@@ -89,7 +89,12 @@ class AuraNetworkCommand extends NetworkCommand {
89
89
  this.coerceAuraErrors
90
90
  );
91
91
  } else if (this.shouldUseFetch()) {
92
- return this.convertFetchResponseToData(this.services.fetch(...this.fetchParams));
92
+ const params = this.fetchParams;
93
+ try {
94
+ return this.convertFetchResponseToData(this.services.fetch(...params));
95
+ } catch (reason) {
96
+ return resolvedPromiseLike(err(toError(reason)));
97
+ }
93
98
  }
94
99
  return resolvedPromiseLike(err(toError("Aura/Fetch network services not found")));
95
100
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/v1/aura-network-command.ts","../../src/v1/index.ts"],"sourcesContent":["import { NetworkCommand } from '@conduit-client/command-network/v1';\nimport { err, ok, toError, type Result, resolvedPromiseLike } from '@conduit-client/utils';\nimport type { NamedAuraNetworkService } from '@conduit-client/service-aura-network/v1';\nimport type { FetchService, NamedFetchService } 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 NetworkCommand that uses Aura as the transport mechanism.\n * Transforms parameters into an Aura Parameters object and returns the result as an unwrapped object.\n */\nexport abstract class AuraNetworkCommand<\n Data,\n ExtraServices extends object = object,\n> extends NetworkCommand<\n Data,\n ExtraServices & Partial<NamedAuraNetworkService> & Partial<NamedFetchService>\n> {\n constructor(\n protected services: Partial<NamedAuraNetworkService> &\n Partial<NamedFetchService> &\n ExtraServices\n ) {\n super(services);\n }\n\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 protected coerceAuraErrors(auraErrors: any[]): Error {\n return toError(auraErrors[0]); // Default Implmentation stringifies the response\n }\n\n protected async coerceFetchErrors(errorResponse: Response): Promise<Error> {\n return toError(errorResponse.statusText); // Default Behavior\n }\n\n protected convertAuraResponseToData<Data = unknown>(\n responsePromise: Promise<AuraRawResponseBody<any>>,\n coerceError: (errors: any[]) => Error\n ): Promise<Result<Data, Error>> {\n return responsePromise\n .then((response) => {\n const auraReturnValue = response.getReturnValue();\n try {\n this.afterRequestHooks({ statusCode: 200 }); // Treat all aura success as 200\n } catch (e) {}\n return ok(auraReturnValue);\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 private convertFetchResponseToData<Data = unknown>(\n response: PromiseLike<Response>\n ): PromiseLike<Result<Data, Error>> {\n return response.then(\n (response) => {\n if (response.ok) {\n return response\n .json()\n .then(\n (json: Data) => ok(json),\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.coerceFetchErrors(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 private shouldUseAuraNetwork(): boolean {\n return (\n this.services.auraNetwork !== undefined &&\n (this.networkPreference === 'aura' || !this.services.fetch)\n );\n }\n\n private shouldUseFetch(): boolean {\n return (\n this.services.fetch !== undefined &&\n (this.networkPreference === 'http' || !this.services.auraNetwork)\n );\n }\n\n fetch(): PromiseLike<Result<Data, Error>> {\n if (this.shouldUseAuraNetwork()) {\n return this.convertAuraResponseToData(\n this.services.auraNetwork!(this.endpoint, this.auraParams, this.actionConfig),\n this.coerceAuraErrors\n );\n } else if (this.shouldUseFetch()) {\n return this.convertFetchResponseToData(this.services.fetch!(...this.fetchParams));\n }\n return resolvedPromiseLike(err(toError('Aura/Fetch network services not found')));\n }\n}\n","import { type ServiceDescriptor } from '@conduit-client/utils';\nimport { AuraNetworkCommand } from './aura-network-command';\nimport type { NamedService } from '@conduit-client/utils';\n\nexport { AuraNetworkCommand } from './aura-network-command';\n\nexport type AuraNetworkCommandServiceDescriptor = ServiceDescriptor<\n typeof AuraNetworkCommand,\n 'auraNetworkCommandBaseClass',\n '1.0'\n>;\n\nexport function buildServiceDescriptor(): AuraNetworkCommandServiceDescriptor {\n return {\n type: 'auraNetworkCommandBaseClass',\n version: '1.0',\n service: AuraNetworkCommand,\n };\n}\n\nexport type NamedAuraNetworkCommandService = NamedService<\n 'auraNetworkCommandBaseClass',\n typeof AuraNetworkCommand\n>;\n"],"names":["response"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/v1/aura-network-command.ts","../../src/v1/index.ts"],"sourcesContent":["import { NetworkCommand } from '@conduit-client/command-network/v1';\nimport { err, ok, toError, type Result, resolvedPromiseLike } from '@conduit-client/utils';\nimport type { NamedAuraNetworkService } from '@conduit-client/service-aura-network/v1';\nimport type { FetchService, NamedFetchService } 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 NetworkCommand that uses Aura as the transport mechanism.\n * Transforms parameters into an Aura Parameters object and returns the result as an unwrapped object.\n */\nexport abstract class AuraNetworkCommand<\n Data,\n ExtraServices extends object = object,\n> extends NetworkCommand<\n Data,\n ExtraServices & Partial<NamedAuraNetworkService> & Partial<NamedFetchService>\n> {\n constructor(\n protected services: Partial<NamedAuraNetworkService> &\n Partial<NamedFetchService> &\n ExtraServices\n ) {\n super(services);\n }\n\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 protected coerceAuraErrors(auraErrors: any[]): Error {\n return toError(auraErrors[0]); // Default Implmentation stringifies the response\n }\n\n protected async coerceFetchErrors(errorResponse: Response): Promise<Error> {\n return toError(errorResponse.statusText); // Default Behavior\n }\n\n protected convertAuraResponseToData<Data = unknown>(\n responsePromise: Promise<AuraRawResponseBody<any>>,\n coerceError: (errors: any[]) => Error\n ): Promise<Result<Data, Error>> {\n return responsePromise\n .then((response) => {\n const auraReturnValue = response.getReturnValue();\n try {\n this.afterRequestHooks({ statusCode: 200 }); // Treat all aura success as 200\n } catch (e) {}\n return ok(auraReturnValue);\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 private convertFetchResponseToData<Data = unknown>(\n response: PromiseLike<Response>\n ): PromiseLike<Result<Data, Error>> {\n return response.then(\n (response) => {\n if (response.ok) {\n return response\n .json()\n .then(\n (json: Data) => ok(json),\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.coerceFetchErrors(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 private shouldUseAuraNetwork(): boolean {\n return (\n this.services.auraNetwork !== undefined &&\n (this.networkPreference === 'aura' || !this.services.fetch)\n );\n }\n\n private shouldUseFetch(): boolean {\n return (\n this.services.fetch !== undefined &&\n (this.networkPreference === 'http' || !this.services.auraNetwork)\n );\n }\n\n fetch(): PromiseLike<Result<Data, Error>> {\n if (this.shouldUseAuraNetwork()) {\n return this.convertAuraResponseToData(\n this.services.auraNetwork!(this.endpoint, this.auraParams, this.actionConfig),\n this.coerceAuraErrors\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","import { type ServiceDescriptor } from '@conduit-client/utils';\nimport { AuraNetworkCommand } from './aura-network-command';\nimport type { NamedService } from '@conduit-client/utils';\n\nexport { AuraNetworkCommand } from './aura-network-command';\n\nexport type AuraNetworkCommandServiceDescriptor = ServiceDescriptor<\n typeof AuraNetworkCommand,\n 'auraNetworkCommandBaseClass',\n '1.0'\n>;\n\nexport function buildServiceDescriptor(): AuraNetworkCommandServiceDescriptor {\n return {\n type: 'auraNetworkCommandBaseClass',\n version: '1.0',\n service: AuraNetworkCommand,\n };\n}\n\nexport type NamedAuraNetworkCommandService = NamedService<\n 'auraNetworkCommandBaseClass',\n typeof AuraNetworkCommand\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-network",
3
- "version": "3.6.1",
3
+ "version": "3.6.3",
4
4
  "private": false,
5
5
  "description": "Luvio Aura Network Command",
6
6
  "type": "module",
@@ -31,11 +31,11 @@
31
31
  "watch": "npm run build --watch"
32
32
  },
33
33
  "dependencies": {
34
- "@conduit-client/command-base": "3.6.1",
35
- "@conduit-client/command-network": "3.6.1",
36
- "@conduit-client/service-aura-network": "3.6.1",
37
- "@conduit-client/service-fetch-network": "3.6.1",
38
- "@conduit-client/utils": "3.6.1"
34
+ "@conduit-client/command-base": "3.6.3",
35
+ "@conduit-client/command-network": "3.6.3",
36
+ "@conduit-client/service-aura-network": "3.6.3",
37
+ "@conduit-client/service-fetch-network": "3.6.3",
38
+ "@conduit-client/utils": "3.6.3"
39
39
  },
40
40
  "volta": {
41
41
  "extends": "../../../../package.json"