@financial-times/cp-content-pipeline-schema 0.4.7 → 0.5.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 +16 -0
- package/lib/model/CapiResponse.d.ts +2 -2
- package/lib/model/CapiResponse.js +3 -3
- package/lib/model/CapiResponse.js.map +1 -1
- package/lib/model/Image.d.ts +27 -7
- package/lib/model/Image.js +27 -17
- package/lib/model/Image.js.map +1 -1
- package/lib/model/Image.test.js +25 -25
- package/lib/model/Image.test.js.map +1 -1
- package/lib/model/Picture.d.ts +21 -0
- package/lib/model/Picture.js +65 -0
- package/lib/model/Picture.js.map +1 -0
- package/lib/model/Topper.d.ts +2 -2
- package/lib/model/Topper.js +2 -2
- package/lib/model/Topper.js.map +1 -1
- package/lib/picture.d.ts +9 -11
- package/lib/picture.js +7 -35
- package/lib/picture.js.map +1 -1
- package/lib/richText.d.ts +1 -1
- package/lib/richText.js +17 -6
- package/lib/richText.js.map +1 -1
- package/lib/richText.test.js +32 -0
- package/lib/richText.test.js.map +1 -1
- package/lib/tags/ImageSet.d.ts +1 -0
- package/lib/tags/ImageSet.js +19 -3
- package/lib/tags/ImageSet.js.map +1 -1
- package/lib/tags/LayoutImage.js +4 -3
- package/lib/tags/LayoutImage.js.map +1 -1
- package/lib/tags/index.js +2 -1
- package/lib/tags/index.js.map +1 -1
- package/package.json +1 -1
- package/src/__snapshots__/richText.test.ts.snap +2 -17
- package/src/model/CapiResponse.ts +3 -3
- package/src/model/Image.test.ts +25 -25
- package/src/model/Image.ts +41 -10
- package/src/model/Picture.ts +75 -0
- package/src/model/Topper.ts +6 -3
- package/src/picture.ts +11 -47
- package/src/richText.test.ts +42 -0
- package/src/richText.ts +17 -6
- package/src/tags/ImageSet.ts +24 -4
- package/src/tags/LayoutImage.ts +22 -17
- package/src/tags/index.ts +2 -1
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.5.0](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-schema-v0.4.7...cp-content-pipeline-schema-v0.5.0) (2022-12-14)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### ⚠ BREAKING CHANGES
|
|
7
|
+
|
|
8
|
+
* render main image outside of body
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* render main image outside of body ([980ff15](https://github.com/Financial-Times/cp-content-pipeline/commit/980ff15091f7ffd9df5c2dbe99bafc4aea5bb34e))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
* return and expect null from image model methods ([8235c6a](https://github.com/Financial-Times/cp-content-pipeline/commit/8235c6a786b7272599e5e7bc07dc478469701566))
|
|
18
|
+
|
|
3
19
|
## [0.4.7](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-schema-v0.4.6...cp-content-pipeline-schema-v0.4.7) (2022-12-02)
|
|
4
20
|
|
|
5
21
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Article, LiveBlogPackage } from '../types/internal-content.js';
|
|
2
|
-
import {
|
|
2
|
+
import { CAPIImage } from './Image.js';
|
|
3
3
|
import { Concept } from './Concept.js';
|
|
4
4
|
import type { QueryContext } from '../index.js';
|
|
5
5
|
declare type ContentTypeSchemas = Article | LiveBlogPackage;
|
|
@@ -1307,7 +1307,7 @@ export declare class CapiResponse {
|
|
|
1307
1307
|
isScoop(): boolean;
|
|
1308
1308
|
relativeUrl(): string;
|
|
1309
1309
|
type(): "Article" | "LiveBlogPackage" | "LiveBlogPost" | "Audio" | "Video" | "ContentPackage";
|
|
1310
|
-
mainImage():
|
|
1310
|
+
mainImage(): CAPIImage | undefined;
|
|
1311
1311
|
rawCapiData(): ContentTypeSchemas;
|
|
1312
1312
|
getAuthorUrlMapping(): Map<string, string>;
|
|
1313
1313
|
getBrandConcept(): Concept | undefined;
|
|
@@ -6,7 +6,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
6
6
|
var _CapiResponse_instances, _CapiResponse_rawAnnotations, _CapiResponse_createStreamLink;
|
|
7
7
|
import metadata from '@financial-times/n-display-metadata';
|
|
8
8
|
import cloneDeep from 'clone-deep';
|
|
9
|
-
import {
|
|
9
|
+
import { CAPIImage } from './Image.js';
|
|
10
10
|
import { Concept } from './Concept.js';
|
|
11
11
|
import { uuidFromUrl } from '../helpers/metadata.js';
|
|
12
12
|
import { schemas } from './schemas/capi/index.js';
|
|
@@ -141,11 +141,11 @@ export class CapiResponse {
|
|
|
141
141
|
var _a, _b;
|
|
142
142
|
if (((_a = this.capiData.mainImage) === null || _a === void 0 ? void 0 : _a.type) ===
|
|
143
143
|
'http://www.ft.com/ontology/content/Image') {
|
|
144
|
-
return new
|
|
144
|
+
return new CAPIImage(this.capiData.mainImage, this.context);
|
|
145
145
|
}
|
|
146
146
|
else if (((_b = this.capiData.mainImage) === null || _b === void 0 ? void 0 : _b.type) ===
|
|
147
147
|
'http://www.ft.com/ontology/content/ImageSet') {
|
|
148
|
-
return new
|
|
148
|
+
return new CAPIImage(this.capiData.mainImage.members[0], this.context);
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
151
|
rawCapiData() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CapiResponse.js","sourceRoot":"","sources":["../../src/model/CapiResponse.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,QAAQ,MAAM,qCAAqC,CAAA;AAC1D,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"CapiResponse.js","sourceRoot":"","sources":["../../src/model/CapiResponse.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,QAAQ,MAAM,qCAAqC,CAAA;AAC1D,OAAO,SAAS,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGtC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAKjD,MAAM,iBAAiB,GAAG;IACxB,SAAS;IACT,OAAO;IACP,OAAO;IACP,iBAAiB;IACjB,cAAc;IACd,gBAAgB;CACR,CAAA;AAIV,SAAS,kBAAkB,CAAC,IAAY;IACtC,OAAO,iBAAiB,CAAC,QAAQ,CAAC,IAAmB,CAAC,CAAA;AACxD,CAAC;AAED,MAAM,OAAO,YAAY;IACvB,YACU,QAA4B,EAC5B,OAAqB;QADrB,aAAQ,GAAR,QAAQ,CAAoB;QAC5B,YAAO,GAAP,OAAO,CAAc;;IAC5B,CAAC;IACJ,MAAM;QACJ,OAAO,OAAO,CAAC,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,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;IAC7B,CAAC;IACD,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;IAC7B,CAAC;IAID,WAAW;QACT,OAAO,uBAAA,IAAI,6DAAgB,MAApB,IAAI,CAAkB,CAAC,GAAG,CAC/B,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAChD,CAAA;IACH,CAAC;IACD,KAAK;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAA;IAC5B,CAAC;IACD,GAAG;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;IAC7B,CAAC;IACD,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAA;IACvC,CAAC;IACD,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAA;IAC7B,CAAC;IACD,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAA;IAClC,CAAC;IACD,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAA;IAC9B,CAAC;IACD,KAAK;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAA;IAC5B,CAAC;IACD,EAAE;QACA,OAAO,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACtC,CAAC;IACD,UAAU;QACR,IAAI,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAA;SAChC;QACD,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,CAAA;IACzC,CAAC;IACD,gBAAgB;;QACd,OAAO,MAAA,IAAI,CAAC,QAAQ,CAAC,iBAAiB,0CAAE,gBAAgB,CAAA;IAC1D,CAAC;IAED,qBAAqB;QACnB,IAAI,wBAAwB,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC7C,OAAO,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,qBAAqB;gBAC/D,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,qBAAqB;gBAC5D,CAAC,CAAC,IAAI,CAAA;SACT;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,aAAa,CAAC,KAAa;QACzB,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAA;QACnB,OAAO,IAAI,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC;IAED,cAAc,CAAC,KAAiB;QAC9B,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,uBAAA,IAAI,6DAAgB,MAApB,IAAI,CAAkB,EAAE,CAAC,CAAA;QACrE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;QAC7B,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;YACjC,OAAO,SAAS,CAAA;SACjB;aAAM,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,cAAc,CAAC,IAAI,CAAC,EAAE;YAC1C,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;SAC5C;IACH,CAAC;IAED,MAAM;QACJ,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtC,OAAO,IAAI,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC9C,CAAC;IAED,eAAe;;QACb,OAAO,OAAO,CAAC,MAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,0CAAE,aAAa,CAAC,CAAA;IACvD,CAAC;IAED,WAAW;;QACT,OAAO,OAAO,CAAC,MAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,0CAAE,SAAS,CAAC,CAAA;IACnD,CAAC;IAED,OAAO;;QACL,OAAO,OAAO,CAAC,MAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,0CAAE,KAAK,CAAC,CAAA;IAC/C,CAAC;IAED,WAAW;QACT,MAAM,kBAAkB,GAAG,uBAAuB,CAAA;QAClD,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAA;IACnD,CAAC;IAED,IAAI;;QACF,MAAM,UAAU,GAAG,4CAA4C,CAAA;QAC/D,MAAM,IAAI,GAAG,CAAC,MAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,mCAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CACjE,UAAU,EACV,EAAE,CACH,CAAA;QAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;SAClE;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS;;QACP,IACE,CAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,0CAAE,IAAI;YAC7B,0CAA0C,EAC1C;YACA,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;SAC5D;aAAM,IACL,CAAA,MAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,0CAAE,IAAI;YAC7B,6CAA6C,EAC7C;YACA,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;SACvE;IACH,CAAC;IAED,WAAW;QACT,OAAO,SAAS,CAAC,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,MAAM,EAAE,EAAE;YAClD,IAAI,MAAM,CAAC,SAAS,EAAE,EAAE;gBACtB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,uBAAA,IAAI,+DAAkB,MAAtB,IAAI,EAAmB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;aACvE;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,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAA;IACtE,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAC5C,UAAU,CAAC,gBAAgB,EAAE,CAC9B,CAAA;IACH,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAA;IACzE,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,KAAK,CAAC,CAAA;IAC3D,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAC5C,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAC9B,CAAA;IACH,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CACjC,0CAA0C,CAC3C,CAAA;IACH,CAAC;IACD,KAAK,CAAC,QAAQ;QACZ,IAAI,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC/B,OAAO,OAAO,CAAC,GAAG,CAChB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CACpC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAC1D,CACF,CAAA;SACF;QAED,OAAO,IAAI,CAAA;IACb,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,OAAO,QAAQ,CAAC,IAAI,CAClB,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;SACF;QAED,OAAO,EAAE,CAAA;IACX,CAAC;IAED,QAAQ;QACN,IAAI,UAAU,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;SACjC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;CACF;;IA1MG,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAA;AAClC,CAAC,2EA8HiB,UAAkB;IAClC,OAAO,kCAAkC,UAAU,EAAE,CAAA;AACvD,CAAC"}
|
package/lib/model/Image.d.ts
CHANGED
|
@@ -1,9 +1,15 @@
|
|
|
1
|
-
import type { Image as
|
|
1
|
+
import type { Image as InternalContentImage } from '../types/internal-content.js';
|
|
2
2
|
import type { QueryContext } from '../index.js';
|
|
3
3
|
export declare const ImageType: {
|
|
4
4
|
readonly Image: "http://www.ft.com/ontology/content/Image";
|
|
5
5
|
readonly Graphic: "http://www.ft.com/ontology/content/Graphic";
|
|
6
6
|
};
|
|
7
|
+
export declare type ImageTypes = typeof ImageType[keyof typeof ImageType];
|
|
8
|
+
export declare type ImageSource = {
|
|
9
|
+
url: string;
|
|
10
|
+
width?: number;
|
|
11
|
+
dpr?: number;
|
|
12
|
+
};
|
|
7
13
|
export declare type ImageSourceArgs = {
|
|
8
14
|
width: number;
|
|
9
15
|
maxDpr?: number;
|
|
@@ -11,12 +17,26 @@ export declare type ImageSourceArgs = {
|
|
|
11
17
|
export declare type DisplayWidthArgs = {
|
|
12
18
|
width?: number;
|
|
13
19
|
};
|
|
14
|
-
export
|
|
20
|
+
export interface Image {
|
|
21
|
+
type(): ImageTypes;
|
|
22
|
+
caption(): string | null;
|
|
23
|
+
copyright(): string | null;
|
|
24
|
+
alt(): string;
|
|
25
|
+
dimensions(): Promise<{
|
|
26
|
+
width: number;
|
|
27
|
+
height: number;
|
|
28
|
+
} | null>;
|
|
29
|
+
minDisplayWidth(args?: DisplayWidthArgs): string | null;
|
|
30
|
+
maxDisplayWidth(args?: DisplayWidthArgs): string | null;
|
|
31
|
+
sources(args: ImageSourceArgs): Promise<ImageSource[]>;
|
|
32
|
+
}
|
|
33
|
+
export declare class CAPIImage implements Image {
|
|
15
34
|
#private;
|
|
16
35
|
private capiImage;
|
|
17
36
|
private context;
|
|
18
|
-
constructor(capiImage:
|
|
37
|
+
constructor(capiImage: InternalContentImage, context: QueryContext);
|
|
19
38
|
type(): "http://www.ft.com/ontology/content/Image" | "http://www.ft.com/ontology/content/Graphic";
|
|
39
|
+
id(): string;
|
|
20
40
|
sources(args: ImageSourceArgs): Promise<{
|
|
21
41
|
url: string;
|
|
22
42
|
width: number;
|
|
@@ -27,9 +47,9 @@ export declare class Image {
|
|
|
27
47
|
width: number;
|
|
28
48
|
height: number;
|
|
29
49
|
} | null>;
|
|
30
|
-
copyright(): string |
|
|
31
|
-
minDisplayWidth(args?: DisplayWidthArgs): string |
|
|
32
|
-
maxDisplayWidth(args?: DisplayWidthArgs): string |
|
|
33
|
-
caption(): string |
|
|
50
|
+
copyright(): string | null;
|
|
51
|
+
minDisplayWidth(args?: DisplayWidthArgs): string | null;
|
|
52
|
+
maxDisplayWidth(args?: DisplayWidthArgs): string | null;
|
|
53
|
+
caption(): string | null;
|
|
34
54
|
alt(): string;
|
|
35
55
|
}
|
package/lib/model/Image.js
CHANGED
|
@@ -9,7 +9,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
9
9
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
10
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
11
|
};
|
|
12
|
-
var
|
|
12
|
+
var _CAPIImage_systemCode, _CAPIImage_dataSources;
|
|
13
13
|
import { uuidFromUrl } from '../helpers/metadata.js';
|
|
14
14
|
import imageServiceUrl from '../helpers/imageService.js';
|
|
15
15
|
import { logRecoverableError } from '@dotcom-reliability-kit/log-error/lib/index.js';
|
|
@@ -20,24 +20,28 @@ export const ImageType = {
|
|
|
20
20
|
function isError(error) {
|
|
21
21
|
return error instanceof Error;
|
|
22
22
|
}
|
|
23
|
-
export class
|
|
23
|
+
export class CAPIImage {
|
|
24
24
|
constructor(capiImage, context) {
|
|
25
25
|
this.capiImage = capiImage;
|
|
26
26
|
this.context = context;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
__classPrivateFieldSet(this,
|
|
30
|
-
__classPrivateFieldSet(this,
|
|
27
|
+
_CAPIImage_systemCode.set(this, void 0);
|
|
28
|
+
_CAPIImage_dataSources.set(this, void 0);
|
|
29
|
+
__classPrivateFieldSet(this, _CAPIImage_systemCode, context.systemCode, "f");
|
|
30
|
+
__classPrivateFieldSet(this, _CAPIImage_dataSources, context.dataSources, "f");
|
|
31
31
|
}
|
|
32
32
|
type() {
|
|
33
33
|
return this.capiImage.type;
|
|
34
34
|
}
|
|
35
|
-
|
|
36
|
-
const
|
|
37
|
-
if (!
|
|
35
|
+
id() {
|
|
36
|
+
const uuid = uuidFromUrl(this.capiImage.id);
|
|
37
|
+
if (!uuid) {
|
|
38
38
|
throw new Error(`${this.capiImage.id} is not a valid Content API Image ID`);
|
|
39
39
|
}
|
|
40
|
+
return uuid;
|
|
41
|
+
}
|
|
42
|
+
async sources(args) {
|
|
40
43
|
const requestedWidth = args.width || 700;
|
|
44
|
+
const id = this.id();
|
|
41
45
|
let maxAllowedWidth = requestedWidth;
|
|
42
46
|
let maxDpr = 1;
|
|
43
47
|
try {
|
|
@@ -55,7 +59,7 @@ export class Image {
|
|
|
55
59
|
url: imageServiceUrl({
|
|
56
60
|
id,
|
|
57
61
|
url: this.binaryUrl(),
|
|
58
|
-
systemCode: __classPrivateFieldGet(this,
|
|
62
|
+
systemCode: __classPrivateFieldGet(this, _CAPIImage_systemCode, "f"),
|
|
59
63
|
width: maxAllowedWidth,
|
|
60
64
|
dpr,
|
|
61
65
|
}),
|
|
@@ -75,7 +79,7 @@ export class Image {
|
|
|
75
79
|
}
|
|
76
80
|
try {
|
|
77
81
|
const binaryUrl = this.binaryUrl();
|
|
78
|
-
const imageMetadata = await __classPrivateFieldGet(this,
|
|
82
|
+
const imageMetadata = await __classPrivateFieldGet(this, _CAPIImage_dataSources, "f").origami.getImageMetadata(binaryUrl);
|
|
79
83
|
return imageMetadata;
|
|
80
84
|
}
|
|
81
85
|
catch (error) {
|
|
@@ -89,23 +93,29 @@ export class Image {
|
|
|
89
93
|
}
|
|
90
94
|
}
|
|
91
95
|
copyright() {
|
|
92
|
-
var _a;
|
|
93
|
-
return (_a = this.capiImage.copyright) === null || _a === void 0 ? void 0 : _a.notice;
|
|
96
|
+
var _a, _b;
|
|
97
|
+
return (_b = (_a = this.capiImage.copyright) === null || _a === void 0 ? void 0 : _a.notice) !== null && _b !== void 0 ? _b : null;
|
|
94
98
|
}
|
|
95
99
|
minDisplayWidth(args) {
|
|
96
|
-
|
|
100
|
+
var _a;
|
|
101
|
+
return (args === null || args === void 0 ? void 0 : args.width)
|
|
102
|
+
? `${args.width}px`
|
|
103
|
+
: (_a = this.capiImage.minDisplayWidth) !== null && _a !== void 0 ? _a : null;
|
|
97
104
|
}
|
|
98
105
|
maxDisplayWidth(args) {
|
|
99
|
-
|
|
106
|
+
var _a;
|
|
107
|
+
return (args === null || args === void 0 ? void 0 : args.width)
|
|
108
|
+
? `${args.width}px`
|
|
109
|
+
: (_a = this.capiImage.maxDisplayWidth) !== null && _a !== void 0 ? _a : null;
|
|
100
110
|
}
|
|
101
111
|
caption() {
|
|
102
112
|
const elements = [this.capiImage.title, this.copyright()].filter(Boolean);
|
|
103
|
-
return elements.length
|
|
113
|
+
return elements.length ? elements.join(' ') : null;
|
|
104
114
|
}
|
|
105
115
|
alt() {
|
|
106
116
|
const fallback = this.type() === ImageType.Graphic ? 'A graphic with no description' : '';
|
|
107
117
|
return (this.capiImage.description || fallback).replace(/"/g, '"');
|
|
108
118
|
}
|
|
109
119
|
}
|
|
110
|
-
|
|
120
|
+
_CAPIImage_systemCode = new WeakMap(), _CAPIImage_dataSources = new WeakMap();
|
|
111
121
|
//# sourceMappingURL=Image.js.map
|
package/lib/model/Image.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Image.js","sourceRoot":"","sources":["../../src/model/Image.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,eAAe,MAAM,4BAA4B,CAAA;AAIxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAA;AAEpF,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,KAAK,EAAE,0CAA0C;IACjD,OAAO,EAAE,4CAA4C;CAC7C,CAAA;
|
|
1
|
+
{"version":3,"file":"Image.js","sourceRoot":"","sources":["../../src/model/Image.ts"],"names":[],"mappings":"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"}
|
package/lib/model/Image.test.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CAPIImage, ImageType } from './Image.js';
|
|
2
2
|
import { jest } from '@jest/globals';
|
|
3
3
|
describe('Image', () => {
|
|
4
4
|
const mockImage = {
|
|
@@ -31,7 +31,7 @@ describe('Image', () => {
|
|
|
31
31
|
let sources;
|
|
32
32
|
beforeAll(async () => {
|
|
33
33
|
getImageMetadata.mockReturnValue({ width: 5000, height: 1000 });
|
|
34
|
-
const model = new
|
|
34
|
+
const model = new CAPIImage(mockImage, context);
|
|
35
35
|
sources = await model.sources({ width: 1000 });
|
|
36
36
|
});
|
|
37
37
|
it('transforms the URL to use the Origami Image Service', () => {
|
|
@@ -51,7 +51,7 @@ describe('Image', () => {
|
|
|
51
51
|
describe("An image that that isn't wide enough to generate high-resolution sources for", () => {
|
|
52
52
|
it('returns an array with a single resolution iamge service UR', async () => {
|
|
53
53
|
getImageMetadata.mockReturnValue({ width: 1500, height: 500 });
|
|
54
|
-
const model = new
|
|
54
|
+
const model = new CAPIImage(mockImage, context);
|
|
55
55
|
const sources = await model.sources({ width: 1000 });
|
|
56
56
|
expect(sources.length).toEqual(1);
|
|
57
57
|
expect(sources[0]).toEqual({
|
|
@@ -64,7 +64,7 @@ describe('Image', () => {
|
|
|
64
64
|
describe('An image that that is smaller than the width that was requested', () => {
|
|
65
65
|
it('returns the image at the same width as the original', async () => {
|
|
66
66
|
getImageMetadata.mockReturnValue({ width: 500, height: 500 });
|
|
67
|
-
const model = new
|
|
67
|
+
const model = new CAPIImage(mockImage, context);
|
|
68
68
|
const sources = await model.sources({ width: 1000 });
|
|
69
69
|
expect(sources.length).toEqual(1);
|
|
70
70
|
expect(sources[0]).toEqual({
|
|
@@ -77,7 +77,7 @@ describe('Image', () => {
|
|
|
77
77
|
describe('A large image with the maxDpr argumet passed', () => {
|
|
78
78
|
it('only returns sources up to and including the maxDpr', async () => {
|
|
79
79
|
getImageMetadata.mockReturnValue({ width: 5000, height: 500 });
|
|
80
|
-
const model = new
|
|
80
|
+
const model = new CAPIImage(mockImage, context);
|
|
81
81
|
const sources = await model.sources({ width: 1000, maxDpr: 2 });
|
|
82
82
|
expect(sources.length).toEqual(2);
|
|
83
83
|
expect(sources[0].dpr).toEqual(1);
|
|
@@ -93,7 +93,7 @@ describe('Image', () => {
|
|
|
93
93
|
description: '',
|
|
94
94
|
binaryUrl: '',
|
|
95
95
|
};
|
|
96
|
-
const model = new
|
|
96
|
+
const model = new CAPIImage(invalidImage, context);
|
|
97
97
|
await expect(model.sources({ width: 1000, maxDpr: 2 })).rejects.toThrow('not-a-uuid is not a valid Content API Image ID');
|
|
98
98
|
expect(getImageMetadata).not.toHaveBeenCalled();
|
|
99
99
|
});
|
|
@@ -102,7 +102,7 @@ describe('Image', () => {
|
|
|
102
102
|
let sources;
|
|
103
103
|
beforeEach(async () => {
|
|
104
104
|
getImageMetadata.mockRejectedValue(null);
|
|
105
|
-
const model = new
|
|
105
|
+
const model = new CAPIImage(mockImage, context);
|
|
106
106
|
sources = await model.sources({ width: 3000 });
|
|
107
107
|
});
|
|
108
108
|
it('passes the requested width to the image service', async () => {
|
|
@@ -120,14 +120,14 @@ describe('Image', () => {
|
|
|
120
120
|
describe('originalWidth/originalHeight', () => {
|
|
121
121
|
it('returns the original width and height from the image service metadata', async () => {
|
|
122
122
|
getImageMetadata.mockReturnValue({ width: 100, height: 200 });
|
|
123
|
-
const model = new
|
|
123
|
+
const model = new CAPIImage(mockImage, context);
|
|
124
124
|
const { width, height } = (await model.dimensions()) || {};
|
|
125
125
|
expect(width).toEqual(100);
|
|
126
126
|
expect(height).toEqual(200);
|
|
127
127
|
});
|
|
128
128
|
it('returns null if the image service metadata call fails', async () => {
|
|
129
129
|
getImageMetadata.mockRejectedValue(null);
|
|
130
|
-
const model = new
|
|
130
|
+
const model = new CAPIImage(mockImage, context);
|
|
131
131
|
const dimensions = await model.dimensions();
|
|
132
132
|
expect(dimensions).toEqual(null);
|
|
133
133
|
});
|
|
@@ -138,7 +138,7 @@ describe('Image', () => {
|
|
|
138
138
|
...mockImage,
|
|
139
139
|
minDisplayWidth: '980px',
|
|
140
140
|
};
|
|
141
|
-
const model = new
|
|
141
|
+
const model = new CAPIImage(imageWithDisplayWidth, context);
|
|
142
142
|
const minDisplayWidth = model.minDisplayWidth({
|
|
143
143
|
width: 500,
|
|
144
144
|
});
|
|
@@ -154,18 +154,18 @@ describe('Image', () => {
|
|
|
154
154
|
minDisplayWidth: '490px',
|
|
155
155
|
maxDisplayWidth: '980px',
|
|
156
156
|
};
|
|
157
|
-
const model = new
|
|
157
|
+
const model = new CAPIImage(imageWithDisplayWidth, context);
|
|
158
158
|
const minDisplayWidth = model.minDisplayWidth({});
|
|
159
159
|
const maxDisplayWidth = model.maxDisplayWidth({});
|
|
160
160
|
expect(minDisplayWidth).toEqual('490px');
|
|
161
161
|
expect(maxDisplayWidth).toEqual('980px');
|
|
162
162
|
});
|
|
163
|
-
it('returns
|
|
164
|
-
const model = new
|
|
163
|
+
it('returns null if no values supplied or in content API response ', () => {
|
|
164
|
+
const model = new CAPIImage(mockImage, context);
|
|
165
165
|
const minDisplayWidth = model.minDisplayWidth();
|
|
166
166
|
const maxDisplayWidth = model.maxDisplayWidth();
|
|
167
|
-
expect(minDisplayWidth).
|
|
168
|
-
expect(maxDisplayWidth).
|
|
167
|
+
expect(minDisplayWidth).toBeNull();
|
|
168
|
+
expect(maxDisplayWidth).toBeNull();
|
|
169
169
|
});
|
|
170
170
|
});
|
|
171
171
|
describe('caption', () => {
|
|
@@ -174,12 +174,12 @@ describe('Image', () => {
|
|
|
174
174
|
...mockImage,
|
|
175
175
|
copyright: { notice: '© credit' },
|
|
176
176
|
};
|
|
177
|
-
const model = new
|
|
177
|
+
const model = new CAPIImage(imageWithCopyright, context);
|
|
178
178
|
const caption = model.caption();
|
|
179
179
|
expect(caption).toBe('title © credit');
|
|
180
180
|
});
|
|
181
181
|
it('returns just the caption if there is no copright', () => {
|
|
182
|
-
const model = new
|
|
182
|
+
const model = new CAPIImage(mockImage, context);
|
|
183
183
|
const caption = model.caption();
|
|
184
184
|
expect(caption).toBe('title');
|
|
185
185
|
});
|
|
@@ -190,38 +190,38 @@ describe('Image', () => {
|
|
|
190
190
|
...mockImage,
|
|
191
191
|
copyright: { notice: '© credit' },
|
|
192
192
|
};
|
|
193
|
-
const model = new
|
|
193
|
+
const model = new CAPIImage(imageWithCopyright, context);
|
|
194
194
|
const copyright = model.copyright();
|
|
195
195
|
expect(copyright).toBe('© credit');
|
|
196
196
|
});
|
|
197
|
-
it('returns
|
|
198
|
-
const model = new
|
|
197
|
+
it('returns null if no copyright', () => {
|
|
198
|
+
const model = new CAPIImage(mockImage, context);
|
|
199
199
|
const copyright = model.copyright();
|
|
200
|
-
expect(copyright).
|
|
200
|
+
expect(copyright).toBeNull();
|
|
201
201
|
});
|
|
202
202
|
});
|
|
203
203
|
describe('alt', () => {
|
|
204
204
|
it('uses the description if it exists', () => {
|
|
205
|
-
const model = new
|
|
205
|
+
const model = new CAPIImage(mockImage, context);
|
|
206
206
|
const alt = model.alt();
|
|
207
207
|
expect(alt).toBe('description');
|
|
208
208
|
});
|
|
209
209
|
it('escapes double quotes', () => {
|
|
210
|
-
const alt = new
|
|
210
|
+
const alt = new CAPIImage({
|
|
211
211
|
...mockImage,
|
|
212
212
|
description: 'This is a "quoted" description',
|
|
213
213
|
}, context).alt();
|
|
214
214
|
expect(alt).toBe('This is a "quoted" description');
|
|
215
215
|
});
|
|
216
216
|
it("returns an empty string for images with no description, so screen readers don't read out the URL", () => {
|
|
217
|
-
const alt = new
|
|
217
|
+
const alt = new CAPIImage({
|
|
218
218
|
...mockImage,
|
|
219
219
|
description: '',
|
|
220
220
|
}, context).alt();
|
|
221
221
|
expect(alt).toBe('');
|
|
222
222
|
});
|
|
223
223
|
it('returns an default alt text for graphics with no description, as they are not considered presentational', () => {
|
|
224
|
-
const alt = new
|
|
224
|
+
const alt = new CAPIImage({
|
|
225
225
|
...graphic,
|
|
226
226
|
description: '',
|
|
227
227
|
}, context).alt();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Image.test.js","sourceRoot":"","sources":["../../src/model/Image.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Image.test.js","sourceRoot":"","sources":["../../src/model/Image.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { QueryContext } from '../index.js';
|
|
2
|
+
import { ImageSet } from '../types/internal-content.js';
|
|
3
|
+
import { CAPIImage } from './Image.js';
|
|
4
|
+
declare type PictureImages = {
|
|
5
|
+
standard: CAPIImage;
|
|
6
|
+
small?: CAPIImage;
|
|
7
|
+
large?: CAPIImage;
|
|
8
|
+
};
|
|
9
|
+
declare type PictureType = 'PictureStandard' | 'PictureInline' | 'PictureFullBleed';
|
|
10
|
+
export declare class Picture {
|
|
11
|
+
#private;
|
|
12
|
+
private imageSet;
|
|
13
|
+
private context;
|
|
14
|
+
constructor(imageSet: ImageSet, context: QueryContext);
|
|
15
|
+
standard(): CAPIImage;
|
|
16
|
+
private large;
|
|
17
|
+
private small;
|
|
18
|
+
images(): PictureImages;
|
|
19
|
+
type(): Promise<PictureType>;
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
+
};
|
|
6
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
7
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
10
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
11
|
+
};
|
|
12
|
+
var _Picture_standard, _Picture_large, _Picture_small;
|
|
13
|
+
import { CAPIImage } from './Image.js';
|
|
14
|
+
export class Picture {
|
|
15
|
+
constructor(imageSet, context) {
|
|
16
|
+
this.imageSet = imageSet;
|
|
17
|
+
this.context = context;
|
|
18
|
+
_Picture_standard.set(this, void 0);
|
|
19
|
+
_Picture_large.set(this, void 0);
|
|
20
|
+
_Picture_small.set(this, void 0);
|
|
21
|
+
}
|
|
22
|
+
standard() {
|
|
23
|
+
if (!__classPrivateFieldGet(this, _Picture_standard, "f")) {
|
|
24
|
+
const standard = this.imageSet.members[0];
|
|
25
|
+
__classPrivateFieldSet(this, _Picture_standard, new CAPIImage(standard, this.context), "f");
|
|
26
|
+
}
|
|
27
|
+
return __classPrivateFieldGet(this, _Picture_standard, "f");
|
|
28
|
+
}
|
|
29
|
+
large() {
|
|
30
|
+
if (!__classPrivateFieldGet(this, _Picture_large, "f")) {
|
|
31
|
+
const large = this.imageSet.members.find((member) => member.minDisplayWidth === '980px');
|
|
32
|
+
__classPrivateFieldSet(this, _Picture_large, large ? new CAPIImage(large, this.context) : undefined, "f");
|
|
33
|
+
}
|
|
34
|
+
return __classPrivateFieldGet(this, _Picture_large, "f");
|
|
35
|
+
}
|
|
36
|
+
small() {
|
|
37
|
+
if (!__classPrivateFieldGet(this, _Picture_small, "f")) {
|
|
38
|
+
const small = this.imageSet.members.find((member) => member.maxDisplayWidth === '490px');
|
|
39
|
+
__classPrivateFieldSet(this, _Picture_small, small ? new CAPIImage(small, this.context) : undefined, "f");
|
|
40
|
+
}
|
|
41
|
+
return __classPrivateFieldGet(this, _Picture_small, "f");
|
|
42
|
+
}
|
|
43
|
+
images() {
|
|
44
|
+
return {
|
|
45
|
+
standard: this.standard(),
|
|
46
|
+
small: this.small(),
|
|
47
|
+
large: this.large(),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
async type() {
|
|
51
|
+
//TODO: actually work out the types
|
|
52
|
+
if (this.imageSet.members.length === 3)
|
|
53
|
+
return 'PictureFullBleed';
|
|
54
|
+
const dimensions = await this.standard().dimensions();
|
|
55
|
+
if (dimensions) {
|
|
56
|
+
const { width, height } = dimensions;
|
|
57
|
+
if (width < 350 || (width < height && width < 580)) {
|
|
58
|
+
return 'PictureInline';
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return 'PictureStandard';
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
_Picture_standard = new WeakMap(), _Picture_large = new WeakMap(), _Picture_small = new WeakMap();
|
|
65
|
+
//# sourceMappingURL=Picture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Picture.js","sourceRoot":"","sources":["../../src/model/Picture.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,OAAO,EAAE,SAAS,EAAc,MAAM,YAAY,CAAA;AAUlD,MAAM,OAAO,OAAO;IAClB,YAAoB,QAAkB,EAAU,OAAqB;QAAjD,aAAQ,GAAR,QAAQ,CAAU;QAAU,YAAO,GAAP,OAAO,CAAc;QAErE,oCAAqB;QACrB,iCAAkB;QAClB,iCAAkB;IAJsD,CAAC;IAMzE,QAAQ;QACN,IAAI,CAAC,uBAAA,IAAI,yBAAU,EAAE;YACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YACzC,uBAAA,IAAI,qBAAa,IAAI,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,MAAA,CAAA;SACvD;QAED,OAAO,uBAAA,IAAI,yBAAU,CAAA;IACvB,CAAC;IAEO,KAAK;QACX,IAAI,CAAC,uBAAA,IAAI,sBAAO,EAAE;YAChB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CACtC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,KAAK,OAAO,CAC/C,CAAA;YAED,uBAAA,IAAI,kBAAU,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,MAAA,CAAA;SACrE;QAED,OAAO,uBAAA,IAAI,sBAAO,CAAA;IACpB,CAAC;IAEO,KAAK;QACX,IAAI,CAAC,uBAAA,IAAI,sBAAO,EAAE;YAChB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CACtC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,KAAK,OAAO,CAC/C,CAAA;YACD,uBAAA,IAAI,kBAAU,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,MAAA,CAAA;SACrE;QAED,OAAO,uBAAA,IAAI,sBAAO,CAAA;IACpB,CAAC;IAED,MAAM;QACJ,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;SACpB,CAAA;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,mCAAmC;QACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,kBAAkB,CAAA;QAEjE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,CAAA;QAErD,IAAI,UAAU,EAAE;YACd,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;YACpC,IAAI,KAAK,GAAG,GAAG,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,KAAK,GAAG,GAAG,CAAC,EAAE;gBAClD,OAAO,eAAe,CAAA;aACvB;SACF;QAED,OAAO,iBAAiB,CAAA;IAC1B,CAAC;CACF"}
|
package/lib/model/Topper.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CapiResponse } from './CapiResponse.js';
|
|
2
|
-
import {
|
|
2
|
+
import { CAPIImage } from './Image.js';
|
|
3
3
|
import type { QueryContext } from '../index.js';
|
|
4
4
|
declare type TopperType = 'SplitTextTopper' | 'FullBleedTopper' | 'OpinionTopper' | 'BrandedTopper' | 'BasicTopper';
|
|
5
5
|
declare type TopperIntro = {
|
|
@@ -14,7 +14,7 @@ export declare class Topper {
|
|
|
14
14
|
headline(): string;
|
|
15
15
|
type(): TopperType;
|
|
16
16
|
images(): {
|
|
17
|
-
[type: string]:
|
|
17
|
+
[type: string]: CAPIImage;
|
|
18
18
|
};
|
|
19
19
|
isLargeHeadline(): boolean;
|
|
20
20
|
layout(): string;
|
package/lib/model/Topper.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { CAPIImage } from './Image.js';
|
|
2
2
|
export class Topper {
|
|
3
3
|
constructor(capiResponse, context) {
|
|
4
4
|
this.capiResponse = capiResponse;
|
|
@@ -40,7 +40,7 @@ export class Topper {
|
|
|
40
40
|
images() {
|
|
41
41
|
const groupedImages = {};
|
|
42
42
|
this.capiResponse.leadImages().forEach((leadImage) => {
|
|
43
|
-
groupedImages[leadImage.type] = new
|
|
43
|
+
groupedImages[leadImage.type] = new CAPIImage(leadImage.image, this.context);
|
|
44
44
|
});
|
|
45
45
|
const mainImage = this.capiResponse.mainImage();
|
|
46
46
|
if (mainImage !== undefined) {
|
package/lib/model/Topper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Topper.js","sourceRoot":"","sources":["../../src/model/Topper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Topper.js","sourceRoot":"","sources":["../../src/model/Topper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAYtC,MAAM,OAAO,MAAM;IACjB,YACU,YAA0B,EAC1B,OAAqB;QADrB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,YAAO,GAAP,OAAO,CAAc;IAC5B,CAAC;IAEJ,KAAK;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAA;QAC3C,OAAO,OAAO;YACZ,CAAC,CAAC;gBACE,KAAK,EAAE,OAAO,CAAC,OAAO;gBACtB,MAAM,EAAE,SAAS;aAClB;YACH,CAAC,CAAC;gBACE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;gBACrC,MAAM,EAAE,YAAY;aACrB,CAAA;IACP,CAAC;IAED,QAAQ;;QACN,OAAO,CAAA,MAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,0CAAE,QAAQ,KAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAA;IAC1E,CAAC;IAED,IAAI;;QACF,IAAI,MAAA,MAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,0CAAE,MAAM,0CAAE,UAAU,CAAC,OAAO,CAAC,EAAE;YAC3D,OAAO,iBAAiB,CAAA;SACzB;QAED,IACE,CAAA,MAAA,MAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,0CAAE,MAAM,0CAAE,UAAU,CAAC,YAAY,CAAC;YAC5D,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,iBAAiB,EAC9C;YACA,OAAO,iBAAiB,CAAA;SACzB;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE;YACjC,OAAO,eAAe,CAAA;SACvB;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,EAAE;YACvC,OAAO,eAAe,CAAA;SACvB;QAED,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,MAAM;QACJ,MAAM,aAAa,GAAkC,EAAE,CAAA;QAEvD,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACnD,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,SAAS,CAC3C,SAAS,CAAC,KAAK,EACf,IAAI,CAAC,OAAO,CACb,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAA;QAE/C,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,aAAa,CAAC,QAAQ,GAAG,SAAS,CAAA;SACnC;QAED,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,eAAe;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QACxB,OAAO,IAAI,KAAK,iBAAiB,IAAI,IAAI,KAAK,iBAAiB,CAAA;IACjE,CAAC;IAED,MAAM;;QACJ,OAAO,CAAA,MAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,0CAAE,MAAM,KAAI,SAAS,CAAA;IACxD,CAAC;IAED,gBAAgB;;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QACxB,IAAI,IAAI,KAAK,eAAe,EAAE;YAC5B,OAAO,KAAK,CAAA;SACb;QAED,IAAI,IAAI,KAAK,eAAe,EAAE;YAC5B,OAAO,OAAO,CAAA;SACf;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,iBAAiB,EAAE;YAClD,OAAO,OAAO,CAAA;SACf;QAED,MAAM,gBAAgB,GAAG,MAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,0CAAE,gBAAgB,CAAA;QACrE,IAAI,gBAAgB,KAAK,MAAM,IAAI,gBAAgB,KAAK,MAAM,EAAE;YAC9D,OAAO,OAAO,CAAA;SACf;aAAM,IAAI,gBAAgB,KAAK,MAAM,EAAE;YACtC,OAAO,QAAQ,CAAA;SAChB;QAED,OAAO,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,OAAO,CAAA;IACpC,CAAC;IAED,cAAc;QACZ,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;QACxC,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAA;QAE5D,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE;YACjC,OAAO,YAAY,IAAI,cAAc,CAAA;SACtC;QACD,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,SAAS;QACP,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE;YAChC,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAA;SACzC;IACH,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAA;IAC5C,CAAC;CACF"}
|