@financial-times/cp-content-pipeline-schema 2.9.2 → 2.10.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 (77) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/lib/datasources/capi.d.ts +1 -0
  3. package/lib/datasources/capi.js +10 -0
  4. package/lib/datasources/capi.js.map +1 -1
  5. package/lib/generated/index.d.ts +87 -2
  6. package/lib/model/CapiResponse.d.ts +6 -0
  7. package/lib/model/CapiResponse.js +5 -0
  8. package/lib/model/CapiResponse.js.map +1 -1
  9. package/lib/model/FlourishSource.d.ts +22 -0
  10. package/lib/model/FlourishSource.js +89 -0
  11. package/lib/model/FlourishSource.js.map +1 -0
  12. package/lib/model/FlourishSource.test.d.ts +1 -0
  13. package/lib/model/FlourishSource.test.js +67 -0
  14. package/lib/model/FlourishSource.test.js.map +1 -0
  15. package/lib/model/LeadFlourish.d.ts +13 -0
  16. package/lib/model/LeadFlourish.js +35 -0
  17. package/lib/model/LeadFlourish.js.map +1 -0
  18. package/lib/model/LeadFlourish.test.d.ts +1 -0
  19. package/lib/model/LeadFlourish.test.js +62 -0
  20. package/lib/model/LeadFlourish.test.js.map +1 -0
  21. package/lib/model/Topper.d.ts +4 -1
  22. package/lib/model/Topper.js +15 -0
  23. package/lib/model/Topper.js.map +1 -1
  24. package/lib/model/Topper.test.js +21 -0
  25. package/lib/model/Topper.test.js.map +1 -1
  26. package/lib/model/schemas/capi/article.d.ts +153 -60
  27. package/lib/model/schemas/capi/article.js +1 -0
  28. package/lib/model/schemas/capi/article.js.map +1 -1
  29. package/lib/model/schemas/capi/audio.d.ts +1111 -119
  30. package/lib/model/schemas/capi/base-schema.d.ts +166 -99
  31. package/lib/model/schemas/capi/base-schema.js +8 -1
  32. package/lib/model/schemas/capi/base-schema.js.map +1 -1
  33. package/lib/model/schemas/capi/content-package.d.ts +836 -46
  34. package/lib/model/schemas/capi/content-package.js +1 -1
  35. package/lib/model/schemas/capi/content-package.js.map +1 -1
  36. package/lib/model/schemas/capi/live-blog-package.d.ts +230 -65
  37. package/lib/model/schemas/capi/live-blog-package.js +0 -1
  38. package/lib/model/schemas/capi/live-blog-package.js.map +1 -1
  39. package/lib/model/schemas/capi/placeholder.d.ts +143 -60
  40. package/lib/resolvers/content-tree/references/Flourish.d.ts +8 -2
  41. package/lib/resolvers/content-tree/references/Flourish.js +15 -40
  42. package/lib/resolvers/content-tree/references/Flourish.js.map +1 -1
  43. package/lib/resolvers/content-tree/references/Flourish.test.js +0 -30
  44. package/lib/resolvers/content-tree/references/Flourish.test.js.map +1 -1
  45. package/lib/resolvers/index.d.ts +36 -9
  46. package/lib/resolvers/index.js +2 -0
  47. package/lib/resolvers/index.js.map +1 -1
  48. package/lib/resolvers/leadFlourish.d.ts +16 -0
  49. package/lib/resolvers/leadFlourish.js +28 -0
  50. package/lib/resolvers/leadFlourish.js.map +1 -0
  51. package/lib/resolvers/topper.d.ts +23 -9
  52. package/lib/resolvers/topper.js +6 -0
  53. package/lib/resolvers/topper.js.map +1 -1
  54. package/package.json +1 -1
  55. package/queries/article.graphql +26 -0
  56. package/src/datasources/capi.ts +14 -0
  57. package/src/generated/index.ts +93 -2
  58. package/src/model/CapiResponse.ts +6 -0
  59. package/src/model/FlourishSource.test.ts +93 -0
  60. package/src/model/FlourishSource.ts +103 -0
  61. package/src/model/LeadFlourish.test.ts +71 -0
  62. package/src/model/LeadFlourish.ts +30 -0
  63. package/src/model/Topper.test.ts +26 -0
  64. package/src/model/Topper.ts +18 -0
  65. package/src/model/schemas/capi/article.ts +1 -0
  66. package/src/model/schemas/capi/base-schema.ts +8 -0
  67. package/src/model/schemas/capi/content-package.ts +1 -1
  68. package/src/model/schemas/capi/live-blog-package.ts +0 -1
  69. package/src/resolvers/content-tree/references/Flourish.test.ts +2 -49
  70. package/src/resolvers/content-tree/references/Flourish.ts +15 -59
  71. package/src/resolvers/index.ts +2 -0
  72. package/src/resolvers/leadFlourish.ts +31 -0
  73. package/src/resolvers/topper.ts +10 -0
  74. package/src/types/internal-content.d.ts +2 -0
  75. package/tsconfig.tsbuildinfo +1 -1
  76. package/typedefs/leadFlouish.graphql +29 -0
  77. package/typedefs/topper.graphql +35 -0
