@financial-times/cp-content-pipeline-schema 3.0.3 → 3.1.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.
Files changed (69) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/lib/generated/index.d.ts +33 -4
  3. package/lib/helpers/flatten-formatted-zod-errors.d.ts +1 -1
  4. package/lib/helpers/flatten-formatted-zod-errors.js +1 -0
  5. package/lib/helpers/flatten-formatted-zod-errors.js.map +1 -1
  6. package/lib/model/CapiResponse.d.ts +3 -2
  7. package/lib/model/CapiResponse.js +84 -23
  8. package/lib/model/CapiResponse.js.map +1 -1
  9. package/lib/model/Person.d.ts +2 -0
  10. package/lib/model/Person.js +16 -0
  11. package/lib/model/Person.js.map +1 -1
  12. package/lib/model/Topper.js +19 -1
  13. package/lib/model/Topper.js.map +1 -1
  14. package/lib/model/schemas/capi/article.d.ts +222 -0
  15. package/lib/model/schemas/capi/audio.d.ts +194 -0
  16. package/lib/model/schemas/capi/base-schema.d.ts +420 -0
  17. package/lib/model/schemas/capi/base-schema.js +25 -2
  18. package/lib/model/schemas/capi/base-schema.js.map +1 -1
  19. package/lib/model/schemas/capi/content-package.d.ts +194 -0
  20. package/lib/model/schemas/capi/custom-code-component.d.ts +1906 -0
  21. package/lib/model/schemas/capi/custom-code-component.js +17 -0
  22. package/lib/model/schemas/capi/custom-code-component.js.map +1 -0
  23. package/lib/model/schemas/capi/index.d.ts +2947 -16
  24. package/lib/model/schemas/capi/index.js +3 -0
  25. package/lib/model/schemas/capi/index.js.map +1 -1
  26. package/lib/model/schemas/capi/internal-content.d.ts +5 -2
  27. package/lib/model/schemas/capi/live-blog-package.d.ts +222 -0
  28. package/lib/model/schemas/capi/placeholder.d.ts +222 -0
  29. package/lib/model/schemas/capi/video.d.ts +194 -0
  30. package/lib/resolvers/content-tree/Workarounds.d.ts +5 -1
  31. package/lib/resolvers/content-tree/references/CustomCodeComponent.d.ts +13 -0
  32. package/lib/resolvers/content-tree/references/CustomCodeComponent.js +58 -0
  33. package/lib/resolvers/content-tree/references/CustomCodeComponent.js.map +1 -0
  34. package/lib/resolvers/content-tree/references/Reference.d.ts +1 -1
  35. package/lib/resolvers/content-tree/references/index.d.ts +3 -1
  36. package/lib/resolvers/content-tree/references/index.js +3 -0
  37. package/lib/resolvers/content-tree/references/index.js.map +1 -1
  38. package/lib/resolvers/content-tree/tagMappings.js +27 -2
  39. package/lib/resolvers/content-tree/tagMappings.js.map +1 -1
  40. package/lib/resolvers/content-tree/tagMappings.test.js +19 -0
  41. package/lib/resolvers/content-tree/tagMappings.test.js.map +1 -1
  42. package/lib/resolvers/content.d.ts +8 -8
  43. package/lib/resolvers/content.js +4 -0
  44. package/lib/resolvers/content.js.map +1 -1
  45. package/lib/resolvers/index.d.ts +10 -9
  46. package/lib/resolvers/scalars.d.ts +2 -2
  47. package/lib/resolvers/scalars.js +1 -0
  48. package/lib/resolvers/scalars.js.map +1 -1
  49. package/package.json +2 -2
  50. package/queries/article.graphql +24 -7
  51. package/src/generated/index.ts +34 -3
  52. package/src/helpers/flatten-formatted-zod-errors.ts +2 -1
  53. package/src/model/CapiResponse.ts +93 -34
  54. package/src/model/Person.ts +19 -0
  55. package/src/model/Topper.ts +18 -1
  56. package/src/model/schemas/capi/base-schema.ts +27 -1
  57. package/src/model/schemas/capi/custom-code-component.ts +20 -0
  58. package/src/model/schemas/capi/index.ts +3 -0
  59. package/src/model/schemas/capi/internal-content.ts +7 -0
  60. package/src/resolvers/content-tree/Workarounds.ts +7 -1
  61. package/src/resolvers/content-tree/references/CustomCodeComponent.ts +78 -0
  62. package/src/resolvers/content-tree/references/index.ts +5 -0
  63. package/src/resolvers/content-tree/tagMappings.test.ts +29 -0
  64. package/src/resolvers/content-tree/tagMappings.ts +46 -4
  65. package/src/resolvers/content.ts +7 -0
  66. package/src/resolvers/scalars.ts +3 -1
  67. package/tsconfig.tsbuildinfo +1 -1
  68. package/typedefs/content.graphql +1 -1
  69. package/typedefs/references/CustomCodeComponent.graphql +17 -0
