@takeshape/schema 8.144.4 → 8.146.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 (125) hide show
  1. package/dist/builtin-schema.d.ts.map +1 -1
  2. package/dist/builtin-schema.js +17 -0
  3. package/dist/get-is-leaf.d.ts +1 -1
  4. package/dist/get-is-leaf.d.ts.map +1 -1
  5. package/dist/get-is-leaf.js +3 -1
  6. package/dist/migration/index.d.ts +1 -0
  7. package/dist/migration/index.d.ts.map +1 -1
  8. package/dist/migration/index.js +4 -1
  9. package/dist/migration/to/v3.0.0.d.ts.map +1 -1
  10. package/dist/migration/to/v3.18.0.d.ts +5 -0
  11. package/dist/migration/to/v3.18.0.d.ts.map +1 -0
  12. package/dist/migration/to/v3.18.0.js +85 -0
  13. package/dist/mocks.d.ts.map +1 -1
  14. package/dist/mocks.js +4 -2
  15. package/dist/project-schema/index.d.ts +4 -1
  16. package/dist/project-schema/index.d.ts.map +1 -1
  17. package/dist/project-schema/index.js +20 -3
  18. package/dist/project-schema/latest.d.ts +4 -139
  19. package/dist/project-schema/latest.d.ts.map +1 -1
  20. package/dist/project-schema/migrate.d.ts.map +1 -1
  21. package/dist/project-schema/migrate.js +4 -0
  22. package/dist/project-schema/v3.18.0.d.ts +1334 -0
  23. package/dist/project-schema/v3.18.0.d.ts.map +1 -0
  24. package/dist/project-schema/v3.18.0.js +5 -0
  25. package/dist/refs.d.ts +14 -2
  26. package/dist/refs.d.ts.map +1 -1
  27. package/dist/refs.js +26 -0
  28. package/dist/relationships.d.ts +28 -2
  29. package/dist/relationships.d.ts.map +1 -1
  30. package/dist/relationships.js +234 -19
  31. package/dist/rewrite.d.ts.map +1 -1
  32. package/dist/rewrite.js +10 -2
  33. package/dist/schema-util.d.ts +1 -18
  34. package/dist/schema-util.d.ts.map +1 -1
  35. package/dist/schema-util.js +36 -120
  36. package/dist/schemas/index.d.ts +2 -2
  37. package/dist/schemas/index.d.ts.map +1 -1
  38. package/dist/schemas/index.js +6 -4
  39. package/dist/schemas/index.ts +4 -2
  40. package/dist/schemas/project-schema/latest.json +2175 -2195
  41. package/dist/schemas/project-schema/v3.18.0.json +2350 -0
  42. package/dist/schemas/project-schema.json +3 -0
  43. package/dist/template-shapes/templates.d.ts +5 -0
  44. package/dist/template-shapes/templates.d.ts.map +1 -1
  45. package/dist/template-shapes/templates.js +59 -28
  46. package/dist/template-shapes/where.d.ts +3 -4
  47. package/dist/template-shapes/where.d.ts.map +1 -1
  48. package/dist/template-shapes/where.js +32 -26
  49. package/dist/types/types.d.ts +42 -2
  50. package/dist/types/types.d.ts.map +1 -1
  51. package/dist/types/utils.d.ts +2 -0
  52. package/dist/types/utils.d.ts.map +1 -1
  53. package/dist/types/utils.js +9 -1
  54. package/dist/unions.d.ts.map +1 -1
  55. package/dist/unions.js +3 -1
  56. package/dist/util/detect-cycles.d.ts +3 -1
  57. package/dist/util/detect-cycles.d.ts.map +1 -1
  58. package/dist/util/detect-cycles.js +37 -28
  59. package/dist/util/form-config.d.ts +9 -0
  60. package/dist/util/form-config.d.ts.map +1 -0
  61. package/dist/util/form-config.js +97 -0
  62. package/dist/util/index.d.ts +1 -0
  63. package/dist/util/index.d.ts.map +1 -1
  64. package/dist/util/index.js +13 -0
  65. package/dist/validate.d.ts.map +1 -1
  66. package/dist/validate.js +75 -45
  67. package/es/builtin-schema.js +17 -0
  68. package/es/get-is-leaf.js +2 -1
  69. package/es/migration/index.js +3 -1
  70. package/es/migration/to/v3.18.0.js +72 -0
  71. package/es/mocks.js +4 -2
  72. package/es/project-schema/index.js +3 -1
  73. package/es/project-schema/migrate.js +5 -1
  74. package/es/project-schema/v3.18.0.js +1 -0
  75. package/es/refs.js +22 -1
  76. package/es/relationships.js +215 -19
  77. package/es/rewrite.js +10 -2
  78. package/es/schema-util.js +38 -119
  79. package/es/schemas/index.js +4 -3
  80. package/es/schemas/index.ts +4 -2
  81. package/es/schemas/project-schema/latest.json +2175 -2195
  82. package/es/schemas/project-schema/v3.18.0.json +2350 -0
  83. package/es/schemas/project-schema.json +3 -0
  84. package/es/template-shapes/templates.js +55 -29
  85. package/es/template-shapes/where.js +29 -23
  86. package/es/types/utils.js +8 -2
  87. package/es/unions.js +2 -1
  88. package/es/util/detect-cycles.js +36 -28
  89. package/es/util/form-config.js +85 -0
  90. package/es/util/index.js +2 -1
  91. package/es/validate.js +74 -46
  92. package/examples/latest/betzino.json +12383 -6066
  93. package/examples/latest/blog-schema.json +46 -25
  94. package/examples/latest/brewery-schema.json +14 -9
  95. package/examples/latest/complex-project-schema.json +442 -244
  96. package/examples/latest/complex-schema.json +17205 -0
  97. package/examples/latest/fabric-ecommerce.json +2 -2
  98. package/examples/latest/frank-and-fred-schema.json +5141 -2391
  99. package/examples/latest/klirr-schema.json +35445 -0
  100. package/examples/latest/massive-schema.json +1205 -640
  101. package/examples/latest/mill-components-schema.json +241 -113
  102. package/examples/latest/one-earth.json +14429 -0
  103. package/examples/latest/pet-oneof-array.json +2 -2
  104. package/examples/latest/post-schema.json +18 -11
  105. package/examples/latest/pruned-shopify-product-schema.json +2 -2
  106. package/examples/latest/real-world-schema.json +81 -41
  107. package/examples/latest/recursive-repeater-schema.json +14 -9
  108. package/examples/latest/recursive-schema.json +14 -9
  109. package/examples/latest/rick-and-morty-ast.json +138 -80
  110. package/examples/latest/rick-and-morty-graphql.json +78 -45
  111. package/examples/latest/rick-and-morty-rest.json +2 -2
  112. package/examples/latest/schema-with-repeater-draftjs.json +38 -23
  113. package/examples/latest/shape-books-v3_2_0.json +138 -80
  114. package/examples/latest/shape-books.json +138 -80
  115. package/examples/latest/shopify-lookbook.json +30 -16
  116. package/examples/latest/shopify-namespace-schema.json +364 -0
  117. package/examples/latest/shopify-store-with-widget.json +2 -2
  118. package/examples/latest/stripe-starter-resolved.json +14 -8
  119. package/examples/latest/user-schema-no-required.json +2 -2
  120. package/examples/latest/user-schema-with-defaults.json +2 -2
  121. package/examples/source/complex-schema.json +12760 -0
  122. package/examples/source/klirr-schema.json +27716 -0
  123. package/examples/source/one-earth.json +11897 -0
  124. package/examples/source/post-schema.json +0 -1
  125. package/package.json +5 -4
