@financial-times/cp-content-pipeline-schema 3.12.2 → 3.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +32 -0
- package/lib/datasources/origami-image.js +3 -3
- package/lib/datasources/origami-image.js.map +1 -1
- package/lib/datasources/url-management.js +45 -7
- package/lib/datasources/url-management.js.map +1 -1
- package/lib/datasources/url-management.test.js +97 -0
- package/lib/datasources/url-management.test.js.map +1 -1
- package/lib/generated/index.d.ts +11 -11
- package/lib/helpers/imageService.js +1 -1
- package/lib/helpers/imageService.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/model/Clip.d.ts +3 -1
- package/lib/model/Clip.js +4 -2
- package/lib/model/Clip.js.map +1 -1
- package/lib/model/Clip.test.js +26 -37
- package/lib/model/Clip.test.js.map +1 -1
- package/lib/model/Concept.js +8 -2
- package/lib/model/Concept.js.map +1 -1
- package/lib/model/Content.js +6 -1
- package/lib/model/Content.js.map +1 -1
- package/lib/model/FlourishSource.js +2 -2
- package/lib/model/FlourishSource.js.map +1 -1
- package/lib/model/Image.js +1 -1
- package/lib/model/Image.js.map +1 -1
- package/lib/model/Image.test.js +8 -8
- package/lib/model/Image.test.js.map +1 -1
- package/lib/model/LeadFlourish.js +1 -1
- package/lib/model/LeadFlourish.js.map +1 -1
- package/lib/model/Person.js +1 -1
- package/lib/model/Person.js.map +1 -1
- package/lib/model/Person.test.js +2 -2
- package/lib/model/Person.test.js.map +1 -1
- package/lib/model/Picture.test.js +4 -2
- package/lib/model/Picture.test.js.map +1 -1
- package/lib/model/RichText.test.js +9 -9
- package/lib/model/Topper.js +1 -1
- package/lib/model/Topper.js.map +1 -1
- package/lib/model/Topper.test.js +3 -2
- package/lib/model/Topper.test.js.map +1 -1
- package/lib/resolvers/content-tree/bodyXMLToTree.test.js +176 -176
- package/lib/resolvers/content-tree/references/ClipSet.d.ts +2 -1
- package/lib/resolvers/content-tree/references/ClipSet.js +2 -2
- package/lib/resolvers/content-tree/references/ClipSet.js.map +1 -1
- package/lib/resolvers/content-tree/references/RawImage.js +1 -1
- package/lib/resolvers/content-tree/references/RawImage.js.map +1 -1
- package/package.json +1 -1
- package/src/datasources/origami-image.ts +3 -3
- package/src/datasources/url-management.test.ts +126 -0
- package/src/datasources/url-management.ts +48 -8
- package/src/generated/index.ts +11 -11
- package/src/helpers/imageService.ts +1 -1
- package/src/index.ts +1 -1
- package/src/model/Clip.test.ts +164 -145
- package/src/model/Clip.ts +7 -3
- package/src/model/Concept.ts +8 -2
- package/src/model/Content.ts +6 -1
- package/src/model/FlourishSource.ts +3 -6
- package/src/model/Image.test.ts +8 -10
- package/src/model/Image.ts +1 -1
- package/src/model/LeadFlourish.ts +1 -1
- package/src/model/Person.test.ts +2 -2
- package/src/model/Person.ts +1 -1
- package/src/model/Picture.test.ts +4 -2
- package/src/model/RichText.test.ts +9 -9
- package/src/model/Topper.test.ts +4 -2
- package/src/model/Topper.ts +1 -1
- package/src/model/__snapshots__/Byline.test.ts.snap +99 -99
- package/src/model/__snapshots__/RichText.test.ts.snap +305 -305
- package/src/resolvers/content-tree/bodyXMLToTree.test.ts +176 -176
- package/src/resolvers/content-tree/references/ClipSet.ts +3 -2
- package/src/resolvers/content-tree/references/RawImage.ts +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/typedefs/image.graphql +11 -11
|
@@ -29,11 +29,11 @@ describe('bodyXMLToTree', () => {
|
|
|
29
29
|
it('converts XML to tree', () => {
|
|
30
30
|
const xml = `<body><p>Hello world</p></body>`
|
|
31
31
|
expect(bodyXMLToTree(xml, tags, mockContext)).toMatchInlineSnapshot(`
|
|
32
|
-
|
|
33
|
-
"children":
|
|
34
|
-
|
|
35
|
-
"children":
|
|
36
|
-
|
|
32
|
+
{
|
|
33
|
+
"children": [
|
|
34
|
+
{
|
|
35
|
+
"children": [
|
|
36
|
+
{
|
|
37
37
|
"type": "text",
|
|
38
38
|
"value": "Hello world",
|
|
39
39
|
},
|
|
@@ -82,17 +82,17 @@ describe('bodyXMLToTree', () => {
|
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
expect(bodyXMLToTree(xml, tags)).toMatchInlineSnapshot(`
|
|
85
|
-
|
|
86
|
-
"children":
|
|
87
|
-
|
|
85
|
+
{
|
|
86
|
+
"children": [
|
|
87
|
+
{
|
|
88
88
|
"id": "id",
|
|
89
89
|
"type": "image-set",
|
|
90
90
|
},
|
|
91
|
-
|
|
92
|
-
"children":
|
|
93
|
-
|
|
94
|
-
"children":
|
|
95
|
-
|
|
91
|
+
{
|
|
92
|
+
"children": [
|
|
93
|
+
{
|
|
94
|
+
"children": [
|
|
95
|
+
{
|
|
96
96
|
"alt": "alt",
|
|
97
97
|
"caption": "caption",
|
|
98
98
|
"credit": "credit",
|
|
@@ -117,20 +117,20 @@ describe('bodyXMLToTree', () => {
|
|
|
117
117
|
it('includes known children of unknown tags', () => {
|
|
118
118
|
const xml = `<body><p>P1</p><unknown><p>P2</p></unknown></body>`
|
|
119
119
|
expect(bodyXMLToTree(xml, tags)).toMatchInlineSnapshot(`
|
|
120
|
-
|
|
121
|
-
"children":
|
|
122
|
-
|
|
123
|
-
"children":
|
|
124
|
-
|
|
120
|
+
{
|
|
121
|
+
"children": [
|
|
122
|
+
{
|
|
123
|
+
"children": [
|
|
124
|
+
{
|
|
125
125
|
"type": "text",
|
|
126
126
|
"value": "P1",
|
|
127
127
|
},
|
|
128
128
|
],
|
|
129
129
|
"type": "paragraph",
|
|
130
130
|
},
|
|
131
|
-
|
|
132
|
-
"children":
|
|
133
|
-
|
|
131
|
+
{
|
|
132
|
+
"children": [
|
|
133
|
+
{
|
|
134
134
|
"type": "text",
|
|
135
135
|
"value": "P2",
|
|
136
136
|
},
|
|
@@ -149,9 +149,9 @@ describe('bodyXMLToTree', () => {
|
|
|
149
149
|
'<body><a data-asset-type="tweet" data-embedded="true" href="https://twitter.com/EllliotttB/status/1610358432577748992?s=20&t=pcwJG65_c10H3snOQWzI4w">https://twitter.com/EllliotttB/status/1610358432577748992?s=20&t=pcwJG65_c10H3snOQWzI4w</a></body>'
|
|
150
150
|
|
|
151
151
|
expect(bodyXMLToTree(xml, tags)).toMatchInlineSnapshot(`
|
|
152
|
-
|
|
153
|
-
"children":
|
|
154
|
-
|
|
152
|
+
{
|
|
153
|
+
"children": [
|
|
154
|
+
{
|
|
155
155
|
"id": "https://twitter.com/EllliotttB/status/1610358432577748992?s=20&t=pcwJG65_c10H3snOQWzI4w",
|
|
156
156
|
"type": "tweet",
|
|
157
157
|
},
|
|
@@ -167,20 +167,20 @@ describe('bodyXMLToTree', () => {
|
|
|
167
167
|
'<body><div class="n-content-layout"><div class="n-content-layout__slot"><h4></h4><div class="n-content-layout__slot"><p>text</p></div></div></div></body>'
|
|
168
168
|
|
|
169
169
|
expect(bodyXMLToTree(xml, tags)).toMatchInlineSnapshot(`
|
|
170
|
-
|
|
171
|
-
"children":
|
|
172
|
-
|
|
173
|
-
"children":
|
|
174
|
-
|
|
175
|
-
"children":
|
|
176
|
-
|
|
177
|
-
"children":
|
|
170
|
+
{
|
|
171
|
+
"children": [
|
|
172
|
+
{
|
|
173
|
+
"children": [
|
|
174
|
+
{
|
|
175
|
+
"children": [
|
|
176
|
+
{
|
|
177
|
+
"children": [],
|
|
178
178
|
"level": "label",
|
|
179
179
|
"type": "heading",
|
|
180
180
|
},
|
|
181
|
-
|
|
182
|
-
"children":
|
|
183
|
-
|
|
181
|
+
{
|
|
182
|
+
"children": [
|
|
183
|
+
{
|
|
184
184
|
"type": "text",
|
|
185
185
|
"value": "text",
|
|
186
186
|
},
|
|
@@ -212,16 +212,16 @@ describe('bodyXMLToTree', () => {
|
|
|
212
212
|
'<body><div class="n-content-layout"><div class="n-content-layout__slot"></div><div class="n-content-layout__slot"></div></body>'
|
|
213
213
|
|
|
214
214
|
expect(bodyXMLToTree(xml, tags)).toMatchInlineSnapshot(`
|
|
215
|
-
|
|
216
|
-
"children":
|
|
217
|
-
|
|
218
|
-
"children":
|
|
219
|
-
|
|
220
|
-
"children":
|
|
215
|
+
{
|
|
216
|
+
"children": [
|
|
217
|
+
{
|
|
218
|
+
"children": [
|
|
219
|
+
{
|
|
220
|
+
"children": [],
|
|
221
221
|
"type": "layout-slot",
|
|
222
222
|
},
|
|
223
|
-
|
|
224
|
-
"children":
|
|
223
|
+
{
|
|
224
|
+
"children": [],
|
|
225
225
|
"type": "layout-slot",
|
|
226
226
|
},
|
|
227
227
|
],
|
|
@@ -242,21 +242,21 @@ describe('bodyXMLToTree', () => {
|
|
|
242
242
|
'<body><div class="n-content-layout"><h3></h3><div class="n-content-layout__slot"></div><div class="n-content-layout__slot"></div></body>'
|
|
243
243
|
|
|
244
244
|
expect(bodyXMLToTree(xml, tags, mockContext)).toMatchInlineSnapshot(`
|
|
245
|
-
|
|
246
|
-
"children":
|
|
247
|
-
|
|
248
|
-
"children":
|
|
249
|
-
|
|
250
|
-
"children":
|
|
245
|
+
{
|
|
246
|
+
"children": [
|
|
247
|
+
{
|
|
248
|
+
"children": [
|
|
249
|
+
{
|
|
250
|
+
"children": [],
|
|
251
251
|
"level": "subheading",
|
|
252
252
|
"type": "heading",
|
|
253
253
|
},
|
|
254
|
-
|
|
255
|
-
"children":
|
|
254
|
+
{
|
|
255
|
+
"children": [],
|
|
256
256
|
"type": "layout-slot",
|
|
257
257
|
},
|
|
258
|
-
|
|
259
|
-
"children":
|
|
258
|
+
{
|
|
259
|
+
"children": [],
|
|
260
260
|
"type": "layout-slot",
|
|
261
261
|
},
|
|
262
262
|
],
|
|
@@ -277,21 +277,21 @@ describe('bodyXMLToTree', () => {
|
|
|
277
277
|
'<body><div class="n-content-layout"><h3></h3><div class="n-content-layout__slot"></div><p></p></body>'
|
|
278
278
|
|
|
279
279
|
expect(bodyXMLToTree(xml, tags, mockContext)).toMatchInlineSnapshot(`
|
|
280
|
-
|
|
281
|
-
"children":
|
|
282
|
-
|
|
283
|
-
"children":
|
|
284
|
-
|
|
285
|
-
"children":
|
|
280
|
+
{
|
|
281
|
+
"children": [
|
|
282
|
+
{
|
|
283
|
+
"children": [
|
|
284
|
+
{
|
|
285
|
+
"children": [],
|
|
286
286
|
"level": "subheading",
|
|
287
287
|
"type": "heading",
|
|
288
288
|
},
|
|
289
|
-
|
|
290
|
-
"children":
|
|
289
|
+
{
|
|
290
|
+
"children": [],
|
|
291
291
|
"type": "layout-slot",
|
|
292
292
|
},
|
|
293
|
-
|
|
294
|
-
"children":
|
|
293
|
+
{
|
|
294
|
+
"children": [],
|
|
295
295
|
"type": "paragraph",
|
|
296
296
|
},
|
|
297
297
|
],
|
|
@@ -306,10 +306,10 @@ describe('bodyXMLToTree', () => {
|
|
|
306
306
|
`)
|
|
307
307
|
expect(mockLogWarn).toBeCalled()
|
|
308
308
|
expect(mockLogWarn.mock.lastCall).toMatchInlineSnapshot(`
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
"error":
|
|
312
|
-
"actual":
|
|
309
|
+
[
|
|
310
|
+
{
|
|
311
|
+
"error": {
|
|
312
|
+
"actual": [
|
|
313
313
|
"layout-slot",
|
|
314
314
|
"paragraph",
|
|
315
315
|
],
|
|
@@ -328,16 +328,16 @@ describe('bodyXMLToTree', () => {
|
|
|
328
328
|
'<body><div class="n-content-layout"><div class="n-content-layout__slot"></div><p></p></body>'
|
|
329
329
|
|
|
330
330
|
expect(bodyXMLToTree(xml, tags, mockContext)).toMatchInlineSnapshot(`
|
|
331
|
-
|
|
332
|
-
"children":
|
|
333
|
-
|
|
334
|
-
"children":
|
|
335
|
-
|
|
336
|
-
"children":
|
|
331
|
+
{
|
|
332
|
+
"children": [
|
|
333
|
+
{
|
|
334
|
+
"children": [
|
|
335
|
+
{
|
|
336
|
+
"children": [],
|
|
337
337
|
"type": "layout-slot",
|
|
338
338
|
},
|
|
339
|
-
|
|
340
|
-
"children":
|
|
339
|
+
{
|
|
340
|
+
"children": [],
|
|
341
341
|
"type": "paragraph",
|
|
342
342
|
},
|
|
343
343
|
],
|
|
@@ -352,10 +352,10 @@ describe('bodyXMLToTree', () => {
|
|
|
352
352
|
`)
|
|
353
353
|
expect(mockLogWarn).toBeCalled()
|
|
354
354
|
expect(mockLogWarn.mock.lastCall).toMatchInlineSnapshot(`
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
"error":
|
|
358
|
-
"actual":
|
|
355
|
+
[
|
|
356
|
+
{
|
|
357
|
+
"error": {
|
|
358
|
+
"actual": [
|
|
359
359
|
"layout-slot",
|
|
360
360
|
"paragraph",
|
|
361
361
|
],
|
|
@@ -376,26 +376,26 @@ describe('bodyXMLToTree', () => {
|
|
|
376
376
|
'<table class="data-table" data-table-collapse-rownum="" data-table-layout-largescreen="auto" data-table-layout-smallscreen="auto" data-table-theme="auto"><caption>Nulla iaculis tempus augue</caption><thead><tr><th data-column-hidden="none" data-column-sortable="false" data-column-type="string">libero mollis</th><th data-column-hidden="none" data-column-sortable="false" data-column-type="string">pretium nunc</th><th data-column-hidden="none" data-column-sortable="false" data-column-type="string">euismod nunc</th></tr></thead><tbody><tr><td>Aenean </td><td>14134</td><td>dfdsfd</td></tr><tr><td>lobortis </td><td>3434</td><td>fdsf dsf </td></tr><tr><td>volutpat </td><td>234234</td><td>sd fsd</td></tr><tr><td>vitae </td><td>2423</td><td>s fsdf</td></tr><tr><td>elementumus</td><td>23423</td><td>f sdf</td></tr></tbody><tfoot><tr><td colspan="1000">Aenean sodales sapien</td></tr></tfoot></table>'
|
|
377
377
|
|
|
378
378
|
expect(bodyXMLToTree(xml, tags, mockContext)).toMatchInlineSnapshot(`
|
|
379
|
-
|
|
380
|
-
"children":
|
|
381
|
-
|
|
382
|
-
"children":
|
|
383
|
-
|
|
384
|
-
"children":
|
|
385
|
-
|
|
379
|
+
{
|
|
380
|
+
"children": [
|
|
381
|
+
{
|
|
382
|
+
"children": [
|
|
383
|
+
{
|
|
384
|
+
"children": [
|
|
385
|
+
{
|
|
386
386
|
"type": "text",
|
|
387
387
|
"value": "Nulla iaculis tempus augue",
|
|
388
388
|
},
|
|
389
389
|
],
|
|
390
390
|
"type": "table-caption",
|
|
391
391
|
},
|
|
392
|
-
|
|
393
|
-
"children":
|
|
394
|
-
|
|
395
|
-
"children":
|
|
396
|
-
|
|
397
|
-
"children":
|
|
398
|
-
|
|
392
|
+
{
|
|
393
|
+
"children": [
|
|
394
|
+
{
|
|
395
|
+
"children": [
|
|
396
|
+
{
|
|
397
|
+
"children": [
|
|
398
|
+
{
|
|
399
399
|
"type": "text",
|
|
400
400
|
"value": "libero mollis",
|
|
401
401
|
},
|
|
@@ -403,9 +403,9 @@ describe('bodyXMLToTree', () => {
|
|
|
403
403
|
"heading": true,
|
|
404
404
|
"type": "table-cell",
|
|
405
405
|
},
|
|
406
|
-
|
|
407
|
-
"children":
|
|
408
|
-
|
|
406
|
+
{
|
|
407
|
+
"children": [
|
|
408
|
+
{
|
|
409
409
|
"type": "text",
|
|
410
410
|
"value": "pretium nunc",
|
|
411
411
|
},
|
|
@@ -413,9 +413,9 @@ describe('bodyXMLToTree', () => {
|
|
|
413
413
|
"heading": true,
|
|
414
414
|
"type": "table-cell",
|
|
415
415
|
},
|
|
416
|
-
|
|
417
|
-
"children":
|
|
418
|
-
|
|
416
|
+
{
|
|
417
|
+
"children": [
|
|
418
|
+
{
|
|
419
419
|
"type": "text",
|
|
420
420
|
"value": "euismod nunc",
|
|
421
421
|
},
|
|
@@ -426,29 +426,29 @@ describe('bodyXMLToTree', () => {
|
|
|
426
426
|
],
|
|
427
427
|
"type": "table-row",
|
|
428
428
|
},
|
|
429
|
-
|
|
430
|
-
"children":
|
|
431
|
-
|
|
432
|
-
"children":
|
|
433
|
-
|
|
429
|
+
{
|
|
430
|
+
"children": [
|
|
431
|
+
{
|
|
432
|
+
"children": [
|
|
433
|
+
{
|
|
434
434
|
"type": "text",
|
|
435
435
|
"value": "Aenean ",
|
|
436
436
|
},
|
|
437
437
|
],
|
|
438
438
|
"type": "table-cell",
|
|
439
439
|
},
|
|
440
|
-
|
|
441
|
-
"children":
|
|
442
|
-
|
|
440
|
+
{
|
|
441
|
+
"children": [
|
|
442
|
+
{
|
|
443
443
|
"type": "text",
|
|
444
444
|
"value": "14134",
|
|
445
445
|
},
|
|
446
446
|
],
|
|
447
447
|
"type": "table-cell",
|
|
448
448
|
},
|
|
449
|
-
|
|
450
|
-
"children":
|
|
451
|
-
|
|
449
|
+
{
|
|
450
|
+
"children": [
|
|
451
|
+
{
|
|
452
452
|
"type": "text",
|
|
453
453
|
"value": "dfdsfd",
|
|
454
454
|
},
|
|
@@ -458,29 +458,29 @@ describe('bodyXMLToTree', () => {
|
|
|
458
458
|
],
|
|
459
459
|
"type": "table-row",
|
|
460
460
|
},
|
|
461
|
-
|
|
462
|
-
"children":
|
|
463
|
-
|
|
464
|
-
"children":
|
|
465
|
-
|
|
461
|
+
{
|
|
462
|
+
"children": [
|
|
463
|
+
{
|
|
464
|
+
"children": [
|
|
465
|
+
{
|
|
466
466
|
"type": "text",
|
|
467
467
|
"value": "lobortis ",
|
|
468
468
|
},
|
|
469
469
|
],
|
|
470
470
|
"type": "table-cell",
|
|
471
471
|
},
|
|
472
|
-
|
|
473
|
-
"children":
|
|
474
|
-
|
|
472
|
+
{
|
|
473
|
+
"children": [
|
|
474
|
+
{
|
|
475
475
|
"type": "text",
|
|
476
476
|
"value": "3434",
|
|
477
477
|
},
|
|
478
478
|
],
|
|
479
479
|
"type": "table-cell",
|
|
480
480
|
},
|
|
481
|
-
|
|
482
|
-
"children":
|
|
483
|
-
|
|
481
|
+
{
|
|
482
|
+
"children": [
|
|
483
|
+
{
|
|
484
484
|
"type": "text",
|
|
485
485
|
"value": "fdsf dsf ",
|
|
486
486
|
},
|
|
@@ -490,29 +490,29 @@ describe('bodyXMLToTree', () => {
|
|
|
490
490
|
],
|
|
491
491
|
"type": "table-row",
|
|
492
492
|
},
|
|
493
|
-
|
|
494
|
-
"children":
|
|
495
|
-
|
|
496
|
-
"children":
|
|
497
|
-
|
|
493
|
+
{
|
|
494
|
+
"children": [
|
|
495
|
+
{
|
|
496
|
+
"children": [
|
|
497
|
+
{
|
|
498
498
|
"type": "text",
|
|
499
499
|
"value": "volutpat ",
|
|
500
500
|
},
|
|
501
501
|
],
|
|
502
502
|
"type": "table-cell",
|
|
503
503
|
},
|
|
504
|
-
|
|
505
|
-
"children":
|
|
506
|
-
|
|
504
|
+
{
|
|
505
|
+
"children": [
|
|
506
|
+
{
|
|
507
507
|
"type": "text",
|
|
508
508
|
"value": "234234",
|
|
509
509
|
},
|
|
510
510
|
],
|
|
511
511
|
"type": "table-cell",
|
|
512
512
|
},
|
|
513
|
-
|
|
514
|
-
"children":
|
|
515
|
-
|
|
513
|
+
{
|
|
514
|
+
"children": [
|
|
515
|
+
{
|
|
516
516
|
"type": "text",
|
|
517
517
|
"value": "sd fsd",
|
|
518
518
|
},
|
|
@@ -522,29 +522,29 @@ describe('bodyXMLToTree', () => {
|
|
|
522
522
|
],
|
|
523
523
|
"type": "table-row",
|
|
524
524
|
},
|
|
525
|
-
|
|
526
|
-
"children":
|
|
527
|
-
|
|
528
|
-
"children":
|
|
529
|
-
|
|
525
|
+
{
|
|
526
|
+
"children": [
|
|
527
|
+
{
|
|
528
|
+
"children": [
|
|
529
|
+
{
|
|
530
530
|
"type": "text",
|
|
531
531
|
"value": "vitae ",
|
|
532
532
|
},
|
|
533
533
|
],
|
|
534
534
|
"type": "table-cell",
|
|
535
535
|
},
|
|
536
|
-
|
|
537
|
-
"children":
|
|
538
|
-
|
|
536
|
+
{
|
|
537
|
+
"children": [
|
|
538
|
+
{
|
|
539
539
|
"type": "text",
|
|
540
540
|
"value": "2423",
|
|
541
541
|
},
|
|
542
542
|
],
|
|
543
543
|
"type": "table-cell",
|
|
544
544
|
},
|
|
545
|
-
|
|
546
|
-
"children":
|
|
547
|
-
|
|
545
|
+
{
|
|
546
|
+
"children": [
|
|
547
|
+
{
|
|
548
548
|
"type": "text",
|
|
549
549
|
"value": "s fsdf",
|
|
550
550
|
},
|
|
@@ -554,29 +554,29 @@ describe('bodyXMLToTree', () => {
|
|
|
554
554
|
],
|
|
555
555
|
"type": "table-row",
|
|
556
556
|
},
|
|
557
|
-
|
|
558
|
-
"children":
|
|
559
|
-
|
|
560
|
-
"children":
|
|
561
|
-
|
|
557
|
+
{
|
|
558
|
+
"children": [
|
|
559
|
+
{
|
|
560
|
+
"children": [
|
|
561
|
+
{
|
|
562
562
|
"type": "text",
|
|
563
563
|
"value": "elementumus",
|
|
564
564
|
},
|
|
565
565
|
],
|
|
566
566
|
"type": "table-cell",
|
|
567
567
|
},
|
|
568
|
-
|
|
569
|
-
"children":
|
|
570
|
-
|
|
568
|
+
{
|
|
569
|
+
"children": [
|
|
570
|
+
{
|
|
571
571
|
"type": "text",
|
|
572
572
|
"value": "23423",
|
|
573
573
|
},
|
|
574
574
|
],
|
|
575
575
|
"type": "table-cell",
|
|
576
576
|
},
|
|
577
|
-
|
|
578
|
-
"children":
|
|
579
|
-
|
|
577
|
+
{
|
|
578
|
+
"children": [
|
|
579
|
+
{
|
|
580
580
|
"type": "text",
|
|
581
581
|
"value": "f sdf",
|
|
582
582
|
},
|
|
@@ -589,9 +589,9 @@ describe('bodyXMLToTree', () => {
|
|
|
589
589
|
],
|
|
590
590
|
"type": "table-body",
|
|
591
591
|
},
|
|
592
|
-
|
|
593
|
-
"children":
|
|
594
|
-
|
|
592
|
+
{
|
|
593
|
+
"children": [
|
|
594
|
+
{
|
|
595
595
|
"type": "text",
|
|
596
596
|
"value": "Aenean sodales sapien",
|
|
597
597
|
},
|
|
@@ -600,18 +600,18 @@ describe('bodyXMLToTree', () => {
|
|
|
600
600
|
},
|
|
601
601
|
],
|
|
602
602
|
"collapseAfterHowManyRows": undefined,
|
|
603
|
-
"columnSettings":
|
|
604
|
-
|
|
603
|
+
"columnSettings": [
|
|
604
|
+
{
|
|
605
605
|
"hideOnMobile": false,
|
|
606
606
|
"sortType": "text",
|
|
607
607
|
"sortable": false,
|
|
608
608
|
},
|
|
609
|
-
|
|
609
|
+
{
|
|
610
610
|
"hideOnMobile": false,
|
|
611
611
|
"sortType": "text",
|
|
612
612
|
"sortable": false,
|
|
613
613
|
},
|
|
614
|
-
|
|
614
|
+
{
|
|
615
615
|
"hideOnMobile": false,
|
|
616
616
|
"sortType": "text",
|
|
617
617
|
"sortable": false,
|
|
@@ -635,13 +635,13 @@ describe('bodyXMLToTree', () => {
|
|
|
635
635
|
'<table class="data-table" id="U1140244733565W0C"><caption>Emerging markets outlook for 2017</caption><tbody><tr><td colspan="2"><p>Brazil</p><p>Brazilian shares were the best-performing asset globally over the 12 months to the end of January, returning 121 per cent, according to data from BofA Merrill Lynch. Brazilian stocks did very well through January, but investors including Lazard and Eastspring have scaled back their exposure after strong growth last year.</p></td></tr></tbody></table>'
|
|
636
636
|
|
|
637
637
|
expect(bodyXMLToTree(xml, tags, mockContext)).toMatchInlineSnapshot(`
|
|
638
|
-
|
|
639
|
-
"children":
|
|
640
|
-
|
|
641
|
-
"children":
|
|
642
|
-
|
|
643
|
-
"children":
|
|
644
|
-
|
|
638
|
+
{
|
|
639
|
+
"children": [
|
|
640
|
+
{
|
|
641
|
+
"children": [
|
|
642
|
+
{
|
|
643
|
+
"children": [
|
|
644
|
+
{
|
|
645
645
|
"type": "text",
|
|
646
646
|
"value": "Emerging markets outlook for 2017",
|
|
647
647
|
},
|
|
@@ -649,20 +649,20 @@ describe('bodyXMLToTree', () => {
|
|
|
649
649
|
"level": "subheading",
|
|
650
650
|
"type": "heading",
|
|
651
651
|
},
|
|
652
|
-
|
|
653
|
-
"children":
|
|
654
|
-
|
|
655
|
-
"children":
|
|
656
|
-
|
|
652
|
+
{
|
|
653
|
+
"children": [
|
|
654
|
+
{
|
|
655
|
+
"children": [
|
|
656
|
+
{
|
|
657
657
|
"type": "text",
|
|
658
658
|
"value": "Brazil",
|
|
659
659
|
},
|
|
660
660
|
],
|
|
661
661
|
"type": "paragraph",
|
|
662
662
|
},
|
|
663
|
-
|
|
664
|
-
"children":
|
|
665
|
-
|
|
663
|
+
{
|
|
664
|
+
"children": [
|
|
665
|
+
{
|
|
666
666
|
"type": "text",
|
|
667
667
|
"value": "Brazilian shares were the best-performing asset globally over the 12 months to the end of January, returning 121 per cent, according to data from BofA Merrill Lynch. Brazilian stocks did very well through January, but investors including Lazard and Eastspring have scaled back their exposure after strong growth last year.",
|
|
668
668
|
},
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
ClipSetResolvers,
|
|
12
12
|
} from '../../../generated'
|
|
13
13
|
import { ReferenceWithCAPIData } from '.'
|
|
14
|
+
import type { QueryContext } from '../../..'
|
|
14
15
|
|
|
15
16
|
function getClipSet(
|
|
16
17
|
parent: ReferenceWithCAPIData<
|
|
@@ -72,12 +73,12 @@ export const ClipSet = {
|
|
|
72
73
|
source: (parent) => getClipSet(parent)?.source || null,
|
|
73
74
|
subtitle: (parent) => getClipSet(parent)?.subtitle || null,
|
|
74
75
|
publishedDate: (parent) => getClipSet(parent)?.publishedDate || null,
|
|
75
|
-
async clips(parent) {
|
|
76
|
+
async clips(parent, _args: object, context: QueryContext) {
|
|
76
77
|
const clipSet = getClipSet(parent)
|
|
77
78
|
|
|
78
79
|
return clipSet && clipSet.members && clipSet.members.length > 0
|
|
79
80
|
? clipSet.members.map(
|
|
80
|
-
(clip) => new Clip(clip, parent.reference.dataLayout)
|
|
81
|
+
(clip) => new Clip(clip, context, parent.reference.dataLayout)
|
|
81
82
|
)
|
|
82
83
|
: null
|
|
83
84
|
},
|