@financial-times/cp-content-pipeline-schema 2.14.2 → 2.15.0

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.
Files changed (106) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/lib/datasources/capi.d.ts +2 -0
  3. package/lib/datasources/capi.js +17 -1
  4. package/lib/datasources/capi.js.map +1 -1
  5. package/lib/datasources/capi.test.js +6 -1
  6. package/lib/datasources/capi.test.js.map +1 -1
  7. package/lib/datasources/instrumented.js.map +1 -1
  8. package/lib/datasources/origami-image.js.map +1 -1
  9. package/lib/datasources/twitter.js.map +1 -1
  10. package/lib/datasources/url-management.js.map +1 -1
  11. package/lib/fixtures/dummyContext.js.map +1 -1
  12. package/lib/generated/index.d.ts +62 -0
  13. package/lib/helpers/decorateHeadshotUrl.js +1 -1
  14. package/lib/helpers/decorateHeadshotUrl.js.map +1 -1
  15. package/lib/helpers/flatten-formatted-zod-errors.d.ts +6 -0
  16. package/lib/helpers/flatten-formatted-zod-errors.js +39 -0
  17. package/lib/helpers/flatten-formatted-zod-errors.js.map +1 -0
  18. package/lib/helpers/imageService.js +1 -1
  19. package/lib/helpers/imageService.js.map +1 -1
  20. package/lib/helpers/isError.js +1 -1
  21. package/lib/helpers/isError.js.map +1 -1
  22. package/lib/helpers/metadata.js +1 -2
  23. package/lib/helpers/metadata.js.map +1 -1
  24. package/lib/index.d.ts +5 -1
  25. package/lib/index.js.map +1 -1
  26. package/lib/model/Byline.js +1 -1
  27. package/lib/model/Byline.js.map +1 -1
  28. package/lib/model/CapiList.d.ts +17 -0
  29. package/lib/model/CapiList.js +87 -0
  30. package/lib/model/CapiList.js.map +1 -0
  31. package/lib/model/CapiResponse.js +7 -38
  32. package/lib/model/CapiResponse.js.map +1 -1
  33. package/lib/model/Clip.js.map +1 -1
  34. package/lib/model/Concept.js.map +1 -1
  35. package/lib/model/FlourishSource.js.map +1 -1
  36. package/lib/model/Image.d.ts +2 -34
  37. package/lib/model/Image.js +1 -1
  38. package/lib/model/Image.js.map +1 -1
  39. package/lib/model/Person.js.map +1 -1
  40. package/lib/model/Picture.js.map +1 -1
  41. package/lib/model/RichText.d.ts +1 -1
  42. package/lib/model/RichText.js.map +1 -1
  43. package/lib/model/Topper.d.ts +2 -2
  44. package/lib/model/Topper.js.map +1 -1
  45. package/lib/model/schemas/capi/index.js.map +1 -1
  46. package/lib/model/schemas/capi/list.d.ts +48 -0
  47. package/lib/model/schemas/capi/list.js +35 -0
  48. package/lib/model/schemas/capi/list.js.map +1 -0
  49. package/lib/resolvers/clip.d.ts +5 -5
  50. package/lib/resolvers/content-tree/bodyXMLToTree.js +1 -1
  51. package/lib/resolvers/content-tree/bodyXMLToTree.js.map +1 -1
  52. package/lib/resolvers/content-tree/extractText.js +1 -1
  53. package/lib/resolvers/content-tree/extractText.js.map +1 -1
  54. package/lib/resolvers/content-tree/nodePredicates.d.ts +3 -3
  55. package/lib/resolvers/content-tree/nodePredicates.js.map +1 -1
  56. package/lib/resolvers/content-tree/references/ClipSet.d.ts +2 -2
  57. package/lib/resolvers/content-tree/references/ClipSet.js.map +1 -1
  58. package/lib/resolvers/content-tree/references/Flourish.js.map +1 -1
  59. package/lib/resolvers/content-tree/references/RawImage.js.map +1 -1
  60. package/lib/resolvers/content-tree/references/Recommended.js.map +1 -1
  61. package/lib/resolvers/content-tree/references/Reference.d.ts +2 -2
  62. package/lib/resolvers/content-tree/references/Reference.js.map +1 -1
  63. package/lib/resolvers/content-tree/references/Tweet.js.map +1 -1
  64. package/lib/resolvers/content-tree/references/Video.js.map +1 -1
  65. package/lib/resolvers/content-tree/tagMappings.js +5 -5
  66. package/lib/resolvers/content-tree/tagMappings.js.map +1 -1
  67. package/lib/resolvers/content-tree/updateTreeWithReferenceIds.js +1 -1
  68. package/lib/resolvers/content-tree/updateTreeWithReferenceIds.js.map +1 -1
  69. package/lib/resolvers/content.d.ts +8 -8
  70. package/lib/resolvers/content.js.map +1 -1
  71. package/lib/resolvers/core.d.ts +1 -0
  72. package/lib/resolvers/core.js +27 -21
  73. package/lib/resolvers/core.js.map +1 -1
  74. package/lib/resolvers/image.js.map +1 -1
  75. package/lib/resolvers/index.d.ts +48 -36
  76. package/lib/resolvers/index.js +2 -0
  77. package/lib/resolvers/index.js.map +1 -1
  78. package/lib/resolvers/list.d.ts +14 -0
  79. package/lib/resolvers/list.js +16 -0
  80. package/lib/resolvers/list.js.map +1 -0
  81. package/lib/resolvers/literal-union.js.map +1 -1
  82. package/lib/resolvers/meta-link.js.map +1 -1
  83. package/lib/resolvers/richText.d.ts +5 -5
  84. package/lib/resolvers/scalars.d.ts +4 -0
  85. package/lib/resolvers/scalars.js +18 -1
  86. package/lib/resolvers/scalars.js.map +1 -1
  87. package/lib/types/cache.js +1 -2
  88. package/lib/types/cache.js.map +1 -1
  89. package/package.json +1 -1
  90. package/src/datasources/capi.test.ts +6 -1
  91. package/src/datasources/capi.ts +19 -1
  92. package/src/fixtures/dummyContext.ts +1 -1
  93. package/src/generated/index.ts +62 -0
  94. package/src/helpers/flatten-formatted-zod-errors.ts +67 -0
  95. package/src/index.ts +3 -1
  96. package/src/model/CapiList.ts +103 -0
  97. package/src/model/CapiResponse.ts +7 -69
  98. package/src/model/schemas/capi/list.ts +36 -0
  99. package/src/resolvers/core.ts +29 -22
  100. package/src/resolvers/index.ts +2 -0
  101. package/src/resolvers/list.ts +15 -0
  102. package/src/resolvers/scalars.ts +30 -0
  103. package/tsconfig.tsbuildinfo +1 -1
  104. package/typedefs/core.graphql +3 -0
  105. package/typedefs/list.graphql +20 -0
  106. package/typedefs/scalars.graphql +2 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.15.0](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-schema-v2.14.2...cp-content-pipeline-schema-v2.15.0) (2024-07-24)