@@ -404,6 +404,6 @@
404
404
  }
405
405
  }
406
406
  },
407
- "schemaVersion": "3.17.1",
407
+ "schemaVersion": "3.18.0",
408
408
  "services": {}
409
- }
409
+ }
@@ -1,5 +1,4 @@
1
1
  {
2
- "$schema": "http://takeshape.io/schemas/project-schema#",
3
2
  "projectId": "<projectId>",
4
3
  "defaultLocale": "en",
5
4
  "locales": [
@@ -181,19 +180,27 @@
181
180
  },
182
181
  "tags": {
183
182
  "@mapping": "takeshape:local:Post.tagsId",
184
- "type": "array",
185
183
  "items": {
186
- "$ref": "#/shapes/TSRelationship/schema"
187
- },
188
- "@relationship": {
189
- "shapeIds": [
190
- "tagContentTypeId"
191
- ],
192
- "type": "multiple"
184
+ "@ref": "local:Tag"
193
185
  },
194
186
  "@backreference": {
195
187
  "enabled": true,
196
188
  "name": "firstTags"
189
+ },
190
+ "type": "array",
191
+ "@input": {
192
+ "type": "array",
193
+ "items": {
194
+ "@ref": "local:TSRelationship"
195
+ }
196
+ },
197
+ "@args": "TSRelationshipArgs",
198
+ "@resolver": {
199
+ "name": "takeshape:getRelated",
200
+ "service": "takeshape:local",
201
+ "options": {
202
+ "nullable": true
203
+ }
197
204
  }
198
205
  }
199
206
  },