@@ -28,7 +28,7 @@ declare const resolvers: {
28
28
  teaser: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/CapiResponse").CapiResponse>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
29
29
  title: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
30
30
  topper: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<Topper>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
31
- type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
31
+ type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource" | "CustomCodeComponent">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
32
32
  url: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, Partial<import("../generated").ContentUrlArgs>>;
33
33
  };
34
34
  Article: {
@@ -60,7 +60,7 @@ declare const resolvers: {
60
60
  teaser: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/CapiResponse").CapiResponse>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
61
61
  title: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
62
62
  topper: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<Topper>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
63
- type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
63
+ type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource" | "CustomCodeComponent">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
64
64
  url: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, Partial<import("../generated").ContentUrlArgs>>;
65
65
  };
66
66
  Placeholder: {
@@ -92,7 +92,7 @@ declare const resolvers: {
92
92
  teaser: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/CapiResponse").CapiResponse>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
93
93
  title: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
94
94
  topper: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<Topper>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
95
- type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
95
+ type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource" | "CustomCodeComponent">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
96
96
  url: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, Partial<import("../generated").ContentUrlArgs>>;
97
97
  };
98
98
  LiveBlogPost: {
@@ -129,7 +129,7 @@ declare const resolvers: {
129
129
  teaser: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/CapiResponse").CapiResponse>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
130
130
  title: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
131
131
  topper: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<Topper>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
132
- type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
132
+ type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource" | "CustomCodeComponent">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
133
133
  url: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, Partial<import("../generated").ContentUrlArgs>>;
134
134
  };
135
135
  LiveBlogPackage: {
@@ -163,7 +163,7 @@ declare const resolvers: {
163
163
  teaser: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/CapiResponse").CapiResponse>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
164
164
  title: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
165
165
  topper: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<Topper>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
166
- type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
166
+ type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource" | "CustomCodeComponent">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
167
167
  url: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, Partial<import("../generated").ContentUrlArgs>>;
168
168
  };
169
169
  ContentPackage: {
@@ -197,7 +197,7 @@ declare const resolvers: {
197
197
  teaser: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/CapiResponse").CapiResponse>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
198
198
  title: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
199
199
  topper: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<Topper>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
200
- type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
200
+ type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource" | "CustomCodeComponent">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
201
201
  url: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, Partial<import("../generated").ContentUrlArgs>>;
202
202
  };
203
203
  Audio: {
@@ -229,7 +229,7 @@ declare const resolvers: {
229
229
  teaser: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/CapiResponse").CapiResponse>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
230
230
  title: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
231
231
  topper: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<Topper>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
232
- type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
232
+ type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource" | "CustomCodeComponent">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
233
233
  url: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, Partial<import("../generated").ContentUrlArgs>>;
234
234
  };
235
235
  Video: {
@@ -261,7 +261,7 @@ declare const resolvers: {
261
261
  teaser: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/CapiResponse").CapiResponse>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
262
262
  title: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
263
263
  topper: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<Topper>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
264
- type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
264
+ type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource" | "CustomCodeComponent">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
265
265
  url: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, Partial<import("../generated").ContentUrlArgs>>;
266
266
  };
267
267
  AltStandfirst: {
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const Topper_1 = require("../model/Topper");
4
+ const errors_1 = require("@dotcom-reliability-kit/errors");
4
5
  const contentResolvers = {
5
6
  accessLevel: (parent) => parent.accessLevel(),
6
7
  altStandfirst: (parent) => parent.alternativeStandfirst(),
@@ -39,6 +40,9 @@ const resolvers = {
39
40
  if (type === 'MediaResource') {
40
41
  return 'Video';
41
42
  }
43
+ if (type === 'CustomCodeComponent') {
44
+ throw new errors_1.BaseError('CustomCodeComponent is not supported as a root content type');
45
+ }
42
46
  return type;
43
47
  },
44
48
  ...contentResolvers,
@@ -1 +1 @@
1
- {"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/resolvers/content.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/resolvers/content.ts"],"names":[],"mappings":"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"}
@@ -249,7 +249,7 @@ declare const resolvers: {
249
249
  CanBeSyndicated: import("./literal-union").LiteralUnionScalar<["yes", "no", "verify", "withContributorPayment", "unknown"]>;
250
250
  ImageType: import("./literal-union").LiteralUnionScalar<["image", "graphic"]>;
251
251
  RichTextSource: import("./literal-union").LiteralUnionScalar<["standfirst", "summary", "bodyXML", "transcript"]>;
252
- ContentType: import("./literal-union").LiteralUnionScalar<["Article", "Placeholder", "Video", "Audio", "LiveBlogPackage", "LiveBlogPost", "ContentPackage", "Content", "MediaResource"]>;
252
+ ContentType: import("./literal-union").LiteralUnionScalar<["Article", "Placeholder", "Video", "Audio", "LiveBlogPackage", "LiveBlogPost", "ContentPackage", "Content", "MediaResource", "CustomCodeComponent"]>;
253
253
  ListType: import("./literal-union").LiteralUnionScalar<["OpinionAnalysis", "Promotional", "Recommended", "TopStories", "TopStoriesBeta", "KeyDevelopments"]>;
254
254
  LayoutHint: import("./literal-union").LiteralUnionScalar<["standaloneimage", "landscape", "bigstory", "assassination"]>;
255
255
  JSON: import("graphql").GraphQLScalarType<unknown, unknown>;
@@ -277,6 +277,7 @@ declare const resolvers: {
277
277
  Tweet: import("../generated").TweetResolvers;
278
278
  ImageSet: import("../generated").ImageSetResolvers;
279
279
  ClipSet: import("../generated").ClipSetResolvers;
280
+ CustomCodeComponent: import("../generated").CustomCodeComponentResolvers;
280
281
  VideoReference: import("../generated").VideoReferenceResolvers;
281
282
  Flourish: import("../generated").FlourishResolvers;
282
283
  Recommended: import("../generated").RecommendedResolvers;
@@ -538,7 +539,7 @@ declare const resolvers: {
538
539
  teaser: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/CapiResponse").CapiResponse>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
539
540
  title: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
540
541
  topper: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Topper").Topper>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
541
- type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
542
+ type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource" | "CustomCodeComponent">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
542
543
  url: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, Partial<import("../generated").ContentUrlArgs>>;
543
544
  };
544
545
  Article: {
@@ -570,7 +571,7 @@ declare const resolvers: {
570
571
  teaser: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/CapiResponse").CapiResponse>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
571
572
  title: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
572
573
  topper: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Topper").Topper>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
573
- type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
574
+ type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource" | "CustomCodeComponent">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
574
575
  url: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, Partial<import("../generated").ContentUrlArgs>>;
575
576
  };
576
577
  Placeholder: {
@@ -602,7 +603,7 @@ declare const resolvers: {
602
603
  teaser: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/CapiResponse").CapiResponse>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
603
604
  title: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
604
605
  topper: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Topper").Topper>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
605
- type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
606
+ type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource" | "CustomCodeComponent">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
606
607
  url: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, Partial<import("../generated").ContentUrlArgs>>;
607
608
  };
608
609
  LiveBlogPost: {
@@ -639,7 +640,7 @@ declare const resolvers: {
639
640
  teaser: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/CapiResponse").CapiResponse>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
640
641
  title: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
641
642
  topper: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Topper").Topper>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
642
- type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
643
+ type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource" | "CustomCodeComponent">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
643
644
  url: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, Partial<import("../generated").ContentUrlArgs>>;
644
645
  };
645
646
  LiveBlogPackage: {
@@ -673,7 +674,7 @@ declare const resolvers: {
673
674
  teaser: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/CapiResponse").CapiResponse>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
674
675
  title: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
675
676
  topper: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Topper").Topper>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
676
- type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
677
+ type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource" | "CustomCodeComponent">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
677
678
  url: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, Partial<import("../generated").ContentUrlArgs>>;
678
679
  };
679
680
  ContentPackage: {
@@ -707,7 +708,7 @@ declare const resolvers: {
707
708
  teaser: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/CapiResponse").CapiResponse>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
708
709
  title: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
709
710
  topper: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Topper").Topper>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
710
- type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
711
+ type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource" | "CustomCodeComponent">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
711
712
  url: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, Partial<import("../generated").ContentUrlArgs>>;
712
713
  };
713
714
  Audio: {
@@ -739,7 +740,7 @@ declare const resolvers: {
739
740
  teaser: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/CapiResponse").CapiResponse>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
740
741
  title: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
741
742
  topper: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Topper").Topper>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
742
- type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
743
+ type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource" | "CustomCodeComponent">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
743
744
  url: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, Partial<import("../generated").ContentUrlArgs>>;
744
745
  };
745
746
  Video: {
@@ -771,7 +772,7 @@ declare const resolvers: {
771
772
  teaser: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/CapiResponse").CapiResponse>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
772
773
  title: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
773
774
  topper: import("../generated").Resolver<import("../generated").Maybe<import("../generated").ResolverTypeWrapper<import("../model/Topper").Topper>>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
774
- type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
775
+ type: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<"Article" | "Placeholder" | "Video" | "Audio" | "LiveBlogPackage" | "LiveBlogPost" | "ContentPackage" | "Content" | "MediaResource" | "CustomCodeComponent">, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, {}>;
775
776
  url: import("../generated").Resolver<import("../generated").ResolverTypeWrapper<string>, import("../model/CapiResponse").CapiResponse, import("..").QueryContext, Partial<import("../generated").ContentUrlArgs>>;
776
777
  };
777
778
  AltStandfirst: {
@@ -8,7 +8,7 @@ export declare const CanBeSyndicated: LiteralUnionScalar<["yes", "no", "verify",
8
8
  export declare const ImageType: LiteralUnionScalar<["image", "graphic"]>;
9
9
  export declare const ClipFormat: LiteralUnionScalar<["standard-inline", "mobile"]>;
10
10
  export declare const RichTextSource: LiteralUnionScalar<["standfirst", "summary", "bodyXML", "transcript"]>;
11
- export declare const ContentType: LiteralUnionScalar<["Article", "Placeholder", "Video", "Audio", "LiveBlogPackage", "LiveBlogPost", "ContentPackage", "Content", "MediaResource"]>;
11
+ export declare const ContentType: LiteralUnionScalar<["Article", "Placeholder", "Video", "Audio", "LiveBlogPackage", "LiveBlogPost", "ContentPackage", "Content", "MediaResource", "CustomCodeComponent"]>;
12
12
  export declare const ListType: LiteralUnionScalar<["OpinionAnalysis", "Promotional", "Recommended", "TopStories", "TopStoriesBeta", "KeyDevelopments"]>;
13
13
  export declare const LayoutHint: LiteralUnionScalar<["standaloneimage", "landscape", "bigstory", "assassination"]>;
14
14
  declare const resolvers: {
@@ -21,7 +21,7 @@ declare const resolvers: {
21
21
  CanBeSyndicated: LiteralUnionScalar<["yes", "no", "verify", "withContributorPayment", "unknown"]>;
22
22
  ImageType: LiteralUnionScalar<["image", "graphic"]>;
23
23
  RichTextSource: LiteralUnionScalar<["standfirst", "summary", "bodyXML", "transcript"]>;
24
- ContentType: LiteralUnionScalar<["Article", "Placeholder", "Video", "Audio", "LiveBlogPackage", "LiveBlogPost", "ContentPackage", "Content", "MediaResource"]>;
24
+ ContentType: LiteralUnionScalar<["Article", "Placeholder", "Video", "Audio", "LiveBlogPackage", "LiveBlogPost", "ContentPackage", "Content", "MediaResource", "CustomCodeComponent"]>;
25
25
  ListType: LiteralUnionScalar<["OpinionAnalysis", "Promotional", "Recommended", "TopStories", "TopStoriesBeta", "KeyDevelopments"]>;
26
26
  LayoutHint: LiteralUnionScalar<["standaloneimage", "landscape", "bigstory", "assassination"]>;
27
27
  JSON: GraphQLScalarType<unknown, unknown>;
@@ -79,6 +79,7 @@ exports.ContentType = new literal_union_1.LiteralUnionScalar({
79
79
  'ContentPackage',
80
80
  'Content',
81
81
  'MediaResource',
82
+ 'CustomCodeComponent',
82
83
  ],
83
84
  });
84
85
  exports.ListType = new literal_union_1.LiteralUnionScalar({
@@ -1 +1 @@
1
- {"version":3,"file":"scalars.js","sourceRoot":"","sources":["../../src/resolvers/scalars.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scalars.js","sourceRoot":"","sources":["../../src/resolvers/scalars.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": "3.0.3",
3
+ "version": "3.1.0",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -44,7 +44,7 @@
44
44
  "@apollo/utils.fetcher": "^1.1.1",
45
45
  "@dotcom-reliability-kit/logger": "^3.1.4",
46
46
  "@dotcom-tool-kit/npm": "^3.3.2",
47
- "@financial-times/content-tree": "github:financial-times/content-tree#abdc26b",
47
+ "@financial-times/content-tree": "github:financial-times/content-tree#056af70",
48
48
  "@types/graphql": "^14.5.0",
49
49
  "@types/lodash.sortby": "^4.7.7",
50
50
  "type-fest": "^3.13.1"
@@ -8,7 +8,6 @@ fragment Concept on ConceptInterface {
8
8
  predicate
9
9
 
10
10
  ...ConceptURLs
11
- ...Author
12
11
  }
13
12
 
14
13
  fragment ConceptURLs on ConceptInterface {
@@ -16,12 +15,6 @@ fragment ConceptURLs on ConceptInterface {
16
15
  relativeUrl: url(relative: true, vanity: $useVanities)
17
16
  }
18
17
 
19
- fragment Author on Author {
20
- person {
21
- ...Person
22
- }
23
- }
24
-
25
18
  fragment StructuredTree on StructuredContent {
26
19
  tree
27
20
  }
@@ -364,6 +357,29 @@ fragment Clip on Clip {
364
357
  poster
365
358
  }
366
359
 
360
+ fragment CustomCodeComponentRichText on RichText {
361
+ source
362
+ structured {
363
+ ...StructuredTree
364
+ references {
365
+ type
366
+ ...ImageSet
367
+ }
368
+ }
369
+ }
370
+
371
+ fragment CustomCodeComponent on CustomCodeComponent {
372
+ __typename
373
+ path
374
+ versionRange
375
+ id
376
+ layoutWidth
377
+ attributes
378
+ body {
379
+ ...CustomCodeComponentRichText
380
+ }
381
+ }
382
+
367
383
  fragment Transcript on RichText {
368
384
  source
369
385
  structured {
@@ -534,6 +550,7 @@ fragment ArticleReferences on Reference {
534
550
  ...Recommended
535
551
  ...ImageSet
536
552
  ...ClipSet
553
+ ...CustomCodeComponent
537
554
  ...LayoutImage
538
555
  ...Tweet
539
556
  ...Video
@@ -33,7 +33,7 @@ export type Scalars = {
33
33
  AccessLevel: { input: 'premium' | 'subscribed' | 'registered' | 'free'; output: 'premium' | 'subscribed' | 'registered' | 'free'; }
34
34
  CanBeSyndicated: { input: 'yes' | 'no' | 'verify' | 'withContributorPayment' | 'unknown'; output: 'yes' | 'no' | 'verify' | 'withContributorPayment' | 'unknown'; }
35
35
  ClipFormat: { input: 'standard-inline' | 'mobile'; output: 'standard-inline' | 'mobile'; }
36
- ContentType: { input: 'Article' | 'Placeholder' | 'Video' | 'Audio' | 'LiveBlogPackage' | 'LiveBlogPost' | 'ContentPackage' | 'Content' | 'MediaResource'; output: 'Article' | 'Placeholder' | 'Video' | 'Audio' | 'LiveBlogPackage' | 'LiveBlogPost' | 'ContentPackage' | 'Content' | 'MediaResource'; }
36
+ ContentType: { input: 'Article' | 'Placeholder' | 'Video' | 'Audio' | 'LiveBlogPackage' | 'LiveBlogPost' | 'ContentPackage' | 'Content' | 'MediaResource' | 'CustomCodeComponent'; output: 'Article' | 'Placeholder' | 'Video' | 'Audio' | 'LiveBlogPackage' | 'LiveBlogPost' | 'ContentPackage' | 'Content' | 'MediaResource' | 'CustomCodeComponent'; }
37
37
  FollowButtonVariant: { input: 'standard' | 'inverse' | 'opinion' | 'alphaville' | 'monochrome' | 'inverse-monochrome'; output: 'standard' | 'inverse' | 'opinion' | 'alphaville' | 'monochrome' | 'inverse-monochrome'; }
38
38
  ImageFormat: { input: 'standard' | 'standard-inline' | 'desktop' | 'mobile' | 'wide' | 'square' | 'square-ftedit' | 'portrait' | 'landscape'; output: 'standard' | 'standard-inline' | 'desktop' | 'mobile' | 'wide' | 'square' | 'square-ftedit' | 'portrait' | 'landscape'; }
39
39
  ImageType: { input: 'image' | 'graphic'; output: 'image' | 'graphic'; }
@@ -588,6 +588,23 @@ export type ContentPackageUrlArgs = {
588
588
  vanity?: InputMaybe<Scalars['Boolean']['input']>;
589
589
  };
590
590
 
591
+ export type CustomCodeComponent = Reference & {
592
+ /** Configuration data to be passed to the component. */
593
+ readonly attributes: Scalars['JSON']['output'];
594
+ /** An abstract syntax tree of the component's content. */
595
+ readonly body?: Maybe<RichText>;
596
+ /** The id of the reference taken from the CAPI url. */
597
+ readonly id: Scalars['String']['output'];
598
+ /** How the component should be presented in the article page according to the column layout system. */
599
+ readonly layoutWidth?: Maybe<Scalars['String']['output']>;
600
+ /** The path where the component is hosted. */
601
+ readonly path: Scalars['String']['output'];
602
+ /** The type of the reference, eg. 'image-set'. */
603
+ readonly type: Scalars['String']['output'];
604
+ /** Semantic version of the code of the component. */
605
+ readonly versionRange: Scalars['String']['output'];
606
+ };
607
+
591
608
  export type DeepLandscapeTopper = Topper & TopperWithBrand & TopperWithImages & TopperWithTheme & {
592
609
  /** Whether the topper should have a background box. */
593
610
  readonly backgroundBox?: Maybe<Scalars['Boolean']['output']>;
@@ -1910,7 +1927,7 @@ export type ResolversInterfaceTypes<RefType extends Record<string, unknown>> = R
1910
1927
  Content: ( CapiResponse ) | ( CapiResponse ) | ( CapiResponse ) | ( CapiResponse ) | ( CapiResponse ) | ( CapiResponse ) | ( CapiResponse );
1911
1928
  Image: ( ImageModel ) | ( ImageModel ) | ( ImageModel ) | ( ImageModel ) | ( ImageModel ) | ( ImageModel ) | ( ImageModel ) | ( ImageModel ) | ( ImageModel );
1912
1929
  Picture: ( PictureModel ) | ( PictureModel ) | ( PictureModel );
1913
- Reference: ( ReferenceWithCAPIData<AuthorNode> ) | ( ReferenceWithCAPIData<ClipSetNode|OldClipNode> ) | ( 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> );
1930
+ Reference: ( ReferenceWithCAPIData<AuthorNode> ) | ( ReferenceWithCAPIData<ClipSetNode|OldClipNode> ) | ( ReferenceWithCAPIData<ContentTree.CustomCodeComponent> ) | ( 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> );
1914
1931
  Topper: ( TopperModel ) | ( TopperModel ) | ( TopperModel ) | ( TopperModel ) | ( TopperModel ) | ( TopperModel ) | ( TopperModel ) | ( TopperModel ) | ( TopperModel ) | ( TopperModel );
1915
1932
  TopperWithBrand: ( TopperModel ) | ( TopperModel ) | ( TopperModel ) | ( TopperModel ) | ( TopperModel ) | ( TopperModel );
1916
1933
  TopperWithHeadshot: ( TopperModel ) | ( TopperModel );
@@ -1943,6 +1960,7 @@ export type ResolversTypes = ResolversObject<{
1943
1960
  Content: ResolverTypeWrapper<ResolversInterfaceTypes<ResolversTypes>['Content']>;
1944
1961
  ContentPackage: ResolverTypeWrapper<CapiResponse>;
1945
1962
  ContentType: ResolverTypeWrapper<Scalars['ContentType']['output']>;
1963
+ CustomCodeComponent: ResolverTypeWrapper<ReferenceWithCAPIData<ContentTree.CustomCodeComponent>>;
1946
1964
  DeepLandscapeTopper: ResolverTypeWrapper<TopperModel>;
1947
1965
  DeepPortraitTopper: ResolverTypeWrapper<TopperModel>;
1948
1966
  Design: ResolverTypeWrapper<Design>;
@@ -2041,6 +2059,7 @@ export type ResolversParentTypes = ResolversObject<{
2041
2059
  Content: ResolversInterfaceTypes<ResolversParentTypes>['Content'];
2042
2060
  ContentPackage: CapiResponse;
2043
2061
  ContentType: Scalars['ContentType']['output'];
2062
+ CustomCodeComponent: ReferenceWithCAPIData<ContentTree.CustomCodeComponent>;
2044
2063
  DeepLandscapeTopper: TopperModel;
2045
2064
  DeepPortraitTopper: TopperModel;
2046
2065
  Design: Design;
@@ -2392,6 +2411,17 @@ export interface ContentTypeScalarConfig extends GraphQLScalarTypeConfig<Resolve
2392
2411
  name: 'ContentType';
2393
2412
  }
2394
2413
 
2414
+ export type CustomCodeComponentResolvers<ContextType = QueryContext, ParentType extends ResolversParentTypes['CustomCodeComponent'] = ResolversParentTypes['CustomCodeComponent']> = ResolversObject<{
2415
+ attributes: Resolver<ResolversTypes['JSON'], ParentType, ContextType>;
2416
+ body: Resolver<Maybe<ResolversTypes['RichText']>, ParentType, ContextType>;
2417
+ id: Resolver<ResolversTypes['String'], ParentType, ContextType>;
2418
+ layoutWidth: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
2419
+ path: Resolver<ResolversTypes['String'], ParentType, ContextType>;
2420
+ type: Resolver<ResolversTypes['String'], ParentType, ContextType>;
2421
+ versionRange: Resolver<ResolversTypes['String'], ParentType, ContextType>;
2422
+ __isTypeOf?: IsTypeOfResolverFn<ParentType, ContextType>;
2423
+ }>;
2424
+
2395
2425
  export type DeepLandscapeTopperResolvers<ContextType = QueryContext, ParentType extends ResolversParentTypes['DeepLandscapeTopper'] = ResolversParentTypes['DeepLandscapeTopper']> = ResolversObject<{
2396
2426
  backgroundBox: Resolver<Maybe<ResolversTypes['Boolean']>, ParentType, ContextType>;
2397
2427
  backgroundColour: Resolver<Maybe<ResolversTypes['TopperBackgroundColour']>, ParentType, ContextType>;
@@ -2922,7 +2952,7 @@ export type RecommendedResolvers<ContextType = QueryContext, ParentType extends
2922
2952
  }>;
2923
2953
 
2924
2954
  export type ReferenceResolvers<ContextType = QueryContext, ParentType extends ResolversParentTypes['Reference'] = ResolversParentTypes['Reference']> = ResolversObject<{
2925
- __resolveType?: TypeResolveFn<'AuthorReference' | 'ClipSet' | 'Flourish' | 'ImageSet' | 'LayoutImage' | 'MainImage' | 'RawImage' | 'Recommended' | 'ScrollyImage' | 'Tweet' | 'VideoReference', ParentType, ContextType>;
2955
+ __resolveType?: TypeResolveFn<'AuthorReference' | 'ClipSet' | 'CustomCodeComponent' | 'Flourish' | 'ImageSet' | 'LayoutImage' | 'MainImage' | 'RawImage' | 'Recommended' | 'ScrollyImage' | 'Tweet' | 'VideoReference', ParentType, ContextType>;
2926
2956
  type: Resolver<ResolversTypes['String'], ParentType, ContextType>;
2927
2957
  }>;
2928
2958
 
@@ -3128,6 +3158,7 @@ export type Resolvers<ContextType = QueryContext> = ResolversObject<{
3128
3158
  Content: ContentResolvers<ContextType>;
3129
3159
  ContentPackage: ContentPackageResolvers<ContextType>;
3130
3160
  ContentType: GraphQLScalarType;
3161
+ CustomCodeComponent: CustomCodeComponentResolvers<ContextType>;
3131
3162
  DeepLandscapeTopper: DeepLandscapeTopperResolvers<ContextType>;
3132
3163
  DeepPortraitTopper: DeepPortraitTopperResolvers<ContextType>;
3133
3164
  Design: DesignResolvers<ContextType>;
@@ -8,7 +8,7 @@ function isPlainObject(object: unknown): object is Record<string, unknown> {
8
8
 
9
9
  type FormattedZodIssues = {
10
10
  _errors: string[]
11
- [key: string]: FormattedZodIssues | string[]
11
+ [key: string]: FormattedZodIssues | string[] | undefined
12
12
  }
13
13
 
14
14
  export default function flattenFormattedZodIssues(
@@ -49,6 +49,7 @@ export default function flattenFormattedZodIssues(
49
49
  for (const [key, value] of Object.entries(issues)) {
50
50
  if (
51
51
  key !== '_errors' &&
52
+ value &&
52
53
  !Array.isArray(value) &&
53
54
  object &&
54
55
  (Array.isArray(object) || isPlainObject(object))