@@ -1,11 +1,24 @@
1
1
  declare const resolvers: {
2
+ LeadFlourish: {
3
+ type: (flourish: import("../model/LeadFlourish").LeadFlourish) => string;
4
+ id: (flourish: import("../model/LeadFlourish").LeadFlourish) => string | null;
5
+ description: (flourish: import("../model/LeadFlourish").LeadFlourish) => string;
6
+ fallbackImage: (flourish: import("../model/LeadFlourish").LeadFlourish) => Promise<import("../model/FlourishSource").FlourishSource>;
7
+ };
8
+ FlourishSource: {
9
+ url: (parent: import("../model/FlourishSource").FlourishSource) => Promise<string>;
10
+ height: (parent: import("../model/FlourishSource").FlourishSource) => Promise<number>;
11
+ width: (parent: import("../model/FlourishSource").FlourishSource) => Promise<number>;
12
+ type: (parent: import("../model/FlourishSource").FlourishSource) => string;
13
+ format: (parent: import("../model/FlourishSource").FlourishSource) => string;
14
+ };
2
15
  Person: {
3
16
  headshot: (parent: import("../model/Person").Person) => Promise<string | null>;
4
17
  prefLabel: (parent: import("../model/Person").Person) => string;
5
18
  streamPage: (parent: import("../model/Person").Person) => string;
6
19
  };
7
20
  Topper: {
8
- __resolveType: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper", import("../model/Topper").Topper, import("..").QueryContext>;
21
+ __resolveType: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper" | "TopperWithFlourish", import("../model/Topper").Topper, import("..").QueryContext>;
9
22
  backgroundBox: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
10
23
  backgroundColour: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"paper" | "wheat" | "white" | "black" | "claret" | "oxford" | "slate" | "crimson" | "sky" | "matisse">>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
11
24
  displayConcept: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Concept").Concept>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
@@ -36,7 +49,7 @@ declare const resolvers: {
36
49
  isLargeHeadline: (topper: import("../model/Topper").Topper) => boolean;
37
50
  layout: (topper: import("../model/Topper").Topper) => string;
38
51
  columnist: (topper: import("../model/Topper").Topper) => import("../model/Concept").Concept | null;
39
- __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
52
+ __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper" | "TopperWithFlourish", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
40
53
  backgroundBox: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
41
54
  backgroundColour: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"paper" | "wheat" | "white" | "black" | "claret" | "oxford" | "slate" | "crimson" | "sky" | "matisse">>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
42
55
  displayConcept: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Concept").Concept>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
@@ -51,7 +64,7 @@ declare const resolvers: {
51
64
  isLargeHeadline: (topper: import("../model/Topper").Topper) => boolean;
52
65
  layout: (topper: import("../model/Topper").Topper) => string;
53
66
  columnist: (topper: import("../model/Topper").Topper) => import("../model/Concept").Concept | null;
54
- __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
67
+ __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper" | "TopperWithFlourish", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
55
68
  backgroundBox: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
56
69
  backgroundColour: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"paper" | "wheat" | "white" | "black" | "claret" | "oxford" | "slate" | "crimson" | "sky" | "matisse">>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
57
70
  displayConcept: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Concept").Concept>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
@@ -66,7 +79,7 @@ declare const resolvers: {
66
79
  };
67
80
  BasicTopper: {
68
81
  [x: string]: any;
69
- __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
82
+ __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper" | "TopperWithFlourish", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
70
83
  backgroundBox: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
71
84
  backgroundColour: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"paper" | "wheat" | "white" | "black" | "claret" | "oxford" | "slate" | "crimson" | "sky" | "matisse">>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
72
85
  displayConcept: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Concept").Concept>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
@@ -80,7 +93,7 @@ declare const resolvers: {
80
93
  brandConcept: (topper: import("../model/Topper").Topper) => import("../model/Concept").Concept | null;
81
94
  isLargeHeadline: (topper: import("../model/Topper").Topper) => boolean;
82
95
  layout: (topper: import("../model/Topper").Topper) => string;
83
- __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
96
+ __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper" | "TopperWithFlourish", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
84
97
  backgroundBox: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
85
98
  backgroundColour: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"paper" | "wheat" | "white" | "black" | "claret" | "oxford" | "slate" | "crimson" | "sky" | "matisse">>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
86
99
  displayConcept: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Concept").Concept>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
@@ -96,7 +109,7 @@ declare const resolvers: {
96
109
  layout: (topper: import("../model/Topper").Topper) => string;
97
110
  fallbackImage: (topper: import("../model/Topper").Topper) => import("../model/Image").CAPIImage | null;
98
111
  images: (topper: import("../model/Topper").Topper) => import("../model/Image").CAPIImage[];
99
- __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
112
+ __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper" | "TopperWithFlourish", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
100
113
  backgroundBox: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
101
114
  backgroundColour: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"paper" | "wheat" | "white" | "black" | "claret" | "oxford" | "slate" | "crimson" | "sky" | "matisse">>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
102
115
  displayConcept: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Concept").Concept>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
@@ -112,7 +125,21 @@ declare const resolvers: {
112
125
  layout: (topper: import("../model/Topper").Topper) => string;
113
126
  fallbackImage: (topper: import("../model/Topper").Topper) => import("../model/Image").CAPIImage | null;
114
127
  images: (topper: import("../model/Topper").Topper) => import("../model/Image").CAPIImage[];
115
- __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
128
+ __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper" | "TopperWithFlourish", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
129
+ backgroundBox: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
130
+ backgroundColour: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"paper" | "wheat" | "white" | "black" | "claret" | "oxford" | "slate" | "crimson" | "sky" | "matisse">>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
131
+ displayConcept: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Concept").Concept>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
132
+ followButtonVariant: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"standard" | "inverse" | "opinion" | "alphaville" | "monochrome" | "inverse-monochrome">>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
133
+ genreConcept: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Concept").Concept>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
134
+ headline: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
135
+ intro: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/RichText").RichText>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
136
+ textShadow: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
137
+ };
138
+ TopperWithFlourish: {
139
+ layout: (topper: import("../model/Topper").Topper) => string;
140
+ layoutWidth: (topper: import("../model/Topper").Topper) => string | null;
141
+ leadFlourish: (topper: import("../model/Topper").Topper) => import("../model/LeadFlourish").LeadFlourish;
142
+ __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper" | "TopperWithFlourish", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
116
143
  backgroundBox: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
117
144
  backgroundColour: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"paper" | "wheat" | "white" | "black" | "claret" | "oxford" | "slate" | "crimson" | "sky" | "matisse">>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
118
145
  displayConcept: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Concept").Concept>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
@@ -128,7 +155,7 @@ declare const resolvers: {
128
155
  layout: (topper: import("../model/Topper").Topper) => string;
129
156
  fallbackImage: (topper: import("../model/Topper").Topper) => import("../model/Image").CAPIImage | null;
130
157
  images: (topper: import("../model/Topper").Topper) => import("../model/Image").CAPIImage[];
131
- __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
158
+ __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper" | "TopperWithFlourish", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
132
159
  backgroundBox: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
133
160
  backgroundColour: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"paper" | "wheat" | "white" | "black" | "claret" | "oxford" | "slate" | "crimson" | "sky" | "matisse">>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
134
161
  displayConcept: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Concept").Concept>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
@@ -145,7 +172,7 @@ declare const resolvers: {
145
172
  layout: (topper: import("../model/Topper").Topper) => string;
146
173
  fallbackImage: (topper: import("../model/Topper").Topper) => import("../model/Image").CAPIImage | null;
147
174
  images: (topper: import("../model/Topper").Topper) => import("../model/Image").CAPIImage[];
148
- __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
175
+ __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper" | "TopperWithFlourish", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
149
176
  backgroundBox: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
150
177
  backgroundColour: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"paper" | "wheat" | "white" | "black" | "claret" | "oxford" | "slate" | "crimson" | "sky" | "matisse">>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
151
178
  displayConcept: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Concept").Concept>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
@@ -15,6 +15,7 @@ const scalars_1 = __importDefault(require("./scalars"));
15
15
  const teaser_1 = __importDefault(require("./teaser"));
16
16
  const topper_1 = __importDefault(require("./topper"));
17
17
  const person_1 = __importDefault(require("./person"));
18
+ const leadFlourish_1 = __importDefault(require("./leadFlourish"));
18
19
  const references_1 = require("./content-tree/references");
19
20
  const resolvers = {
20
21
  ...concept_1.default,
@@ -30,6 +31,7 @@ const resolvers = {
30
31
  ...teaser_1.default,
31
32
  ...topper_1.default,
32
33
  ...person_1.default,
34
+ ...leadFlourish_1.default,
33
35
  };
34
36
  exports.default = resolvers;
35
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resolvers/index.ts"],"names":[],"mappings":";;;;;AAAA,wDAA8C;AAC9C,wDAA8C;AAC9C,kDAAwC;AACxC,oDAA0C;AAC1C,kDAAwC;AACxC,4DAAiD;AACjD,wDAA8C;AAC9C,0DAAgD;AAChD,wDAA8C;AAC9C,sDAA4C;AAC5C,sDAA4C;AAC5C,sDAA4C;AAC5C,0DAAmE;AAGnE,MAAM,SAAS,GAAG;IAChB,GAAG,iBAAO;IACV,GAAG,iBAAO;IACV,GAAG,cAAI;IACP,GAAG,eAAK;IACR,GAAG,cAAI;IACP,GAAG,mBAAQ;IACX,GAAG,iBAAO;IACV,GAAG,sBAAU;IACb,GAAG,kBAAQ;IACX,GAAG,iBAAO;IACV,GAAG,gBAAM;IACT,GAAG,gBAAM;IACT,GAAG,gBAAM;CACU,CAAA;AAErB,kBAAe,SAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resolvers/index.ts"],"names":[],"mappings":";;;;;AAAA,wDAA8C;AAC9C,wDAA8C;AAC9C,kDAAwC;AACxC,oDAA0C;AAC1C,kDAAwC;AACxC,4DAAiD;AACjD,wDAA8C;AAC9C,0DAAgD;AAChD,wDAA8C;AAC9C,sDAA4C;AAC5C,sDAA4C;AAC5C,sDAA4C;AAC5C,kEAAwD;AACxD,0DAAmE;AAGnE,MAAM,SAAS,GAAG;IAChB,GAAG,iBAAO;IACV,GAAG,iBAAO;IACV,GAAG,cAAI;IACP,GAAG,eAAK;IACR,GAAG,cAAI;IACP,GAAG,mBAAQ;IACX,GAAG,iBAAO;IACV,GAAG,sBAAU;IACb,GAAG,kBAAQ;IACX,GAAG,iBAAO;IACV,GAAG,gBAAM;IACT,GAAG,gBAAM;IACT,GAAG,gBAAM;IACT,GAAG,sBAAY;CACI,CAAA;AAErB,kBAAe,SAAS,CAAA"}
@@ -0,0 +1,16 @@
1
+ declare const resolvers: {
2
+ LeadFlourish: {
3
+ type: (flourish: import("../model/LeadFlourish").LeadFlourish) => string;
4
+ id: (flourish: import("../model/LeadFlourish").LeadFlourish) => string | null;
5
+ description: (flourish: import("../model/LeadFlourish").LeadFlourish) => string;
6
+ fallbackImage: (flourish: import("../model/LeadFlourish").LeadFlourish) => Promise<import("../model/FlourishSource").FlourishSource>;
7
+ };
8
+ FlourishSource: {
9
+ url: (parent: import("../model/FlourishSource").FlourishSource) => Promise<string>;
10
+ height: (parent: import("../model/FlourishSource").FlourishSource) => Promise<number>;
11
+ width: (parent: import("../model/FlourishSource").FlourishSource) => Promise<number>;
12
+ type: (parent: import("../model/FlourishSource").FlourishSource) => string;
13
+ format: (parent: import("../model/FlourishSource").FlourishSource) => string;
14
+ };
15
+ };
16
+ export default resolvers;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const resolvers = {
4
+ LeadFlourish: {
5
+ type: (flourish) => flourish.type(),
6
+ id: (flourish) => flourish.id(),
7
+ description: (flourish) => flourish.description(),
8
+ fallbackImage: (flourish) => flourish.fallbackImage(),
9
+ },
10
+ FlourishSource: {
11
+ url: async (parent) => {
12
+ const url = await parent.url();
13
+ return url;
14
+ },
15
+ height: async (parent) => {
16
+ const height = await parent.height();
17
+ return height;
18
+ },
19
+ width: async (parent) => {
20
+ const width = await parent.width();
21
+ return width;
22
+ },
23
+ type: (parent) => parent.type(),
24
+ format: (parent) => parent.format(),
25
+ },
26
+ };
27
+ exports.default = resolvers;
28
+ //# sourceMappingURL=leadFlourish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leadFlourish.js","sourceRoot":"","sources":["../../src/resolvers/leadFlourish.ts"],"names":[],"mappings":";;AAEA,MAAM,SAAS,GAAG;IAChB,YAAY,EAAE;QACZ,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE;QACnC,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE;QAC/B,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE;QACjD,aAAa,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE;KACtD;IACD,cAAc,EAAE;QACd,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACpB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,CAAA;YAC9B,OAAO,GAAG,CAAA;QACZ,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACvB,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAA;YACpC,OAAO,MAAM,CAAA;QACf,CAAC;QACD,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACtB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;YAClC,OAAO,KAAK,CAAA;QACd,CAAC;QACD,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE;QAC/B,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;KACpC;CAIF,CAAA;AAED,kBAAe,SAAS,CAAA"}
@@ -1,6 +1,6 @@
1
1
  declare const resolvers: {
2
2
  Topper: {
3
- __resolveType: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper", import("../model/Topper").Topper, import("..").QueryContext>;
3
+ __resolveType: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper" | "TopperWithFlourish", import("../model/Topper").Topper, import("..").QueryContext>;
4
4
  backgroundBox: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
5
5
  backgroundColour: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"paper" | "wheat" | "white" | "black" | "claret" | "oxford" | "slate" | "crimson" | "sky" | "matisse">>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
6
6
  displayConcept: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Concept").Concept>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
@@ -31,7 +31,7 @@ declare const resolvers: {
31
31
  isLargeHeadline: (topper: import("../model/Topper").Topper) => boolean;
32
32
  layout: (topper: import("../model/Topper").Topper) => string;
33
33
  columnist: (topper: import("../model/Topper").Topper) => import("../model/Concept").Concept | null;
34
- __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
34
+ __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper" | "TopperWithFlourish", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
35
35
  backgroundBox: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
36
36
  backgroundColour: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"paper" | "wheat" | "white" | "black" | "claret" | "oxford" | "slate" | "crimson" | "sky" | "matisse">>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
37
37
  displayConcept: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Concept").Concept>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
@@ -46,7 +46,7 @@ declare const resolvers: {
46
46
  isLargeHeadline: (topper: import("../model/Topper").Topper) => boolean;
47
47
  layout: (topper: import("../model/Topper").Topper) => string;
48
48
  columnist: (topper: import("../model/Topper").Topper) => import("../model/Concept").Concept | null;
49
- __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
49
+ __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper" | "TopperWithFlourish", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
50
50
  backgroundBox: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
51
51
  backgroundColour: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"paper" | "wheat" | "white" | "black" | "claret" | "oxford" | "slate" | "crimson" | "sky" | "matisse">>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
52
52
  displayConcept: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Concept").Concept>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
@@ -61,7 +61,7 @@ declare const resolvers: {
61
61
  };
62
62
  BasicTopper: {
63
63
  [x: string]: any;
64
- __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
64
+ __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper" | "TopperWithFlourish", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
65
65
  backgroundBox: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
66
66
  backgroundColour: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"paper" | "wheat" | "white" | "black" | "claret" | "oxford" | "slate" | "crimson" | "sky" | "matisse">>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
67
67
  displayConcept: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Concept").Concept>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
@@ -75,7 +75,7 @@ declare const resolvers: {
75
75
  brandConcept: (topper: import("../model/Topper").Topper) => import("../model/Concept").Concept | null;
76
76
  isLargeHeadline: (topper: import("../model/Topper").Topper) => boolean;
77
77
  layout: (topper: import("../model/Topper").Topper) => string;
78
- __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
78
+ __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper" | "TopperWithFlourish", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
79
79
  backgroundBox: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
80
80
  backgroundColour: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"paper" | "wheat" | "white" | "black" | "claret" | "oxford" | "slate" | "crimson" | "sky" | "matisse">>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
81
81
  displayConcept: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Concept").Concept>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
@@ -91,7 +91,7 @@ declare const resolvers: {
91
91
  layout: (topper: import("../model/Topper").Topper) => string;
92
92
  fallbackImage: (topper: import("../model/Topper").Topper) => import("../model/Image").CAPIImage | null;
93
93
  images: (topper: import("../model/Topper").Topper) => import("../model/Image").CAPIImage[];
94
- __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
94
+ __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper" | "TopperWithFlourish", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
95
95
  backgroundBox: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
96
96
  backgroundColour: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"paper" | "wheat" | "white" | "black" | "claret" | "oxford" | "slate" | "crimson" | "sky" | "matisse">>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
97
97
  displayConcept: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Concept").Concept>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
@@ -107,7 +107,21 @@ declare const resolvers: {
107
107
  layout: (topper: import("../model/Topper").Topper) => string;
108
108
  fallbackImage: (topper: import("../model/Topper").Topper) => import("../model/Image").CAPIImage | null;
109
109
  images: (topper: import("../model/Topper").Topper) => import("../model/Image").CAPIImage[];
110
- __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
110
+ __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper" | "TopperWithFlourish", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
111
+ backgroundBox: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
112
+ backgroundColour: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"paper" | "wheat" | "white" | "black" | "claret" | "oxford" | "slate" | "crimson" | "sky" | "matisse">>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
113
+ displayConcept: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Concept").Concept>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
114
+ followButtonVariant: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"standard" | "inverse" | "opinion" | "alphaville" | "monochrome" | "inverse-monochrome">>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
115
+ genreConcept: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Concept").Concept>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
116
+ headline: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
117
+ intro: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/RichText").RichText>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
118
+ textShadow: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
119
+ };
120
+ TopperWithFlourish: {
121
+ layout: (topper: import("../model/Topper").Topper) => string;
122
+ layoutWidth: (topper: import("../model/Topper").Topper) => string | null;
123
+ leadFlourish: (topper: import("../model/Topper").Topper) => import("../model/LeadFlourish").LeadFlourish;
124
+ __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper" | "TopperWithFlourish", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
111
125
  backgroundBox: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
112
126
  backgroundColour: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"paper" | "wheat" | "white" | "black" | "claret" | "oxford" | "slate" | "crimson" | "sky" | "matisse">>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
113
127
  displayConcept: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Concept").Concept>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
@@ -123,7 +137,7 @@ declare const resolvers: {
123
137
  layout: (topper: import("../model/Topper").Topper) => string;
124
138
  fallbackImage: (topper: import("../model/Topper").Topper) => import("../model/Image").CAPIImage | null;
125
139
  images: (topper: import("../model/Topper").Topper) => import("../model/Image").CAPIImage[];
126
- __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
140
+ __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper" | "TopperWithFlourish", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
127
141
  backgroundBox: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
128
142
  backgroundColour: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"paper" | "wheat" | "white" | "black" | "claret" | "oxford" | "slate" | "crimson" | "sky" | "matisse">>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
129
143
  displayConcept: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Concept").Concept>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
@@ -140,7 +154,7 @@ declare const resolvers: {
140
154
  layout: (topper: import("../model/Topper").Topper) => string;
141
155
  fallbackImage: (topper: import("../model/Topper").Topper) => import("../model/Image").CAPIImage | null;
142
156
  images: (topper: import("../model/Topper").Topper) => import("../model/Image").CAPIImage[];
143
- __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
157
+ __resolveType?: import("../generated").TypeResolveFn<"DeepPortraitTopper" | "DeepLandscapeTopper" | "SplitTextTopper" | "FullBleedTopper" | "PodcastTopper" | "OpinionTopper" | "BrandedTopper" | "BasicTopper" | "TopperWithFlourish", import("../model/Topper").Topper, import("..").QueryContext> | undefined;
144
158
  backgroundBox: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<boolean>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
145
159
  backgroundColour: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<"paper" | "wheat" | "white" | "black" | "claret" | "oxford" | "slate" | "crimson" | "sky" | "matisse">>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
146
160
  displayConcept: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Concept").Concept>>, import("../model/Topper").Topper, import("..").QueryContext, {}>;
@@ -73,6 +73,12 @@ const resolvers = {
73
73
  fallbackImage: (topper) => topper.fallbackImage(),
74
74
  images: (topper) => topper.images(),
75
75
  },
76
+ TopperWithFlourish: {
77
+ ...topperResolvers,
78
+ layout: (topper) => topper.layout(),
79
+ layoutWidth: (topper) => topper.layoutWidth(),
80
+ leadFlourish: (topper) => topper.leadFlourish(),
81
+ },
76
82
  FullBleedTopper: {
77
83
  ...topperResolvers,
78
84
  brandConcept: (topper) => topper.brandConcept(),
@@ -1 +1 @@
1
- {"version":3,"file":"topper.js","sourceRoot":"","sources":["../../src/resolvers/topper.ts"],"names":[],"mappings":";;AAiBA,MAAM,eAAe,GAAoB;IACvC,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE;IACjD,gBAAgB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE;IACvD,cAAc,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE;IACnD,mBAAmB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,mBAAmB,EAAE;IAC7D,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE;IAC/C,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE;IACvC,KAAK,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE;IACjC,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE;CAC5C,CAAA;AAED,MAAM,SAAS,GAAG;IAChB,MAAM,EAAE;QACN,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE;QACxC,GAAG,eAAe;KACnB;IAED,gBAAgB,EAAE;QAChB,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;QACnC,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE;KAClD;IAED,eAAe,EAAE;QACf,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE;QACrD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;KACpC;IAED,eAAe,EAAE;QACf,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE;QAC/C,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE;KAChD;IAED,kBAAkB,EAAE;QAClB,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;KAClD;IAED,aAAa,EAAE;QACb,GAAG,eAAe;QAClB,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE;QAC/C,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACjD,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE;QACrD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;QACnC,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE;KAC1C;IAED,aAAa,EAAE;QACb,GAAG,eAAe;QAClB,QAAQ,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACjD,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE;QACrD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;QACnC,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE;KAC1C;IAED,iBAAiB,EAAE;QACjB,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK;KAC1C;IAED,WAAW,EAAE;QACX,GAAG,eAAe;KACnB;IAED,aAAa,EAAE;QACb,GAAG,eAAe;QAClB,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE;QAC/C,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE;QACrD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;KACpC;IAED,mBAAmB,EAAE;QACnB,GAAG,eAAe;QAClB,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE;QAC/C,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE;QACrD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;QACnC,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE;QACjD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;KACpC;IAED,kBAAkB,EAAE;QAClB,GAAG,eAAe;QAClB,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE;QAC/C,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE;QACrD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;QACnC,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE;QACjD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;KACpC;IAED,eAAe,EAAE;QACf,GAAG,eAAe;QAClB,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE;QAC/C,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE;QACrD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;QACnC,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE;QACjD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;KACpC;IAED,eAAe,EAAE;QACf,GAAG,eAAe;QAClB,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK;QACzC,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE;QAC/C,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE;QACrD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;QACnC,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE;QACjD,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;KACpC;CAgBF,CAAA;AAED,kBAAe,SAAS,CAAA"}
1
+ {"version":3,"file":"topper.js","sourceRoot":"","sources":["../../src/resolvers/topper.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@financial-times/cp-content-pipeline-schema",
3
- "version": "2.9.2",
3
+ "version": "2.10.1",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -81,6 +81,23 @@ fragment Person on Person {
81
81
  streamPage
82
82
  }
83
83
 
84
+ fragment FlourishSource on FlourishSource {
85
+ url
86
+ type
87
+ format
88
+ width
89
+ height
90
+ }
91
+
92
+ fragment LeadFlourish on LeadFlourish {
93
+ type
94
+ id
95
+ description
96
+ fallbackImage {
97
+ ...FlourishSource
98
+ }
99
+ }
100
+
84
101
  fragment Topper on Topper {
85
102
  __typename
86
103
  headline
@@ -183,6 +200,15 @@ fragment Topper on Topper {
183
200
  isLargeHeadline
184
201
  layout
185
202
  }
203
+
204
+ ... on TopperWithFlourish {
205
+ layout
206
+ layoutWidth
207
+ leadFlourish {
208
+ ...LeadFlourish
209
+ }
210
+ }
211
+
186
212
  ... on TopperWithPackage {
187
213
  design
188
214
  }
@@ -56,4 +56,18 @@ export class CapiDataSource extends InstrumentedRESTDataSource {
56
56
  cacheOptions: { ttl: this.peopleCacheTTL },
57
57
  })
58
58
  }
59
+
60
+ // replicates the logic implicit in PrefixingKeyValueCache to
61
+ // construct a cache key for an article used to purge Redis
62
+ async getHTTPCacheKeyForContent(uuid: string) {
63
+ const dummyRequest: AugmentedRequest = {
64
+ params: new URLSearchParams(),
65
+ headers: {},
66
+ }
67
+ const cacheKey = this.cacheKeyFor(
68
+ await this.resolveURL(`internalcontent/${uuid}`, dummyRequest)
69
+ )
70
+
71
+ return `${this.httpCache['keyValueCache']['prefix']}${cacheKey}`
72
+ }
59
73
  }