@@ -223,6 +230,6 @@
223
230
  }
224
231
  }
225
232
  },
226
- "schemaVersion": "3.17.1",
233
+ "schemaVersion": "3.18.0",
227
234
  "services": {}
228
- }
235
+ }
@@ -9760,5 +9760,5 @@
9760
9760
  }
9761
9761
  }
9762
9762
  },
9763
- "schemaVersion": "3.17.1"
9764
- }
9763
+ "schemaVersion": "3.18.0"
9764
+ }
@@ -502,18 +502,26 @@
502
502
  "similarBeers": {
503
503
  "title": "Similar Beers",
504
504
  "@mapping": "takeshape:local:Beer.ry5xpLhoZ",
505
- "type": "array",
506
505
  "items": {
507
- "$ref": "#/shapes/TSRelationship/schema"
508
- },
509
- "@relationship": {
510
- "shapeIds": [
511
- "ry9SoTEGl"
512
- ],
513
- "type": "multiple"
506
+ "@ref": "local:Beer"
514
507
  },
515
508
  "@backreference": {
516
509
  "enabled": true
510
+ },
511
+ "type": "array",
512
+ "@input": {
513
+ "type": "array",
514
+ "items": {
515
+ "@ref": "local:TSRelationship"
516
+ }
517
+ },
518
+ "@args": "TSRelationshipArgs",
519
+ "@resolver": {
520
+ "name": "takeshape:getRelated",
521
+ "service": "takeshape:local",
522
+ "options": {
523
+ "nullable": true
524
+ }
517
525
  }
518
526
  },
519
527
  "_version": {
@@ -528,15 +536,20 @@
528
536
  "title": "Image",
529
537
  "description": "An image",
530
538
  "@mapping": "takeshape:local:Beer.S15VspNMl",
531
- "$ref": "#/shapes/TSRelationship/schema",
532
- "@relationship": {
533
- "shapeIds": [
534
- "ASSET"
535
- ],
536
- "type": "single"
537
- },
538
539
  "@backreference": {
539
540
  "enabled": true
541
+ },
542
+ "@ref": "local:Asset",
543
+ "@input": {
544
+ "@ref": "local:TSRelationship"
545
+ },
546
+ "@args": "TSRelationshipArgs",
547
+ "@resolver": {
548
+ "name": "takeshape:getRelated",
549
+ "service": "takeshape:local",
550
+ "options": {
551
+ "nullable": true
552
+ }
540
553
  }
541
554
  },
