@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.
- package/CHANGELOG.md +9 -0
- package/lib/datasources/capi.d.ts +2 -0
- package/lib/datasources/capi.js +17 -1
- package/lib/datasources/capi.js.map +1 -1
- package/lib/datasources/capi.test.js +6 -1
- package/lib/datasources/capi.test.js.map +1 -1
- package/lib/datasources/instrumented.js.map +1 -1
- package/lib/datasources/origami-image.js.map +1 -1
- package/lib/datasources/twitter.js.map +1 -1
- package/lib/datasources/url-management.js.map +1 -1
- package/lib/fixtures/dummyContext.js.map +1 -1
- package/lib/generated/index.d.ts +62 -0
- package/lib/helpers/decorateHeadshotUrl.js +1 -1
- package/lib/helpers/decorateHeadshotUrl.js.map +1 -1
- package/lib/helpers/flatten-formatted-zod-errors.d.ts +6 -0
- package/lib/helpers/flatten-formatted-zod-errors.js +39 -0
- package/lib/helpers/flatten-formatted-zod-errors.js.map +1 -0
- package/lib/helpers/imageService.js +1 -1
- package/lib/helpers/imageService.js.map +1 -1
- package/lib/helpers/isError.js +1 -1
- package/lib/helpers/isError.js.map +1 -1
- package/lib/helpers/metadata.js +1 -2
- package/lib/helpers/metadata.js.map +1 -1
- package/lib/index.d.ts +5 -1
- package/lib/index.js.map +1 -1
- package/lib/model/Byline.js +1 -1
- package/lib/model/Byline.js.map +1 -1
- package/lib/model/CapiList.d.ts +17 -0
- package/lib/model/CapiList.js +87 -0
- package/lib/model/CapiList.js.map +1 -0
- package/lib/model/CapiResponse.js +7 -38
- package/lib/model/CapiResponse.js.map +1 -1
- package/lib/model/Clip.js.map +1 -1
- package/lib/model/Concept.js.map +1 -1
- package/lib/model/FlourishSource.js.map +1 -1
- package/lib/model/Image.d.ts +2 -34
- package/lib/model/Image.js +1 -1
- package/lib/model/Image.js.map +1 -1
- package/lib/model/Person.js.map +1 -1
- package/lib/model/Picture.js.map +1 -1
- package/lib/model/RichText.d.ts +1 -1
- package/lib/model/RichText.js.map +1 -1
- package/lib/model/Topper.d.ts +2 -2
- package/lib/model/Topper.js.map +1 -1
- package/lib/model/schemas/capi/index.js.map +1 -1
- package/lib/model/schemas/capi/list.d.ts +48 -0
- package/lib/model/schemas/capi/list.js +35 -0
- package/lib/model/schemas/capi/list.js.map +1 -0
- package/lib/resolvers/clip.d.ts +5 -5
- package/lib/resolvers/content-tree/bodyXMLToTree.js +1 -1
- package/lib/resolvers/content-tree/bodyXMLToTree.js.map +1 -1
- package/lib/resolvers/content-tree/extractText.js +1 -1
- package/lib/resolvers/content-tree/extractText.js.map +1 -1
- package/lib/resolvers/content-tree/nodePredicates.d.ts +3 -3
- package/lib/resolvers/content-tree/nodePredicates.js.map +1 -1
- package/lib/resolvers/content-tree/references/ClipSet.d.ts +2 -2
- package/lib/resolvers/content-tree/references/ClipSet.js.map +1 -1
- package/lib/resolvers/content-tree/references/Flourish.js.map +1 -1
- package/lib/resolvers/content-tree/references/RawImage.js.map +1 -1
- package/lib/resolvers/content-tree/references/Recommended.js.map +1 -1
- package/lib/resolvers/content-tree/references/Reference.d.ts +2 -2
- package/lib/resolvers/content-tree/references/Reference.js.map +1 -1
- package/lib/resolvers/content-tree/references/Tweet.js.map +1 -1
- package/lib/resolvers/content-tree/references/Video.js.map +1 -1
- package/lib/resolvers/content-tree/tagMappings.js +5 -5
- package/lib/resolvers/content-tree/tagMappings.js.map +1 -1
- package/lib/resolvers/content-tree/updateTreeWithReferenceIds.js +1 -1
- package/lib/resolvers/content-tree/updateTreeWithReferenceIds.js.map +1 -1
- package/lib/resolvers/content.d.ts +8 -8
- package/lib/resolvers/content.js.map +1 -1
- package/lib/resolvers/core.d.ts +1 -0
- package/lib/resolvers/core.js +27 -21
- package/lib/resolvers/core.js.map +1 -1
- package/lib/resolvers/image.js.map +1 -1
- package/lib/resolvers/index.d.ts +48 -36
- package/lib/resolvers/index.js +2 -0
- package/lib/resolvers/index.js.map +1 -1
- package/lib/resolvers/list.d.ts +14 -0
- package/lib/resolvers/list.js +16 -0
- package/lib/resolvers/list.js.map +1 -0
- package/lib/resolvers/literal-union.js.map +1 -1
- package/lib/resolvers/meta-link.js.map +1 -1
- package/lib/resolvers/richText.d.ts +5 -5
- package/lib/resolvers/scalars.d.ts +4 -0
- package/lib/resolvers/scalars.js +18 -1
- package/lib/resolvers/scalars.js.map +1 -1
- package/lib/types/cache.js +1 -2
- package/lib/types/cache.js.map +1 -1
- package/package.json +1 -1
- package/src/datasources/capi.test.ts +6 -1
- package/src/datasources/capi.ts +19 -1
- package/src/fixtures/dummyContext.ts +1 -1
- package/src/generated/index.ts +62 -0
- package/src/helpers/flatten-formatted-zod-errors.ts +67 -0
- package/src/index.ts +3 -1
- package/src/model/CapiList.ts +103 -0
- package/src/model/CapiResponse.ts +7 -69
- package/src/model/schemas/capi/list.ts +36 -0
- package/src/resolvers/core.ts +29 -22
- package/src/resolvers/index.ts +2 -0
- package/src/resolvers/list.ts +15 -0
- package/src/resolvers/scalars.ts +30 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/typedefs/core.graphql +3 -0
- package/typedefs/list.graphql +20 -0
- 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
|
}
|
package/lib/datasources/capi.js
CHANGED
|
@@ -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([
|
|
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":";;;;;;AAAA,wDAAoD;AACpD,iDAA2D;AAO3D,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;
|
|
1
|
+
{"version":3,"file":"capi.js","sourceRoot":"","sources":["../../src/datasources/capi.ts"],"names":[],"mappings":"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"}
|
|
@@ -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([
|
|
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,
|
|
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":";;;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;
|
|
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;
|
|
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;
|
|
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;
|
|
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,
|
|
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"}
|
package/lib/generated/index.d.ts
CHANGED
|
@@ -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":";;;
|
|
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,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":";;;
|
|
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"}
|
package/lib/helpers/isError.js
CHANGED
|
@@ -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
|
|
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"}
|
package/lib/helpers/metadata.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.uuidFromUrl =
|
|
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":"
|
|
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:
|
|
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;
|
|
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"}
|
package/lib/model/Byline.js
CHANGED
|
@@ -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
|
package/lib/model/Byline.js.map
CHANGED
|
@@ -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
|
|
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":";;;;;;AAAA,2DAA4E;AAE5E,kDAAiD;AACjD,8CAAsD;AACtD,2GAA+E;AAE/E,MAAa,QAAQ;IACnB,MAAM,CAAC,QAAQ,CAAC,IAAa,EAAE,OAAqB;QAClD,MAAM,MAAM,GAAG,iBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAEzC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;gBAClB,KAAK,EAAE,mBAAmB;gBAC1B,KAAK,EAAE,IAAI,yBAAgB,CAAC;oBAC1B,OAAO,EACL,mLAAmL;oBACrL,IAAI,EAAE,gCAAgC;oBACtC,WAAW,EAAE,IAAA,sCAAyB,EAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC;oBACnE,SAAS,EAAG,IAAwB,CAAC,EAAE;oBACvC,WAAW,EAAE,MAAM;iBACpB,CAAC;aACH,CAAC,CAAA;YACF,OAAO,CAAC,OAAO,EAAE,KAAK,CACpB,iEAAiE,EACjE,CAAC,CACF,CAAA;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,OAAO,EAAE,KAAK,CACpB,iEAAiE,EACjE,CAAC,CACF,CAAA;QACH,CAAC;QAED,OAAO,IAAI,QAAQ,CAAC,IAAY,EAAE,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,YAAoB,IAAU,EAAU,OAAqB;QAAzC,SAAI,GAAJ,IAAI,CAAM;QAAU,YAAO,GAAP,OAAO,CAAc;IAAG,CAAC;IAEjE,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAA;QAE/B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAC7B,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI;aAC1B,UAAU,CAAC,IAAA,sBAAW,EAAC,EAAE,CAAC,CAAC;aAC3B,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,IAAI,KAAK,YAAY,kBAAS,EAAE,CAAC;gBAC/B,IAAI,KAAK,CAAC,IAAI,CAAC,kBAAkB,KAAK,GAAG,EAAE,CAAC;oBAC1C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;wBACvB,KAAK,EAAE,mBAAmB;wBAC1B,KAAK,EAAE,IAAI,yBAAgB,CAAC;4BAC1B,IAAI,EAAE,wBAAwB;4BAC9B,OAAO,EAAE,uCAAuC;4BAChD,IAAI,EAAE,IAAA,sBAAW,EAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;4BACzC,KAAK,EAAE,KAAK;yBACb,CAAC;qBACH,CAAC,CAAA;oBAEF,OAAO,IAAI,CAAA;gBACb,CAAC;YACH,CAAC;YAED,MAAM,KAAK,CAAA;QACb,CAAC,CAAC,CACL,CACF,CAAA;QAED,kEAAkE;QAClE,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;IAC9C,CAAC;IAED,EAAE;QACA,OAAO,IAAA,sBAAW,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAClC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;IACzB,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;IACxB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAA;IAC3B,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAA;IAChC,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAA;IACrC,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAA;IACtC,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAA;IAC3C,CAAC;CACF;AAhGD,4BAgGC"}
|