@financial-times/cp-content-pipeline-schema 2.4.2 → 2.5.1
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 +20 -0
- package/lib/datasources/capi.d.ts +2 -4
- package/lib/datasources/capi.js +8 -12
- package/lib/datasources/capi.js.map +1 -1
- package/lib/datasources/instrumented.d.ts +5 -5
- package/lib/datasources/instrumented.js +36 -27
- package/lib/datasources/instrumented.js.map +1 -1
- package/lib/datasources/origami-image.d.ts +2 -3
- package/lib/datasources/origami-image.js +4 -4
- package/lib/datasources/origami-image.js.map +1 -1
- package/lib/datasources/twitter.d.ts +2 -2
- package/lib/datasources/twitter.js +3 -3
- package/lib/datasources/twitter.js.map +1 -1
- package/lib/model/CapiResponse.d.ts +1 -50
- package/lib/model/CapiResponse.js +40 -19
- package/lib/model/CapiResponse.js.map +1 -1
- package/lib/resolvers/content-tree/bodyXMLToTree.d.ts +1 -1
- package/lib/resolvers/content-tree/tagMappings.d.ts +2 -1
- package/lib/resolvers/content-tree/tagMappings.js +1 -1
- package/lib/resolvers/content-tree/tagMappings.js.map +1 -1
- package/lib/resolvers/content-tree/tagMappings.test.js +9 -2
- package/lib/resolvers/content-tree/tagMappings.test.js.map +1 -1
- package/lib/types/cache.d.ts +1 -1
- package/lib/types/cache.js +4 -1
- package/lib/types/cache.js.map +1 -1
- package/package.json +2 -2
- package/src/datasources/capi.ts +9 -15
- package/src/datasources/instrumented.ts +62 -43
- package/src/datasources/origami-image.ts +6 -10
- package/src/datasources/twitter.ts +5 -11
- package/src/model/CapiResponse.ts +64 -28
- package/src/resolvers/content-tree/bodyXMLToTree.ts +1 -1
- package/src/resolvers/content-tree/tagMappings.test.ts +18 -3
- package/src/resolvers/content-tree/tagMappings.ts +6 -2
- package/src/types/cache.ts +6 -2
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.5.1](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-schema-v2.5.0...cp-content-pipeline-schema-v2.5.1) (2024-03-26)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* include trailing slash in origami base url ([87bc8cf](https://github.com/Financial-Times/cp-content-pipeline/commit/87bc8cf4abdd5b1b9d6e0c4f376cb431a0be6f54))
|
|
9
|
+
|
|
10
|
+
## [2.5.0](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-schema-v2.4.2...cp-content-pipeline-schema-v2.5.0) (2024-03-26)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* explicitly log a 408 to graphite if request is aborted ([7175d6e](https://github.com/Financial-Times/cp-content-pipeline/commit/7175d6e97bae8ed145dcc6228c0c2048bacf1fe8))
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Bug Fixes
|
|
19
|
+
|
|
20
|
+
* correct URLs for new baseUrl semantics ([82520d4](https://github.com/Financial-Times/cp-content-pipeline/commit/82520d46474106503b8cf3fe515d636039dd90f3))
|
|
21
|
+
* set cache key to just url (because that's what everything expects) ([b6ab650](https://github.com/Financial-Times/cp-content-pipeline/commit/b6ab6507d68db8e6dda3b45d9e6c4514579be504))
|
|
22
|
+
|
|
3
23
|
## [2.4.2](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-schema-v2.4.1...cp-content-pipeline-schema-v2.4.2) (2024-03-22)
|
|
4
24
|
|
|
5
25
|
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { WillSendRequestOptions } from '@apollo/datasource-rest';
|
|
2
1
|
import { CapiResponse } from '../model/CapiResponse';
|
|
3
2
|
import { InstrumentedRESTDataSource } from './instrumented';
|
|
4
3
|
import { CapiPerson } from '../types/internal-content';
|
|
5
|
-
import {
|
|
4
|
+
import { AugmentedRequest } from '@apollo/datasource-rest';
|
|
6
5
|
export declare class CapiDataSource extends InstrumentedRESTDataSource {
|
|
7
6
|
baseURL: string;
|
|
8
7
|
capiKey: string;
|
|
@@ -12,8 +11,7 @@ export declare class CapiDataSource extends InstrumentedRESTDataSource {
|
|
|
12
11
|
abortController: AbortController;
|
|
13
12
|
timeout: ReturnType<typeof setTimeout> | undefined;
|
|
14
13
|
nextNotificationLink?: string;
|
|
15
|
-
willSendRequest(request:
|
|
16
|
-
protected cacheOptionsFor(url: string): CacheOptions | undefined;
|
|
14
|
+
willSendRequest(path: string, request: AugmentedRequest): void;
|
|
17
15
|
getContent(uuid: string, packageContainer?: CapiResponse): Promise<CapiResponse>;
|
|
18
16
|
getPerson(uuid: string): Promise<CapiPerson>;
|
|
19
17
|
}
|
package/lib/datasources/capi.js
CHANGED
|
@@ -20,23 +20,17 @@ class CapiDataSource extends instrumented_1.InstrumentedRESTDataSource {
|
|
|
20
20
|
this.abortController = new AbortController();
|
|
21
21
|
this.timeout = undefined;
|
|
22
22
|
}
|
|
23
|
-
willSendRequest(request) {
|
|
24
|
-
super.willSendRequest(request);
|
|
23
|
+
willSendRequest(path, request) {
|
|
24
|
+
super.willSendRequest(path, request);
|
|
25
25
|
request.headers['x-api-key'] = this.capiKey;
|
|
26
26
|
request.signal = this.abortController.signal;
|
|
27
27
|
this.timeout = setTimeout(() => this.abortController.abort(), REQUEST_TIMEOUT);
|
|
28
28
|
}
|
|
29
|
-
cacheOptionsFor(url) {
|
|
30
|
-
if (url.startsWith(`${this.baseURL}internalcontent/`)) {
|
|
31
|
-
return { ttl: this.articleCacheTTL };
|
|
32
|
-
}
|
|
33
|
-
else if (url.startsWith(`${this.baseURL}people/`)) {
|
|
34
|
-
return { ttl: this.peopleCacheTTL };
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
29
|
async getContent(uuid, packageContainer) {
|
|
38
30
|
try {
|
|
39
|
-
const content = await this.get(`internalcontent/${uuid}
|
|
31
|
+
const content = await this.get(`internalcontent/${uuid}`, {
|
|
32
|
+
cacheOptions: { ttl: this.articleCacheTTL },
|
|
33
|
+
});
|
|
40
34
|
this.context.contentRequestedOnce = true;
|
|
41
35
|
if (this.timeout) {
|
|
42
36
|
clearTimeout(this.timeout);
|
|
@@ -58,7 +52,9 @@ class CapiDataSource extends instrumented_1.InstrumentedRESTDataSource {
|
|
|
58
52
|
}
|
|
59
53
|
async getPerson(uuid) {
|
|
60
54
|
try {
|
|
61
|
-
return await this.get(`people/${uuid}
|
|
55
|
+
return await this.get(`people/${uuid}`, {
|
|
56
|
+
cacheOptions: { ttl: this.peopleCacheTTL },
|
|
57
|
+
});
|
|
62
58
|
}
|
|
63
59
|
catch (error) {
|
|
64
60
|
if (error instanceof Error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capi.js","sourceRoot":"","sources":["../../src/datasources/capi.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"capi.js","sourceRoot":"","sources":["../../src/datasources/capi.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { FetcherResponse } from '@apollo/utils.fetcher';
|
|
1
|
+
import { RESTDataSource, CacheOptions, DataSourceFetchResult, DataSourceRequest, AugmentedRequest } from '@apollo/datasource-rest';
|
|
3
2
|
import { QueryContext } from '..';
|
|
4
3
|
import { BaseDataSource, BaseDataSourceOptions } from './base';
|
|
5
4
|
export declare class InstrumentedRESTDataSource extends RESTDataSource implements BaseDataSource {
|
|
@@ -8,7 +7,8 @@ export declare class InstrumentedRESTDataSource extends RESTDataSource implement
|
|
|
8
7
|
context: QueryContext;
|
|
9
8
|
constructor({ cache, context }: BaseDataSourceOptions);
|
|
10
9
|
get cachePrefix(): string;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
protected cacheKeyFor(url: URL): string;
|
|
11
|
+
willSendRequest(path: string, request: AugmentedRequest): void;
|
|
12
|
+
throwIfResponseIsError(): Promise<void>;
|
|
13
|
+
fetch<TResult>(path: string, incomingRequest?: DataSourceRequest<CacheOptions>): Promise<DataSourceFetchResult<TResult>>;
|
|
14
14
|
}
|
|
@@ -22,44 +22,53 @@ class InstrumentedRESTDataSource extends datasource_rest_1.RESTDataSource {
|
|
|
22
22
|
get cachePrefix() {
|
|
23
23
|
return this.constructor.name.replace(/DataSource$/, '').toLowerCase();
|
|
24
24
|
}
|
|
25
|
-
|
|
25
|
+
cacheKeyFor(url) {
|
|
26
|
+
return url.href;
|
|
27
|
+
}
|
|
28
|
+
willSendRequest(path, request) {
|
|
26
29
|
request.headers['user-agent'] = `cp-content-pipeline-api/${this.context.versions.api} cp-content-pipeline-schema/${this.context.versions.schema} `;
|
|
30
|
+
if (this.context.requestId && !this.context.contentRequestedOnce) {
|
|
31
|
+
request.headers['x-request-id'] = this.context.requestId;
|
|
32
|
+
}
|
|
27
33
|
}
|
|
28
|
-
|
|
29
|
-
|
|
34
|
+
// we implement our own error handling so skip the built-in GraphQLError
|
|
35
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
36
|
+
async throwIfResponseIsError() { }
|
|
37
|
+
async fetch(path, incomingRequest) {
|
|
38
|
+
const startTime = process.hrtime.bigint();
|
|
30
39
|
this.context.metrics?.count(`graphql.datasource.${this.constructor.name}.request.count`, 1);
|
|
31
40
|
this.context.logger.info({
|
|
32
41
|
event: 'REQUEST_DATASOURCE',
|
|
33
42
|
datasource: this.constructor.name,
|
|
34
43
|
request: {
|
|
35
44
|
id: this.context.requestId,
|
|
36
|
-
url:
|
|
37
|
-
method:
|
|
45
|
+
url: new URL(path, this.baseURL).href,
|
|
46
|
+
method: incomingRequest?.method,
|
|
38
47
|
},
|
|
39
48
|
});
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
try {
|
|
50
|
+
const result = await super.fetch(path, incomingRequest);
|
|
51
|
+
const duration = (process.hrtime.bigint() - startTime) / BigInt(1e6);
|
|
52
|
+
this.context.metrics?.count(`graphql.datasource.${this.constructor.name}.response.${result.response.status}.count`, 1);
|
|
53
|
+
this.context.metrics?.count(`graphql.datasource.${this.constructor.name}.response.${result.response.status}.time`, Number(duration));
|
|
54
|
+
if (!result.response.ok) {
|
|
55
|
+
throw new errors_1.UpstreamServiceError({
|
|
56
|
+
message: `${result.response.status}: ${result.response.statusText} from ${this.constructor.name}`,
|
|
57
|
+
statusCode: result.response.status,
|
|
58
|
+
relatesToSystems: this.backendSystemCodes,
|
|
59
|
+
url: result.response.url,
|
|
60
|
+
body: result.parsedBody,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
return result;
|
|
53
64
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
body,
|
|
62
|
-
});
|
|
65
|
+
catch (error) {
|
|
66
|
+
if (error instanceof Error && error.name === 'AbortError') {
|
|
67
|
+
const duration = (process.hrtime.bigint() - startTime) / BigInt(1e6);
|
|
68
|
+
this.context.metrics?.count(`graphql.datasource.${this.constructor.name}.response.408.count`, 1);
|
|
69
|
+
this.context.metrics?.count(`graphql.datasource.${this.constructor.name}.response.408.time`, Number(duration));
|
|
70
|
+
}
|
|
71
|
+
throw error;
|
|
63
72
|
}
|
|
64
73
|
}
|
|
65
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrumented.js","sourceRoot":"","sources":["../../src/datasources/instrumented.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"instrumented.js","sourceRoot":"","sources":["../../src/datasources/instrumented.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import { WillSendRequestOptions } from '@apollo/datasource-rest';
|
|
2
1
|
import { InstrumentedRESTDataSource } from './instrumented';
|
|
3
|
-
import { CacheOptions } from '@apollo/datasource-rest
|
|
2
|
+
import { AugmentedRequest, CacheOptions } from '@apollo/datasource-rest';
|
|
4
3
|
export declare class OrigamiImageDataSource extends InstrumentedRESTDataSource {
|
|
5
4
|
baseURL: string;
|
|
6
5
|
backendSystemCodes: string[];
|
|
7
6
|
abortController: AbortController;
|
|
8
7
|
timeout: ReturnType<typeof setTimeout> | undefined;
|
|
9
8
|
imageMetadataCacheTTL: number;
|
|
10
|
-
willSendRequest(request:
|
|
9
|
+
willSendRequest(path: string, request: AugmentedRequest): void;
|
|
11
10
|
protected cacheOptionsFor(): CacheOptions;
|
|
12
11
|
getImageMetadata(url: string): Promise<{
|
|
13
12
|
width: number;
|
|
@@ -7,7 +7,7 @@ const REQUEST_TIMEOUT = 5000; // 5 seconds
|
|
|
7
7
|
class OrigamiImageDataSource extends instrumented_1.InstrumentedRESTDataSource {
|
|
8
8
|
constructor() {
|
|
9
9
|
super(...arguments);
|
|
10
|
-
this.baseURL = 'https://www.ft.com/__origami/service/image/v2';
|
|
10
|
+
this.baseURL = 'https://www.ft.com/__origami/service/image/v2/';
|
|
11
11
|
this.backendSystemCodes = ['origami-image-service-v2'];
|
|
12
12
|
this.abortController = new AbortController();
|
|
13
13
|
this.timeout = undefined;
|
|
@@ -15,8 +15,8 @@ class OrigamiImageDataSource extends instrumented_1.InstrumentedRESTDataSource {
|
|
|
15
15
|
? parseInt(process.env.IMAGE_METADATA_CACHE_TTL)
|
|
16
16
|
: 60 * 60 * 24 * 7; // 1 week
|
|
17
17
|
}
|
|
18
|
-
willSendRequest(request) {
|
|
19
|
-
super.willSendRequest(request);
|
|
18
|
+
willSendRequest(path, request) {
|
|
19
|
+
super.willSendRequest(path, request);
|
|
20
20
|
request.signal = this.abortController.signal;
|
|
21
21
|
this.timeout = setTimeout(() => this.abortController.abort(), REQUEST_TIMEOUT);
|
|
22
22
|
}
|
|
@@ -25,7 +25,7 @@ class OrigamiImageDataSource extends instrumented_1.InstrumentedRESTDataSource {
|
|
|
25
25
|
}
|
|
26
26
|
async getImageMetadata(url) {
|
|
27
27
|
try {
|
|
28
|
-
const imageMetadata = await this.get(
|
|
28
|
+
const imageMetadata = await this.get(`images/metadata/${encodeURIComponent(url)}?source=next`);
|
|
29
29
|
if (this.timeout) {
|
|
30
30
|
clearTimeout(this.timeout);
|
|
31
31
|
this.timeout = undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"origami-image.js","sourceRoot":"","sources":["../../src/datasources/origami-image.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"origami-image.js","sourceRoot":"","sources":["../../src/datasources/origami-image.ts"],"names":[],"mappings":";;;AAAA,2DAAqE;AACrE,iDAA2D;AAG3D,MAAM,eAAe,GAAG,IAAI,CAAA,CAAC,YAAY;AAEzC,MAAa,sBAAuB,SAAQ,yCAA0B;IAAtE;;QACE,YAAO,GAAG,gDAAgD,CAAA;QAC1D,uBAAkB,GAAG,CAAC,0BAA0B,CAAC,CAAA;QAEjD,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;IAyChC,CAAC;IAvCU,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,EAAE,EAClC,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,IAAI;YACF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,GAAG,CAClC,mBAAmB,kBAAkB,CAAC,GAAG,CAAC,cAAc,CACzD,CAAA;YACD,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBAC1B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;aACzB;YACD,OAAO,aAAa,CAAA;SACrB;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;gBACzD,MAAM,IAAI,6BAAoB,CAAC;oBAC7B,IAAI,EAAE,4BAA4B;oBAClC,OAAO,EAAE,6CAA6C,eAAe,8BAA8B;oBACnG,UAAU,EAAE,GAAG;oBACf,gBAAgB,EAAE,IAAI,CAAC,kBAAkB;iBAC1C,CAAC,CAAA;aACH;YAED,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;CACF;AAlDD,wDAkDC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AugmentedRequest, CacheOptions } from '@apollo/datasource-rest';
|
|
2
2
|
import { InstrumentedRESTDataSource } from './instrumented';
|
|
3
3
|
export declare class TwitterDataSource extends InstrumentedRESTDataSource {
|
|
4
4
|
baseURL: string;
|
|
5
5
|
backendSystemCodes: string[];
|
|
6
6
|
abortController: AbortController;
|
|
7
7
|
timeout: ReturnType<typeof setTimeout> | undefined;
|
|
8
|
-
willSendRequest(request:
|
|
8
|
+
willSendRequest(path: string, request: AugmentedRequest): void;
|
|
9
9
|
getTweet(tweetUrl: string): Promise<any>;
|
|
10
10
|
cacheOptionsFor(): CacheOptions;
|
|
11
11
|
}
|
|
@@ -12,14 +12,14 @@ class TwitterDataSource extends instrumented_1.InstrumentedRESTDataSource {
|
|
|
12
12
|
this.abortController = new AbortController();
|
|
13
13
|
this.timeout = undefined;
|
|
14
14
|
}
|
|
15
|
-
willSendRequest(request) {
|
|
16
|
-
super.willSendRequest(request);
|
|
15
|
+
willSendRequest(path, request) {
|
|
16
|
+
super.willSendRequest(path, request);
|
|
17
17
|
request.signal = this.abortController.signal;
|
|
18
18
|
this.timeout = setTimeout(() => this.abortController.abort(), REQUEST_TIMEOUT);
|
|
19
19
|
}
|
|
20
20
|
async getTweet(tweetUrl) {
|
|
21
21
|
try {
|
|
22
|
-
const tweet = await this.get(
|
|
22
|
+
const tweet = await this.get(`oembed?url=${tweetUrl}&omit_script=true`);
|
|
23
23
|
if (this.timeout) {
|
|
24
24
|
clearTimeout(this.timeout);
|
|
25
25
|
this.timeout = undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"twitter.js","sourceRoot":"","sources":["../../src/datasources/twitter.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"twitter.js","sourceRoot":"","sources":["../../src/datasources/twitter.ts"],"names":[],"mappings":";;;AACA,2DAAqE;AACrE,iDAA2D;AAE3D,MAAM,eAAe,GAAG,IAAI,CAAA,CAAC,YAAY;AACzC,MAAa,iBAAkB,SAAQ,yCAA0B;IAAjE;;QACE,YAAO,GAAG,6BAA6B,CAAA;QACvC,uBAAkB,GAAG,CAAC,oBAAoB,CAAC,CAAA;QAE3C,oBAAe,GAAG,IAAI,eAAe,EAAE,CAAA;QACvC,YAAO,GAA8C,SAAS,CAAA;IAyChE,CAAC;IAvCU,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,EAAE,EAClC,eAAe,CAChB,CAAA;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAgB;QAC7B,IAAI;YACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,cAAc,QAAQ,mBAAmB,CAAC,CAAA;YAEvE,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBAC1B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAA;aACzB;YAED,OAAO,KAAK,CAAA;SACb;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;gBACzD,MAAM,IAAI,6BAAoB,CAAC;oBAC7B,IAAI,EAAE,4BAA4B;oBAClC,OAAO,EAAE,2CAA2C,eAAe,8BAA8B;oBACjG,UAAU,EAAE,GAAG;oBACf,gBAAgB,EAAE,IAAI,CAAC,kBAAkB;iBAC1C,CAAC,CAAA;aACH;YAED,MAAM,KAAK,CAAA;SACZ;IACH,CAAC;IAED,eAAe;QACb,iFAAiF;QACjF,oFAAoF;QACpF,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAA;IACtB,CAAC;CACF;AA9CD,8CA8CC"}
|
|
@@ -15,56 +15,7 @@ export declare class CapiResponse {
|
|
|
15
15
|
private context;
|
|
16
16
|
private packageContainer?;
|
|
17
17
|
constructor(capiData: ContentTypeSchemas, context: QueryContext, packageContainer?: CapiResponse | undefined);
|
|
18
|
-
static fromJSON(content:
|
|
19
|
-
schema(): import("zod").ZodObject<Pick<{
|
|
20
|
-
title: import("zod").ZodString;
|
|
21
|
-
standfirst: import("zod").ZodOptional<import("zod").ZodString>;
|
|
22
|
-
byline: import("zod").ZodOptional<import("zod").ZodString>;
|
|
23
|
-
bodyXML: import("zod").ZodString;
|
|
24
|
-
summary: import("zod").ZodObject<{
|
|
25
|
-
bodyXML: import("zod").ZodString;
|
|
26
|
-
}, "strip", import("zod").ZodTypeAny, {
|
|
27
|
-
bodyXML: string;
|
|
28
|
-
}, {
|
|
29
|
-
bodyXML: string;
|
|
30
|
-
}>;
|
|
31
|
-
alternativeTitles: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
32
|
-
promotionalTitle: import("zod").ZodString;
|
|
33
|
-
}, "strip", import("zod").ZodTypeAny, {
|
|
34
|
-
promotionalTitle: string;
|
|
35
|
-
}, {
|
|
36
|
-
promotionalTitle: string;
|
|
37
|
-
}>>;
|
|
38
|
-
alternativeStandfirsts: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
39
|
-
promotionalStandfirst: import("zod").ZodOptional<import("zod").ZodString>;
|
|
40
|
-
}, "strip", import("zod").ZodTypeAny, {
|
|
41
|
-
promotionalStandfirst?: string | undefined;
|
|
42
|
-
}, {
|
|
43
|
-
promotionalStandfirst?: string | undefined;
|
|
44
|
-
}>>;
|
|
45
|
-
pinnedPosts: import("zod").ZodArray<import("zod").ZodString, "many">;
|
|
46
|
-
contains: import("zod").ZodArray<import("zod").ZodObject<{
|
|
47
|
-
id: import("zod").ZodString;
|
|
48
|
-
apiUrl: import("zod").ZodString;
|
|
49
|
-
}, "strip", import("zod").ZodTypeAny, {
|
|
50
|
-
id: string;
|
|
51
|
-
apiUrl: string;
|
|
52
|
-
}, {
|
|
53
|
-
id: string;
|
|
54
|
-
apiUrl: string;
|
|
55
|
-
}>, "many">;
|
|
56
|
-
design: import("zod").ZodObject<{
|
|
57
|
-
theme: import("zod").ZodUnion<[import("zod").ZodLiteral<"special-report">, import("zod").ZodLiteral<"extra">, import("zod").ZodLiteral<"basic">, import("zod").ZodLiteral<"extra-wide">]>;
|
|
58
|
-
}, "strip", import("zod").ZodTypeAny, {
|
|
59
|
-
theme: "special-report" | "extra" | "basic" | "extra-wide";
|
|
60
|
-
}, {
|
|
61
|
-
theme: "special-report" | "extra" | "basic" | "extra-wide";
|
|
62
|
-
}>;
|
|
63
|
-
}, "title">, "strip", import("zod").ZodTypeAny, {
|
|
64
|
-
title: string;
|
|
65
|
-
}, {
|
|
66
|
-
title: string;
|
|
67
|
-
}>;
|
|
18
|
+
static fromJSON(content: unknown, context: QueryContext, packageContainer?: CapiResponse): CapiResponse;
|
|
68
19
|
bodyXML(): string | null;
|
|
69
20
|
embeds(): (ImageSet | ClipSet)[];
|
|
70
21
|
byline(): string | null;
|
|
@@ -23,6 +23,13 @@ const capi_1 = require("./schemas/capi");
|
|
|
23
23
|
const scalars_1 = require("../resolvers/scalars");
|
|
24
24
|
const literal_union_1 = require("../resolvers/literal-union");
|
|
25
25
|
const Topper_1 = require("./Topper");
|
|
26
|
+
const zod_1 = require("zod");
|
|
27
|
+
function isPlainObject(object) {
|
|
28
|
+
if (object && typeof object === 'object') {
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
26
33
|
function flattenFormattedZodIssues(issues, object, path = [], flattened = []) {
|
|
27
34
|
if (issues._errors.length > 0) {
|
|
28
35
|
const literalErrors = issues._errors.filter((error) => error.startsWith('Invalid literal value'));
|
|
@@ -45,13 +52,27 @@ function flattenFormattedZodIssues(issues, object, path = [], flattened = []) {
|
|
|
45
52
|
if (key !== '_errors' &&
|
|
46
53
|
!Array.isArray(value) &&
|
|
47
54
|
object &&
|
|
48
|
-
(Array.isArray(object) ||
|
|
55
|
+
(Array.isArray(object) || isPlainObject(object))) {
|
|
49
56
|
const isArrayKey = !Number.isNaN(parseInt(key));
|
|
50
57
|
flattenFormattedZodIssues(value, Array.isArray(object) ? object[parseInt(key)] : object[key], [...path, isArrayKey ? '[]' : key], flattened);
|
|
51
58
|
}
|
|
52
59
|
}
|
|
53
60
|
return flattened;
|
|
54
61
|
}
|
|
62
|
+
function getContentType(content, validate = true) {
|
|
63
|
+
const TYPE_REGEX = /https?:\/\/www.ft.com\/ontology\/content\//;
|
|
64
|
+
const useType = 'type' in content && content.type ? content.type : content.types[0];
|
|
65
|
+
const type = useType.replace(TYPE_REGEX, '');
|
|
66
|
+
if (validate && !(0, literal_union_1.validLiteralUnionValue)(type, scalars_1.ContentType.values)) {
|
|
67
|
+
throw new Error('Content type is invalid: ' + useType);
|
|
68
|
+
}
|
|
69
|
+
return type;
|
|
70
|
+
}
|
|
71
|
+
const baselineContentSchema = zod_1.z.object({
|
|
72
|
+
id: zod_1.z.string(),
|
|
73
|
+
type: zod_1.z.string().optional(),
|
|
74
|
+
types: zod_1.z.array(zod_1.z.string()),
|
|
75
|
+
});
|
|
55
76
|
class CapiResponse {
|
|
56
77
|
constructor(capiData, context, packageContainer) {
|
|
57
78
|
this.capiData = capiData;
|
|
@@ -60,14 +81,18 @@ class CapiResponse {
|
|
|
60
81
|
_CapiResponse_instances.add(this);
|
|
61
82
|
}
|
|
62
83
|
static fromJSON(content, context, packageContainer) {
|
|
63
|
-
|
|
84
|
+
// if the content doesn't meet the baseline schema, something's gone
|
|
85
|
+
// unexpectedly very wrong. throwing an non-operational error is the
|
|
86
|
+
// right thing to do in that case, so we call .parse not .safeParse
|
|
87
|
+
const baseContent = baselineContentSchema.parse(content);
|
|
88
|
+
const type = getContentType(baseContent);
|
|
64
89
|
/*
|
|
65
90
|
* Check if the incoming data matches the types defined in our data source schema
|
|
66
91
|
* Our data source schema should handle all possible response from CAPI
|
|
67
92
|
* As there is no agreed schema provided by CAPI there is a chance it will be out of date / incorrect at times
|
|
68
93
|
* Manual updates will be required at times to keep it in sync with the responses we receive
|
|
69
94
|
*/
|
|
70
|
-
const schemaResponse =
|
|
95
|
+
const schemaResponse = (0, capi_1.schemas)(type).safeParse(content);
|
|
71
96
|
/*
|
|
72
97
|
* Log an error if the response fails validation
|
|
73
98
|
* Logs should be used to warn us of issues or response changes
|
|
@@ -80,19 +105,18 @@ class CapiResponse {
|
|
|
80
105
|
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.',
|
|
81
106
|
code: 'CAPI_SCHEMA_VALIDATION_FAILURE',
|
|
82
107
|
schemaError: flattenFormattedZodIssues(schemaResponse.error.format(), content),
|
|
83
|
-
contentId:
|
|
84
|
-
contentType:
|
|
108
|
+
contentId: baseContent.id,
|
|
109
|
+
contentType: type,
|
|
85
110
|
}),
|
|
86
111
|
});
|
|
87
|
-
context.metrics?.count(`graphql.datasource.CapiDataSource.${
|
|
112
|
+
context.metrics?.count(`graphql.datasource.CapiDataSource.${type}.validation.failure.count`, 1);
|
|
88
113
|
}
|
|
89
114
|
else {
|
|
90
|
-
context.metrics?.count(`graphql.datasource.CapiDataSource.${
|
|
115
|
+
context.metrics?.count(`graphql.datasource.CapiDataSource.${type}.validation.success.count`, 1);
|
|
91
116
|
}
|
|
92
|
-
return
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
return (0, capi_1.schemas)(this.type());
|
|
117
|
+
// we can "safely" cast content to the schema return types here. if the type is
|
|
118
|
+
// incorrect, we've at least logged that error.
|
|
119
|
+
return new CapiResponse(content, context, packageContainer);
|
|
96
120
|
}
|
|
97
121
|
bodyXML() {
|
|
98
122
|
if ('bodyXML' in this.capiData) {
|
|
@@ -288,15 +312,12 @@ class CapiResponse {
|
|
|
288
312
|
return url.replace(RELATIVE_URL_REGEX, '');
|
|
289
313
|
}
|
|
290
314
|
type(validate = true) {
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
if (validate && !(0, literal_union_1.validLiteralUnionValue)(type, scalars_1.ContentType.values)) {
|
|
297
|
-
throw new Error('Content type is invalid: ' + useType);
|
|
315
|
+
if (validate) {
|
|
316
|
+
return getContentType(this.capiData, true);
|
|
317
|
+
}
|
|
318
|
+
else {
|
|
319
|
+
return getContentType(this.capiData, false);
|
|
298
320
|
}
|
|
299
|
-
return type;
|
|
300
321
|
}
|
|
301
322
|
topperHasImage() {
|
|
302
323
|
const topper = new Topper_1.Topper(this, this.context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CapiResponse.js","sourceRoot":"","sources":["../../src/model/CapiResponse.ts"],"names":[],"mappings":";;;;;;;;;;;;AAMA,mFAAuD;AACvD,6FAA0D;AAC1D,4DAAkC;AAClC,2DAAiE;AAGjE,kEAAkC;AAElC,mCAAmC;AACnC,uCAAmC;AACnC,iEAAwC;AACxC,kDAAiD;AACjD,yCAAwC;AACxC,kDAK6B;AAC7B,8DAGmC;AAGnC,qCAAiC;AAyBjC,SAAS,yBAAyB,CAChC,MAA0B,EAC1B,MAAqB,EACrB,OAAiB,EAAE,EACnB,YAAsB,EAAE;IAExB,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QAC7B,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;YAC5B,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;wBACrB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;qBAClB;oBAED,OAAO,EAAE,CAAA;gBACX,CAAC,CAAC;qBACD,IAAI,EAAE,CACZ,CAAA;SACF;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;KAC7E;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACjD,IACE,GAAG,KAAK,SAAS;YACjB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACrB,MAAM;YACN,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,EACrD;YACA,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;SACF;KACF;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAa,YAAY;IACvB,YACU,QAA4B,EAC5B,OAAqB,EACrB,gBAA+B;QAF/B,aAAQ,GAAR,QAAQ,CAAoB;QAC5B,YAAO,GAAP,OAAO,CAAc;QACrB,qBAAgB,GAAhB,gBAAgB,CAAe;;IACtC,CAAC;IAEJ,MAAM,CAAC,QAAQ,CACb,OAA2B,EAC3B,OAAqB,EACrB,gBAA+B;QAE/B,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAA;QAElE;;;;;WAKG;QACH,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QACxD;;;;WAIG;QACH,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;gBACnB,KAAK,EAAE,mBAAmB;gBAC1B,KAAK,EAAE,IAAI,yBAAgB,CAAC;oBAC1B,OAAO,EACL,mLAAmL;oBACrL,IAAI,EAAE,gCAAgC;oBACtC,WAAW,EAAE,yBAAyB,CACpC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,EAC7B,OAAO,CACR;oBACD,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;iBAC/B,CAAC;aACH,CAAC,CAAA;YAEF,OAAO,CAAC,OAAO,EAAE,KAAK,CACpB,qCAAqC,KAAK,CAAC,IAAI,CAC7C,KAAK,CACN,2BAA2B,EAC5B,CAAC,CACF,CAAA;SACF;aAAM;YACL,OAAO,CAAC,OAAO,EAAE,KAAK,CACpB,qCAAqC,KAAK,CAAC,IAAI,CAC7C,KAAK,CACN,2BAA2B,EAC5B,CAAC,CACF,CAAA;SACF;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM;QACJ,OAAO,IAAA,cAAO,EAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IAC7B,CAAC;IACD,OAAO;QACL,IAAI,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAA;SAC7B;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM;QACJ,IAAI,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM;YACnD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;QAC7B,OAAO,EAAE,CAAA;IACX,CAAC;IACD,MAAM;QACJ,IAAI,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;YACrD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;SAC5B;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAKD,WAAW;QACT,OAAO,IAAA,uBAAM,EAAC,uBAAA,IAAI,6DAAgB,MAApB,IAAI,CAAkB,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAC5D,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,iBAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAChD,CAAA;IACH,CAAC;IACD,KAAK;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAA;IAC5B,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,MAAuB;QAC/B,MAAM,GAAG,GACP,IAAI,CAAC,QAAQ,CAAC,MAAM;YACpB,IAAI,CAAC,QAAQ,CAAC,eAAe;YAC7B,8BAA8B,IAAI,CAAC,EAAE,EAAE,EAAE,CAAA;QAE3C,IAAI,MAAM,EAAE;YACV,IAAI;gBACF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBACpE,8DAA8D;gBAC9D,mEAAmE;gBACnE,OAAO;gBACP,OAAO,SAAS,IAAI,GAAG,CAAA;aACxB;YAAC,OAAO,KAAK,EAAE;gBACd,IAAI,IAAA,iBAAO,EAAC,KAAK,CAAC,EAAE;oBAClB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;wBACxB,KAAK,EAAE,mBAAmB;wBAC1B,KAAK;qBACN,CAAC,CAAA;iBACH;aACF;SACF;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,UAAU;QACR,IAAI,YAAY,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAA;QAClE,OAAO,EAAE,CAAA;IACX,CAAC;IACD,MAAM;QACJ,IAAI,QAAQ,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;QAC1D,OAAO,IAAI,CAAA;IACb,CAAC;IACD,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,YAAY,CAAA;IAClD,CAAC;IACD,aAAa;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,IAAI,CAAA;IAC5C,CAAC;IACD,eAAe;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAA;IACtC,CAAC;IACD,mBAAmB;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QACjC,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC9D,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAE/C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,aAAa,EAAE;YAC9D,OAAO,aAAa,CAAA;SACrB;aAAM,IAAI,cAAc,EAAE,cAAc,EAAE,EAAE;YAC3C,OAAO,cAAc,CAAA;SACtB;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IACD,gBAAgB;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,KAAK,IAAI;YAC5C,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;gBACrC,UAAU,CAAC,EAAE,EAAE;oBACb,+DAA+D,CAAA;YACnE,CAAC,CAAC;YACF,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAA;IACV,CAAC;IACD,OAAO;QACL,IAAI,SAAS,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAA;QAC5D,OAAO,IAAI,CAAA;IACb,CAAC;IACD,KAAK;QACH,sEAAsE;QACtE,gEAAgE;QAChE,4DAA4D;QAC5D,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,cAAc,EAAE;YAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;gBAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;aAC1D;SACF;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAA;IAC5B,CAAC;IACD,EAAE;QACA,MAAM,IAAI,GAAG,IAAA,sBAAW,EAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC1C,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;QAErC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,UAAU;QACR,IAAI,YAAY,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;YAC7D,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAA;SAChC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IACD,aAAa;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAA;IACpC,CAAC;IACD,kBAAkB;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAA;IACxE,CAAC;IACD,gBAAgB;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,IAAI,IAAI,CAAA;IAChD,CAAC;IAED,qBAAqB;QACnB,IAAI,wBAAwB,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC7C,OAAO,IAAI,CAAC,QAAQ,CAAC,sBAAsB,IAAI,IAAI,CAAA;SACpD;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,aAAa,CAAC,KAAa;QACzB,MAAM,KAAK,GAAG,IAAA,oBAAS,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAA;QACnB,OAAO,IAAI,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACrE,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,SAAS,CAAA;QAEb,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAA;SAClC;aAAM;YACL,MAAM,WAAW,GACf,aAAa,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;YAEtE,IAAI,WAAW,EAAE;gBACf,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CACxD,IAAA,sBAAW,EAAC,WAAW,CAAC,CACzB,CAAA;gBACD,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAA;aAClC;SACF;QAED,IAAI,SAAS,EAAE;YACb,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;SAChD;QAED,OAAO,SAAS,IAAI,IAAI,CAAA;IAC1B,CAAC;IAWD,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,GAAG,MAAM,uBAAA,IAAI,6DAAgB,MAApB,IAAI,CAAkB,CAAA;QAEzC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,OAAO,IAAI,CAAC,IAAI,CAAA;SACjB;QAED,wFAAwF;QACxF,sFAAsF;QACtF,IAAI,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE;YAC5B,OAAO,IAAI,iBAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;SAC5C;QAED,uFAAuF;QACvF,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;IAC3B,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,GAAG,MAAM,uBAAA,IAAI,6DAAgB,MAApB,IAAI,CAAkB,CAAA;QAEzC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,OAAO,IAAI,CAAA;SACZ;QAED,0DAA0D;QAC1D,OAAO,IAAI,iBAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAChD,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,GAAG,MAAM,uBAAA,IAAI,6DAAgB,MAApB,IAAI,CAAkB,CAAA;QACzC,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED,MAAM;QACJ,MAAM,KAAK,GAAG,IAAA,oBAAS,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtC,OAAO,IAAI,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACrE,CAAC;IAED,eAAe;QACb,OAAO,OAAO,CACZ,UAAU,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CACrE,CAAA;IACH,CAAC;IAED,WAAW;QACT,OAAO,OAAO,CACZ,UAAU,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CACjE,CAAA;IACH,CAAC;IAED,OAAO;QACL,OAAO,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IAC9E,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAuB;QACvC,MAAM,kBAAkB,GAAG,uBAAuB,CAAA;QAClD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAClC,OAAO,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAA;IAC5C,CAAC;IAID,IAAI,CAAC,QAAQ,GAAG,IAAI;QAClB,MAAM,UAAU,GAAG,4CAA4C,CAAA;QAC/D,MAAM,OAAO,GACX,MAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI;YAC3C,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI;YACpB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;QAE5C,IAAI,QAAQ,IAAI,CAAC,IAAA,sCAAsB,EAAC,IAAI,EAAE,qBAAW,CAAC,MAAM,CAAC,EAAE;YACjE,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,OAAO,CAAC,CAAA;SACvD;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,cAAc;QACZ,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAC7C,OAAO,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,GAAG,CAAC,CAAA;IACpC,CAAC;IAED,SAAS;QACP,OAAO,uBAAA,IAAI,8DAAiB,MAArB,IAAI,EAAkB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IACvD,CAAC;IAED,WAAW;QACT,uEAAuE;QACvE,MAAM,gBAAgB,GACpB,mBAAmB,IAAI,IAAI,CAAC,QAAQ;YAClC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,gBAAgB;YACnD,CAAC,CAAC,SAAS,CAAA;QACf,MAAM,KAAK,GAAG,gBAAgB,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAA;QACzD,OAAO,uBAAA,IAAI,8DAAiB,MAArB,IAAI,EAAkB,KAAK,CAAC,CAAA;IACrC,CAAC;IAYD,WAAW;QACT,OAAO,IAAA,oBAAS,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACjC,CAAC;IAKD,mBAAmB;QACjB,MAAM,iBAAiB,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QAC3C,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,MAAe,EAAE,EAAE;YAC3D,IAAI,MAAM,CAAC,SAAS,EAAE,EAAE;gBACtB,MAAM,wBAAwB,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;gBACrE,OAAO,CAAC,GAAG,CACT,wBAAwB,EACxB,uBAAA,IAAI,+DAAkB,MAAtB,IAAI,EAAmB,MAAM,CAAC,IAAI,EAAE,CAAC,CACtC,CAAA;aACF;YACD,OAAO,OAAO,CAAA;QAChB,CAAC,EAAE,IAAI,GAAG,EAAkB,CAAC,CAAA;IAC/B,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,UAAmB,EAAE,EAAE,CACrD,UAAU,CAAC,OAAO,EAAE,CACrB,CAAA;IACH,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,UAAmB,EAAE,EAAE,CACrD,UAAU,CAAC,WAAW,EAAE,CACzB,CAAA;IACH,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,UAAmB,EAAE,EAAE,CACrD,UAAU,CAAC,cAAc,EAAE,CAC5B,CAAA;IACH,CAAC;IAED,sBAAsB;QACpB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,UAAmB,EAAE,EAAE,CACrD,UAAU,CAAC,cAAc,EAAE,CAC5B,CAAA;IACH,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,UAAmB,EAAE,EAAE,CACrD,UAAU,CAAC,gBAAgB,EAAE,CAC9B,CAAA;IACH,CAAC;IAED,wBAAwB;QACtB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,UAAmB,EAAE,EAAE,CACrD,UAAU,CAAC,uBAAuB,EAAE,CACrC,CAAA;IACH,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,UAAmB,EAAE,EAAE,CACvD,UAAU,CAAC,QAAQ,EAAE,CACtB,CAAA;IACH,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,KAAK,CAAC,CAAA;IAC3D,CAAC;IAED,SAAS;QACP,yFAAyF;QACzF,4DAA4D;QAC5D,IACE,IAAI,CAAC,IAAI,EAAE,KAAK,cAAc;YAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,EAC1C;YACA,OAAO,IAAI,CAAA;SACZ;QACD,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,UAAmB,EAAE,EAAE,CACrD,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAC9B,CAAA;IACH,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,EAAE,KAAK,uBAAU,CAAC,KAAK,CAAC,UAAU,CAAA;IACvE,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,KAAK,kCAAkC,CAAA;IAC3E,CAAC;IAED,aAAa;QACX,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAC5C,4CAA4C,CAC7C,CAAA;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAC5C,4CAA4C,CAC7C,CAAA;QAED,OAAO,CAAC,SAAS,IAAI,SAAS,CAAA;IAChC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CACjC,0CAA0C,CAC3C,CAAA;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,EACb,mBAAmB,EACnB,MAAM,MACiC,EAAE;QACzC,IAAI,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAChD,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,4BAA4B,MAAM,EAAE,CACnE,CAAA;YAED,MAAM,QAAQ,GACZ,MAAM,IAAI,mBAAmB;gBAC3B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAC1B,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,mBAAmB,CAAC,EAC5C,SAAS,GAAG,mBAAmB,CAChC;gBACH,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAA;YAE5B,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAA;YAEpE,OAAO,OAAO,CAAC,GAAG,CAChB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CACtB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,IAAA,sBAAW,EAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAChE,CACF,CAAA;SACF;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,cAAc;QACZ,IAAI,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAA;SACrC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,OAAO,iBAAiB,IAAI,IAAI,CAAC,QAAQ;YACvC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe;YAC/B,CAAC,CAAC,IAAI,CAAA;IACV,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;QAEtC,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;YAC/B,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;YAEtE,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CACjC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE;gBACrC,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CACxC,CAAA;YAED,OAAO,aAAa,CAAA;SACrB;QAED,OAAO,EAAE,CAAA;IACX,CAAC;IAED,QAAQ;QACN,IACE,IAAI,CAAC,gBAAgB;YACrB,aAAa,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAC/C;YACA,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAA;YACrE,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;YACnC,OAAO,YAAY,KAAK,IAAI,CAAC,EAAE,EAAE,CAAA;SAClC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,aAAa,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAA;YACnD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;YAEhD,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;YACnC,MAAM,eAAe,GAAG,aAAa,CAAC,SAAS,CAC7C,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,YAAY,CACrC,CAAA;YAED,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE;gBAC1B,OAAO,aAAa,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;aACnD;SACF;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,oBAAoB;QAClB,OAAO,aAAa,IAAI,IAAI,CAAC,QAAQ;YACnC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;YAC9C,CAAC,CAAC,KAAK,CAAA;IACX,CAAC;IAED,QAAQ;QACN,IAAI,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC/B,wDAAwD;YACxD,iCAAiC;YACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAY,CAAA;SAC5C;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,eAAe;QACb,IAAI,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,IAAI,KAAK,CAAA;SAChD;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM;QACJ,IAAI,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE;YAC3D,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;SAC7C;aAAM;YACL,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAA;SAC7C;IACH,CAAC;IAED,KAAK;QACH,IAAI,YAAY,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;YAC7D,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CACjC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;gBACtD,GAAG;gBACH,QAAQ;gBACR,QAAQ;gBACR,SAAS;aACV,CAAC,CACH,CAAA;SACF;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AA5kBD,oCA4kBC;;IA1fG,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAA;AAClC,CAAC,iCAqJD,KAAK;IACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAA;IAE5C,OAAO,4BAAQ,CAAC,MAAM,CAAC;QACrB,WAAW,EAAE,uBAAA,IAAI,6DAAgB,MAApB,IAAI,CAAkB;QACnC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;KACzD,CAAC,CAAA;AACJ,CAAC,yEAkGgB,KAA4B;IAC3C,IAAI,KAAK,EAAE,IAAI,KAAK,0CAA0C,EAAE;QAC9D,OAAO,IAAI,iBAAS,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;KAC1C;SAAM,IAAI,KAAK,EAAE,IAAI,KAAK,6CAA6C,EAAE;QACxE,OAAO,IAAI,iBAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;KACrD;IAED,OAAO,IAAI,CAAA;AACb,CAAC,2EAMiB,UAAkB;IAClC,OAAO,6BAA6B,UAAU,EAAE,CAAA;AAClD,CAAC"}
|
|
1
|
+
{"version":3,"file":"CapiResponse.js","sourceRoot":"","sources":["../../src/model/CapiResponse.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import * as cheerio from 'cheerio';
|
|
|
2
2
|
import type { ContentTree } from '@financial-times/content-tree';
|
|
3
3
|
import { AnyNode } from './Workarounds';
|
|
4
4
|
import { QueryContext } from '../..';
|
|
5
|
-
type ContentTreeTransform = ($el: cheerio.Cheerio<
|
|
5
|
+
type ContentTreeTransform = ($el: cheerio.Cheerio<cheerio.Element>, traverse: () => AnyNode[], context?: QueryContext) => AnyNode | AnyNode[];
|
|
6
6
|
export type TagMappings = Record<string, ContentTreeTransform>;
|
|
7
7
|
export default function bodyXMLToTree(xml: string, tagMappings: TagMappings, context?: QueryContext): ContentTree.Body;
|
|
8
8
|
export {};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { TagMappings } from './bodyXMLToTree';
|
|
2
2
|
import { CapiResponse } from '../../model/CapiResponse';
|
|
3
|
+
import type { Cheerio, Element } from 'cheerio';
|
|
3
4
|
declare const articleTagMappings: (capiData?: CapiResponse) => TagMappings;
|
|
4
5
|
declare const liveBlogPostTagMappings: TagMappings;
|
|
5
6
|
declare const commonTagMappings: TagMappings;
|
|
6
|
-
export declare const getBooleanAttributeValue: ($el:
|
|
7
|
+
export declare const getBooleanAttributeValue: ($el: Cheerio<Element>, attribute: string) => boolean;
|
|
7
8
|
export default commonTagMappings;
|
|
8
9
|
export { commonTagMappings, articleTagMappings, liveBlogPostTagMappings };
|
|
@@ -467,7 +467,7 @@ exports.commonTagMappings = commonTagMappings;
|
|
|
467
467
|
//doesn't return the value instead return "autoplay" and "autoplay" = "false"
|
|
468
468
|
//should be interpreted as false
|
|
469
469
|
const getBooleanAttributeValue = ($el, attribute) => {
|
|
470
|
-
const value = $el.get(0)
|
|
470
|
+
const value = $el.get(0)?.attribs[attribute];
|
|
471
471
|
return [null, undefined, 'false', false].includes(value) ? false : true;
|
|
472
472
|
};
|
|
473
473
|
exports.getBooleanAttributeValue = getBooleanAttributeValue;
|