@unhead/schema-org 2.0.18 → 2.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/dist/chunks/index.mjs +23 -0
  2. package/dist/chunks/index10.mjs +63 -0
  3. package/dist/chunks/index11.mjs +35 -0
  4. package/dist/chunks/index12.mjs +48 -0
  5. package/dist/chunks/index13.mjs +36 -0
  6. package/dist/chunks/index14.mjs +25 -0
  7. package/dist/chunks/index15.mjs +37 -0
  8. package/dist/chunks/index16.mjs +27 -0
  9. package/dist/chunks/index17.mjs +34 -0
  10. package/dist/chunks/index18.mjs +32 -0
  11. package/dist/chunks/index19.mjs +31 -0
  12. package/dist/chunks/index2.mjs +12 -0
  13. package/dist/chunks/index20.mjs +31 -0
  14. package/dist/chunks/index21.mjs +30 -0
  15. package/dist/chunks/index22.mjs +30 -0
  16. package/dist/chunks/index23.mjs +82 -0
  17. package/dist/chunks/index24.mjs +14 -0
  18. package/dist/chunks/index25.mjs +33 -0
  19. package/dist/chunks/index26.mjs +31 -0
  20. package/dist/chunks/index27.mjs +29 -0
  21. package/dist/chunks/index28.mjs +12 -0
  22. package/dist/chunks/index29.mjs +46 -0
  23. package/dist/chunks/index3.mjs +317 -0
  24. package/dist/chunks/index30.mjs +53 -0
  25. package/dist/chunks/index31.mjs +41 -0
  26. package/dist/chunks/index32.mjs +26 -0
  27. package/dist/chunks/index33.mjs +47 -0
  28. package/dist/chunks/index34.mjs +29 -0
  29. package/dist/chunks/index35.mjs +34 -0
  30. package/dist/chunks/index36.mjs +33 -0
  31. package/dist/chunks/index37.mjs +34 -0
  32. package/dist/chunks/index38.mjs +51 -0
  33. package/dist/chunks/index39.mjs +17 -0
  34. package/dist/chunks/index4.mjs +54 -0
  35. package/dist/chunks/index40.mjs +29 -0
  36. package/dist/chunks/index5.mjs +31 -0
  37. package/dist/chunks/index6.mjs +29 -0
  38. package/dist/chunks/index7.mjs +35 -0
  39. package/dist/chunks/index8.mjs +18 -0
  40. package/dist/chunks/index9.mjs +20 -0
  41. package/dist/index.d.mts +6 -11
  42. package/dist/index.d.ts +6 -11
  43. package/dist/index.mjs +43 -3
  44. package/dist/react.d.mts +3 -3
  45. package/dist/react.d.ts +3 -3
  46. package/dist/react.mjs +3 -5
  47. package/dist/shared/schema-org.40UJYB57.mjs +19 -0
  48. package/dist/shared/{schema-org.B3f2mYF6.d.ts → schema-org.BR4WcSqZ.d.ts} +3 -3
  49. package/dist/shared/schema-org.CAKsqzbX.d.ts +1022 -0
  50. package/dist/shared/{schema-org.D5CDiwX5.d.ts → schema-org.CFcsqFfN.d.mts} +215 -15
  51. package/dist/shared/{schema-org.D5CDiwX5.d.mts → schema-org.CFcsqFfN.d.ts} +215 -15
  52. package/dist/shared/{schema-org.q010LqYD.mjs → schema-org.CHbRCiep.mjs} +12 -0
  53. package/dist/shared/schema-org.Cp6bpwL2.mjs +875 -0
  54. package/dist/shared/schema-org.Dg61qWpa.mjs +27 -0
  55. package/dist/shared/schema-org.UT1u1UYq.d.mts +1022 -0
  56. package/dist/shared/{schema-org.jGJJYnRv.d.mts → schema-org.oFHFm6my.d.mts} +3 -3
  57. package/dist/solid-js.d.mts +3 -3
  58. package/dist/solid-js.d.ts +3 -3
  59. package/dist/solid-js.mjs +3 -5
  60. package/dist/svelte.d.mts +3 -3
  61. package/dist/svelte.d.ts +3 -3
  62. package/dist/svelte.mjs +3 -5
  63. package/dist/vue.d.mts +3 -3
  64. package/dist/vue.d.ts +3 -3
  65. package/dist/vue.mjs +6 -7
  66. package/package.json +12 -14
  67. package/dist/shared/schema-org.B8mOT8YC.d.ts +0 -44
  68. package/dist/shared/schema-org.CWjoIjIr.d.mts +0 -44
  69. package/dist/shared/schema-org.DoKdjnca.mjs +0 -1690