542
555
  "_createdAt": {
@@ -647,19 +660,27 @@
647
660
  "relatedBeer": {
648
661
  "title": "Related Beer",
649
662
  "@mapping": "takeshape:local:Post.B1fAr2Yjx",
650
- "type": "array",
651
663
  "items": {
652
- "$ref": "#/shapes/TSRelationship/schema"
653
- },
654
- "@relationship": {
655
- "shapeIds": [
656
- "ry9SoTEGl"
657
- ],
658
- "type": "multiple"
664
+ "@ref": "local:Beer"
659
665
  },
660
666
  "@backreference": {
661
667
  "enabled": true,
662
668
  "name": "relatedPosts"
669
+ },
670
+ "type": "array",
671
+ "@input": {
672
+ "type": "array",
673
+ "items": {
674
+ "@ref": "local:TSRelationship"
675
+ }
676
+ },
677
+ "@args": "TSRelationshipArgs",
678
+ "@resolver": {
679
+ "name": "takeshape:getRelated",
680
+ "service": "takeshape:local",
681
+ "options": {
682
+ "nullable": true
683
+ }
663
684
  }
664
685
  },
665
686
  "_createdAt": {
@@ -685,15 +706,20 @@
685
706
  "title": "Image",
686
707
  "description": "An image",
687
708
  "@mapping": "takeshape:local:PostBody.rJg1ATEMg",
688
- "$ref": "#/shapes/TSRelationship/schema",
689
- "@relationship": {
690
- "shapeIds": [
691
- "ASSET"
692
- ],
693
- "type": "single"
694
- },
695
709
  "@backreference": {
696
710
  "enabled": true
711
+ },
712
+ "@ref": "local:Asset",
713
+ "@input": {
714
+ "@ref": "local:TSRelationship"
715
+ },
716
+ "@args": "TSRelationshipArgs",
717
+ "@resolver": {
718
+ "name": "takeshape:getRelated",
719
+ "service": "takeshape:local",
720
+ "options": {
721
+ "nullable": true
722
+ }
697
723
  }
698
724
  },
699
725
  "text": {
@@ -743,19 +769,33 @@
743
769
  "relationship": {
744
770
  "title": "Relationship",
745
771
  "@mapping": "takeshape:local:Homepage.HkiM6FO3x",
746
- "type": "array",
747
772
  "items": {
748
- "$ref": "#/shapes/TSRelationship/schema"
749
- },
750
- "@relationship": {
751
- "shapeIds": [
752
- "ry9SoTEGl",
753
- "r1wsT6Efx"
754
- ],
755
- "type": "multiple"
773
+ "oneOf": [
774
+ {
775
+ "@ref": "local:Beer"
776
+ },
777
+ {
778
+ "@ref": "local:Post"
779
+ }
780
+ ]
756
781
  },
757
782
  "@backreference": {
758
783
  "enabled": true
784
+ },
785
+ "type": "array",
786
+ "@input": {
787
+ "type": "array",
788
+ "items": {
789
+ "@ref": "local:TSRelationship"
790
+ }
791
+ },
792
+ "@args": "TSRelationshipArgs",
793
+ "@resolver": {
794
+ "name": "takeshape:getRelated",
795
+ "service": "takeshape:local",
796
+ "options": {
797
+ "nullable": true
798
+ }
759
799
  }
760
800
  },
761
801
  "_version": {
@@ -1005,6 +1045,6 @@
1005
1045
  }
1006
1046
  }
1007
1047
  },
1008
- "schemaVersion": "3.17.1",
1048
+ "schemaVersion": "3.18.0",
1009
1049
  "services": {}
1010
- }
1050
+ }
@@ -126,21 +126,26 @@
126
126
  "properties": {
127
127
  "relatedPost": {
128
128
  "@mapping": "takeshape:local:PostRepeater.relatedPostKey",
129
- "$ref": "#/shapes/TSRelationship/schema",
130
- "@relationship": {
131
- "shapeIds": [
132
- "<postContentTypeId>"
133
- ],
134
- "type": "single"
135
- },
136
129
  "@backreference": {
137
130
  "enabled": true
131
+ },
132
+ "@ref": "local:Post",
133
+ "@input": {
134
+ "@ref": "local:TSRelationship"
135
+ },
136
+ "@args": "TSRelationshipArgs",
137
+ "@resolver": {
138
+ "name": "takeshape:getRelated",
139
+ "service": "takeshape:local",
140
+ "options": {
141
+ "nullable": true
142
+ }
138
143
  }
139
144
  }
140
145
  }
141
146
  }
142
147
  }
143
148
  },
144
- "schemaVersion": "3.17.1",
149
+ "schemaVersion": "3.18.0",
145
150
  "services": {}
146
- }
151
+ }
@@ -130,15 +130,20 @@
130
130
  },