4
+
5
+
6
+ ### Features
7
+
8
+ * add a core resolver and schema type for CAPI lists ([5651c21](https://github.com/Financial-Times/cp-content-pipeline/commit/5651c21b02bf1c840789e67708ed9eef44c81f6b))
9
+ * add surrogate key for list id ([c78ac2d](https://github.com/Financial-Times/cp-content-pipeline/commit/c78ac2df066dd6442049d955a2d14d1e2f3bdc03))
10
+ * log metrics for list schema validation ([0f9eada](https://github.com/Financial-Times/cp-content-pipeline/commit/0f9eada72edfccf791f71165b0abdbe79de83638))
11
+
3
12
  ## [2.14.2](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-schema-v2.14.1...cp-content-pipeline-schema-v2.14.2) (2024-07-23)
4
13
 
5
14
 
@@ -2,6 +2,7 @@ import { CapiResponse } from '../model/CapiResponse';
2
2
  import { InstrumentedRESTDataSource } from './instrumented';
3
3
  import { CapiPerson } from '../types/internal-content';
4
4
  import { AugmentedRequest } from '@apollo/datasource-rest';
5
+ import { CapiList } from '../model/CapiList';
5
6
  export declare class CapiDataSource extends InstrumentedRESTDataSource {
6
7
  baseURL: string;
7
8
  capiKey: string;
@@ -14,5 +15,6 @@ export declare class CapiDataSource extends InstrumentedRESTDataSource {
14
15
  willSendRequest(path: string, request: AugmentedRequest): void;
15
16
  getContent(uuid: string, packageContainer?: CapiResponse): Promise<CapiResponse>;
16
17
  getPerson(uuid: string): Promise<CapiPerson>;
18
+ getList(uuid: string): Promise<CapiList>;
17
19
  getHTTPCacheKeyForContent(uuid: string): Promise<string>;
18
20
  }
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.CapiDataSource = void 0;
7
7
  const CapiResponse_1 = require("../model/CapiResponse");
8
8
  const instrumented_1 = require("./instrumented");
9
+ const CapiList_1 = require("../model/CapiList");
9
10
  const timeout_error_1 = __importDefault(require("../helpers/timeout-error"));
10
11
  const REQUEST_TIMEOUT = process.env.CAPI_DATASOURCE_REQUEST_TIMEOUT
11
12
  ? parseInt(process.env.CAPI_DATASOURCE_REQUEST_TIMEOUT)
@@ -41,7 +42,12 @@ class CapiDataSource extends instrumented_1.InstrumentedRESTDataSource {
41
42
  this.timeout = setTimeout(() => this.abortController.abort(new timeout_error_1.default(REQUEST_TIMEOUT)), REQUEST_TIMEOUT);
42
43
  }
43
44
  async getContent(uuid, packageContainer) {
44
- this.context.addSurrogateKeys([uuid]);
45
+ this.context.addSurrogateKeys([
46
+ {
47
+ prefix: 'contentPipelineArticle',
48
+ id: uuid,
49
+ },
50
+ ]);
45
51
  const content = await this.get(`internalcontent/${uuid}`, {
46
52
  cacheOptions: { ttl: this.articleCacheTTL },
47
53
  });
@@ -58,6 +64,16 @@ class CapiDataSource extends instrumented_1.InstrumentedRESTDataSource {
58
64
  cacheOptions: { ttl: this.peopleCacheTTL },
59
65
  });
60
66
  }
67
+ async getList(uuid) {
68
+ this.context.addSurrogateKeys([
69
+ {
70
+ prefix: 'contentPipelineList',
71
+ id: uuid,
72
+ },
73
+ ]);
74
+ const list = await this.get(`lists/${uuid}`);
75
+ return CapiList_1.CapiList.fromJSON(list, this.context);
76
+ }
61
77
  // replicates the logic implicit in PrefixingKeyValueCache to
62
78
  // construct a cache key for an article used to purge Redis
63
79
  async getHTTPCacheKeyForContent(uuid) {
@@ -1 +1 @@
1
- {"version":3,"file":"capi.js","sourceRoot":"","sources":["../../src/datasources/capi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capi.js","sourceRoot":"","sources":["../../src/datasources/capi.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAoD;AACpD,iDAA2D;AAO3D,gDAA4C;AAC5C,6EAAmD;AAEnD,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,+BAA+B;IACjE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC;IACvD,CAAC,CAAC,GAAG,CAAA;AAEP,MAAM,WAAW,GAAG,CAAC,KAAoB,EAAmC,EAAE,CAC5E,QAAQ,IAAI,KAAK,CAAA;AAEnB,SAAS,kBAAkB,CAAC,KAAoB;IAC9C,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC/D,CAAC;IAED,OAAO,EAAE,CAAA;AACX,CAAC;AAED,MAAa,cAAe,SAAQ,yCAA0B;IAA9D;;QACE,YAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,uBAAuB,CAAA;QACzD,YAAO,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAA;QACxC,oBAAe,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB;YAC7C,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;YACzC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA,CAAC,UAAU;QACnC,mBAAc,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB;YAC3C,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACxC,CAAC,CAAC,GAAG,CAAA,CAAC,aAAa;QAMrB,oBAAe,GAAG,IAAI,eAAe,EAAE,CAAA;QACvC,YAAO,GAA8C,SAAS,CAAA;IAuEhE,CAAC;IA5EC,IAAI,iBAAiB;QACnB,OAAO,QAAQ,CAAA;IACjB,CAAC;IAOQ,eAAe,CAAC,IAAY,EAAE,OAAyB;QAC9D,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAEpC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3C,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAA;QAC5C,IAAI,CAAC,OAAO,GAAG,UAAU,CACvB,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,uBAAY,CAAC,eAAe,CAAC,CAAC,EACnE,eAAe,CAChB,CAAA;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CACd,IAAY,EACZ,gBAA+B;QAE/B,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAC5B;gBACE,MAAM,EAAE,wBAAwB;gBAChC,EAAE,EAAE,IAAI;aACT;SACF,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,mBAAmB,IAAI,EAAE,EAAE;YACxD,YAAY,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE;SAC5C,CAAC,CAAA;QACF,IAAI,CAAC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAA;QACxC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAErB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC1B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;QAC1B,CAAC;QAED,OAAO,2BAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAA;IACvE,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE;YAChC,YAAY,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,EAAE;SAC3C,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY;QACxB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAC5B;gBACE,MAAM,EAAE,qBAAqB;gBAC7B,EAAE,EAAE,IAAI;aACT;SACF,CAAC,CAAA;QAEF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;QAC5C,OAAO,mBAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC;IAED,6DAA6D;IAC7D,2DAA2D;IAC3D,KAAK,CAAC,yBAAyB,CAAC,IAAY;QAC1C,MAAM,YAAY,GAAqB;YACrC,MAAM,EAAE,IAAI,eAAe,EAAE;YAC7B,OAAO,EAAE,EAAE;SACZ,CAAA;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAC/B,MAAM,IAAI,CAAC,UAAU,CAAC,mBAAmB,IAAI,EAAE,EAAE,YAAY,CAAC,CAC/D,CAAA;QAED,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,GAAG,QAAQ,EAAE,CAAA;IAC5E,CAAC;CACF;AAtFD,wCAsFC"}
@@ -40,7 +40,12 @@ describe('CapiDataSource', () => {
40
40
  describe('surrogate keys', () => {
41
41
  it('should add uuid to the context surrogate keys', async () => {
42
42
  await capi.getContent(id);
43
- expect(context.addSurrogateKeys).toBeCalledWith(expect.arrayContaining([id]));
43
+ expect(context.addSurrogateKeys).toBeCalledWith(expect.arrayContaining([
44
+ expect.objectContaining({
45
+ prefix: 'contentPipelineArticle',
46
+ id
47
+ })
48
+ ]));
44
49
  });
45
50
  });
46
51
  afterAll(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"capi.test.js","sourceRoot":"","sources":["../../src/datasources/capi.test.ts"],"names":[],"mappings":";;AAAA,2DAAuD;AACvD,iCAAuC;AAGvC,wDAAoD;AAGpD,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAA;AAC3B,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAA;AAEpC,MAAM,KAAK,GAAG;IACZ,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;IACd,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;IACd,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;CACM,CAAA;AAEzB,MAAM,OAAO,GAAG;IACd,QAAQ,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;IAC3C,MAAM;IACN,OAAO;IACP,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE;CACD,CAAA;AAE5B,MAAM,IAAI,GAAG,IAAI,qBAAc,CAAC;IAC9B,KAAK;IACL,OAAO;CACR,CAAC,CAAA;AAEF,MAAM,EAAE,GAAG,sCAAsC,CAAA;AAEjD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAC5C,KAAK,IAAI,EAAE,CACT,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;YACnC,OAAO,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC,CAAC;SAC7D,CAAC,CACL,CAAA;QAED,IAAI;aACD,KAAK,CAAC,2BAAY,EAAE,UAAU,CAAC;aAC/B,kBAAkB,CACjB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CACnB,IAAI,2BAAY,CAAC,OAA6B,EAAE,OAAO,CAAC,CAC3D,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;YACrF,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;YAEzB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAA;YAC9B,MAAM,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAC5D,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAC7B,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;YACzB,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,cAAc,CAC7C,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAC7B,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,GAAG,EAAE;QACZ,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"capi.test.js","sourceRoot":"","sources":["../../src/datasources/capi.test.ts"],"names":[],"mappings":";;AAAA,2DAAuD;AACvD,iCAAuC;AAGvC,wDAAoD;AAGpD,MAAM,MAAM,GAAG,IAAI,eAAM,EAAE,CAAA;AAC3B,MAAM,OAAO,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAA;AAEpC,MAAM,KAAK,GAAG;IACZ,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;IACd,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;IACd,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;CACM,CAAA;AAEzB,MAAM,OAAO,GAAG;IACd,QAAQ,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;IAC3C,MAAM;IACN,OAAO;IACP,gBAAgB,EAAE,IAAI,CAAC,EAAE,EAAE;CACD,CAAA;AAE5B,MAAM,IAAI,GAAG,IAAI,qBAAc,CAAC;IAC9B,KAAK;IACL,OAAO;CACR,CAAC,CAAA;AAEF,MAAM,EAAE,GAAG,sCAAsC,CAAA;AAEjD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAC5C,KAAK,IAAI,EAAE,CACT,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE;YACnC,OAAO,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC,CAAC;SAC7D,CAAC,CACL,CAAA;QAED,IAAI;aACD,KAAK,CAAC,2BAAY,EAAE,UAAU,CAAC;aAC/B,kBAAkB,CACjB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CACnB,IAAI,2BAAY,CAAC,OAA6B,EAAE,OAAO,CAAC,CAC3D,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;YACrF,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;YAEzB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAA;YAC9B,MAAM,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAC5D,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAC7B,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;YACzB,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,cAAc,CAC7C,MAAM,CAAC,eAAe,CAAC;gBACrB,MAAM,CAAC,gBAAgB,CAAC;oBACtB,MAAM,EAAE,wBAAwB;oBAChC,EAAE;iBACH,CAAC;aACH,CAAC,CACH,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,GAAG,EAAE;QACZ,IAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"instrumented.js","sourceRoot":"","sources":["../../src/datasources/instrumented.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instrumented.js","sourceRoot":"","sources":["../../src/datasources/instrumented.ts"],"names":[],"mappings":";;;AAAA,6DAMgC;AAChC,qEAAoE;AACpE,qFAGoD;AAEpD,0CAAmD;AAEnD,2DAA0D;AAE1D,MAAa,0BACX,SAAQ,gCAAc;IAQtB,IAAI,iBAAiB;QACnB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,YAAY,EAAE,KAAK,EAAE,OAAO,EAAyB;QACnD,MAAM,YAAY,GAAG,IAAI,4CAAsB,CAC7C,IAAA,0BAAkB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAC9D,sEAAsE,CAAC,yCAAyC;SACjH,CAAA;QAED,KAAK,CAAC;YACJ,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;SACjE,CAAC,CAAA;QAhBJ,UAAK,GAAa,EAAE,CAAA;QAkBlB,IAAI,CAAC,YAAY,GAAG,IAAA,6CAAuB,EAAC;YAC1C,kBAAkB,EAAE,IAAI,CAAC,iBAAiB;SAC3C,CAAC,CAAA;QAEF,+BAA+B;QAC/B,4DAA4D;QAC5D,QAAQ;QACR,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,CAAA;QAC/C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;IACvE,CAAC;IAEkB,WAAW,CAAC,GAAQ;QACrC,OAAO,GAAG,CAAC,IAAI,CAAA;IACjB,CAAC;IAEQ,eAAe,CAAC,IAAY,EAAE,OAAyB;QAC9D,OAAO,CAAC,OAAO,CACb,YAAY,CACb,GAAG,2BAA2B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,+BAA+B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAA;QAEtH,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;YACjE,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAA;QAC1D,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,gEAAgE;IAChE,KAAK,CAAC,sBAAsB,KAAI,CAAC;IAEjC,kBAAkB,CAAC,MAAc,EAAE,QAAgB;QACjD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CACzB,sBAAsB,IAAI,CAAC,WAAW,CAAC,IAAI,aAAa,MAAM,QAAQ,EACtE,CAAC,CACF,CAAA;QAED,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CACzB,sBAAsB,IAAI,CAAC,WAAW,CAAC,IAAI,aAAa,MAAM,OAAO,EACrE,MAAM,CAAC,QAAQ,CAAC,CACjB,CAAA;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CACT,IAAY,EACZ,eAAiD;QAEjD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;QAEzC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CACzB,sBAAsB,IAAI,CAAC,WAAW,CAAC,IAAI,gBAAgB,EAC3D,CAAC,CACF,CAAA;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,KAAK,CAAU,IAAI,EAAE,eAAe,CAAC,CAAA;YAChE,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;YAEpE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;YAEzD,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,kBAAS,EAAE,CAAC;gBAC/B,MAAM,MAAM,GACV,KAAK,CAAC,IAAI,KAAK,qBAAqB;oBAClC,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC,CAAA;gBAChD,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;gBAEpE,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;YAC3C,CAAC;YAED,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;CACF;AArGD,gEAqGC"}
@@ -1 +1 @@
1
- {"version":3,"file":"origami-image.js","sourceRoot":"","sources":["../../src/datasources/origami-image.ts"],"names":[],"mappings":";;;;;;AAAA,6EAAmD;AACnD,iDAA2D;AAG3D,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,kCAAkC;IACpE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC;IAC1D,CAAC,CAAC,GAAG,CAAA;AAEP,MAAa,sBAAuB,SAAQ,yCAA0B;IAAtE;;QACE,YAAO,GAAG,gDAAgD,CAAA;QAK1D,oBAAe,GAAG,IAAI,eAAe,EAAE,CAAA;QACvC,YAAO,GAA8C,SAAS,CAAA;QAE9D,0BAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB;YAC1D,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;YAChD,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA,CAAC,SAAS;IA+BhC,CAAC;IAxCC,IAAI,iBAAiB;QACnB,OAAO,0BAA0B,CAAA;IACnC,CAAC;IASQ,eAAe,CAAC,IAAY,EAAE,OAAyB;QAC9D,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAEpC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAA;QAC5C,IAAI,CAAC,OAAO,GAAG,UAAU,CACvB,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,uBAAY,CAAC,eAAe,CAAC,CAAC,EACnE,eAAe,CAChB,CAAA;IACH,CAAC;IAES,eAAe;QACvB,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAA;IAC5C,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,GAAW;QAEX,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,GAAG,CAClC,mBAAmB,kBAAkB,CAAC,GAAG,CAAC,cAAc,CACzD,CAAA;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEpB,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC1B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;SACzB;QACD,OAAO,aAAa,CAAA;IACtB,CAAC;CACF;AA1CD,wDA0CC"}
1
+ {"version":3,"file":"origami-image.js","sourceRoot":"","sources":["../../src/datasources/origami-image.ts"],"names":[],"mappings":";;;;;;AAAA,6EAAmD;AACnD,iDAA2D;AAG3D,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,kCAAkC;IACpE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC;IAC1D,CAAC,CAAC,GAAG,CAAA;AAEP,MAAa,sBAAuB,SAAQ,yCAA0B;IAAtE;;QACE,YAAO,GAAG,gDAAgD,CAAA;QAK1D,oBAAe,GAAG,IAAI,eAAe,EAAE,CAAA;QACvC,YAAO,GAA8C,SAAS,CAAA;QAE9D,0BAAqB,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB;YAC1D,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;YAChD,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA,CAAC,SAAS;IA+BhC,CAAC;IAxCC,IAAI,iBAAiB;QACnB,OAAO,0BAA0B,CAAA;IACnC,CAAC;IASQ,eAAe,CAAC,IAAY,EAAE,OAAyB;QAC9D,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAEpC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAA;QAC5C,IAAI,CAAC,OAAO,GAAG,UAAU,CACvB,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,uBAAY,CAAC,eAAe,CAAC,CAAC,EACnE,eAAe,CAChB,CAAA;IACH,CAAC;IAES,eAAe;QACvB,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAA;IAC5C,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,GAAW;QAEX,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,GAAG,CAClC,mBAAmB,kBAAkB,CAAC,GAAG,CAAC,cAAc,CACzD,CAAA;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEpB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC1B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;QAC1B,CAAC;QACD,OAAO,aAAa,CAAA;IACtB,CAAC;CACF;AA1CD,wDA0CC"}
@@ -1 +1 @@
1
- {"version":3,"file":"twitter.js","sourceRoot":"","sources":["../../src/datasources/twitter.ts"],"names":[],"mappings":";;;;;;AACA,iDAA2D;AAC3D,6EAAmD;AAEnD,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,kCAAkC;IACpE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC;IAC1D,CAAC,CAAC,IAAI,CAAA;AAER,MAAa,iBAAkB,SAAQ,yCAA0B;IAAjE;;QACE,YAAO,GAAG,6BAA6B,CAAA;QAKvC,oBAAe,GAAG,IAAI,eAAe,EAAE,CAAA;QACvC,YAAO,GAA8C,SAAS,CAAA;IA8BhE,CAAC;IAnCC,IAAI,iBAAiB;QACnB,OAAO,oBAAoB,CAAA;IAC7B,CAAC;IAKQ,eAAe,CAAC,IAAY,EAAE,OAAyB;QAC9D,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAEpC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAA;QAC5C,IAAI,CAAC,OAAO,GAAG,UAAU,CACvB,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,uBAAY,CAAC,eAAe,CAAC,CAAC,EACnE,eAAe,CAChB,CAAA;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAgB;QAC7B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,cAAc,QAAQ,mBAAmB,CAAC,CAAA;QAEvE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEzB,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC1B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;SACzB;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED,eAAe;QACb,iFAAiF;QACjF,oFAAoF;QACpF,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAA;IACtB,CAAC;CACF;AArCD,8CAqCC"}
1
+ {"version":3,"file":"twitter.js","sourceRoot":"","sources":["../../src/datasources/twitter.ts"],"names":[],"mappings":";;;;;;AACA,iDAA2D;AAC3D,6EAAmD;AAEnD,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,kCAAkC;IACpE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC;IAC1D,CAAC,CAAC,IAAI,CAAA;AAER,MAAa,iBAAkB,SAAQ,yCAA0B;IAAjE;;QACE,YAAO,GAAG,6BAA6B,CAAA;QAKvC,oBAAe,GAAG,IAAI,eAAe,EAAE,CAAA;QACvC,YAAO,GAA8C,SAAS,CAAA;IA8BhE,CAAC;IAnCC,IAAI,iBAAiB;QACnB,OAAO,oBAAoB,CAAA;IAC7B,CAAC;IAKQ,eAAe,CAAC,IAAY,EAAE,OAAyB;QAC9D,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAEpC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAA;QAC5C,IAAI,CAAC,OAAO,GAAG,UAAU,CACvB,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,uBAAY,CAAC,eAAe,CAAC,CAAC,EACnE,eAAe,CAChB,CAAA;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAgB;QAC7B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,cAAc,QAAQ,mBAAmB,CAAC,CAAA;QAEvE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAEzB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC1B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;QAC1B,CAAC;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED,eAAe;QACb,iFAAiF;QACjF,oFAAoF;QACpF,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAA;IACtB,CAAC;CACF;AArCD,8CAqCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"url-management.js","sourceRoot":"","sources":["../../src/datasources/url-management.ts"],"names":[],"mappings":";;;;;;AAAA,qEAGoC;AAEpC,yHAA2F;AAK3F,MAAM,YAAY,GAAG,cAAc,CAAA;AACnC,MAAM,sBAAsB,GAAG,EAAE,GAAG,EAAE,CAAA,CAAC,WAAW;AAElD,MAAa,uBAAuB;IAQlC,YAAY,EAAE,OAAO,EAAE,KAAK,EAAyB;QAPrD,oBAAe,GAAG,IAAI,GAAG,EAA2B,CAAA;QAGpD,UAAK,GAAa,EAAE,CAAA;QAKlB,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,EAAE;YAC9C,gEAAgE;YAChE,+DAA+D;YAC/D,+DAA+D;YAC/D,0CAA2B,CAAC,IAAI,CAAC;gBAC/B,OAAO,EAAE;oBACP,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK;oBACtB,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK;iBACnB;aACF,CAAC,CAAA;YACF,uBAAuB,CAAC,iBAAiB,GAAG,IAAI,CAAA;SACjD;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,4CAAsB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;IAC9D,CAAC;IAED,KAAK,CAAC,GAAG,CACP,OAAe,EACf,MAAc,sBAAsB;QAEpC,MAAM,SAAS,GAAG,KAAK,IAAqB,EAAE;YAC5C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAC/C,IAAI,SAAS,EAAE;gBACb,OAAO,SAAS,CAAA;aACjB;YAED,MAAM,YAAY,GAChB,MAAM,0CAA2B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAChD,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YAC1D,OAAO,YAAY,CAAC,KAAK,CAAA;QAC3B,CAAC,CAAA;QAED,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAE/C,IAAI,OAAO,EAAE;YACX,OAAO,OAAO,CAAA;SACf;QAED,OAAO,GAAG,SAAS,EAAE,CAAA;QACrB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAE1C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxB,OAAO,OAAO,CAAA;IAChB,CAAC;;AArDH,0DAsDC;AAhDQ,yCAAiB,GAAG,KAAK,CAAA"}
1
+ {"version":3,"file":"url-management.js","sourceRoot":"","sources":["../../src/datasources/url-management.ts"],"names":[],"mappings":";;;;;;AAAA,qEAGoC;AAEpC,yHAA2F;AAK3F,MAAM,YAAY,GAAG,cAAc,CAAA;AACnC,MAAM,sBAAsB,GAAG,EAAE,GAAG,EAAE,CAAA,CAAC,WAAW;AAElD,MAAa,uBAAuB;IAQlC,YAAY,EAAE,OAAO,EAAE,KAAK,EAAyB;QAPrD,oBAAe,GAAG,IAAI,GAAG,EAA2B,CAAA;QAGpD,UAAK,GAAa,EAAE,CAAA;QAKlB,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,EAAE,CAAC;YAC/C,gEAAgE;YAChE,+DAA+D;YAC/D,+DAA+D;YAC/D,0CAA2B,CAAC,IAAI,CAAC;gBAC/B,OAAO,EAAE;oBACP,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK;oBACtB,KAAK,EAAE,GAAG,EAAE,CAAC,KAAK;iBACnB;aACF,CAAC,CAAA;YACF,uBAAuB,CAAC,iBAAiB,GAAG,IAAI,CAAA;QAClD,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,4CAAsB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;IAC9D,CAAC;IAED,KAAK,CAAC,GAAG,CACP,OAAe,EACf,MAAc,sBAAsB;QAEpC,MAAM,SAAS,GAAG,KAAK,IAAqB,EAAE;YAC5C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAC/C,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,SAAS,CAAA;YAClB,CAAC;YAED,MAAM,YAAY,GAChB,MAAM,0CAA2B,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAChD,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;YAC1D,OAAO,YAAY,CAAC,KAAK,CAAA;QAC3B,CAAC,CAAA;QAED,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAE/C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,OAAO,CAAA;QAChB,CAAC;QAED,OAAO,GAAG,SAAS,EAAE,CAAA;QACrB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAE1C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxB,OAAO,OAAO,CAAA;IAChB,CAAC;;AArDH,0DAsDC;AAhDQ,yCAAiB,GAAG,KAAK,AAAR,CAAQ"}
@@ -1 +1 @@
1
- {"version":3,"file":"dummyContext.js","sourceRoot":"","sources":["../../src/fixtures/dummyContext.ts"],"names":[],"mappings":";;;;;AAAA,wDAAoD;AACpD,6CAA6C;AAC7C,4DAAkC;AAElC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;AAEtB,MAAM,gBAAgB,GAAG,CAAC,GAAa,EAAE,EAAE;IACzC,MAAM,IAAI,GAAG,EAAE,CAAA;IACf,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAA;AACnB,CAAC,CAAA;AAED,kBAAe;IACb,gBAAgB;IAChB,WAAW,EAAE;QACX,UAAU,EAAE;YACV,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;SAC3C;QACD,IAAI,EAAE;YACJ,UAAU,EAAE,CAAC,EAAU,EAAE,EAAE,CACzB,OAAO,CAAC,OAAO,CACb,IAAI,2BAAY,CACd,IAAA,oBAAS,EAAC;gBACR,GAAG,2BAAc;gBACjB,EAAE;gBACF,aAAa,EAAE,IAAI,IAAI,CACrB,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACjC,CAAC,WAAW,EAAE;aAChB,CAAC,EACF,EAAE,gBAAgB,EAAkB,CACrC,CACF;SACJ;KACF;CACyB,CAAA"}
1
+ {"version":3,"file":"dummyContext.js","sourceRoot":"","sources":["../../src/fixtures/dummyContext.ts"],"names":[],"mappings":";;;;;AAAA,wDAAoD;AACpD,6CAA6C;AAC7C,4DAAkC;AAElC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;AAEtB,MAAM,gBAAgB,GAAG,CAAC,GAAmC,EAAE,EAAE;IAC/D,MAAM,IAAI,GAAG,EAAE,CAAA;IACf,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAA;AACnB,CAAC,CAAA;AAED,kBAAe;IACb,gBAAgB;IAChB,WAAW,EAAE;QACX,UAAU,EAAE;YACV,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;SAC3C;QACD,IAAI,EAAE;YACJ,UAAU,EAAE,CAAC,EAAU,EAAE,EAAE,CACzB,OAAO,CAAC,OAAO,CACb,IAAI,2BAAY,CACd,IAAA,oBAAS,EAAC;gBACR,GAAG,2BAAc;gBACjB,EAAE;gBACF,aAAa,EAAE,IAAI,IAAI,CACrB,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACjC,CAAC,WAAW,EAAE;aAChB,CAAC,EACF,EAAE,gBAAgB,EAAkB,CACrC,CACF;SACJ;KACF;CACyB,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import type { GraphQLResolveInfo, GraphQLScalarType, GraphQLScalarTypeConfig } from 'graphql';
2
2
  import type { Concept as ConceptModel } from '../model/Concept';
3
3
  import type { Person as PersonModel } from '../model/Person';
4
+ import type { CapiList } from '../model/CapiList';
4
5
  import type { CapiResponse } from '../model/CapiResponse';
5
6
  import type { Image as ImageModel } from '../model/Image';
6
7
  import type { Clip as ClipModel } from '../model/Clip';
@@ -92,6 +93,14 @@ export type Scalars = {
92
93
  input: any;
93
94
  output: any;
94
95
  };
96
+ LayoutHint: {
97
+ input: 'standaloneimage' | 'landscape' | 'bigstory' | 'assassination';
98
+ output: 'standaloneimage' | 'landscape' | 'bigstory' | 'assassination';
99
+ };
100
+ ListType: {
101
+ input: 'OpinionAnalysis' | 'Promotional' | 'Recommended' | 'TopStories' | 'TopStoriesBeta' | 'KeyDevelopments';
102
+ output: 'OpinionAnalysis' | 'Promotional' | 'Recommended' | 'TopStories' | 'TopStoriesBeta' | 'KeyDevelopments';
103
+ };
95
104
  PackageDesign: {
96
105
  input: 'special-report' | 'extra' | 'basic' | 'extra-wide';
97
106
  output: 'special-report' | 'extra' | 'basic' | 'extra-wide';
@@ -929,6 +938,26 @@ export type LeadFlourish = {
929
938
  /** The type of the chart, eg. 'visualisation'. */
930
939
  readonly type?: Maybe<Scalars['String']['output']>;
931
940
  };
941
+ export type List = {
942
+ /** The upstream API URL for the list */
943
+ readonly apiUrl: Scalars['String']['output'];
944
+ /** The UUID of the list */
945
+ readonly id: Scalars['String']['output'];
946
+ /** The content items referenced by this list */
947
+ readonly items: ReadonlyArray<Content>;
948
+ /** Used by ft.com to determine the visual style to use on the website */
949
+ readonly layoutHint?: Maybe<Scalars['LayoutHint']['output']>;
950
+ /** The type of the list, e.g. Recommended */
951
+ readonly listType: Scalars['ListType']['output'];
952
+ /** Array of publication IDs this list pertains to, e.g. 88fdde6c-2aa4-4f78-af02-9f680097cfd6 for FT Pink */
953
+ readonly publication?: Maybe<ReadonlyArray<Scalars['String']['output']>>;
954
+ /** A string ID used to trace content publishes through the pipeline, e.g. 'republish_tid_JNhUrBjdXo'. */
955
+ readonly publishReference?: Maybe<Scalars['String']['output']>;
956
+ /** The date when this list was published */
957
+ readonly publishedDate: Scalars['String']['output'];
958
+ /** The title of the list */
959
+ readonly title: Scalars['String']['output'];
960
+ };
932
961
  export type LiveBlogPackage = Content & {
933
962
  /** A scalar representing the access level of the article, eg. 'free'. */
934
963
  readonly accessLevel?: Maybe<Scalars['AccessLevel']['output']>;
@@ -1309,6 +1338,8 @@ export type Query = {
1309
1338
  readonly content: Content;
1310
1339
  /** The article content as resolved from passed-in content-api json data. */
1311
1340
  readonly contentFromJSON: Content;
1341
+ /** Resolve a content list from a uuid. */
1342
+ readonly list: List;
1312
1343
  /** The version of the schema, eg. 2.0.0. */
1313
1344
  readonly version: Scalars['String']['output'];
1314
1345
  };
@@ -1318,6 +1349,9 @@ export type QueryContentArgs = {
1318
1349
  export type QueryContentFromJsonArgs = {
1319
1350
  content: Scalars['JSON']['input'];
1320
1351
  };
1352
+ export type QueryListArgs = {
1353
+ uuid: Scalars['String']['input'];
1354
+ };
1321
1355
  export type RawImage = Reference & {
1322
1356
  /** The raw image object. */
1323
1357
  readonly image: Image;
@@ -1671,8 +1705,11 @@ export type ResolversTypes = ResolversObject<{
1671
1705
  Indicators: ResolverTypeWrapper<Indicators>;
1672
1706
  Int: ResolverTypeWrapper<Scalars['Int']['output']>;
1673
1707
  JSON: ResolverTypeWrapper<Scalars['JSON']['output']>;
1708
+ LayoutHint: ResolverTypeWrapper<Scalars['LayoutHint']['output']>;
1674
1709
  LayoutImage: ResolverTypeWrapper<ReferenceWithCAPIData<ContentTree.LayoutImage>>;
1675
1710
  LeadFlourish: ResolverTypeWrapper<LeadFlourishModel>;
1711
+ List: ResolverTypeWrapper<CapiList>;
1712
+ ListType: ResolverTypeWrapper<Scalars['ListType']['output']>;
1676
1713
  LiveBlogPackage: ResolverTypeWrapper<CapiResponse>;
1677
1714
  LiveBlogPost: ResolverTypeWrapper<CapiResponse>;
1678
1715
  MainImage: ResolverTypeWrapper<ReferenceWithCAPIData<ContentTree.ImageSet>>;
@@ -1765,8 +1802,11 @@ export type ResolversParentTypes = ResolversObject<{
1765
1802
  Indicators: Indicators;
1766
1803
  Int: Scalars['Int']['output'];
1767
1804
  JSON: Scalars['JSON']['output'];
1805
+ LayoutHint: Scalars['LayoutHint']['output'];
1768
1806
  LayoutImage: ReferenceWithCAPIData<ContentTree.LayoutImage>;
1769
1807
  LeadFlourish: LeadFlourishModel;
1808
+ List: CapiList;
1809
+ ListType: Scalars['ListType']['output'];
1770
1810
  LiveBlogPackage: CapiResponse;
1771
1811
  LiveBlogPost: CapiResponse;
1772
1812
  MainImage: ReferenceWithCAPIData<ContentTree.ImageSet>;
@@ -2266,6 +2306,9 @@ export type IndicatorsResolvers<ContextType = QueryContext, ParentType extends R
2266
2306
  export interface JsonScalarConfig extends GraphQLScalarTypeConfig<ResolversTypes['JSON'], any> {
2267
2307
  name: 'JSON';
2268
2308
  }
2309
+ export interface LayoutHintScalarConfig extends GraphQLScalarTypeConfig<ResolversTypes['LayoutHint'], any> {
2310
+ name: 'LayoutHint';
2311
+ }
2269
2312
  export type LayoutImageResolvers<ContextType = QueryContext, ParentType extends ResolversParentTypes['LayoutImage'] = ResolversParentTypes['LayoutImage']> = ResolversObject<{
2270
2313
  picture: Resolver<Maybe<ResolversTypes['Picture']>, ParentType, ContextType>;
2271
2314
  type: Resolver<ResolversTypes['String'], ParentType, ContextType>;
@@ -2278,6 +2321,21 @@ export type LeadFlourishResolvers<ContextType = QueryContext, ParentType extends
2278
2321
  type: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
2279
2322
  __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
2280
2323
  }>;
2324
+ export type ListResolvers<ContextType = QueryContext, ParentType extends ResolversParentTypes['List'] = ResolversParentTypes['List']> = ResolversObject<{
2325
+ apiUrl: Resolver<ResolversTypes['String'], ParentType, ContextType>;
2326
+ id: Resolver<ResolversTypes['String'], ParentType, ContextType>;
2327
+ items: Resolver<ReadonlyArray<ResolversTypes['Content']>, ParentType, ContextType>;
2328
+ layoutHint: Resolver<Maybe<ResolversTypes['LayoutHint']>, ParentType, ContextType>;
2329
+ listType: Resolver<ResolversTypes['ListType'], ParentType, ContextType>;
2330
+ publication: Resolver<Maybe<ReadonlyArray<ResolversTypes['String']>>, ParentType, ContextType>;
2331
+ publishReference: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
2332
+ publishedDate: Resolver<ResolversTypes['String'], ParentType, ContextType>;
2333
+ title: Resolver<ResolversTypes['String'], ParentType, ContextType>;
2334
+ __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
2335
+ }>;
2336
+ export interface ListTypeScalarConfig extends GraphQLScalarTypeConfig<ResolversTypes['ListType'], any> {
2337
+ name: 'ListType';
2338
+ }
2281
2339
  export type LiveBlogPackageResolvers<ContextType = QueryContext, ParentType extends ResolversParentTypes['LiveBlogPackage'] = ResolversParentTypes['LiveBlogPackage']> = ResolversObject<{
2282
2340
  accessLevel: Resolver<Maybe<ResolversTypes['AccessLevel']>, ParentType, ContextType>;
2283
2341
  altStandfirst: Resolver<Maybe<ResolversTypes['AltStandfirst']>, ParentType, ContextType>;
@@ -2482,6 +2540,7 @@ export type PodcastTopperResolvers<ContextType = QueryContext, ParentType extend
2482
2540
  export type QueryResolvers<ContextType = QueryContext, ParentType extends ResolversParentTypes['Query'] = ResolversParentTypes['Query']> = ResolversObject<{
2483
2541
  content: Resolver<ResolversTypes['Content'], ParentType, ContextType, RequireFields<QueryContentArgs, 'uuid'>>;
2484
2542
  contentFromJSON: Resolver<ResolversTypes['Content'], ParentType, ContextType, RequireFields<QueryContentFromJsonArgs, 'content'>>;
2543
+ list: Resolver<ResolversTypes['List'], ParentType, ContextType, RequireFields<QueryListArgs, 'uuid'>>;
2485
2544
  version: Resolver<ResolversTypes['String'], ParentType, ContextType>;
2486
2545
  }>;
2487
2546
  export type RawImageResolvers<ContextType = QueryContext, ParentType extends ResolversParentTypes['RawImage'] = ResolversParentTypes['RawImage']> = ResolversObject<{
@@ -2692,8 +2751,11 @@ export type Resolvers<ContextType = QueryContext> = ResolversObject<{
2692
2751
  ImageWide: ImageWideResolvers<ContextType>;
2693
2752
  Indicators: IndicatorsResolvers<ContextType>;
2694
2753
  JSON: GraphQLScalarType;
2754
+ LayoutHint: GraphQLScalarType;
2695
2755
  LayoutImage: LayoutImageResolvers<ContextType>;
2696
2756
  LeadFlourish: LeadFlourishResolvers<ContextType>;
2757
+ List: ListResolvers<ContextType>;
2758
+ ListType: GraphQLScalarType;
2697
2759
  LiveBlogPackage: LiveBlogPackageResolvers<ContextType>;
2698
2760
  LiveBlogPost: LiveBlogPostResolvers<ContextType>;
2699
2761
  MainImage: MainImageResolvers<ContextType>;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UUID_REGEX = void 0;
4
+ exports.default = decorateHeadshotUrl;
4
5
  exports.UUID_REGEX = /\b[0-9a-f]{8}-[0-9a-f]{4}-[1-9][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\b/i;
5
6
  const IMAGESET_REGEX = /fthead(?:-v\d)?\:[^?]+/;
6
7
  function decorateHeadshotUrl(person) {
@@ -19,7 +20,6 @@ function decorateHeadshotUrl(person) {
19
20
  return ftheadSchemeMatch.pop();
20
21
  }
21
22
  }
22
- exports.default = decorateHeadshotUrl;
23
23
  function isCloudfrontUrl(url) {
24
24
  const AWS_CLOUDFRONT_HOSTNAME = 'd1e00ek4ebabms.cloudfront.net';
25
25
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"decorateHeadshotUrl.js","sourceRoot":"","sources":["../../src/helpers/decorateHeadshotUrl.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GACrB,8EAA8E,CAAA;AAEhF,MAAM,cAAc,GAAG,wBAAwB,CAAA;AAE/C,SAAwB,mBAAmB,CAAC,MAAkB;IAC5D,MAAM,GAAG,GAAG,MAAM,EAAE,SAAS,CAAA;IAE7B,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IAErB,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE;QACxB,OAAO,GAAG,CAAA;KACX;IAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;IAEzC,IAAI,UAAU,EAAE;QACd,OAAO,SAAS,UAAU,CAAC,GAAG,EAAE,EAAE,CAAA;KACnC;IAED,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAEjD,IAAI,iBAAiB,EAAE;QACrB,OAAO,iBAAiB,CAAC,GAAG,EAAE,CAAA;KAC/B;AACH,CAAC;AApBD,sCAoBC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,uBAAuB,GAAG,+BAA+B,CAAA;IAE/D,IAAI;QACF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAA;QACzC,OAAO,WAAW,IAAI,WAAW,KAAK,uBAAuB,CAAA;KAC9D;IAAC,MAAM;QACN,OAAO,KAAK,CAAA;KACb;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW;IACpC,OAAO,kBAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC7B,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAW;IACrC,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjC,CAAC"}
1
+ {"version":3,"file":"decorateHeadshotUrl.js","sourceRoot":"","sources":["../../src/helpers/decorateHeadshotUrl.ts"],"names":[],"mappings":";;;AAOA,sCAoBC;AAzBY,QAAA,UAAU,GACrB,8EAA8E,CAAA;AAEhF,MAAM,cAAc,GAAG,wBAAwB,CAAA;AAE/C,SAAwB,mBAAmB,CAAC,MAAkB;IAC5D,MAAM,GAAG,GAAG,MAAM,EAAE,SAAS,CAAA;IAE7B,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IAErB,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;IAEzC,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,SAAS,UAAU,CAAC,GAAG,EAAE,EAAE,CAAA;IACpC,CAAC;IAED,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAEjD,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,iBAAiB,CAAC,GAAG,EAAE,CAAA;IAChC,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,uBAAuB,GAAG,+BAA+B,CAAA;IAE/D,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAA;QACzC,OAAO,WAAW,IAAI,WAAW,KAAK,uBAAuB,CAAA;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW;IACpC,OAAO,kBAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC7B,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAW;IACrC,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjC,CAAC"}
@@ -0,0 +1,6 @@
1
+ type FormattedZodIssues = {
2
+ _errors: string[];
3
+ [key: string]: FormattedZodIssues | string[];
4
+ };
5
+ export default function flattenFormattedZodIssues(issues: FormattedZodIssues, object: unknown, path?: string[], flattened?: string[]): string[];
6
+ export {};
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = flattenFormattedZodIssues;
4
+ function isPlainObject(object) {
5
+ if (object && typeof object === 'object') {
6
+ return true;
7
+ }
8
+ return false;
9
+ }
10
+ function flattenFormattedZodIssues(issues, object, path = [], flattened = []) {
11
+ if (issues._errors.length > 0) {
12
+ const literalErrors = issues._errors.filter((error) => error.startsWith('Invalid literal value'));
13
+ const otherErrors = issues._errors.filter((error) => !error.startsWith('Invalid literal value'));
14
+ if (literalErrors.length > 0) {
15
+ flattened.push(`${path.join('.')}: Invalid literal value, received "${object}", expected one of ` +
16
+ literalErrors
17
+ .flatMap((error) => {
18
+ const match = error.match(/expected (".+")$/);
19
+ if (match && match[1]) {
20
+ return [match[1]];
21
+ }
22
+ return [];
23
+ })
24
+ .join());
25
+ }
26
+ flattened.push(...otherErrors.map((error) => `${path.join('.')}: ${error}`));
27
+ }
28
+ for (const [key, value] of Object.entries(issues)) {
29
+ if (key !== '_errors' &&
30
+ !Array.isArray(value) &&
31
+ object &&
32
+ (Array.isArray(object) || isPlainObject(object))) {
33
+ const isArrayKey = !Number.isNaN(parseInt(key));
34
+ flattenFormattedZodIssues(value, Array.isArray(object) ? object[parseInt(key)] : object[key], [...path, isArrayKey ? '[]' : key], flattened);
35
+ }
36
+ }
37
+ return flattened;
38
+ }
39
+ //# sourceMappingURL=flatten-formatted-zod-errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flatten-formatted-zod-errors.js","sourceRoot":"","sources":["../../src/helpers/flatten-formatted-zod-errors.ts"],"names":[],"mappings":";;AAaA,4CAqDC;AAlED,SAAS,aAAa,CAAC,MAAe;IACpC,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QACzC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAOD,SAAwB,yBAAyB,CAC/C,MAA0B,EAC1B,MAAe,EACf,OAAiB,EAAE,EACnB,YAAsB,EAAE;IAExB,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CACpD,KAAK,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAC1C,CAAA;QACD,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CACvC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,uBAAuB,CAAC,CACtD,CAAA;QAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,SAAS,CAAC,IAAI,CACZ,GAAG,IAAI,CAAC,IAAI,CACV,GAAG,CACJ,sCAAsC,MAAM,qBAAqB;gBAChE,aAAa;qBACV,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBACjB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;oBAC7C,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;wBACtB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;oBACnB,CAAC;oBAED,OAAO,EAAE,CAAA;gBACX,CAAC,CAAC;qBACD,IAAI,EAAE,CACZ,CAAA;QACH,CAAC;QAED,SAAS,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAA;IAC9E,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IACE,GAAG,KAAK,SAAS;YACjB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACrB,MAAM;YACN,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,EAChD,CAAC;YACD,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;YAC/C,yBAAyB,CACvB,KAAK,EACL,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAC3D,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAClC,SAAS,CACV,CAAA;QACH,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MAX_IMAGE_WIDTH = void 0;
4
+ exports.default = imageServiceUrl;
4
5
  const DEFAULT_IMAGE_SERVICE_WIDTH = 700;
5
6
  const DEFAULT_IMAGE_SERVICE_DPR = 1;
6
7
  exports.MAX_IMAGE_WIDTH = 3840;
@@ -15,5 +16,4 @@ function imageServiceUrl({ url, id, systemCode, width = DEFAULT_IMAGE_SERVICE_WI
15
16
  imageServiceUrl.searchParams.set('dpr', dpr.toString());
16
17
  return imageServiceUrl.href;
17
18
  }
18
- exports.default = imageServiceUrl;
19
19
  //# sourceMappingURL=imageService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"imageService.js","sourceRoot":"","sources":["../../src/helpers/imageService.ts"],"names":[],"mappings":";;;AAAA,MAAM,2BAA2B,GAAG,GAAG,CAAA;AACvC,MAAM,yBAAyB,GAAG,CAAC,CAAA;AACtB,QAAA,eAAe,GAAG,IAAI,CAAA;AAUnC,SAAwB,eAAe,CAAC,EACtC,GAAG,EACH,EAAE,EACF,UAAU,EACV,KAAK,GAAG,2BAA2B,EACnC,GAAG,GAAG,yBAAyB,GACN;IACzB,MAAM,WAAW,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAChE,MAAM,eAAe,GAAG,IAAI,GAAG,CAC7B,4DAA4D,WAAW,EAAE,CAC1E,CAAA;IAED,MAAM,aAAa,GAAG,KAAK,GAAG,uBAAe,CAAC,CAAC,CAAC,uBAAe,CAAC,CAAC,CAAC,KAAK,CAAA;IAEvE,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IACtD,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;IACrD,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IACtD,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAA;IACnE,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;IAEvD,OAAO,eAAe,CAAC,IAAI,CAAA;AAC7B,CAAC;AArBD,kCAqBC"}
1
+ {"version":3,"file":"imageService.js","sourceRoot":"","sources":["../../src/helpers/imageService.ts"],"names":[],"mappings":";;;AAYA,kCAqBC;AAjCD,MAAM,2BAA2B,GAAG,GAAG,CAAA;AACvC,MAAM,yBAAyB,GAAG,CAAC,CAAA;AACtB,QAAA,eAAe,GAAG,IAAI,CAAA;AAUnC,SAAwB,eAAe,CAAC,EACtC,GAAG,EACH,EAAE,EACF,UAAU,EACV,KAAK,GAAG,2BAA2B,EACnC,GAAG,GAAG,yBAAyB,GACN;IACzB,MAAM,WAAW,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAChE,MAAM,eAAe,GAAG,IAAI,GAAG,CAC7B,4DAA4D,WAAW,EAAE,CAC1E,CAAA;IAED,MAAM,aAAa,GAAG,KAAK,GAAG,uBAAe,CAAC,CAAC,CAAC,uBAAe,CAAC,CAAC,CAAC,KAAK,CAAA;IAEvE,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IACtD,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAA;IACrD,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAA;IACtD,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAA;IACnE,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;IAEvD,OAAO,eAAe,CAAC,IAAI,CAAA;AAC7B,CAAC"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = isError;
3
4
  function isError(error) {
4
5
  return error instanceof Error;
5
6
  }
6
- exports.default = isError;
7
7
  //# sourceMappingURL=isError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"isError.js","sourceRoot":"","sources":["../../src/helpers/isError.ts"],"names":[],"mappings":";;AAAA,SAAwB,OAAO,CAAC,KAAc;IAC5C,OAAO,KAAK,YAAY,KAAK,CAAA;AAC/B,CAAC;AAFD,0BAEC"}
1
+ {"version":3,"file":"isError.js","sourceRoot":"","sources":["../../src/helpers/isError.ts"],"names":[],"mappings":";;AAAA,0BAEC;AAFD,SAAwB,OAAO,CAAC,KAAc;IAC5C,OAAO,KAAK,YAAY,KAAK,CAAA;AAC/B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.uuidFromUrl = void 0;
3
+ exports.uuidFromUrl = uuidFromUrl;
4
4
  function uuidFromUrl(url) {
5
5
  const match = url.match(/(........-....-....-....-............)/);
6
6
  if (match === null) {
@@ -8,5 +8,4 @@ function uuidFromUrl(url) {
8
8
  }
9
9
  return match[1] || '';
10
10
  }
11
- exports.uuidFromUrl = uuidFromUrl;
12
11
  //# sourceMappingURL=metadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/helpers/metadata.ts"],"names":[],"mappings":";;;AAAA,SAAgB,WAAW,CAAC,GAAW;IACrC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAA;IAEjE,IAAI,KAAK,KAAK,IAAI,EAAE;QAClB,OAAO,EAAE,CAAA;KACV;IAED,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;AACvB,CAAC;AARD,kCAQC"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/helpers/metadata.ts"],"names":[],"mappings":";;AAAA,kCAQC;AARD,SAAgB,WAAW,CAAC,GAAW;IACrC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAA;IAEjE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;AACvB,CAAC"}
package/lib/index.d.ts CHANGED
@@ -10,6 +10,10 @@ export type BodyXMLToTreeError = {
10
10
  expected: AnyNode['type'] | readonly AnyNode['type'][];
11
11
  actual: AnyNode['type'] | AnyNode['type'][];
12
12
  };
13
+ export type SurrogateKey = {
14
+ prefix: string;
15
+ id: string;
16
+ };
13
17
  export interface QueryContext {
14
18
  redisAdapter: KeyValueCache;
15
19
  metrics: Metrics;
@@ -25,7 +29,7 @@ export interface QueryContext {
25
29
  aggregatedErrors?: {
26
30
  bodyXMLToTree: BodyXMLToTreeError[];
27
31
  };
28
- addSurrogateKeys(keys: string[]): void;
32
+ addSurrogateKeys(keys: SurrogateKey[]): void;
29
33
  }
30
34
  export declare const articleDocumentQuery: string;
31
35
  export declare const typeDefs: import("graphql").GraphQLSchema;
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA4D;AA+CnD,gGA/CA,6BAAe,OA+CA;AA5CxB,8CAAoD;AACpD,4EAAsE;AACtE,2CAA4B;AAC5B,2BAAiC;AA6BpB,QAAA,oBAAoB,GAAG,IAAA,iBAAY,EAC9C,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,EAC7C,OAAO,CACR,CAAA;AAEY,QAAA,QAAQ,GAAG,IAAA,qBAAc,EACpC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,0BAA0B,CAAC,EAChD;IACE,OAAO,EAAE,CAAC,IAAI,uCAAiB,EAAE,CAAC;CACnC,CACF,CAAA;AAGD,yCAAkD;AAAzC,uHAAA,OAAO,OAAa;AAC7B,+CAAwD;AAA/C,mHAAA,OAAO,OAAW;AAC3B,yCAA0C;AAAjC,+FAAA,OAAO,OAAA;AAEhB,+FAA8E"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA4D;AAiDnD,gGAjDA,6BAAe,OAiDA;AA9CxB,8CAAoD;AACpD,4EAAsE;AACtE,2CAA4B;AAC5B,2BAAiC;AA+BpB,QAAA,oBAAoB,GAAG,IAAA,iBAAY,EAC9C,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,EAC7C,OAAO,CACR,CAAA;AAEY,QAAA,QAAQ,GAAG,IAAA,qBAAc,EACpC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,0BAA0B,CAAC,EAChD;IACE,OAAO,EAAE,CAAC,IAAI,uCAAiB,EAAE,CAAC;CACnC,CACF,CAAA;AAGD,yCAAkD;AAAzC,uHAAA,OAAO,OAAa;AAC7B,+CAAwD;AAA/C,mHAAA,OAAO,OAAW;AAC3B,yCAA0C;AAAjC,+FAAA,OAAO,OAAA;AAEhB,+FAA8E"}
@@ -9,11 +9,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.Byline = void 0;
10
10
  class Byline {
11
11
  constructor(byline, vanity, authorUrlMapping, context) {
12
+ _Byline_instances.add(this);
12
13
  this.byline = byline;
13
14
  this.vanity = vanity;
14
15
  this.authorUrlMapping = authorUrlMapping;
15
16
  this.context = context;
16
- _Byline_instances.add(this);
17
17
  }
18
18
  async buildBylineTree() {
19
19
  // Normalise apostrophes in byline string
@@ -1 +1 @@
1
- {"version":3,"file":"Byline.js","sourceRoot":"","sources":["../../src/model/Byline.ts"],"names":[],"mappings":";;;;;;;;;AAIA,MAAa,MAAM;IACjB,YACU,MAAc,EACd,MAAe,EACf,gBAAqC,EACrC,OAAqB;QAHrB,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAS;QACf,qBAAgB,GAAhB,gBAAgB,CAAqB;QACrC,YAAO,GAAP,OAAO,CAAc;;IAC5B,CAAC;IAEJ,KAAK,CAAC,eAAe;QACnB,yCAAyC;QACzC,MAAM,4BAA4B,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAElE,MAAM,KAAK,GAAG,uBAAA,IAAI,oDAAmB,MAAvB,IAAI,EAAoB,4BAA4B,EAAE;YAClE,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE;SAChC,CAAC,CAAA;QACF,OAAO,uBAAA,IAAI,+CAAc,MAAlB,IAAI,EAAe,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAA;IACzD,CAAC;CAqCF;AArDD,wBAqDC;kGAnCoB,MAAc,EAAE,KAAe;IAChD,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAClC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACtD,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,CAAA;AAC9D,CAAC,yBAED,KAAK,+BAAe,UAA+B,EAAE,KAAe;IAClE,MAAM,QAAQ,GAAsC,MAAM,OAAO,CAAC,GAAG,CACnE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACvB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACpC,MAAM,SAAS,GACb,IAAI,CAAC,MAAM,IAAI,OAAO;YACpB,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC;YACxD,CAAC,CAAC,IAAI,CAAA;QAEV,IAAI,OAAO,EAAE;YACX,OAAO;gBACL,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS,IAAI,OAAO;gBAC1B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;aAC1C,CAAA;SACF;aAAM;YACL,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,IAAI;aACZ,CAAA;SACF;IACH,CAAC,CAAC,CACH,CAAA;IAED,OAAO;QACL,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE;QAChC,UAAU,EAAE,EAAE;KACf,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"Byline.js","sourceRoot":"","sources":["../../src/model/Byline.ts"],"names":[],"mappings":";;;;;;;;;AAIA,MAAa,MAAM;IACjB,YACU,MAAc,EACd,MAAe,EACf,gBAAqC,EACrC,OAAqB;;QAHrB,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAS;QACf,qBAAgB,GAAhB,gBAAgB,CAAqB;QACrC,YAAO,GAAP,OAAO,CAAc;IAC5B,CAAC;IAEJ,KAAK,CAAC,eAAe;QACnB,yCAAyC;QACzC,MAAM,4BAA4B,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAElE,MAAM,KAAK,GAAG,uBAAA,IAAI,oDAAmB,MAAvB,IAAI,EAAoB,4BAA4B,EAAE;YAClE,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE;SAChC,CAAC,CAAA;QACF,OAAO,uBAAA,IAAI,+CAAc,MAAlB,IAAI,EAAe,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAA;IACzD,CAAC;CAqCF;AArDD,wBAqDC;kGAnCoB,MAAc,EAAE,KAAe;IAChD,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IAClC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACtD,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,CAAA;AAC9D,CAAC,yBAED,KAAK,+BAAe,UAA+B,EAAE,KAAe;IAClE,MAAM,QAAQ,GAAsC,MAAM,OAAO,CAAC,GAAG,CACnE,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACvB,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACpC,MAAM,SAAS,GACb,IAAI,CAAC,MAAM,IAAI,OAAO;YACpB,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC;YACxD,CAAC,CAAC,IAAI,CAAA;QAEV,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO;gBACL,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS,IAAI,OAAO;gBAC1B,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;aAC1C,CAAA;QACH,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,IAAI;aACZ,CAAA;QACH,CAAC;IACH,CAAC,CAAC,CACH,CAAA;IAED,OAAO;QACL,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE;QAChC,UAAU,EAAE,EAAE;KACf,CAAA;AACH,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { QueryContext } from '..';
2
+ import { List } from './schemas/capi/list';
3
+ export declare class CapiList {
4
+ private list;
5
+ private context;
6
+ static fromJSON(list: unknown, context: QueryContext): CapiList;
7
+ constructor(list: List, context: QueryContext);
8
+ items(): Promise<import("./CapiResponse").CapiResponse[]>;
9
+ id(): string;
10
+ apiUrl(): string;
11
+ title(): string;
12
+ listType(): "OpinionAnalysis" | "Promotional" | "Recommended" | "TopStories" | "TopStoriesBeta" | "KeyDevelopments";
13
+ publishedDate(): string;
14
+ layoutHint(): "landscape" | "standaloneimage" | "bigstory" | "assassination" | null;
15
+ publication(): string[] | null;
16
+ publishReference(): string | null;
17
+ }
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CapiList = void 0;
7
+ const errors_1 = require("@dotcom-reliability-kit/errors");
8
+ const metadata_1 = require("../helpers/metadata");
9
+ const list_1 = require("./schemas/capi/list");
10
+ const flatten_formatted_zod_errors_1 = __importDefault(require("../helpers/flatten-formatted-zod-errors"));
11
+ class CapiList {
12
+ static fromJSON(list, context) {
13
+ const result = list_1.listSchema.safeParse(list);
14
+ if (!result.success) {
15
+ context.logger.warn({
16
+ event: 'RECOVERABLE_ERROR',
17
+ error: new errors_1.OperationalError({
18
+ message: 'The data received from the CAPI data source does not match our data source schema. It is likely that our schema will require updating to handle all possible responses from CAPI.',
19
+ code: 'CAPI_SCHEMA_VALIDATION_FAILURE',
20
+ schemaError: (0, flatten_formatted_zod_errors_1.default)(result.error.format(), list),
21
+ contentId: list.id,
22
+ contentType: 'List',
23
+ }),
24
+ });
25
+ context.metrics?.count(`graphql.datasource.CapiDataSource.List.validation.failure.count`, 1);
26
+ }
27
+ else {
28
+ context.metrics?.count(`graphql.datasource.CapiDataSource.List.validation.success.count`, 1);
29
+ }
30
+ return new CapiList(list, context);
31
+ }
32
+ constructor(list, context) {
33
+ this.list = list;
34
+ this.context = context;
35
+ }
36
+ async items() {
37
+ if (!this.list.items)
38
+ return [];
39
+ const items = await Promise.all(this.list.items.map(({ id }) => this.context.dataSources.capi
40
+ .getContent((0, metadata_1.uuidFromUrl)(id))
41
+ .catch((error) => {
42
+ if (error instanceof errors_1.BaseError) {
43
+ if (error.data.upstreamStatusCode === 404) {
44
+ this.context.logger.warn({
45
+ event: 'RECOVERABLE_ERROR',
46
+ error: new errors_1.OperationalError({
47
+ code: 'LIST_CONTENT_NOT_FOUND',
48
+ message: 'List content not found in Content API',
49
+ uuid: (0, metadata_1.uuidFromUrl)(error.data.upstreamUrl),
50
+ cause: error,
51
+ }),
52
+ });
53
+ return null;
54
+ }
55
+ }
56
+ throw error;
57
+ })));
58
+ // filter out missing list items to match n-lists-client behaviour
59
+ return items.filter((item) => item !== null);
60
+ }
61
+ id() {
62
+ return (0, metadata_1.uuidFromUrl)(this.list.id);
63
+ }
64
+ apiUrl() {
65
+ return this.list.apiUrl;
66
+ }
67
+ title() {
68
+ return this.list.title;
69
+ }
70
+ listType() {
71
+ return this.list.listType;
72
+ }
73
+ publishedDate() {
74
+ return this.list.publishedDate;
75
+ }
76
+ layoutHint() {
77
+ return this.list.layoutHint ?? null;
78
+ }
79
+ publication() {
80
+ return this.list.publication ?? null;
81
+ }
82
+ publishReference() {
83
+ return this.list.publishReference ?? null;
84
+ }
85
+ }
86
+ exports.CapiList = CapiList;
87
+ //# sourceMappingURL=CapiList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CapiList.js","sourceRoot":"","sources":["../../src/model/CapiList.ts"],"names":[],"mappings":"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"}