schemaorg-kit 1.0.1 → 1.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.
- package/README.md +8 -4
- package/dist/index.d.mts +56571 -24690
- package/dist/index.d.ts +56571 -24690
- package/dist/index.js +1282 -931
- package/dist/index.mjs +1266 -931
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -23,6 +23,7 @@ __export(index_exports, {
|
|
|
23
23
|
AccommodationSchema: () => AccommodationSchema,
|
|
24
24
|
AggregateOfferSchema: () => AggregateOfferSchema,
|
|
25
25
|
AggregateRatingSchema: () => AggregateRatingSchema,
|
|
26
|
+
AlignmentObjectSchema: () => AlignmentObjectSchema,
|
|
26
27
|
AnswerSchema: () => AnswerSchema,
|
|
27
28
|
ApplicationCategory: () => ApplicationCategory,
|
|
28
29
|
ArticleSchema: () => ArticleSchema,
|
|
@@ -35,6 +36,8 @@ __export(index_exports, {
|
|
|
35
36
|
BorrowActionSchema: () => BorrowActionSchema,
|
|
36
37
|
BroadcastEventSchema: () => BroadcastEventSchema,
|
|
37
38
|
CertificationSchema: () => CertificationSchema,
|
|
39
|
+
ClaimReviewSchema: () => ClaimReviewSchema,
|
|
40
|
+
ClaimSchema: () => ClaimSchema,
|
|
38
41
|
ClipSchema: () => ClipSchema,
|
|
39
42
|
ContactPointSchema: () => ContactPointSchema,
|
|
40
43
|
CourseInstanceSchema: () => CourseInstanceSchema,
|
|
@@ -55,14 +58,19 @@ __export(index_exports, {
|
|
|
55
58
|
HowToStepSchema: () => HowToStepSchema,
|
|
56
59
|
ImageObjectSchema: () => ImageObjectSchema,
|
|
57
60
|
ImageOrUrl: () => ImageOrUrl,
|
|
61
|
+
InteractionCounterSchema: () => InteractionCounterSchema,
|
|
58
62
|
ItemAvailability: () => ItemAvailability,
|
|
63
|
+
ItemCondition: () => ItemCondition,
|
|
59
64
|
ItemListSchema: () => ItemListSchema,
|
|
60
65
|
JobPostingSchema: () => JobPostingSchema,
|
|
61
66
|
LanguageSchema: () => LanguageSchema,
|
|
62
67
|
ListItemSchema: () => ListItemSchema,
|
|
63
68
|
LocalBusinessSchema: () => LocalBusinessSchema,
|
|
64
69
|
MathSolverSchema: () => MathSolverSchema,
|
|
70
|
+
MemberProgramSchema: () => MemberProgramSchema,
|
|
71
|
+
MemberProgramTierSchema: () => MemberProgramTierSchema,
|
|
65
72
|
MerchantReturnPolicySchema: () => MerchantReturnPolicySchema,
|
|
73
|
+
MerchantReturnPolicySeasonalOverrideSchema: () => MerchantReturnPolicySeasonalOverrideSchema,
|
|
66
74
|
MonetaryAmountSchema: () => MonetaryAmountSchema,
|
|
67
75
|
MovieSchema: () => MovieSchema,
|
|
68
76
|
NewsArticleSchema: () => NewsArticleSchema,
|
|
@@ -71,6 +79,7 @@ __export(index_exports, {
|
|
|
71
79
|
OfferShippingDetailsSchema: () => OfferShippingDetailsSchema,
|
|
72
80
|
OpeningHoursSpecificationSchema: () => OpeningHoursSpecificationSchema,
|
|
73
81
|
OrganizationSchema: () => OrganizationSchema,
|
|
82
|
+
PeopleAudienceSchema: () => PeopleAudienceSchema,
|
|
74
83
|
PersonOrOrgRef: () => PersonOrOrgRef,
|
|
75
84
|
PersonSchema: () => PersonSchema,
|
|
76
85
|
PlaceSchema: () => PlaceSchema,
|
|
@@ -90,11 +99,17 @@ __export(index_exports, {
|
|
|
90
99
|
ReviewSchema: () => ReviewSchema,
|
|
91
100
|
SchemaGraph: () => SchemaGraph,
|
|
92
101
|
SchemaNode: () => SchemaNode,
|
|
102
|
+
SeekToActionSchema: () => SeekToActionSchema,
|
|
103
|
+
ServicePeriodSchema: () => ServicePeriodSchema,
|
|
104
|
+
ShippingConditionsSchema: () => ShippingConditionsSchema,
|
|
93
105
|
ShippingDeliveryTimeSchema: () => ShippingDeliveryTimeSchema,
|
|
106
|
+
ShippingServiceSchema: () => ShippingServiceSchema,
|
|
107
|
+
SizeSpecificationSchema: () => SizeSpecificationSchema,
|
|
94
108
|
SoftwareApplicationSchema: () => SoftwareApplicationSchema,
|
|
95
109
|
SolveMathActionSchema: () => SolveMathActionSchema,
|
|
96
110
|
ThingSchema: () => ThingSchema,
|
|
97
111
|
ThreeDModelSchema: () => ThreeDModelSchema,
|
|
112
|
+
UnitPriceSpecificationSchema: () => UnitPriceSpecificationSchema,
|
|
98
113
|
VacationRentalSchema: () => VacationRentalSchema,
|
|
99
114
|
VideoObjectSchema: () => VideoObjectSchema,
|
|
100
115
|
WebPageSchema: () => WebPageSchema,
|
|
@@ -104,6 +119,7 @@ __export(index_exports, {
|
|
|
104
119
|
createBook: () => createBook,
|
|
105
120
|
createBreadcrumbList: () => createBreadcrumbList,
|
|
106
121
|
createCarousel: () => createCarousel,
|
|
122
|
+
createClaimReview: () => createClaimReview,
|
|
107
123
|
createCorporation: () => createCorporation,
|
|
108
124
|
createCourse: () => createCourse,
|
|
109
125
|
createDataset: () => createDataset,
|
|
@@ -197,7 +213,7 @@ function makeFactory(schema2) {
|
|
|
197
213
|
}
|
|
198
214
|
|
|
199
215
|
// src/types/things/Person.ts
|
|
200
|
-
var
|
|
216
|
+
var import_zod6 = require("zod");
|
|
201
217
|
|
|
202
218
|
// src/types/things/Thing.ts
|
|
203
219
|
var import_zod4 = require("zod");
|
|
@@ -276,71 +292,82 @@ function extendThing(type, shape) {
|
|
|
276
292
|
});
|
|
277
293
|
}
|
|
278
294
|
|
|
295
|
+
// src/types/shared/InteractionCounter.ts
|
|
296
|
+
var import_zod5 = require("zod");
|
|
297
|
+
var InteractionCounterSchema = import_zod5.z.object({
|
|
298
|
+
"@type": import_zod5.z.literal("InteractionCounter").default("InteractionCounter"),
|
|
299
|
+
interactionType: import_zod5.z.string(),
|
|
300
|
+
// full URL, e.g. "https://schema.org/LikeAction"
|
|
301
|
+
userInteractionCount: import_zod5.z.number().int().nonnegative()
|
|
302
|
+
});
|
|
303
|
+
|
|
279
304
|
// src/types/things/Person.ts
|
|
280
305
|
var PersonSchema = extendThing("Person", {
|
|
281
|
-
givenName:
|
|
282
|
-
familyName:
|
|
283
|
-
email:
|
|
284
|
-
telephone:
|
|
285
|
-
jobTitle:
|
|
286
|
-
worksFor:
|
|
287
|
-
birthDate:
|
|
306
|
+
givenName: import_zod6.z.string().optional(),
|
|
307
|
+
familyName: import_zod6.z.string().optional(),
|
|
308
|
+
email: import_zod6.z.string().email().optional(),
|
|
309
|
+
telephone: import_zod6.z.string().optional(),
|
|
310
|
+
jobTitle: import_zod6.z.string().optional(),
|
|
311
|
+
worksFor: import_zod6.z.lazy(() => import_zod6.z.object({ "@type": import_zod6.z.string(), name: import_zod6.z.string() })).optional(),
|
|
312
|
+
birthDate: import_zod6.z.string().optional(),
|
|
288
313
|
// ISO 8601
|
|
289
|
-
gender:
|
|
290
|
-
nationality:
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
314
|
+
gender: import_zod6.z.enum(["Male", "Female", "Unknown"]).optional(),
|
|
315
|
+
nationality: import_zod6.z.string().optional(),
|
|
316
|
+
interactionStatistic: import_zod6.z.union([InteractionCounterSchema, import_zod6.z.array(InteractionCounterSchema)]).optional(),
|
|
317
|
+
agentInteractionStatistic: import_zod6.z.union([InteractionCounterSchema, import_zod6.z.array(InteractionCounterSchema)]).optional(),
|
|
318
|
+
address: import_zod6.z.object({
|
|
319
|
+
"@type": import_zod6.z.literal("PostalAddress"),
|
|
320
|
+
streetAddress: import_zod6.z.string().optional(),
|
|
321
|
+
addressLocality: import_zod6.z.string().optional(),
|
|
322
|
+
addressRegion: import_zod6.z.string().optional(),
|
|
323
|
+
postalCode: import_zod6.z.string().optional(),
|
|
324
|
+
addressCountry: import_zod6.z.string().optional()
|
|
298
325
|
}).optional()
|
|
299
326
|
});
|
|
300
327
|
var createPerson = makeFactory(PersonSchema);
|
|
301
328
|
|
|
302
329
|
// src/types/things/Organization.ts
|
|
303
|
-
var
|
|
330
|
+
var import_zod15 = require("zod");
|
|
304
331
|
|
|
305
332
|
// src/types/shared/PostalAddress.ts
|
|
306
|
-
var
|
|
307
|
-
var PostalAddressSchema =
|
|
308
|
-
"@type":
|
|
309
|
-
streetAddress:
|
|
310
|
-
addressLocality:
|
|
333
|
+
var import_zod7 = require("zod");
|
|
334
|
+
var PostalAddressSchema = import_zod7.z.object({
|
|
335
|
+
"@type": import_zod7.z.literal("PostalAddress").default("PostalAddress"),
|
|
336
|
+
streetAddress: import_zod7.z.string().optional(),
|
|
337
|
+
addressLocality: import_zod7.z.string().optional(),
|
|
311
338
|
// city
|
|
312
|
-
addressRegion:
|
|
339
|
+
addressRegion: import_zod7.z.string().optional(),
|
|
313
340
|
// state/province
|
|
314
|
-
postalCode:
|
|
315
|
-
addressCountry:
|
|
341
|
+
postalCode: import_zod7.z.string().optional(),
|
|
342
|
+
addressCountry: import_zod7.z.string().optional(),
|
|
316
343
|
// ISO 3166-1 alpha-2, e.g. "US"
|
|
317
|
-
postOfficeBoxNumber:
|
|
344
|
+
postOfficeBoxNumber: import_zod7.z.string().optional()
|
|
318
345
|
});
|
|
319
346
|
|
|
320
347
|
// src/types/shared/ContactPoint.ts
|
|
321
|
-
var
|
|
322
|
-
var ContactPointSchema =
|
|
323
|
-
"@type":
|
|
324
|
-
telephone:
|
|
325
|
-
contactType:
|
|
348
|
+
var import_zod8 = require("zod");
|
|
349
|
+
var ContactPointSchema = import_zod8.z.object({
|
|
350
|
+
"@type": import_zod8.z.literal("ContactPoint").default("ContactPoint"),
|
|
351
|
+
telephone: import_zod8.z.string().optional(),
|
|
352
|
+
contactType: import_zod8.z.string().optional(),
|
|
326
353
|
// e.g. "customer support", "sales"
|
|
327
|
-
email:
|
|
328
|
-
areaServed:
|
|
329
|
-
availableLanguage:
|
|
330
|
-
hoursAvailable:
|
|
331
|
-
contactOption:
|
|
354
|
+
email: import_zod8.z.string().email().optional(),
|
|
355
|
+
areaServed: import_zod8.z.union([import_zod8.z.string(), import_zod8.z.array(import_zod8.z.string())]).optional(),
|
|
356
|
+
availableLanguage: import_zod8.z.union([import_zod8.z.string(), import_zod8.z.array(import_zod8.z.string())]).optional(),
|
|
357
|
+
hoursAvailable: import_zod8.z.string().optional(),
|
|
358
|
+
contactOption: import_zod8.z.string().optional()
|
|
332
359
|
// e.g. "TollFree", "HearingImpairedSupported"
|
|
333
360
|
});
|
|
334
361
|
|
|
335
362
|
// src/types/shared/Offer.ts
|
|
336
|
-
var
|
|
363
|
+
var import_zod12 = require("zod");
|
|
337
364
|
|
|
338
365
|
// src/types/shared/ShippingDetails.ts
|
|
339
|
-
var
|
|
366
|
+
var import_zod10 = require("zod");
|
|
340
367
|
|
|
341
368
|
// src/types/shared/OpeningHoursSpecification.ts
|
|
342
|
-
var
|
|
343
|
-
var DayOfWeek =
|
|
369
|
+
var import_zod9 = require("zod");
|
|
370
|
+
var DayOfWeek = import_zod9.z.enum([
|
|
344
371
|
"Monday",
|
|
345
372
|
"Tuesday",
|
|
346
373
|
"Wednesday",
|
|
@@ -349,79 +376,117 @@ var DayOfWeek = import_zod8.z.enum([
|
|
|
349
376
|
"Saturday",
|
|
350
377
|
"Sunday"
|
|
351
378
|
]);
|
|
352
|
-
var OpeningHoursSpecificationSchema =
|
|
353
|
-
"@type":
|
|
354
|
-
dayOfWeek:
|
|
355
|
-
opens:
|
|
379
|
+
var OpeningHoursSpecificationSchema = import_zod9.z.object({
|
|
380
|
+
"@type": import_zod9.z.literal("OpeningHoursSpecification").default("OpeningHoursSpecification"),
|
|
381
|
+
dayOfWeek: import_zod9.z.union([DayOfWeek, import_zod9.z.array(DayOfWeek)]),
|
|
382
|
+
opens: import_zod9.z.string().optional(),
|
|
356
383
|
// "HH:MM:SS" e.g. "09:00:00"
|
|
357
|
-
closes:
|
|
384
|
+
closes: import_zod9.z.string().optional(),
|
|
358
385
|
// "HH:MM:SS" e.g. "17:00:00"
|
|
359
|
-
validFrom:
|
|
386
|
+
validFrom: import_zod9.z.string().optional(),
|
|
360
387
|
// ISO 8601 date — for seasonal hours
|
|
361
|
-
validThrough:
|
|
388
|
+
validThrough: import_zod9.z.string().optional()
|
|
362
389
|
// ISO 8601 date
|
|
363
390
|
});
|
|
364
391
|
|
|
365
392
|
// src/types/shared/ShippingDetails.ts
|
|
366
|
-
var DefinedRegionSchema =
|
|
367
|
-
"@type":
|
|
368
|
-
name:
|
|
393
|
+
var DefinedRegionSchema = import_zod10.z.object({
|
|
394
|
+
"@type": import_zod10.z.literal("DefinedRegion").default("DefinedRegion"),
|
|
395
|
+
name: import_zod10.z.string().optional(),
|
|
369
396
|
/** ISO 3166-1 alpha-2 country code, e.g. "US", "GB" */
|
|
370
|
-
addressCountry:
|
|
397
|
+
addressCountry: import_zod10.z.string().optional(),
|
|
371
398
|
/** State/province code(s) */
|
|
372
|
-
addressRegion:
|
|
399
|
+
addressRegion: import_zod10.z.union([import_zod10.z.string(), import_zod10.z.array(import_zod10.z.string())]).optional(),
|
|
373
400
|
/** Postal code prefix(es) */
|
|
374
|
-
postalCodePrefix:
|
|
401
|
+
postalCodePrefix: import_zod10.z.union([import_zod10.z.string(), import_zod10.z.array(import_zod10.z.string())]).optional(),
|
|
375
402
|
/** Postal code range */
|
|
376
|
-
postalCodeRange:
|
|
377
|
-
postalCodeBegin:
|
|
378
|
-
postalCodeEnd:
|
|
403
|
+
postalCodeRange: import_zod10.z.object({
|
|
404
|
+
postalCodeBegin: import_zod10.z.string(),
|
|
405
|
+
postalCodeEnd: import_zod10.z.string()
|
|
379
406
|
}).optional()
|
|
380
407
|
});
|
|
381
|
-
var QuantitativeDaysSchema =
|
|
382
|
-
"@type":
|
|
383
|
-
minValue:
|
|
384
|
-
maxValue:
|
|
408
|
+
var QuantitativeDaysSchema = import_zod10.z.object({
|
|
409
|
+
"@type": import_zod10.z.literal("QuantitativeValue").default("QuantitativeValue"),
|
|
410
|
+
minValue: import_zod10.z.number().int().nonnegative().optional(),
|
|
411
|
+
maxValue: import_zod10.z.number().int().nonnegative().optional(),
|
|
385
412
|
/** Unit code — always "DAY" for delivery times */
|
|
386
|
-
unitCode:
|
|
413
|
+
unitCode: import_zod10.z.string().default("DAY")
|
|
387
414
|
});
|
|
388
|
-
var ShippingDeliveryTimeSchema =
|
|
389
|
-
"@type":
|
|
415
|
+
var ShippingDeliveryTimeSchema = import_zod10.z.object({
|
|
416
|
+
"@type": import_zod10.z.literal("ShippingDeliveryTime").default("ShippingDeliveryTime"),
|
|
390
417
|
/** Days the warehouse processes orders (e.g. Mon–Fri) */
|
|
391
|
-
businessDays:
|
|
392
|
-
"@type":
|
|
393
|
-
dayOfWeek:
|
|
418
|
+
businessDays: import_zod10.z.object({
|
|
419
|
+
"@type": import_zod10.z.literal("OpeningHoursSpecification").default("OpeningHoursSpecification"),
|
|
420
|
+
dayOfWeek: import_zod10.z.union([DayOfWeek, import_zod10.z.array(DayOfWeek)])
|
|
394
421
|
}).optional(),
|
|
395
422
|
/** Order processing/packing time in days */
|
|
396
423
|
handlingTime: QuantitativeDaysSchema.optional(),
|
|
397
424
|
/** Transit time in days after dispatch */
|
|
398
425
|
transitTime: QuantitativeDaysSchema.optional(),
|
|
399
426
|
/** Cutoff time for same-day processing, ISO 8601 time, e.g. "14:00:00" */
|
|
400
|
-
cutoffTime:
|
|
427
|
+
cutoffTime: import_zod10.z.string().optional()
|
|
401
428
|
});
|
|
402
|
-
var OfferShippingDetailsSchema =
|
|
403
|
-
"@type":
|
|
429
|
+
var OfferShippingDetailsSchema = import_zod10.z.object({
|
|
430
|
+
"@type": import_zod10.z.literal("OfferShippingDetails").default("OfferShippingDetails"),
|
|
404
431
|
/** Shipping cost as a MonetaryAmount (use value: 0 for free shipping) */
|
|
405
|
-
shippingRate:
|
|
406
|
-
"@type":
|
|
407
|
-
value:
|
|
408
|
-
currency:
|
|
432
|
+
shippingRate: import_zod10.z.object({
|
|
433
|
+
"@type": import_zod10.z.literal("MonetaryAmount").default("MonetaryAmount"),
|
|
434
|
+
value: import_zod10.z.number(),
|
|
435
|
+
currency: import_zod10.z.string()
|
|
409
436
|
}).optional(),
|
|
410
437
|
/** Region(s) this shipping option applies to */
|
|
411
|
-
shippingDestination:
|
|
438
|
+
shippingDestination: import_zod10.z.union([
|
|
412
439
|
DefinedRegionSchema,
|
|
413
|
-
|
|
440
|
+
import_zod10.z.array(DefinedRegionSchema)
|
|
414
441
|
]).optional(),
|
|
415
442
|
/** Expected delivery time */
|
|
416
443
|
deliveryTime: ShippingDeliveryTimeSchema.optional(),
|
|
417
444
|
/** Set to true to indicate item cannot be shipped to a destination */
|
|
418
|
-
doesNotShip:
|
|
445
|
+
doesNotShip: import_zod10.z.boolean().optional(),
|
|
419
446
|
/** Human-readable shipping label, e.g. "Free Shipping", "Express Delivery" */
|
|
420
|
-
shippingLabel:
|
|
447
|
+
shippingLabel: import_zod10.z.string().optional()
|
|
448
|
+
});
|
|
449
|
+
|
|
450
|
+
// src/types/shared/MonetaryAmount.ts
|
|
451
|
+
var import_zod11 = require("zod");
|
|
452
|
+
var MonetaryAmountSchema = import_zod11.z.object({
|
|
453
|
+
"@type": import_zod11.z.literal("MonetaryAmount").default("MonetaryAmount"),
|
|
454
|
+
currency: import_zod11.z.string().length(3),
|
|
455
|
+
// ISO 4217, e.g. "USD"
|
|
456
|
+
value: import_zod11.z.union([
|
|
457
|
+
import_zod11.z.number(),
|
|
458
|
+
import_zod11.z.object({
|
|
459
|
+
"@type": import_zod11.z.literal("QuantitativeValue").default("QuantitativeValue"),
|
|
460
|
+
value: import_zod11.z.number().optional(),
|
|
461
|
+
minValue: import_zod11.z.number().optional(),
|
|
462
|
+
maxValue: import_zod11.z.number().optional(),
|
|
463
|
+
unitText: import_zod11.z.string().optional()
|
|
464
|
+
// e.g. "HOUR", "MONTH", "YEAR"
|
|
465
|
+
})
|
|
466
|
+
]).optional(),
|
|
467
|
+
minValue: import_zod11.z.number().optional(),
|
|
468
|
+
maxValue: import_zod11.z.number().optional()
|
|
469
|
+
});
|
|
470
|
+
var PriceSpecificationSchema = import_zod11.z.object({
|
|
471
|
+
"@type": import_zod11.z.literal("PriceSpecification").default("PriceSpecification"),
|
|
472
|
+
price: import_zod11.z.union([import_zod11.z.number(), import_zod11.z.string()]),
|
|
473
|
+
priceCurrency: import_zod11.z.string().length(3),
|
|
474
|
+
// ISO 4217
|
|
475
|
+
minPrice: import_zod11.z.number().optional(),
|
|
476
|
+
maxPrice: import_zod11.z.number().optional(),
|
|
477
|
+
validFrom: import_zod11.z.string().optional(),
|
|
478
|
+
// ISO 8601
|
|
479
|
+
validThrough: import_zod11.z.string().optional(),
|
|
480
|
+
eligibleQuantity: import_zod11.z.object({
|
|
481
|
+
"@type": import_zod11.z.literal("QuantitativeValue").default("QuantitativeValue"),
|
|
482
|
+
value: import_zod11.z.number().optional(),
|
|
483
|
+
minValue: import_zod11.z.number().optional(),
|
|
484
|
+
maxValue: import_zod11.z.number().optional()
|
|
485
|
+
}).optional()
|
|
421
486
|
});
|
|
422
487
|
|
|
423
488
|
// src/types/shared/Offer.ts
|
|
424
|
-
var ItemAvailability =
|
|
489
|
+
var ItemAvailability = import_zod12.z.enum([
|
|
425
490
|
"InStock",
|
|
426
491
|
"OutOfStock",
|
|
427
492
|
"PreOrder",
|
|
@@ -432,677 +497,900 @@ var ItemAvailability = import_zod10.z.enum([
|
|
|
432
497
|
"InStoreOnly",
|
|
433
498
|
"BackOrder"
|
|
434
499
|
]).transform((v) => `https://schema.org/${v}`);
|
|
435
|
-
var
|
|
436
|
-
"
|
|
437
|
-
|
|
438
|
-
|
|
500
|
+
var ItemCondition = import_zod12.z.enum([
|
|
501
|
+
"NewCondition",
|
|
502
|
+
"UsedCondition",
|
|
503
|
+
"RefurbishedCondition",
|
|
504
|
+
"DamagedCondition"
|
|
505
|
+
]).transform((v) => `https://schema.org/${v}`);
|
|
506
|
+
var UnitPriceSpecificationSchema = import_zod12.z.object({
|
|
507
|
+
"@type": import_zod12.z.literal("UnitPriceSpecification").default("UnitPriceSpecification"),
|
|
508
|
+
price: import_zod12.z.union([import_zod12.z.number(), import_zod12.z.string()]),
|
|
509
|
+
priceCurrency: import_zod12.z.string().length(3),
|
|
510
|
+
// ISO 4217
|
|
511
|
+
/** "SRP", "ListPrice", "MinimumAdvertisedPrice", "SalePrice", "InvoicePrice" */
|
|
512
|
+
priceType: import_zod12.z.string().optional(),
|
|
513
|
+
/** Member tier this price is valid for */
|
|
514
|
+
validForMemberTier: import_zod12.z.union([import_zod12.z.string(), import_zod12.z.object({}).catchall(import_zod12.z.unknown())]).optional(),
|
|
515
|
+
referenceQuantity: import_zod12.z.object({
|
|
516
|
+
"@type": import_zod12.z.literal("QuantitativeValue").default("QuantitativeValue"),
|
|
517
|
+
value: import_zod12.z.number().optional(),
|
|
518
|
+
unitCode: import_zod12.z.string().optional(),
|
|
519
|
+
unitText: import_zod12.z.string().optional()
|
|
520
|
+
}).optional(),
|
|
521
|
+
/** Loyalty points earned */
|
|
522
|
+
membershipPointsEarned: import_zod12.z.object({
|
|
523
|
+
"@type": import_zod12.z.literal("QuantitativeValue").default("QuantitativeValue"),
|
|
524
|
+
value: import_zod12.z.number().optional(),
|
|
525
|
+
unitText: import_zod12.z.string().optional()
|
|
526
|
+
}).optional(),
|
|
527
|
+
validFrom: import_zod12.z.string().optional(),
|
|
528
|
+
validThrough: import_zod12.z.string().optional()
|
|
529
|
+
});
|
|
530
|
+
var MerchantReturnPolicySeasonalOverrideSchema = import_zod12.z.object({
|
|
531
|
+
"@type": import_zod12.z.literal("MerchantReturnPolicySeasonalOverride").default("MerchantReturnPolicySeasonalOverride"),
|
|
532
|
+
startDate: import_zod12.z.string().optional(),
|
|
533
|
+
// ISO 8601
|
|
534
|
+
endDate: import_zod12.z.string().optional(),
|
|
535
|
+
// ISO 8601
|
|
536
|
+
returnPolicyCategory: import_zod12.z.string().optional(),
|
|
537
|
+
// schema.org enum URL
|
|
538
|
+
merchantReturnDays: import_zod12.z.number().int().nonnegative().optional()
|
|
539
|
+
});
|
|
540
|
+
var OfferSchema = import_zod12.z.object({
|
|
541
|
+
"@type": import_zod12.z.literal("Offer").default("Offer"),
|
|
542
|
+
price: import_zod12.z.union([import_zod12.z.number(), import_zod12.z.string()]),
|
|
543
|
+
priceCurrency: import_zod12.z.string().length(3),
|
|
439
544
|
// ISO 4217, e.g. "USD"
|
|
440
545
|
availability: ItemAvailability.optional(),
|
|
441
|
-
|
|
546
|
+
itemCondition: ItemCondition.optional(),
|
|
547
|
+
validFrom: import_zod12.z.string().optional(),
|
|
442
548
|
// ISO 8601
|
|
443
|
-
validThrough:
|
|
549
|
+
validThrough: import_zod12.z.string().optional(),
|
|
444
550
|
// ISO 8601
|
|
445
|
-
url:
|
|
446
|
-
seller:
|
|
447
|
-
category:
|
|
448
|
-
inventoryLevel:
|
|
449
|
-
"@type":
|
|
450
|
-
value:
|
|
551
|
+
url: import_zod12.z.string().url().optional(),
|
|
552
|
+
seller: import_zod12.z.object({ "@type": import_zod12.z.string(), name: import_zod12.z.string() }).optional(),
|
|
553
|
+
category: import_zod12.z.string().optional(),
|
|
554
|
+
inventoryLevel: import_zod12.z.object({
|
|
555
|
+
"@type": import_zod12.z.literal("QuantitativeValue").default("QuantitativeValue"),
|
|
556
|
+
value: import_zod12.z.number()
|
|
451
557
|
}).optional(),
|
|
452
|
-
priceValidUntil:
|
|
558
|
+
priceValidUntil: import_zod12.z.string().optional(),
|
|
453
559
|
// ISO 8601 date — Google Product requirement
|
|
454
|
-
|
|
560
|
+
priceSpecification: import_zod12.z.union([
|
|
561
|
+
UnitPriceSpecificationSchema,
|
|
562
|
+
import_zod12.z.array(UnitPriceSpecificationSchema)
|
|
563
|
+
]).optional(),
|
|
564
|
+
shippingDetails: import_zod12.z.union([
|
|
455
565
|
OfferShippingDetailsSchema,
|
|
456
|
-
|
|
566
|
+
import_zod12.z.array(OfferShippingDetailsSchema)
|
|
457
567
|
]).optional(),
|
|
458
|
-
hasMerchantReturnPolicy:
|
|
459
|
-
() =>
|
|
568
|
+
hasMerchantReturnPolicy: import_zod12.z.lazy(
|
|
569
|
+
() => import_zod12.z.object({ "@type": import_zod12.z.string() }).catchall(import_zod12.z.unknown())
|
|
460
570
|
).optional()
|
|
461
571
|
});
|
|
462
|
-
var MerchantReturnPolicySchema =
|
|
463
|
-
"@type":
|
|
464
|
-
applicableCountry:
|
|
465
|
-
returnPolicyCategory:
|
|
572
|
+
var MerchantReturnPolicySchema = import_zod12.z.object({
|
|
573
|
+
"@type": import_zod12.z.literal("MerchantReturnPolicy").default("MerchantReturnPolicy"),
|
|
574
|
+
applicableCountry: import_zod12.z.union([import_zod12.z.string(), import_zod12.z.array(import_zod12.z.string())]).optional(),
|
|
575
|
+
returnPolicyCategory: import_zod12.z.string().optional(),
|
|
576
|
+
// schema.org enum URL
|
|
577
|
+
merchantReturnDays: import_zod12.z.number().int().nonnegative().optional(),
|
|
578
|
+
returnMethod: import_zod12.z.string().optional(),
|
|
466
579
|
// schema.org enum URL
|
|
467
|
-
|
|
468
|
-
returnMethod: import_zod10.z.string().optional(),
|
|
580
|
+
returnFees: import_zod12.z.string().optional(),
|
|
469
581
|
// schema.org enum URL
|
|
470
|
-
|
|
582
|
+
refundType: import_zod12.z.string().optional(),
|
|
471
583
|
// schema.org enum URL
|
|
472
|
-
|
|
584
|
+
// Additional Google Merchant Listing fields
|
|
585
|
+
merchantReturnLink: import_zod12.z.string().url().optional(),
|
|
586
|
+
returnShippingFeesAmount: MonetaryAmountSchema.optional(),
|
|
587
|
+
itemCondition: import_zod12.z.union([ItemCondition, import_zod12.z.array(ItemCondition)]).optional(),
|
|
588
|
+
returnLabelSource: import_zod12.z.string().optional(),
|
|
473
589
|
// schema.org enum URL
|
|
590
|
+
returnPolicyCountry: import_zod12.z.string().optional(),
|
|
591
|
+
// ISO 3166-1 alpha-2
|
|
592
|
+
restockingFee: import_zod12.z.union([MonetaryAmountSchema, import_zod12.z.number()]).optional(),
|
|
593
|
+
returnPolicySeasonalOverride: import_zod12.z.union([
|
|
594
|
+
MerchantReturnPolicySeasonalOverrideSchema,
|
|
595
|
+
import_zod12.z.array(MerchantReturnPolicySeasonalOverrideSchema)
|
|
596
|
+
]).optional(),
|
|
597
|
+
// Customer remorse return fields
|
|
598
|
+
customerRemorseReturnFees: import_zod12.z.string().optional(),
|
|
599
|
+
// schema.org enum URL
|
|
600
|
+
customerRemorseReturnLabelSource: import_zod12.z.string().optional(),
|
|
601
|
+
// schema.org enum URL
|
|
602
|
+
customerRemorseReturnShippingFeesAmount: MonetaryAmountSchema.optional(),
|
|
603
|
+
// Item defect return fields
|
|
604
|
+
itemDefectReturnFees: import_zod12.z.string().optional(),
|
|
605
|
+
// schema.org enum URL
|
|
606
|
+
itemDefectReturnLabelSource: import_zod12.z.string().optional(),
|
|
607
|
+
// schema.org enum URL
|
|
608
|
+
itemDefectReturnShippingFeesAmount: MonetaryAmountSchema.optional()
|
|
474
609
|
});
|
|
475
610
|
var createOffer = makeFactory(OfferSchema);
|
|
476
|
-
var AggregateOfferSchema =
|
|
477
|
-
"@type":
|
|
478
|
-
lowPrice:
|
|
479
|
-
highPrice:
|
|
480
|
-
priceCurrency:
|
|
611
|
+
var AggregateOfferSchema = import_zod12.z.object({
|
|
612
|
+
"@type": import_zod12.z.literal("AggregateOffer").default("AggregateOffer"),
|
|
613
|
+
lowPrice: import_zod12.z.number().optional(),
|
|
614
|
+
highPrice: import_zod12.z.number().optional(),
|
|
615
|
+
priceCurrency: import_zod12.z.string().length(3).optional(),
|
|
481
616
|
// ISO 4217
|
|
482
|
-
offerCount:
|
|
483
|
-
offers:
|
|
617
|
+
offerCount: import_zod12.z.number().int().nonnegative().optional(),
|
|
618
|
+
offers: import_zod12.z.union([OfferSchema, import_zod12.z.array(OfferSchema)]).optional(),
|
|
484
619
|
availability: ItemAvailability.optional(),
|
|
485
|
-
url:
|
|
620
|
+
url: import_zod12.z.string().url().optional()
|
|
621
|
+
});
|
|
622
|
+
|
|
623
|
+
// src/types/shared/MemberProgram.ts
|
|
624
|
+
var import_zod13 = require("zod");
|
|
625
|
+
var MemberProgramTierSchema = import_zod13.z.object({
|
|
626
|
+
"@type": import_zod13.z.literal("MemberProgramTier").default("MemberProgramTier"),
|
|
627
|
+
name: import_zod13.z.string(),
|
|
628
|
+
hasTierBenefit: import_zod13.z.union([import_zod13.z.string(), import_zod13.z.array(import_zod13.z.string())]),
|
|
629
|
+
hasTierRequirement: import_zod13.z.union([import_zod13.z.string(), import_zod13.z.object({}).catchall(import_zod13.z.unknown())]).optional(),
|
|
630
|
+
membershipPointsEarned: import_zod13.z.object({
|
|
631
|
+
"@type": import_zod13.z.literal("QuantitativeValue").default("QuantitativeValue"),
|
|
632
|
+
value: import_zod13.z.number().optional(),
|
|
633
|
+
unitText: import_zod13.z.string().optional()
|
|
634
|
+
}).optional(),
|
|
635
|
+
url: import_zod13.z.string().url().optional()
|
|
636
|
+
});
|
|
637
|
+
var MemberProgramSchema = import_zod13.z.object({
|
|
638
|
+
"@type": import_zod13.z.literal("MemberProgram").default("MemberProgram"),
|
|
639
|
+
name: import_zod13.z.string(),
|
|
640
|
+
description: import_zod13.z.string().optional(),
|
|
641
|
+
hasTiers: import_zod13.z.union([MemberProgramTierSchema, import_zod13.z.array(MemberProgramTierSchema)]).optional(),
|
|
642
|
+
url: import_zod13.z.string().url().optional()
|
|
643
|
+
});
|
|
644
|
+
|
|
645
|
+
// src/types/shared/ShippingService.ts
|
|
646
|
+
var import_zod14 = require("zod");
|
|
647
|
+
var ServicePeriodSchema = import_zod14.z.object({
|
|
648
|
+
"@type": import_zod14.z.literal("ServicePeriod").default("ServicePeriod"),
|
|
649
|
+
businessDays: import_zod14.z.object({
|
|
650
|
+
"@type": import_zod14.z.literal("OpeningHoursSpecification").default("OpeningHoursSpecification"),
|
|
651
|
+
dayOfWeek: import_zod14.z.union([DayOfWeek, import_zod14.z.array(DayOfWeek)])
|
|
652
|
+
}).optional(),
|
|
653
|
+
/** Order cutoff time (ISO 8601), e.g. "14:00:00-05:00" */
|
|
654
|
+
cutoffTime: import_zod14.z.string().optional(),
|
|
655
|
+
/** ISO 8601 duration, e.g. "P3D" for 3 days */
|
|
656
|
+
duration: import_zod14.z.string().optional()
|
|
657
|
+
});
|
|
658
|
+
var ShippingConditionsSchema = import_zod14.z.object({
|
|
659
|
+
"@type": import_zod14.z.literal("ShippingConditions").default("ShippingConditions"),
|
|
660
|
+
/** Shipping cost */
|
|
661
|
+
shippingRate: MonetaryAmountSchema.optional(),
|
|
662
|
+
/** Region(s) this condition applies to */
|
|
663
|
+
shippingDestination: import_zod14.z.union([DefinedRegionSchema, import_zod14.z.array(DefinedRegionSchema)]).optional(),
|
|
664
|
+
/** Region(s) shipment originates from */
|
|
665
|
+
shippingOrigin: import_zod14.z.union([DefinedRegionSchema, import_zod14.z.array(DefinedRegionSchema)]).optional(),
|
|
666
|
+
/** Delivery time details */
|
|
667
|
+
deliveryTime: import_zod14.z.object({
|
|
668
|
+
"@type": import_zod14.z.literal("ShippingDeliveryTime").default("ShippingDeliveryTime"),
|
|
669
|
+
handlingTime: import_zod14.z.object({
|
|
670
|
+
"@type": import_zod14.z.literal("QuantitativeValue").default("QuantitativeValue"),
|
|
671
|
+
minValue: import_zod14.z.number().int().nonnegative().optional(),
|
|
672
|
+
maxValue: import_zod14.z.number().int().nonnegative().optional(),
|
|
673
|
+
unitCode: import_zod14.z.string().default("DAY")
|
|
674
|
+
}).optional(),
|
|
675
|
+
transitTime: import_zod14.z.object({
|
|
676
|
+
"@type": import_zod14.z.literal("QuantitativeValue").default("QuantitativeValue"),
|
|
677
|
+
minValue: import_zod14.z.number().int().nonnegative().optional(),
|
|
678
|
+
maxValue: import_zod14.z.number().int().nonnegative().optional(),
|
|
679
|
+
unitCode: import_zod14.z.string().default("DAY")
|
|
680
|
+
}).optional()
|
|
681
|
+
}).optional(),
|
|
682
|
+
/** Set to true to indicate item cannot be shipped to destination */
|
|
683
|
+
doesNotShip: import_zod14.z.boolean().optional(),
|
|
684
|
+
/** Minimum order value for this condition */
|
|
685
|
+
orderValue: MonetaryAmountSchema.optional(),
|
|
686
|
+
/** Number of items constraint */
|
|
687
|
+
numItems: import_zod14.z.object({
|
|
688
|
+
"@type": import_zod14.z.literal("QuantitativeValue").default("QuantitativeValue"),
|
|
689
|
+
minValue: import_zod14.z.number().optional(),
|
|
690
|
+
maxValue: import_zod14.z.number().optional()
|
|
691
|
+
}).optional(),
|
|
692
|
+
/** Weight constraint */
|
|
693
|
+
weight: import_zod14.z.object({
|
|
694
|
+
"@type": import_zod14.z.literal("QuantitativeValue").default("QuantitativeValue"),
|
|
695
|
+
value: import_zod14.z.number().optional(),
|
|
696
|
+
maxValue: import_zod14.z.number().optional(),
|
|
697
|
+
unitCode: import_zod14.z.string().optional()
|
|
698
|
+
}).optional()
|
|
699
|
+
});
|
|
700
|
+
var ShippingServiceSchema = import_zod14.z.object({
|
|
701
|
+
"@type": import_zod14.z.literal("ShippingService").default("ShippingService"),
|
|
702
|
+
name: import_zod14.z.string().optional(),
|
|
703
|
+
description: import_zod14.z.string().optional(),
|
|
704
|
+
shippingConditions: import_zod14.z.union([ShippingConditionsSchema, import_zod14.z.array(ShippingConditionsSchema)]).optional(),
|
|
705
|
+
handlingTime: ServicePeriodSchema.optional(),
|
|
706
|
+
/** "Delivery" | "Pickup" | "DigitalDelivery" */
|
|
707
|
+
fulfillmentType: import_zod14.z.string().optional(),
|
|
708
|
+
/** Member tier this service is valid for */
|
|
709
|
+
validForMemberTier: import_zod14.z.union([import_zod14.z.string(), import_zod14.z.object({}).catchall(import_zod14.z.unknown())]).optional()
|
|
486
710
|
});
|
|
487
711
|
|
|
488
712
|
// src/types/things/Organization.ts
|
|
489
|
-
var NestedOrgRef =
|
|
490
|
-
() =>
|
|
713
|
+
var NestedOrgRef = import_zod15.z.lazy(
|
|
714
|
+
() => import_zod15.z.object({ "@type": import_zod15.z.string(), name: import_zod15.z.string().optional() }).catchall(import_zod15.z.unknown())
|
|
491
715
|
);
|
|
492
716
|
var OrganizationSchema = extendThing("Organization", {
|
|
493
|
-
legalName:
|
|
494
|
-
email:
|
|
495
|
-
telephone:
|
|
717
|
+
legalName: import_zod15.z.string().optional(),
|
|
718
|
+
email: import_zod15.z.email().optional(),
|
|
719
|
+
telephone: import_zod15.z.string().optional(),
|
|
496
720
|
logo: ImageOrUrl.optional(),
|
|
497
|
-
foundingDate:
|
|
721
|
+
foundingDate: import_zod15.z.string().optional(),
|
|
498
722
|
// ISO 8601 date
|
|
499
|
-
numberOfEmployees:
|
|
500
|
-
"@type":
|
|
501
|
-
value:
|
|
723
|
+
numberOfEmployees: import_zod15.z.object({
|
|
724
|
+
"@type": import_zod15.z.literal("QuantitativeValue").default("QuantitativeValue"),
|
|
725
|
+
value: import_zod15.z.number()
|
|
502
726
|
}).optional(),
|
|
503
|
-
address:
|
|
504
|
-
contactPoint:
|
|
727
|
+
address: import_zod15.z.union([import_zod15.z.string(), PostalAddressSchema]).optional(),
|
|
728
|
+
contactPoint: import_zod15.z.union([ContactPointSchema, import_zod15.z.array(ContactPointSchema)]).optional(),
|
|
505
729
|
// Google Organization requirements:
|
|
506
|
-
vatID:
|
|
507
|
-
iso6523Code:
|
|
730
|
+
vatID: import_zod15.z.string().optional(),
|
|
731
|
+
iso6523Code: import_zod15.z.string().optional(),
|
|
508
732
|
// e.g. "0060:123456789" (DUNS)
|
|
509
|
-
taxID:
|
|
510
|
-
leiCode:
|
|
511
|
-
duns:
|
|
733
|
+
taxID: import_zod15.z.string().optional(),
|
|
734
|
+
leiCode: import_zod15.z.string().optional(),
|
|
735
|
+
duns: import_zod15.z.string().optional(),
|
|
736
|
+
globalLocationNumber: import_zod15.z.string().optional(),
|
|
737
|
+
// GS1 GLN
|
|
738
|
+
naics: import_zod15.z.string().optional(),
|
|
739
|
+
// NAICS industry code
|
|
512
740
|
// Merchant-related (Google seller identity signals):
|
|
513
741
|
hasMerchantReturnPolicy: MerchantReturnPolicySchema.optional(),
|
|
514
|
-
hasShippingService:
|
|
515
|
-
|
|
516
|
-
).optional(),
|
|
742
|
+
hasShippingService: import_zod15.z.union([ShippingServiceSchema, import_zod15.z.array(ShippingServiceSchema)]).optional(),
|
|
743
|
+
// Loyalty program:
|
|
744
|
+
hasMemberProgram: import_zod15.z.union([MemberProgramSchema, import_zod15.z.array(MemberProgramSchema)]).optional(),
|
|
745
|
+
// Interaction statistics:
|
|
746
|
+
interactionStatistic: import_zod15.z.union([InteractionCounterSchema, import_zod15.z.array(InteractionCounterSchema)]).optional(),
|
|
747
|
+
agentInteractionStatistic: import_zod15.z.union([InteractionCounterSchema, import_zod15.z.array(InteractionCounterSchema)]).optional(),
|
|
517
748
|
// Hierarchical organization (loose refs to avoid circular type inference):
|
|
518
749
|
subOrganization: NestedOrgRef.optional(),
|
|
519
750
|
parentOrganization: NestedOrgRef.optional(),
|
|
520
|
-
sameAs:
|
|
751
|
+
sameAs: import_zod15.z.union([import_zod15.z.string().url(), import_zod15.z.array(import_zod15.z.string().url())]).optional()
|
|
521
752
|
});
|
|
522
753
|
var createOrganization = makeFactory(OrganizationSchema);
|
|
523
754
|
var createNGO = makeFactory(
|
|
524
|
-
OrganizationSchema.extend({ "@type":
|
|
755
|
+
OrganizationSchema.extend({ "@type": import_zod15.z.literal("NGO").default("NGO") })
|
|
525
756
|
);
|
|
526
757
|
var createCorporation = makeFactory(
|
|
527
|
-
OrganizationSchema.extend({ "@type":
|
|
758
|
+
OrganizationSchema.extend({ "@type": import_zod15.z.literal("Corporation").default("Corporation") })
|
|
528
759
|
);
|
|
529
760
|
var createOnlineStore = makeFactory(
|
|
530
|
-
OrganizationSchema.extend({ "@type":
|
|
761
|
+
OrganizationSchema.extend({ "@type": import_zod15.z.literal("OnlineStore").default("OnlineStore") })
|
|
531
762
|
);
|
|
532
763
|
var createOnlineBusiness = makeFactory(
|
|
533
|
-
OrganizationSchema.extend({ "@type":
|
|
764
|
+
OrganizationSchema.extend({ "@type": import_zod15.z.literal("OnlineBusiness").default("OnlineBusiness") })
|
|
534
765
|
);
|
|
535
766
|
|
|
536
767
|
// src/types/things/Product.ts
|
|
537
|
-
var
|
|
768
|
+
var import_zod17 = require("zod");
|
|
538
769
|
|
|
539
770
|
// src/types/shared/Rating.ts
|
|
540
|
-
var
|
|
541
|
-
var RatingSchema =
|
|
542
|
-
"@type":
|
|
543
|
-
ratingValue:
|
|
544
|
-
bestRating:
|
|
545
|
-
worstRating:
|
|
546
|
-
ratingExplanation:
|
|
547
|
-
reviewAspect:
|
|
548
|
-
});
|
|
549
|
-
var AggregateRatingSchema =
|
|
550
|
-
"@type":
|
|
551
|
-
ratingValue:
|
|
552
|
-
reviewCount:
|
|
553
|
-
ratingCount:
|
|
554
|
-
bestRating:
|
|
555
|
-
worstRating:
|
|
556
|
-
});
|
|
557
|
-
var ReviewSchema =
|
|
558
|
-
"@type":
|
|
559
|
-
reviewBody:
|
|
771
|
+
var import_zod16 = require("zod");
|
|
772
|
+
var RatingSchema = import_zod16.z.object({
|
|
773
|
+
"@type": import_zod16.z.literal("Rating").default("Rating"),
|
|
774
|
+
ratingValue: import_zod16.z.union([import_zod16.z.number(), import_zod16.z.string()]),
|
|
775
|
+
bestRating: import_zod16.z.union([import_zod16.z.number(), import_zod16.z.string()]).default(5),
|
|
776
|
+
worstRating: import_zod16.z.union([import_zod16.z.number(), import_zod16.z.string()]).default(1),
|
|
777
|
+
ratingExplanation: import_zod16.z.string().optional(),
|
|
778
|
+
reviewAspect: import_zod16.z.string().optional()
|
|
779
|
+
});
|
|
780
|
+
var AggregateRatingSchema = import_zod16.z.object({
|
|
781
|
+
"@type": import_zod16.z.literal("AggregateRating").default("AggregateRating"),
|
|
782
|
+
ratingValue: import_zod16.z.union([import_zod16.z.number(), import_zod16.z.string()]),
|
|
783
|
+
reviewCount: import_zod16.z.number().int().nonnegative().optional(),
|
|
784
|
+
ratingCount: import_zod16.z.number().int().nonnegative().optional(),
|
|
785
|
+
bestRating: import_zod16.z.union([import_zod16.z.number(), import_zod16.z.string()]).default(5),
|
|
786
|
+
worstRating: import_zod16.z.union([import_zod16.z.number(), import_zod16.z.string()]).default(1)
|
|
787
|
+
});
|
|
788
|
+
var ReviewSchema = import_zod16.z.object({
|
|
789
|
+
"@type": import_zod16.z.literal("Review").default("Review"),
|
|
790
|
+
reviewBody: import_zod16.z.string().optional(),
|
|
560
791
|
reviewRating: RatingSchema.optional(),
|
|
561
792
|
author: PersonOrOrgRef,
|
|
562
|
-
datePublished:
|
|
793
|
+
datePublished: import_zod16.z.string().optional(),
|
|
563
794
|
// ISO 8601 date
|
|
564
795
|
publisher: PersonOrOrgRef.optional(),
|
|
565
796
|
// itemReviewed: any Thing — kept loose to avoid circular imports
|
|
566
|
-
itemReviewed:
|
|
567
|
-
() =>
|
|
797
|
+
itemReviewed: import_zod16.z.lazy(
|
|
798
|
+
() => import_zod16.z.object({ "@type": import_zod16.z.string() }).passthrough()
|
|
568
799
|
).optional(),
|
|
569
|
-
name:
|
|
800
|
+
name: import_zod16.z.string().optional(),
|
|
570
801
|
// Review headline
|
|
571
|
-
url:
|
|
802
|
+
url: import_zod16.z.string().url().optional(),
|
|
803
|
+
/** ISO 8601 DateTime — required for French vacation rental reviews */
|
|
804
|
+
contentReferenceTime: import_zod16.z.string().optional()
|
|
572
805
|
});
|
|
573
806
|
var EmployerAggregateRatingSchema = AggregateRatingSchema.extend({
|
|
574
|
-
"@type":
|
|
575
|
-
itemReviewed:
|
|
576
|
-
() =>
|
|
807
|
+
"@type": import_zod16.z.literal("EmployerAggregateRating").default("EmployerAggregateRating"),
|
|
808
|
+
itemReviewed: import_zod16.z.lazy(
|
|
809
|
+
() => import_zod16.z.object({ "@type": import_zod16.z.string(), name: import_zod16.z.string() }).passthrough()
|
|
577
810
|
).optional()
|
|
578
811
|
});
|
|
579
812
|
|
|
580
813
|
// src/types/things/Product.ts
|
|
581
|
-
var CertificationSchema =
|
|
582
|
-
"@type":
|
|
583
|
-
name:
|
|
584
|
-
url:
|
|
585
|
-
issuedBy:
|
|
586
|
-
"@type":
|
|
587
|
-
name:
|
|
588
|
-
url:
|
|
814
|
+
var CertificationSchema = import_zod17.z.object({
|
|
815
|
+
"@type": import_zod17.z.literal("Certification").default("Certification"),
|
|
816
|
+
name: import_zod17.z.string(),
|
|
817
|
+
url: import_zod17.z.url().optional(),
|
|
818
|
+
issuedBy: import_zod17.z.object({
|
|
819
|
+
"@type": import_zod17.z.literal("Organization").default("Organization"),
|
|
820
|
+
name: import_zod17.z.string(),
|
|
821
|
+
url: import_zod17.z.url().optional()
|
|
589
822
|
}).optional(),
|
|
590
|
-
certificationRatingValue:
|
|
591
|
-
certificationStatus:
|
|
592
|
-
validFrom:
|
|
593
|
-
validThrough:
|
|
594
|
-
});
|
|
595
|
-
var ThreeDModelSchema =
|
|
596
|
-
"@type":
|
|
597
|
-
contentUrl:
|
|
823
|
+
certificationRatingValue: import_zod17.z.string().optional(),
|
|
824
|
+
certificationStatus: import_zod17.z.string().optional(),
|
|
825
|
+
validFrom: import_zod17.z.string().optional(),
|
|
826
|
+
validThrough: import_zod17.z.string().optional()
|
|
827
|
+
});
|
|
828
|
+
var ThreeDModelSchema = import_zod17.z.object({
|
|
829
|
+
"@type": import_zod17.z.literal("3DModel").default("3DModel"),
|
|
830
|
+
contentUrl: import_zod17.z.url(),
|
|
598
831
|
/** MIME type, e.g. "model/gltf-binary", "model/gltf+json" */
|
|
599
|
-
encodingFormat:
|
|
600
|
-
name:
|
|
832
|
+
encodingFormat: import_zod17.z.string().optional(),
|
|
833
|
+
name: import_zod17.z.string().optional()
|
|
601
834
|
});
|
|
602
|
-
var LooseProductRef =
|
|
603
|
-
() =>
|
|
835
|
+
var LooseProductRef = import_zod17.z.lazy(
|
|
836
|
+
() => import_zod17.z.object({ "@type": import_zod17.z.string() }).catchall(import_zod17.z.unknown())
|
|
604
837
|
);
|
|
605
|
-
var LooseProductGroupRef =
|
|
606
|
-
() =>
|
|
838
|
+
var LooseProductGroupRef = import_zod17.z.lazy(
|
|
839
|
+
() => import_zod17.z.object({ "@type": import_zod17.z.string() }).catchall(import_zod17.z.unknown())
|
|
607
840
|
);
|
|
841
|
+
var SizeSpecificationSchema = import_zod17.z.object({
|
|
842
|
+
"@type": import_zod17.z.literal("SizeSpecification").default("SizeSpecification"),
|
|
843
|
+
name: import_zod17.z.string().optional(),
|
|
844
|
+
/** Size system, e.g. "US", "EU", "UK", "JP" */
|
|
845
|
+
sizeSystem: import_zod17.z.string().optional(),
|
|
846
|
+
/** Size group, e.g. "Petite", "Plus", "Maternity", "Regular", "Tall" */
|
|
847
|
+
sizeGroup: import_zod17.z.union([import_zod17.z.string(), import_zod17.z.array(import_zod17.z.string())]).optional()
|
|
848
|
+
});
|
|
849
|
+
var PeopleAudienceSchema = import_zod17.z.object({
|
|
850
|
+
"@type": import_zod17.z.literal("PeopleAudience").default("PeopleAudience"),
|
|
851
|
+
/** "Male", "Female", "Unknown" */
|
|
852
|
+
suggestedGender: import_zod17.z.string().optional(),
|
|
853
|
+
suggestedMinAge: import_zod17.z.number().optional(),
|
|
854
|
+
suggestedMaxAge: import_zod17.z.number().optional()
|
|
855
|
+
});
|
|
608
856
|
var ProductSchema = extendThing("Product", {
|
|
609
|
-
sku:
|
|
857
|
+
sku: import_zod17.z.string().optional(),
|
|
610
858
|
// GTIN identifiers (Google Product requirement):
|
|
611
|
-
gtin:
|
|
612
|
-
gtin8:
|
|
613
|
-
gtin12:
|
|
614
|
-
gtin13:
|
|
615
|
-
gtin14:
|
|
616
|
-
mpn:
|
|
859
|
+
gtin: import_zod17.z.string().optional(),
|
|
860
|
+
gtin8: import_zod17.z.string().optional(),
|
|
861
|
+
gtin12: import_zod17.z.string().optional(),
|
|
862
|
+
gtin13: import_zod17.z.string().optional(),
|
|
863
|
+
gtin14: import_zod17.z.string().optional(),
|
|
864
|
+
mpn: import_zod17.z.string().optional(),
|
|
617
865
|
// Manufacturer Part Number
|
|
618
|
-
brand:
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
"@type":
|
|
622
|
-
name:
|
|
866
|
+
brand: import_zod17.z.union([
|
|
867
|
+
import_zod17.z.string(),
|
|
868
|
+
import_zod17.z.object({
|
|
869
|
+
"@type": import_zod17.z.union([import_zod17.z.literal("Brand"), import_zod17.z.literal("Organization")]),
|
|
870
|
+
name: import_zod17.z.string()
|
|
623
871
|
})
|
|
624
872
|
]).optional(),
|
|
625
|
-
offers:
|
|
873
|
+
offers: import_zod17.z.union([
|
|
626
874
|
OfferSchema,
|
|
627
875
|
AggregateOfferSchema,
|
|
628
|
-
|
|
876
|
+
import_zod17.z.array(import_zod17.z.union([OfferSchema, AggregateOfferSchema]))
|
|
629
877
|
]).optional(),
|
|
630
878
|
aggregateRating: AggregateRatingSchema.optional(),
|
|
631
|
-
review:
|
|
632
|
-
category:
|
|
633
|
-
color:
|
|
634
|
-
material:
|
|
635
|
-
weight:
|
|
636
|
-
"@type":
|
|
637
|
-
value:
|
|
638
|
-
unitCode:
|
|
879
|
+
review: import_zod17.z.union([ReviewSchema, import_zod17.z.array(ReviewSchema)]).optional(),
|
|
880
|
+
category: import_zod17.z.string().optional(),
|
|
881
|
+
color: import_zod17.z.string().optional(),
|
|
882
|
+
material: import_zod17.z.string().optional(),
|
|
883
|
+
weight: import_zod17.z.object({
|
|
884
|
+
"@type": import_zod17.z.literal("QuantitativeValue").default("QuantitativeValue"),
|
|
885
|
+
value: import_zod17.z.number(),
|
|
886
|
+
unitCode: import_zod17.z.string()
|
|
639
887
|
}).optional(),
|
|
640
|
-
image:
|
|
888
|
+
image: import_zod17.z.union([ImageOrUrl, import_zod17.z.array(ImageOrUrl)]).optional(),
|
|
641
889
|
hasMerchantReturnPolicy: MerchantReturnPolicySchema.optional(),
|
|
642
890
|
isVariantOf: LooseProductGroupRef.optional(),
|
|
643
891
|
/** Certifications (CE, Energy Star, Fair Trade, etc.) */
|
|
644
|
-
hasCertification:
|
|
892
|
+
hasCertification: import_zod17.z.union([CertificationSchema, import_zod17.z.array(CertificationSchema)]).optional(),
|
|
645
893
|
/** 3D models for interactive product views in Google Search/Images */
|
|
646
|
-
subjectOf:
|
|
894
|
+
subjectOf: import_zod17.z.union([ThreeDModelSchema, import_zod17.z.array(ThreeDModelSchema)]).optional(),
|
|
895
|
+
/** Pattern design, e.g. "Polka dots", "Stripes" */
|
|
896
|
+
pattern: import_zod17.z.string().optional(),
|
|
897
|
+
/** Size as a string or structured SizeSpecification */
|
|
898
|
+
size: import_zod17.z.union([import_zod17.z.string(), SizeSpecificationSchema]).optional(),
|
|
899
|
+
/** Target audience (gender, age range) */
|
|
900
|
+
audience: PeopleAudienceSchema.optional(),
|
|
901
|
+
/** Positive aspects as an ItemList */
|
|
902
|
+
positiveNotes: import_zod17.z.object({
|
|
903
|
+
"@type": import_zod17.z.literal("ItemList").default("ItemList"),
|
|
904
|
+
itemListElement: import_zod17.z.array(
|
|
905
|
+
import_zod17.z.object({
|
|
906
|
+
"@type": import_zod17.z.literal("ListItem").default("ListItem"),
|
|
907
|
+
position: import_zod17.z.number().int().positive(),
|
|
908
|
+
name: import_zod17.z.string()
|
|
909
|
+
})
|
|
910
|
+
)
|
|
911
|
+
}).optional(),
|
|
912
|
+
/** Negative aspects as an ItemList */
|
|
913
|
+
negativeNotes: import_zod17.z.object({
|
|
914
|
+
"@type": import_zod17.z.literal("ItemList").default("ItemList"),
|
|
915
|
+
itemListElement: import_zod17.z.array(
|
|
916
|
+
import_zod17.z.object({
|
|
917
|
+
"@type": import_zod17.z.literal("ListItem").default("ListItem"),
|
|
918
|
+
position: import_zod17.z.number().int().positive(),
|
|
919
|
+
name: import_zod17.z.string()
|
|
920
|
+
})
|
|
921
|
+
)
|
|
922
|
+
}).optional(),
|
|
923
|
+
/** ID of the ProductGroup this variant belongs to */
|
|
924
|
+
inProductGroupWithID: import_zod17.z.string().optional()
|
|
647
925
|
});
|
|
648
926
|
var ProductGroupSchema = extendThing("ProductGroup", {
|
|
649
|
-
variesBy:
|
|
650
|
-
hasVariant:
|
|
651
|
-
productGroupID:
|
|
652
|
-
sku:
|
|
653
|
-
gtin:
|
|
654
|
-
brand:
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
"@type":
|
|
658
|
-
name:
|
|
927
|
+
variesBy: import_zod17.z.union([import_zod17.z.string(), import_zod17.z.array(import_zod17.z.string())]).optional(),
|
|
928
|
+
hasVariant: import_zod17.z.array(LooseProductRef).optional(),
|
|
929
|
+
productGroupID: import_zod17.z.string().optional(),
|
|
930
|
+
sku: import_zod17.z.string().optional(),
|
|
931
|
+
gtin: import_zod17.z.string().optional(),
|
|
932
|
+
brand: import_zod17.z.union([
|
|
933
|
+
import_zod17.z.string(),
|
|
934
|
+
import_zod17.z.object({
|
|
935
|
+
"@type": import_zod17.z.union([import_zod17.z.literal("Brand"), import_zod17.z.literal("Organization")]),
|
|
936
|
+
name: import_zod17.z.string()
|
|
659
937
|
})
|
|
660
938
|
]).optional(),
|
|
661
|
-
offers:
|
|
939
|
+
offers: import_zod17.z.union([OfferSchema, import_zod17.z.array(OfferSchema)]).optional(),
|
|
662
940
|
aggregateRating: AggregateRatingSchema.optional(),
|
|
663
|
-
|
|
941
|
+
review: import_zod17.z.union([ReviewSchema, import_zod17.z.array(ReviewSchema)]).optional(),
|
|
942
|
+
audience: PeopleAudienceSchema.optional(),
|
|
943
|
+
image: import_zod17.z.union([ImageOrUrl, import_zod17.z.array(ImageOrUrl)]).optional()
|
|
664
944
|
});
|
|
665
945
|
var createProduct = makeFactory(ProductSchema);
|
|
666
946
|
var createProductGroup = makeFactory(ProductGroupSchema);
|
|
667
947
|
|
|
668
948
|
// src/types/things/Event.ts
|
|
669
|
-
var
|
|
949
|
+
var import_zod19 = require("zod");
|
|
670
950
|
|
|
671
951
|
// src/types/shared/VideoObject.ts
|
|
672
|
-
var
|
|
673
|
-
var ClipSchema =
|
|
674
|
-
"@type":
|
|
675
|
-
name:
|
|
676
|
-
startOffset:
|
|
952
|
+
var import_zod18 = require("zod");
|
|
953
|
+
var ClipSchema = import_zod18.z.object({
|
|
954
|
+
"@type": import_zod18.z.literal("Clip").default("Clip"),
|
|
955
|
+
name: import_zod18.z.string(),
|
|
956
|
+
startOffset: import_zod18.z.number(),
|
|
677
957
|
// seconds from start
|
|
678
|
-
endOffset:
|
|
958
|
+
endOffset: import_zod18.z.number().optional(),
|
|
679
959
|
// seconds from start
|
|
680
|
-
url:
|
|
960
|
+
url: import_zod18.z.string().url().optional()
|
|
681
961
|
// URL pointing to this clip
|
|
682
962
|
});
|
|
683
|
-
var BroadcastEventSchema =
|
|
684
|
-
"@type":
|
|
685
|
-
isLiveBroadcast:
|
|
686
|
-
startDate:
|
|
963
|
+
var BroadcastEventSchema = import_zod18.z.object({
|
|
964
|
+
"@type": import_zod18.z.literal("BroadcastEvent").default("BroadcastEvent"),
|
|
965
|
+
isLiveBroadcast: import_zod18.z.boolean().optional(),
|
|
966
|
+
startDate: import_zod18.z.string().optional(),
|
|
687
967
|
// ISO 8601
|
|
688
|
-
endDate:
|
|
968
|
+
endDate: import_zod18.z.string().optional()
|
|
969
|
+
});
|
|
970
|
+
var SeekToActionSchema = import_zod18.z.object({
|
|
971
|
+
"@type": import_zod18.z.literal("SeekToAction").default("SeekToAction"),
|
|
972
|
+
/** URL template with {seek_to_second_number} placeholder */
|
|
973
|
+
target: import_zod18.z.string(),
|
|
974
|
+
"startOffset-input": import_zod18.z.string().default("required name=seek_to_second_number")
|
|
689
975
|
});
|
|
690
|
-
var VideoObjectSchema =
|
|
691
|
-
"@type":
|
|
976
|
+
var VideoObjectSchema = import_zod18.z.object({
|
|
977
|
+
"@type": import_zod18.z.literal("VideoObject").default("VideoObject"),
|
|
692
978
|
// Required by Google:
|
|
693
|
-
name:
|
|
694
|
-
thumbnailUrl:
|
|
695
|
-
uploadDate:
|
|
979
|
+
name: import_zod18.z.string(),
|
|
980
|
+
thumbnailUrl: import_zod18.z.union([import_zod18.z.string().url(), import_zod18.z.array(import_zod18.z.string().url())]),
|
|
981
|
+
uploadDate: import_zod18.z.string(),
|
|
696
982
|
// ISO 8601 date
|
|
697
983
|
// Recommended by Google:
|
|
698
|
-
description:
|
|
699
|
-
duration:
|
|
984
|
+
description: import_zod18.z.string().optional(),
|
|
985
|
+
duration: import_zod18.z.string().optional(),
|
|
700
986
|
// ISO 8601 duration, e.g. "PT1M54S"
|
|
701
|
-
contentUrl:
|
|
702
|
-
embedUrl:
|
|
987
|
+
contentUrl: import_zod18.z.string().url().optional(),
|
|
988
|
+
embedUrl: import_zod18.z.string().url().optional(),
|
|
703
989
|
// Optional:
|
|
704
|
-
expires:
|
|
990
|
+
expires: import_zod18.z.string().optional(),
|
|
705
991
|
// ISO 8601 — when video is no longer available
|
|
706
|
-
hasPart:
|
|
707
|
-
interactionStatistic:
|
|
708
|
-
"@type":
|
|
709
|
-
interactionType:
|
|
710
|
-
userInteractionCount:
|
|
992
|
+
hasPart: import_zod18.z.array(ClipSchema).optional(),
|
|
993
|
+
interactionStatistic: import_zod18.z.object({
|
|
994
|
+
"@type": import_zod18.z.literal("InteractionCounter").default("InteractionCounter"),
|
|
995
|
+
interactionType: import_zod18.z.literal("https://schema.org/WatchAction").default("https://schema.org/WatchAction"),
|
|
996
|
+
userInteractionCount: import_zod18.z.number().int().nonnegative()
|
|
711
997
|
}).optional(),
|
|
712
|
-
regionsAllowed:
|
|
713
|
-
ineligibleRegion:
|
|
714
|
-
requiresSubscription:
|
|
715
|
-
isLiveBroadcast:
|
|
998
|
+
regionsAllowed: import_zod18.z.union([import_zod18.z.string(), import_zod18.z.array(import_zod18.z.string())]).optional(),
|
|
999
|
+
ineligibleRegion: import_zod18.z.union([import_zod18.z.string(), import_zod18.z.array(import_zod18.z.string())]).optional(),
|
|
1000
|
+
requiresSubscription: import_zod18.z.boolean().optional(),
|
|
1001
|
+
isLiveBroadcast: import_zod18.z.boolean().optional(),
|
|
716
1002
|
publication: BroadcastEventSchema.optional(),
|
|
717
|
-
thumbnail: ImageOrUrl.optional()
|
|
1003
|
+
thumbnail: ImageOrUrl.optional(),
|
|
1004
|
+
/** SeekToAction enables Video key moments via URL template */
|
|
1005
|
+
potentialAction: import_zod18.z.union([SeekToActionSchema, import_zod18.z.array(SeekToActionSchema)]).optional()
|
|
718
1006
|
});
|
|
719
1007
|
var createVideoObject = makeFactory(VideoObjectSchema);
|
|
720
1008
|
|
|
721
1009
|
// src/types/things/Event.ts
|
|
722
|
-
var EventStatusType =
|
|
1010
|
+
var EventStatusType = import_zod19.z.enum([
|
|
723
1011
|
"EventScheduled",
|
|
724
1012
|
"EventCancelled",
|
|
725
1013
|
"EventMovedOnline",
|
|
726
1014
|
"EventPostponed",
|
|
727
1015
|
"EventRescheduled"
|
|
728
1016
|
]).transform((v) => `https://schema.org/${v}`);
|
|
729
|
-
var EventAttendanceMode =
|
|
1017
|
+
var EventAttendanceMode = import_zod19.z.enum([
|
|
730
1018
|
"OfflineEventAttendanceMode",
|
|
731
1019
|
"OnlineEventAttendanceMode",
|
|
732
1020
|
"MixedEventAttendanceMode"
|
|
733
1021
|
]).transform((v) => `https://schema.org/${v}`);
|
|
734
|
-
var PlaceRef =
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
"@type":
|
|
738
|
-
name:
|
|
739
|
-
address:
|
|
740
|
-
url:
|
|
1022
|
+
var PlaceRef = import_zod19.z.union([
|
|
1023
|
+
import_zod19.z.string(),
|
|
1024
|
+
import_zod19.z.object({
|
|
1025
|
+
"@type": import_zod19.z.literal("Place"),
|
|
1026
|
+
name: import_zod19.z.string().optional(),
|
|
1027
|
+
address: import_zod19.z.union([import_zod19.z.string(), PostalAddressSchema]).optional(),
|
|
1028
|
+
url: import_zod19.z.url().optional()
|
|
741
1029
|
}),
|
|
742
|
-
|
|
743
|
-
"@type":
|
|
744
|
-
url:
|
|
745
|
-
name:
|
|
1030
|
+
import_zod19.z.object({
|
|
1031
|
+
"@type": import_zod19.z.literal("VirtualLocation"),
|
|
1032
|
+
url: import_zod19.z.url(),
|
|
1033
|
+
name: import_zod19.z.string().optional()
|
|
746
1034
|
}),
|
|
747
1035
|
PostalAddressSchema
|
|
748
1036
|
]);
|
|
749
1037
|
var EventSchema = extendThing("Event", {
|
|
750
1038
|
// Required by Google:
|
|
751
|
-
name:
|
|
752
|
-
startDate:
|
|
1039
|
+
name: import_zod19.z.string(),
|
|
1040
|
+
startDate: import_zod19.z.string(),
|
|
753
1041
|
// ISO 8601
|
|
754
1042
|
// Recommended by Google:
|
|
755
|
-
endDate:
|
|
1043
|
+
endDate: import_zod19.z.string().optional(),
|
|
756
1044
|
// ISO 8601
|
|
757
1045
|
location: PlaceRef.optional(),
|
|
758
1046
|
eventStatus: EventStatusType.optional(),
|
|
759
1047
|
eventAttendanceMode: EventAttendanceMode.optional(),
|
|
760
|
-
offers:
|
|
761
|
-
performer:
|
|
762
|
-
organizer:
|
|
763
|
-
image:
|
|
764
|
-
description:
|
|
765
|
-
previousStartDate:
|
|
1048
|
+
offers: import_zod19.z.union([OfferSchema, import_zod19.z.array(OfferSchema)]).optional(),
|
|
1049
|
+
performer: import_zod19.z.union([PersonOrOrgRef, import_zod19.z.array(PersonOrOrgRef)]).optional(),
|
|
1050
|
+
organizer: import_zod19.z.union([PersonOrOrgRef, import_zod19.z.array(PersonOrOrgRef)]).optional(),
|
|
1051
|
+
image: import_zod19.z.union([ImageOrUrl, import_zod19.z.array(ImageOrUrl)]).optional(),
|
|
1052
|
+
description: import_zod19.z.string().optional(),
|
|
1053
|
+
previousStartDate: import_zod19.z.string().optional(),
|
|
766
1054
|
// ISO 8601 — for rescheduled events
|
|
767
1055
|
aggregateRating: AggregateRatingSchema.optional(),
|
|
768
1056
|
// Sub-events:
|
|
769
|
-
subEvent:
|
|
770
|
-
() =>
|
|
1057
|
+
subEvent: import_zod19.z.lazy(
|
|
1058
|
+
() => import_zod19.z.array(import_zod19.z.object({ "@type": import_zod19.z.string() }).catchall(import_zod19.z.unknown()))
|
|
771
1059
|
).optional(),
|
|
772
|
-
superEvent:
|
|
773
|
-
() =>
|
|
1060
|
+
superEvent: import_zod19.z.lazy(
|
|
1061
|
+
() => import_zod19.z.object({ "@type": import_zod19.z.string() }).catchall(import_zod19.z.unknown())
|
|
774
1062
|
).optional(),
|
|
775
1063
|
// Additional:
|
|
776
|
-
inLanguage:
|
|
777
|
-
isAccessibleForFree:
|
|
778
|
-
maximumAttendeeCapacity:
|
|
779
|
-
remainingAttendeeCapacity:
|
|
780
|
-
typicalAgeRange:
|
|
1064
|
+
inLanguage: import_zod19.z.union([import_zod19.z.string(), import_zod19.z.object({ "@type": import_zod19.z.literal("Language"), name: import_zod19.z.string() })]).optional(),
|
|
1065
|
+
isAccessibleForFree: import_zod19.z.boolean().optional(),
|
|
1066
|
+
maximumAttendeeCapacity: import_zod19.z.number().int().nonnegative().optional(),
|
|
1067
|
+
remainingAttendeeCapacity: import_zod19.z.number().int().nonnegative().optional(),
|
|
1068
|
+
typicalAgeRange: import_zod19.z.string().optional(),
|
|
781
1069
|
video: VideoObjectSchema.optional()
|
|
782
1070
|
});
|
|
783
1071
|
var createEvent = makeFactory(EventSchema);
|
|
784
1072
|
|
|
785
1073
|
// src/types/things/Place.ts
|
|
786
|
-
var
|
|
1074
|
+
var import_zod21 = require("zod");
|
|
787
1075
|
|
|
788
1076
|
// src/types/shared/GeoCoordinates.ts
|
|
789
|
-
var
|
|
790
|
-
var GeoCoordinatesSchema =
|
|
791
|
-
"@type":
|
|
792
|
-
latitude:
|
|
793
|
-
longitude:
|
|
794
|
-
elevation:
|
|
1077
|
+
var import_zod20 = require("zod");
|
|
1078
|
+
var GeoCoordinatesSchema = import_zod20.z.object({
|
|
1079
|
+
"@type": import_zod20.z.literal("GeoCoordinates").default("GeoCoordinates"),
|
|
1080
|
+
latitude: import_zod20.z.union([import_zod20.z.number(), import_zod20.z.string()]),
|
|
1081
|
+
longitude: import_zod20.z.union([import_zod20.z.number(), import_zod20.z.string()]),
|
|
1082
|
+
elevation: import_zod20.z.union([import_zod20.z.number(), import_zod20.z.string()]).optional()
|
|
795
1083
|
});
|
|
796
1084
|
|
|
797
1085
|
// src/types/things/Place.ts
|
|
798
1086
|
var PlaceSchema = extendThing("Place", {
|
|
799
|
-
address:
|
|
1087
|
+
address: import_zod21.z.union([import_zod21.z.string(), PostalAddressSchema]).optional(),
|
|
800
1088
|
geo: GeoCoordinatesSchema.optional(),
|
|
801
|
-
hasMap:
|
|
802
|
-
photo:
|
|
803
|
-
telephone:
|
|
804
|
-
faxNumber:
|
|
805
|
-
openingHoursSpecification:
|
|
1089
|
+
hasMap: import_zod21.z.url().optional(),
|
|
1090
|
+
photo: import_zod21.z.union([ImageOrUrl, import_zod21.z.array(ImageOrUrl)]).optional(),
|
|
1091
|
+
telephone: import_zod21.z.string().optional(),
|
|
1092
|
+
faxNumber: import_zod21.z.string().optional(),
|
|
1093
|
+
openingHoursSpecification: import_zod21.z.union([
|
|
806
1094
|
OpeningHoursSpecificationSchema,
|
|
807
|
-
|
|
1095
|
+
import_zod21.z.array(OpeningHoursSpecificationSchema)
|
|
808
1096
|
]).optional(),
|
|
809
|
-
specialOpeningHoursSpecification:
|
|
1097
|
+
specialOpeningHoursSpecification: import_zod21.z.union([
|
|
810
1098
|
OpeningHoursSpecificationSchema,
|
|
811
|
-
|
|
1099
|
+
import_zod21.z.array(OpeningHoursSpecificationSchema)
|
|
812
1100
|
]).optional(),
|
|
813
|
-
maximumAttendeeCapacity:
|
|
814
|
-
isAccessibleForFree:
|
|
815
|
-
publicAccess:
|
|
816
|
-
amenityFeature:
|
|
817
|
-
"@type":
|
|
818
|
-
name:
|
|
819
|
-
value:
|
|
1101
|
+
maximumAttendeeCapacity: import_zod21.z.number().int().nonnegative().optional(),
|
|
1102
|
+
isAccessibleForFree: import_zod21.z.boolean().optional(),
|
|
1103
|
+
publicAccess: import_zod21.z.boolean().optional(),
|
|
1104
|
+
amenityFeature: import_zod21.z.array(import_zod21.z.object({
|
|
1105
|
+
"@type": import_zod21.z.literal("LocationFeatureSpecification").default("LocationFeatureSpecification"),
|
|
1106
|
+
name: import_zod21.z.string(),
|
|
1107
|
+
value: import_zod21.z.union([import_zod21.z.boolean(), import_zod21.z.string(), import_zod21.z.number()])
|
|
820
1108
|
})).optional(),
|
|
821
|
-
containedInPlace:
|
|
822
|
-
() =>
|
|
1109
|
+
containedInPlace: import_zod21.z.lazy(
|
|
1110
|
+
() => import_zod21.z.object({ "@type": import_zod21.z.string(), name: import_zod21.z.string().optional() }).catchall(import_zod21.z.unknown())
|
|
823
1111
|
).optional()
|
|
824
1112
|
});
|
|
825
1113
|
var createPlace = makeFactory(PlaceSchema);
|
|
826
1114
|
|
|
827
1115
|
// src/types/things/LocalBusiness.ts
|
|
828
|
-
var
|
|
1116
|
+
var import_zod22 = require("zod");
|
|
829
1117
|
var LocalBusinessSchema = PlaceSchema.extend({
|
|
830
|
-
"@type":
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
1118
|
+
"@type": import_zod22.z.union([
|
|
1119
|
+
import_zod22.z.literal("LocalBusiness"),
|
|
1120
|
+
import_zod22.z.literal("Restaurant"),
|
|
1121
|
+
import_zod22.z.literal("Store"),
|
|
1122
|
+
import_zod22.z.literal("FoodEstablishment"),
|
|
1123
|
+
import_zod22.z.literal("HealthAndBeautyBusiness"),
|
|
1124
|
+
import_zod22.z.literal("MedicalBusiness"),
|
|
1125
|
+
import_zod22.z.literal("FinancialService"),
|
|
1126
|
+
import_zod22.z.literal("LegalService"),
|
|
1127
|
+
import_zod22.z.literal("RealEstateAgent"),
|
|
1128
|
+
import_zod22.z.literal("AutoDealer"),
|
|
1129
|
+
import_zod22.z.literal("DaySpa"),
|
|
1130
|
+
import_zod22.z.literal("HairSalon"),
|
|
1131
|
+
import_zod22.z.literal("Hotel"),
|
|
1132
|
+
import_zod22.z.literal("LodgingBusiness"),
|
|
1133
|
+
import_zod22.z.literal("GroceryStore"),
|
|
1134
|
+
import_zod22.z.literal("ShoppingCenter"),
|
|
1135
|
+
import_zod22.z.literal("TravelAgency")
|
|
848
1136
|
]).default("LocalBusiness"),
|
|
849
1137
|
// Business identity:
|
|
850
|
-
legalName:
|
|
851
|
-
email:
|
|
1138
|
+
legalName: import_zod22.z.string().optional(),
|
|
1139
|
+
email: import_zod22.z.email().optional(),
|
|
852
1140
|
logo: ImageOrUrl.optional(),
|
|
853
|
-
contactPoint:
|
|
1141
|
+
contactPoint: import_zod22.z.union([ContactPointSchema, import_zod22.z.array(ContactPointSchema)]).optional(),
|
|
854
1142
|
// Ratings & reviews:
|
|
855
|
-
aggregateRating:
|
|
856
|
-
review:
|
|
1143
|
+
aggregateRating: import_zod22.z.union([AggregateRatingSchema, EmployerAggregateRatingSchema]).optional(),
|
|
1144
|
+
review: import_zod22.z.union([ReviewSchema, import_zod22.z.array(ReviewSchema)]).optional(),
|
|
857
1145
|
// Pricing:
|
|
858
|
-
priceRange:
|
|
1146
|
+
priceRange: import_zod22.z.string().optional(),
|
|
859
1147
|
// e.g. "$$$"
|
|
860
|
-
currenciesAccepted:
|
|
861
|
-
paymentAccepted:
|
|
1148
|
+
currenciesAccepted: import_zod22.z.string().optional(),
|
|
1149
|
+
paymentAccepted: import_zod22.z.string().optional(),
|
|
862
1150
|
// Food establishment specific:
|
|
863
|
-
servesCuisine:
|
|
864
|
-
hasMenu:
|
|
865
|
-
acceptsReservations:
|
|
1151
|
+
servesCuisine: import_zod22.z.union([import_zod22.z.string(), import_zod22.z.array(import_zod22.z.string())]).optional(),
|
|
1152
|
+
hasMenu: import_zod22.z.url().optional(),
|
|
1153
|
+
acceptsReservations: import_zod22.z.union([import_zod22.z.boolean(), import_zod22.z.url()]).optional(),
|
|
866
1154
|
// Merchant signals:
|
|
867
|
-
vatID:
|
|
868
|
-
iso6523Code:
|
|
1155
|
+
vatID: import_zod22.z.string().optional(),
|
|
1156
|
+
iso6523Code: import_zod22.z.string().optional(),
|
|
869
1157
|
hasMerchantReturnPolicy: MerchantReturnPolicySchema.optional(),
|
|
870
|
-
sameAs:
|
|
1158
|
+
sameAs: import_zod22.z.union([import_zod22.z.url(), import_zod22.z.array(import_zod22.z.url())]).optional(),
|
|
871
1159
|
// Departments (nested LocalBusiness):
|
|
872
|
-
department:
|
|
873
|
-
() =>
|
|
874
|
-
|
|
875
|
-
|
|
1160
|
+
department: import_zod22.z.lazy(
|
|
1161
|
+
() => import_zod22.z.union([
|
|
1162
|
+
import_zod22.z.object({ "@type": import_zod22.z.string() }).catchall(import_zod22.z.unknown()),
|
|
1163
|
+
import_zod22.z.array(import_zod22.z.object({ "@type": import_zod22.z.string() }).catchall(import_zod22.z.unknown()))
|
|
876
1164
|
])
|
|
877
1165
|
).optional(),
|
|
878
1166
|
// Opening hours in string format (alternative to openingHoursSpecification):
|
|
879
|
-
openingHours:
|
|
1167
|
+
openingHours: import_zod22.z.union([import_zod22.z.string(), import_zod22.z.array(import_zod22.z.string())]).optional()
|
|
880
1168
|
});
|
|
881
1169
|
var createLocalBusiness = makeFactory(LocalBusinessSchema);
|
|
882
1170
|
var createRestaurant = makeFactory(
|
|
883
|
-
LocalBusinessSchema.extend({ "@type":
|
|
1171
|
+
LocalBusinessSchema.extend({ "@type": import_zod22.z.literal("Restaurant").default("Restaurant") })
|
|
884
1172
|
);
|
|
885
1173
|
var createHotel = makeFactory(
|
|
886
|
-
LocalBusinessSchema.extend({ "@type":
|
|
1174
|
+
LocalBusinessSchema.extend({ "@type": import_zod22.z.literal("Hotel").default("Hotel") })
|
|
887
1175
|
);
|
|
888
1176
|
|
|
889
1177
|
// src/types/things/Movie.ts
|
|
890
|
-
var
|
|
1178
|
+
var import_zod23 = require("zod");
|
|
891
1179
|
var MovieSchema = extendThing("Movie", {
|
|
892
1180
|
// Recommended by Google:
|
|
893
|
-
director:
|
|
894
|
-
actor:
|
|
895
|
-
author:
|
|
1181
|
+
director: import_zod23.z.union([PersonOrOrgRef, import_zod23.z.array(PersonOrOrgRef)]).optional(),
|
|
1182
|
+
actor: import_zod23.z.union([PersonOrOrgRef, import_zod23.z.array(PersonOrOrgRef)]).optional(),
|
|
1183
|
+
author: import_zod23.z.union([PersonOrOrgRef, import_zod23.z.array(PersonOrOrgRef)]).optional(),
|
|
896
1184
|
producer: PersonOrOrgRef.optional(),
|
|
897
1185
|
musicBy: PersonOrOrgRef.optional(),
|
|
898
|
-
duration:
|
|
1186
|
+
duration: import_zod23.z.string().optional(),
|
|
899
1187
|
// ISO 8601, e.g. "PT2H15M"
|
|
900
|
-
dateCreated:
|
|
1188
|
+
dateCreated: import_zod23.z.string().optional(),
|
|
901
1189
|
// ISO 8601
|
|
902
|
-
datePublished:
|
|
1190
|
+
datePublished: import_zod23.z.string().optional(),
|
|
903
1191
|
// ISO 8601
|
|
904
|
-
countryOfOrigin:
|
|
1192
|
+
countryOfOrigin: import_zod23.z.string().optional(),
|
|
905
1193
|
// ISO 3166
|
|
906
|
-
inLanguage:
|
|
907
|
-
|
|
908
|
-
|
|
1194
|
+
inLanguage: import_zod23.z.union([
|
|
1195
|
+
import_zod23.z.string(),
|
|
1196
|
+
import_zod23.z.object({ "@type": import_zod23.z.literal("Language"), name: import_zod23.z.string() })
|
|
909
1197
|
]).optional(),
|
|
910
1198
|
aggregateRating: AggregateRatingSchema.optional(),
|
|
911
|
-
review:
|
|
1199
|
+
review: import_zod23.z.union([ReviewSchema, import_zod23.z.array(ReviewSchema)]).optional(),
|
|
912
1200
|
trailer: VideoObjectSchema.optional(),
|
|
913
|
-
image:
|
|
1201
|
+
image: import_zod23.z.union([ImageOrUrl, import_zod23.z.array(ImageOrUrl)]).optional(),
|
|
914
1202
|
// Classification:
|
|
915
|
-
contentRating:
|
|
1203
|
+
contentRating: import_zod23.z.string().optional(),
|
|
916
1204
|
// e.g. "MPAA PG-13"
|
|
917
|
-
genre:
|
|
1205
|
+
genre: import_zod23.z.union([import_zod23.z.string(), import_zod23.z.array(import_zod23.z.string())]).optional(),
|
|
918
1206
|
// For carousels: itemListElement links
|
|
919
|
-
sameAs:
|
|
1207
|
+
sameAs: import_zod23.z.union([import_zod23.z.url(), import_zod23.z.array(import_zod23.z.url())]).optional()
|
|
920
1208
|
});
|
|
921
1209
|
var createMovie = makeFactory(MovieSchema);
|
|
922
1210
|
|
|
923
1211
|
// src/types/creative-works/Book.ts
|
|
924
|
-
var
|
|
925
|
-
var BookFormatType =
|
|
1212
|
+
var import_zod24 = require("zod");
|
|
1213
|
+
var BookFormatType = import_zod24.z.enum([
|
|
926
1214
|
"EBook",
|
|
927
1215
|
"Hardcover",
|
|
928
1216
|
"Paperback",
|
|
929
1217
|
"AudioBook",
|
|
930
1218
|
"GraphicNovel"
|
|
931
1219
|
]);
|
|
932
|
-
var EntryPointSchema =
|
|
933
|
-
"@type":
|
|
1220
|
+
var EntryPointSchema = import_zod24.z.object({
|
|
1221
|
+
"@type": import_zod24.z.literal("EntryPoint").default("EntryPoint"),
|
|
934
1222
|
/** URL template with optional {isbn} / {id} placeholder, or a plain URL */
|
|
935
|
-
urlTemplate:
|
|
1223
|
+
urlTemplate: import_zod24.z.string(),
|
|
936
1224
|
/** MIME type of the action target */
|
|
937
|
-
encodingType:
|
|
1225
|
+
encodingType: import_zod24.z.string().optional(),
|
|
938
1226
|
/** HTTP method */
|
|
939
|
-
httpMethod:
|
|
1227
|
+
httpMethod: import_zod24.z.string().optional()
|
|
940
1228
|
});
|
|
941
|
-
var ReadActionSchema =
|
|
942
|
-
"@type":
|
|
1229
|
+
var ReadActionSchema = import_zod24.z.object({
|
|
1230
|
+
"@type": import_zod24.z.literal("ReadAction").default("ReadAction"),
|
|
943
1231
|
/** Where the book can be read */
|
|
944
|
-
target:
|
|
1232
|
+
target: import_zod24.z.union([EntryPointSchema, import_zod24.z.string()]),
|
|
945
1233
|
/** Offer describing subscription / purchase required to read */
|
|
946
1234
|
expectsAcceptanceOf: OfferSchema.optional()
|
|
947
1235
|
});
|
|
948
|
-
var BorrowActionSchema =
|
|
949
|
-
"@type":
|
|
1236
|
+
var BorrowActionSchema = import_zod24.z.object({
|
|
1237
|
+
"@type": import_zod24.z.literal("BorrowAction").default("BorrowAction"),
|
|
950
1238
|
/** Library system or library lending this book */
|
|
951
|
-
lender:
|
|
952
|
-
"@type":
|
|
953
|
-
|
|
954
|
-
|
|
1239
|
+
lender: import_zod24.z.object({
|
|
1240
|
+
"@type": import_zod24.z.union([
|
|
1241
|
+
import_zod24.z.literal("LibrarySystem"),
|
|
1242
|
+
import_zod24.z.literal("Library")
|
|
955
1243
|
]),
|
|
956
|
-
name:
|
|
957
|
-
url:
|
|
1244
|
+
name: import_zod24.z.string(),
|
|
1245
|
+
url: import_zod24.z.url().optional(),
|
|
958
1246
|
/** Unique identifier for the library system */
|
|
959
|
-
"@id":
|
|
1247
|
+
"@id": import_zod24.z.string().optional()
|
|
960
1248
|
}),
|
|
961
1249
|
/** Where the borrow action is performed */
|
|
962
|
-
target:
|
|
1250
|
+
target: import_zod24.z.union([EntryPointSchema, import_zod24.z.string()])
|
|
963
1251
|
});
|
|
964
|
-
var BookEditionSchema =
|
|
965
|
-
"@type":
|
|
1252
|
+
var BookEditionSchema = import_zod24.z.object({
|
|
1253
|
+
"@type": import_zod24.z.literal("Book").default("Book"),
|
|
966
1254
|
/** Unique stable URL identifying this edition */
|
|
967
|
-
"@id":
|
|
1255
|
+
"@id": import_zod24.z.string().optional(),
|
|
968
1256
|
/** Edition title — may differ from the work title */
|
|
969
|
-
name:
|
|
1257
|
+
name: import_zod24.z.string().optional(),
|
|
970
1258
|
/** Physical/digital format */
|
|
971
1259
|
bookFormat: BookFormatType.optional(),
|
|
972
1260
|
/** BCP 47 language tag, e.g. "en", "fr" */
|
|
973
|
-
inLanguage:
|
|
1261
|
+
inLanguage: import_zod24.z.string().optional(),
|
|
974
1262
|
/** ISBN-13 preferred; ISBN-10 also accepted */
|
|
975
|
-
isbn:
|
|
1263
|
+
isbn: import_zod24.z.string().optional(),
|
|
976
1264
|
/** OCLC number (for library systems) */
|
|
977
|
-
sameAs:
|
|
1265
|
+
sameAs: import_zod24.z.union([import_zod24.z.string(), import_zod24.z.array(import_zod24.z.string())]).optional(),
|
|
978
1266
|
/** Edition number, e.g. "2nd" */
|
|
979
|
-
bookEdition:
|
|
1267
|
+
bookEdition: import_zod24.z.string().optional(),
|
|
980
1268
|
/** Publication date for this edition */
|
|
981
|
-
datePublished:
|
|
1269
|
+
datePublished: import_zod24.z.string().optional(),
|
|
982
1270
|
/** Landing page for this edition */
|
|
983
|
-
url:
|
|
1271
|
+
url: import_zod24.z.url().optional(),
|
|
984
1272
|
/** Authors of this edition (may differ from work author) */
|
|
985
|
-
author:
|
|
1273
|
+
author: import_zod24.z.union([PersonOrOrgRef, import_zod24.z.array(PersonOrOrgRef)]).optional(),
|
|
986
1274
|
/** ReadAction or BorrowAction for Google Book Actions */
|
|
987
|
-
potentialAction:
|
|
1275
|
+
potentialAction: import_zod24.z.union([
|
|
988
1276
|
ReadActionSchema,
|
|
989
1277
|
BorrowActionSchema,
|
|
990
|
-
|
|
1278
|
+
import_zod24.z.array(import_zod24.z.union([ReadActionSchema, BorrowActionSchema]))
|
|
991
1279
|
]).optional(),
|
|
992
1280
|
/** Offer — purchase price */
|
|
993
|
-
offers:
|
|
1281
|
+
offers: import_zod24.z.union([OfferSchema, import_zod24.z.array(OfferSchema)]).optional()
|
|
994
1282
|
});
|
|
995
|
-
var BookSchema =
|
|
996
|
-
"@type":
|
|
1283
|
+
var BookSchema = import_zod24.z.object({
|
|
1284
|
+
"@type": import_zod24.z.literal("Book").default("Book"),
|
|
997
1285
|
/** Stable URL identifying this work */
|
|
998
|
-
"@id":
|
|
999
|
-
name:
|
|
1286
|
+
"@id": import_zod24.z.string().optional(),
|
|
1287
|
+
name: import_zod24.z.string(),
|
|
1000
1288
|
/** Primary author(s) of the work */
|
|
1001
|
-
author:
|
|
1289
|
+
author: import_zod24.z.union([PersonOrOrgRef, import_zod24.z.array(PersonOrOrgRef)]),
|
|
1002
1290
|
/** Canonical URL for the book's landing page */
|
|
1003
|
-
url:
|
|
1291
|
+
url: import_zod24.z.url().optional(),
|
|
1004
1292
|
/** Cover image */
|
|
1005
|
-
image:
|
|
1006
|
-
description:
|
|
1293
|
+
image: import_zod24.z.union([ImageOrUrl, import_zod24.z.array(ImageOrUrl)]).optional(),
|
|
1294
|
+
description: import_zod24.z.string().optional(),
|
|
1007
1295
|
/** ISBN of the primary edition */
|
|
1008
|
-
isbn:
|
|
1296
|
+
isbn: import_zod24.z.string().optional(),
|
|
1009
1297
|
/** Same-as links (e.g., Open Library, WorldCat) */
|
|
1010
|
-
sameAs:
|
|
1298
|
+
sameAs: import_zod24.z.union([import_zod24.z.string(), import_zod24.z.array(import_zod24.z.string())]).optional(),
|
|
1011
1299
|
/** Specific editions — each may have ReadAction / BorrowAction */
|
|
1012
|
-
workExample:
|
|
1300
|
+
workExample: import_zod24.z.union([BookEditionSchema, import_zod24.z.array(BookEditionSchema)]).optional(),
|
|
1013
1301
|
/** Publisher of the primary edition */
|
|
1014
|
-
publisher:
|
|
1015
|
-
"@type":
|
|
1016
|
-
name:
|
|
1017
|
-
url:
|
|
1302
|
+
publisher: import_zod24.z.object({
|
|
1303
|
+
"@type": import_zod24.z.union([import_zod24.z.literal("Organization"), import_zod24.z.literal("Person")]),
|
|
1304
|
+
name: import_zod24.z.string(),
|
|
1305
|
+
url: import_zod24.z.url().optional()
|
|
1018
1306
|
}).optional(),
|
|
1019
1307
|
/** Number of pages */
|
|
1020
|
-
numberOfPages:
|
|
1308
|
+
numberOfPages: import_zod24.z.number().int().positive().optional(),
|
|
1021
1309
|
/** Original publication year */
|
|
1022
|
-
datePublished:
|
|
1310
|
+
datePublished: import_zod24.z.string().optional(),
|
|
1023
1311
|
/** Genres */
|
|
1024
|
-
genre:
|
|
1312
|
+
genre: import_zod24.z.union([import_zod24.z.string(), import_zod24.z.array(import_zod24.z.string())]).optional(),
|
|
1025
1313
|
/** BCP 47 language tag */
|
|
1026
|
-
inLanguage:
|
|
1314
|
+
inLanguage: import_zod24.z.string().optional(),
|
|
1027
1315
|
/** Aggregate rating across editions */
|
|
1028
|
-
aggregateRating:
|
|
1029
|
-
() =>
|
|
1316
|
+
aggregateRating: import_zod24.z.lazy(
|
|
1317
|
+
() => import_zod24.z.object({ "@type": import_zod24.z.string() }).catchall(import_zod24.z.unknown())
|
|
1030
1318
|
).optional()
|
|
1031
1319
|
});
|
|
1032
1320
|
var createBook = makeFactory(BookSchema);
|
|
1033
1321
|
|
|
1034
1322
|
// src/types/creative-works/Article.ts
|
|
1035
|
-
var
|
|
1323
|
+
var import_zod26 = require("zod");
|
|
1036
1324
|
|
|
1037
1325
|
// src/types/creative-works/CreativeWork.ts
|
|
1038
|
-
var
|
|
1326
|
+
var import_zod25 = require("zod");
|
|
1039
1327
|
var CreativeWorkSchema = extendThing("CreativeWork", {
|
|
1040
1328
|
author: PersonOrOrgRef.optional(),
|
|
1041
1329
|
publisher: PersonOrOrgRef.optional(),
|
|
1042
|
-
datePublished:
|
|
1330
|
+
datePublished: import_zod25.z.string().optional(),
|
|
1043
1331
|
// ISO 8601
|
|
1044
|
-
dateModified:
|
|
1332
|
+
dateModified: import_zod25.z.string().optional(),
|
|
1045
1333
|
// ISO 8601
|
|
1046
|
-
headline:
|
|
1334
|
+
headline: import_zod25.z.string().max(110).optional(),
|
|
1047
1335
|
// Google recommends max 110 chars
|
|
1048
|
-
keywords:
|
|
1049
|
-
inLanguage:
|
|
1050
|
-
|
|
1336
|
+
keywords: import_zod25.z.union([import_zod25.z.string(), import_zod25.z.array(import_zod25.z.string())]).optional(),
|
|
1337
|
+
inLanguage: import_zod25.z.union([
|
|
1338
|
+
import_zod25.z.string(),
|
|
1051
1339
|
// BCP 47, e.g. "en-US"
|
|
1052
|
-
|
|
1340
|
+
import_zod25.z.object({ "@type": import_zod25.z.literal("Language"), name: import_zod25.z.string() })
|
|
1053
1341
|
]).optional(),
|
|
1054
|
-
license:
|
|
1055
|
-
thumbnailUrl:
|
|
1056
|
-
isAccessibleForFree:
|
|
1057
|
-
image:
|
|
1342
|
+
license: import_zod25.z.url().optional(),
|
|
1343
|
+
thumbnailUrl: import_zod25.z.url().optional(),
|
|
1344
|
+
isAccessibleForFree: import_zod25.z.boolean().optional(),
|
|
1345
|
+
image: import_zod25.z.union([ImageOrUrl, import_zod25.z.array(ImageOrUrl)]).optional(),
|
|
1058
1346
|
// Paywalled content support:
|
|
1059
|
-
hasPart:
|
|
1060
|
-
"@type":
|
|
1061
|
-
isAccessibleForFree:
|
|
1062
|
-
cssSelector:
|
|
1347
|
+
hasPart: import_zod25.z.array(import_zod25.z.object({
|
|
1348
|
+
"@type": import_zod25.z.string(),
|
|
1349
|
+
isAccessibleForFree: import_zod25.z.boolean().optional(),
|
|
1350
|
+
cssSelector: import_zod25.z.string().optional()
|
|
1063
1351
|
})).optional(),
|
|
1064
1352
|
// For subscription / paywalled content
|
|
1065
|
-
isPartOf:
|
|
1066
|
-
"@type":
|
|
1067
|
-
name:
|
|
1353
|
+
isPartOf: import_zod25.z.object({
|
|
1354
|
+
"@type": import_zod25.z.string(),
|
|
1355
|
+
name: import_zod25.z.string().optional()
|
|
1068
1356
|
}).optional(),
|
|
1069
|
-
text:
|
|
1070
|
-
abstract:
|
|
1071
|
-
encodingFormat:
|
|
1357
|
+
text: import_zod25.z.string().optional(),
|
|
1358
|
+
abstract: import_zod25.z.string().optional(),
|
|
1359
|
+
encodingFormat: import_zod25.z.string().optional(),
|
|
1072
1360
|
// MIME type
|
|
1073
|
-
contentUrl:
|
|
1074
|
-
copyrightYear:
|
|
1361
|
+
contentUrl: import_zod25.z.url().optional(),
|
|
1362
|
+
copyrightYear: import_zod25.z.number().int().optional(),
|
|
1075
1363
|
copyrightHolder: PersonOrOrgRef.optional()
|
|
1076
1364
|
});
|
|
1077
1365
|
|
|
1078
1366
|
// src/types/creative-works/Article.ts
|
|
1079
1367
|
var ArticleSchema = CreativeWorkSchema.extend({
|
|
1080
|
-
"@type":
|
|
1081
|
-
articleBody:
|
|
1082
|
-
articleSection:
|
|
1083
|
-
wordCount:
|
|
1368
|
+
"@type": import_zod26.z.literal("Article").default("Article"),
|
|
1369
|
+
articleBody: import_zod26.z.string().optional(),
|
|
1370
|
+
articleSection: import_zod26.z.string().optional(),
|
|
1371
|
+
wordCount: import_zod26.z.number().int().nonnegative().optional(),
|
|
1084
1372
|
// Google Article requires image to be at least 1200px wide
|
|
1085
|
-
image:
|
|
1086
|
-
video:
|
|
1373
|
+
image: import_zod26.z.union([ImageOrUrl, import_zod26.z.array(ImageOrUrl)]).optional(),
|
|
1374
|
+
video: import_zod26.z.union([VideoObjectSchema, import_zod26.z.array(VideoObjectSchema)]).optional(),
|
|
1087
1375
|
// Speakable for Article (Google Assistant)
|
|
1088
|
-
speakable:
|
|
1089
|
-
"@type":
|
|
1090
|
-
cssSelector:
|
|
1091
|
-
xpath:
|
|
1376
|
+
speakable: import_zod26.z.object({
|
|
1377
|
+
"@type": import_zod26.z.literal("SpeakableSpecification").default("SpeakableSpecification"),
|
|
1378
|
+
cssSelector: import_zod26.z.union([import_zod26.z.string(), import_zod26.z.array(import_zod26.z.string())]).optional(),
|
|
1379
|
+
xpath: import_zod26.z.union([import_zod26.z.string(), import_zod26.z.array(import_zod26.z.string())]).optional()
|
|
1092
1380
|
}).optional()
|
|
1093
1381
|
});
|
|
1094
1382
|
var NewsArticleSchema = ArticleSchema.extend({
|
|
1095
|
-
"@type":
|
|
1096
|
-
dateline:
|
|
1097
|
-
printColumn:
|
|
1098
|
-
printEdition:
|
|
1099
|
-
printPage:
|
|
1100
|
-
printSection:
|
|
1383
|
+
"@type": import_zod26.z.literal("NewsArticle").default("NewsArticle"),
|
|
1384
|
+
dateline: import_zod26.z.string().optional(),
|
|
1385
|
+
printColumn: import_zod26.z.string().optional(),
|
|
1386
|
+
printEdition: import_zod26.z.string().optional(),
|
|
1387
|
+
printPage: import_zod26.z.string().optional(),
|
|
1388
|
+
printSection: import_zod26.z.string().optional()
|
|
1101
1389
|
});
|
|
1102
1390
|
var BlogPostingSchema = ArticleSchema.extend({
|
|
1103
|
-
"@type":
|
|
1104
|
-
sharedContent:
|
|
1105
|
-
() =>
|
|
1391
|
+
"@type": import_zod26.z.literal("BlogPosting").default("BlogPosting"),
|
|
1392
|
+
sharedContent: import_zod26.z.lazy(
|
|
1393
|
+
() => import_zod26.z.object({ "@type": import_zod26.z.string() }).passthrough()
|
|
1106
1394
|
).optional()
|
|
1107
1395
|
});
|
|
1108
1396
|
var createArticle = makeFactory(ArticleSchema);
|
|
@@ -1110,32 +1398,32 @@ var createNewsArticle = makeFactory(NewsArticleSchema);
|
|
|
1110
1398
|
var createBlogPosting = makeFactory(BlogPostingSchema);
|
|
1111
1399
|
|
|
1112
1400
|
// src/types/creative-works/WebPage.ts
|
|
1113
|
-
var
|
|
1401
|
+
var import_zod27 = require("zod");
|
|
1114
1402
|
var WebPageSchema = CreativeWorkSchema.extend({
|
|
1115
|
-
"@type":
|
|
1116
|
-
breadcrumb:
|
|
1117
|
-
() =>
|
|
1403
|
+
"@type": import_zod27.z.literal("WebPage").default("WebPage"),
|
|
1404
|
+
breadcrumb: import_zod27.z.lazy(
|
|
1405
|
+
() => import_zod27.z.object({ "@type": import_zod27.z.literal("BreadcrumbList") }).catchall(import_zod27.z.unknown())
|
|
1118
1406
|
).optional(),
|
|
1119
|
-
lastReviewed:
|
|
1407
|
+
lastReviewed: import_zod27.z.string().optional(),
|
|
1120
1408
|
reviewedBy: PersonOrOrgRef.optional(),
|
|
1121
|
-
speakable:
|
|
1122
|
-
"@type":
|
|
1123
|
-
cssSelector:
|
|
1124
|
-
xpath:
|
|
1409
|
+
speakable: import_zod27.z.object({
|
|
1410
|
+
"@type": import_zod27.z.literal("SpeakableSpecification").default("SpeakableSpecification"),
|
|
1411
|
+
cssSelector: import_zod27.z.union([import_zod27.z.string(), import_zod27.z.array(import_zod27.z.string())]).optional(),
|
|
1412
|
+
xpath: import_zod27.z.union([import_zod27.z.string(), import_zod27.z.array(import_zod27.z.string())]).optional()
|
|
1125
1413
|
}).optional(),
|
|
1126
|
-
significantLink:
|
|
1127
|
-
mainContentOfPage:
|
|
1128
|
-
primaryImageOfPage:
|
|
1129
|
-
relatedLink:
|
|
1414
|
+
significantLink: import_zod27.z.union([import_zod27.z.url(), import_zod27.z.array(import_zod27.z.url())]).optional(),
|
|
1415
|
+
mainContentOfPage: import_zod27.z.object({ "@type": import_zod27.z.string() }).catchall(import_zod27.z.unknown()).optional(),
|
|
1416
|
+
primaryImageOfPage: import_zod27.z.object({ "@type": import_zod27.z.string() }).catchall(import_zod27.z.unknown()).optional(),
|
|
1417
|
+
relatedLink: import_zod27.z.union([import_zod27.z.url(), import_zod27.z.array(import_zod27.z.url())]).optional()
|
|
1130
1418
|
});
|
|
1131
1419
|
var createWebPage = makeFactory(WebPageSchema);
|
|
1132
1420
|
|
|
1133
1421
|
// src/types/creative-works/WebSite.ts
|
|
1134
|
-
var
|
|
1422
|
+
var import_zod28 = require("zod");
|
|
1135
1423
|
var WebSiteSchema = CreativeWorkSchema.extend({
|
|
1136
|
-
"@type":
|
|
1137
|
-
url:
|
|
1138
|
-
name:
|
|
1424
|
+
"@type": import_zod28.z.literal("WebSite").default("WebSite"),
|
|
1425
|
+
url: import_zod28.z.url().optional(),
|
|
1426
|
+
name: import_zod28.z.string().optional(),
|
|
1139
1427
|
/**
|
|
1140
1428
|
* Sitelinks Searchbox via SearchAction.
|
|
1141
1429
|
* @deprecated Google removed the Sitelinks Searchbox feature in November 2024.
|
|
@@ -1143,230 +1431,231 @@ var WebSiteSchema = CreativeWorkSchema.extend({
|
|
|
1143
1431
|
* longer displays a search box in branded search results.
|
|
1144
1432
|
* See: https://developers.google.com/search/blog/2024/11/retiring-sitelinks-searchbox
|
|
1145
1433
|
*/
|
|
1146
|
-
potentialAction:
|
|
1147
|
-
"@type":
|
|
1148
|
-
target:
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
"@type":
|
|
1152
|
-
urlTemplate:
|
|
1434
|
+
potentialAction: import_zod28.z.object({
|
|
1435
|
+
"@type": import_zod28.z.literal("SearchAction"),
|
|
1436
|
+
target: import_zod28.z.union([
|
|
1437
|
+
import_zod28.z.string(),
|
|
1438
|
+
import_zod28.z.object({
|
|
1439
|
+
"@type": import_zod28.z.literal("EntryPoint"),
|
|
1440
|
+
urlTemplate: import_zod28.z.string()
|
|
1153
1441
|
})
|
|
1154
1442
|
]),
|
|
1155
|
-
"query-input":
|
|
1443
|
+
"query-input": import_zod28.z.string().optional()
|
|
1156
1444
|
}).optional(),
|
|
1157
1445
|
// Content language(s)
|
|
1158
|
-
inLanguage:
|
|
1446
|
+
inLanguage: import_zod28.z.union([import_zod28.z.string(), import_zod28.z.array(import_zod28.z.string())]).optional(),
|
|
1159
1447
|
// Authorship / ownership
|
|
1160
1448
|
publisher: PersonOrOrgRef.optional(),
|
|
1161
1449
|
// Site-level metadata
|
|
1162
|
-
copyrightYear:
|
|
1450
|
+
copyrightYear: import_zod28.z.number().int().optional(),
|
|
1163
1451
|
// isPartOf — rarely used for WebSite itself but allowed
|
|
1164
|
-
isPartOf:
|
|
1165
|
-
() =>
|
|
1452
|
+
isPartOf: import_zod28.z.lazy(
|
|
1453
|
+
() => import_zod28.z.object({ "@type": import_zod28.z.string() }).catchall(import_zod28.z.unknown())
|
|
1166
1454
|
).optional()
|
|
1167
1455
|
});
|
|
1168
1456
|
var createWebSite = makeFactory(WebSiteSchema);
|
|
1169
1457
|
|
|
1170
1458
|
// src/types/creative-works/Dataset.ts
|
|
1171
|
-
var
|
|
1172
|
-
var PropertyValueSchema =
|
|
1173
|
-
"@type":
|
|
1174
|
-
propertyID:
|
|
1459
|
+
var import_zod29 = require("zod");
|
|
1460
|
+
var PropertyValueSchema = import_zod29.z.object({
|
|
1461
|
+
"@type": import_zod29.z.literal("PropertyValue").default("PropertyValue"),
|
|
1462
|
+
propertyID: import_zod29.z.string().optional(),
|
|
1175
1463
|
// e.g. "DOI", "SPDX"
|
|
1176
|
-
name:
|
|
1177
|
-
value:
|
|
1178
|
-
url:
|
|
1179
|
-
description:
|
|
1464
|
+
name: import_zod29.z.string().optional(),
|
|
1465
|
+
value: import_zod29.z.union([import_zod29.z.string(), import_zod29.z.number()]),
|
|
1466
|
+
url: import_zod29.z.url().optional(),
|
|
1467
|
+
description: import_zod29.z.string().optional()
|
|
1180
1468
|
});
|
|
1181
1469
|
var DatasetSchema = CreativeWorkSchema.extend({
|
|
1182
|
-
"@type":
|
|
1470
|
+
"@type": import_zod29.z.literal("Dataset").default("Dataset"),
|
|
1183
1471
|
// Required by Google:
|
|
1184
|
-
name:
|
|
1185
|
-
description:
|
|
1472
|
+
name: import_zod29.z.string(),
|
|
1473
|
+
description: import_zod29.z.string(),
|
|
1186
1474
|
// Recommended by Google:
|
|
1187
|
-
url:
|
|
1188
|
-
sameAs:
|
|
1189
|
-
identifier:
|
|
1190
|
-
|
|
1475
|
+
url: import_zod29.z.url().optional(),
|
|
1476
|
+
sameAs: import_zod29.z.union([import_zod29.z.url(), import_zod29.z.array(import_zod29.z.url())]).optional(),
|
|
1477
|
+
identifier: import_zod29.z.union([
|
|
1478
|
+
import_zod29.z.string(),
|
|
1191
1479
|
PropertyValueSchema,
|
|
1192
|
-
|
|
1480
|
+
import_zod29.z.array(import_zod29.z.union([import_zod29.z.string(), PropertyValueSchema]))
|
|
1193
1481
|
]).optional(),
|
|
1194
|
-
keywords:
|
|
1195
|
-
license:
|
|
1196
|
-
isAccessibleForFree:
|
|
1197
|
-
creator:
|
|
1198
|
-
citation:
|
|
1199
|
-
variableMeasured:
|
|
1200
|
-
measurementTechnique:
|
|
1201
|
-
temporalCoverage:
|
|
1482
|
+
keywords: import_zod29.z.union([import_zod29.z.string(), import_zod29.z.array(import_zod29.z.string())]).optional(),
|
|
1483
|
+
license: import_zod29.z.url().optional(),
|
|
1484
|
+
isAccessibleForFree: import_zod29.z.boolean().optional(),
|
|
1485
|
+
creator: import_zod29.z.union([PersonOrOrgRef, import_zod29.z.array(PersonOrOrgRef)]).optional(),
|
|
1486
|
+
citation: import_zod29.z.union([import_zod29.z.string(), import_zod29.z.array(import_zod29.z.string())]).optional(),
|
|
1487
|
+
variableMeasured: import_zod29.z.union([import_zod29.z.string(), import_zod29.z.array(import_zod29.z.string())]).optional(),
|
|
1488
|
+
measurementTechnique: import_zod29.z.union([import_zod29.z.string(), import_zod29.z.array(import_zod29.z.string())]).optional(),
|
|
1489
|
+
temporalCoverage: import_zod29.z.string().optional(),
|
|
1202
1490
|
// ISO 8601 or date range string
|
|
1203
|
-
spatialCoverage:
|
|
1204
|
-
|
|
1205
|
-
|
|
1491
|
+
spatialCoverage: import_zod29.z.union([
|
|
1492
|
+
import_zod29.z.string(),
|
|
1493
|
+
import_zod29.z.object({ "@type": import_zod29.z.literal("Place"), name: import_zod29.z.string() })
|
|
1206
1494
|
]).optional(),
|
|
1207
|
-
distribution:
|
|
1208
|
-
"@type":
|
|
1209
|
-
encodingFormat:
|
|
1495
|
+
distribution: import_zod29.z.array(import_zod29.z.object({
|
|
1496
|
+
"@type": import_zod29.z.literal("DataDownload").default("DataDownload"),
|
|
1497
|
+
encodingFormat: import_zod29.z.string(),
|
|
1210
1498
|
// MIME type or format name
|
|
1211
|
-
contentUrl:
|
|
1212
|
-
name:
|
|
1213
|
-
description:
|
|
1499
|
+
contentUrl: import_zod29.z.url(),
|
|
1500
|
+
name: import_zod29.z.string().optional(),
|
|
1501
|
+
description: import_zod29.z.string().optional()
|
|
1214
1502
|
})).optional(),
|
|
1215
|
-
includedInDataCatalog:
|
|
1216
|
-
"@type":
|
|
1217
|
-
name:
|
|
1218
|
-
url:
|
|
1503
|
+
includedInDataCatalog: import_zod29.z.object({
|
|
1504
|
+
"@type": import_zod29.z.literal("DataCatalog").default("DataCatalog"),
|
|
1505
|
+
name: import_zod29.z.string(),
|
|
1506
|
+
url: import_zod29.z.url().optional()
|
|
1219
1507
|
}).optional(),
|
|
1220
|
-
datePublished:
|
|
1508
|
+
datePublished: import_zod29.z.string().optional(),
|
|
1221
1509
|
// ISO 8601
|
|
1222
|
-
dateModified:
|
|
1223
|
-
version:
|
|
1510
|
+
dateModified: import_zod29.z.string().optional(),
|
|
1511
|
+
version: import_zod29.z.union([import_zod29.z.string(), import_zod29.z.number()]).optional(),
|
|
1512
|
+
funder: import_zod29.z.union([PersonOrOrgRef, import_zod29.z.array(PersonOrOrgRef)]).optional()
|
|
1224
1513
|
});
|
|
1225
1514
|
var createDataset = makeFactory(DatasetSchema);
|
|
1226
1515
|
|
|
1227
1516
|
// src/types/creative-works/Recipe.ts
|
|
1228
|
-
var
|
|
1517
|
+
var import_zod31 = require("zod");
|
|
1229
1518
|
|
|
1230
1519
|
// src/types/shared/HowToStep.ts
|
|
1231
|
-
var
|
|
1232
|
-
var HowToStepSchema =
|
|
1233
|
-
"@type":
|
|
1234
|
-
name:
|
|
1520
|
+
var import_zod30 = require("zod");
|
|
1521
|
+
var HowToStepSchema = import_zod30.z.object({
|
|
1522
|
+
"@type": import_zod30.z.literal("HowToStep").default("HowToStep"),
|
|
1523
|
+
name: import_zod30.z.string().optional(),
|
|
1235
1524
|
// Step title (avoid "Step 1" format per Google)
|
|
1236
|
-
text:
|
|
1525
|
+
text: import_zod30.z.string(),
|
|
1237
1526
|
// Step description
|
|
1238
|
-
url:
|
|
1527
|
+
url: import_zod30.z.string().url().optional(),
|
|
1239
1528
|
// Anchor link to step
|
|
1240
1529
|
image: ImageOrUrl.optional()
|
|
1241
1530
|
});
|
|
1242
|
-
var HowToSectionSchema =
|
|
1243
|
-
"@type":
|
|
1244
|
-
name:
|
|
1245
|
-
itemListElement:
|
|
1246
|
-
description:
|
|
1531
|
+
var HowToSectionSchema = import_zod30.z.object({
|
|
1532
|
+
"@type": import_zod30.z.literal("HowToSection").default("HowToSection"),
|
|
1533
|
+
name: import_zod30.z.string(),
|
|
1534
|
+
itemListElement: import_zod30.z.array(HowToStepSchema),
|
|
1535
|
+
description: import_zod30.z.string().optional()
|
|
1247
1536
|
});
|
|
1248
1537
|
|
|
1249
1538
|
// src/types/creative-works/Recipe.ts
|
|
1250
|
-
var NutritionInformationSchema =
|
|
1251
|
-
"@type":
|
|
1252
|
-
calories:
|
|
1539
|
+
var NutritionInformationSchema = import_zod31.z.object({
|
|
1540
|
+
"@type": import_zod31.z.literal("NutritionInformation").default("NutritionInformation"),
|
|
1541
|
+
calories: import_zod31.z.string().optional(),
|
|
1253
1542
|
// e.g. "270 calories"
|
|
1254
|
-
carbohydrateContent:
|
|
1543
|
+
carbohydrateContent: import_zod31.z.string().optional(),
|
|
1255
1544
|
// e.g. "20 grams"
|
|
1256
|
-
cholesterolContent:
|
|
1257
|
-
fatContent:
|
|
1258
|
-
fiberContent:
|
|
1259
|
-
proteinContent:
|
|
1260
|
-
saturatedFatContent:
|
|
1261
|
-
servingSize:
|
|
1262
|
-
sodiumContent:
|
|
1263
|
-
sugarContent:
|
|
1264
|
-
transFatContent:
|
|
1265
|
-
unsaturatedFatContent:
|
|
1545
|
+
cholesterolContent: import_zod31.z.string().optional(),
|
|
1546
|
+
fatContent: import_zod31.z.string().optional(),
|
|
1547
|
+
fiberContent: import_zod31.z.string().optional(),
|
|
1548
|
+
proteinContent: import_zod31.z.string().optional(),
|
|
1549
|
+
saturatedFatContent: import_zod31.z.string().optional(),
|
|
1550
|
+
servingSize: import_zod31.z.string().optional(),
|
|
1551
|
+
sodiumContent: import_zod31.z.string().optional(),
|
|
1552
|
+
sugarContent: import_zod31.z.string().optional(),
|
|
1553
|
+
transFatContent: import_zod31.z.string().optional(),
|
|
1554
|
+
unsaturatedFatContent: import_zod31.z.string().optional()
|
|
1266
1555
|
});
|
|
1267
1556
|
var RecipeSchema = CreativeWorkSchema.extend({
|
|
1268
|
-
"@type":
|
|
1557
|
+
"@type": import_zod31.z.literal("Recipe").default("Recipe"),
|
|
1269
1558
|
// Required by Google:
|
|
1270
|
-
name:
|
|
1271
|
-
image:
|
|
1559
|
+
name: import_zod31.z.string(),
|
|
1560
|
+
image: import_zod31.z.union([ImageOrUrl, import_zod31.z.array(ImageOrUrl)]),
|
|
1272
1561
|
// Recommended by Google:
|
|
1273
|
-
author:
|
|
1274
|
-
datePublished:
|
|
1562
|
+
author: import_zod31.z.union([PersonOrOrgRef, import_zod31.z.array(PersonOrOrgRef)]).optional(),
|
|
1563
|
+
datePublished: import_zod31.z.string().optional(),
|
|
1275
1564
|
// ISO 8601 date
|
|
1276
|
-
description:
|
|
1277
|
-
prepTime:
|
|
1565
|
+
description: import_zod31.z.string().optional(),
|
|
1566
|
+
prepTime: import_zod31.z.string().optional(),
|
|
1278
1567
|
// ISO 8601 duration, e.g. "PT15M"
|
|
1279
|
-
cookTime:
|
|
1568
|
+
cookTime: import_zod31.z.string().optional(),
|
|
1280
1569
|
// ISO 8601 duration
|
|
1281
|
-
totalTime:
|
|
1570
|
+
totalTime: import_zod31.z.string().optional(),
|
|
1282
1571
|
// ISO 8601 duration
|
|
1283
|
-
recipeYield:
|
|
1284
|
-
recipeCategory:
|
|
1572
|
+
recipeYield: import_zod31.z.union([import_zod31.z.string(), import_zod31.z.number(), import_zod31.z.array(import_zod31.z.string())]).optional(),
|
|
1573
|
+
recipeCategory: import_zod31.z.string().optional(),
|
|
1285
1574
|
// e.g. "Dessert", "Dinner"
|
|
1286
|
-
recipeCuisine:
|
|
1575
|
+
recipeCuisine: import_zod31.z.string().optional(),
|
|
1287
1576
|
// e.g. "Italian", "French"
|
|
1288
|
-
recipeIngredient:
|
|
1289
|
-
recipeInstructions:
|
|
1290
|
-
|
|
1577
|
+
recipeIngredient: import_zod31.z.array(import_zod31.z.string()).optional(),
|
|
1578
|
+
recipeInstructions: import_zod31.z.array(
|
|
1579
|
+
import_zod31.z.union([import_zod31.z.string(), HowToStepSchema, HowToSectionSchema])
|
|
1291
1580
|
).optional(),
|
|
1292
1581
|
nutrition: NutritionInformationSchema.optional(),
|
|
1293
|
-
video:
|
|
1582
|
+
video: import_zod31.z.union([VideoObjectSchema, import_zod31.z.array(VideoObjectSchema)]).optional(),
|
|
1294
1583
|
aggregateRating: AggregateRatingSchema.optional(),
|
|
1295
|
-
review:
|
|
1296
|
-
keywords:
|
|
1297
|
-
cookingMethod:
|
|
1298
|
-
suitableForDiet:
|
|
1584
|
+
review: import_zod31.z.union([ReviewSchema, import_zod31.z.array(ReviewSchema)]).optional(),
|
|
1585
|
+
keywords: import_zod31.z.union([import_zod31.z.string(), import_zod31.z.array(import_zod31.z.string())]).optional(),
|
|
1586
|
+
cookingMethod: import_zod31.z.string().optional(),
|
|
1587
|
+
suitableForDiet: import_zod31.z.union([import_zod31.z.string(), import_zod31.z.array(import_zod31.z.string())]).optional(),
|
|
1299
1588
|
// schema.org enum URL
|
|
1300
|
-
estimatedCost:
|
|
1589
|
+
estimatedCost: import_zod31.z.string().optional()
|
|
1301
1590
|
});
|
|
1302
1591
|
var createRecipe = makeFactory(RecipeSchema);
|
|
1303
1592
|
|
|
1304
1593
|
// src/types/creative-works/Course.ts
|
|
1305
|
-
var
|
|
1306
|
-
var CourseInstanceSchema =
|
|
1307
|
-
"@type":
|
|
1308
|
-
courseMode:
|
|
1594
|
+
var import_zod32 = require("zod");
|
|
1595
|
+
var CourseInstanceSchema = import_zod32.z.object({
|
|
1596
|
+
"@type": import_zod32.z.literal("CourseInstance").default("CourseInstance"),
|
|
1597
|
+
courseMode: import_zod32.z.union([import_zod32.z.string(), import_zod32.z.array(import_zod32.z.string())]),
|
|
1309
1598
|
// "online", "onsite", "blended"
|
|
1310
|
-
instructor:
|
|
1311
|
-
startDate:
|
|
1599
|
+
instructor: import_zod32.z.union([PersonOrOrgRef, import_zod32.z.array(PersonOrOrgRef)]).optional(),
|
|
1600
|
+
startDate: import_zod32.z.string().optional(),
|
|
1312
1601
|
// ISO 8601
|
|
1313
|
-
endDate:
|
|
1602
|
+
endDate: import_zod32.z.string().optional(),
|
|
1314
1603
|
// ISO 8601
|
|
1315
|
-
location:
|
|
1316
|
-
offers:
|
|
1317
|
-
courseWorkload:
|
|
1604
|
+
location: import_zod32.z.union([import_zod32.z.string(), PostalAddressSchema]).optional(),
|
|
1605
|
+
offers: import_zod32.z.union([OfferSchema, import_zod32.z.array(OfferSchema)]).optional(),
|
|
1606
|
+
courseWorkload: import_zod32.z.string().optional(),
|
|
1318
1607
|
// ISO 8601 duration, e.g. "PT10H"
|
|
1319
|
-
courseSchedule:
|
|
1320
|
-
"@type":
|
|
1321
|
-
repeatFrequency:
|
|
1608
|
+
courseSchedule: import_zod32.z.object({
|
|
1609
|
+
"@type": import_zod32.z.literal("Schedule").default("Schedule"),
|
|
1610
|
+
repeatFrequency: import_zod32.z.string().optional(),
|
|
1322
1611
|
// e.g. "P1W"
|
|
1323
|
-
repeatCount:
|
|
1324
|
-
startDate:
|
|
1325
|
-
endDate:
|
|
1612
|
+
repeatCount: import_zod32.z.number().optional(),
|
|
1613
|
+
startDate: import_zod32.z.string().optional(),
|
|
1614
|
+
endDate: import_zod32.z.string().optional()
|
|
1326
1615
|
}).optional()
|
|
1327
1616
|
});
|
|
1328
1617
|
var CourseSchema = CreativeWorkSchema.extend({
|
|
1329
|
-
"@type":
|
|
1618
|
+
"@type": import_zod32.z.literal("Course").default("Course"),
|
|
1330
1619
|
// Required by Google:
|
|
1331
|
-
name:
|
|
1332
|
-
description:
|
|
1620
|
+
name: import_zod32.z.string(),
|
|
1621
|
+
description: import_zod32.z.string(),
|
|
1333
1622
|
// Recommended by Google:
|
|
1334
|
-
provider:
|
|
1335
|
-
hasCourseInstance:
|
|
1623
|
+
provider: import_zod32.z.union([PersonOrOrgRef, import_zod32.z.array(PersonOrOrgRef)]).optional(),
|
|
1624
|
+
hasCourseInstance: import_zod32.z.union([CourseInstanceSchema, import_zod32.z.array(CourseInstanceSchema)]).optional(),
|
|
1336
1625
|
// Optional:
|
|
1337
|
-
coursePrerequisites:
|
|
1338
|
-
educationalCredentialAwarded:
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
"@type":
|
|
1342
|
-
name:
|
|
1343
|
-
url:
|
|
1626
|
+
coursePrerequisites: import_zod32.z.union([import_zod32.z.string(), import_zod32.z.array(import_zod32.z.string())]).optional(),
|
|
1627
|
+
educationalCredentialAwarded: import_zod32.z.union([
|
|
1628
|
+
import_zod32.z.string(),
|
|
1629
|
+
import_zod32.z.object({
|
|
1630
|
+
"@type": import_zod32.z.literal("EducationalOccupationalCredential").default("EducationalOccupationalCredential"),
|
|
1631
|
+
name: import_zod32.z.string(),
|
|
1632
|
+
url: import_zod32.z.url().optional()
|
|
1344
1633
|
})
|
|
1345
1634
|
]).optional(),
|
|
1346
|
-
occupationalCredentialAwarded:
|
|
1347
|
-
numberOfCredits:
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
"@type":
|
|
1351
|
-
value:
|
|
1635
|
+
occupationalCredentialAwarded: import_zod32.z.union([import_zod32.z.string(), import_zod32.z.array(import_zod32.z.string())]).optional(),
|
|
1636
|
+
numberOfCredits: import_zod32.z.union([
|
|
1637
|
+
import_zod32.z.number(),
|
|
1638
|
+
import_zod32.z.object({
|
|
1639
|
+
"@type": import_zod32.z.literal("StructuredValue").default("StructuredValue"),
|
|
1640
|
+
value: import_zod32.z.number()
|
|
1352
1641
|
})
|
|
1353
1642
|
]).optional(),
|
|
1354
|
-
financialAidEligible:
|
|
1643
|
+
financialAidEligible: import_zod32.z.union([import_zod32.z.string(), import_zod32.z.boolean()]).optional(),
|
|
1355
1644
|
aggregateRating: AggregateRatingSchema.optional(),
|
|
1356
|
-
image:
|
|
1357
|
-
offers:
|
|
1358
|
-
inLanguage:
|
|
1359
|
-
syllabusSections:
|
|
1360
|
-
"@type":
|
|
1361
|
-
name:
|
|
1362
|
-
description:
|
|
1645
|
+
image: import_zod32.z.union([ImageOrUrl, import_zod32.z.array(ImageOrUrl)]).optional(),
|
|
1646
|
+
offers: import_zod32.z.union([OfferSchema, import_zod32.z.array(OfferSchema)]).optional(),
|
|
1647
|
+
inLanguage: import_zod32.z.union([import_zod32.z.string(), import_zod32.z.array(import_zod32.z.string())]).optional(),
|
|
1648
|
+
syllabusSections: import_zod32.z.array(import_zod32.z.object({
|
|
1649
|
+
"@type": import_zod32.z.literal("Syllabus").default("Syllabus"),
|
|
1650
|
+
name: import_zod32.z.string(),
|
|
1651
|
+
description: import_zod32.z.string().optional()
|
|
1363
1652
|
})).optional()
|
|
1364
1653
|
});
|
|
1365
1654
|
var createCourse = makeFactory(CourseSchema);
|
|
1366
1655
|
|
|
1367
1656
|
// src/types/creative-works/SoftwareApplication.ts
|
|
1368
|
-
var
|
|
1369
|
-
var ApplicationCategory =
|
|
1657
|
+
var import_zod33 = require("zod");
|
|
1658
|
+
var ApplicationCategory = import_zod33.z.enum([
|
|
1370
1659
|
"GameApplication",
|
|
1371
1660
|
"SocialNetworkingApplication",
|
|
1372
1661
|
"TravelApplication",
|
|
@@ -1391,139 +1680,153 @@ var ApplicationCategory = import_zod29.z.enum([
|
|
|
1391
1680
|
"ReferenceApplication"
|
|
1392
1681
|
]);
|
|
1393
1682
|
var SoftwareApplicationSchema = CreativeWorkSchema.extend({
|
|
1394
|
-
"@type":
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1683
|
+
"@type": import_zod33.z.union([
|
|
1684
|
+
import_zod33.z.literal("SoftwareApplication"),
|
|
1685
|
+
import_zod33.z.literal("MobileApplication"),
|
|
1686
|
+
import_zod33.z.literal("WebApplication"),
|
|
1687
|
+
import_zod33.z.literal("VideoGame")
|
|
1399
1688
|
]).default("SoftwareApplication"),
|
|
1400
1689
|
// Required by Google:
|
|
1401
|
-
name:
|
|
1690
|
+
name: import_zod33.z.string(),
|
|
1402
1691
|
// Recommended by Google:
|
|
1403
|
-
operatingSystem:
|
|
1404
|
-
applicationCategory:
|
|
1405
|
-
offers:
|
|
1692
|
+
operatingSystem: import_zod33.z.union([import_zod33.z.string(), import_zod33.z.array(import_zod33.z.string())]).optional(),
|
|
1693
|
+
applicationCategory: import_zod33.z.union([ApplicationCategory, import_zod33.z.string()]).optional(),
|
|
1694
|
+
offers: import_zod33.z.union([OfferSchema, import_zod33.z.array(OfferSchema)]).optional(),
|
|
1406
1695
|
aggregateRating: AggregateRatingSchema.optional(),
|
|
1407
|
-
review:
|
|
1696
|
+
review: import_zod33.z.union([ReviewSchema, import_zod33.z.array(ReviewSchema)]).optional(),
|
|
1408
1697
|
// Optional:
|
|
1409
|
-
softwareVersion:
|
|
1410
|
-
fileSize:
|
|
1411
|
-
downloadUrl:
|
|
1412
|
-
screenshot:
|
|
1413
|
-
featureList:
|
|
1414
|
-
installUrl:
|
|
1415
|
-
softwareRequirements:
|
|
1416
|
-
permissions:
|
|
1698
|
+
softwareVersion: import_zod33.z.string().optional(),
|
|
1699
|
+
fileSize: import_zod33.z.string().optional(),
|
|
1700
|
+
downloadUrl: import_zod33.z.url().optional(),
|
|
1701
|
+
screenshot: import_zod33.z.union([ImageOrUrl, import_zod33.z.array(ImageOrUrl)]).optional(),
|
|
1702
|
+
featureList: import_zod33.z.union([import_zod33.z.string(), import_zod33.z.array(import_zod33.z.string())]).optional(),
|
|
1703
|
+
installUrl: import_zod33.z.url().optional(),
|
|
1704
|
+
softwareRequirements: import_zod33.z.string().optional(),
|
|
1705
|
+
permissions: import_zod33.z.string().optional(),
|
|
1417
1706
|
// WebApplication specific:
|
|
1418
|
-
browserRequirements:
|
|
1707
|
+
browserRequirements: import_zod33.z.string().optional(),
|
|
1419
1708
|
// MobileApplication specific:
|
|
1420
|
-
countriesSupported:
|
|
1421
|
-
countriesNotSupported:
|
|
1422
|
-
availableOnDevice:
|
|
1709
|
+
countriesSupported: import_zod33.z.union([import_zod33.z.string(), import_zod33.z.array(import_zod33.z.string())]).optional(),
|
|
1710
|
+
countriesNotSupported: import_zod33.z.union([import_zod33.z.string(), import_zod33.z.array(import_zod33.z.string())]).optional(),
|
|
1711
|
+
availableOnDevice: import_zod33.z.union([import_zod33.z.string(), import_zod33.z.array(import_zod33.z.string())]).optional(),
|
|
1423
1712
|
// VideoGame specific:
|
|
1424
|
-
gamePlatform:
|
|
1425
|
-
playMode:
|
|
1426
|
-
genre:
|
|
1713
|
+
gamePlatform: import_zod33.z.union([import_zod33.z.string(), import_zod33.z.array(import_zod33.z.string())]).optional(),
|
|
1714
|
+
playMode: import_zod33.z.string().optional(),
|
|
1715
|
+
genre: import_zod33.z.union([import_zod33.z.string(), import_zod33.z.array(import_zod33.z.string())]).optional()
|
|
1427
1716
|
});
|
|
1428
1717
|
var createSoftwareApplication = makeFactory(SoftwareApplicationSchema);
|
|
1429
1718
|
var createMobileApplication = makeFactory(
|
|
1430
1719
|
SoftwareApplicationSchema.extend({
|
|
1431
|
-
"@type":
|
|
1720
|
+
"@type": import_zod33.z.literal("MobileApplication").default("MobileApplication")
|
|
1432
1721
|
})
|
|
1433
1722
|
);
|
|
1434
1723
|
var createWebApplication = makeFactory(
|
|
1435
1724
|
SoftwareApplicationSchema.extend({
|
|
1436
|
-
"@type":
|
|
1725
|
+
"@type": import_zod33.z.literal("WebApplication").default("WebApplication")
|
|
1437
1726
|
})
|
|
1438
1727
|
);
|
|
1439
1728
|
|
|
1440
1729
|
// src/types/creative-works/MathSolver.ts
|
|
1441
|
-
var
|
|
1442
|
-
var SolveMathActionSchema =
|
|
1443
|
-
"@type":
|
|
1444
|
-
eduQuestionType:
|
|
1730
|
+
var import_zod34 = require("zod");
|
|
1731
|
+
var SolveMathActionSchema = import_zod34.z.object({
|
|
1732
|
+
"@type": import_zod34.z.literal("SolveMathAction").default("SolveMathAction"),
|
|
1733
|
+
eduQuestionType: import_zod34.z.string().optional(),
|
|
1445
1734
|
// e.g. "Algebra", "Calculus"
|
|
1446
|
-
mathExpression:
|
|
1447
|
-
target:
|
|
1448
|
-
"@type":
|
|
1449
|
-
urlTemplate:
|
|
1450
|
-
actionAccessibilityRequirement:
|
|
1451
|
-
"@type":
|
|
1452
|
-
requiresSubscription:
|
|
1735
|
+
mathExpression: import_zod34.z.string().optional(),
|
|
1736
|
+
target: import_zod34.z.object({
|
|
1737
|
+
"@type": import_zod34.z.literal("EntryPoint").default("EntryPoint"),
|
|
1738
|
+
urlTemplate: import_zod34.z.string().optional(),
|
|
1739
|
+
actionAccessibilityRequirement: import_zod34.z.object({
|
|
1740
|
+
"@type": import_zod34.z.literal("ActionAccessSpecification").default("ActionAccessSpecification"),
|
|
1741
|
+
requiresSubscription: import_zod34.z.boolean().optional()
|
|
1453
1742
|
}).optional()
|
|
1454
1743
|
}).optional()
|
|
1455
1744
|
});
|
|
1456
1745
|
var MathSolverSchema = CreativeWorkSchema.extend({
|
|
1457
|
-
"@type":
|
|
1458
|
-
name:
|
|
1459
|
-
url:
|
|
1460
|
-
potentialAction:
|
|
1461
|
-
mathExpression:
|
|
1462
|
-
educationalLevel:
|
|
1463
|
-
teaches:
|
|
1746
|
+
"@type": import_zod34.z.literal("MathSolver").default("MathSolver"),
|
|
1747
|
+
name: import_zod34.z.string(),
|
|
1748
|
+
url: import_zod34.z.url().optional(),
|
|
1749
|
+
potentialAction: import_zod34.z.union([SolveMathActionSchema, import_zod34.z.array(SolveMathActionSchema)]).optional(),
|
|
1750
|
+
mathExpression: import_zod34.z.union([import_zod34.z.string(), import_zod34.z.array(import_zod34.z.string())]).optional(),
|
|
1751
|
+
educationalLevel: import_zod34.z.string().optional(),
|
|
1752
|
+
teaches: import_zod34.z.union([import_zod34.z.string(), import_zod34.z.array(import_zod34.z.string())]).optional(),
|
|
1753
|
+
/** URL of a page describing usage/terms for the solver — Google required field */
|
|
1754
|
+
usageInfo: import_zod34.z.string().url().optional(),
|
|
1755
|
+
/** Learning resource type — defaults to "Math Solver" per Google spec */
|
|
1756
|
+
learningResourceType: import_zod34.z.string().default("Math Solver"),
|
|
1757
|
+
/** Topics the solver assesses */
|
|
1758
|
+
assesses: import_zod34.z.union([import_zod34.z.string(), import_zod34.z.array(import_zod34.z.string())]).optional()
|
|
1464
1759
|
});
|
|
1465
1760
|
var createMathSolver = makeFactory(MathSolverSchema);
|
|
1466
1761
|
|
|
1762
|
+
// src/types/creative-works/ClaimReview.ts
|
|
1763
|
+
var import_zod35 = require("zod");
|
|
1764
|
+
var ClaimSchema = import_zod35.z.object({
|
|
1765
|
+
"@type": import_zod35.z.literal("Claim").default("Claim"),
|
|
1766
|
+
/** The author who made the claim */
|
|
1767
|
+
author: import_zod35.z.union([PersonOrOrgRef, import_zod35.z.array(PersonOrOrgRef)]).optional(),
|
|
1768
|
+
/** ISO 8601 date the claim was made */
|
|
1769
|
+
datePublished: import_zod35.z.string().optional(),
|
|
1770
|
+
/** URL of the first appearance of the claim */
|
|
1771
|
+
firstAppearance: import_zod35.z.string().url().optional(),
|
|
1772
|
+
/** URL(s) of other appearances of the claim */
|
|
1773
|
+
appearance: import_zod35.z.union([import_zod35.z.string().url(), import_zod35.z.array(import_zod35.z.string().url())]).optional()
|
|
1774
|
+
});
|
|
1775
|
+
var ClaimReviewSchema = import_zod35.z.object({
|
|
1776
|
+
"@type": import_zod35.z.literal("ClaimReview").default("ClaimReview"),
|
|
1777
|
+
/** Canonical URL of the fact-check article */
|
|
1778
|
+
url: import_zod35.z.string().url(),
|
|
1779
|
+
/** The text of the claim being evaluated */
|
|
1780
|
+
claimReviewed: import_zod35.z.string(),
|
|
1781
|
+
/** The rating given by the fact-checker */
|
|
1782
|
+
reviewRating: import_zod35.z.object({
|
|
1783
|
+
"@type": import_zod35.z.literal("Rating").default("Rating"),
|
|
1784
|
+
/** Human-readable label, e.g. "False", "Mostly True" */
|
|
1785
|
+
alternateName: import_zod35.z.string(),
|
|
1786
|
+
/** Numeric rating value (optional for fact-check) */
|
|
1787
|
+
ratingValue: import_zod35.z.union([import_zod35.z.number(), import_zod35.z.string()]).optional(),
|
|
1788
|
+
/** Maximum possible rating, e.g. 5 */
|
|
1789
|
+
bestRating: import_zod35.z.union([import_zod35.z.number(), import_zod35.z.string()]).optional(),
|
|
1790
|
+
/** Minimum possible rating, e.g. 1 */
|
|
1791
|
+
worstRating: import_zod35.z.union([import_zod35.z.number(), import_zod35.z.string()]).optional(),
|
|
1792
|
+
/** Name of the rating scale */
|
|
1793
|
+
name: import_zod35.z.string().optional(),
|
|
1794
|
+
/** URL of the rating explanation page */
|
|
1795
|
+
image: import_zod35.z.string().url().optional()
|
|
1796
|
+
}),
|
|
1797
|
+
/** The fact-checking author / organization */
|
|
1798
|
+
author: import_zod35.z.union([PersonOrOrgRef, import_zod35.z.array(PersonOrOrgRef)]).optional(),
|
|
1799
|
+
/** The claim being reviewed */
|
|
1800
|
+
itemReviewed: ClaimSchema.optional(),
|
|
1801
|
+
/** ISO 8601 date the review was published */
|
|
1802
|
+
datePublished: import_zod35.z.string().optional(),
|
|
1803
|
+
/** ISO 8601 date the review was last modified */
|
|
1804
|
+
dateModified: import_zod35.z.string().optional(),
|
|
1805
|
+
/** Language code of the review, e.g. "en" */
|
|
1806
|
+
inLanguage: import_zod35.z.string().optional()
|
|
1807
|
+
});
|
|
1808
|
+
var createClaimReview = makeFactory(ClaimReviewSchema);
|
|
1809
|
+
|
|
1467
1810
|
// src/types/intangibles/Language.ts
|
|
1468
|
-
var
|
|
1811
|
+
var import_zod36 = require("zod");
|
|
1469
1812
|
var LanguageSchema = extendThing("Language", {
|
|
1470
1813
|
// No additional properties beyond Thing for Language
|
|
1471
1814
|
// But you can attach any Thing props: name, alternateName, url, etc.
|
|
1472
1815
|
});
|
|
1473
1816
|
var createLanguage = makeFactory(LanguageSchema);
|
|
1474
|
-
var PronounceableTextSchema =
|
|
1475
|
-
"@type":
|
|
1476
|
-
textValue:
|
|
1817
|
+
var PronounceableTextSchema = import_zod36.z.object({
|
|
1818
|
+
"@type": import_zod36.z.literal("PronounceableText").default("PronounceableText"),
|
|
1819
|
+
textValue: import_zod36.z.string(),
|
|
1477
1820
|
// Accepts either a BCP 47 string like "en-US" or a full Language object
|
|
1478
|
-
inLanguage:
|
|
1479
|
-
phoneticText:
|
|
1480
|
-
speechToTextMarkup:
|
|
1821
|
+
inLanguage: import_zod36.z.union([import_zod36.z.string(), LanguageSchema]).optional(),
|
|
1822
|
+
phoneticText: import_zod36.z.string().optional(),
|
|
1823
|
+
speechToTextMarkup: import_zod36.z.string().optional()
|
|
1481
1824
|
});
|
|
1482
1825
|
var createPronounceableText = makeFactory(PronounceableTextSchema);
|
|
1483
1826
|
|
|
1484
1827
|
// src/types/intangibles/JobPosting.ts
|
|
1485
|
-
var
|
|
1486
|
-
|
|
1487
|
-
// src/types/shared/MonetaryAmount.ts
|
|
1488
|
-
var import_zod32 = require("zod");
|
|
1489
|
-
var MonetaryAmountSchema = import_zod32.z.object({
|
|
1490
|
-
"@type": import_zod32.z.literal("MonetaryAmount").default("MonetaryAmount"),
|
|
1491
|
-
currency: import_zod32.z.string().length(3),
|
|
1492
|
-
// ISO 4217, e.g. "USD"
|
|
1493
|
-
value: import_zod32.z.union([
|
|
1494
|
-
import_zod32.z.number(),
|
|
1495
|
-
import_zod32.z.object({
|
|
1496
|
-
"@type": import_zod32.z.literal("QuantitativeValue").default("QuantitativeValue"),
|
|
1497
|
-
value: import_zod32.z.number().optional(),
|
|
1498
|
-
minValue: import_zod32.z.number().optional(),
|
|
1499
|
-
maxValue: import_zod32.z.number().optional(),
|
|
1500
|
-
unitText: import_zod32.z.string().optional()
|
|
1501
|
-
// e.g. "HOUR", "MONTH", "YEAR"
|
|
1502
|
-
})
|
|
1503
|
-
]).optional(),
|
|
1504
|
-
minValue: import_zod32.z.number().optional(),
|
|
1505
|
-
maxValue: import_zod32.z.number().optional()
|
|
1506
|
-
});
|
|
1507
|
-
var PriceSpecificationSchema = import_zod32.z.object({
|
|
1508
|
-
"@type": import_zod32.z.literal("PriceSpecification").default("PriceSpecification"),
|
|
1509
|
-
price: import_zod32.z.union([import_zod32.z.number(), import_zod32.z.string()]),
|
|
1510
|
-
priceCurrency: import_zod32.z.string().length(3),
|
|
1511
|
-
// ISO 4217
|
|
1512
|
-
minPrice: import_zod32.z.number().optional(),
|
|
1513
|
-
maxPrice: import_zod32.z.number().optional(),
|
|
1514
|
-
validFrom: import_zod32.z.string().optional(),
|
|
1515
|
-
// ISO 8601
|
|
1516
|
-
validThrough: import_zod32.z.string().optional(),
|
|
1517
|
-
eligibleQuantity: import_zod32.z.object({
|
|
1518
|
-
"@type": import_zod32.z.literal("QuantitativeValue").default("QuantitativeValue"),
|
|
1519
|
-
value: import_zod32.z.number().optional(),
|
|
1520
|
-
minValue: import_zod32.z.number().optional(),
|
|
1521
|
-
maxValue: import_zod32.z.number().optional()
|
|
1522
|
-
}).optional()
|
|
1523
|
-
});
|
|
1524
|
-
|
|
1525
|
-
// src/types/intangibles/JobPosting.ts
|
|
1526
|
-
var EmploymentType = import_zod33.z.enum([
|
|
1828
|
+
var import_zod37 = require("zod");
|
|
1829
|
+
var EmploymentType = import_zod37.z.enum([
|
|
1527
1830
|
"FULL_TIME",
|
|
1528
1831
|
"PART_TIME",
|
|
1529
1832
|
"CONTRACTOR",
|
|
@@ -1533,120 +1836,139 @@ var EmploymentType = import_zod33.z.enum([
|
|
|
1533
1836
|
"PER_DIEM",
|
|
1534
1837
|
"OTHER"
|
|
1535
1838
|
]);
|
|
1536
|
-
var HiringOrgRef =
|
|
1537
|
-
"@type":
|
|
1538
|
-
name:
|
|
1539
|
-
sameAs:
|
|
1839
|
+
var HiringOrgRef = import_zod37.z.object({
|
|
1840
|
+
"@type": import_zod37.z.union([import_zod37.z.literal("Organization"), import_zod37.z.literal("LocalBusiness")]).default("Organization"),
|
|
1841
|
+
name: import_zod37.z.string(),
|
|
1842
|
+
sameAs: import_zod37.z.url().optional(),
|
|
1540
1843
|
logo: ImageOrUrl.optional(),
|
|
1541
|
-
url:
|
|
1844
|
+
url: import_zod37.z.url().optional()
|
|
1542
1845
|
});
|
|
1543
|
-
var JobLocationRef =
|
|
1544
|
-
"@type":
|
|
1545
|
-
address:
|
|
1846
|
+
var JobLocationRef = import_zod37.z.object({
|
|
1847
|
+
"@type": import_zod37.z.literal("Place").default("Place"),
|
|
1848
|
+
address: import_zod37.z.union([import_zod37.z.string(), PostalAddressSchema])
|
|
1546
1849
|
});
|
|
1547
|
-
var JobPostingSchema =
|
|
1548
|
-
"@type":
|
|
1850
|
+
var JobPostingSchema = import_zod37.z.object({
|
|
1851
|
+
"@type": import_zod37.z.literal("JobPosting").default("JobPosting"),
|
|
1549
1852
|
// Required by Google:
|
|
1550
|
-
title:
|
|
1551
|
-
description:
|
|
1853
|
+
title: import_zod37.z.string(),
|
|
1854
|
+
description: import_zod37.z.string(),
|
|
1552
1855
|
hiringOrganization: HiringOrgRef,
|
|
1553
|
-
jobLocation:
|
|
1554
|
-
datePosted:
|
|
1856
|
+
jobLocation: import_zod37.z.union([JobLocationRef, import_zod37.z.array(JobLocationRef)]).optional(),
|
|
1857
|
+
datePosted: import_zod37.z.string(),
|
|
1555
1858
|
// ISO 8601 date
|
|
1556
1859
|
// Recommended by Google:
|
|
1557
|
-
validThrough:
|
|
1860
|
+
validThrough: import_zod37.z.string().optional(),
|
|
1558
1861
|
// ISO 8601 datetime
|
|
1559
|
-
employmentType:
|
|
1862
|
+
employmentType: import_zod37.z.union([EmploymentType, import_zod37.z.array(EmploymentType)]).optional(),
|
|
1560
1863
|
baseSalary: MonetaryAmountSchema.optional(),
|
|
1561
|
-
jobLocationType:
|
|
1864
|
+
jobLocationType: import_zod37.z.string().optional(),
|
|
1562
1865
|
// "TELECOMMUTE" for remote
|
|
1563
|
-
applicantLocationRequirements:
|
|
1564
|
-
|
|
1565
|
-
|
|
1866
|
+
applicantLocationRequirements: import_zod37.z.union([
|
|
1867
|
+
import_zod37.z.object({ "@type": import_zod37.z.string(), name: import_zod37.z.string() }),
|
|
1868
|
+
import_zod37.z.array(import_zod37.z.object({ "@type": import_zod37.z.string(), name: import_zod37.z.string() }))
|
|
1566
1869
|
]).optional(),
|
|
1567
|
-
directApply:
|
|
1870
|
+
directApply: import_zod37.z.boolean().optional(),
|
|
1568
1871
|
// Optional:
|
|
1569
|
-
identifier:
|
|
1570
|
-
"@type":
|
|
1571
|
-
name:
|
|
1572
|
-
value:
|
|
1872
|
+
identifier: import_zod37.z.object({
|
|
1873
|
+
"@type": import_zod37.z.literal("PropertyValue").default("PropertyValue"),
|
|
1874
|
+
name: import_zod37.z.string().optional(),
|
|
1875
|
+
value: import_zod37.z.union([import_zod37.z.string(), import_zod37.z.number()])
|
|
1573
1876
|
}).optional(),
|
|
1574
|
-
experienceRequirements:
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
"@type":
|
|
1578
|
-
monthsOfExperience:
|
|
1877
|
+
experienceRequirements: import_zod37.z.union([
|
|
1878
|
+
import_zod37.z.string(),
|
|
1879
|
+
import_zod37.z.object({
|
|
1880
|
+
"@type": import_zod37.z.literal("OccupationalExperienceRequirements").default("OccupationalExperienceRequirements"),
|
|
1881
|
+
monthsOfExperience: import_zod37.z.number()
|
|
1579
1882
|
})
|
|
1580
1883
|
]).optional(),
|
|
1581
|
-
educationRequirements:
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
"@type":
|
|
1585
|
-
credentialCategory:
|
|
1884
|
+
educationRequirements: import_zod37.z.union([
|
|
1885
|
+
import_zod37.z.string(),
|
|
1886
|
+
import_zod37.z.object({
|
|
1887
|
+
"@type": import_zod37.z.literal("EducationalOccupationalCredential").default("EducationalOccupationalCredential"),
|
|
1888
|
+
credentialCategory: import_zod37.z.string()
|
|
1586
1889
|
// e.g. "bachelor degree", "high school"
|
|
1587
1890
|
})
|
|
1588
1891
|
]).optional(),
|
|
1589
|
-
experienceInPlaceOfEducation:
|
|
1590
|
-
qualifications:
|
|
1591
|
-
responsibilities:
|
|
1592
|
-
skills:
|
|
1593
|
-
industry:
|
|
1594
|
-
occupationalCategory:
|
|
1892
|
+
experienceInPlaceOfEducation: import_zod37.z.boolean().optional(),
|
|
1893
|
+
qualifications: import_zod37.z.string().optional(),
|
|
1894
|
+
responsibilities: import_zod37.z.string().optional(),
|
|
1895
|
+
skills: import_zod37.z.union([import_zod37.z.string(), import_zod37.z.array(import_zod37.z.string())]).optional(),
|
|
1896
|
+
industry: import_zod37.z.string().optional(),
|
|
1897
|
+
occupationalCategory: import_zod37.z.string().optional(),
|
|
1595
1898
|
// O*NET-SOC codes
|
|
1596
|
-
workHours:
|
|
1597
|
-
url:
|
|
1598
|
-
sameAs:
|
|
1899
|
+
workHours: import_zod37.z.string().optional(),
|
|
1900
|
+
url: import_zod37.z.url().optional(),
|
|
1901
|
+
sameAs: import_zod37.z.url().optional()
|
|
1599
1902
|
});
|
|
1600
1903
|
var createJobPosting = makeFactory(JobPostingSchema);
|
|
1601
1904
|
|
|
1602
1905
|
// src/types/intangibles/QAPage.ts
|
|
1603
|
-
var
|
|
1604
|
-
var
|
|
1605
|
-
"@type":
|
|
1606
|
-
|
|
1607
|
-
|
|
1906
|
+
var import_zod38 = require("zod");
|
|
1907
|
+
var AlignmentObjectSchema = import_zod38.z.object({
|
|
1908
|
+
"@type": import_zod38.z.literal("AlignmentObject").default("AlignmentObject"),
|
|
1909
|
+
alignmentType: import_zod38.z.string(),
|
|
1910
|
+
targetName: import_zod38.z.string(),
|
|
1911
|
+
educationalFramework: import_zod38.z.string().optional(),
|
|
1912
|
+
targetUrl: import_zod38.z.string().url().optional(),
|
|
1913
|
+
targetDescription: import_zod38.z.string().optional()
|
|
1914
|
+
});
|
|
1915
|
+
var AnswerSchema = import_zod38.z.object({
|
|
1916
|
+
"@type": import_zod38.z.literal("Answer").default("Answer"),
|
|
1917
|
+
text: import_zod38.z.string(),
|
|
1918
|
+
dateCreated: import_zod38.z.string().optional(),
|
|
1608
1919
|
// ISO 8601
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1920
|
+
dateModified: import_zod38.z.string().optional(),
|
|
1921
|
+
// ISO 8601
|
|
1922
|
+
upvoteCount: import_zod38.z.number().int().nonnegative().optional(),
|
|
1923
|
+
url: import_zod38.z.string().url().optional(),
|
|
1924
|
+
author: PersonOrOrgRef.optional(),
|
|
1925
|
+
image: import_zod38.z.union([ImageOrUrl, import_zod38.z.array(ImageOrUrl)]).optional(),
|
|
1926
|
+
video: import_zod38.z.union([VideoObjectSchema, import_zod38.z.array(VideoObjectSchema)]).optional(),
|
|
1927
|
+
comment: import_zod38.z.array(import_zod38.z.object({
|
|
1928
|
+
"@type": import_zod38.z.literal("Comment").default("Comment"),
|
|
1929
|
+
text: import_zod38.z.string(),
|
|
1930
|
+
author: PersonOrOrgRef.optional(),
|
|
1931
|
+
datePublished: import_zod38.z.string().optional()
|
|
1932
|
+
})).optional()
|
|
1612
1933
|
});
|
|
1613
|
-
var QuestionSchema =
|
|
1614
|
-
"@type":
|
|
1615
|
-
name:
|
|
1934
|
+
var QuestionSchema = import_zod38.z.object({
|
|
1935
|
+
"@type": import_zod38.z.literal("Question").default("Question"),
|
|
1936
|
+
name: import_zod38.z.string(),
|
|
1616
1937
|
// The question text (also used as headline)
|
|
1617
|
-
text:
|
|
1938
|
+
text: import_zod38.z.string().optional(),
|
|
1618
1939
|
// Extended question text
|
|
1619
|
-
acceptedAnswer:
|
|
1620
|
-
suggestedAnswer:
|
|
1621
|
-
answerCount:
|
|
1622
|
-
upvoteCount:
|
|
1940
|
+
acceptedAnswer: import_zod38.z.union([AnswerSchema, import_zod38.z.array(AnswerSchema)]).optional(),
|
|
1941
|
+
suggestedAnswer: import_zod38.z.union([AnswerSchema, import_zod38.z.array(AnswerSchema)]).optional(),
|
|
1942
|
+
answerCount: import_zod38.z.number().int().nonnegative().optional(),
|
|
1943
|
+
upvoteCount: import_zod38.z.number().int().nonnegative().optional(),
|
|
1623
1944
|
author: PersonOrOrgRef.optional(),
|
|
1624
|
-
dateCreated:
|
|
1625
|
-
datePublished:
|
|
1626
|
-
|
|
1945
|
+
dateCreated: import_zod38.z.string().optional(),
|
|
1946
|
+
datePublished: import_zod38.z.string().optional(),
|
|
1947
|
+
dateModified: import_zod38.z.string().optional(),
|
|
1948
|
+
// ISO 8601
|
|
1949
|
+
url: import_zod38.z.string().url().optional(),
|
|
1950
|
+
image: import_zod38.z.union([ImageOrUrl, import_zod38.z.array(ImageOrUrl)]).optional(),
|
|
1951
|
+
video: import_zod38.z.union([VideoObjectSchema, import_zod38.z.array(VideoObjectSchema)]).optional(),
|
|
1952
|
+
/** Education Q&A question type, e.g. "Flashcard", "Problem Set" */
|
|
1953
|
+
eduQuestionType: import_zod38.z.string().optional()
|
|
1627
1954
|
});
|
|
1628
1955
|
var FAQPageSchema = WebPageSchema.extend({
|
|
1629
|
-
"@type":
|
|
1630
|
-
mainEntity:
|
|
1956
|
+
"@type": import_zod38.z.literal("FAQPage").default("FAQPage"),
|
|
1957
|
+
mainEntity: import_zod38.z.array(QuestionSchema)
|
|
1631
1958
|
});
|
|
1632
1959
|
var QAPageSchema = WebPageSchema.extend({
|
|
1633
|
-
"@type":
|
|
1960
|
+
"@type": import_zod38.z.literal("QAPage").default("QAPage"),
|
|
1634
1961
|
mainEntity: QuestionSchema
|
|
1635
1962
|
});
|
|
1636
1963
|
var QuizSchema = CreativeWorkSchema.extend({
|
|
1637
|
-
"@type":
|
|
1638
|
-
name:
|
|
1639
|
-
educationalLevel:
|
|
1640
|
-
about:
|
|
1641
|
-
() =>
|
|
1964
|
+
"@type": import_zod38.z.literal("Quiz").default("Quiz"),
|
|
1965
|
+
name: import_zod38.z.string().optional(),
|
|
1966
|
+
educationalLevel: import_zod38.z.string().optional(),
|
|
1967
|
+
about: import_zod38.z.lazy(
|
|
1968
|
+
() => import_zod38.z.object({ "@type": import_zod38.z.string() }).catchall(import_zod38.z.unknown())
|
|
1642
1969
|
).optional(),
|
|
1643
|
-
hasPart:
|
|
1644
|
-
educationalAlignment:
|
|
1645
|
-
"@type": import_zod34.z.literal("AlignmentObject").default("AlignmentObject"),
|
|
1646
|
-
alignmentType: import_zod34.z.string().optional(),
|
|
1647
|
-
targetName: import_zod34.z.string().optional(),
|
|
1648
|
-
targetUrl: import_zod34.z.url().optional()
|
|
1649
|
-
}).optional()
|
|
1970
|
+
hasPart: import_zod38.z.array(QuestionSchema).optional(),
|
|
1971
|
+
educationalAlignment: import_zod38.z.union([AlignmentObjectSchema, import_zod38.z.array(AlignmentObjectSchema)]).optional()
|
|
1650
1972
|
});
|
|
1651
1973
|
var createFAQPage = makeFactory(FAQPageSchema);
|
|
1652
1974
|
var createQAPage = makeFactory(QAPageSchema);
|
|
@@ -1654,182 +1976,194 @@ var createQuiz = makeFactory(QuizSchema);
|
|
|
1654
1976
|
var createQuestion = makeFactory(QuestionSchema);
|
|
1655
1977
|
|
|
1656
1978
|
// src/types/intangibles/DiscussionForum.ts
|
|
1657
|
-
var
|
|
1979
|
+
var import_zod39 = require("zod");
|
|
1658
1980
|
var DiscussionForumPostingSchema = CreativeWorkSchema.extend({
|
|
1659
|
-
"@type":
|
|
1981
|
+
"@type": import_zod39.z.literal("DiscussionForumPosting").default("DiscussionForumPosting"),
|
|
1660
1982
|
// Required by Google:
|
|
1661
|
-
headline:
|
|
1983
|
+
headline: import_zod39.z.string(),
|
|
1662
1984
|
author: PersonOrOrgRef,
|
|
1663
1985
|
// Recommended:
|
|
1664
|
-
text:
|
|
1665
|
-
datePublished:
|
|
1986
|
+
text: import_zod39.z.string().optional(),
|
|
1987
|
+
datePublished: import_zod39.z.string().optional(),
|
|
1988
|
+
// ISO 8601
|
|
1989
|
+
dateModified: import_zod39.z.string().optional(),
|
|
1666
1990
|
// ISO 8601
|
|
1667
|
-
url:
|
|
1668
|
-
comment:
|
|
1669
|
-
"@type":
|
|
1670
|
-
text:
|
|
1991
|
+
url: import_zod39.z.string().url().optional(),
|
|
1992
|
+
comment: import_zod39.z.array(import_zod39.z.object({
|
|
1993
|
+
"@type": import_zod39.z.literal("Comment").default("Comment"),
|
|
1994
|
+
text: import_zod39.z.string(),
|
|
1671
1995
|
author: PersonOrOrgRef.optional(),
|
|
1672
|
-
datePublished:
|
|
1673
|
-
upvoteCount:
|
|
1674
|
-
downvoteCount:
|
|
1675
|
-
url:
|
|
1996
|
+
datePublished: import_zod39.z.string().optional(),
|
|
1997
|
+
upvoteCount: import_zod39.z.number().int().nonnegative().optional(),
|
|
1998
|
+
downvoteCount: import_zod39.z.number().int().nonnegative().optional(),
|
|
1999
|
+
url: import_zod39.z.string().url().optional()
|
|
1676
2000
|
})).optional(),
|
|
1677
|
-
commentCount:
|
|
1678
|
-
upvoteCount:
|
|
1679
|
-
downvoteCount:
|
|
2001
|
+
commentCount: import_zod39.z.number().int().nonnegative().optional(),
|
|
2002
|
+
upvoteCount: import_zod39.z.number().int().nonnegative().optional(),
|
|
2003
|
+
downvoteCount: import_zod39.z.number().int().nonnegative().optional(),
|
|
1680
2004
|
image: ImageOrUrl.optional(),
|
|
2005
|
+
/** "published", "draft", "deleted" — or a schema.org enum URL */
|
|
2006
|
+
creativeWorkStatus: import_zod39.z.string().optional(),
|
|
2007
|
+
mainEntityOfPage: import_zod39.z.union([import_zod39.z.string().url(), import_zod39.z.object({}).catchall(import_zod39.z.unknown())]).optional(),
|
|
1681
2008
|
// For reposts:
|
|
1682
|
-
sharedContent:
|
|
1683
|
-
() =>
|
|
2009
|
+
sharedContent: import_zod39.z.lazy(
|
|
2010
|
+
() => import_zod39.z.object({ "@type": import_zod39.z.string() }).catchall(import_zod39.z.unknown())
|
|
1684
2011
|
).optional(),
|
|
1685
|
-
interactionStatistic:
|
|
1686
|
-
"@type": import_zod35.z.literal("InteractionCounter").default("InteractionCounter"),
|
|
1687
|
-
interactionType: import_zod35.z.string(),
|
|
1688
|
-
userInteractionCount: import_zod35.z.number().int().nonnegative()
|
|
1689
|
-
})).optional()
|
|
2012
|
+
interactionStatistic: import_zod39.z.union([InteractionCounterSchema, import_zod39.z.array(InteractionCounterSchema)]).optional()
|
|
1690
2013
|
});
|
|
1691
2014
|
var createDiscussionForumPosting = makeFactory(DiscussionForumPostingSchema);
|
|
1692
2015
|
|
|
1693
2016
|
// src/types/intangibles/ItemList.ts
|
|
1694
|
-
var
|
|
1695
|
-
var ListItemSchema =
|
|
1696
|
-
"@type":
|
|
1697
|
-
position:
|
|
1698
|
-
url:
|
|
1699
|
-
name:
|
|
2017
|
+
var import_zod40 = require("zod");
|
|
2018
|
+
var ListItemSchema = import_zod40.z.object({
|
|
2019
|
+
"@type": import_zod40.z.literal("ListItem").default("ListItem"),
|
|
2020
|
+
position: import_zod40.z.number().int().positive(),
|
|
2021
|
+
url: import_zod40.z.url().optional(),
|
|
2022
|
+
name: import_zod40.z.string().optional(),
|
|
1700
2023
|
// item: the actual entity being listed (loose ref to any schema node)
|
|
1701
|
-
item:
|
|
1702
|
-
() =>
|
|
2024
|
+
item: import_zod40.z.lazy(
|
|
2025
|
+
() => import_zod40.z.object({ "@type": import_zod40.z.string() }).catchall(import_zod40.z.unknown())
|
|
1703
2026
|
).optional()
|
|
1704
2027
|
});
|
|
1705
|
-
var ItemListSchema =
|
|
1706
|
-
"@type":
|
|
1707
|
-
name:
|
|
1708
|
-
description:
|
|
1709
|
-
url:
|
|
1710
|
-
itemListOrder:
|
|
1711
|
-
numberOfItems:
|
|
1712
|
-
itemListElement:
|
|
1713
|
-
|
|
2028
|
+
var ItemListSchema = import_zod40.z.object({
|
|
2029
|
+
"@type": import_zod40.z.literal("ItemList").default("ItemList"),
|
|
2030
|
+
name: import_zod40.z.string().optional(),
|
|
2031
|
+
description: import_zod40.z.string().optional(),
|
|
2032
|
+
url: import_zod40.z.url().optional(),
|
|
2033
|
+
itemListOrder: import_zod40.z.enum(["Ascending", "Descending", "Unordered"]).transform((v) => `https://schema.org/ItemListOrder${v}`).optional(),
|
|
2034
|
+
numberOfItems: import_zod40.z.number().int().nonnegative().optional(),
|
|
2035
|
+
itemListElement: import_zod40.z.array(
|
|
2036
|
+
import_zod40.z.union([
|
|
1714
2037
|
ListItemSchema,
|
|
1715
|
-
|
|
2038
|
+
import_zod40.z.object({ "@type": import_zod40.z.string() }).catchall(import_zod40.z.unknown())
|
|
1716
2039
|
])
|
|
1717
2040
|
)
|
|
1718
2041
|
});
|
|
1719
2042
|
var createItemList = makeFactory(ItemListSchema);
|
|
1720
2043
|
|
|
1721
2044
|
// src/types/intangibles/ProfilePage.ts
|
|
1722
|
-
var
|
|
2045
|
+
var import_zod41 = require("zod");
|
|
1723
2046
|
var ProfilePageSchema = WebPageSchema.extend({
|
|
1724
|
-
"@type":
|
|
2047
|
+
"@type": import_zod41.z.literal("ProfilePage").default("ProfilePage"),
|
|
1725
2048
|
// mainEntity: the person or org this profile is about (loose ref to avoid circular imports)
|
|
1726
|
-
mainEntity:
|
|
1727
|
-
() =>
|
|
2049
|
+
mainEntity: import_zod41.z.lazy(
|
|
2050
|
+
() => import_zod41.z.object({ "@type": import_zod41.z.string() }).catchall(import_zod41.z.unknown())
|
|
1728
2051
|
).optional(),
|
|
1729
2052
|
// hasPart: content published by/about this profile subject
|
|
1730
|
-
hasPart:
|
|
1731
|
-
|
|
2053
|
+
hasPart: import_zod41.z.array(
|
|
2054
|
+
import_zod41.z.lazy(() => import_zod41.z.object({ "@type": import_zod41.z.string() }).catchall(import_zod41.z.unknown()))
|
|
1732
2055
|
).optional(),
|
|
1733
|
-
dateCreated:
|
|
1734
|
-
dateModified:
|
|
2056
|
+
dateCreated: import_zod41.z.string().optional(),
|
|
2057
|
+
dateModified: import_zod41.z.string().optional()
|
|
1735
2058
|
});
|
|
1736
2059
|
var createProfilePage = makeFactory(ProfilePageSchema);
|
|
1737
2060
|
|
|
1738
2061
|
// src/types/lodging/VacationRental.ts
|
|
1739
|
-
var
|
|
1740
|
-
var BedTypeEnum =
|
|
1741
|
-
"
|
|
1742
|
-
"
|
|
1743
|
-
"
|
|
1744
|
-
"
|
|
1745
|
-
"
|
|
1746
|
-
"
|
|
1747
|
-
"
|
|
1748
|
-
"Waterbed",
|
|
1749
|
-
"Toddler bed"
|
|
2062
|
+
var import_zod42 = require("zod");
|
|
2063
|
+
var BedTypeEnum = import_zod42.z.enum([
|
|
2064
|
+
"CaliforniaKing",
|
|
2065
|
+
"King",
|
|
2066
|
+
"Queen",
|
|
2067
|
+
"Full",
|
|
2068
|
+
"Double",
|
|
2069
|
+
"SemiDouble",
|
|
2070
|
+
"Single"
|
|
1750
2071
|
]);
|
|
1751
|
-
var BedDetailsSchema =
|
|
1752
|
-
"@type":
|
|
1753
|
-
numberOfBeds:
|
|
1754
|
-
typeOfBed:
|
|
1755
|
-
});
|
|
1756
|
-
var LocationFeatureSpecificationSchema =
|
|
1757
|
-
"@type":
|
|
1758
|
-
name:
|
|
1759
|
-
value:
|
|
1760
|
-
});
|
|
1761
|
-
var AccommodationSchema =
|
|
1762
|
-
"@type":
|
|
1763
|
-
name:
|
|
1764
|
-
occupancy:
|
|
1765
|
-
"@type":
|
|
1766
|
-
value:
|
|
1767
|
-
maxValue:
|
|
1768
|
-
minValue:
|
|
2072
|
+
var BedDetailsSchema = import_zod42.z.object({
|
|
2073
|
+
"@type": import_zod42.z.literal("BedDetails").default("BedDetails"),
|
|
2074
|
+
numberOfBeds: import_zod42.z.number().int().positive().optional(),
|
|
2075
|
+
typeOfBed: import_zod42.z.union([BedTypeEnum, import_zod42.z.string()]).optional()
|
|
2076
|
+
});
|
|
2077
|
+
var LocationFeatureSpecificationSchema = import_zod42.z.object({
|
|
2078
|
+
"@type": import_zod42.z.literal("LocationFeatureSpecification").default("LocationFeatureSpecification"),
|
|
2079
|
+
name: import_zod42.z.string(),
|
|
2080
|
+
value: import_zod42.z.union([import_zod42.z.boolean(), import_zod42.z.string(), import_zod42.z.number()]).optional()
|
|
2081
|
+
});
|
|
2082
|
+
var AccommodationSchema = import_zod42.z.object({
|
|
2083
|
+
"@type": import_zod42.z.literal("Accommodation").default("Accommodation"),
|
|
2084
|
+
name: import_zod42.z.string().optional(),
|
|
2085
|
+
occupancy: import_zod42.z.object({
|
|
2086
|
+
"@type": import_zod42.z.literal("QuantitativeValue").default("QuantitativeValue"),
|
|
2087
|
+
value: import_zod42.z.number().int().positive().optional(),
|
|
2088
|
+
maxValue: import_zod42.z.number().int().positive().optional(),
|
|
2089
|
+
minValue: import_zod42.z.number().int().positive().optional()
|
|
1769
2090
|
}).optional(),
|
|
1770
|
-
numberOfRooms:
|
|
1771
|
-
numberOfBedrooms:
|
|
1772
|
-
numberOfBathroomsTotal:
|
|
1773
|
-
floorSize:
|
|
1774
|
-
"@type":
|
|
1775
|
-
value:
|
|
2091
|
+
numberOfRooms: import_zod42.z.number().int().nonnegative().optional(),
|
|
2092
|
+
numberOfBedrooms: import_zod42.z.number().int().nonnegative().optional(),
|
|
2093
|
+
numberOfBathroomsTotal: import_zod42.z.number().int().nonnegative().optional(),
|
|
2094
|
+
floorSize: import_zod42.z.object({
|
|
2095
|
+
"@type": import_zod42.z.literal("QuantitativeValue").default("QuantitativeValue"),
|
|
2096
|
+
value: import_zod42.z.number(),
|
|
1776
2097
|
/** "MTK" = sq metres, "FTK" = sq ft */
|
|
1777
|
-
unitCode:
|
|
2098
|
+
unitCode: import_zod42.z.string().optional()
|
|
1778
2099
|
}).optional(),
|
|
1779
|
-
bed:
|
|
1780
|
-
amenityFeature:
|
|
2100
|
+
bed: import_zod42.z.union([BedDetailsSchema, import_zod42.z.array(BedDetailsSchema)]).optional(),
|
|
2101
|
+
amenityFeature: import_zod42.z.union([
|
|
1781
2102
|
LocationFeatureSpecificationSchema,
|
|
1782
|
-
|
|
2103
|
+
import_zod42.z.array(LocationFeatureSpecificationSchema)
|
|
1783
2104
|
]).optional(),
|
|
1784
|
-
petsAllowed:
|
|
1785
|
-
url:
|
|
2105
|
+
petsAllowed: import_zod42.z.union([import_zod42.z.boolean(), import_zod42.z.string()]).optional(),
|
|
2106
|
+
url: import_zod42.z.string().url().optional(),
|
|
2107
|
+
/** "EntirePlace", "PrivateRoom", or "SharedRoom" */
|
|
2108
|
+
additionalType: import_zod42.z.string().optional()
|
|
1786
2109
|
});
|
|
1787
2110
|
var VacationRentalSchema = LocalBusinessSchema.extend({
|
|
1788
|
-
"@type":
|
|
2111
|
+
"@type": import_zod42.z.literal("VacationRental").default("VacationRental"),
|
|
1789
2112
|
// Required by Google:
|
|
1790
|
-
name:
|
|
2113
|
+
name: import_zod42.z.string(),
|
|
1791
2114
|
// Recommended by Google:
|
|
1792
|
-
description:
|
|
1793
|
-
image:
|
|
2115
|
+
description: import_zod42.z.string().optional(),
|
|
2116
|
+
image: import_zod42.z.union([ImageOrUrl, import_zod42.z.array(ImageOrUrl)]).optional(),
|
|
1794
2117
|
// Lodging-specific:
|
|
1795
|
-
petsAllowed:
|
|
1796
|
-
checkinTime:
|
|
2118
|
+
petsAllowed: import_zod42.z.union([import_zod42.z.boolean(), import_zod42.z.string()]).optional(),
|
|
2119
|
+
checkinTime: import_zod42.z.string().optional(),
|
|
1797
2120
|
// e.g. "15:00"
|
|
1798
|
-
checkoutTime:
|
|
2121
|
+
checkoutTime: import_zod42.z.string().optional(),
|
|
1799
2122
|
// e.g. "11:00"
|
|
1800
|
-
numberOfRooms:
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
"@type":
|
|
1804
|
-
value:
|
|
2123
|
+
numberOfRooms: import_zod42.z.union([
|
|
2124
|
+
import_zod42.z.number(),
|
|
2125
|
+
import_zod42.z.object({
|
|
2126
|
+
"@type": import_zod42.z.literal("QuantitativeValue").default("QuantitativeValue"),
|
|
2127
|
+
value: import_zod42.z.number()
|
|
1805
2128
|
})
|
|
1806
2129
|
]).optional(),
|
|
1807
|
-
occupancy:
|
|
1808
|
-
"@type":
|
|
1809
|
-
maxValue:
|
|
1810
|
-
minValue:
|
|
2130
|
+
occupancy: import_zod42.z.object({
|
|
2131
|
+
"@type": import_zod42.z.literal("QuantitativeValue").default("QuantitativeValue"),
|
|
2132
|
+
maxValue: import_zod42.z.number(),
|
|
2133
|
+
minValue: import_zod42.z.number().optional()
|
|
1811
2134
|
}).optional(),
|
|
1812
|
-
starRating:
|
|
1813
|
-
"@type":
|
|
1814
|
-
ratingValue:
|
|
2135
|
+
starRating: import_zod42.z.object({
|
|
2136
|
+
"@type": import_zod42.z.literal("Rating").default("Rating"),
|
|
2137
|
+
ratingValue: import_zod42.z.number().min(0).max(5)
|
|
1815
2138
|
}).optional(),
|
|
1816
|
-
offers:
|
|
1817
|
-
leaseLength:
|
|
1818
|
-
"@type":
|
|
1819
|
-
value:
|
|
1820
|
-
unitCode:
|
|
2139
|
+
offers: import_zod42.z.union([OfferSchema, import_zod42.z.array(OfferSchema)]).optional(),
|
|
2140
|
+
leaseLength: import_zod42.z.union([import_zod42.z.string(), import_zod42.z.object({
|
|
2141
|
+
"@type": import_zod42.z.literal("QuantitativeValue").default("QuantitativeValue"),
|
|
2142
|
+
value: import_zod42.z.number(),
|
|
2143
|
+
unitCode: import_zod42.z.string().optional()
|
|
1821
2144
|
})]).optional(),
|
|
1822
|
-
floorSize:
|
|
1823
|
-
"@type":
|
|
1824
|
-
value:
|
|
1825
|
-
unitCode:
|
|
2145
|
+
floorSize: import_zod42.z.object({
|
|
2146
|
+
"@type": import_zod42.z.literal("QuantitativeValue").default("QuantitativeValue"),
|
|
2147
|
+
value: import_zod42.z.number(),
|
|
2148
|
+
unitCode: import_zod42.z.string().optional()
|
|
1826
2149
|
// e.g. "MTK" (square meters), "FTK" (sq ft)
|
|
1827
2150
|
}).optional(),
|
|
1828
|
-
numberOfBathroomsTotal:
|
|
1829
|
-
numberOfBedrooms:
|
|
1830
|
-
tourBookingPage:
|
|
2151
|
+
numberOfBathroomsTotal: import_zod42.z.number().int().nonnegative().optional(),
|
|
2152
|
+
numberOfBedrooms: import_zod42.z.number().int().nonnegative().optional(),
|
|
2153
|
+
tourBookingPage: import_zod42.z.url().optional(),
|
|
1831
2154
|
/** Accommodation unit(s) within the rental property — required by Google */
|
|
1832
|
-
containsPlace:
|
|
2155
|
+
containsPlace: import_zod42.z.union([AccommodationSchema, import_zod42.z.array(AccommodationSchema)]).optional(),
|
|
2156
|
+
brand: import_zod42.z.union([
|
|
2157
|
+
import_zod42.z.string(),
|
|
2158
|
+
import_zod42.z.object({
|
|
2159
|
+
"@type": import_zod42.z.union([import_zod42.z.literal("Brand"), import_zod42.z.literal("Organization")]),
|
|
2160
|
+
name: import_zod42.z.string()
|
|
2161
|
+
})
|
|
2162
|
+
]).optional(),
|
|
2163
|
+
/** Language(s) the host speaks — ISO 639-1 codes or language names */
|
|
2164
|
+
knowsLanguage: import_zod42.z.union([import_zod42.z.string(), import_zod42.z.array(import_zod42.z.string())]).optional(),
|
|
2165
|
+
/** "EntirePlace", "PrivateRoom", or "SharedRoom" */
|
|
2166
|
+
additionalType: import_zod42.z.string().optional()
|
|
1833
2167
|
});
|
|
1834
2168
|
var createVacationRental = makeFactory(VacationRentalSchema);
|
|
1835
2169
|
|
|
@@ -1856,6 +2190,7 @@ var REGISTRY = {
|
|
|
1856
2190
|
Course: CourseSchema,
|
|
1857
2191
|
SoftwareApplication: SoftwareApplicationSchema,
|
|
1858
2192
|
MathSolver: MathSolverSchema,
|
|
2193
|
+
ClaimReview: ClaimReviewSchema,
|
|
1859
2194
|
// Intangibles
|
|
1860
2195
|
Language: LanguageSchema,
|
|
1861
2196
|
PronounceableText: PronounceableTextSchema,
|
|
@@ -1929,15 +2264,15 @@ function createGraph(nodes) {
|
|
|
1929
2264
|
}
|
|
1930
2265
|
|
|
1931
2266
|
// src/helpers/breadcrumb.ts
|
|
1932
|
-
var
|
|
1933
|
-
var BreadcrumbListSchema =
|
|
1934
|
-
"@type":
|
|
1935
|
-
itemListElement:
|
|
1936
|
-
|
|
1937
|
-
"@type":
|
|
1938
|
-
position:
|
|
1939
|
-
name:
|
|
1940
|
-
item:
|
|
2267
|
+
var import_zod43 = require("zod");
|
|
2268
|
+
var BreadcrumbListSchema = import_zod43.z.object({
|
|
2269
|
+
"@type": import_zod43.z.literal("BreadcrumbList").default("BreadcrumbList"),
|
|
2270
|
+
itemListElement: import_zod43.z.array(
|
|
2271
|
+
import_zod43.z.object({
|
|
2272
|
+
"@type": import_zod43.z.literal("ListItem").default("ListItem"),
|
|
2273
|
+
position: import_zod43.z.number().int().positive(),
|
|
2274
|
+
name: import_zod43.z.string(),
|
|
2275
|
+
item: import_zod43.z.url().optional()
|
|
1941
2276
|
})
|
|
1942
2277
|
)
|
|
1943
2278
|
});
|
|
@@ -2017,6 +2352,7 @@ function createPaywalledWebPage(data, options) {
|
|
|
2017
2352
|
AccommodationSchema,
|
|
2018
2353
|
AggregateOfferSchema,
|
|
2019
2354
|
AggregateRatingSchema,
|
|
2355
|
+
AlignmentObjectSchema,
|
|
2020
2356
|
AnswerSchema,
|
|
2021
2357
|
ApplicationCategory,
|
|
2022
2358
|
ArticleSchema,
|
|
@@ -2029,6 +2365,8 @@ function createPaywalledWebPage(data, options) {
|
|
|
2029
2365
|
BorrowActionSchema,
|
|
2030
2366
|
BroadcastEventSchema,
|
|
2031
2367
|
CertificationSchema,
|
|
2368
|
+
ClaimReviewSchema,
|
|
2369
|
+
ClaimSchema,
|
|
2032
2370
|
ClipSchema,
|
|
2033
2371
|
ContactPointSchema,
|
|
2034
2372
|
CourseInstanceSchema,
|
|
@@ -2049,14 +2387,19 @@ function createPaywalledWebPage(data, options) {
|
|
|
2049
2387
|
HowToStepSchema,
|
|
2050
2388
|
ImageObjectSchema,
|
|
2051
2389
|
ImageOrUrl,
|
|
2390
|
+
InteractionCounterSchema,
|
|
2052
2391
|
ItemAvailability,
|
|
2392
|
+
ItemCondition,
|
|
2053
2393
|
ItemListSchema,
|
|
2054
2394
|
JobPostingSchema,
|
|
2055
2395
|
LanguageSchema,
|
|
2056
2396
|
ListItemSchema,
|
|
2057
2397
|
LocalBusinessSchema,
|
|
2058
2398
|
MathSolverSchema,
|
|
2399
|
+
MemberProgramSchema,
|
|
2400
|
+
MemberProgramTierSchema,
|
|
2059
2401
|
MerchantReturnPolicySchema,
|
|
2402
|
+
MerchantReturnPolicySeasonalOverrideSchema,
|
|
2060
2403
|
MonetaryAmountSchema,
|
|
2061
2404
|
MovieSchema,
|
|
2062
2405
|
NewsArticleSchema,
|
|
@@ -2065,6 +2408,7 @@ function createPaywalledWebPage(data, options) {
|
|
|
2065
2408
|
OfferShippingDetailsSchema,
|
|
2066
2409
|
OpeningHoursSpecificationSchema,
|
|
2067
2410
|
OrganizationSchema,
|
|
2411
|
+
PeopleAudienceSchema,
|
|
2068
2412
|
PersonOrOrgRef,
|
|
2069
2413
|
PersonSchema,
|
|
2070
2414
|
PlaceSchema,
|
|
@@ -2084,11 +2428,17 @@ function createPaywalledWebPage(data, options) {
|
|
|
2084
2428
|
ReviewSchema,
|
|
2085
2429
|
SchemaGraph,
|
|
2086
2430
|
SchemaNode,
|
|
2431
|
+
SeekToActionSchema,
|
|
2432
|
+
ServicePeriodSchema,
|
|
2433
|
+
ShippingConditionsSchema,
|
|
2087
2434
|
ShippingDeliveryTimeSchema,
|
|
2435
|
+
ShippingServiceSchema,
|
|
2436
|
+
SizeSpecificationSchema,
|
|
2088
2437
|
SoftwareApplicationSchema,
|
|
2089
2438
|
SolveMathActionSchema,
|
|
2090
2439
|
ThingSchema,
|
|
2091
2440
|
ThreeDModelSchema,
|
|
2441
|
+
UnitPriceSpecificationSchema,
|
|
2092
2442
|
VacationRentalSchema,
|
|
2093
2443
|
VideoObjectSchema,
|
|
2094
2444
|
WebPageSchema,
|
|
@@ -2098,6 +2448,7 @@ function createPaywalledWebPage(data, options) {
|
|
|
2098
2448
|
createBook,
|
|
2099
2449
|
createBreadcrumbList,
|
|
2100
2450
|
createCarousel,
|
|
2451
|
+
createClaimReview,
|
|
2101
2452
|
createCorporation,
|
|
2102
2453
|
createCourse,
|
|
2103
2454
|
createDataset,
|