131
131
  "relatedPost": {
132
132
  "@mapping": "takeshape:local:Post.relatedPostKey",
133
- "$ref": "#/shapes/TSRelationship/schema",
134
- "@relationship": {
135
- "shapeIds": [
136
- "<postContentTypeId>"
137
- ],
138
- "type": "single"
139
- },
140
133
  "@backreference": {
141
134
  "enabled": true
135
+ },
136
+ "@ref": "local:Post",
137
+ "@input": {
138
+ "@ref": "local:TSRelationship"
139
+ },
140
+ "@args": "TSRelationshipArgs",
141
+ "@resolver": {
142
+ "name": "takeshape:getRelated",
143
+ "service": "takeshape:local",
144
+ "options": {
145
+ "nullable": true
146
+ }
142
147
  }
143
148
  }
144
149
  },
@@ -148,6 +153,6 @@
148
153
  }
149
154
  }
150
155
  },
151
- "schemaVersion": "3.17.1",
156
+ "schemaVersion": "3.18.0",
152
157
  "services": {}
153
- }
158
+ }
@@ -1239,15 +1239,20 @@
1239
1239
  "authorTag": {
1240
1240
  "title": "Author Tag",
1241
1241
  "@mapping": "takeshape:local:Asset.SyQiZrgdX",
1242
- "$ref": "#/shapes/TSRelationship/schema",
1243
- "@relationship": {
1244
- "shapeIds": [
1245
- "SJDIicDUZ"
1246
- ],
1247
- "type": "single"
1248
- },
1249
1242
  "@backreference": {
1250
1243
  "enabled": true
1244
+ },
1245
+ "@ref": "local:Author",
1246
+ "@input": {
1247
+ "@ref": "local:TSRelationship"
1248
+ },
1249
+ "@args": "TSRelationshipArgs",
1250
+ "@resolver": {
1251
+ "name": "takeshape:getRelated",
1252
+ "service": "takeshape:local",
1253
+ "options": {
1254
+ "nullable": true
1255
+ }
1251
1256
  }
1252
1257
  },
