@financial-times/cp-content-pipeline-schema 1.2.4 → 1.3.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.
Files changed (51) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/lib/generated/index.d.ts +14 -3
  3. package/lib/helpers/decorateHeadshotUrl.d.ts +3 -0
  4. package/lib/helpers/decorateHeadshotUrl.js +39 -0
  5. package/lib/helpers/decorateHeadshotUrl.js.map +1 -0
  6. package/lib/model/Concept.js +44 -14
  7. package/lib/model/Concept.js.map +1 -1
  8. package/lib/model/Concept.test.js +2 -2
  9. package/lib/model/Concept.test.js.map +1 -1
  10. package/lib/model/Picture.js +2 -0
  11. package/lib/model/Picture.js.map +1 -1
  12. package/lib/model/Topper.d.ts +1 -1
  13. package/lib/model/Topper.js +18 -11
  14. package/lib/model/Topper.js.map +1 -1
  15. package/lib/model/schemas/capi/article.d.ts +5 -0
  16. package/lib/model/schemas/capi/audio.d.ts +5 -0
  17. package/lib/model/schemas/capi/base-schema.d.ts +32 -0
  18. package/lib/model/schemas/capi/base-schema.js +1 -0
  19. package/lib/model/schemas/capi/base-schema.js.map +1 -1
  20. package/lib/model/schemas/capi/content-package.d.ts +5 -0
  21. package/lib/model/schemas/capi/live-blog-package.d.ts +5 -0
  22. package/lib/model/schemas/capi/placeholder.d.ts +5 -0
  23. package/lib/resolvers/content-tree/Workarounds.d.ts +5 -1
  24. package/lib/resolvers/content-tree/nodePredicates.d.ts +3 -3
  25. package/lib/resolvers/content-tree/references/ImageSet.js +1 -1
  26. package/lib/resolvers/content-tree/references/ImageSet.js.map +1 -1
  27. package/lib/resolvers/content-tree/tagMappings.js +16 -0
  28. package/lib/resolvers/content-tree/tagMappings.js.map +1 -1
  29. package/lib/resolvers/content.d.ts +3 -0
  30. package/lib/resolvers/content.js +3 -0
  31. package/lib/resolvers/content.js.map +1 -1
  32. package/lib/resolvers/index.d.ts +6 -2
  33. package/lib/resolvers/topper.d.ts +3 -2
  34. package/lib/resolvers/topper.js +2 -3
  35. package/lib/resolvers/topper.js.map +1 -1
  36. package/package.json +1 -1
  37. package/src/generated/index.ts +11 -3
  38. package/src/helpers/decorateHeadshotUrl.ts +47 -0
  39. package/src/model/Concept.test.ts +2 -4
  40. package/src/model/Concept.ts +22 -17
  41. package/src/model/Picture.ts +3 -0
  42. package/src/model/Topper.ts +26 -12
  43. package/src/model/schemas/capi/base-schema.ts +1 -0
  44. package/src/resolvers/content-tree/Workarounds.ts +6 -0
  45. package/src/resolvers/content-tree/references/ImageSet.ts +1 -1
  46. package/src/resolvers/content-tree/tagMappings.ts +18 -0
  47. package/src/resolvers/content.ts +5 -0
  48. package/src/resolvers/topper.ts +2 -3
  49. package/tsconfig.tsbuildinfo +1 -1
  50. package/typedefs/content.graphql +1 -0
  51. package/typedefs/topper.graphql +3 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.3.1](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-schema-v1.3.0...cp-content-pipeline-schema-v1.3.1) (2023-09-13)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * add missing header in topper for letters ([09a9d58](https://github.com/Financial-Times/cp-content-pipeline/commit/09a9d58a32da6ba83bfa7bee7c17b81f4be23371))
9
+ * be even more defensive about constructing picture models ([5134905](https://github.com/Financial-Times/cp-content-pipeline/commit/5134905d19545473492774418cf24577fe7fd970))
10
+ * opinion topper theme and metadata ([5deb513](https://github.com/Financial-Times/cp-content-pipeline/commit/5deb513c79c3f13a9edb2de7bb8a958052df76a0))
11
+
12
+ ## [1.3.0](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-schema-v1.2.4...cp-content-pipeline-schema-v1.3.0) (2023-09-12)
13
+
14
+
15
+ ### Features
16
+
17
+ * parse ft-related tag as a recommended link ([643597f](https://github.com/Financial-Times/cp-content-pipeline/commit/643597fbdfe9cb733ee6c99d6d471d8e65e208d8))
18
+ * parse video links as a youtube video node ([d3a9939](https://github.com/Financial-Times/cp-content-pipeline/commit/d3a9939449e71a16cb9eb8699995c2f336f2acb3))
19
+
20
+
21
+ ### Bug Fixes
22
+
23
+ * add containedIn to LiveBlogPost type ([4f9180c](https://github.com/Financial-Times/cp-content-pipeline/commit/4f9180c251576a7adf871187395da701cfae0997))
24
+
3
25
  ## [1.2.4](https://github.com/Financial-Times/cp-content-pipeline/compare/cp-content-pipeline-schema-v1.2.3...cp-content-pipeline-schema-v1.2.4) (2023-09-07)
4
26
 
5
27
 
@@ -168,6 +168,7 @@ export type BasicTopper = Topper & {
168
168
  readonly backgroundColour?: Maybe<Scalars['TopperBackgroundColour']['output']>;
169
169
  readonly displayConcept?: Maybe<Concept>;
170
170
  readonly followButtonVariant?: Maybe<Scalars['FollowButtonVariant']['output']>;
171
+ readonly genreConcept?: Maybe<Concept>;
171
172
  readonly headline: Scalars['String']['output'];
172
173
  readonly intro?: Maybe<RichText>;
173
174
  readonly textShadow?: Maybe<Scalars['Boolean']['output']>;
@@ -547,6 +548,7 @@ export type LiveBlogPost = Content & {
547
548
  readonly byline?: Maybe<StructuredContent>;
548
549
  readonly canBeSyndicated?: Maybe<Scalars['CanBeSyndicated']['output']>;
549
550
  readonly commentsEnabled?: Maybe<Scalars['Boolean']['output']>;
551
+ readonly containedIn?: Maybe<Content>;
550
552
  readonly design?: Maybe<Design>;
551
553
  readonly firstPublishedDate: Scalars['String']['output'];
552
554
  readonly id: Scalars['String']['output'];
@@ -588,6 +590,7 @@ export type OpinionTopper = Topper & TopperWithHeadshot & TopperWithTheme & {
588
590
  readonly columnist?: Maybe<Concept>;
589
591
  readonly displayConcept?: Maybe<Concept>;
590
592
  readonly followButtonVariant?: Maybe<Scalars['FollowButtonVariant']['output']>;
593
+ readonly genreConcept?: Maybe<Concept>;
591
594
  readonly headline: Scalars['String']['output'];
592
595
  readonly headshot?: Maybe<Scalars['String']['output']>;
593
596
  readonly intro?: Maybe<RichText>;
@@ -764,6 +767,7 @@ export type Topper = {
764
767
  readonly backgroundColour?: Maybe<Scalars['TopperBackgroundColour']['output']>;
765
768
  readonly displayConcept?: Maybe<Concept>;
766
769
  readonly followButtonVariant?: Maybe<Scalars['FollowButtonVariant']['output']>;
770
+ readonly genreConcept?: Maybe<Concept>;
767
771
  readonly headline: Scalars['String']['output'];
768
772
  readonly intro?: Maybe<RichText>;
769
773
  readonly textShadow?: Maybe<Scalars['Boolean']['output']>;
@@ -871,8 +875,9 @@ export type ResolversInterfaceTypes<RefType extends Record<string, unknown>> = R
871
875
  images: ReadonlyArray<RefType['Image']>;
872
876
  });
873
877
  Reference: (ReferenceWithCAPIData<ContentTree.Flourish>) | (ReferenceWithCAPIData<ContentTree.ImageSet>) | (ReferenceWithCAPIData<ContentTree.LayoutImage>) | (ReferenceWithCAPIData<ContentTree.ImageSet>) | (ReferenceWithCAPIData<RawImageNode>) | (ReferenceWithCAPIData<ContentTree.Recommended>) | (ReferenceWithCAPIData<ContentTree.ScrollyImage>) | (ReferenceWithCAPIData<ContentTree.Tweet>) | (ReferenceWithCAPIData<VideoNode>);
874
- Topper: (Omit<BasicTopper, 'displayConcept' | 'intro'> & {
878
+ Topper: (Omit<BasicTopper, 'displayConcept' | 'genreConcept' | 'intro'> & {
875
879
  displayConcept?: Maybe<RefType['Concept']>;
880
+ genreConcept?: Maybe<RefType['Concept']>;
876
881
  intro?: Maybe<RefType['RichText']>;
877
882
  }) | (Omit<BrandedTopper, 'brandConcept' | 'displayConcept' | 'genreConcept' | 'intro'> & {
878
883
  brandConcept?: Maybe<RefType['Concept']>;
@@ -1022,8 +1027,9 @@ export type ResolversTypes = ResolversObject<{
1022
1027
  AltTitle: ResolverTypeWrapper<AltTitle>;
1023
1028
  Article: ResolverTypeWrapper<CapiResponse>;
1024
1029
  Audio: ResolverTypeWrapper<CapiResponse>;
1025
- BasicTopper: ResolverTypeWrapper<Omit<BasicTopper, 'displayConcept' | 'intro'> & {
1030
+ BasicTopper: ResolverTypeWrapper<Omit<BasicTopper, 'displayConcept' | 'genreConcept' | 'intro'> & {
1026
1031
  displayConcept?: Maybe<ResolversTypes['Concept']>;
1032
+ genreConcept?: Maybe<ResolversTypes['Concept']>;
1027
1033
  intro?: Maybe<ResolversTypes['RichText']>;
1028
1034
  }>;
1029
1035
  Boolean: ResolverTypeWrapper<Scalars['Boolean']['output']>;
@@ -1146,8 +1152,9 @@ export type ResolversParentTypes = ResolversObject<{
1146
1152
  AltTitle: AltTitle;
1147
1153
  Article: CapiResponse;
1148
1154
  Audio: CapiResponse;
1149
- BasicTopper: Omit<BasicTopper, 'displayConcept' | 'intro'> & {
1155
+ BasicTopper: Omit<BasicTopper, 'displayConcept' | 'genreConcept' | 'intro'> & {
1150
1156
  displayConcept?: Maybe<ResolversParentTypes['Concept']>;
1157
+ genreConcept?: Maybe<ResolversParentTypes['Concept']>;
1151
1158
  intro?: Maybe<ResolversParentTypes['RichText']>;
1152
1159
  };
1153
1160
  Boolean: Scalars['Boolean']['output'];
@@ -1327,6 +1334,7 @@ export type BasicTopperResolvers<ContextType = QueryContext, ParentType extends
1327
1334
  backgroundColour?: Resolver<Maybe<ResolversTypes['TopperBackgroundColour']>, ParentType, ContextType>;
1328
1335
  displayConcept?: Resolver<Maybe<ResolversTypes['Concept']>, ParentType, ContextType>;
1329
1336
  followButtonVariant?: Resolver<Maybe<ResolversTypes['FollowButtonVariant']>, ParentType, ContextType>;
1337
+ genreConcept?: Resolver<Maybe<ResolversTypes['Concept']>, ParentType, ContextType>;
1330
1338
  headline?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
1331
1339
  intro?: Resolver<Maybe<ResolversTypes['RichText']>, ParentType, ContextType>;
1332
1340
  textShadow?: Resolver<Maybe<ResolversTypes['Boolean']>, ParentType, ContextType>;
@@ -1681,6 +1689,7 @@ export type LiveBlogPostResolvers<ContextType = QueryContext, ParentType extends
1681
1689
  byline?: Resolver<Maybe<ResolversTypes['StructuredContent']>, ParentType, ContextType, Partial<LiveBlogPostBylineArgs>>;
1682
1690
  canBeSyndicated?: Resolver<Maybe<ResolversTypes['CanBeSyndicated']>, ParentType, ContextType>;
1683
1691
  commentsEnabled?: Resolver<Maybe<ResolversTypes['Boolean']>, ParentType, ContextType>;
1692
+ containedIn?: Resolver<Maybe<ResolversTypes['Content']>, ParentType, ContextType>;
1684
1693
  design?: Resolver<Maybe<ResolversTypes['Design']>, ParentType, ContextType>;
1685
1694
  firstPublishedDate?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
1686
1695
  id?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
@@ -1715,6 +1724,7 @@ export type OpinionTopperResolvers<ContextType = QueryContext, ParentType extend
1715
1724
  columnist?: Resolver<Maybe<ResolversTypes['Concept']>, ParentType, ContextType>;
1716
1725
  displayConcept?: Resolver<Maybe<ResolversTypes['Concept']>, ParentType, ContextType>;
1717
1726
  followButtonVariant?: Resolver<Maybe<ResolversTypes['FollowButtonVariant']>, ParentType, ContextType>;
1727
+ genreConcept?: Resolver<Maybe<ResolversTypes['Concept']>, ParentType, ContextType>;
1718
1728
  headline?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
1719
1729
  headshot?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType, Partial<OpinionTopperHeadshotArgs>>;
1720
1730
  intro?: Resolver<Maybe<ResolversTypes['RichText']>, ParentType, ContextType>;
@@ -1890,6 +1900,7 @@ export type TopperResolvers<ContextType = QueryContext, ParentType extends Resol
1890
1900
  backgroundColour?: Resolver<Maybe<ResolversTypes['TopperBackgroundColour']>, ParentType, ContextType>;
1891
1901
  displayConcept?: Resolver<Maybe<ResolversTypes['Concept']>, ParentType, ContextType>;
1892
1902
  followButtonVariant?: Resolver<Maybe<ResolversTypes['FollowButtonVariant']>, ParentType, ContextType>;
1903
+ genreConcept?: Resolver<Maybe<ResolversTypes['Concept']>, ParentType, ContextType>;
1893
1904
  headline?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
1894
1905
  intro?: Resolver<Maybe<ResolversTypes['RichText']>, ParentType, ContextType>;
1895
1906
  textShadow?: Resolver<Maybe<ResolversTypes['Boolean']>, ParentType, ContextType>;
@@ -0,0 +1,3 @@
1
+ import { CapiPerson } from '../types/internal-content';
2
+ export declare const UUID_REGEX: RegExp;
3
+ export default function decorateHeadshotUrl(person: CapiPerson): string | null | undefined;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UUID_REGEX = void 0;
4
+ 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
+ const IMAGESET_REGEX = /fthead(?:-v\d)?\:[^?]+/;
6
+ function decorateHeadshotUrl(person) {
7
+ const url = person?._imageUrl;
8
+ if (!url)
9
+ return null;
10
+ if (isCloudfrontUrl(url)) {
11
+ return url;
12
+ }
13
+ const ftcmsMatch = executeFtcmsMatch(url);
14
+ if (ftcmsMatch) {
15
+ return `ftcms:${ftcmsMatch.pop()}`;
16
+ }
17
+ const ftheadSchemeMatch = executeFtheadMatch(url);
18
+ if (ftheadSchemeMatch) {
19
+ return ftheadSchemeMatch.pop();
20
+ }
21
+ }
22
+ exports.default = decorateHeadshotUrl;
23
+ function isCloudfrontUrl(url) {
24
+ const AWS_CLOUDFRONT_HOSTNAME = 'd1e00ek4ebabms.cloudfront.net';
25
+ try {
26
+ const urlHostname = new URL(url).hostname;
27
+ return urlHostname && urlHostname === AWS_CLOUDFRONT_HOSTNAME;
28
+ }
29
+ catch {
30
+ return false;
31
+ }
32
+ }
33
+ function executeFtcmsMatch(url) {
34
+ return exports.UUID_REGEX.exec(url);
35
+ }
36
+ function executeFtheadMatch(url) {
37
+ return IMAGESET_REGEX.exec(url);
38
+ }
39
+ //# sourceMappingURL=decorateHeadshotUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorateHeadshotUrl.js","sourceRoot":"","sources":["../../src/helpers/decorateHeadshotUrl.ts"],"names":[],"mappings":";;;AAEa,QAAA,UAAU,GACrB,8EAA8E,CAAA;AAEhF,MAAM,cAAc,GAAG,wBAAwB,CAAA;AAE/C,SAAwB,mBAAmB,CAAC,MAAkB;IAC5D,MAAM,GAAG,GAAG,MAAM,EAAE,SAAS,CAAA;IAE7B,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IAErB,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE;QACxB,OAAO,GAAG,CAAA;KACX;IAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;IAEzC,IAAI,UAAU,EAAE;QACd,OAAO,SAAS,UAAU,CAAC,GAAG,EAAE,EAAE,CAAA;KACnC;IAED,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IAEjD,IAAI,iBAAiB,EAAE;QACrB,OAAO,iBAAiB,CAAC,GAAG,EAAE,CAAA;KAC/B;AACH,CAAC;AApBD,sCAoBC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,uBAAuB,GAAG,+BAA+B,CAAA;IAE/D,IAAI;QACF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAA;QACzC,OAAO,WAAW,IAAI,WAAW,KAAK,uBAAuB,CAAA;KAC9D;IAAC,MAAM;QACN,OAAO,KAAK,CAAA;KACb;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW;IACpC,OAAO,kBAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC7B,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAW;IACrC,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjC,CAAC"}
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
26
  if (kind === "m") throw new TypeError("Private method is not writable");
4
27
  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
@@ -21,6 +44,7 @@ const imageService_1 = __importDefault(require("../helpers/imageService"));
21
44
  const isError_1 = __importDefault(require("../helpers/isError"));
22
45
  const log_error_1 = require("@dotcom-reliability-kit/log-error");
23
46
  const n_concept_ids_1 = __importDefault(require("@financial-times/n-concept-ids"));
47
+ const decorateHeadshotUrl_1 = __importStar(require("../helpers/decorateHeadshotUrl"));
24
48
  const CAPI_ID_PREFIX = /^https?:\/\/(?:www|api)\.ft\.com\/things?\//;
25
49
  const BASE_URL = 'https://www.ft.com/stream/';
26
50
  const FT_URL = 'https://www.ft.com';
@@ -126,23 +150,29 @@ class Concept {
126
150
  return url;
127
151
  }
128
152
  async headshot(args) {
129
- if (!this.isAuthor()) {
130
- throw new Error('Cannot request headshot for a non-Author concept');
131
- }
153
+ const uuid = this.apiUrl().match(decorateHeadshotUrl_1.UUID_REGEX)?.[0];
154
+ if (!this.isAuthor() || !uuid)
155
+ return null;
132
156
  try {
133
- const peopleData = await this.context.dataSources.capi.getPerson(this.uuid());
134
- if (!peopleData || !peopleData._imageUrl)
135
- return null;
136
- return (0, imageService_1.default)({
137
- url: peopleData._imageUrl,
138
- systemCode: __classPrivateFieldGet(this, _Concept_systemCode, "f"),
139
- width: args?.width || 150,
140
- dpr: args?.dpr ?? undefined,
141
- });
157
+ const person = await this.context.dataSources.capi.getPerson(uuid);
158
+ const url = (0, decorateHeadshotUrl_1.default)(person);
159
+ return url
160
+ ? (0, imageService_1.default)({
161
+ url,
162
+ systemCode: __classPrivateFieldGet(this, _Concept_systemCode, "f"),
163
+ width: args?.width || 150,
164
+ dpr: args?.dpr ?? undefined,
165
+ })
166
+ : null;
142
167
  }
143
- catch (err) {
168
+ catch (error) {
169
+ if ((0, isError_1.default)(error)) {
170
+ (0, log_error_1.logRecoverableError)({
171
+ logger: this.context.logger,
172
+ error,
173
+ });
174
+ }
144
175
  return null;
145
- //TODO: log operational error here
146
176
  }
147
177
  }
148
178
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Concept.js","sourceRoot":"","sources":["../../src/model/Concept.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Concept.js","sourceRoot":"","sources":["../../src/model/Concept.ts"],"names":[],"mappings":"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"}
@@ -69,9 +69,9 @@ describe('Concept model', () => {
69
69
  });
70
70
  });
71
71
  describe('headshot()', () => {
72
- it('throws an error if the concept is not for an author', async () => {
72
+ it('returns null if the concept is not for an author', async () => {
73
73
  const model = new Concept_1.Concept(topic, context);
74
- await expect(model.headshot()).rejects.toThrowError('Cannot request headshot for a non-Author concept');
74
+ expect(await model.headshot()).toEqual(null);
75
75
  });
76
76
  it('returns the headshot for an author', async () => {
77
77
  getPersonMock.mockResolvedValue(capiPerson_1.capiPerson);
@@ -1 +1 @@
1
- {"version":3,"file":"Concept.test.js","sourceRoot":"","sources":["../../src/model/Concept.test.ts"],"names":[],"mappings":";;AAAA,uCAAmC;AACnC,2CAAoC;AAEpC,uDAAmD;AAInD,MAAM,UAAU,GAAG,cAAI,CAAC,EAAE,EAAkC,CAAA;AAC5D,MAAM,aAAa,GAAG,cAAI,CAAC,EAAE,EAA+B,CAAA;AAC5D,MAAM,OAAO,GAAG;IACd,WAAW,EAAE;QACX,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE;QAClC,UAAU,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE;KAChC;IACD,UAAU,EAAE,YAAY;CACE,CAAA;AAE5B,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE,+DAA+D;IACvE,UAAU,EAAE,kCAAkC;IAC9C,EAAE,EAAE,+DAA+D;IACnE,SAAS,EAAE,6CAA6C;IACxD,SAAS,EAAE,mBAAmB;IAC9B,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACL,uCAAuC;QACvC,4CAA4C;QAC5C,kCAAkC;KACnC;CACF,CAAA;AAED,MAAM,MAAM,GAAG;IACb,MAAM,EAAE,+DAA+D;IACvE,UAAU,EAAE,0CAA0C;IACtD,EAAE,EAAE,+DAA+D;IACnE,SAAS,EAAE,iDAAiD;IAC5D,SAAS,EAAE,kBAAkB;IAC7B,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE;QACL,uCAAuC;QACvC,4CAA4C;QAC5C,0CAA0C;KAC3C;CACF,CAAA;AACD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,UAAU,CAAC,GAAG,EAAE;QACd,cAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IACF,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,KAAK,GAAG,IAAI,iBAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YACzC,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAC/B,gEAAgE,CACjE,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,KAAK,GAAG,IAAI,iBAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YACzC,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CACjD,8CAA8C,CAC/C,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,KAAK,GAAG,IAAI,iBAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YACzC,UAAU,CAAC,iBAAiB,CAAC,+BAA+B,CAAC,CAAA;YAC7D,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAC/C,+BAA+B,CAChC,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;YACrF,MAAM,KAAK,GAAG,IAAI,iBAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YACzC,UAAU,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAA;YAC/D,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAC/C,gEAAgE,CACjE,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YAClF,MAAM,KAAK,GAAG,IAAI,iBAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YACzC,UAAU,CAAC,iBAAiB,CAAC,+BAA+B,CAAC,CAAA;YAC7D,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAC/D,aAAa,CACd,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,KAAK,GAAG,IAAI,iBAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YACzC,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CACjD,kDAAkD,CACnD,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,aAAa,CAAC,iBAAiB,CAAC,uBAAU,CAAC,CAAA;YAC3C,MAAM,KAAK,GAAG,IAAI,iBAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YAC1C,MAAM,CAAC,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CACpC,2QAA2Q,CAC5Q,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,aAAa,CAAC,iBAAiB,CAAC,uBAAU,CAAC,CAAA;YAC3C,MAAM,KAAK,GAAG,IAAI,iBAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YAC1C,MAAM,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAC1D,2QAA2Q,CAC5Q,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,aAAa,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAA;YAClE,MAAM,KAAK,GAAG,IAAI,iBAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YAC1C,MAAM,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACpE,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,aAAa,CAAC,iBAAiB,CAAC,EAAE,GAAG,uBAAU,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAA;YACxE,MAAM,KAAK,GAAG,IAAI,iBAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YAC1C,MAAM,CAAC,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"Concept.test.js","sourceRoot":"","sources":["../../src/model/Concept.test.ts"],"names":[],"mappings":";;AAAA,uCAAmC;AACnC,2CAAoC;AAEpC,uDAAmD;AAInD,MAAM,UAAU,GAAG,cAAI,CAAC,EAAE,EAAkC,CAAA;AAC5D,MAAM,aAAa,GAAG,cAAI,CAAC,EAAE,EAA+B,CAAA;AAC5D,MAAM,OAAO,GAAG;IACd,WAAW,EAAE;QACX,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE;QAClC,UAAU,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE;KAChC;IACD,UAAU,EAAE,YAAY;CACE,CAAA;AAE5B,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE,+DAA+D;IACvE,UAAU,EAAE,kCAAkC;IAC9C,EAAE,EAAE,+DAA+D;IACnE,SAAS,EAAE,6CAA6C;IACxD,SAAS,EAAE,mBAAmB;IAC9B,IAAI,EAAE,OAAO;IACb,KAAK,EAAE;QACL,uCAAuC;QACvC,4CAA4C;QAC5C,kCAAkC;KACnC;CACF,CAAA;AAED,MAAM,MAAM,GAAG;IACb,MAAM,EAAE,+DAA+D;IACvE,UAAU,EAAE,0CAA0C;IACtD,EAAE,EAAE,+DAA+D;IACnE,SAAS,EAAE,iDAAiD;IAC5D,SAAS,EAAE,kBAAkB;IAC7B,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE;QACL,uCAAuC;QACvC,4CAA4C;QAC5C,0CAA0C;KAC3C;CACF,CAAA;AACD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,UAAU,CAAC,GAAG,EAAE;QACd,cAAI,CAAC,aAAa,EAAE,CAAA;IACtB,CAAC,CAAC,CAAA;IACF,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,KAAK,GAAG,IAAI,iBAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YACzC,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAC/B,gEAAgE,CACjE,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,KAAK,GAAG,IAAI,iBAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YACzC,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CACjD,8CAA8C,CAC/C,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,KAAK,GAAG,IAAI,iBAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YACzC,UAAU,CAAC,iBAAiB,CAAC,+BAA+B,CAAC,CAAA;YAC7D,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAC/C,+BAA+B,CAChC,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;YACrF,MAAM,KAAK,GAAG,IAAI,iBAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YACzC,UAAU,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAA;YAC/D,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAC/C,gEAAgE,CACjE,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YAClF,MAAM,KAAK,GAAG,IAAI,iBAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YACzC,UAAU,CAAC,iBAAiB,CAAC,+BAA+B,CAAC,CAAA;YAC7D,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAC/D,aAAa,CACd,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;YAChE,MAAM,KAAK,GAAG,IAAI,iBAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YACzC,MAAM,CAAC,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,aAAa,CAAC,iBAAiB,CAAC,uBAAU,CAAC,CAAA;YAC3C,MAAM,KAAK,GAAG,IAAI,iBAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YAC1C,MAAM,CAAC,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CACpC,2QAA2Q,CAC5Q,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,aAAa,CAAC,iBAAiB,CAAC,uBAAU,CAAC,CAAA;YAC3C,MAAM,KAAK,GAAG,IAAI,iBAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YAC1C,MAAM,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAC1D,2QAA2Q,CAC5Q,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,aAAa,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAA;YAClE,MAAM,KAAK,GAAG,IAAI,iBAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YAC1C,MAAM,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACpE,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,aAAa,CAAC,iBAAiB,CAAC,EAAE,GAAG,uBAAU,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAA;YACxE,MAAM,KAAK,GAAG,IAAI,iBAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YAC1C,MAAM,CAAC,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -22,6 +22,8 @@ class Picture {
22
22
  standard() {
23
23
  const images = this.images();
24
24
  const standard = images.find((image) => image.format() === 'standard-inline') ?? images[0];
25
+ // this assert will never fail, as a Picture model won't be constructed if
26
+ // the imageset is empty. it's here for Typescript's benefit
25
27
  assertDefined(standard, 'Picture must contain at least one image to display');
26
28
  return standard;
27
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Picture.js","sourceRoot":"","sources":["../../src/model/Picture.ts"],"names":[],"mappings":";;;;;;AAEA,mCAA0C;AAC1C,oDAA2B;AAI3B,8EAA8E;AAC9E,SAAS,aAAa,CACpB,KAAoB,EACpB,OAAgB;IAEhB,gBAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;AAC5C,CAAC;AAED,MAAa,OAAO;IAClB,YACU,QAAkB,EAClB,UAAmB,EACnB,OAAqB;QAFrB,aAAQ,GAAR,QAAQ,CAAU;QAClB,eAAU,GAAV,UAAU,CAAS;QACnB,YAAO,GAAP,OAAO,CAAc;IAC5B,CAAC;IAEJ,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAC9B,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,iBAAS,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAC9C,CAAA;IACH,CAAC;IAED,QAAQ;QACN,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;QAC5B,MAAM,QAAQ,GACZ,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,iBAAiB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAA;QAC3E,aAAa,CACX,QAAQ,EACR,oDAAoD,CACrD,CAAA;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,WAAW;QACf,mCAAmC;QAEnC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1D,OAAO,WAAW,CAAA;SACnB;QAED,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,YAAY,CAAA;aACpB;SACF;QAED,OAAO,UAAU,CAAA;IACnB,CAAC;CACF;AA3CD,0BA2CC"}
1
+ {"version":3,"file":"Picture.js","sourceRoot":"","sources":["../../src/model/Picture.ts"],"names":[],"mappings":";;;;;;AAEA,mCAA0C;AAC1C,oDAA2B;AAI3B,8EAA8E;AAC9E,SAAS,aAAa,CACpB,KAAoB,EACpB,OAAgB;IAEhB,gBAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;AAC5C,CAAC;AAED,MAAa,OAAO;IAClB,YACU,QAAkB,EAClB,UAAmB,EACnB,OAAqB;QAFrB,aAAQ,GAAR,QAAQ,CAAU;QAClB,eAAU,GAAV,UAAU,CAAS;QACnB,YAAO,GAAP,OAAO,CAAc;IAC5B,CAAC;IAEJ,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAC9B,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,iBAAS,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAC9C,CAAA;IACH,CAAC;IAED,QAAQ;QACN,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;QAC5B,MAAM,QAAQ,GACZ,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,iBAAiB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAA;QAE3E,0EAA0E;QAC1E,4DAA4D;QAC5D,aAAa,CACX,QAAQ,EACR,oDAAoD,CACrD,CAAA;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,WAAW;QACf,mCAAmC;QAEnC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1D,OAAO,WAAW,CAAA;SACnB;QAED,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,YAAY,CAAA;aACpB;SACF;QAED,OAAO,UAAU,CAAA;IACnB,CAAC;CACF;AA9CD,0BA8CC"}
@@ -34,6 +34,6 @@ export declare class Topper {
34
34
  theme: "special-report" | "extra" | "basic";
35
35
  layout?: "wide" | "default" | undefined;
36
36
  };
37
- headshot(args: HeadshotArguments): string | null;
37
+ headshot(args: HeadshotArguments): Promise<string | null>;
38
38
  }
39
39
  export {};
@@ -97,9 +97,6 @@ class Topper {
97
97
  return this.capiResponse.topper()?.layout || 'branded';
98
98
  }
99
99
  backgroundColour() {
100
- if (this.capiResponse.isAlphaville()) {
101
- return 'matisse';
102
- }
103
100
  if (this.capiResponse.type() === 'ContentPackage' &&
104
101
  this.capiResponse.design()) {
105
102
  const theme = this.capiResponse.design()?.theme;
@@ -116,6 +113,9 @@ class Topper {
116
113
  if (type === 'OpinionTopper') {
117
114
  return this.capiResponse.isContainedInPackage() ? 'wheat' : 'sky';
118
115
  }
116
+ if (this.capiResponse.isAlphaville()) {
117
+ return 'matisse';
118
+ }
119
119
  if (type === 'PodcastTopper') {
120
120
  return 'slate';
121
121
  }
@@ -188,10 +188,9 @@ class Topper {
188
188
  return 'standard';
189
189
  }
190
190
  columnist() {
191
- if (this.capiResponse.isColumn()) {
192
- return this.capiResponse.getAuthors()[0] ?? null;
193
- }
194
- return null;
191
+ const authors = this.capiResponse.getAuthors();
192
+ const isOpinionOrColumn = this.type() === 'OpinionTopper' || this.capiResponse.isColumn();
193
+ return isOpinionOrColumn && authors.length ? authors[0] : null;
195
194
  }
196
195
  brandConcept() {
197
196
  if (this.capiResponse.isPodcast()) {
@@ -208,13 +207,21 @@ class Topper {
208
207
  design() {
209
208
  return this.capiResponse.design();
210
209
  }
211
- headshot(args) {
212
- const headshot = this.capiResponse.mainImage();
213
- if (!headshot) {
210
+ async headshot(args) {
211
+ let headshotUrl;
212
+ if (this.capiResponse.isPodcast()) {
213
+ headshotUrl = this.capiResponse.mainImage()?.url();
214
+ }
215
+ if (this.capiResponse.isOpinion()) {
216
+ const authors = this.capiResponse.getAuthors();
217
+ const headshotUrls = await Promise.all(authors.map(async (author) => await author.headshot(args))).then((res) => res.filter(Boolean));
218
+ headshotUrl = headshotUrls[0] ?? undefined;
219
+ }
220
+ if (!headshotUrl) {
214
221
  return null;
215
222
  }
216
223
  return (0, imageService_1.default)({
217
- url: headshot.url(),
224
+ url: headshotUrl,
218
225
  systemCode: __classPrivateFieldGet(this, _Topper_systemCode, "f"),
219
226
  width: args.width ?? undefined,
220
227
  dpr: args.dpr ?? undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"Topper.js","sourceRoot":"","sources":["../../src/model/Topper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Topper.js","sourceRoot":"","sources":["../../src/model/Topper.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export declare const articleSchema: import("zod").ZodObject<{
11
11
  prefLabel: import("zod").ZodString;
12
12
  type: import("zod").ZodOptional<import("zod").ZodString>;
13
13
  types: import("zod").ZodArray<import("zod").ZodString, "many">;
14
+ headshot: import("zod").ZodOptional<import("zod").ZodString>;
14
15
  predicate: import("zod").ZodString;
15
16
  }, "strip", import("zod").ZodTypeAny, {
16
17
  id: string;
@@ -20,6 +21,7 @@ export declare const articleSchema: import("zod").ZodObject<{
20
21
  types: string[];
21
22
  predicate: string;
22
23
  type?: string | undefined;
24
+ headshot?: string | undefined;
23
25
  }, {
24
26
  id: string;
25
27
  apiUrl: string;
@@ -28,6 +30,7 @@ export declare const articleSchema: import("zod").ZodObject<{
28
30
  types: string[];
29
31
  predicate: string;
30
32
  type?: string | undefined;
33
+ headshot?: string | undefined;
31
34
  }>, "many">;
32
35
  webUrl: import("zod").ZodOptional<import("zod").ZodString>;
33
36
  canonicalWebUrl: import("zod").ZodOptional<import("zod").ZodString>;
@@ -697,6 +700,7 @@ export declare const articleSchema: import("zod").ZodObject<{
697
700
  types: string[];
698
701
  predicate: string;
699
702
  type?: string | undefined;
703
+ headshot?: string | undefined;
700
704
  }[];
701
705
  publishedDate: string;
702
706
  firstPublishedDate: string;
@@ -875,6 +879,7 @@ export declare const articleSchema: import("zod").ZodObject<{
875
879
  types: string[];
876
880
  predicate: string;
877
881
  type?: string | undefined;
882
+ headshot?: string | undefined;
878
883
  }[];
879
884
  publishedDate: string;
880
885
  firstPublishedDate: string;
@@ -9,6 +9,7 @@ export declare const audioSchema: import("zod").ZodObject<{
9
9
  prefLabel: import("zod").ZodString;
10
10
  type: import("zod").ZodOptional<import("zod").ZodString>;
11
11
  types: import("zod").ZodArray<import("zod").ZodString, "many">;
12
+ headshot: import("zod").ZodOptional<import("zod").ZodString>;
12
13
  predicate: import("zod").ZodString;
13
14
  }, "strip", import("zod").ZodTypeAny, {
14
15
  id: string;
@@ -18,6 +19,7 @@ export declare const audioSchema: import("zod").ZodObject<{
18
19
  types: string[];
19
20
  predicate: string;
20
21
  type?: string | undefined;
22
+ headshot?: string | undefined;
21
23
  }, {
22
24
  id: string;
23
25
  apiUrl: string;
@@ -26,6 +28,7 @@ export declare const audioSchema: import("zod").ZodObject<{
26
28
  types: string[];
27
29
  predicate: string;
28
30
  type?: string | undefined;
31
+ headshot?: string | undefined;
29
32
  }>, "many">;
30
33
  webUrl: import("zod").ZodOptional<import("zod").ZodString>;
31
34
  canonicalWebUrl: import("zod").ZodOptional<import("zod").ZodString>;
@@ -325,6 +328,7 @@ export declare const audioSchema: import("zod").ZodObject<{
325
328
  types: string[];
326
329
  predicate: string;
327
330
  type?: string | undefined;
331
+ headshot?: string | undefined;
328
332
  }[];
329
333
  publishedDate: string;
330
334
  firstPublishedDate: string;
@@ -416,6 +420,7 @@ export declare const audioSchema: import("zod").ZodObject<{
416
420
  types: string[];
417
421
  predicate: string;
418
422
  type?: string | undefined;
423
+ headshot?: string | undefined;
419
424
  }[];
420
425
  publishedDate: string;
421
426
  firstPublishedDate: string;