@adhese/sdk 0.16.0 → 0.16.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/index.cjs +3 -3
- package/dist/index.js +3 -3
- package/dist/{requestAds.schema-Bt7KDWqM.js → requestAds.schema-DbGNhzE_.js} +2 -2
- package/dist/requestAds.schema-DbGNhzE_.js.map +1 -0
- package/dist/{requestAds.schema-DvERzWT3.cjs → requestAds.schema-lenvDWpb.cjs} +28 -28
- package/dist/requestAds.schema-lenvDWpb.cjs.map +1 -0
- package/package.json +2 -2
- package/dist/requestAds.schema-Bt7KDWqM.js.map +0 -1
- package/dist/requestAds.schema-DvERzWT3.cjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @adhese/sdk
|
|
2
2
|
|
|
3
|
+
## 0.16.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 2763181: Force @adhese/sdk to use @adhese/sdk-shared@0.5.1
|
|
8
|
+
|
|
9
|
+
## 0.16.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 1164c2b: Move Zod validators to seperate exports
|
|
14
|
+
|
|
3
15
|
## 0.16.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
package/dist/index.cjs
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
3
3
|
const sdkShared = require("@adhese/sdk-shared");
|
|
4
4
|
const remeda = require("remeda");
|
|
5
5
|
const name = "@adhese/sdk";
|
|
6
|
-
const version = "0.16.
|
|
6
|
+
const version = "0.16.2";
|
|
7
7
|
function addTrackingPixel(url) {
|
|
8
8
|
const img = document.createElement("img");
|
|
9
9
|
img.src = url.toString();
|
|
@@ -132,7 +132,7 @@ async function requestPreviews(account) {
|
|
|
132
132
|
return Promise.reject(new Error(`Failed to request preview ad with ID: ${previewObject.adhesePreviewCreativeId}`));
|
|
133
133
|
return await response.json();
|
|
134
134
|
})),
|
|
135
|
-
Promise.resolve().then(() => require("./requestAds.schema-
|
|
135
|
+
Promise.resolve().then(() => require("./requestAds.schema-lenvDWpb.cjs")).then((module2) => module2.adSchema)
|
|
136
136
|
]);
|
|
137
137
|
return adSchema.array().parse(list.filter((response) => {
|
|
138
138
|
if (response.status === "rejected") {
|
|
@@ -248,7 +248,7 @@ async function requestAds(requestOptions) {
|
|
|
248
248
|
const [response, previews, parseResponse] = await Promise.all([
|
|
249
249
|
((_b = context.options.requestType) == null ? void 0 : _b.toUpperCase()) === "POST" ? requestWithPost(options) : requestWithGet(options),
|
|
250
250
|
requestPreviews(context.options.account),
|
|
251
|
-
Promise.resolve().then(() => require("./requestAds.schema-
|
|
251
|
+
Promise.resolve().then(() => require("./requestAds.schema-lenvDWpb.cjs")).then((module2) => module2.parseResponse)
|
|
252
252
|
]);
|
|
253
253
|
logger.debug("Received response", response);
|
|
254
254
|
if (!response.ok)
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createLogger, toValue, ref, computed, waitForDomLoad, watch, effectScope, uniqueId, reactive, createEventManager, awaitTimeout } from "@adhese/sdk-shared";
|
|
2
2
|
import { debounce, round, isDeepEqual, doNothing } from "remeda";
|
|
3
3
|
const name = "@adhese/sdk";
|
|
4
|
-
const version = "0.16.
|
|
4
|
+
const version = "0.16.2";
|
|
5
5
|
function addTrackingPixel(url) {
|
|
6
6
|
const img = document.createElement("img");
|
|
7
7
|
img.src = url.toString();
|
|
@@ -130,7 +130,7 @@ async function requestPreviews(account) {
|
|
|
130
130
|
return Promise.reject(new Error(`Failed to request preview ad with ID: ${previewObject.adhesePreviewCreativeId}`));
|
|
131
131
|
return await response.json();
|
|
132
132
|
})),
|
|
133
|
-
import("./requestAds.schema-
|
|
133
|
+
import("./requestAds.schema-DbGNhzE_.js").then((module) => module.adSchema)
|
|
134
134
|
]);
|
|
135
135
|
return adSchema.array().parse(list.filter((response) => {
|
|
136
136
|
if (response.status === "rejected") {
|
|
@@ -246,7 +246,7 @@ async function requestAds(requestOptions) {
|
|
|
246
246
|
const [response, previews, parseResponse] = await Promise.all([
|
|
247
247
|
((_b = context.options.requestType) == null ? void 0 : _b.toUpperCase()) === "POST" ? requestWithPost(options) : requestWithGet(options),
|
|
248
248
|
requestPreviews(context.options.account),
|
|
249
|
-
import("./requestAds.schema-
|
|
249
|
+
import("./requestAds.schema-DbGNhzE_.js").then((module) => module.parseResponse)
|
|
250
250
|
]);
|
|
251
251
|
logger.debug("Received response", response);
|
|
252
252
|
if (!response.ok)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { object, string, unknown, union, literal, lazy } from "zod";
|
|
2
|
-
import { numberLike, urlLike, dateLike, booleanLike, isJsonOrHtmlOptionalString, cssValueLike, isJsonOrHtmlString } from "@adhese/sdk-shared";
|
|
2
|
+
import { numberLike, urlLike, dateLike, booleanLike, isJsonOrHtmlOptionalString, cssValueLike, isJsonOrHtmlString } from "@adhese/sdk-shared/validators";
|
|
3
3
|
const baseSchema = object({
|
|
4
4
|
adDuration: numberLike.optional(),
|
|
5
5
|
adFormat: string().optional(),
|
|
@@ -101,4 +101,4 @@ export {
|
|
|
101
101
|
jerliciaSchema,
|
|
102
102
|
parseResponse
|
|
103
103
|
};
|
|
104
|
-
//# sourceMappingURL=requestAds.schema-
|
|
104
|
+
//# sourceMappingURL=requestAds.schema-DbGNhzE_.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestAds.schema-DbGNhzE_.js","sources":["../src/requestAds/requestAds.schema.ts"],"sourcesContent":["import { type TypeOf, type ZodType, lazy, literal, object, string, union, unknown } from 'zod';\nimport {\n booleanLike,\n cssValueLike,\n dateLike,\n isJsonOrHtmlOptionalString,\n isJsonOrHtmlString,\n numberLike,\n urlLike,\n} from '@adhese/sdk-shared/validators';\n\nconst baseSchema = object({\n adDuration: numberLike.optional(),\n adFormat: string().optional(),\n adType: string(),\n additionalCreativeTracker: urlLike.optional(),\n additionalViewableTracker: string().optional(),\n adspaceEnd: dateLike.optional(),\n adspaceId: string().optional(),\n adspaceKey: string().optional(),\n adspaceStart: dateLike.optional(),\n advertiserId: string().optional(),\n altText: string().optional(),\n auctionable: booleanLike.optional(),\n body: isJsonOrHtmlOptionalString,\n clickTag: urlLike.optional(),\n comment: string().optional(),\n creativeName: string().optional(),\n deliveryGroupId: string().optional(),\n deliveryMultiples: string().optional(),\n ext: string().optional(),\n extension: object({\n mediaType: string(),\n prebid: unknown().optional(),\n }).optional(),\n height: numberLike.optional(),\n id: string(),\n impressionCounter: urlLike.optional(),\n libId: string().optional(),\n orderId: string().optional(),\n orderName: string().optional(),\n orderProperty: string().optional(),\n origin: union([literal('JERLICIA'), literal('DALE')]),\n originData: unknown().optional(),\n originInstance: string().optional(),\n poolPath: urlLike.optional(),\n preview: booleanLike.optional(),\n priority: numberLike.optional(),\n sfSrc: urlLike.optional(),\n share: string().optional(),\n // eslint-disable-next-line ts/naming-convention\n slotID: string(),\n slotName: string(),\n swfSrc: urlLike.optional(),\n tag: isJsonOrHtmlOptionalString,\n tagUrl: urlLike.optional(),\n timeStamp: dateLike.optional(),\n trackedImpressionCounter: urlLike.optional(),\n tracker: urlLike.optional(),\n trackingUrl: urlLike.optional(),\n url: urlLike.optional(),\n viewableImpressionCounter: urlLike.optional(),\n width: numberLike.optional(),\n widthLarge: cssValueLike.optional(),\n});\n\nexport const jerliciaSchema = object({\n origin: literal('JERLICIA'),\n tag: isJsonOrHtmlString,\n}).passthrough();\n\nexport const daleSchema = object({\n origin: literal('DALE'),\n body: isJsonOrHtmlString,\n}).passthrough().transform(({ body, ...data }) => ({\n ...data,\n tag: body,\n}));\n\nexport type AdResponse = (TypeOf<typeof baseSchema> & {\n additionalCreatives?: ReadonlyArray<AdResponse> | string;\n});\n\nconst adResponseSchema: ZodType<AdResponse> = baseSchema.extend({\n additionalCreatives: lazy(() => union([adResponseSchema.array(), string()]).optional()),\n}) as ZodType<AdResponse>;\n\nexport type PreParsedAd = TypeOf<typeof adResponseSchema> & {\n additionalCreatives?: ReadonlyArray<PreParsedAd> | string;\n};\n\nexport type AdheseAd<T = string | Record<string, unknown> | ReadonlyArray<unknown>> = Omit<PreParsedAd, 'tag'> & {\n tag: T | string;\n};\n\nexport const adSchema: ZodType<PreParsedAd> = adResponseSchema.transform(({\n additionalCreatives,\n ...data\n}) => {\n const filteredValue = Object.fromEntries(\n Object.entries(data)\n .filter(([, value]) =>\n Boolean(value)\n && JSON.stringify(value) !== '{}'\n && JSON.stringify(value) !== '[]'),\n ) as typeof data;\n\n return ({\n ...filteredValue,\n additionalCreatives: Array.isArray(additionalCreatives) ? additionalCreatives.map(creative => adSchema.parse(creative)) : additionalCreatives,\n });\n});\n\nexport function parseResponse(response: unknown): ReadonlyArray<AdheseAd> {\n const schemaMap = {\n /* eslint-disable ts/naming-convention */\n JERLICIA: jerliciaSchema,\n DALE: daleSchema,\n /* eslint-enable ts/naming-convention */\n };\n\n const preParsed = adResponseSchema.array().parse(response);\n\n return preParsed.map((item) => {\n const schema = schemaMap[item.origin];\n\n if (!schema)\n return adSchema.parse(item);\n\n return schema.parse(item);\n }) as ReadonlyArray<AdheseAd>;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const zod = require("zod");
|
|
4
|
-
const
|
|
4
|
+
const validators = require("@adhese/sdk-shared/validators");
|
|
5
5
|
const baseSchema = zod.object({
|
|
6
|
-
adDuration:
|
|
6
|
+
adDuration: validators.numberLike.optional(),
|
|
7
7
|
adFormat: zod.string().optional(),
|
|
8
8
|
adType: zod.string(),
|
|
9
|
-
additionalCreativeTracker:
|
|
9
|
+
additionalCreativeTracker: validators.urlLike.optional(),
|
|
10
10
|
additionalViewableTracker: zod.string().optional(),
|
|
11
|
-
adspaceEnd:
|
|
11
|
+
adspaceEnd: validators.dateLike.optional(),
|
|
12
12
|
adspaceId: zod.string().optional(),
|
|
13
13
|
adspaceKey: zod.string().optional(),
|
|
14
|
-
adspaceStart:
|
|
14
|
+
adspaceStart: validators.dateLike.optional(),
|
|
15
15
|
advertiserId: zod.string().optional(),
|
|
16
16
|
altText: zod.string().optional(),
|
|
17
|
-
auctionable:
|
|
18
|
-
body:
|
|
19
|
-
clickTag:
|
|
17
|
+
auctionable: validators.booleanLike.optional(),
|
|
18
|
+
body: validators.isJsonOrHtmlOptionalString,
|
|
19
|
+
clickTag: validators.urlLike.optional(),
|
|
20
20
|
comment: zod.string().optional(),
|
|
21
21
|
creativeName: zod.string().optional(),
|
|
22
22
|
deliveryGroupId: zod.string().optional(),
|
|
@@ -26,9 +26,9 @@ const baseSchema = zod.object({
|
|
|
26
26
|
mediaType: zod.string(),
|
|
27
27
|
prebid: zod.unknown().optional()
|
|
28
28
|
}).optional(),
|
|
29
|
-
height:
|
|
29
|
+
height: validators.numberLike.optional(),
|
|
30
30
|
id: zod.string(),
|
|
31
|
-
impressionCounter:
|
|
31
|
+
impressionCounter: validators.urlLike.optional(),
|
|
32
32
|
libId: zod.string().optional(),
|
|
33
33
|
orderId: zod.string().optional(),
|
|
34
34
|
orderName: zod.string().optional(),
|
|
@@ -36,33 +36,33 @@ const baseSchema = zod.object({
|
|
|
36
36
|
origin: zod.union([zod.literal("JERLICIA"), zod.literal("DALE")]),
|
|
37
37
|
originData: zod.unknown().optional(),
|
|
38
38
|
originInstance: zod.string().optional(),
|
|
39
|
-
poolPath:
|
|
40
|
-
preview:
|
|
41
|
-
priority:
|
|
42
|
-
sfSrc:
|
|
39
|
+
poolPath: validators.urlLike.optional(),
|
|
40
|
+
preview: validators.booleanLike.optional(),
|
|
41
|
+
priority: validators.numberLike.optional(),
|
|
42
|
+
sfSrc: validators.urlLike.optional(),
|
|
43
43
|
share: zod.string().optional(),
|
|
44
44
|
// eslint-disable-next-line ts/naming-convention
|
|
45
45
|
slotID: zod.string(),
|
|
46
46
|
slotName: zod.string(),
|
|
47
|
-
swfSrc:
|
|
48
|
-
tag:
|
|
49
|
-
tagUrl:
|
|
50
|
-
timeStamp:
|
|
51
|
-
trackedImpressionCounter:
|
|
52
|
-
tracker:
|
|
53
|
-
trackingUrl:
|
|
54
|
-
url:
|
|
55
|
-
viewableImpressionCounter:
|
|
56
|
-
width:
|
|
57
|
-
widthLarge:
|
|
47
|
+
swfSrc: validators.urlLike.optional(),
|
|
48
|
+
tag: validators.isJsonOrHtmlOptionalString,
|
|
49
|
+
tagUrl: validators.urlLike.optional(),
|
|
50
|
+
timeStamp: validators.dateLike.optional(),
|
|
51
|
+
trackedImpressionCounter: validators.urlLike.optional(),
|
|
52
|
+
tracker: validators.urlLike.optional(),
|
|
53
|
+
trackingUrl: validators.urlLike.optional(),
|
|
54
|
+
url: validators.urlLike.optional(),
|
|
55
|
+
viewableImpressionCounter: validators.urlLike.optional(),
|
|
56
|
+
width: validators.numberLike.optional(),
|
|
57
|
+
widthLarge: validators.cssValueLike.optional()
|
|
58
58
|
});
|
|
59
59
|
const jerliciaSchema = zod.object({
|
|
60
60
|
origin: zod.literal("JERLICIA"),
|
|
61
|
-
tag:
|
|
61
|
+
tag: validators.isJsonOrHtmlString
|
|
62
62
|
}).passthrough();
|
|
63
63
|
const daleSchema = zod.object({
|
|
64
64
|
origin: zod.literal("DALE"),
|
|
65
|
-
body:
|
|
65
|
+
body: validators.isJsonOrHtmlString
|
|
66
66
|
}).passthrough().transform(({ body, ...data }) => ({
|
|
67
67
|
...data,
|
|
68
68
|
tag: body
|
|
@@ -101,4 +101,4 @@ exports.adSchema = adSchema;
|
|
|
101
101
|
exports.daleSchema = daleSchema;
|
|
102
102
|
exports.jerliciaSchema = jerliciaSchema;
|
|
103
103
|
exports.parseResponse = parseResponse;
|
|
104
|
-
//# sourceMappingURL=requestAds.schema-
|
|
104
|
+
//# sourceMappingURL=requestAds.schema-lenvDWpb.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requestAds.schema-lenvDWpb.cjs","sources":["../src/requestAds/requestAds.schema.ts"],"sourcesContent":["import { type TypeOf, type ZodType, lazy, literal, object, string, union, unknown } from 'zod';\nimport {\n booleanLike,\n cssValueLike,\n dateLike,\n isJsonOrHtmlOptionalString,\n isJsonOrHtmlString,\n numberLike,\n urlLike,\n} from '@adhese/sdk-shared/validators';\n\nconst baseSchema = object({\n adDuration: numberLike.optional(),\n adFormat: string().optional(),\n adType: string(),\n additionalCreativeTracker: urlLike.optional(),\n additionalViewableTracker: string().optional(),\n adspaceEnd: dateLike.optional(),\n adspaceId: string().optional(),\n adspaceKey: string().optional(),\n adspaceStart: dateLike.optional(),\n advertiserId: string().optional(),\n altText: string().optional(),\n auctionable: booleanLike.optional(),\n body: isJsonOrHtmlOptionalString,\n clickTag: urlLike.optional(),\n comment: string().optional(),\n creativeName: string().optional(),\n deliveryGroupId: string().optional(),\n deliveryMultiples: string().optional(),\n ext: string().optional(),\n extension: object({\n mediaType: string(),\n prebid: unknown().optional(),\n }).optional(),\n height: numberLike.optional(),\n id: string(),\n impressionCounter: urlLike.optional(),\n libId: string().optional(),\n orderId: string().optional(),\n orderName: string().optional(),\n orderProperty: string().optional(),\n origin: union([literal('JERLICIA'), literal('DALE')]),\n originData: unknown().optional(),\n originInstance: string().optional(),\n poolPath: urlLike.optional(),\n preview: booleanLike.optional(),\n priority: numberLike.optional(),\n sfSrc: urlLike.optional(),\n share: string().optional(),\n // eslint-disable-next-line ts/naming-convention\n slotID: string(),\n slotName: string(),\n swfSrc: urlLike.optional(),\n tag: isJsonOrHtmlOptionalString,\n tagUrl: urlLike.optional(),\n timeStamp: dateLike.optional(),\n trackedImpressionCounter: urlLike.optional(),\n tracker: urlLike.optional(),\n trackingUrl: urlLike.optional(),\n url: urlLike.optional(),\n viewableImpressionCounter: urlLike.optional(),\n width: numberLike.optional(),\n widthLarge: cssValueLike.optional(),\n});\n\nexport const jerliciaSchema = object({\n origin: literal('JERLICIA'),\n tag: isJsonOrHtmlString,\n}).passthrough();\n\nexport const daleSchema = object({\n origin: literal('DALE'),\n body: isJsonOrHtmlString,\n}).passthrough().transform(({ body, ...data }) => ({\n ...data,\n tag: body,\n}));\n\nexport type AdResponse = (TypeOf<typeof baseSchema> & {\n additionalCreatives?: ReadonlyArray<AdResponse> | string;\n});\n\nconst adResponseSchema: ZodType<AdResponse> = baseSchema.extend({\n additionalCreatives: lazy(() => union([adResponseSchema.array(), string()]).optional()),\n}) as ZodType<AdResponse>;\n\nexport type PreParsedAd = TypeOf<typeof adResponseSchema> & {\n additionalCreatives?: ReadonlyArray<PreParsedAd> | string;\n};\n\nexport type AdheseAd<T = string | Record<string, unknown> | ReadonlyArray<unknown>> = Omit<PreParsedAd, 'tag'> & {\n tag: T | string;\n};\n\nexport const adSchema: ZodType<PreParsedAd> = adResponseSchema.transform(({\n additionalCreatives,\n ...data\n}) => {\n const filteredValue = Object.fromEntries(\n Object.entries(data)\n .filter(([, value]) =>\n Boolean(value)\n && JSON.stringify(value) !== '{}'\n && JSON.stringify(value) !== '[]'),\n ) as typeof data;\n\n return ({\n ...filteredValue,\n additionalCreatives: Array.isArray(additionalCreatives) ? additionalCreatives.map(creative => adSchema.parse(creative)) : additionalCreatives,\n });\n});\n\nexport function parseResponse(response: unknown): ReadonlyArray<AdheseAd> {\n const schemaMap = {\n /* eslint-disable ts/naming-convention */\n JERLICIA: jerliciaSchema,\n DALE: daleSchema,\n /* eslint-enable ts/naming-convention */\n };\n\n const preParsed = adResponseSchema.array().parse(response);\n\n return preParsed.map((item) => {\n const schema = schemaMap[item.origin];\n\n if (!schema)\n return adSchema.parse(item);\n\n return schema.parse(item);\n }) as ReadonlyArray<AdheseAd>;\n}\n"],"names":["object","numberLike","string","urlLike","dateLike","booleanLike","isJsonOrHtmlOptionalString","unknown","union","literal","cssValueLike","isJsonOrHtmlString","lazy"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adhese/sdk",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.16.
|
|
4
|
+
"version": "0.16.2",
|
|
5
5
|
"description": "Adhese SDK",
|
|
6
6
|
"license": "GPL-3.0",
|
|
7
7
|
"repository": {
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"prepareRelease": "npm run build"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@adhese/sdk-shared": "^0.5.
|
|
35
|
+
"@adhese/sdk-shared": "^0.5.1",
|
|
36
36
|
"remeda": "^1.61.0",
|
|
37
37
|
"zod": "^3.23.6"
|
|
38
38
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"requestAds.schema-Bt7KDWqM.js","sources":["../src/requestAds/requestAds.schema.ts"],"sourcesContent":["import { type TypeOf, type ZodType, lazy, literal, object, string, union, unknown } from 'zod';\nimport {\n booleanLike,\n cssValueLike,\n dateLike,\n isJsonOrHtmlOptionalString,\n isJsonOrHtmlString,\n numberLike,\n urlLike,\n} from '@adhese/sdk-shared';\n\nconst baseSchema = object({\n adDuration: numberLike.optional(),\n adFormat: string().optional(),\n adType: string(),\n additionalCreativeTracker: urlLike.optional(),\n additionalViewableTracker: string().optional(),\n adspaceEnd: dateLike.optional(),\n adspaceId: string().optional(),\n adspaceKey: string().optional(),\n adspaceStart: dateLike.optional(),\n advertiserId: string().optional(),\n altText: string().optional(),\n auctionable: booleanLike.optional(),\n body: isJsonOrHtmlOptionalString,\n clickTag: urlLike.optional(),\n comment: string().optional(),\n creativeName: string().optional(),\n deliveryGroupId: string().optional(),\n deliveryMultiples: string().optional(),\n ext: string().optional(),\n extension: object({\n mediaType: string(),\n prebid: unknown().optional(),\n }).optional(),\n height: numberLike.optional(),\n id: string(),\n impressionCounter: urlLike.optional(),\n libId: string().optional(),\n orderId: string().optional(),\n orderName: string().optional(),\n orderProperty: string().optional(),\n origin: union([literal('JERLICIA'), literal('DALE')]),\n originData: unknown().optional(),\n originInstance: string().optional(),\n poolPath: urlLike.optional(),\n preview: booleanLike.optional(),\n priority: numberLike.optional(),\n sfSrc: urlLike.optional(),\n share: string().optional(),\n // eslint-disable-next-line ts/naming-convention\n slotID: string(),\n slotName: string(),\n swfSrc: urlLike.optional(),\n tag: isJsonOrHtmlOptionalString,\n tagUrl: urlLike.optional(),\n timeStamp: dateLike.optional(),\n trackedImpressionCounter: urlLike.optional(),\n tracker: urlLike.optional(),\n trackingUrl: urlLike.optional(),\n url: urlLike.optional(),\n viewableImpressionCounter: urlLike.optional(),\n width: numberLike.optional(),\n widthLarge: cssValueLike.optional(),\n});\n\nexport const jerliciaSchema = object({\n origin: literal('JERLICIA'),\n tag: isJsonOrHtmlString,\n}).passthrough();\n\nexport const daleSchema = object({\n origin: literal('DALE'),\n body: isJsonOrHtmlString,\n}).passthrough().transform(({ body, ...data }) => ({\n ...data,\n tag: body,\n}));\n\nexport type AdResponse = (TypeOf<typeof baseSchema> & {\n additionalCreatives?: ReadonlyArray<AdResponse> | string;\n});\n\nconst adResponseSchema: ZodType<AdResponse> = baseSchema.extend({\n additionalCreatives: lazy(() => union([adResponseSchema.array(), string()]).optional()),\n}) as ZodType<AdResponse>;\n\nexport type PreParsedAd = TypeOf<typeof adResponseSchema> & {\n additionalCreatives?: ReadonlyArray<PreParsedAd> | string;\n};\n\nexport type AdheseAd<T = string | Record<string, unknown> | ReadonlyArray<unknown>> = Omit<PreParsedAd, 'tag'> & {\n tag: T | string;\n};\n\nexport const adSchema: ZodType<PreParsedAd> = adResponseSchema.transform(({\n additionalCreatives,\n ...data\n}) => {\n const filteredValue = Object.fromEntries(\n Object.entries(data)\n .filter(([, value]) =>\n Boolean(value)\n && JSON.stringify(value) !== '{}'\n && JSON.stringify(value) !== '[]'),\n ) as typeof data;\n\n return ({\n ...filteredValue,\n additionalCreatives: Array.isArray(additionalCreatives) ? additionalCreatives.map(creative => adSchema.parse(creative)) : additionalCreatives,\n });\n});\n\nexport function parseResponse(response: unknown): ReadonlyArray<AdheseAd> {\n const schemaMap = {\n /* eslint-disable ts/naming-convention */\n JERLICIA: jerliciaSchema,\n DALE: daleSchema,\n /* eslint-enable ts/naming-convention */\n };\n\n const preParsed = adResponseSchema.array().parse(response);\n\n return preParsed.map((item) => {\n const schema = schemaMap[item.origin];\n\n if (!schema)\n return adSchema.parse(item);\n\n return schema.parse(item);\n }) as ReadonlyArray<AdheseAd>;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"requestAds.schema-DvERzWT3.cjs","sources":["../src/requestAds/requestAds.schema.ts"],"sourcesContent":["import { type TypeOf, type ZodType, lazy, literal, object, string, union, unknown } from 'zod';\nimport {\n booleanLike,\n cssValueLike,\n dateLike,\n isJsonOrHtmlOptionalString,\n isJsonOrHtmlString,\n numberLike,\n urlLike,\n} from '@adhese/sdk-shared';\n\nconst baseSchema = object({\n adDuration: numberLike.optional(),\n adFormat: string().optional(),\n adType: string(),\n additionalCreativeTracker: urlLike.optional(),\n additionalViewableTracker: string().optional(),\n adspaceEnd: dateLike.optional(),\n adspaceId: string().optional(),\n adspaceKey: string().optional(),\n adspaceStart: dateLike.optional(),\n advertiserId: string().optional(),\n altText: string().optional(),\n auctionable: booleanLike.optional(),\n body: isJsonOrHtmlOptionalString,\n clickTag: urlLike.optional(),\n comment: string().optional(),\n creativeName: string().optional(),\n deliveryGroupId: string().optional(),\n deliveryMultiples: string().optional(),\n ext: string().optional(),\n extension: object({\n mediaType: string(),\n prebid: unknown().optional(),\n }).optional(),\n height: numberLike.optional(),\n id: string(),\n impressionCounter: urlLike.optional(),\n libId: string().optional(),\n orderId: string().optional(),\n orderName: string().optional(),\n orderProperty: string().optional(),\n origin: union([literal('JERLICIA'), literal('DALE')]),\n originData: unknown().optional(),\n originInstance: string().optional(),\n poolPath: urlLike.optional(),\n preview: booleanLike.optional(),\n priority: numberLike.optional(),\n sfSrc: urlLike.optional(),\n share: string().optional(),\n // eslint-disable-next-line ts/naming-convention\n slotID: string(),\n slotName: string(),\n swfSrc: urlLike.optional(),\n tag: isJsonOrHtmlOptionalString,\n tagUrl: urlLike.optional(),\n timeStamp: dateLike.optional(),\n trackedImpressionCounter: urlLike.optional(),\n tracker: urlLike.optional(),\n trackingUrl: urlLike.optional(),\n url: urlLike.optional(),\n viewableImpressionCounter: urlLike.optional(),\n width: numberLike.optional(),\n widthLarge: cssValueLike.optional(),\n});\n\nexport const jerliciaSchema = object({\n origin: literal('JERLICIA'),\n tag: isJsonOrHtmlString,\n}).passthrough();\n\nexport const daleSchema = object({\n origin: literal('DALE'),\n body: isJsonOrHtmlString,\n}).passthrough().transform(({ body, ...data }) => ({\n ...data,\n tag: body,\n}));\n\nexport type AdResponse = (TypeOf<typeof baseSchema> & {\n additionalCreatives?: ReadonlyArray<AdResponse> | string;\n});\n\nconst adResponseSchema: ZodType<AdResponse> = baseSchema.extend({\n additionalCreatives: lazy(() => union([adResponseSchema.array(), string()]).optional()),\n}) as ZodType<AdResponse>;\n\nexport type PreParsedAd = TypeOf<typeof adResponseSchema> & {\n additionalCreatives?: ReadonlyArray<PreParsedAd> | string;\n};\n\nexport type AdheseAd<T = string | Record<string, unknown> | ReadonlyArray<unknown>> = Omit<PreParsedAd, 'tag'> & {\n tag: T | string;\n};\n\nexport const adSchema: ZodType<PreParsedAd> = adResponseSchema.transform(({\n additionalCreatives,\n ...data\n}) => {\n const filteredValue = Object.fromEntries(\n Object.entries(data)\n .filter(([, value]) =>\n Boolean(value)\n && JSON.stringify(value) !== '{}'\n && JSON.stringify(value) !== '[]'),\n ) as typeof data;\n\n return ({\n ...filteredValue,\n additionalCreatives: Array.isArray(additionalCreatives) ? additionalCreatives.map(creative => adSchema.parse(creative)) : additionalCreatives,\n });\n});\n\nexport function parseResponse(response: unknown): ReadonlyArray<AdheseAd> {\n const schemaMap = {\n /* eslint-disable ts/naming-convention */\n JERLICIA: jerliciaSchema,\n DALE: daleSchema,\n /* eslint-enable ts/naming-convention */\n };\n\n const preParsed = adResponseSchema.array().parse(response);\n\n return preParsed.map((item) => {\n const schema = schemaMap[item.origin];\n\n if (!schema)\n return adSchema.parse(item);\n\n return schema.parse(item);\n }) as ReadonlyArray<AdheseAd>;\n}\n"],"names":["object","numberLike","string","urlLike","dateLike","booleanLike","isJsonOrHtmlOptionalString","unknown","union","literal","cssValueLike","isJsonOrHtmlString","lazy"],"mappings":"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"}
|