@conduit-client/command-http-normalized-cache-control 3.6.1 → 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 CHANGED
@@ -4,7 +4,7 @@
4
4
  * For full license text, see the LICENSE.txt file
5
5
  */
6
6
  import { CacheControlCommand } from "@conduit-client/command-cache-control/v1";
7
- import { toError, ok, err, resolvedPromiseLike, JSONStringify } from "@conduit-client/utils";
7
+ import { resolvedPromiseLike, err, toError, ok, JSONStringify } from "@conduit-client/utils";
8
8
  /*!
9
9
  * Copyright (c) 2022, Salesforce, Inc.,
10
10
  * All rights reserved.
@@ -19,7 +19,11 @@ class HttpCacheControlCommand extends CacheControlCommand {
19
19
  return this.fetch();
20
20
  }
21
21
  fetch() {
22
- return this.convertFetchResponseToData(this.services.fetch(...this.fetchParams));
22
+ try {
23
+ return this.convertFetchResponseToData(this.services.fetch(...this.fetchParams));
24
+ } catch (reason) {
25
+ return resolvedPromiseLike(err(toError(reason)));
26
+ }
23
27
  }
24
28
  async coerceError(errorResponse) {
25
29
  return toError(errorResponse.statusText);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../http-cache-control/dist/v1/index.js","../../src/v1/http-normalized-cache-control-command.ts","../../src/v1/index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2022, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport { CacheControlCommand } from \"@conduit-client/command-cache-control/v1\";\nimport { toError, ok, err } from \"@conduit-client/utils\";\nclass HttpCacheControlCommand extends CacheControlCommand {\n constructor(services) {\n super(services);\n this.services = services;\n }\n requestFromNetwork() {\n return this.fetch();\n }\n fetch() {\n return this.convertFetchResponseToData(this.services.fetch(...this.fetchParams));\n }\n async coerceError(errorResponse) {\n return toError(errorResponse.statusText);\n }\n processFetchReturnValue(json) {\n return ok(json);\n }\n convertFetchResponseToData(response) {\n return response.then(\n (response2) => {\n if (response2.ok) {\n return response2.json().then(\n (json) => {\n return this.processFetchReturnValue(json);\n },\n (reason) => err(toError(reason))\n ).finally(() => {\n try {\n this.afterRequestHooks({ statusCode: response2.status });\n } catch (e) {\n }\n });\n } else {\n return this.coerceError(response2).then((coercedError) => {\n return err(coercedError);\n }).finally(() => {\n try {\n this.afterRequestHooks({ statusCode: response2.status });\n } catch (e) {\n }\n });\n }\n },\n (reason) => err(toError(reason))\n );\n }\n}\nfunction buildServiceDescriptor() {\n return {\n type: \"httpCacheControlCommand\",\n version: \"1.0\",\n service: HttpCacheControlCommand\n };\n}\nexport {\n HttpCacheControlCommand,\n buildServiceDescriptor\n};\n//# sourceMappingURL=index.js.map\n","import { HttpCacheControlCommand } from '@conduit-client/command-http-cache-control/v1';\nimport {\n err,\n JSONStringify,\n ok,\n resolvedPromiseLike,\n type Result,\n type SyncOrAsync,\n} from '@conduit-client/utils';\nimport { type NamedPubSubService } from '@conduit-client/service-pubsub/v1';\nimport type {\n DataOf,\n Queryable,\n QueryFor,\n ReadInputOf,\n TypeRepository,\n WriteInputOf,\n WriteResponseOf,\n} from '@conduit-client/type-normalization/v1';\nimport type { Cache } from '@conduit-client/service-cache/v1';\nimport type { NamedCacheControllerService } from '@conduit-client/service-cache-control/v1';\nimport type { NamedFetchService } from '@conduit-client/service-fetch-network/v1';\n\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 HttpNormalizedCacheControlCommand<\n ResultType extends Queryable<TypeRepository<Data, ReadInput, WriteResponse, WriteInput>, any>,\n Data = DataOf<ResultType>,\n NetworkData = Data,\n ReadInput = ReadInputOf<ResultType>,\n WriteResponse = WriteResponseOf<ResultType>,\n WriteInput = WriteInputOf<ResultType>,\n ExtraServices extends object = object,\n> extends HttpCacheControlCommand<Data, ExtraServices, NetworkData> {\n abstract buildResultType(): ResultType;\n abstract buildQuery(): QueryFor<ResultType>;\n abstract buildWriteInput(data: NetworkData): WriteInput;\n\n constructor(\n protected services: NamedCacheControllerService &\n Partial<NamedPubSubService> &\n NamedFetchService &\n ExtraServices\n ) {\n super(services);\n }\n\n readFromCache(cache: Cache): SyncOrAsync<Result<Data, Error>> {\n const data = this.buildResultType().query(cache, this.buildQuery());\n if (data.isErr()) {\n return resolvedPromiseLike(\n err(new Error(`Failed to build data from type: ${JSONStringify(data.error)}`))\n );\n }\n return resolvedPromiseLike(ok(data.value));\n }\n\n writeToCache(cache: Cache, networkResult: Result<NetworkData, Error>): SyncOrAsync<void> {\n if (networkResult.isOk()) {\n this.buildResultType().write(\n cache.buildFixedTimeWritableCache(Date.now() / 1000),\n this.buildWriteInput(networkResult.value)\n );\n }\n\n return resolvedPromiseLike(undefined);\n }\n}\n","import { type NamedService, type ServiceDescriptor } from '@conduit-client/utils';\nimport { HttpNormalizedCacheControlCommand } from './http-normalized-cache-control-command';\n\nexport { HttpNormalizedCacheControlCommand } from './http-normalized-cache-control-command';\n\nexport type HttpNormalizedCacheControlCommandServiceDescriptor = ServiceDescriptor<\n typeof HttpNormalizedCacheControlCommand,\n 'httpNormalizedCacheControlCommand',\n '1.0'\n>;\n\nexport type NamedHttpNormalizedCacheControlCommand = NamedService<\n 'httpNormalizedCacheControlCommand',\n typeof HttpNormalizedCacheControlCommand\n>;\n\nexport function buildServiceDescriptor(): HttpNormalizedCacheControlCommandServiceDescriptor {\n return {\n type: 'httpNormalizedCacheControlCommand',\n version: '1.0',\n service: HttpNormalizedCacheControlCommand,\n };\n}\n"],"names":[],"mappings":";;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,MAAM,gCAAgC,oBAAoB;AAAA,EACxD,YAAY,UAAU;AACpB,UAAM,QAAQ;AACd,SAAK,WAAW;AAAA,EAClB;AAAA,EACA,qBAAqB;AACnB,WAAO,KAAK,MAAK;AAAA,EACnB;AAAA,EACA,QAAQ;AACN,WAAO,KAAK,2BAA2B,KAAK,SAAS,MAAM,GAAG,KAAK,WAAW,CAAC;AAAA,EACjF;AAAA,EACA,MAAM,YAAY,eAAe;AAC/B,WAAO,QAAQ,cAAc,UAAU;AAAA,EACzC;AAAA,EACA,wBAAwB,MAAM;AAC5B,WAAO,GAAG,IAAI;AAAA,EAChB;AAAA,EACA,2BAA2B,UAAU;AACnC,WAAO,SAAS;AAAA,MACd,CAAC,cAAc;AACb,YAAI,UAAU,IAAI;AAChB,iBAAO,UAAU,KAAI,EAAG;AAAA,YACtB,CAAC,SAAS;AACR,qBAAO,KAAK,wBAAwB,IAAI;AAAA,YAC1C;AAAA,YACA,CAAC,WAAW,IAAI,QAAQ,MAAM,CAAC;AAAA,UAC3C,EAAY,QAAQ,MAAM;AACd,gBAAI;AACF,mBAAK,kBAAkB,EAAE,YAAY,UAAU,OAAM,CAAE;AAAA,YACzD,SAAS,GAAG;AAAA,YACZ;AAAA,UACF,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,YAAY,SAAS,EAAE,KAAK,CAAC,iBAAiB;AACxD,mBAAO,IAAI,YAAY;AAAA,UACzB,CAAC,EAAE,QAAQ,MAAM;AACf,gBAAI;AACF,mBAAK,kBAAkB,EAAE,YAAY,UAAU,OAAM,CAAE;AAAA,YACzD,SAAS,GAAG;AAAA,YACZ;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF;AAAA,MACA,CAAC,WAAW,IAAI,QAAQ,MAAM,CAAC;AAAA,IACrC;AAAA,EACE;AACF;ACvBO,MAAe,0CAQZ,wBAA0D;AAAA,EAKhE,YACc,UAIZ;AACE,UAAM,QAAQ;AALJ,SAAA,WAAA;AAAA,EAMd;AAAA,EAEA,cAAc,OAAgD;AAC1D,UAAM,OAAO,KAAK,gBAAA,EAAkB,MAAM,OAAO,KAAK,YAAY;AAClE,QAAI,KAAK,SAAS;AACd,aAAO;AAAA,QACH,IAAI,IAAI,MAAM,mCAAmC,cAAc,KAAK,KAAK,CAAC,EAAE,CAAC;AAAA,MAAA;AAAA,IAErF;AACA,WAAO,oBAAoB,GAAG,KAAK,KAAK,CAAC;AAAA,EAC7C;AAAA,EAEA,aAAa,OAAc,eAA8D;AACrF,QAAI,cAAc,QAAQ;AACtB,WAAK,kBAAkB;AAAA,QACnB,MAAM,4BAA4B,KAAK,IAAA,IAAQ,GAAI;AAAA,QACnD,KAAK,gBAAgB,cAAc,KAAK;AAAA,MAAA;AAAA,IAEhD;AAEA,WAAO,oBAAoB,MAAS;AAAA,EACxC;AACJ;ACxDO,SAAS,yBAA6E;AACzF,SAAO;AAAA,IACH,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,EAAA;AAEjB;"}
1
+ {"version":3,"file":"index.js","sources":["../../../http-cache-control/dist/v1/index.js","../../src/v1/http-normalized-cache-control-command.ts","../../src/v1/index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2022, Salesforce, Inc.,\n * All rights reserved.\n * For full license text, see the LICENSE.txt file\n */\nimport { CacheControlCommand } from \"@conduit-client/command-cache-control/v1\";\nimport { resolvedPromiseLike, err, toError, ok } from \"@conduit-client/utils\";\nclass HttpCacheControlCommand extends CacheControlCommand {\n constructor(services) {\n super(services);\n this.services = services;\n }\n requestFromNetwork() {\n return this.fetch();\n }\n fetch() {\n try {\n return this.convertFetchResponseToData(this.services.fetch(...this.fetchParams));\n } catch (reason) {\n return resolvedPromiseLike(err(toError(reason)));\n }\n }\n async coerceError(errorResponse) {\n return toError(errorResponse.statusText);\n }\n processFetchReturnValue(json) {\n return ok(json);\n }\n convertFetchResponseToData(response) {\n return response.then(\n (response2) => {\n if (response2.ok) {\n return response2.json().then(\n (json) => {\n return this.processFetchReturnValue(json);\n },\n (reason) => err(toError(reason))\n ).finally(() => {\n try {\n this.afterRequestHooks({ statusCode: response2.status });\n } catch (e) {\n }\n });\n } else {\n return this.coerceError(response2).then((coercedError) => {\n return err(coercedError);\n }).finally(() => {\n try {\n this.afterRequestHooks({ statusCode: response2.status });\n } catch (e) {\n }\n });\n }\n },\n (reason) => err(toError(reason))\n );\n }\n}\nfunction buildServiceDescriptor() {\n return {\n type: \"httpCacheControlCommand\",\n version: \"1.0\",\n service: HttpCacheControlCommand\n };\n}\nexport {\n HttpCacheControlCommand,\n buildServiceDescriptor\n};\n//# sourceMappingURL=index.js.map\n","import { HttpCacheControlCommand } from '@conduit-client/command-http-cache-control/v1';\nimport {\n err,\n JSONStringify,\n ok,\n resolvedPromiseLike,\n type Result,\n type SyncOrAsync,\n} from '@conduit-client/utils';\nimport { type NamedPubSubService } from '@conduit-client/service-pubsub/v1';\nimport type {\n DataOf,\n Queryable,\n QueryFor,\n ReadInputOf,\n TypeRepository,\n WriteInputOf,\n WriteResponseOf,\n} from '@conduit-client/type-normalization/v1';\nimport type { Cache } from '@conduit-client/service-cache/v1';\nimport type { NamedCacheControllerService } from '@conduit-client/service-cache-control/v1';\nimport type { NamedFetchService } from '@conduit-client/service-fetch-network/v1';\n\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 HttpNormalizedCacheControlCommand<\n ResultType extends Queryable<TypeRepository<Data, ReadInput, WriteResponse, WriteInput>, any>,\n Data = DataOf<ResultType>,\n NetworkData = Data,\n ReadInput = ReadInputOf<ResultType>,\n WriteResponse = WriteResponseOf<ResultType>,\n WriteInput = WriteInputOf<ResultType>,\n ExtraServices extends object = object,\n> extends HttpCacheControlCommand<Data, ExtraServices, NetworkData> {\n abstract buildResultType(): ResultType;\n abstract buildQuery(): QueryFor<ResultType>;\n abstract buildWriteInput(data: NetworkData): WriteInput;\n\n constructor(\n protected services: NamedCacheControllerService &\n Partial<NamedPubSubService> &\n NamedFetchService &\n ExtraServices\n ) {\n super(services);\n }\n\n readFromCache(cache: Cache): SyncOrAsync<Result<Data, Error>> {\n const data = this.buildResultType().query(cache, this.buildQuery());\n if (data.isErr()) {\n return resolvedPromiseLike(\n err(new Error(`Failed to build data from type: ${JSONStringify(data.error)}`))\n );\n }\n return resolvedPromiseLike(ok(data.value));\n }\n\n writeToCache(cache: Cache, networkResult: Result<NetworkData, Error>): SyncOrAsync<void> {\n if (networkResult.isOk()) {\n this.buildResultType().write(\n cache.buildFixedTimeWritableCache(Date.now() / 1000),\n this.buildWriteInput(networkResult.value)\n );\n }\n\n return resolvedPromiseLike(undefined);\n }\n}\n","import { type NamedService, type ServiceDescriptor } from '@conduit-client/utils';\nimport { HttpNormalizedCacheControlCommand } from './http-normalized-cache-control-command';\n\nexport { HttpNormalizedCacheControlCommand } from './http-normalized-cache-control-command';\n\nexport type HttpNormalizedCacheControlCommandServiceDescriptor = ServiceDescriptor<\n typeof HttpNormalizedCacheControlCommand,\n 'httpNormalizedCacheControlCommand',\n '1.0'\n>;\n\nexport type NamedHttpNormalizedCacheControlCommand = NamedService<\n 'httpNormalizedCacheControlCommand',\n typeof HttpNormalizedCacheControlCommand\n>;\n\nexport function buildServiceDescriptor(): HttpNormalizedCacheControlCommandServiceDescriptor {\n return {\n type: 'httpNormalizedCacheControlCommand',\n version: '1.0',\n service: HttpNormalizedCacheControlCommand,\n };\n}\n"],"names":[],"mappings":";;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,MAAM,gCAAgC,oBAAoB;AAAA,EACxD,YAAY,UAAU;AACpB,UAAM,QAAQ;AACd,SAAK,WAAW;AAAA,EAClB;AAAA,EACA,qBAAqB;AACnB,WAAO,KAAK,MAAK;AAAA,EACnB;AAAA,EACA,QAAQ;AACN,QAAI;AACF,aAAO,KAAK,2BAA2B,KAAK,SAAS,MAAM,GAAG,KAAK,WAAW,CAAC;AAAA,IACjF,SAAS,QAAQ;AACf,aAAO,oBAAoB,IAAI,QAAQ,MAAM,CAAC,CAAC;AAAA,IACjD;AAAA,EACF;AAAA,EACA,MAAM,YAAY,eAAe;AAC/B,WAAO,QAAQ,cAAc,UAAU;AAAA,EACzC;AAAA,EACA,wBAAwB,MAAM;AAC5B,WAAO,GAAG,IAAI;AAAA,EAChB;AAAA,EACA,2BAA2B,UAAU;AACnC,WAAO,SAAS;AAAA,MACd,CAAC,cAAc;AACb,YAAI,UAAU,IAAI;AAChB,iBAAO,UAAU,KAAI,EAAG;AAAA,YACtB,CAAC,SAAS;AACR,qBAAO,KAAK,wBAAwB,IAAI;AAAA,YAC1C;AAAA,YACA,CAAC,WAAW,IAAI,QAAQ,MAAM,CAAC;AAAA,UAC3C,EAAY,QAAQ,MAAM;AACd,gBAAI;AACF,mBAAK,kBAAkB,EAAE,YAAY,UAAU,OAAM,CAAE;AAAA,YACzD,SAAS,GAAG;AAAA,YACZ;AAAA,UACF,CAAC;AAAA,QACH,OAAO;AACL,iBAAO,KAAK,YAAY,SAAS,EAAE,KAAK,CAAC,iBAAiB;AACxD,mBAAO,IAAI,YAAY;AAAA,UACzB,CAAC,EAAE,QAAQ,MAAM;AACf,gBAAI;AACF,mBAAK,kBAAkB,EAAE,YAAY,UAAU,OAAM,CAAE;AAAA,YACzD,SAAS,GAAG;AAAA,YACZ;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF;AAAA,MACA,CAAC,WAAW,IAAI,QAAQ,MAAM,CAAC;AAAA,IACrC;AAAA,EACE;AACF;AC3BO,MAAe,0CAQZ,wBAA0D;AAAA,EAKhE,YACc,UAIZ;AACE,UAAM,QAAQ;AALJ,SAAA,WAAA;AAAA,EAMd;AAAA,EAEA,cAAc,OAAgD;AAC1D,UAAM,OAAO,KAAK,gBAAA,EAAkB,MAAM,OAAO,KAAK,YAAY;AAClE,QAAI,KAAK,SAAS;AACd,aAAO;AAAA,QACH,IAAI,IAAI,MAAM,mCAAmC,cAAc,KAAK,KAAK,CAAC,EAAE,CAAC;AAAA,MAAA;AAAA,IAErF;AACA,WAAO,oBAAoB,GAAG,KAAK,KAAK,CAAC;AAAA,EAC7C;AAAA,EAEA,aAAa,OAAc,eAA8D;AACrF,QAAI,cAAc,QAAQ;AACtB,WAAK,kBAAkB;AAAA,QACnB,MAAM,4BAA4B,KAAK,IAAA,IAAQ,GAAI;AAAA,QACnD,KAAK,gBAAgB,cAAc,KAAK;AAAA,MAAA;AAAA,IAEhD;AAEA,WAAO,oBAAoB,MAAS;AAAA,EACxC;AACJ;ACxDO,SAAS,yBAA6E;AACzF,SAAO;AAAA,IACH,MAAM;AAAA,IACN,SAAS;AAAA,IACT,SAAS;AAAA,EAAA;AAEjB;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@conduit-client/command-http-normalized-cache-control",
3
- "version": "3.6.1",
3
+ "version": "3.6.2",
4
4
  "private": false,
5
5
  "description": "OneStore HTTP Normalized 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.6.1",
35
- "@conduit-client/command-cache-control": "3.6.1",
36
- "@conduit-client/command-http-cache-control": "3.6.1",
37
- "@conduit-client/service-cache-control": "3.6.1",
38
- "@conduit-client/service-fetch-network": "3.6.1",
39
- "@conduit-client/type-normalization": "3.6.1",
40
- "@conduit-client/utils": "3.6.1"
34
+ "@conduit-client/command-base": "3.6.2",
35
+ "@conduit-client/command-cache-control": "3.6.2",
36
+ "@conduit-client/command-http-cache-control": "3.6.2",
37
+ "@conduit-client/service-cache-control": "3.6.2",
38
+ "@conduit-client/service-fetch-network": "3.6.2",
39
+ "@conduit-client/type-normalization": "3.6.2",
40
+ "@conduit-client/utils": "3.6.2"
41
41
  },
42
42
  "volta": {
43
43
  "extends": "../../../../package.json"