1253
1258
  "credit": {
@@ -1831,15 +1836,20 @@
1831
1836
  "featureImage": {
1832
1837
  "title": "Feature Image",
1833
1838
  "@mapping": "takeshape:local:Post.BybUznPIW",
1834
- "$ref": "#/shapes/TSRelationship/schema",
1835
- "@relationship": {
1836
- "shapeIds": [
1837
- "ASSET"
1838
- ],
1839
- "type": "single"
1840
- },
1841
1839
  "@backreference": {
1842
1840
  "enabled": true
1841
+ },
1842
+ "@ref": "local:Asset",
1843
+ "@input": {
1844
+ "@ref": "local:TSRelationship"
1845
+ },
1846
+ "@args": "TSRelationshipArgs",
1847
+ "@resolver": {
1848
+ "name": "takeshape:getRelated",
1849
+ "service": "takeshape:local",
1850
+ "options": {
1851
+ "nullable": true
1852
+ }
1843
1853
  }
1844
1854
  },
1845
1855
  "title": {
@@ -1851,15 +1861,20 @@
1851
1861
  "author": {
1852
1862
  "title": "Author",
1853
1863
  "@mapping": "takeshape:local:Post.rJgad7TLZ",
1854
- "$ref": "#/shapes/TSRelationship/schema",
1855
- "@relationship": {
1856
- "shapeIds": [
1857
- "SJDIicDUZ"
1858
- ],
1859
- "type": "single"
1860
- },
1861
1864
  "@backreference": {
1862
1865
  "enabled": true
1866
+ },
1867
+ "@ref": "local:Author",
1868
+ "@input": {
1869
+ "@ref": "local:TSRelationship"
1870
+ },
1871
+ "@args": "TSRelationshipArgs",
1872
+ "@resolver": {
1873
+ "name": "takeshape:getRelated",
1874
+ "service": "takeshape:local",
1875
+ "options": {
1876
+ "nullable": true
1877
+ }
1863
1878
  }
1864
1879
  },
1865
1880
  "deck": {
@@ -1871,18 +1886,26 @@
1871
1886
  "tags": {
1872
1887
  "title": "Tags",
1873
1888
  "@mapping": "takeshape:local:Post.Hkb57EkOQ",
1874
- "type": "array",
1875
1889
  "items": {
1876
- "$ref": "#/shapes/TSRelationship/schema"
1877
- },
1878
- "@relationship": {
1879
- "shapeIds": [
1880
- "rJBYXVyuQ"
1881
- ],
1882
- "type": "multiple"
1890
+ "@ref": "local:Tag"
1883
1891
  },
1884
1892
  "@backreference": {
1885
1893
  "enabled": true
1894
+ },
1895
+ "type": "array",
1896
+ "@input": {
1897
+ "type": "array",
1898
+ "items": {
1899
+ "@ref": "local:TSRelationship"
1900
+ }
1901
+ },
1902
+ "@args": "TSRelationshipArgs",
1903
+ "@resolver": {
1904
+ "name": "takeshape:getRelated",
1905
+ "service": "takeshape:local",
1906
+ "options": {
1907
+ "nullable": true
1908
+ }
1886
1909
  }
1887
1910
  },
1888
1911
  "_id": {
@@ -1995,15 +2018,20 @@
1995
2018
  "photo": {
1996
2019
  "title": "Photo",
1997
2020
  "@mapping": "takeshape:local:Author.BkyFrpUcb",
1998
- "$ref": "#/shapes/TSRelationship/schema",
1999
- "@relationship": {
2000
- "shapeIds": [
2001
- "ASSET"
2002
- ],
2003
- "type": "single"
2004
- },
2005
2021
  "@backreference": {
2006
2022
  "enabled": true
2023
+ },
2024
+ "@ref": "local:Asset",
2025
+ "@input": {
2026
+ "@ref": "local:TSRelationship"
2027
+ },
2028
+ "@args": "TSRelationshipArgs",
2029
+ "@resolver": {
2030
+ "name": "takeshape:getRelated",
2031
+ "service": "takeshape:local",
2032
+ "options": {
2033
+ "nullable": true
2034
+ }
2007
2035
  }
2008
2036
  },
2009
2037
  "biography": {
@@ -2123,15 +2151,20 @@
2123
2151
  "featuredBook": {
2124
2152
  "title": "Featured Book",
2125
2153
  "@mapping": "takeshape:local:Homepage.r1xPx1OUW",
2126
- "$ref": "#/shapes/TSRelationship/schema",
2127
- "@relationship": {
2128
- "shapeIds": [
2129
- "r166qcP8Z"
2130
- ],
2131
- "type": "single"
2132
- },
2133
2154
  "@backreference": {
2134
2155
  "enabled": true
2156
+ },
2157
+ "@ref": "local:Book",
2158
+ "@input": {
2159
+ "@ref": "local:TSRelationship"
2160
+ },
2161
+ "@args": "TSRelationshipArgs",
2162
+ "@resolver": {
2163
+ "name": "takeshape:getRelated",
2164
+ "service": "takeshape:local",
2165
+ "options": {
2166
+ "nullable": true
2167
+ }
2135
2168
  }
2136
2169
  },
2137
2170
  "hero": {
@@ -2236,30 +2269,40 @@
2236
2269
  "image": {
2237
2270
  "title": "Image",
2238
2271
  "@mapping": "takeshape:local:HomepageHero.H1vBnAv8-",
2239
- "$ref": "#/shapes/TSRelationship/schema",
2240
- "@relationship": {
2241
- "shapeIds": [
2242
- "ASSET"
2243
- ],
2244
- "type": "single"
2245
- },
2246
2272
  "@backreference": {
2247
2273
  "enabled": true
2274
+ },
2275
+ "@ref": "local:Asset",
2276
+ "@input": {
2277
+ "@ref": "local:TSRelationship"
2278
+ },
2279
+ "@args": "TSRelationshipArgs",
2280
+ "@resolver": {
2281
+ "name": "takeshape:getRelated",
2282
+ "service": "takeshape:local",
2283
+ "options": {
2284
+ "nullable": true
2285
+ }
2248
2286
  }
2249
2287
  },
2250
2288
  "featuredPost": {
2251
2289
  "title": "Featured Post",
2252
2290
  "@mapping": "takeshape:local:HomepageHero.SJ1Xo0v8b",
2253
- "$ref": "#/shapes/TSRelationship/schema",
2254
- "@relationship": {
2255
- "shapeIds": [
2256
- "rJoobhv8W"
2257
- ],
2258
- "type": "single"
2259
- },
2260
2291
  "@backreference": {
2261
2292
  "enabled": true,
2262
2293
  "name": "heroFeaturedPost"
2294
+ },
2295
+ "@ref": "local:Post",
2296
+ "@input": {
2297
+ "@ref": "local:TSRelationship"
2298
+ },
2299
+ "@args": "TSRelationshipArgs",
2300
+ "@resolver": {
2301
+ "name": "takeshape:getRelated",
2302
+ "service": "takeshape:local",
2303
+ "options": {
2304
+ "nullable": true
2305
+ }
2263
2306
  }
2264
2307
  }
2265
2308
  }
@@ -2407,18 +2450,23 @@
2407
2450
  "@mapping": "rick-and-morty:Character.episode"
2408
2451
  },
2409
2452
  "genre": {
2410
- "$ref": "#/shapes/TSRelationship/schema",
2411
- "@relationship": {
2412
- "shapeIds": [
2413
- "rJ9bZzk-m"
2414
- ],
2415
- "type": "single"
2416
- },
2417
2453
  "title": "Genre",
2418
2454
  "@mapping": "takeshape:local:Book.B1E4ZMkW7",
2419
2455
  "@backreference": {
2420
2456
  "enabled": true,
2421
2457
  "name": "books"
2458
+ },
2459
+ "@ref": "local:Genre",
2460
+ "@input": {
2461
+ "@ref": "local:TSRelationship"
2462
+ },
2463
+ "@args": "TSRelationshipArgs",
2464
+ "@resolver": {
2465
+ "name": "takeshape:getRelated",
2466
+ "service": "takeshape:local",
2467
+ "options": {
2468
+ "nullable": true
2469
+ }
2422
2470
  }
2423
2471
  },
2424
2472
  "publishDate": {
@@ -2428,32 +2476,42 @@
2428
2476
  "@mapping": "takeshape:local:Book.BJtYLE5PZ"
2429
2477
  },
2430
2478
  "coverImage": {
2431
- "$ref": "#/shapes/TSRelationship/schema",
2432
- "@relationship": {
2433
- "shapeIds": [
2434
- "ASSET"
2435
- ],
2436
- "type": "single"
2437
- },
2438
2479
  "title": "Cover Image",
2439
2480
  "@mapping": "takeshape:local:Book.SymsKiD8W",
2440
2481
  "@backreference": {
2441
2482
  "enabled": true
2483
+ },
2484
+ "@ref": "local:Asset",
2485
+ "@input": {
2486
+ "@ref": "local:TSRelationship"
2487
+ },
2488
+ "@args": "TSRelationshipArgs",
2489
+ "@resolver": {
2490
+ "name": "takeshape:getRelated",
2491
+ "service": "takeshape:local",
2492
+ "options": {
2493
+ "nullable": true
2494
+ }
2442
2495
  }
2443
2496
  },
2444
2497
  "author": {
2445
- "$ref": "#/shapes/TSRelationship/schema",
2446
- "@relationship": {
2447
- "shapeIds": [
2448
- "SJDIicDUZ"
2449
- ],
2450
- "type": "single"
2451
- },
2452
2498
  "title": "Author",
2453
2499
  "@mapping": "takeshape:local:Book.BJ7Xn5vLW",
2454
2500
  "@backreference": {
2455
2501
  "enabled": true,
2456
2502
  "name": "authored"
2503
+ },
2504
+ "@ref": "local:Author",
2505
+ "@input": {
2506
+ "@ref": "local:TSRelationship"
2507
+ },
2508
+ "@args": "TSRelationshipArgs",
2509
+ "@resolver": {
2510
+ "name": "takeshape:getRelated",
2511
+ "service": "takeshape:local",
2512
+ "options": {
2513
+ "nullable": true
2514
+ }
2457
2515
  }
2458
2516
  },
2459
2517
  "totalPages": {
@@ -2814,5 +2872,5 @@
2814
2872
  }
2815
2873
  }
2816
2874
  },
2817
- "schemaVersion": "3.17.1"
2818
- }
2875
+ "schemaVersion": "3.18.0"
2876
+ }