@@ -0,0 +1,29 @@
1
+ import { d as defineSchemaOrgResolver, e as resolveRelation, a8 as resolvableDateToIso } from '../shared/schema-org.Cp6bpwL2.mjs';
2
+ import { aggregateRatingResolver } from './index2.mjs';
3
+ import { p as personResolver } from './index3.mjs';
4
+ import 'unhead/plugins';
5
+ import 'unhead/utils';
6
+ import 'ufo';
7
+ import './index16.mjs';
8
+ import './index28.mjs';
9
+ import './index40.mjs';
10
+ import './index39.mjs';
11
+
12
+ const podcastSeriesResolver = defineSchemaOrgResolver({
13
+ defaults: {
14
+ "@type": "PodcastSeries"
15
+ },
16
+ resolve(node, ctx) {
17
+ node.author = resolveRelation(node.author, ctx, personResolver);
18
+ node.aggregateRating = resolveRelation(node.aggregateRating, ctx, aggregateRatingResolver);
19
+ if (node.datePublished)
20
+ node.datePublished = resolvableDateToIso(node.datePublished);
21
+ if (node.startDate)
22
+ node.startDate = resolvableDateToIso(node.startDate);
23
+ if (node.endDate)
24
+ node.endDate = resolvableDateToIso(node.endDate);
25
+ return node;
26
+ }
27
+ });
28
+
29
+ export { podcastSeriesResolver };
@@ -0,0 +1,12 @@
1
+ import { d as defineSchemaOrgResolver } from '../shared/schema-org.Cp6bpwL2.mjs';
2
+ import 'unhead/plugins';
3
+ import 'unhead/utils';
4
+ import 'ufo';
5
+
6
+ const addressResolver = defineSchemaOrgResolver({
7
+ defaults: {
8
+ "@type": "PostalAddress"
9
+ }
10
+ });
11
+
12
+ export { addressResolver };
@@ -0,0 +1,46 @@
1
+ import { d as defineSchemaOrgResolver, a9 as IdentityId, a6 as setIfEmpty, a7 as idReference, e as resolveRelation } from '../shared/schema-org.Cp6bpwL2.mjs';
2
+ import { aggregateOfferResolver } from './index.mjs';
3
+ import { aggregateRatingResolver } from './index2.mjs';
4
+ import { offerResolver } from './index23.mjs';
5
+ import { reviewResolver } from './index32.mjs';
6
+ import { d as PrimaryWebPageId } from './index3.mjs';
7
+ import 'unhead/plugins';
8
+ import 'unhead/utils';
9
+ import 'ufo';
10
+ import '../shared/schema-org.Dg61qWpa.mjs';
11
+ import '../shared/schema-org.40UJYB57.mjs';
12
+ import './index16.mjs';
13
+ import './index28.mjs';
14
+ import './index40.mjs';
15
+ import './index39.mjs';
16
+
17
+ const ProductId = "#product";
18
+ const productResolver = defineSchemaOrgResolver({
19
+ defaults: {
20
+ "@type": "Product"
21
+ },
22
+ inheritMeta: [
23
+ "description",
24
+ "image",
25
+ { meta: "title", key: "name" }
26
+ ],
27
+ idPrefix: ["url", ProductId],
28
+ resolve(node, ctx) {
29
+ node.aggregateOffer = resolveRelation(node.aggregateOffer, ctx, aggregateOfferResolver);
30
+ node.aggregateRating = resolveRelation(node.aggregateRating, ctx, aggregateRatingResolver);
31
+ node.offers = resolveRelation(node.offers, ctx, offerResolver);
32
+ node.review = resolveRelation(node.review, ctx, reviewResolver);
33
+ return node;
34
+ },
35
+ resolveRootNode(product, { find }) {
36
+ const webPage = find(PrimaryWebPageId);
37
+ const identity = find(IdentityId);
38
+ if (identity)
39
+ setIfEmpty(product, "brand", idReference(identity));
40
+ if (webPage)
41
+ setIfEmpty(product, "mainEntityOfPage", idReference(webPage));
42
+ return product;
43
+ }
44
+ });
45
+
46
+ export { ProductId, productResolver };
@@ -0,0 +1,317 @@
1
+ import { d as defineSchemaOrgResolver, a6 as setIfEmpty, a7 as idReference, e as resolveRelation, af as resolveAsGraphKey, a9 as IdentityId, a8 as resolvableDateToIso, ag as prefixId, a5 as imageResolver, aa as resolveDefaultType, ad as resolveWithBase, ac as asArray, ah as trimLength } from '../shared/schema-org.Cp6bpwL2.mjs';
2
+ import { withoutTrailingSlash } from 'ufo';
3
+ import { listItemResolver } from './index16.mjs';
4
+ import { addressResolver } from './index28.mjs';
5
+ import { searchActionResolver } from './index40.mjs';
6
+ import { readActionResolver } from './index39.mjs';
7
+
8
+ const PrimaryBreadcrumbId = "#breadcrumb";
9
+ const breadcrumbResolver = defineSchemaOrgResolver({
10
+ defaults: {
11
+ "@type": "BreadcrumbList"
12
+ },
13
+ idPrefix: ["url", PrimaryBreadcrumbId],
14
+ resolve(breadcrumb, ctx) {
15
+ if (breadcrumb.itemListElement) {
16
+ let index = 1;
17
+ breadcrumb.itemListElement = resolveRelation(breadcrumb.itemListElement, ctx, listItemResolver, {
18
+ array: true,
19
+ afterResolve(node) {
20
+ setIfEmpty(node, "position", index++);
21
+ }
22
+ });
23
+ }
24
+ return breadcrumb;
25
+ },
26
+ resolveRootNode(node, { find }) {
27
+ const webPage = find(PrimaryWebPageId);
28
+ if (webPage)
29
+ setIfEmpty(webPage, "breadcrumb", idReference(node));
30
+ }
31
+ });
32
+
33
+ const index$5 = {
34
+ __proto__: null,
35
+ PrimaryBreadcrumbId: PrimaryBreadcrumbId,
36
+ breadcrumbResolver: breadcrumbResolver
37
+ };
38
+
39
+ const PrimaryWebSiteId = "#website";
40
+ const webSiteResolver = defineSchemaOrgResolver({
41
+ defaults: {
42
+ "@type": "WebSite"
43
+ },
44
+ inheritMeta: [
45
+ "inLanguage",
46
+ { meta: "host", key: "url" }
47
+ ],
48
+ idPrefix: ["host", PrimaryWebSiteId],
49
+ resolve(node, ctx) {
50
+ node.potentialAction = resolveRelation(node.potentialAction, ctx, searchActionResolver, {
51
+ array: true
52
+ });
53
+ node.publisher = resolveRelation(node.publisher, ctx);
54
+ node.dateModified = resolvableDateToIso(node.dateModified);
55
+ node.datePublished = resolvableDateToIso(node.datePublished);
56
+ return node;
57
+ },
58
+ resolveRootNode(node, { find }) {
59
+ if (resolveAsGraphKey(node["@id"]) === PrimaryWebSiteId) {
60
+ const identity = find(IdentityId);
61
+ if (identity)
62
+ setIfEmpty(node, "publisher", idReference(identity));
63
+ const webPage = find(PrimaryWebPageId);
64
+ if (webPage)
65
+ setIfEmpty(webPage, "isPartOf", idReference(node));
66
+ }
67
+ return node;
68
+ }
69
+ });
70
+
71
+ const index$4 = {
72
+ __proto__: null,
73
+ PrimaryWebSiteId: PrimaryWebSiteId,
74
+ searchActionResolver: searchActionResolver,
75
+ webSiteResolver: webSiteResolver
76
+ };
77
+
78
+ const organizationResolver = defineSchemaOrgResolver({
79
+ defaults: {
80
+ "@type": "Organization"
81
+ },
82
+ idPrefix: ["host", IdentityId],
83
+ inheritMeta: [
84
+ { meta: "host", key: "url" }
85
+ ],
86
+ resolve(node, ctx) {
87
+ resolveDefaultType(node, "Organization");
88
+ node.address = resolveRelation(node.address, ctx, addressResolver);
89
+ return node;
90
+ },
91
+ resolveRootNode(node, ctx) {
92
+ const isIdentity = resolveAsGraphKey(node["@id"]) === IdentityId;
93
+ const webPage = ctx.find(PrimaryWebPageId);
94
+ if (node.logo && isIdentity) {
95
+ if (!ctx.find("#organization")) {
96
+ const logoNode = resolveRelation(node.logo, ctx, imageResolver, {
97
+ root: true,
98
+ afterResolve(logo) {
99
+ logo["@id"] = prefixId(ctx.meta.host, "#logo");
100
+ setIfEmpty(logo, "caption", node.name);
101
+ }
102
+ });
103
+ if (webPage && logoNode)
104
+ setIfEmpty(webPage, "primaryImageOfPage", idReference(logoNode));
105
+ ctx.nodes.push({
106
+ // we want to make a simple node that has the essentials, this will allow parent nodes to inject
107
+ // as well without inserting invalid data (i.e LocalBusiness operatingHours)
108
+ "@type": "Organization",
109
+ "name": node.name,
110
+ "url": node.url,
111
+ "sameAs": node.sameAs,
112
+ // 'image': idReference(logoNode),
113
+ "address": node.address,
114
+ // needs to be a URL
115
+ "logo": resolveRelation(node.logo, ctx, imageResolver, { root: false }).url,
116
+ "_priority": -1,
117
+ "@id": prefixId(ctx.meta.host, "#organization")
118
+ // avoid the id so nothing can link to it
119
+ });
120
+ }
121
+ delete node.logo;
122
+ }
123
+ if (isIdentity && webPage)
124
+ setIfEmpty(webPage, "about", idReference(node));
125
+ const webSite = ctx.find(PrimaryWebSiteId);
126
+ if (webSite)
127
+ setIfEmpty(webSite, "publisher", idReference(node));
128
+ }
129
+ });
130
+
131
+ const index$3 = {
132
+ __proto__: null,
133
+ organizationResolver: organizationResolver
134
+ };
135
+
136
+ const PrimaryWebPageId = "#webpage";
137
+ const webPageResolver = defineSchemaOrgResolver({
138
+ defaults({ meta }) {
139
+ const endPath = withoutTrailingSlash(meta.url.substring(meta.url.lastIndexOf("/") + 1));
140
+ let type = "WebPage";
141
+ switch (endPath) {
142
+ case "about":
143
+ case "about-us":
144
+ type = "AboutPage";
145
+ break;
146
+ case "search":
147
+ type = "SearchResultsPage";
148
+ break;
149
+ case "checkout":
150
+ type = "CheckoutPage";
151
+ break;
152
+ case "contact":
153
+ case "get-in-touch":
154
+ case "contact-us":
155
+ type = "ContactPage";
156
+ break;
157
+ case "faq":
158
+ type = "FAQPage";
159
+ break;
160
+ }
161
+ const defaults = {
162
+ "@type": type
163
+ };
164
+ return defaults;
165
+ },
166
+ idPrefix: ["url", PrimaryWebPageId],
167
+ inheritMeta: [
168
+ { meta: "title", key: "name" },
169
+ "description",
170
+ "datePublished",
171
+ "dateModified",
172
+ "url"
173
+ ],
174
+ resolve(node, ctx) {
175
+ node.dateModified = resolvableDateToIso(node.dateModified);
176
+ node.datePublished = resolvableDateToIso(node.datePublished);
177
+ resolveDefaultType(node, "WebPage");
178
+ node.about = resolveRelation(node.about, ctx, organizationResolver);
179
+ node.breadcrumb = resolveRelation(node.breadcrumb, ctx, breadcrumbResolver);
180
+ node.author = resolveRelation(node.author, ctx, personResolver);
181
+ node.primaryImageOfPage = resolveRelation(node.primaryImageOfPage, ctx, imageResolver);
182
+ node.potentialAction = resolveRelation(node.potentialAction, ctx, readActionResolver);
183
+ if (node["@type"] === "WebPage" && ctx.meta.url) {
184
+ setIfEmpty(node, "potentialAction", [
185
+ {
186
+ "@type": "ReadAction",
187
+ "target": [ctx.meta.url]
188
+ }
189
+ ]);
190
+ }
191
+ return node;
192
+ },
193
+ resolveRootNode(webPage, { find, meta }) {
194
+ const identity = find(IdentityId);
195
+ const webSite = find(PrimaryWebSiteId);
196
+ const logo = find("#logo");
197
+ if (identity && meta.url === meta.host)
198
+ setIfEmpty(webPage, "about", idReference(identity));
199
+ if (logo)
200
+ setIfEmpty(webPage, "primaryImageOfPage", idReference(logo));
201
+ if (webSite)
202
+ setIfEmpty(webPage, "isPartOf", idReference(webSite));
203
+ const breadcrumb = find(PrimaryBreadcrumbId);
204
+ if (breadcrumb)
205
+ setIfEmpty(webPage, "breadcrumb", idReference(breadcrumb));
206
+ return webPage;
207
+ }
208
+ });
209
+
210
+ const index$2 = {
211
+ __proto__: null,
212
+ PrimaryWebPageId: PrimaryWebPageId,
213
+ readActionResolver: readActionResolver,
214
+ webPageResolver: webPageResolver
215
+ };
216
+
217
+ const personResolver = defineSchemaOrgResolver({
218
+ cast(node) {
219
+ if (typeof node === "string") {
220
+ return {
221
+ name: node
222
+ };
223
+ }
224
+ return node;
225
+ },
226
+ defaults: {
227
+ "@type": "Person"
228
+ },
229
+ idPrefix: ["host", IdentityId],
230
+ resolve(node, ctx) {
231
+ if (node.url)
232
+ node.url = resolveWithBase(ctx.meta.host, node.url);
233
+ return node;
234
+ },
235
+ resolveRootNode(node, { find, meta }) {
236
+ if (resolveAsGraphKey(node["@id"]) === IdentityId) {
237
+ setIfEmpty(node, "url", meta.host);
238
+ const webPage = find(PrimaryWebPageId);
239
+ if (webPage)
240
+ setIfEmpty(webPage, "about", idReference(node));
241
+ const webSite = find(PrimaryWebSiteId);
242
+ if (webSite)
243
+ setIfEmpty(webSite, "publisher", idReference(node));
244
+ }
245
+ const article = find(PrimaryArticleId);
246
+ if (article)
247
+ setIfEmpty(article, "author", idReference(node));
248
+ }
249
+ });
250
+
251
+ const index$1 = {
252
+ __proto__: null,
253
+ personResolver: personResolver
254
+ };
255
+
256
+ const PrimaryArticleId = "#article";
257
+ const articleResolver = defineSchemaOrgResolver({
258
+ defaults: {
259
+ "@type": "Article"
260
+ },
261
+ inheritMeta: [
262
+ "inLanguage",
263
+ "description",
264
+ "image",
265
+ "dateModified",
266
+ "datePublished",
267
+ { meta: "title", key: "headline" }
268
+ ],
269
+ idPrefix: ["url", PrimaryArticleId],
270
+ resolve(node, ctx) {
271
+ node.author = resolveRelation(node.author, ctx, personResolver, {
272
+ root: true
273
+ });
274
+ node.publisher = resolveRelation(node.publisher, ctx);
275
+ node.dateModified = resolvableDateToIso(node.dateModified);
276
+ node.datePublished = resolvableDateToIso(node.datePublished);
277
+ resolveDefaultType(node, "Article");
278
+ node.headline = trimLength(node.headline, 110);
279
+ return node;
280
+ },
281
+ resolveRootNode(node, { find, meta }) {
282
+ const webPage = find(PrimaryWebPageId);
283
+ const identity = find(IdentityId);
284
+ if (node.image && !node.thumbnailUrl) {
285
+ const firstImage = asArray(node.image)[0];
286
+ if (typeof firstImage === "string")
287
+ setIfEmpty(node, "thumbnailUrl", resolveWithBase(meta.host, firstImage));
288
+ else if (firstImage?.["@id"])
289
+ setIfEmpty(node, "thumbnailUrl", find(firstImage["@id"])?.url);
290
+ }
291
+ if (identity) {
292
+ setIfEmpty(node, "publisher", idReference(identity));
293
+ setIfEmpty(node, "author", idReference(identity));
294
+ }
295
+ if (webPage) {
296
+ setIfEmpty(node, "isPartOf", idReference(webPage));
297
+ setIfEmpty(node, "mainEntityOfPage", idReference(webPage));
298
+ setIfEmpty(webPage, "potentialAction", [
299
+ {
300
+ "@type": "ReadAction",
301
+ "target": [meta.url]
302
+ }
303
+ ]);
304
+ setIfEmpty(webPage, "dateModified", node.dateModified);
305
+ setIfEmpty(webPage, "datePublished", node.datePublished);
306
+ }
307
+ return node;
308
+ }
309
+ });
310
+
311
+ const index = {
312
+ __proto__: null,
313
+ PrimaryArticleId: PrimaryArticleId,
314
+ articleResolver: articleResolver
315
+ };
316
+
317
+ export { PrimaryArticleId as P, articleResolver as a, PrimaryBreadcrumbId as b, breadcrumbResolver as c, PrimaryWebPageId as d, PrimaryWebSiteId as e, webSiteResolver as f, index$4 as g, index$3 as h, index$5 as i, index$2 as j, index$1 as k, index as l, organizationResolver as o, personResolver as p, webPageResolver as w };
@@ -0,0 +1,53 @@
1
+ import { d as defineSchemaOrgResolver, ac as asArray, ae as dedupeMerge, a7 as idReference, e as resolveRelation, a8 as resolvableDateToIso } from '../shared/schema-org.Cp6bpwL2.mjs';
2
+ import { d as PrimaryWebPageId } from './index3.mjs';
3
+ import 'unhead/plugins';
4
+ import 'unhead/utils';
5
+ import 'ufo';
6
+ import './index16.mjs';
7
+ import './index28.mjs';
8
+ import './index40.mjs';
9
+ import './index39.mjs';
10
+
11
+ const answerResolver = defineSchemaOrgResolver({
12
+ cast(node) {
13
+ if (typeof node === "string") {
14
+ return {
15
+ text: node
16
+ };
17
+ }
18
+ return node;
19
+ },
20
+ defaults: {
21
+ "@type": "Answer"
22
+ }
23
+ });
24
+
25
+ const questionResolver = defineSchemaOrgResolver({
26
+ defaults: {
27
+ "@type": "Question"
28
+ },
29
+ inheritMeta: [
30
+ "inLanguage"
31
+ ],
32
+ idPrefix: "url",
33
+ resolve(question, ctx) {
34
+ if (question.question) {
35
+ question.name = question.question;
36
+ delete question.question;
37
+ }
38
+ if (question.answer) {
39
+ question.acceptedAnswer = question.answer;
40
+ delete question.answer;
41
+ }
42
+ question.acceptedAnswer = resolveRelation(question.acceptedAnswer, ctx, answerResolver);
43
+ question.dateCreated = resolvableDateToIso(question.dateCreated);
44
+ return question;
45
+ },
46
+ resolveRootNode(question, { find }) {
47
+ const webPage = find(PrimaryWebPageId);
48
+ if (webPage && asArray(webPage["@type"]).includes("FAQPage"))
49
+ dedupeMerge(webPage, "mainEntity", idReference(question));
50
+ }
51
+ });
52
+
53
+ export { questionResolver };
@@ -0,0 +1,41 @@
1
+ import { d as defineSchemaOrgResolver, a6 as setIfEmpty, a7 as idReference, e as resolveRelation } from '../shared/schema-org.Cp6bpwL2.mjs';
2
+ import { P as PrimaryArticleId, d as PrimaryWebPageId } from './index3.mjs';
3
+ import { h as howToStepResolver } from './index12.mjs';
4
+ import 'unhead/plugins';
5
+ import 'unhead/utils';
6
+ import 'ufo';
7
+ import './index16.mjs';
8
+ import './index28.mjs';
9
+ import './index40.mjs';
10
+ import './index39.mjs';
11
+
12
+ const RecipeId = "#recipe";
13
+ const recipeResolver = defineSchemaOrgResolver({
14
+ defaults: {
15
+ "@type": "Recipe"
16
+ },
17
+ inheritMeta: [
18
+ { meta: "title", key: "name" },
19
+ "description",
20
+ "image",
21
+ "datePublished"
22
+ ],
23
+ idPrefix: ["url", RecipeId],
24
+ resolve(node, ctx) {
25
+ node.recipeInstructions = resolveRelation(node.recipeInstructions, ctx, howToStepResolver);
26
+ return node;
27
+ },
28
+ resolveRootNode(node, { find }) {
29
+ const article = find(PrimaryArticleId);
30
+ const webPage = find(PrimaryWebPageId);
31
+ if (article)
32
+ setIfEmpty(node, "mainEntityOfPage", idReference(article));
33
+ else if (webPage)
34
+ setIfEmpty(node, "mainEntityOfPage", idReference(webPage));
35
+ if (article?.author)
36
+ setIfEmpty(node, "author", article.author);
37
+ return node;
38
+ }
39
+ });
40
+
41
+ export { RecipeId, recipeResolver };
@@ -0,0 +1,26 @@
1
+ import { p as personResolver } from './index3.mjs';
2
+ import { r as ratingResolver } from '../shared/schema-org.40UJYB57.mjs';
3
+ import { d as defineSchemaOrgResolver, e as resolveRelation } from '../shared/schema-org.Cp6bpwL2.mjs';
4
+ import 'ufo';
5
+ import './index16.mjs';
6
+ import 'unhead/plugins';
7
+ import 'unhead/utils';
8
+ import './index28.mjs';
9
+ import './index40.mjs';
10
+ import './index39.mjs';
11
+
12
+ const reviewResolver = defineSchemaOrgResolver({
13
+ defaults: {
14
+ "@type": "Review"
15
+ },
16
+ inheritMeta: [
17
+ "inLanguage"
18
+ ],
19
+ resolve(review, ctx) {
20
+ review.reviewRating = resolveRelation(review.reviewRating, ctx, ratingResolver);
21
+ review.author = resolveRelation(review.author, ctx, personResolver);
22
+ return review;
23
+ }
24
+ });
25
+
26
+ export { reviewResolver };
@@ -0,0 +1,47 @@
1
+ import { d as defineSchemaOrgResolver, a9 as IdentityId, a6 as setIfEmpty, a7 as idReference, aa as resolveDefaultType, e as resolveRelation } from '../shared/schema-org.Cp6bpwL2.mjs';
2
+ import { aggregateRatingResolver } from './index2.mjs';
3
+ import { offerResolver } from './index23.mjs';
4
+ import { reviewResolver } from './index32.mjs';
5
+ import { d as PrimaryWebPageId } from './index3.mjs';
6
+ import 'unhead/plugins';
7
+ import 'unhead/utils';
8
+ import 'ufo';
9
+ import '../shared/schema-org.Dg61qWpa.mjs';
10
+ import '../shared/schema-org.40UJYB57.mjs';
11
+ import './index16.mjs';
12
+ import './index28.mjs';
13
+ import './index40.mjs';
14
+ import './index39.mjs';
15
+
16
+ const ServiceId = "#service";
17
+ const serviceResolver = defineSchemaOrgResolver({
18
+ defaults: {
19
+ "@type": "Service"
20
+ },
21
+ inheritMeta: [
22
+ "description",
23
+ "image",
24
+ { meta: "title", key: "name" }
25
+ ],
26
+ idPrefix: ["url", ServiceId],
27
+ resolve(node, ctx) {
28
+ resolveDefaultType(node, "Service");
29
+ node.offers = resolveRelation(node.offers, ctx, offerResolver);
30
+ node.aggregateRating = resolveRelation(node.aggregateRating, ctx, aggregateRatingResolver);
31
+ node.review = resolveRelation(node.review, ctx, reviewResolver);
32
+ return node;
33
+ },
34
+ resolveRootNode(service, { find }) {
35
+ const webPage = find(PrimaryWebPageId);
36
+ const identity = find(IdentityId);
37
+ if (identity)
38
+ setIfEmpty(service, "provider", idReference(identity));
39
+ if (identity)
40
+ setIfEmpty(service, "brand", idReference(identity));
41
+ if (webPage)
42
+ setIfEmpty(service, "mainEntityOfPage", idReference(webPage));
43
+ return service;
44
+ }
45
+ });
46
+
47
+ export { ServiceId, serviceResolver };
@@ -0,0 +1,29 @@
1
+ import { d as defineSchemaOrgResolver, aa as resolveDefaultType, e as resolveRelation } from '../shared/schema-org.Cp6bpwL2.mjs';
2
+ import { aggregateRatingResolver } from './index2.mjs';
3
+ import { offerResolver } from './index23.mjs';
4
+ import { reviewResolver } from './index32.mjs';
5
+ import 'unhead/plugins';
6
+ import 'unhead/utils';
7
+ import 'ufo';
8
+ import '../shared/schema-org.Dg61qWpa.mjs';
9
+ import './index3.mjs';
10
+ import './index16.mjs';
11
+ import './index28.mjs';
12
+ import './index40.mjs';
13
+ import './index39.mjs';
14
+ import '../shared/schema-org.40UJYB57.mjs';
15
+
16
+ const softwareAppResolver = defineSchemaOrgResolver({
17
+ defaults: {
18
+ "@type": "SoftwareApplication"
19
+ },
20
+ resolve(node, ctx) {
21
+ resolveDefaultType(node, "SoftwareApplication");
22
+ node.offers = resolveRelation(node.offers, ctx, offerResolver);
23
+ node.aggregateRating = resolveRelation(node.aggregateRating, ctx, aggregateRatingResolver);
24
+ node.review = resolveRelation(node.review, ctx, reviewResolver);
25
+ return node;
26
+ }
27
+ });
28
+
29
+ export { softwareAppResolver };
@@ -0,0 +1,34 @@
1
+ import { d as defineSchemaOrgResolver, e as resolveRelation, a8 as resolvableDateToIso } from '../shared/schema-org.Cp6bpwL2.mjs';
2
+ import { aggregateRatingResolver } from './index2.mjs';
3
+ import { p as personResolver } from './index3.mjs';
4
+ import { reviewResolver } from './index32.mjs';
5
+ import { videoResolver } from './index38.mjs';
6
+ import 'unhead/plugins';
7
+ import 'unhead/utils';
8
+ import 'ufo';
9
+ import './index16.mjs';
10
+ import './index28.mjs';
11
+ import './index40.mjs';
12
+ import './index39.mjs';
13
+ import '../shared/schema-org.40UJYB57.mjs';
14
+
15
+ const tvEpisodeResolver = defineSchemaOrgResolver({
16
+ defaults: {
17
+ "@type": "TVEpisode"
18
+ },
19
+ resolve(node, ctx) {
20
+ node.actor = resolveRelation(node.actor, ctx, personResolver);
21
+ node.director = resolveRelation(node.director, ctx, personResolver);
22
+ node.musicBy = resolveRelation(node.musicBy, ctx, personResolver);
23
+ node.video = resolveRelation(node.video, ctx, videoResolver);
24
+ node.aggregateRating = resolveRelation(node.aggregateRating, ctx, aggregateRatingResolver);
25
+ node.review = resolveRelation(node.review, ctx, reviewResolver);
26
+ if (node.datePublished)
27
+ node.datePublished = resolvableDateToIso(node.datePublished);
28
+ if (node.uploadDate)
29
+ node.uploadDate = resolvableDateToIso(node.uploadDate);
30
+ return node;
31
+ }
32
+ });
33
+
34
+ export { tvEpisodeResolver };
@@ -0,0 +1,33 @@
1
+ import { d as defineSchemaOrgResolver, e as resolveRelation, a8 as resolvableDateToIso } from '../shared/schema-org.Cp6bpwL2.mjs';
2
+ import { aggregateRatingResolver } from './index2.mjs';
3
+ import { p as personResolver, o as organizationResolver } from './index3.mjs';
4
+ import { videoResolver } from './index38.mjs';
5
+ import 'unhead/plugins';
6
+ import 'unhead/utils';
7
+ import 'ufo';
8
+ import './index16.mjs';
9
+ import './index28.mjs';
10
+ import './index40.mjs';
11
+ import './index39.mjs';
12
+
13
+ const tvSeasonResolver = defineSchemaOrgResolver({
14
+ defaults: {
15
+ "@type": "TVSeason"
16
+ },
17
+ resolve(node, ctx) {
18
+ node.actor = resolveRelation(node.actor, ctx, personResolver);
19
+ node.director = resolveRelation(node.director, ctx, personResolver);
20
+ node.productionCompany = resolveRelation(node.productionCompany, ctx, organizationResolver);
21
+ node.aggregateRating = resolveRelation(node.aggregateRating, ctx, aggregateRatingResolver);
22
+ node.trailer = resolveRelation(node.trailer, ctx, videoResolver);
23
+ if (node.datePublished)
24
+ node.datePublished = resolvableDateToIso(node.datePublished);
25
+ if (node.startDate)
26
+ node.startDate = resolvableDateToIso(node.startDate);
27
+ if (node.endDate)
28
+ node.endDate = resolvableDateToIso(node.endDate);
29
+ return node;
30
+ }
31
+ });
32
+
33
+ export { tvSeasonResolver };