@voyantjs/products-contracts 0.105.1 → 0.105.3
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/dist/validation-catalog.d.ts +6 -0
- package/dist/validation-catalog.d.ts.map +1 -1
- package/dist/validation-public.d.ts +9 -0
- package/dist/validation-public.d.ts.map +1 -1
- package/dist/validation-public.js +3 -0
- package/dist/validation-public.test.d.ts +2 -0
- package/dist/validation-public.test.d.ts.map +1 -0
- package/dist/validation-public.test.js +52 -0
- package/package.json +2 -2
|
@@ -3,6 +3,9 @@ export declare const localizedCatalogProductSummarySchema: z.ZodObject<{
|
|
|
3
3
|
id: z.ZodString;
|
|
4
4
|
name: z.ZodString;
|
|
5
5
|
description: z.ZodNullable<z.ZodString>;
|
|
6
|
+
inclusionsHtml: z.ZodNullable<z.ZodString>;
|
|
7
|
+
exclusionsHtml: z.ZodNullable<z.ZodString>;
|
|
8
|
+
termsHtml: z.ZodNullable<z.ZodString>;
|
|
6
9
|
contentLanguageTag: z.ZodNullable<z.ZodString>;
|
|
7
10
|
slug: z.ZodNullable<z.ZodString>;
|
|
8
11
|
shortDescription: z.ZodNullable<z.ZodString>;
|
|
@@ -133,6 +136,9 @@ export declare const localizedCatalogProductDetailSchema: z.ZodObject<{
|
|
|
133
136
|
id: z.ZodString;
|
|
134
137
|
name: z.ZodString;
|
|
135
138
|
description: z.ZodNullable<z.ZodString>;
|
|
139
|
+
inclusionsHtml: z.ZodNullable<z.ZodString>;
|
|
140
|
+
exclusionsHtml: z.ZodNullable<z.ZodString>;
|
|
141
|
+
termsHtml: z.ZodNullable<z.ZodString>;
|
|
136
142
|
contentLanguageTag: z.ZodNullable<z.ZodString>;
|
|
137
143
|
slug: z.ZodNullable<z.ZodString>;
|
|
138
144
|
shortDescription: z.ZodNullable<z.ZodString>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation-catalog.d.ts","sourceRoot":"","sources":["../src/validation-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAQvB,eAAO,MAAM,oCAAoC
|
|
1
|
+
{"version":3,"file":"validation-catalog.d.ts","sourceRoot":"","sources":["../src/validation-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAQvB,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAoC,CAAA;AACrF,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAmC,CAAA;AAEnF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiCtC,CAAA;AAEF,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;iBAQ/C,CAAA;AAEF,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKlD,CAAA;AAEF,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAA;AACjG,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAA;AAC/F,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAC/E,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAA;AACjG,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CACrD,OAAO,uCAAuC,CAC/C,CAAA"}
|
|
@@ -194,6 +194,9 @@ export declare const publicCatalogProductSummarySchema: z.ZodObject<{
|
|
|
194
194
|
id: z.ZodString;
|
|
195
195
|
name: z.ZodString;
|
|
196
196
|
description: z.ZodNullable<z.ZodString>;
|
|
197
|
+
inclusionsHtml: z.ZodNullable<z.ZodString>;
|
|
198
|
+
exclusionsHtml: z.ZodNullable<z.ZodString>;
|
|
199
|
+
termsHtml: z.ZodNullable<z.ZodString>;
|
|
197
200
|
contentLanguageTag: z.ZodNullable<z.ZodString>;
|
|
198
201
|
slug: z.ZodNullable<z.ZodString>;
|
|
199
202
|
shortDescription: z.ZodNullable<z.ZodString>;
|
|
@@ -324,6 +327,9 @@ export declare const publicCatalogProductDetailSchema: z.ZodObject<{
|
|
|
324
327
|
id: z.ZodString;
|
|
325
328
|
name: z.ZodString;
|
|
326
329
|
description: z.ZodNullable<z.ZodString>;
|
|
330
|
+
inclusionsHtml: z.ZodNullable<z.ZodString>;
|
|
331
|
+
exclusionsHtml: z.ZodNullable<z.ZodString>;
|
|
332
|
+
termsHtml: z.ZodNullable<z.ZodString>;
|
|
327
333
|
contentLanguageTag: z.ZodNullable<z.ZodString>;
|
|
328
334
|
slug: z.ZodNullable<z.ZodString>;
|
|
329
335
|
shortDescription: z.ZodNullable<z.ZodString>;
|
|
@@ -508,6 +514,9 @@ export declare const publicCatalogProductListResponseSchema: z.ZodObject<{
|
|
|
508
514
|
id: z.ZodString;
|
|
509
515
|
name: z.ZodString;
|
|
510
516
|
description: z.ZodNullable<z.ZodString>;
|
|
517
|
+
inclusionsHtml: z.ZodNullable<z.ZodString>;
|
|
518
|
+
exclusionsHtml: z.ZodNullable<z.ZodString>;
|
|
519
|
+
termsHtml: z.ZodNullable<z.ZodString>;
|
|
511
520
|
contentLanguageTag: z.ZodNullable<z.ZodString>;
|
|
512
521
|
slug: z.ZodNullable<z.ZodString>;
|
|
513
522
|
shortDescription: z.ZodNullable<z.ZodString>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation-public.d.ts","sourceRoot":"","sources":["../src/validation-public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAevB,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmB9C,CAAA;AAEF,eAAO,MAAM,oCAAoC;;;;;iBAK/C,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;iBAI1C,CAAA;AAEF,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;iBASlD,CAAA;AAEF,eAAO,MAAM,2CAA2C;;iBAEtD,CAAA;AAEF,eAAO,MAAM,kCAAkC;;;;;;;iBAO7C,CAAA;AAEF,eAAO,MAAM,6BAA6B;;;iBAGxC,CAAA;AAEF,eAAO,MAAM,8BAA8B;;;;;iBAKzC,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;iBAY1C,CAAA;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;iBAM5C,CAAA;AAEF,eAAO,MAAM,6BAA6B;;;;;iBAKxC,CAAA;AAEF,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;iBAU7C,CAAA;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;iBAazC,CAAA;AAEF,eAAO,MAAM,iCAAiC
|
|
1
|
+
{"version":3,"file":"validation-public.d.ts","sourceRoot":"","sources":["../src/validation-public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAevB,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmB9C,CAAA;AAEF,eAAO,MAAM,oCAAoC;;;;;iBAK/C,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;iBAI1C,CAAA;AAEF,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;iBASlD,CAAA;AAEF,eAAO,MAAM,2CAA2C;;iBAEtD,CAAA;AAEF,eAAO,MAAM,kCAAkC;;;;;;;iBAO7C,CAAA;AAEF,eAAO,MAAM,6BAA6B;;;iBAGxC,CAAA;AAEF,eAAO,MAAM,8BAA8B;;;;;iBAKzC,CAAA;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;iBAY1C,CAAA;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;iBAM5C,CAAA;AAEF,eAAO,MAAM,6BAA6B;;;;;iBAKxC,CAAA;AAEF,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;iBAU7C,CAAA;AAEF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;;iBAazC,CAAA;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6B5C,CAAA;AAEF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAK3C,CAAA;AAEF,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKjD,CAAA;AAEF,eAAO,MAAM,uCAAuC;;;;;;;;;;;;iBAKlD,CAAA;AAEF,eAAO,MAAM,kCAAkC;;;;;;;;iBAK7C,CAAA;AAEF,eAAO,MAAM,0CAA0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKrD,CAAA;AAEF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAA;AAC/F,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAA;AACjG,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA;AACvF,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CACrD,OAAO,uCAAuC,CAC/C,CAAA;AACD,MAAM,MAAM,qCAAqC,GAAG,CAAC,CAAC,KAAK,CACzD,OAAO,2CAA2C,CACnD,CAAA"}
|
|
@@ -117,6 +117,9 @@ export const publicCatalogProductSummarySchema = z.object({
|
|
|
117
117
|
id: z.string(),
|
|
118
118
|
name: z.string(),
|
|
119
119
|
description: z.string().nullable(),
|
|
120
|
+
inclusionsHtml: z.string().nullable(),
|
|
121
|
+
exclusionsHtml: z.string().nullable(),
|
|
122
|
+
termsHtml: z.string().nullable(),
|
|
120
123
|
contentLanguageTag: z.string().nullable(),
|
|
121
124
|
slug: z.string().nullable(),
|
|
122
125
|
shortDescription: z.string().nullable(),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation-public.test.d.ts","sourceRoot":"","sources":["../src/validation-public.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { publicCatalogProductDetailSchema, publicCatalogProductSummarySchema, } from "./validation-public.js";
|
|
3
|
+
const publicProductSummary = {
|
|
4
|
+
id: "prod_01j00000000000000000000000",
|
|
5
|
+
name: "Danube Cruise",
|
|
6
|
+
description: "River cruise through major capitals.",
|
|
7
|
+
inclusionsHtml: "<p>Transfers included</p>",
|
|
8
|
+
exclusionsHtml: "<p>Flights excluded</p>",
|
|
9
|
+
termsHtml: "<p>Standard cruise terms</p>",
|
|
10
|
+
contentLanguageTag: null,
|
|
11
|
+
slug: "danube-cruise",
|
|
12
|
+
shortDescription: null,
|
|
13
|
+
seoTitle: null,
|
|
14
|
+
seoDescription: null,
|
|
15
|
+
bookingMode: "date",
|
|
16
|
+
capacityMode: "limited",
|
|
17
|
+
visibility: "public",
|
|
18
|
+
sellCurrency: "EUR",
|
|
19
|
+
sellAmountCents: null,
|
|
20
|
+
startDate: null,
|
|
21
|
+
endDate: null,
|
|
22
|
+
pax: null,
|
|
23
|
+
contractTemplateId: null,
|
|
24
|
+
productType: null,
|
|
25
|
+
categories: [],
|
|
26
|
+
tags: [],
|
|
27
|
+
capabilities: [],
|
|
28
|
+
destinations: [],
|
|
29
|
+
locations: [],
|
|
30
|
+
coverMedia: null,
|
|
31
|
+
isFeatured: false,
|
|
32
|
+
};
|
|
33
|
+
describe("public catalog product validation", () => {
|
|
34
|
+
it("preserves product HTML fields on public summary responses", () => {
|
|
35
|
+
const parsed = publicCatalogProductSummarySchema.parse(publicProductSummary);
|
|
36
|
+
expect(parsed.inclusionsHtml).toBe("<p>Transfers included</p>");
|
|
37
|
+
expect(parsed.exclusionsHtml).toBe("<p>Flights excluded</p>");
|
|
38
|
+
expect(parsed.termsHtml).toBe("<p>Standard cruise terms</p>");
|
|
39
|
+
});
|
|
40
|
+
it("preserves product HTML fields on public detail responses", () => {
|
|
41
|
+
const parsed = publicCatalogProductDetailSchema.parse({
|
|
42
|
+
...publicProductSummary,
|
|
43
|
+
brochure: null,
|
|
44
|
+
media: [],
|
|
45
|
+
features: [],
|
|
46
|
+
faqs: [],
|
|
47
|
+
});
|
|
48
|
+
expect(parsed.inclusionsHtml).toBe("<p>Transfers included</p>");
|
|
49
|
+
expect(parsed.exclusionsHtml).toBe("<p>Flights excluded</p>");
|
|
50
|
+
expect(parsed.termsHtml).toBe("<p>Standard cruise terms</p>");
|
|
51
|
+
});
|
|
52
|
+
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@voyantjs/products-contracts",
|
|
3
|
-
"version": "0.105.
|
|
3
|
+
"version": "0.105.3",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
60
|
"zod": "^4.3.6",
|
|
61
|
-
"@voyantjs/catalog-contracts": "^0.
|
|
61
|
+
"@voyantjs/catalog-contracts": "^0.106.0",
|
|
62
62
|
"@voyantjs/schema-kit": "^0.105.0"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|