@walkeros/web-source-datalayer 0.2.0 → 0.2.1

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.
@@ -1,15 +1,9 @@
1
1
  import { Source, Mapping } from '@walkeros/core';
2
2
 
3
- /**
4
- * Example environment configurations for dataLayer source
5
- *
6
- * These environments provide standardized mock structures for testing
7
- * dataLayer interception without requiring a real window object.
8
- */
9
3
  /**
10
4
  * Environment interface for dataLayer source
11
5
  */
12
- interface DataLayerEnv extends Source.Env {
6
+ interface DataLayerEnv extends Source.BaseEnv {
13
7
  window?: typeof window;
14
8
  }
15
9
  /**
@@ -1,15 +1,9 @@
1
1
  import { Source, Mapping } from '@walkeros/core';
2
2
 
3
- /**
4
- * Example environment configurations for dataLayer source
5
- *
6
- * These environments provide standardized mock structures for testing
7
- * dataLayer interception without requiring a real window object.
8
- */
9
3
  /**
10
4
  * Environment interface for dataLayer source
11
5
  */
12
- interface DataLayerEnv extends Source.Env {
6
+ interface DataLayerEnv extends Source.BaseEnv {
13
7
  window?: typeof window;
14
8
  }
15
9
  /**
@@ -34,14 +34,35 @@ var env_exports = {};
34
34
  __export(env_exports, {
35
35
  push: () => push
36
36
  });
37
- var mockWindow = {
38
- dataLayer: [],
39
- addEventListener: jest.fn(),
40
- removeEventListener: jest.fn()
37
+ var noop = () => {
38
+ };
39
+ var createMockElbFn = () => {
40
+ const fn = (() => Promise.resolve({
41
+ ok: true,
42
+ successful: [],
43
+ queued: [],
44
+ failed: []
45
+ }));
46
+ return fn;
41
47
  };
48
+ var createMockWindow = () => ({
49
+ dataLayer: [],
50
+ addEventListener: noop,
51
+ removeEventListener: noop
52
+ });
42
53
  var push = {
43
- elb: jest.fn(),
44
- window: mockWindow
54
+ get push() {
55
+ return createMockElbFn();
56
+ },
57
+ get command() {
58
+ return createMockElbFn();
59
+ },
60
+ get elb() {
61
+ return createMockElbFn();
62
+ },
63
+ get window() {
64
+ return createMockWindow();
65
+ }
45
66
  };
46
67
 
47
68
  // src/examples/events.ts
@@ -9,14 +9,35 @@ var env_exports = {};
9
9
  __export(env_exports, {
10
10
  push: () => push
11
11
  });
12
- var mockWindow = {
13
- dataLayer: [],
14
- addEventListener: jest.fn(),
15
- removeEventListener: jest.fn()
12
+ var noop = () => {
13
+ };
14
+ var createMockElbFn = () => {
15
+ const fn = (() => Promise.resolve({
16
+ ok: true,
17
+ successful: [],
18
+ queued: [],
19
+ failed: []
20
+ }));
21
+ return fn;
16
22
  };
23
+ var createMockWindow = () => ({
24
+ dataLayer: [],
25
+ addEventListener: noop,
26
+ removeEventListener: noop
27
+ });
17
28
  var push = {
18
- elb: jest.fn(),
19
- window: mockWindow
29
+ get push() {
30
+ return createMockElbFn();
31
+ },
32
+ get command() {
33
+ return createMockElbFn();
34
+ },
35
+ get elb() {
36
+ return createMockElbFn();
37
+ },
38
+ get window() {
39
+ return createMockWindow();
40
+ }
20
41
  };
21
42
 
22
43
  // src/examples/events.ts
@@ -1 +1 @@
1
- "use strict";var Destination=(()=>{var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,a=(t,n)=>{for(var r in n)e(t,r,{get:n[r],enumerable:!0})},i={};function o(e){return Array.isArray(e)}function c(e){return"object"==typeof e&&null!==e&&!o(e)&&"[object Object]"===Object.prototype.toString.call(e)}function u(e){return"string"==typeof e}function s(e,t,n){return function(...r){try{return e(...r)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}a(i,{Events:()=>g,Mapping:()=>O,SourceDataLayer:()=>y,consentOnlyMapping:()=>x,consentUpdateEvent:()=>v,dataLayerExamples:()=>S,default:()=>C,env:()=>p,sourceDataLayer:()=>M});var d=!1;function m(e,t={},n){if(t.filter){if(!0===s(()=>t.filter(n),()=>!1)())return}const r=function(e){if(c(e)&&u(e.event)){const{event:t,...n}=e;return{name:t,...n}}if(o(e)&&e.length>=2)return l(e);if(t=e,null!=t&&"object"==typeof t&&"length"in t&&"number"==typeof t.length&&t.length>0){return l(Array.from(e))}var t;return null}(n);if(!r)return;const a={name:`${t.prefix||"dataLayer"} ${r.name}`,data:r,context:{},globals:{},custom:{},consent:{},nested:[],user:{},id:Math.random().toString(36).substring(2,15),trigger:"",entity:"",action:"",timestamp:Date.now(),timing:0,group:"",count:0,version:{source:"1.0.0",tagging:2},source:{type:"dataLayer",id:"",previous_id:""}};s(()=>e(a),()=>{})()}function l(e){const[t,n,r]=e;if(!u(t))return null;let a,i={};switch(t){case"consent":if(!u(n)||e.length<3)return null;if("default"!==n&&"update"!==n)return null;if(!c(r)||null===r)return null;a=`${t} ${n}`,i={...r};break;case"event":if(!u(n))return null;a=n,c(r)&&(i={...r});break;case"config":if(!u(n))return null;a=`${t} ${n}`,c(r)&&(i={...r});break;case"set":if(u(n))a=`${t} ${n}`,c(r)&&(i={...r});else{if(!c(n))return null;a=`${t} custom`,i={...n}}break;default:return null}return{name:a,...i}}var y={},p={};a(p,{push:()=>_});var f={dataLayer:[],addEventListener:jest.fn(),removeEventListener:jest.fn()},_={elb:jest.fn(),window:f},g={};function v(){return["consent","update",{ad_user_data:"granted",ad_personalization:"granted",ad_storage:"denied",analytics_storage:"granted"}]}function w(){return["consent","default",{ad_storage:"denied",analytics_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"}]}function b(){return["event","purchase",{transaction_id:"T_12345",value:25.42,currency:"EUR",items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",quantity:1,price:25.42}]}]}function h(){return["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_variant:"red",quantity:1,price:15.25}]}]}function X(){return["event","view_item",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",price:15.25}]}]}function L(){return["config","G-XXXXXXXXXX",{page_title:"Custom Page Title",page_location:"https://example.com/page",send_page_view:!1}]}function j(){return["set",{currency:"EUR",country:"DE"}]}function E(){return{event:"custom_event",custom_parameter:"custom_value",user_id:"user123"}}a(g,{add_to_cart:()=>h,config:()=>L,consentDefault:()=>w,consentUpdate:()=>v,directDataLayerEvent:()=>E,purchase:()=>b,setCustom:()=>j,view_item:()=>X});var O={};a(O,{add_to_cart:()=>k,config:()=>S,configGA4:()=>P,consentOnlyMapping:()=>x,consentUpdate:()=>U,customEvent:()=>q,purchase:()=>$,view_item:()=>D});var A,U={name:"walker consent",settings:{command:{map:{functional:{value:!0},analytics:{key:"analytics_storage",fn:e=>"granted"===e},marketing:{key:"ad_storage",fn:e=>"granted"===e}}}}},$={name:"order complete",data:{map:{id:"transaction_id",total:"value",currency:"currency",nested:{loop:["items",{map:{type:{value:"product"},data:{map:{id:"item_id",name:"item_name",category:"item_category",quantity:"quantity",price:"price"}}}}]}}}},k={name:"product add",data:{map:{id:"items.0.item_id",name:"items.0.item_name",price:"value",currency:"currency",color:"items.0.item_variant",quantity:"items.0.quantity"}}},D={name:"product view",data:{map:{id:"items.0.item_id",name:"items.0.item_name",category:"items.0.item_category",price:"items.0.price",currency:"currency"}}},P={name:"page view",data:{map:{title:"page_title",url:"page_location"}}},q={data:{map:{user_id:"user_id",custom_parameter:"custom_parameter"}}},S={consent:{update:U},purchase:$,add_to_cart:k,view_item:D,"config G-XXXXXXXXXX":P,custom_event:q,"*":{data:{}}},x={consent:{update:U}},M=async(e,t)=>{try{const{elb:n,window:r}=t,a={name:"dataLayer",prefix:"dataLayer",...null==e?void 0:e.settings},i={settings:a};r&&(function(e,t){const n=t.settings,r=(null==n?void 0:n.name)||"dataLayer",a=window[r];if(Array.isArray(a)&&!d){d=!0;try{for(const t of a)m(e,n,t)}finally{d=!1}}}(n,i),function(e,t){const n=t.settings,r=(null==n?void 0:n.name)||"dataLayer";window[r]||(window[r]=[]);const a=window[r];if(!Array.isArray(a))return;const i=a.push.bind(a);a.push=function(...t){if(d)return i(...t);d=!0;try{for(const r of t)m(e,n,r)}finally{d=!1}return i(...t)}}(n,i));return{type:"dataLayer",config:i,push:n,destroy:async()=>{const e=a.name||"dataLayer";r&&r[e]&&Array.isArray(r[e])}}}catch(e){throw e}},C=M;return A=i,((a,i,o,c)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let u of n(i))r.call(a,u)||u===o||e(a,u,{get:()=>i[u],enumerable:!(c=t(i,u))||c.enumerable});return a})(e({},"__esModule",{value:!0}),A)})();
1
+ "use strict";var Destination=(()=>{var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,n=(t,a)=>{for(var r in a)e(t,r,{get:a[r],enumerable:!0})},s={};n(s,{Events:()=>Va,Mapping:()=>Ya,SourceDataLayer:()=>La,consentOnlyMapping:()=>or,consentUpdateEvent:()=>Ba,dataLayerExamples:()=>ir,default:()=>ur,env:()=>za,sourceDataLayer:()=>dr});var i,o,d,u={};n(u,{BRAND:()=>Ve,DIRTY:()=>T,EMPTY_PATH:()=>b,INVALID:()=>A,NEVER:()=>Rt,OK:()=>O,ParseStatus:()=>Z,Schema:()=>M,ZodAny:()=>he,ZodArray:()=>ve,ZodBigInt:()=>de,ZodBoolean:()=>ue,ZodBranded:()=>Be,ZodCatch:()=>De,ZodDate:()=>ce,ZodDefault:()=>Fe,ZodDiscriminatedUnion:()=>we,ZodEffects:()=>Re,ZodEnum:()=>Ee,ZodError:()=>h,ZodFirstPartyTypeKind:()=>Je,ZodFunction:()=>je,ZodIntersection:()=>Ae,ZodIssueCode:()=>p,ZodLazy:()=>Ne,ZodLiteral:()=>Ce,ZodMap:()=>Pe,ZodNaN:()=>Ue,ZodNativeEnum:()=>Ie,ZodNever:()=>ye,ZodNull:()=>me,ZodNullable:()=>ze,ZodNumber:()=>oe,ZodObject:()=>be,ZodOptional:()=>Le,ZodParsedType:()=>c,ZodPipeline:()=>Ke,ZodPromise:()=>Me,ZodReadonly:()=>qe,ZodRecord:()=>Oe,ZodSchema:()=>M,ZodSet:()=>Se,ZodString:()=>se,ZodSymbol:()=>le,ZodTransformer:()=>Re,ZodTuple:()=>Te,ZodType:()=>M,ZodUndefined:()=>pe,ZodUnion:()=>ke,ZodUnknown:()=>fe,ZodVoid:()=>ge,addIssueToContext:()=>k,any:()=>dt,array:()=>pt,bigint:()=>at,boolean:()=>rt,coerce:()=>Mt,custom:()=>Xe,date:()=>nt,datetimeRegex:()=>te,defaultErrorMap:()=>f,discriminatedUnion:()=>yt,effect:()=>Pt,enum:()=>At,function:()=>xt,getErrorMap:()=>v,getParsedType:()=>l,instanceof:()=>Ye,intersection:()=>gt,isAborted:()=>P,isAsync:()=>N,isDirty:()=>S,isValid:()=>j,late:()=>He,lazy:()=>wt,literal:()=>Zt,makeIssue:()=>_,map:()=>bt,nan:()=>tt,nativeEnum:()=>Tt,never:()=>ct,null:()=>ot,nullable:()=>jt,number:()=>et,object:()=>mt,objectUtil:()=>d,oboolean:()=>It,onumber:()=>Et,optional:()=>St,ostring:()=>$t,pipeline:()=>Ct,preprocess:()=>Nt,promise:()=>Ot,quotelessJson:()=>m,record:()=>_t,set:()=>kt,setErrorMap:()=>g,strictObject:()=>ht,string:()=>Qe,symbol:()=>st,transformer:()=>Pt,tuple:()=>vt,undefined:()=>it,union:()=>ft,unknown:()=>ut,util:()=>i,void:()=>lt}),(o=i||(i={})).assertEqual=e=>{},o.assertIs=function(e){},o.assertNever=function(e){throw new Error},o.arrayToEnum=e=>{const t={};for(const a of e)t[a]=a;return t},o.getValidEnumValues=e=>{const t=o.objectKeys(e).filter(t=>"number"!=typeof e[e[t]]),a={};for(const r of t)a[r]=e[r];return o.objectValues(a)},o.objectValues=e=>o.objectKeys(e).map(function(t){return e[t]}),o.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{const t=[];for(const a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.push(a);return t},o.find=(e,t)=>{for(const a of e)if(t(a))return a},o.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&Number.isFinite(e)&&Math.floor(e)===e,o.joinValues=function(e,t=" | "){return e.map(e=>"string"==typeof e?`'${e}'`:e).join(t)},o.jsonStringifyReplacer=(e,t)=>"bigint"==typeof t?t.toString():t,(d||(d={})).mergeShapes=(e,t)=>({...e,...t});var c=i.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),l=e=>{switch(typeof e){case"undefined":return c.undefined;case"string":return c.string;case"number":return Number.isNaN(e)?c.nan:c.number;case"boolean":return c.boolean;case"function":return c.function;case"bigint":return c.bigint;case"symbol":return c.symbol;case"object":return Array.isArray(e)?c.array:null===e?c.null:e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch?c.promise:"undefined"!=typeof Map&&e instanceof Map?c.map:"undefined"!=typeof Set&&e instanceof Set?c.set:"undefined"!=typeof Date&&e instanceof Date?c.date:c.object;default:return c.unknown}},p=i.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),m=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),h=class e extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}format(e){const t=e||function(e){return e.message},a={_errors:[]},r=e=>{for(const n of e.issues)if("invalid_union"===n.code)n.unionErrors.map(r);else if("invalid_return_type"===n.code)r(n.returnTypeError);else if("invalid_arguments"===n.code)r(n.argumentsError);else if(0===n.path.length)a._errors.push(t(n));else{let e=a,r=0;for(;r<n.path.length;){const a=n.path[r];r===n.path.length-1?(e[a]=e[a]||{_errors:[]},e[a]._errors.push(t(n))):e[a]=e[a]||{_errors:[]},e=e[a],r++}}};return r(this),a}static assert(t){if(!(t instanceof e))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,i.jsonStringifyReplacer,2)}get isEmpty(){return 0===this.issues.length}flatten(e=e=>e.message){const t={},a=[];for(const r of this.issues)if(r.path.length>0){const a=r.path[0];t[a]=t[a]||[],t[a].push(e(r))}else a.push(e(r));return{formErrors:a,fieldErrors:t}}get formErrors(){return this.flatten()}};h.create=e=>new h(e);var f=(e,t)=>{let a;switch(e.code){case p.invalid_type:a=e.received===c.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case p.invalid_literal:a=`Invalid literal value, expected ${JSON.stringify(e.expected,i.jsonStringifyReplacer)}`;break;case p.unrecognized_keys:a=`Unrecognized key(s) in object: ${i.joinValues(e.keys,", ")}`;break;case p.invalid_union:a="Invalid input";break;case p.invalid_union_discriminator:a=`Invalid discriminator value. Expected ${i.joinValues(e.options)}`;break;case p.invalid_enum_value:a=`Invalid enum value. Expected ${i.joinValues(e.options)}, received '${e.received}'`;break;case p.invalid_arguments:a="Invalid function arguments";break;case p.invalid_return_type:a="Invalid function return type";break;case p.invalid_date:a="Invalid date";break;case p.invalid_string:"object"==typeof e.validation?"includes"in e.validation?(a=`Invalid input: must include "${e.validation.includes}"`,"number"==typeof e.validation.position&&(a=`${a} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?a=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?a=`Invalid input: must end with "${e.validation.endsWith}"`:i.assertNever(e.validation):a="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case p.too_small:a="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type||"bigint"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"date"===e.type?`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:"Invalid input";break;case p.too_big:a="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"bigint"===e.type?`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"date"===e.type?`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:"Invalid input";break;case p.custom:a="Invalid input";break;case p.invalid_intersection_types:a="Intersection results could not be merged";break;case p.not_multiple_of:a=`Number must be a multiple of ${e.multipleOf}`;break;case p.not_finite:a="Number must be finite";break;default:a=t.defaultError,i.assertNever(e)}return{message:a}},y=f;function g(e){y=e}function v(){return y}var _=e=>{const{data:t,path:a,errorMaps:r,issueData:n}=e,s=[...a,...n.path||[]],i={...n,path:s};if(void 0!==n.message)return{...n,path:s,message:n.message};let o="";const d=r.filter(e=>!!e).slice().reverse();for(const e of d)o=e(i,{data:t,defaultError:o}).message;return{...n,path:s,message:o}},b=[];function k(e,t){const a=v(),r=_({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,a,a===f?void 0:f].filter(e=>!!e)});e.common.issues.push(r)}var x,w,Z=class e{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,t){const a=[];for(const r of t){if("aborted"===r.status)return A;"dirty"===r.status&&e.dirty(),a.push(r.value)}return{status:e.value,value:a}}static async mergeObjectAsync(t,a){const r=[];for(const e of a){const t=await e.key,a=await e.value;r.push({key:t,value:a})}return e.mergeObjectSync(t,r)}static mergeObjectSync(e,t){const a={};for(const r of t){const{key:t,value:n}=r;if("aborted"===t.status)return A;if("aborted"===n.status)return A;"dirty"===t.status&&e.dirty(),"dirty"===n.status&&e.dirty(),"__proto__"===t.value||void 0===n.value&&!r.alwaysSet||(a[t.value]=n.value)}return{status:e.value,value:a}}},A=Object.freeze({status:"aborted"}),T=e=>({status:"dirty",value:e}),O=e=>({status:"valid",value:e}),P=e=>"aborted"===e.status,S=e=>"dirty"===e.status,j=e=>"valid"===e.status,N=e=>"undefined"!=typeof Promise&&e instanceof Promise;(w=x||(x={})).errToObj=e=>"string"==typeof e?{message:e}:e||{},w.toString=e=>"string"==typeof e?e:null==e?void 0:e.message;var C=class{constructor(e,t,a,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=a,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},$=(e,t)=>{if(j(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new h(e.common.issues);return this._error=t,this._error}}};function E(e){if(!e)return{};const{errorMap:t,invalid_type_error:a,required_error:r,description:n}=e;if(t&&(a||r))throw new Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');if(t)return{errorMap:t,description:n};return{errorMap:(t,n)=>{var s,i;const{message:o}=e;return"invalid_enum_value"===t.code?{message:null!=o?o:n.defaultError}:void 0===n.data?{message:null!=(s=null!=o?o:r)?s:n.defaultError}:"invalid_type"!==t.code?{message:n.defaultError}:{message:null!=(i=null!=o?o:a)?i:n.defaultError}},description:n}}var I,M=class{get description(){return this._def.description}_getType(e){return l(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:l(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Z,ctx:{common:e.parent.common,data:e.data,parsedType:l(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(N(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const a=this.safeParse(e,t);if(a.success)return a.data;throw a.error}safeParse(e,t){var a;const r={common:{issues:[],async:null!=(a=null==t?void 0:t.async)&&a,contextualErrorMap:null==t?void 0:t.errorMap},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:l(e)},n=this._parseSync({data:e,path:r.path,parent:r});return $(r,n)}"~validate"(e){var t,a;const r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:l(e)};if(!this["~standard"].async)try{const t=this._parseSync({data:e,path:[],parent:r});return j(t)?{value:t.value}:{issues:r.common.issues}}catch(e){(null==(a=null==(t=null==e?void 0:e.message)?void 0:t.toLowerCase())?void 0:a.includes("encountered"))&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(e=>j(e)?{value:e.value}:{issues:r.common.issues})}async parseAsync(e,t){const a=await this.safeParseAsync(e,t);if(a.success)return a.data;throw a.error}async safeParseAsync(e,t){const a={common:{issues:[],contextualErrorMap:null==t?void 0:t.errorMap,async:!0},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:l(e)},r=this._parse({data:e,path:a.path,parent:a}),n=await(N(r)?r:Promise.resolve(r));return $(a,n)}refine(e,t){const a=e=>"string"==typeof t||void 0===t?{message:t}:"function"==typeof t?t(e):t;return this._refinement((t,r)=>{const n=e(t),s=()=>r.addIssue({code:p.custom,...a(t)});return"undefined"!=typeof Promise&&n instanceof Promise?n.then(e=>!!e||(s(),!1)):!!n||(s(),!1)})}refinement(e,t){return this._refinement((a,r)=>!!e(a)||(r.addIssue("function"==typeof t?t(a,r):t),!1))}_refinement(e){return new Re({schema:this,typeName:Je.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:e=>this["~validate"](e)}}optional(){return Le.create(this,this._def)}nullable(){return ze.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ve.create(this)}promise(){return Me.create(this,this._def)}or(e){return ke.create([this,e],this._def)}and(e){return Ae.create(this,e,this._def)}transform(e){return new Re({...E(this._def),schema:this,typeName:Je.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t="function"==typeof e?e:()=>e;return new Fe({...E(this._def),innerType:this,defaultValue:t,typeName:Je.ZodDefault})}brand(){return new Be({typeName:Je.ZodBranded,type:this,...E(this._def)})}catch(e){const t="function"==typeof e?e:()=>e;return new De({...E(this._def),innerType:this,catchValue:t,typeName:Je.ZodCatch})}describe(e){return new(0,this.constructor)({...this._def,description:e})}pipe(e){return Ke.create(this,e)}readonly(){return qe.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},R=/^c[^\s-]{8,}$/i,L=/^[0-9a-z]+$/,z=/^[0-9A-HJKMNP-TV-Z]{26}$/i,F=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,D=/^[a-z0-9_-]{21}$/i,U=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,V=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,B=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,K=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,q=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,W=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,X=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,J=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,G=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,H="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Y=new RegExp(`^${H}$`);function Q(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:null==e.precision&&(t=`${t}(\\.\\d+)?`);return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${e.precision?"+":"?"}`}function ee(e){return new RegExp(`^${Q(e)}$`)}function te(e){let t=`${H}T${Q(e)}`;const a=[];return a.push(e.local?"Z?":"Z"),e.offset&&a.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${a.join("|")})`,new RegExp(`^${t}$`)}function ae(e,t){return!("v4"!==t&&t||!K.test(e))||!("v6"!==t&&t||!W.test(e))}function re(e,t){if(!U.test(e))return!1;try{const[a]=e.split(".");if(!a)return!1;const r=a.replace(/-/g,"+").replace(/_/g,"/").padEnd(a.length+(4-a.length%4)%4,"="),n=JSON.parse(atob(r));return"object"==typeof n&&null!==n&&((!("typ"in n)||"JWT"===(null==n?void 0:n.typ))&&(!!n.alg&&(!t||n.alg===t)))}catch(e){return!1}}function ne(e,t){return!("v4"!==t&&t||!q.test(e))||!("v6"!==t&&t||!X.test(e))}var se=class e extends M{_parse(e){this._def.coerce&&(e.data=String(e.data));if(this._getType(e)!==c.string){const t=this._getOrReturnCtx(e);return k(t,{code:p.invalid_type,expected:c.string,received:t.parsedType}),A}const t=new Z;let a;for(const r of this._def.checks)if("min"===r.kind)e.data.length<r.value&&(a=this._getOrReturnCtx(e,a),k(a,{code:p.too_small,minimum:r.value,type:"string",inclusive:!0,exact:!1,message:r.message}),t.dirty());else if("max"===r.kind)e.data.length>r.value&&(a=this._getOrReturnCtx(e,a),k(a,{code:p.too_big,maximum:r.value,type:"string",inclusive:!0,exact:!1,message:r.message}),t.dirty());else if("length"===r.kind){const n=e.data.length>r.value,s=e.data.length<r.value;(n||s)&&(a=this._getOrReturnCtx(e,a),n?k(a,{code:p.too_big,maximum:r.value,type:"string",inclusive:!0,exact:!0,message:r.message}):s&&k(a,{code:p.too_small,minimum:r.value,type:"string",inclusive:!0,exact:!0,message:r.message}),t.dirty())}else if("email"===r.kind)B.test(e.data)||(a=this._getOrReturnCtx(e,a),k(a,{validation:"email",code:p.invalid_string,message:r.message}),t.dirty());else if("emoji"===r.kind)I||(I=new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),I.test(e.data)||(a=this._getOrReturnCtx(e,a),k(a,{validation:"emoji",code:p.invalid_string,message:r.message}),t.dirty());else if("uuid"===r.kind)F.test(e.data)||(a=this._getOrReturnCtx(e,a),k(a,{validation:"uuid",code:p.invalid_string,message:r.message}),t.dirty());else if("nanoid"===r.kind)D.test(e.data)||(a=this._getOrReturnCtx(e,a),k(a,{validation:"nanoid",code:p.invalid_string,message:r.message}),t.dirty());else if("cuid"===r.kind)R.test(e.data)||(a=this._getOrReturnCtx(e,a),k(a,{validation:"cuid",code:p.invalid_string,message:r.message}),t.dirty());else if("cuid2"===r.kind)L.test(e.data)||(a=this._getOrReturnCtx(e,a),k(a,{validation:"cuid2",code:p.invalid_string,message:r.message}),t.dirty());else if("ulid"===r.kind)z.test(e.data)||(a=this._getOrReturnCtx(e,a),k(a,{validation:"ulid",code:p.invalid_string,message:r.message}),t.dirty());else if("url"===r.kind)try{new URL(e.data)}catch(n){a=this._getOrReturnCtx(e,a),k(a,{validation:"url",code:p.invalid_string,message:r.message}),t.dirty()}else if("regex"===r.kind){r.regex.lastIndex=0;r.regex.test(e.data)||(a=this._getOrReturnCtx(e,a),k(a,{validation:"regex",code:p.invalid_string,message:r.message}),t.dirty())}else if("trim"===r.kind)e.data=e.data.trim();else if("includes"===r.kind)e.data.includes(r.value,r.position)||(a=this._getOrReturnCtx(e,a),k(a,{code:p.invalid_string,validation:{includes:r.value,position:r.position},message:r.message}),t.dirty());else if("toLowerCase"===r.kind)e.data=e.data.toLowerCase();else if("toUpperCase"===r.kind)e.data=e.data.toUpperCase();else if("startsWith"===r.kind)e.data.startsWith(r.value)||(a=this._getOrReturnCtx(e,a),k(a,{code:p.invalid_string,validation:{startsWith:r.value},message:r.message}),t.dirty());else if("endsWith"===r.kind)e.data.endsWith(r.value)||(a=this._getOrReturnCtx(e,a),k(a,{code:p.invalid_string,validation:{endsWith:r.value},message:r.message}),t.dirty());else if("datetime"===r.kind){te(r).test(e.data)||(a=this._getOrReturnCtx(e,a),k(a,{code:p.invalid_string,validation:"datetime",message:r.message}),t.dirty())}else if("date"===r.kind){Y.test(e.data)||(a=this._getOrReturnCtx(e,a),k(a,{code:p.invalid_string,validation:"date",message:r.message}),t.dirty())}else if("time"===r.kind){ee(r).test(e.data)||(a=this._getOrReturnCtx(e,a),k(a,{code:p.invalid_string,validation:"time",message:r.message}),t.dirty())}else"duration"===r.kind?V.test(e.data)||(a=this._getOrReturnCtx(e,a),k(a,{validation:"duration",code:p.invalid_string,message:r.message}),t.dirty()):"ip"===r.kind?ae(e.data,r.version)||(a=this._getOrReturnCtx(e,a),k(a,{validation:"ip",code:p.invalid_string,message:r.message}),t.dirty()):"jwt"===r.kind?re(e.data,r.alg)||(a=this._getOrReturnCtx(e,a),k(a,{validation:"jwt",code:p.invalid_string,message:r.message}),t.dirty()):"cidr"===r.kind?ne(e.data,r.version)||(a=this._getOrReturnCtx(e,a),k(a,{validation:"cidr",code:p.invalid_string,message:r.message}),t.dirty()):"base64"===r.kind?J.test(e.data)||(a=this._getOrReturnCtx(e,a),k(a,{validation:"base64",code:p.invalid_string,message:r.message}),t.dirty()):"base64url"===r.kind?G.test(e.data)||(a=this._getOrReturnCtx(e,a),k(a,{validation:"base64url",code:p.invalid_string,message:r.message}),t.dirty()):i.assertNever(r);return{status:t.value,value:e.data}}_regex(e,t,a){return this.refinement(t=>e.test(t),{validation:t,code:p.invalid_string,...x.errToObj(a)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(e){return this._addCheck({kind:"email",...x.errToObj(e)})}url(e){return this._addCheck({kind:"url",...x.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...x.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...x.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...x.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...x.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...x.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...x.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...x.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...x.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...x.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...x.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...x.errToObj(e)})}datetime(e){var t,a;return"string"==typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,offset:null!=(t=null==e?void 0:e.offset)&&t,local:null!=(a=null==e?void 0:e.local)&&a,...x.errToObj(null==e?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return"string"==typeof e?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,...x.errToObj(null==e?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...x.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...x.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:null==t?void 0:t.position,...x.errToObj(null==t?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...x.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...x.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...x.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...x.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...x.errToObj(t)})}nonempty(e){return this.min(1,x.errToObj(e))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>"datetime"===e.kind)}get isDate(){return!!this._def.checks.find(e=>"date"===e.kind)}get isTime(){return!!this._def.checks.find(e=>"time"===e.kind)}get isDuration(){return!!this._def.checks.find(e=>"duration"===e.kind)}get isEmail(){return!!this._def.checks.find(e=>"email"===e.kind)}get isURL(){return!!this._def.checks.find(e=>"url"===e.kind)}get isEmoji(){return!!this._def.checks.find(e=>"emoji"===e.kind)}get isUUID(){return!!this._def.checks.find(e=>"uuid"===e.kind)}get isNANOID(){return!!this._def.checks.find(e=>"nanoid"===e.kind)}get isCUID(){return!!this._def.checks.find(e=>"cuid"===e.kind)}get isCUID2(){return!!this._def.checks.find(e=>"cuid2"===e.kind)}get isULID(){return!!this._def.checks.find(e=>"ulid"===e.kind)}get isIP(){return!!this._def.checks.find(e=>"ip"===e.kind)}get isCIDR(){return!!this._def.checks.find(e=>"cidr"===e.kind)}get isBase64(){return!!this._def.checks.find(e=>"base64"===e.kind)}get isBase64url(){return!!this._def.checks.find(e=>"base64url"===e.kind)}get minLength(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}};function ie(e,t){const a=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,n=a>r?a:r;return Number.parseInt(e.toFixed(n).replace(".",""))%Number.parseInt(t.toFixed(n).replace(".",""))/10**n}se.create=e=>{var t;return new se({checks:[],typeName:Je.ZodString,coerce:null!=(t=null==e?void 0:e.coerce)&&t,...E(e)})};var oe=class e extends M{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){this._def.coerce&&(e.data=Number(e.data));if(this._getType(e)!==c.number){const t=this._getOrReturnCtx(e);return k(t,{code:p.invalid_type,expected:c.number,received:t.parsedType}),A}let t;const a=new Z;for(const r of this._def.checks)if("int"===r.kind)i.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),k(t,{code:p.invalid_type,expected:"integer",received:"float",message:r.message}),a.dirty());else if("min"===r.kind){(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),k(t,{code:p.too_small,minimum:r.value,type:"number",inclusive:r.inclusive,exact:!1,message:r.message}),a.dirty())}else if("max"===r.kind){(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),k(t,{code:p.too_big,maximum:r.value,type:"number",inclusive:r.inclusive,exact:!1,message:r.message}),a.dirty())}else"multipleOf"===r.kind?0!==ie(e.data,r.value)&&(t=this._getOrReturnCtx(e,t),k(t,{code:p.not_multiple_of,multipleOf:r.value,message:r.message}),a.dirty()):"finite"===r.kind?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),k(t,{code:p.not_finite,message:r.message}),a.dirty()):i.assertNever(r);return{status:a.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,x.toString(t))}gt(e,t){return this.setLimit("min",e,!1,x.toString(t))}lte(e,t){return this.setLimit("max",e,!0,x.toString(t))}lt(e,t){return this.setLimit("max",e,!1,x.toString(t))}setLimit(t,a,r,n){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:a,inclusive:r,message:x.toString(n)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(e){return this._addCheck({kind:"int",message:x.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:x.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:x.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:x.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:x.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:x.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:x.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:x.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:x.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>"int"===e.kind||"multipleOf"===e.kind&&i.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const a of this._def.checks){if("finite"===a.kind||"int"===a.kind||"multipleOf"===a.kind)return!0;"min"===a.kind?(null===t||a.value>t)&&(t=a.value):"max"===a.kind&&(null===e||a.value<e)&&(e=a.value)}return Number.isFinite(t)&&Number.isFinite(e)}};oe.create=e=>new oe({checks:[],typeName:Je.ZodNumber,coerce:(null==e?void 0:e.coerce)||!1,...E(e)});var de=class e extends M{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch(t){return this._getInvalidInput(e)}if(this._getType(e)!==c.bigint)return this._getInvalidInput(e);let t;const a=new Z;for(const r of this._def.checks)if("min"===r.kind){(r.inclusive?e.data<r.value:e.data<=r.value)&&(t=this._getOrReturnCtx(e,t),k(t,{code:p.too_small,type:"bigint",minimum:r.value,inclusive:r.inclusive,message:r.message}),a.dirty())}else if("max"===r.kind){(r.inclusive?e.data>r.value:e.data>=r.value)&&(t=this._getOrReturnCtx(e,t),k(t,{code:p.too_big,type:"bigint",maximum:r.value,inclusive:r.inclusive,message:r.message}),a.dirty())}else"multipleOf"===r.kind?e.data%r.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),k(t,{code:p.not_multiple_of,multipleOf:r.value,message:r.message}),a.dirty()):i.assertNever(r);return{status:a.value,value:e.data}}_getInvalidInput(e){const t=this._getOrReturnCtx(e);return k(t,{code:p.invalid_type,expected:c.bigint,received:t.parsedType}),A}gte(e,t){return this.setLimit("min",e,!0,x.toString(t))}gt(e,t){return this.setLimit("min",e,!1,x.toString(t))}lte(e,t){return this.setLimit("max",e,!0,x.toString(t))}lt(e,t){return this.setLimit("max",e,!1,x.toString(t))}setLimit(t,a,r,n){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:a,inclusive:r,message:x.toString(n)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:x.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:x.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:x.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:x.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:x.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}};de.create=e=>{var t;return new de({checks:[],typeName:Je.ZodBigInt,coerce:null!=(t=null==e?void 0:e.coerce)&&t,...E(e)})};var ue=class extends M{_parse(e){this._def.coerce&&(e.data=Boolean(e.data));if(this._getType(e)!==c.boolean){const t=this._getOrReturnCtx(e);return k(t,{code:p.invalid_type,expected:c.boolean,received:t.parsedType}),A}return O(e.data)}};ue.create=e=>new ue({typeName:Je.ZodBoolean,coerce:(null==e?void 0:e.coerce)||!1,...E(e)});var ce=class e extends M{_parse(e){this._def.coerce&&(e.data=new Date(e.data));if(this._getType(e)!==c.date){const t=this._getOrReturnCtx(e);return k(t,{code:p.invalid_type,expected:c.date,received:t.parsedType}),A}if(Number.isNaN(e.data.getTime())){return k(this._getOrReturnCtx(e),{code:p.invalid_date}),A}const t=new Z;let a;for(const r of this._def.checks)"min"===r.kind?e.data.getTime()<r.value&&(a=this._getOrReturnCtx(e,a),k(a,{code:p.too_small,message:r.message,inclusive:!0,exact:!1,minimum:r.value,type:"date"}),t.dirty()):"max"===r.kind?e.data.getTime()>r.value&&(a=this._getOrReturnCtx(e,a),k(a,{code:p.too_big,message:r.message,inclusive:!0,exact:!1,maximum:r.value,type:"date"}),t.dirty()):i.assertNever(r);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:x.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:x.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return null!=e?new Date(e):null}};ce.create=e=>new ce({checks:[],coerce:(null==e?void 0:e.coerce)||!1,typeName:Je.ZodDate,...E(e)});var le=class extends M{_parse(e){if(this._getType(e)!==c.symbol){const t=this._getOrReturnCtx(e);return k(t,{code:p.invalid_type,expected:c.symbol,received:t.parsedType}),A}return O(e.data)}};le.create=e=>new le({typeName:Je.ZodSymbol,...E(e)});var pe=class extends M{_parse(e){if(this._getType(e)!==c.undefined){const t=this._getOrReturnCtx(e);return k(t,{code:p.invalid_type,expected:c.undefined,received:t.parsedType}),A}return O(e.data)}};pe.create=e=>new pe({typeName:Je.ZodUndefined,...E(e)});var me=class extends M{_parse(e){if(this._getType(e)!==c.null){const t=this._getOrReturnCtx(e);return k(t,{code:p.invalid_type,expected:c.null,received:t.parsedType}),A}return O(e.data)}};me.create=e=>new me({typeName:Je.ZodNull,...E(e)});var he=class extends M{constructor(){super(...arguments),this._any=!0}_parse(e){return O(e.data)}};he.create=e=>new he({typeName:Je.ZodAny,...E(e)});var fe=class extends M{constructor(){super(...arguments),this._unknown=!0}_parse(e){return O(e.data)}};fe.create=e=>new fe({typeName:Je.ZodUnknown,...E(e)});var ye=class extends M{_parse(e){const t=this._getOrReturnCtx(e);return k(t,{code:p.invalid_type,expected:c.never,received:t.parsedType}),A}};ye.create=e=>new ye({typeName:Je.ZodNever,...E(e)});var ge=class extends M{_parse(e){if(this._getType(e)!==c.undefined){const t=this._getOrReturnCtx(e);return k(t,{code:p.invalid_type,expected:c.void,received:t.parsedType}),A}return O(e.data)}};ge.create=e=>new ge({typeName:Je.ZodVoid,...E(e)});var ve=class e extends M{_parse(e){const{ctx:t,status:a}=this._processInputParams(e),r=this._def;if(t.parsedType!==c.array)return k(t,{code:p.invalid_type,expected:c.array,received:t.parsedType}),A;if(null!==r.exactLength){const e=t.data.length>r.exactLength.value,n=t.data.length<r.exactLength.value;(e||n)&&(k(t,{code:e?p.too_big:p.too_small,minimum:n?r.exactLength.value:void 0,maximum:e?r.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:r.exactLength.message}),a.dirty())}if(null!==r.minLength&&t.data.length<r.minLength.value&&(k(t,{code:p.too_small,minimum:r.minLength.value,type:"array",inclusive:!0,exact:!1,message:r.minLength.message}),a.dirty()),null!==r.maxLength&&t.data.length>r.maxLength.value&&(k(t,{code:p.too_big,maximum:r.maxLength.value,type:"array",inclusive:!0,exact:!1,message:r.maxLength.message}),a.dirty()),t.common.async)return Promise.all([...t.data].map((e,a)=>r.type._parseAsync(new C(t,e,t.path,a)))).then(e=>Z.mergeArray(a,e));const n=[...t.data].map((e,a)=>r.type._parseSync(new C(t,e,t.path,a)));return Z.mergeArray(a,n)}get element(){return this._def.type}min(t,a){return new e({...this._def,minLength:{value:t,message:x.toString(a)}})}max(t,a){return new e({...this._def,maxLength:{value:t,message:x.toString(a)}})}length(t,a){return new e({...this._def,exactLength:{value:t,message:x.toString(a)}})}nonempty(e){return this.min(1,e)}};function _e(e){if(e instanceof be){const t={};for(const a in e.shape){const r=e.shape[a];t[a]=Le.create(_e(r))}return new be({...e._def,shape:()=>t})}return e instanceof ve?new ve({...e._def,type:_e(e.element)}):e instanceof Le?Le.create(_e(e.unwrap())):e instanceof ze?ze.create(_e(e.unwrap())):e instanceof Te?Te.create(e.items.map(e=>_e(e))):e}ve.create=(e,t)=>new ve({type:e,minLength:null,maxLength:null,exactLength:null,typeName:Je.ZodArray,...E(t)});var be=class e extends M{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;const e=this._def.shape(),t=i.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==c.object){const t=this._getOrReturnCtx(e);return k(t,{code:p.invalid_type,expected:c.object,received:t.parsedType}),A}const{status:t,ctx:a}=this._processInputParams(e),{shape:r,keys:n}=this._getCached(),s=[];if(!(this._def.catchall instanceof ye&&"strip"===this._def.unknownKeys))for(const e in a.data)n.includes(e)||s.push(e);const i=[];for(const e of n){const t=r[e],n=a.data[e];i.push({key:{status:"valid",value:e},value:t._parse(new C(a,n,a.path,e)),alwaysSet:e in a.data})}if(this._def.catchall instanceof ye){const e=this._def.unknownKeys;if("passthrough"===e)for(const e of s)i.push({key:{status:"valid",value:e},value:{status:"valid",value:a.data[e]}});else if("strict"===e)s.length>0&&(k(a,{code:p.unrecognized_keys,keys:s}),t.dirty());else if("strip"!==e)throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const e=this._def.catchall;for(const t of s){const r=a.data[t];i.push({key:{status:"valid",value:t},value:e._parse(new C(a,r,a.path,t)),alwaysSet:t in a.data})}}return a.common.async?Promise.resolve().then(async()=>{const e=[];for(const t of i){const a=await t.key,r=await t.value;e.push({key:a,value:r,alwaysSet:t.alwaysSet})}return e}).then(e=>Z.mergeObjectSync(t,e)):Z.mergeObjectSync(t,i)}get shape(){return this._def.shape()}strict(t){return x.errToObj,new e({...this._def,unknownKeys:"strict",...void 0!==t?{errorMap:(e,a)=>{var r,n,s,i;const o=null!=(s=null==(n=(r=this._def).errorMap)?void 0:n.call(r,e,a).message)?s:a.defaultError;return"unrecognized_keys"===e.code?{message:null!=(i=x.errToObj(t).message)?i:o}:{message:o}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:Je.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(t){return new e({...this._def,catchall:t})}pick(t){const a={};for(const e of i.objectKeys(t))t[e]&&this.shape[e]&&(a[e]=this.shape[e]);return new e({...this._def,shape:()=>a})}omit(t){const a={};for(const e of i.objectKeys(this.shape))t[e]||(a[e]=this.shape[e]);return new e({...this._def,shape:()=>a})}deepPartial(){return _e(this)}partial(t){const a={};for(const e of i.objectKeys(this.shape)){const r=this.shape[e];t&&!t[e]?a[e]=r:a[e]=r.optional()}return new e({...this._def,shape:()=>a})}required(t){const a={};for(const e of i.objectKeys(this.shape))if(t&&!t[e])a[e]=this.shape[e];else{let t=this.shape[e];for(;t instanceof Le;)t=t._def.innerType;a[e]=t}return new e({...this._def,shape:()=>a})}keyof(){return $e(i.objectKeys(this.shape))}};be.create=(e,t)=>new be({shape:()=>e,unknownKeys:"strip",catchall:ye.create(),typeName:Je.ZodObject,...E(t)}),be.strictCreate=(e,t)=>new be({shape:()=>e,unknownKeys:"strict",catchall:ye.create(),typeName:Je.ZodObject,...E(t)}),be.lazycreate=(e,t)=>new be({shape:e,unknownKeys:"strip",catchall:ye.create(),typeName:Je.ZodObject,...E(t)});var ke=class extends M{_parse(e){const{ctx:t}=this._processInputParams(e),a=this._def.options;if(t.common.async)return Promise.all(a.map(async e=>{const a={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:a}),ctx:a}})).then(function(e){for(const t of e)if("valid"===t.result.status)return t.result;for(const a of e)if("dirty"===a.result.status)return t.common.issues.push(...a.ctx.common.issues),a.result;const a=e.map(e=>new h(e.ctx.common.issues));return k(t,{code:p.invalid_union,unionErrors:a}),A});{let e;const r=[];for(const n of a){const a={...t,common:{...t.common,issues:[]},parent:null},s=n._parseSync({data:t.data,path:t.path,parent:a});if("valid"===s.status)return s;"dirty"!==s.status||e||(e={result:s,ctx:a}),a.common.issues.length&&r.push(a.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;const n=r.map(e=>new h(e));return k(t,{code:p.invalid_union,unionErrors:n}),A}}get options(){return this._def.options}};ke.create=(e,t)=>new ke({options:e,typeName:Je.ZodUnion,...E(t)});var xe=e=>e instanceof Ne?xe(e.schema):e instanceof Re?xe(e.innerType()):e instanceof Ce?[e.value]:e instanceof Ee?e.options:e instanceof Ie?i.objectValues(e.enum):e instanceof Fe?xe(e._def.innerType):e instanceof pe?[void 0]:e instanceof me?[null]:e instanceof Le?[void 0,...xe(e.unwrap())]:e instanceof ze?[null,...xe(e.unwrap())]:e instanceof Be||e instanceof qe?xe(e.unwrap()):e instanceof De?xe(e._def.innerType):[],we=class e extends M{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==c.object)return k(t,{code:p.invalid_type,expected:c.object,received:t.parsedType}),A;const a=this.discriminator,r=t.data[a],n=this.optionsMap.get(r);return n?t.common.async?n._parseAsync({data:t.data,path:t.path,parent:t}):n._parseSync({data:t.data,path:t.path,parent:t}):(k(t,{code:p.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[a]}),A)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,a,r){const n=new Map;for(const e of a){const a=xe(e.shape[t]);if(!a.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(const r of a){if(n.has(r))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(r)}`);n.set(r,e)}}return new e({typeName:Je.ZodDiscriminatedUnion,discriminator:t,options:a,optionsMap:n,...E(r)})}};function Ze(e,t){const a=l(e),r=l(t);if(e===t)return{valid:!0,data:e};if(a===c.object&&r===c.object){const a=i.objectKeys(t),r=i.objectKeys(e).filter(e=>-1!==a.indexOf(e)),n={...e,...t};for(const a of r){const r=Ze(e[a],t[a]);if(!r.valid)return{valid:!1};n[a]=r.data}return{valid:!0,data:n}}if(a===c.array&&r===c.array){if(e.length!==t.length)return{valid:!1};const a=[];for(let r=0;r<e.length;r++){const n=Ze(e[r],t[r]);if(!n.valid)return{valid:!1};a.push(n.data)}return{valid:!0,data:a}}return a===c.date&&r===c.date&&+e===+t?{valid:!0,data:e}:{valid:!1}}var Ae=class extends M{_parse(e){const{status:t,ctx:a}=this._processInputParams(e),r=(e,r)=>{if(P(e)||P(r))return A;const n=Ze(e.value,r.value);return n.valid?((S(e)||S(r))&&t.dirty(),{status:t.value,value:n.data}):(k(a,{code:p.invalid_intersection_types}),A)};return a.common.async?Promise.all([this._def.left._parseAsync({data:a.data,path:a.path,parent:a}),this._def.right._parseAsync({data:a.data,path:a.path,parent:a})]).then(([e,t])=>r(e,t)):r(this._def.left._parseSync({data:a.data,path:a.path,parent:a}),this._def.right._parseSync({data:a.data,path:a.path,parent:a}))}};Ae.create=(e,t,a)=>new Ae({left:e,right:t,typeName:Je.ZodIntersection,...E(a)});var Te=class e extends M{_parse(e){const{status:t,ctx:a}=this._processInputParams(e);if(a.parsedType!==c.array)return k(a,{code:p.invalid_type,expected:c.array,received:a.parsedType}),A;if(a.data.length<this._def.items.length)return k(a,{code:p.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),A;!this._def.rest&&a.data.length>this._def.items.length&&(k(a,{code:p.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const r=[...a.data].map((e,t)=>{const r=this._def.items[t]||this._def.rest;return r?r._parse(new C(a,e,a.path,t)):null}).filter(e=>!!e);return a.common.async?Promise.all(r).then(e=>Z.mergeArray(t,e)):Z.mergeArray(t,r)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};Te.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Te({items:e,typeName:Je.ZodTuple,rest:null,...E(t)})};var Oe=class e extends M{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:a}=this._processInputParams(e);if(a.parsedType!==c.object)return k(a,{code:p.invalid_type,expected:c.object,received:a.parsedType}),A;const r=[],n=this._def.keyType,s=this._def.valueType;for(const e in a.data)r.push({key:n._parse(new C(a,e,a.path,e)),value:s._parse(new C(a,a.data[e],a.path,e)),alwaysSet:e in a.data});return a.common.async?Z.mergeObjectAsync(t,r):Z.mergeObjectSync(t,r)}get element(){return this._def.valueType}static create(t,a,r){return new e(a instanceof M?{keyType:t,valueType:a,typeName:Je.ZodRecord,...E(r)}:{keyType:se.create(),valueType:t,typeName:Je.ZodRecord,...E(a)})}},Pe=class extends M{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:a}=this._processInputParams(e);if(a.parsedType!==c.map)return k(a,{code:p.invalid_type,expected:c.map,received:a.parsedType}),A;const r=this._def.keyType,n=this._def.valueType,s=[...a.data.entries()].map(([e,t],s)=>({key:r._parse(new C(a,e,a.path,[s,"key"])),value:n._parse(new C(a,t,a.path,[s,"value"]))}));if(a.common.async){const e=new Map;return Promise.resolve().then(async()=>{for(const a of s){const r=await a.key,n=await a.value;if("aborted"===r.status||"aborted"===n.status)return A;"dirty"!==r.status&&"dirty"!==n.status||t.dirty(),e.set(r.value,n.value)}return{status:t.value,value:e}})}{const e=new Map;for(const a of s){const r=a.key,n=a.value;if("aborted"===r.status||"aborted"===n.status)return A;"dirty"!==r.status&&"dirty"!==n.status||t.dirty(),e.set(r.value,n.value)}return{status:t.value,value:e}}}};Pe.create=(e,t,a)=>new Pe({valueType:t,keyType:e,typeName:Je.ZodMap,...E(a)});var Se=class e extends M{_parse(e){const{status:t,ctx:a}=this._processInputParams(e);if(a.parsedType!==c.set)return k(a,{code:p.invalid_type,expected:c.set,received:a.parsedType}),A;const r=this._def;null!==r.minSize&&a.data.size<r.minSize.value&&(k(a,{code:p.too_small,minimum:r.minSize.value,type:"set",inclusive:!0,exact:!1,message:r.minSize.message}),t.dirty()),null!==r.maxSize&&a.data.size>r.maxSize.value&&(k(a,{code:p.too_big,maximum:r.maxSize.value,type:"set",inclusive:!0,exact:!1,message:r.maxSize.message}),t.dirty());const n=this._def.valueType;function s(e){const a=new Set;for(const r of e){if("aborted"===r.status)return A;"dirty"===r.status&&t.dirty(),a.add(r.value)}return{status:t.value,value:a}}const i=[...a.data.values()].map((e,t)=>n._parse(new C(a,e,a.path,t)));return a.common.async?Promise.all(i).then(e=>s(e)):s(i)}min(t,a){return new e({...this._def,minSize:{value:t,message:x.toString(a)}})}max(t,a){return new e({...this._def,maxSize:{value:t,message:x.toString(a)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};Se.create=(e,t)=>new Se({valueType:e,minSize:null,maxSize:null,typeName:Je.ZodSet,...E(t)});var je=class e extends M{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==c.function)return k(t,{code:p.invalid_type,expected:c.function,received:t.parsedType}),A;function a(e,a){return _({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,v(),f].filter(e=>!!e),issueData:{code:p.invalid_arguments,argumentsError:a}})}function r(e,a){return _({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,v(),f].filter(e=>!!e),issueData:{code:p.invalid_return_type,returnTypeError:a}})}const n={errorMap:t.common.contextualErrorMap},s=t.data;if(this._def.returns instanceof Me){const e=this;return O(async function(...t){const i=new h([]),o=await e._def.args.parseAsync(t,n).catch(e=>{throw i.addIssue(a(t,e)),i}),d=await Reflect.apply(s,this,o);return await e._def.returns._def.type.parseAsync(d,n).catch(e=>{throw i.addIssue(r(d,e)),i})})}{const e=this;return O(function(...t){const i=e._def.args.safeParse(t,n);if(!i.success)throw new h([a(t,i.error)]);const o=Reflect.apply(s,this,i.data),d=e._def.returns.safeParse(o,n);if(!d.success)throw new h([r(o,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:Te.create(t).rest(fe.create())})}returns(t){return new e({...this._def,returns:t})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(t,a,r){return new e({args:t||Te.create([]).rest(fe.create()),returns:a||fe.create(),typeName:Je.ZodFunction,...E(r)})}},Ne=class extends M{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};Ne.create=(e,t)=>new Ne({getter:e,typeName:Je.ZodLazy,...E(t)});var Ce=class extends M{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return k(t,{received:t.data,code:p.invalid_literal,expected:this._def.value}),A}return{status:"valid",value:e.data}}get value(){return this._def.value}};function $e(e,t){return new Ee({values:e,typeName:Je.ZodEnum,...E(t)})}Ce.create=(e,t)=>new Ce({value:e,typeName:Je.ZodLiteral,...E(t)});var Ee=class e extends M{_parse(e){if("string"!=typeof e.data){const t=this._getOrReturnCtx(e),a=this._def.values;return k(t,{expected:i.joinValues(a),received:t.parsedType,code:p.invalid_type}),A}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){const t=this._getOrReturnCtx(e),a=this._def.values;return k(t,{received:t.data,code:p.invalid_enum_value,options:a}),A}return O(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(t,a=this._def){return e.create(t,{...this._def,...a})}exclude(t,a=this._def){return e.create(this.options.filter(e=>!t.includes(e)),{...this._def,...a})}};Ee.create=$e;var Ie=class extends M{_parse(e){const t=i.getValidEnumValues(this._def.values),a=this._getOrReturnCtx(e);if(a.parsedType!==c.string&&a.parsedType!==c.number){const e=i.objectValues(t);return k(a,{expected:i.joinValues(e),received:a.parsedType,code:p.invalid_type}),A}if(this._cache||(this._cache=new Set(i.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){const e=i.objectValues(t);return k(a,{received:a.data,code:p.invalid_enum_value,options:e}),A}return O(e.data)}get enum(){return this._def.values}};Ie.create=(e,t)=>new Ie({values:e,typeName:Je.ZodNativeEnum,...E(t)});var Me=class extends M{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==c.promise&&!1===t.common.async)return k(t,{code:p.invalid_type,expected:c.promise,received:t.parsedType}),A;const a=t.parsedType===c.promise?t.data:Promise.resolve(t.data);return O(a.then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}};Me.create=(e,t)=>new Me({type:e,typeName:Je.ZodPromise,...E(t)});var Re=class extends M{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===Je.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:a}=this._processInputParams(e),r=this._def.effect||null,n={addIssue:e=>{k(a,e),e.fatal?t.abort():t.dirty()},get path(){return a.path}};if(n.addIssue=n.addIssue.bind(n),"preprocess"===r.type){const e=r.transform(a.data,n);if(a.common.async)return Promise.resolve(e).then(async e=>{if("aborted"===t.value)return A;const r=await this._def.schema._parseAsync({data:e,path:a.path,parent:a});return"aborted"===r.status?A:"dirty"===r.status||"dirty"===t.value?T(r.value):r});{if("aborted"===t.value)return A;const r=this._def.schema._parseSync({data:e,path:a.path,parent:a});return"aborted"===r.status?A:"dirty"===r.status||"dirty"===t.value?T(r.value):r}}if("refinement"===r.type){const e=e=>{const t=r.refinement(e,n);if(a.common.async)return Promise.resolve(t);if(t instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1===a.common.async){const r=this._def.schema._parseSync({data:a.data,path:a.path,parent:a});return"aborted"===r.status?A:("dirty"===r.status&&t.dirty(),e(r.value),{status:t.value,value:r.value})}return this._def.schema._parseAsync({data:a.data,path:a.path,parent:a}).then(a=>"aborted"===a.status?A:("dirty"===a.status&&t.dirty(),e(a.value).then(()=>({status:t.value,value:a.value}))))}if("transform"===r.type){if(!1===a.common.async){const e=this._def.schema._parseSync({data:a.data,path:a.path,parent:a});if(!j(e))return A;const s=r.transform(e.value,n);if(s instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:s}}return this._def.schema._parseAsync({data:a.data,path:a.path,parent:a}).then(e=>j(e)?Promise.resolve(r.transform(e.value,n)).then(e=>({status:t.value,value:e})):A)}i.assertNever(r)}};Re.create=(e,t,a)=>new Re({schema:e,typeName:Je.ZodEffects,effect:t,...E(a)}),Re.createWithPreprocess=(e,t,a)=>new Re({schema:t,effect:{type:"preprocess",transform:e},typeName:Je.ZodEffects,...E(a)});var Le=class extends M{_parse(e){return this._getType(e)===c.undefined?O(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Le.create=(e,t)=>new Le({innerType:e,typeName:Je.ZodOptional,...E(t)});var ze=class extends M{_parse(e){return this._getType(e)===c.null?O(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};ze.create=(e,t)=>new ze({innerType:e,typeName:Je.ZodNullable,...E(t)});var Fe=class extends M{_parse(e){const{ctx:t}=this._processInputParams(e);let a=t.data;return t.parsedType===c.undefined&&(a=this._def.defaultValue()),this._def.innerType._parse({data:a,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};Fe.create=(e,t)=>new Fe({innerType:e,typeName:Je.ZodDefault,defaultValue:"function"==typeof t.default?t.default:()=>t.default,...E(t)});var De=class extends M{_parse(e){const{ctx:t}=this._processInputParams(e),a={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:a.data,path:a.path,parent:{...a}});return N(r)?r.then(e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new h(a.common.issues)},input:a.data})})):{status:"valid",value:"valid"===r.status?r.value:this._def.catchValue({get error(){return new h(a.common.issues)},input:a.data})}}removeCatch(){return this._def.innerType}};De.create=(e,t)=>new De({innerType:e,typeName:Je.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:()=>t.catch,...E(t)});var Ue=class extends M{_parse(e){if(this._getType(e)!==c.nan){const t=this._getOrReturnCtx(e);return k(t,{code:p.invalid_type,expected:c.nan,received:t.parsedType}),A}return{status:"valid",value:e.data}}};Ue.create=e=>new Ue({typeName:Je.ZodNaN,...E(e)});var Ve=Symbol("zod_brand"),Be=class extends M{_parse(e){const{ctx:t}=this._processInputParams(e),a=t.data;return this._def.type._parse({data:a,path:t.path,parent:t})}unwrap(){return this._def.type}},Ke=class e extends M{_parse(e){const{status:t,ctx:a}=this._processInputParams(e);if(a.common.async){return(async()=>{const e=await this._def.in._parseAsync({data:a.data,path:a.path,parent:a});return"aborted"===e.status?A:"dirty"===e.status?(t.dirty(),T(e.value)):this._def.out._parseAsync({data:e.value,path:a.path,parent:a})})()}{const e=this._def.in._parseSync({data:a.data,path:a.path,parent:a});return"aborted"===e.status?A:"dirty"===e.status?(t.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:a.path,parent:a})}}static create(t,a){return new e({in:t,out:a,typeName:Je.ZodPipeline})}},qe=class extends M{_parse(e){const t=this._def.innerType._parse(e),a=e=>(j(e)&&(e.value=Object.freeze(e.value)),e);return N(t)?t.then(e=>a(e)):a(t)}unwrap(){return this._def.innerType}};function We(e,t){const a="function"==typeof e?e(t):"string"==typeof e?{message:e}:e;return"string"==typeof a?{message:a}:a}function Xe(e,t={},a){return e?he.create().superRefine((r,n)=>{var s,i;const o=e(r);if(o instanceof Promise)return o.then(e=>{var s,i;if(!e){const e=We(t,r),o=null==(i=null!=(s=e.fatal)?s:a)||i;n.addIssue({code:"custom",...e,fatal:o})}});if(!o){const e=We(t,r),o=null==(i=null!=(s=e.fatal)?s:a)||i;n.addIssue({code:"custom",...e,fatal:o})}}):he.create()}qe.create=(e,t)=>new qe({innerType:e,typeName:Je.ZodReadonly,...E(t)});var Je,Ge,He={object:be.lazycreate};(Ge=Je||(Je={})).ZodString="ZodString",Ge.ZodNumber="ZodNumber",Ge.ZodNaN="ZodNaN",Ge.ZodBigInt="ZodBigInt",Ge.ZodBoolean="ZodBoolean",Ge.ZodDate="ZodDate",Ge.ZodSymbol="ZodSymbol",Ge.ZodUndefined="ZodUndefined",Ge.ZodNull="ZodNull",Ge.ZodAny="ZodAny",Ge.ZodUnknown="ZodUnknown",Ge.ZodNever="ZodNever",Ge.ZodVoid="ZodVoid",Ge.ZodArray="ZodArray",Ge.ZodObject="ZodObject",Ge.ZodUnion="ZodUnion",Ge.ZodDiscriminatedUnion="ZodDiscriminatedUnion",Ge.ZodIntersection="ZodIntersection",Ge.ZodTuple="ZodTuple",Ge.ZodRecord="ZodRecord",Ge.ZodMap="ZodMap",Ge.ZodSet="ZodSet",Ge.ZodFunction="ZodFunction",Ge.ZodLazy="ZodLazy",Ge.ZodLiteral="ZodLiteral",Ge.ZodEnum="ZodEnum",Ge.ZodEffects="ZodEffects",Ge.ZodNativeEnum="ZodNativeEnum",Ge.ZodOptional="ZodOptional",Ge.ZodNullable="ZodNullable",Ge.ZodDefault="ZodDefault",Ge.ZodCatch="ZodCatch",Ge.ZodPromise="ZodPromise",Ge.ZodBranded="ZodBranded",Ge.ZodPipeline="ZodPipeline",Ge.ZodReadonly="ZodReadonly";var Ye=(e,t={message:`Input not instance of ${e.name}`})=>Xe(t=>t instanceof e,t),Qe=se.create,et=oe.create,tt=Ue.create,at=de.create,rt=ue.create,nt=ce.create,st=le.create,it=pe.create,ot=me.create,dt=he.create,ut=fe.create,ct=ye.create,lt=ge.create,pt=ve.create,mt=be.create,ht=be.strictCreate,ft=ke.create,yt=we.create,gt=Ae.create,vt=Te.create,_t=Oe.create,bt=Pe.create,kt=Se.create,xt=je.create,wt=Ne.create,Zt=Ce.create,At=Ee.create,Tt=Ie.create,Ot=Me.create,Pt=Re.create,St=Le.create,jt=ze.create,Nt=Re.createWithPreprocess,Ct=Ke.create,$t=()=>Qe().optional(),Et=()=>et().optional(),It=()=>rt().optional(),Mt={string:e=>se.create({...e,coerce:!0}),number:e=>oe.create({...e,coerce:!0}),boolean:e=>ue.create({...e,coerce:!0}),bigint:e=>de.create({...e,coerce:!0}),date:e=>ce.create({...e,coerce:!0})},Rt=A,Lt=Symbol("Let zodToJsonSchema decide on which parser to use"),zt={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},Ft=e=>{const t=(e=>"string"==typeof e?{...zt,name:e}:{...zt,...e})(e),a=void 0!==t.name?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,flags:{hasReferencedOpenAiAnyType:!1},currentPath:a,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([e,a])=>[a._def,{def:a._def,path:[...t.basePath,t.definitionPath,e],jsonSchema:void 0}]))}};function Dt(e,t,a,r){(null==r?void 0:r.errorMessages)&&a&&(e.errorMessage={...e.errorMessage,[t]:a})}function Ut(e,t,a,r,n){e[t]=a,Dt(e,t,r,n)}var Vt=(e,t)=>{let a=0;for(;a<e.length&&a<t.length&&e[a]===t[a];a++);return[(e.length-a).toString(),...t.slice(a)].join("/")};function Bt(e){if("openAi"!==e.target)return{};const t=[...e.basePath,e.definitionPath,e.openAiAnyTypeName];return e.flags.hasReferencedOpenAiAnyType=!0,{$ref:"relative"===e.$refStrategy?Vt(t,e.currentPath):t.join("/")}}function Kt(e,t){return va(e.type._def,t)}function qt(e,t,a){const r=null!=a?a:t.dateStrategy;if(Array.isArray(r))return{anyOf:r.map((a,r)=>qt(e,t,a))};switch(r){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return Wt(e,t)}}var Wt=(e,t)=>{const a={type:"integer",format:"unix-time"};if("openApi3"===t.target)return a;for(const r of e.checks)switch(r.kind){case"min":Ut(a,"minimum",r.value,r.message,t);break;case"max":Ut(a,"maximum",r.value,r.message,t)}return a};var Xt=void 0,Jt=/^[cC][^\s-]{8,}$/,Gt=/^[0-9a-z]+$/,Ht=/^[0-9A-HJKMNP-TV-Z]{26}$/,Yt=/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,Qt=()=>(void 0===Xt&&(Xt=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),Xt),ea=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ta=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,aa=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,ra=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,na=/^[a-zA-Z0-9_-]{21}$/,sa=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/;function ia(e,t){const a={type:"string"};if(e.checks)for(const r of e.checks)switch(r.kind){case"min":Ut(a,"minLength","number"==typeof a.minLength?Math.max(a.minLength,r.value):r.value,r.message,t);break;case"max":Ut(a,"maxLength","number"==typeof a.maxLength?Math.min(a.maxLength,r.value):r.value,r.message,t);break;case"email":switch(t.emailStrategy){case"format:email":ua(a,"email",r.message,t);break;case"format:idn-email":ua(a,"idn-email",r.message,t);break;case"pattern:zod":ca(a,Yt,r.message,t)}break;case"url":ua(a,"uri",r.message,t);break;case"uuid":ua(a,"uuid",r.message,t);break;case"regex":ca(a,r.regex,r.message,t);break;case"cuid":ca(a,Jt,r.message,t);break;case"cuid2":ca(a,Gt,r.message,t);break;case"startsWith":ca(a,RegExp(`^${oa(r.value,t)}`),r.message,t);break;case"endsWith":ca(a,RegExp(`${oa(r.value,t)}$`),r.message,t);break;case"datetime":ua(a,"date-time",r.message,t);break;case"date":ua(a,"date",r.message,t);break;case"time":ua(a,"time",r.message,t);break;case"duration":ua(a,"duration",r.message,t);break;case"length":Ut(a,"minLength","number"==typeof a.minLength?Math.max(a.minLength,r.value):r.value,r.message,t),Ut(a,"maxLength","number"==typeof a.maxLength?Math.min(a.maxLength,r.value):r.value,r.message,t);break;case"includes":ca(a,RegExp(oa(r.value,t)),r.message,t);break;case"ip":"v6"!==r.version&&ua(a,"ipv4",r.message,t),"v4"!==r.version&&ua(a,"ipv6",r.message,t);break;case"base64url":ca(a,ra,r.message,t);break;case"jwt":ca(a,sa,r.message,t);break;case"cidr":"v6"!==r.version&&ca(a,ea,r.message,t),"v4"!==r.version&&ca(a,ta,r.message,t);break;case"emoji":ca(a,Qt(),r.message,t);break;case"ulid":ca(a,Ht,r.message,t);break;case"base64":switch(t.base64Strategy){case"format:binary":ua(a,"binary",r.message,t);break;case"contentEncoding:base64":Ut(a,"contentEncoding","base64",r.message,t);break;case"pattern:zod":ca(a,aa,r.message,t)}break;case"nanoid":ca(a,na,r.message,t)}return a}function oa(e,t){return"escape"===t.patternStrategy?function(e){let t="";for(let a=0;a<e.length;a++)da.has(e[a])||(t+="\\"),t+=e[a];return t}(e):e}var da=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function ua(e,t,a,r){var n;e.format||(null==(n=e.anyOf)?void 0:n.some(e=>e.format))?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push({format:e.format,...e.errorMessage&&r.errorMessages&&{errorMessage:{format:e.errorMessage.format}}}),delete e.format,e.errorMessage&&(delete e.errorMessage.format,0===Object.keys(e.errorMessage).length&&delete e.errorMessage)),e.anyOf.push({format:t,...a&&r.errorMessages&&{errorMessage:{format:a}}})):Ut(e,"format",t,a,r)}function ca(e,t,a,r){var n;e.pattern||(null==(n=e.allOf)?void 0:n.some(e=>e.pattern))?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push({pattern:e.pattern,...e.errorMessage&&r.errorMessages&&{errorMessage:{pattern:e.errorMessage.pattern}}}),delete e.pattern,e.errorMessage&&(delete e.errorMessage.pattern,0===Object.keys(e.errorMessage).length&&delete e.errorMessage)),e.allOf.push({pattern:la(t,r),...a&&r.errorMessages&&{errorMessage:{pattern:a}}})):Ut(e,"pattern",la(t,r),a,r)}function la(e,t){var a;if(!t.applyRegexFlags||!e.flags)return e.source;const r=e.flags.includes("i"),n=e.flags.includes("m"),s=e.flags.includes("s"),i=r?e.source.toLowerCase():e.source;let o="",d=!1,u=!1,c=!1;for(let e=0;e<i.length;e++)if(d)o+=i[e],d=!1;else{if(r)if(u){if(i[e].match(/[a-z]/)){c?(o+=i[e],o+=`${i[e-2]}-${i[e]}`.toUpperCase(),c=!1):"-"===i[e+1]&&(null==(a=i[e+2])?void 0:a.match(/[a-z]/))?(o+=i[e],c=!0):o+=`${i[e]}${i[e].toUpperCase()}`;continue}}else if(i[e].match(/[a-z]/)){o+=`[${i[e]}${i[e].toUpperCase()}]`;continue}if(n){if("^"===i[e]){o+="(^|(?<=[\r\n]))";continue}if("$"===i[e]){o+="($|(?=[\r\n]))";continue}}s&&"."===i[e]?o+=u?`${i[e]}\r\n`:`[${i[e]}\r\n]`:(o+=i[e],"\\"===i[e]?d=!0:u&&"]"===i[e]?u=!1:u||"["!==i[e]||(u=!0))}try{new RegExp(o)}catch(a){return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),e.source}return o}function pa(e,t){var a,r,n,s,i,o,d;if("openAi"===t.target&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),"openApi3"===t.target&&(null==(a=e.keyType)?void 0:a._def.typeName)===Je.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce((a,r)=>{var n;return{...a,[r]:null!=(n=va(e.valueType._def,{...t,currentPath:[...t.currentPath,"properties",r]}))?n:Bt(t)}},{}),additionalProperties:t.rejectedAdditionalProperties};const u={type:"object",additionalProperties:null!=(r=va(e.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]}))?r:t.allowedAdditionalProperties};if("openApi3"===t.target)return u;if((null==(n=e.keyType)?void 0:n._def.typeName)===Je.ZodString&&(null==(s=e.keyType._def.checks)?void 0:s.length)){const{type:a,...r}=ia(e.keyType._def,t);return{...u,propertyNames:r}}if((null==(i=e.keyType)?void 0:i._def.typeName)===Je.ZodEnum)return{...u,propertyNames:{enum:e.keyType._def.values}};if((null==(o=e.keyType)?void 0:o._def.typeName)===Je.ZodBranded&&e.keyType._def.type._def.typeName===Je.ZodString&&(null==(d=e.keyType._def.type._def.checks)?void 0:d.length)){const{type:a,...r}=Kt(e.keyType._def,t);return{...u,propertyNames:r}}return u}var ma={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};var ha=(e,t)=>{const a=(e.options instanceof Map?Array.from(e.options.values()):e.options).map((e,a)=>va(e._def,{...t,currentPath:[...t.currentPath,"anyOf",`${a}`]})).filter(e=>!!e&&(!t.strictUnions||"object"==typeof e&&Object.keys(e).length>0));return a.length?{anyOf:a}:void 0};function fa(e,t){const a="openAi"===t.target,r={type:"object",properties:{}},n=[],s=e.shape();for(const e in s){let i=s[e];if(void 0===i||void 0===i._def)continue;let o=ya(i);o&&a&&("ZodOptional"===i._def.typeName&&(i=i._def.innerType),i.isNullable()||(i=i.nullable()),o=!1);const d=va(i._def,{...t,currentPath:[...t.currentPath,"properties",e],propertyPath:[...t.currentPath,"properties",e]});void 0!==d&&(r.properties[e]=d,o||n.push(e))}n.length&&(r.required=n);const i=function(e,t){if("ZodNever"!==e.catchall._def.typeName)return va(e.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return"strict"===t.removeAdditionalStrategy?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}(e,t);return void 0!==i&&(r.additionalProperties=i),r}function ya(e){try{return e.isOptional()}catch(e){return!0}}var ga=(e,t,a)=>{switch(t){case Je.ZodString:return ia(e,a);case Je.ZodNumber:return function(e,t){const a={type:"number"};if(!e.checks)return a;for(const r of e.checks)switch(r.kind){case"int":a.type="integer",Dt(a,"type",r.message,t);break;case"min":"jsonSchema7"===t.target?r.inclusive?Ut(a,"minimum",r.value,r.message,t):Ut(a,"exclusiveMinimum",r.value,r.message,t):(r.inclusive||(a.exclusiveMinimum=!0),Ut(a,"minimum",r.value,r.message,t));break;case"max":"jsonSchema7"===t.target?r.inclusive?Ut(a,"maximum",r.value,r.message,t):Ut(a,"exclusiveMaximum",r.value,r.message,t):(r.inclusive||(a.exclusiveMaximum=!0),Ut(a,"maximum",r.value,r.message,t));break;case"multipleOf":Ut(a,"multipleOf",r.value,r.message,t)}return a}(e,a);case Je.ZodObject:return fa(e,a);case Je.ZodBigInt:return function(e,t){const a={type:"integer",format:"int64"};if(!e.checks)return a;for(const r of e.checks)switch(r.kind){case"min":"jsonSchema7"===t.target?r.inclusive?Ut(a,"minimum",r.value,r.message,t):Ut(a,"exclusiveMinimum",r.value,r.message,t):(r.inclusive||(a.exclusiveMinimum=!0),Ut(a,"minimum",r.value,r.message,t));break;case"max":"jsonSchema7"===t.target?r.inclusive?Ut(a,"maximum",r.value,r.message,t):Ut(a,"exclusiveMaximum",r.value,r.message,t):(r.inclusive||(a.exclusiveMaximum=!0),Ut(a,"maximum",r.value,r.message,t));break;case"multipleOf":Ut(a,"multipleOf",r.value,r.message,t)}return a}(e,a);case Je.ZodBoolean:return{type:"boolean"};case Je.ZodDate:return qt(e,a);case Je.ZodUndefined:return function(e){return{not:Bt(e)}}(a);case Je.ZodNull:return function(e){return"openApi3"===e.target?{enum:["null"],nullable:!0}:{type:"null"}}(a);case Je.ZodArray:return function(e,t){var a,r,n;const s={type:"array"};return(null==(a=e.type)?void 0:a._def)&&(null==(n=null==(r=e.type)?void 0:r._def)?void 0:n.typeName)!==Je.ZodAny&&(s.items=va(e.type._def,{...t,currentPath:[...t.currentPath,"items"]})),e.minLength&&Ut(s,"minItems",e.minLength.value,e.minLength.message,t),e.maxLength&&Ut(s,"maxItems",e.maxLength.value,e.maxLength.message,t),e.exactLength&&(Ut(s,"minItems",e.exactLength.value,e.exactLength.message,t),Ut(s,"maxItems",e.exactLength.value,e.exactLength.message,t)),s}(e,a);case Je.ZodUnion:case Je.ZodDiscriminatedUnion:return function(e,t){if("openApi3"===t.target)return ha(e,t);const a=e.options instanceof Map?Array.from(e.options.values()):e.options;if(a.every(e=>e._def.typeName in ma&&(!e._def.checks||!e._def.checks.length))){const e=a.reduce((e,t)=>{const a=ma[t._def.typeName];return a&&!e.includes(a)?[...e,a]:e},[]);return{type:e.length>1?e:e[0]}}if(a.every(e=>"ZodLiteral"===e._def.typeName&&!e.description)){const e=a.reduce((e,t)=>{const a=typeof t._def.value;switch(a){case"string":case"number":case"boolean":return[...e,a];case"bigint":return[...e,"integer"];case"object":if(null===t._def.value)return[...e,"null"];default:return e}},[]);if(e.length===a.length){const t=e.filter((e,t,a)=>a.indexOf(e)===t);return{type:t.length>1?t:t[0],enum:a.reduce((e,t)=>e.includes(t._def.value)?e:[...e,t._def.value],[])}}}else if(a.every(e=>"ZodEnum"===e._def.typeName))return{type:"string",enum:a.reduce((e,t)=>[...e,...t._def.values.filter(t=>!e.includes(t))],[])};return ha(e,t)}(e,a);case Je.ZodIntersection:return function(e,t){const a=[va(e.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),va(e.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter(e=>!!e);let r="jsonSchema2019-09"===t.target?{unevaluatedProperties:!1}:void 0;const n=[];return a.forEach(e=>{if("type"in(t=e)&&"string"===t.type||!("allOf"in t)){let t=e;if("additionalProperties"in e&&!1===e.additionalProperties){const{additionalProperties:a,...r}=e;t=r}else r=void 0;n.push(t)}else n.push(...e.allOf),void 0===e.unevaluatedProperties&&(r=void 0);var t}),n.length?{allOf:n,...r}:void 0}(e,a);case Je.ZodTuple:return function(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map((e,a)=>va(e._def,{...t,currentPath:[...t.currentPath,"items",`${a}`]})).reduce((e,t)=>void 0===t?e:[...e,t],[]),additionalItems:va(e.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map((e,a)=>va(e._def,{...t,currentPath:[...t.currentPath,"items",`${a}`]})).reduce((e,t)=>void 0===t?e:[...e,t],[])}}(e,a);case Je.ZodRecord:return pa(e,a);case Je.ZodLiteral:return function(e,t){const a=typeof e.value;return"bigint"!==a&&"number"!==a&&"boolean"!==a&&"string"!==a?{type:Array.isArray(e.value)?"array":"object"}:"openApi3"===t.target?{type:"bigint"===a?"integer":a,enum:[e.value]}:{type:"bigint"===a?"integer":a,const:e.value}}(e,a);case Je.ZodEnum:return function(e){return{type:"string",enum:Array.from(e.values)}}(e);case Je.ZodNativeEnum:return function(e){const t=e.values,a=Object.keys(e.values).filter(e=>"number"!=typeof t[t[e]]).map(e=>t[e]),r=Array.from(new Set(a.map(e=>typeof e)));return{type:1===r.length?"string"===r[0]?"string":"number":["string","number"],enum:a}}(e);case Je.ZodNullable:return function(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return"openApi3"===t.target?{type:ma[e.innerType._def.typeName],nullable:!0}:{type:[ma[e.innerType._def.typeName],"null"]};if("openApi3"===t.target){const a=va(e.innerType._def,{...t,currentPath:[...t.currentPath]});return a&&"$ref"in a?{allOf:[a],nullable:!0}:a&&{...a,nullable:!0}}const a=va(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return a&&{anyOf:[a,{type:"null"}]}}(e,a);case Je.ZodOptional:return((e,t)=>{var a;if(t.currentPath.toString()===(null==(a=t.propertyPath)?void 0:a.toString()))return va(e.innerType._def,t);const r=va(e.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return r?{anyOf:[{not:Bt(t)},r]}:Bt(t)})(e,a);case Je.ZodMap:return function(e,t){return"record"===t.mapStrategy?pa(e,t):{type:"array",maxItems:125,items:{type:"array",items:[va(e.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||Bt(t),va(e.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||Bt(t)],minItems:2,maxItems:2}}}(e,a);case Je.ZodSet:return function(e,t){const a={type:"array",uniqueItems:!0,items:va(e.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};return e.minSize&&Ut(a,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&Ut(a,"maxItems",e.maxSize.value,e.maxSize.message,t),a}(e,a);case Je.ZodLazy:return()=>e.getter()._def;case Je.ZodPromise:return function(e,t){return va(e.type._def,t)}(e,a);case Je.ZodNaN:case Je.ZodNever:return function(e){return"openAi"===e.target?void 0:{not:Bt({...e,currentPath:[...e.currentPath,"not"]})}}(a);case Je.ZodEffects:return function(e,t){return"input"===t.effectStrategy?va(e.schema._def,t):Bt(t)}(e,a);case Je.ZodAny:return Bt(a);case Je.ZodUnknown:return function(e){return Bt(e)}(a);case Je.ZodDefault:return function(e,t){return{...va(e.innerType._def,t),default:e.defaultValue()}}(e,a);case Je.ZodBranded:return Kt(e,a);case Je.ZodReadonly:case Je.ZodCatch:return((e,t)=>va(e.innerType._def,t))(e,a);case Je.ZodPipeline:return((e,t)=>{if("input"===t.pipeStrategy)return va(e.in._def,t);if("output"===t.pipeStrategy)return va(e.out._def,t);const a=va(e.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]});return{allOf:[a,va(e.out._def,{...t,currentPath:[...t.currentPath,"allOf",a?"1":"0"]})].filter(e=>void 0!==e)}})(e,a);case Je.ZodFunction:case Je.ZodVoid:case Je.ZodSymbol:default:return}};function va(e,t,a=!1){var r;const n=t.seen.get(e);if(t.override){const s=null==(r=t.override)?void 0:r.call(t,e,t,n,a);if(s!==Lt)return s}if(n&&!a){const e=_a(n,t);if(void 0!==e)return e}const s={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,s);const i=ga(e,e.typeName,t),o="function"==typeof i?va(i(),t):i;if(o&&ba(e,t,o),t.postProcess){const a=t.postProcess(o,e,t);return s.jsonSchema=o,a}return s.jsonSchema=o,o}var _a=(e,t)=>{switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:Vt(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every((e,a)=>t.currentPath[a]===e)?(console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),Bt(t)):"seen"===t.$refStrategy?Bt(t):void 0}},ba=(e,t,a)=>(e.description&&(a.description=e.description,t.markdownDescription&&(a.markdownDescription=e.description)),a),ka=(e,t)=>{var a;const r=Ft(t);let n="object"==typeof t&&t.definitions?Object.entries(t.definitions).reduce((e,[t,a])=>{var n;return{...e,[t]:null!=(n=va(a._def,{...r,currentPath:[...r.basePath,r.definitionPath,t]},!0))?n:Bt(r)}},{}):void 0;const s="string"==typeof t?t:"title"===(null==t?void 0:t.nameStrategy)||null==t?void 0:t.name,i=null!=(a=va(e._def,void 0===s?r:{...r,currentPath:[...r.basePath,r.definitionPath,s]},!1))?a:Bt(r),o="object"==typeof t&&void 0!==t.name&&"title"===t.nameStrategy?t.name:void 0;void 0!==o&&(i.title=o),r.flags.hasReferencedOpenAiAnyType&&(n||(n={}),n[r.openAiAnyTypeName]||(n[r.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:"relative"===r.$refStrategy?"1":[...r.basePath,r.definitionPath,r.openAiAnyTypeName].join("/")}}));const d=void 0===s?n?{...i,[r.definitionPath]:n}:i:{$ref:[..."relative"===r.$refStrategy?[]:r.basePath,r.definitionPath,s].join("/"),[r.definitionPath]:{...n,[s]:i}};return"jsonSchema7"===r.target?d.$schema="http://json-schema.org/draft-07/schema#":"jsonSchema2019-09"!==r.target&&"openAi"!==r.target||(d.$schema="https://json-schema.org/draft/2019-09/schema#"),"openAi"===r.target&&("anyOf"in d||"oneOf"in d||"allOf"in d||"type"in d&&Array.isArray(d.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),d},xa=u.record(u.string(),u.boolean()).describe("Consent requirement mapping"),wa=u.lazy(()=>u.union([u.string(),u.number(),u.boolean(),Oa,u.array(wa)])),Za=u.tuple([wa,wa]).describe("Loop: [source, transform] tuple for array transformations"),Aa=u.array(wa).describe("Set: Array of values"),Ta=u.record(u.string(),wa).describe("Map: Object mapping keys to values"),Oa=u.object({key:u.string().optional().describe('Property path (e.g., "data.id")'),value:u.union([u.string(),u.number(),u.boolean()]).optional().describe("Static primitive value"),fn:u.string().optional().describe("Function string for custom transformation"),map:Ta.optional().describe("Object with key-value mappings"),loop:Za.optional().describe("Tuple [source, transform]"),set:Aa.optional().describe("Array of values"),consent:xa.optional().describe("Required consent states"),condition:u.string().optional().describe("Condition function string"),validate:u.string().optional().describe("Validation function string")}).refine(e=>Object.keys(e).length>0,{message:"ValueConfig must have at least one property"}).describe("Value configuration for transformations"),Pa=Za,Sa=Aa,ja=Ta;ka(Oa,{target:"jsonSchema7",$refStrategy:"relative",name:"ValueConfig"}),ka(Pa,{target:"jsonSchema7",$refStrategy:"relative",name:"Loop"}),ka(Sa,{target:"jsonSchema7",$refStrategy:"relative",name:"Set"}),ka(ja,{target:"jsonSchema7",$refStrategy:"relative",name:"Map"});function Na(e){return Array.isArray(e)}function Ca(e){return"object"==typeof e&&null!==e&&!Na(e)&&"[object Object]"===Object.prototype.toString.call(e)}function $a(e){return"string"==typeof e}function Ea(e,t,a){return function(...r){try{return e(...r)}catch(e){if(!t)return;return t(e)}finally{null==a||a()}}}var Ia=!1;function Ma(e,t={},a){if(t.filter){if(!0===Ea(()=>t.filter(a),()=>!1)())return}const r=function(e){if(Ca(e)&&$a(e.event)){const{event:t,...a}=e;return{name:t,...a}}if(Na(e)&&e.length>=2)return Ra(e);if(t=e,null!=t&&"object"==typeof t&&"length"in t&&"number"==typeof t.length&&t.length>0){return Ra(Array.from(e))}var t;return null}(a);if(!r)return;const n=`${t.prefix||"dataLayer"} ${r.name}`,{name:s,...i}=r,o={name:n,data:i};Ea(()=>e(o),()=>{})()}function Ra(e){const[t,a,r]=e;if(!$a(t))return null;let n,s={};switch(t){case"consent":if(!$a(a)||e.length<3)return null;if("default"!==a&&"update"!==a)return null;if(!Ca(r)||null===r)return null;n=`${t} ${a}`,s={...r};break;case"event":if(!$a(a))return null;n=a,Ca(r)&&(s={...r});break;case"config":if(!$a(a))return null;n=`${t} ${a}`,Ca(r)&&(s={...r});break;case"set":if($a(a))n=`${t} ${a}`,Ca(r)&&(s={...r});else{if(!Ca(a))return null;n=`${t} custom`,s={...a}}break;default:return null}return{name:n,...s}}var La={},za={};n(za,{push:()=>Ua});var Fa=()=>{},Da=()=>()=>Promise.resolve({ok:!0,successful:[],queued:[],failed:[]}),Ua={get push(){return Da()},get command(){return Da()},get elb(){return Da()},get window(){return{dataLayer:[],addEventListener:Fa,removeEventListener:Fa}}},Va={};function Ba(){return["consent","update",{ad_user_data:"granted",ad_personalization:"granted",ad_storage:"denied",analytics_storage:"granted"}]}function Ka(){return["consent","default",{ad_storage:"denied",analytics_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"}]}function qa(){return["event","purchase",{transaction_id:"T_12345",value:25.42,currency:"EUR",items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",quantity:1,price:25.42}]}]}function Wa(){return["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_variant:"red",quantity:1,price:15.25}]}]}function Xa(){return["event","view_item",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",price:15.25}]}]}function Ja(){return["config","G-XXXXXXXXXX",{page_title:"Custom Page Title",page_location:"https://example.com/page",send_page_view:!1}]}function Ga(){return["set",{currency:"EUR",country:"DE"}]}function Ha(){return{event:"custom_event",custom_parameter:"custom_value",user_id:"user123"}}n(Va,{add_to_cart:()=>Wa,config:()=>Ja,consentDefault:()=>Ka,consentUpdate:()=>Ba,directDataLayerEvent:()=>Ha,purchase:()=>qa,setCustom:()=>Ga,view_item:()=>Xa});var Ya={};n(Ya,{add_to_cart:()=>ar,config:()=>ir,configGA4:()=>nr,consentOnlyMapping:()=>or,consentUpdate:()=>er,customEvent:()=>sr,purchase:()=>tr,view_item:()=>rr});var Qa,er={name:"walker consent",settings:{command:{map:{functional:{value:!0},analytics:{key:"analytics_storage",fn:e=>"granted"===e},marketing:{key:"ad_storage",fn:e=>"granted"===e}}}}},tr={name:"order complete",data:{map:{id:"transaction_id",total:"value",currency:"currency",nested:{loop:["items",{map:{type:{value:"product"},data:{map:{id:"item_id",name:"item_name",category:"item_category",quantity:"quantity",price:"price"}}}}]}}}},ar={name:"product add",data:{map:{id:"items.0.item_id",name:"items.0.item_name",price:"value",currency:"currency",color:"items.0.item_variant",quantity:"items.0.quantity"}}},rr={name:"product view",data:{map:{id:"items.0.item_id",name:"items.0.item_name",category:"items.0.item_category",price:"items.0.price",currency:"currency"}}},nr={name:"page view",data:{map:{title:"page_title",url:"page_location"}}},sr={data:{map:{user_id:"user_id",custom_parameter:"custom_parameter"}}},ir={consent:{update:er},purchase:tr,add_to_cart:ar,view_item:rr,"config G-XXXXXXXXXX":nr,custom_event:sr,"*":{data:{}}},or={consent:{update:er}},dr=async(e,t)=>{const{elb:a,window:r}=t,n={name:"dataLayer",prefix:"dataLayer",...null==e?void 0:e.settings},s={settings:n};return r&&(function(e,t){const a=t.settings,r=(null==a?void 0:a.name)||"dataLayer",n=window[r];if(Array.isArray(n)&&!Ia){Ia=!0;try{for(const t of n)Ma(e,a,t)}finally{Ia=!1}}}(a,s),function(e,t){const a=t.settings,r=(null==a?void 0:a.name)||"dataLayer";window[r]||(window[r]=[]);const n=window[r];if(!Array.isArray(n))return;const s=n.push.bind(n);n.push=function(...t){if(Ia)return s(...t);Ia=!0;try{for(const r of t)Ma(e,a,r)}finally{Ia=!1}return s(...t)}}(a,s)),{type:"dataLayer",config:s,push:a,destroy:async()=>{const e=n.name||"dataLayer";r&&r[e]&&Array.isArray(r[e])}}},ur=dr;return Qa=s,((n,s,i,o)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let d of a(s))r.call(n,d)||d===i||e(n,d,{get:()=>s[d],enumerable:!(o=t(s,d))||o.enumerable});return n})(e({},"__esModule",{value:!0}),Qa)})();
package/dist/index.d.mts CHANGED
@@ -45,16 +45,10 @@ declare namespace index {
45
45
  export type { index_DataLayer as DataLayer, index_DataLayerEvent as DataLayerEvent, index_Env as Env, index_MappedEvent as MappedEvent, index_Mapping as Mapping, index_Push as Push, index_Settings as Settings, index_Types as Types };
46
46
  }
47
47
 
48
- /**
49
- * Example environment configurations for dataLayer source
50
- *
51
- * These environments provide standardized mock structures for testing
52
- * dataLayer interception without requiring a real window object.
53
- */
54
48
  /**
55
49
  * Environment interface for dataLayer source
56
50
  */
57
- interface DataLayerEnv extends Source.Env {
51
+ interface DataLayerEnv extends Source.BaseEnv {
58
52
  window?: typeof window;
59
53
  }
60
54
  /**
package/dist/index.d.ts CHANGED
@@ -45,16 +45,10 @@ declare namespace index {
45
45
  export type { index_DataLayer as DataLayer, index_DataLayerEvent as DataLayerEvent, index_Env as Env, index_MappedEvent as MappedEvent, index_Mapping as Mapping, index_Push as Push, index_Settings as Settings, index_Types as Types };
46
46
  }
47
47
 
48
- /**
49
- * Example environment configurations for dataLayer source
50
- *
51
- * These environments provide standardized mock structures for testing
52
- * dataLayer interception without requiring a real window object.
53
- */
54
48
  /**
55
49
  * Environment interface for dataLayer source
56
50
  */
57
- interface DataLayerEnv extends Source.Env {
51
+ interface DataLayerEnv extends Source.BaseEnv {
58
52
  window?: typeof window;
59
53
  }
60
54
  /**
package/dist/index.es5.js CHANGED
@@ -1 +1 @@
1
- "use strict";function _array_like_to_array(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function _array_with_holes(t){if(Array.isArray(t))return t}function _array_without_holes(t){if(Array.isArray(t))return _array_like_to_array(t)}function asyncGeneratorStep(t,e,r,n,a,o,i){try{var u=t[o](i),c=u.value}catch(t){return void r(t)}u.done?e(c):Promise.resolve(c).then(n,a)}function _async_to_generator(t){return function(){var e=this,r=arguments;return new Promise(function(n,a){var o=t.apply(e,r);function i(t){asyncGeneratorStep(o,n,a,i,u,"next",t)}function u(t){asyncGeneratorStep(o,n,a,i,u,"throw",t)}i(void 0)})}}function _define_property(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function _iterable_to_array(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}function _iterable_to_array_limit(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,a,o=[],i=!0,u=!1;try{for(r=r.call(t);!(i=(n=r.next()).done)&&(o.push(n.value),!e||o.length!==e);i=!0);}catch(t){u=!0,a=t}finally{try{i||null==r.return||r.return()}finally{if(u)throw a}}return o}}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),n.forEach(function(e){_define_property(t,e,r[e])})}return t}function _object_without_properties(t,e){if(null==t)return{};var r,n,a=_object_without_properties_loose(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(n=0;n<o.length;n++)r=o[n],e.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(a[r]=t[r])}return a}function _object_without_properties_loose(t,e){if(null==t)return{};var r,n,a={},o=Object.keys(t);for(n=0;n<o.length;n++)r=o[n],e.indexOf(r)>=0||(a[r]=t[r]);return a}function _sliced_to_array(t,e){return _array_with_holes(t)||_iterable_to_array_limit(t,e)||_unsupported_iterable_to_array(t,e)||_non_iterable_rest()}function _to_consumable_array(t){return _array_without_holes(t)||_iterable_to_array(t)||_unsupported_iterable_to_array(t)||_non_iterable_spread()}function _type_of(t){return t&&"undefined"!=typeof Symbol&&t.constructor===Symbol?"symbol":typeof t}function _unsupported_iterable_to_array(t,e){if(t){if("string"==typeof t)return _array_like_to_array(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(r):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_array_like_to_array(t,e):void 0}}function _ts_generator(t,e){var r,n,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=u(0),i.throw=u(1),i.return=u(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(u){return function(c){return function(u){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,u[0]&&(o=0)),o;)try{if(r=1,n&&(a=2&u[0]?n.return:u[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,u[1])).done)return a;switch(n=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,n=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!(a=o.trys,(a=a.length>0&&a[a.length-1])||6!==u[0]&&2!==u[0])){o=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){o.label=u[1];break}if(6===u[0]&&o.label<a[1]){o.label=a[1],a=u;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(u);break}a[2]&&o.ops.pop(),o.trys.pop();continue}u=e.call(t,o)}catch(t){u=[6,t],n=0}finally{r=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,c])}}}var Destination=function(){var t=function(t){return Array.isArray(t)},e=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!t(e)&&"[object Object]"===Object.prototype.toString.call(e)},r=function(t){return"string"==typeof t},n=function(t,e,r){return function(){for(var n=arguments.length,a=new Array(n),o=0;o<n;o++)a[o]=arguments[o];try{return t.apply(void 0,_to_consumable_array(a))}catch(t){if(!e)return;return e(t)}finally{null==r||r()}}},a=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0;if(e.filter&&!0===n(function(){return e.filter(r)},function(){return!1})())return;var a=o(r);if(a){var i=e.prefix||"dataLayer",u={name:"".concat(i," ").concat(a.name),data:a,context:{},globals:{},custom:{},consent:{},nested:[],user:{},id:c(),trigger:"",entity:"",action:"",timestamp:Date.now(),timing:0,group:"",count:0,version:{source:"1.0.0",tagging:2},source:{type:"dataLayer",id:"",previous_id:""}};n(function(){return t(u)},function(){})()}},o=function(n){if(e(n)&&r(n.event))return _object_spread({name:n.event},_object_without_properties(n,["event"]));if(t(n)&&n.length>=2)return i(n);if(u(n)){var a=Array.from(n);return i(a)}return null},i=function(t){var n,a=_sliced_to_array(t,3),o=a[0],i=a[1],u=a[2];if(!r(o))return null;var c={};switch(o){case"consent":if(!r(i)||t.length<3)return null;if("default"!==i&&"update"!==i)return null;if(!e(u)||null===u)return null;n="".concat(o," ").concat(i),c=_object_spread({},u);break;case"event":if(!r(i))return null;n=i,e(u)&&(c=_object_spread({},u));break;case"config":if(!r(i))return null;n="".concat(o," ").concat(i),e(u)&&(c=_object_spread({},u));break;case"set":if(r(i))n="".concat(o," ").concat(i),e(u)&&(c=_object_spread({},u));else{if(!e(i))return null;n="".concat(o," custom"),c=_object_spread({},i)}break;default:return null}return _object_spread({name:n},c)},u=function(t){return null!=t&&"object"===(void 0===t?"undefined":_type_of(t))&&"length"in t&&"number"==typeof t.length&&t.length>0},c=function(){return Math.random().toString(36).substring(2,15)},l=function(){return["consent","update",{ad_user_data:"granted",ad_personalization:"granted",ad_storage:"denied",analytics_storage:"granted"}]},f=function(){return["consent","default",{ad_storage:"denied",analytics_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"}]},s=function(){return["event","purchase",{transaction_id:"T_12345",value:25.42,currency:"EUR",items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",quantity:1,price:25.42}]}]},_=function(){return["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_variant:"red",quantity:1,price:15.25}]}]},y=function(){return["event","view_item",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",price:15.25}]}]},d=function(){return["config","G-XXXXXXXXXX",{page_title:"Custom Page Title",page_location:"https://example.com/page",send_page_view:!1}]},p=function(){return["set",{currency:"EUR",country:"DE"}]},m=function(){return{event:"custom_event",custom_parameter:"custom_value",user_id:"user123"}},v=Object.defineProperty,b=Object.getOwnPropertyDescriptor,g=Object.getOwnPropertyNames,h=Object.prototype.hasOwnProperty,w=function(t,e){for(var r in e)v(t,r,{get:e[r],enumerable:!0})},j={};w(j,{Events:function(){return E},Mapping:function(){return P},SourceDataLayer:function(){return S},consentOnlyMapping:function(){return C},consentUpdateEvent:function(){return l},dataLayerExamples:function(){return M},default:function(){return N},env:function(){return A},sourceDataLayer:function(){return T}});var O=!1,S={},A={};w(A,{push:function(){return k}});var X={dataLayer:[],addEventListener:jest.fn(),removeEventListener:jest.fn()},k={elb:jest.fn(),window:X},E={};w(E,{add_to_cart:function(){return _},config:function(){return d},consentDefault:function(){return f},consentUpdate:function(){return l},directDataLayerEvent:function(){return m},purchase:function(){return s},setCustom:function(){return p},view_item:function(){return y}});var P={};w(P,{add_to_cart:function(){return D},config:function(){return M},configGA4:function(){return G},consentOnlyMapping:function(){return C},consentUpdate:function(){return L},customEvent:function(){return q},purchase:function(){return U},view_item:function(){return I}});var x,L={name:"walker consent",settings:{command:{map:{functional:{value:!0},analytics:{key:"analytics_storage",fn:function(t){return"granted"===t}},marketing:{key:"ad_storage",fn:function(t){return"granted"===t}}}}}},U={name:"order complete",data:{map:{id:"transaction_id",total:"value",currency:"currency",nested:{loop:["items",{map:{type:{value:"product"},data:{map:{id:"item_id",name:"item_name",category:"item_category",quantity:"quantity",price:"price"}}}}]}}}},D={name:"product add",data:{map:{id:"items.0.item_id",name:"items.0.item_name",price:"value",currency:"currency",color:"items.0.item_variant",quantity:"items.0.quantity"}}},I={name:"product view",data:{map:{id:"items.0.item_id",name:"items.0.item_name",category:"items.0.item_category",price:"items.0.price",currency:"currency"}}},G={name:"page view",data:{map:{title:"page_title",url:"page_location"}}},q={data:{map:{user_id:"user_id",custom_parameter:"custom_parameter"}}},M={consent:{update:L},purchase:U,add_to_cart:D,view_item:I,"config G-XXXXXXXXXX":G,custom_event:q,"*":{data:{}}},C={consent:{update:L}},T=function(t,e){return _async_to_generator(function(){var r,n,o,i;return _ts_generator(this,function(u){try{return r=e.elb,n=e.window,o=_object_spread({name:"dataLayer",prefix:"dataLayer"},null==t?void 0:t.settings),i={settings:o},n&&(function(t,e){var r=e.settings,n=(null==r?void 0:r.name)||"dataLayer",o=window[n];if(Array.isArray(o)&&!O){O=!0;try{var i=!0,u=!1,c=void 0;try{for(var l,f=o[Symbol.iterator]();!(i=(l=f.next()).done);i=!0){var s=l.value;a(t,r,s)}}catch(t){u=!0,c=t}finally{try{i||null==f.return||f.return()}finally{if(u)throw c}}}finally{O=!1}}}(r,i),function(t,e){var r=e.settings,n=(null==r?void 0:r.name)||"dataLayer";window[n]||(window[n]=[]);var o=window[n];if(Array.isArray(o)){var i=o.push.bind(o);o.push=function(){for(var e=arguments.length,n=new Array(e),o=0;o<e;o++)n[o]=arguments[o];if(O)return i.apply(void 0,_to_consumable_array(n));O=!0;try{var u=!0,c=!1,l=void 0;try{for(var f,s=n[Symbol.iterator]();!(u=(f=s.next()).done);u=!0){var _=f.value;a(t,r,_)}}catch(t){c=!0,l=t}finally{try{u||null==s.return||s.return()}finally{if(c)throw l}}}finally{O=!1}return i.apply(void 0,_to_consumable_array(n))}}}(r,i)),[2,{type:"dataLayer",config:i,push:r,destroy:function(){return _async_to_generator(function(){var t;return _ts_generator(this,function(e){return t=o.name||"dataLayer",n&&n[t]&&Array.isArray(n[t]),[2]})})()}}]}catch(t){throw t}return[2]})})()},N=T;return x=j,function(t,e,r,n){if(e&&"object"===(void 0===e?"undefined":_type_of(e))||"function"==typeof e){var a=!0,o=!1,i=void 0;try{for(var u,c=function(){var a=u.value;h.call(t,a)||a===r||v(t,a,{get:function(){return e[a]},enumerable:!(n=b(e,a))||n.enumerable})},l=g(e)[Symbol.iterator]();!(a=(u=l.next()).done);a=!0)c()}catch(t){o=!0,i=t}finally{try{a||null==l.return||l.return()}finally{if(o)throw i}}}return t}(v({},"__esModule",{value:!0}),x)}();
1
+ "use strict";function _array_like_to_array(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function _array_with_holes(e){if(Array.isArray(e))return e}function _array_without_holes(e){if(Array.isArray(e))return _array_like_to_array(e)}function _assert_this_initialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function asyncGeneratorStep(e,t,r,n,a,i,o){try{var s=e[i](o),u=s.value}catch(e){return void r(e)}s.done?t(u):Promise.resolve(u).then(n,a)}function _async_to_generator(e){return function(){var t=this,r=arguments;return new Promise(function(n,a){var i=e.apply(t,r);function o(e){asyncGeneratorStep(i,n,a,o,s,"next",e)}function s(e){asyncGeneratorStep(i,n,a,o,s,"throw",e)}o(void 0)})}}function _call_super(e,t,r){return t=_get_prototype_of(t),_possible_constructor_return(e,_is_native_reflect_construct()?Reflect.construct(t,r||[],_get_prototype_of(e).constructor):t.apply(e,r))}function _class_call_check(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _construct(e,t,r){return _construct=_is_native_reflect_construct()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var a=new(Function.bind.apply(e,n));return r&&_set_prototype_of(a,r.prototype),a},_construct.apply(null,arguments)}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function _create_class(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),e}function _define_property(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _get_prototype_of(e){return _get_prototype_of=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},_get_prototype_of(e)}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_set_prototype_of(e,t)}function _instanceof(e,t){return null!=t&&"undefined"!=typeof Symbol&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](e):e instanceof t}function _is_native_function(e){return-1!==Function.toString.call(e).indexOf("[native code]")}function _iterable_to_array(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _iterable_to_array_limit(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,i=[],o=!0,s=!1;try{for(r=r.call(e);!(o=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);o=!0);}catch(e){s=!0,a=e}finally{try{o||null==r.return||r.return()}finally{if(s)throw a}}return i}}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){_define_property(e,t,r[t])})}return e}function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _object_spread_props(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function _object_without_properties(e,t){if(null==e)return{};var r,n,a=_object_without_properties_loose(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}function _object_without_properties_loose(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}function _possible_constructor_return(e,t){return!t||"object"!==_type_of(t)&&"function"!=typeof t?_assert_this_initialized(e):t}function _set_prototype_of(e,t){return _set_prototype_of=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},_set_prototype_of(e,t)}function _sliced_to_array(e,t){return _array_with_holes(e)||_iterable_to_array_limit(e,t)||_unsupported_iterable_to_array(e,t)||_non_iterable_rest()}function _to_consumable_array(e){return _array_without_holes(e)||_iterable_to_array(e)||_unsupported_iterable_to_array(e)||_non_iterable_spread()}function _type_of(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function _unsupported_iterable_to_array(e,t){if(e){if("string"==typeof e)return _array_like_to_array(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(r):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_array_like_to_array(e,t):void 0}}function _wrap_native_super(e){var t="function"==typeof Map?new Map:void 0;return _wrap_native_super=function(e){if(null===e||!_is_native_function(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return _construct(e,arguments,_get_prototype_of(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),_set_prototype_of(r,e)},_wrap_native_super(e)}function _is_native_reflect_construct(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(_is_native_reflect_construct=function(){return!!e})()}function _ts_generator(e,t){var r,n,a,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return o.next=s(0),o.throw=s(1),o.return=s(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(u){return function(s){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(i=0)),i;)try{if(r=1,n&&(a=2&s[0]?n.return:s[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,s[1])).done)return a;switch(n=0,a&&(s=[2&s[0],a.value]),s[0]){case 0:case 1:a=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,n=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(a=i.trys,(a=a.length>0&&a[a.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]<a[3])){i.label=s[1];break}if(6===s[0]&&i.label<a[1]){i.label=a[1],a=s;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(s);break}a[2]&&i.ops.pop(),i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e],n=0}finally{r=a=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,u])}}}var Destination=function(){var e=function(e){se=e},t=function(){return se},r=function(e,r){var n=t(),a=ue({issueData:r,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===oe?void 0:oe].filter(function(e){return!!e})});e.common.issues.push(a)},n=function(e){if(!e)return{};var t=e.errorMap,r=e.invalid_type_error,n=e.required_error,a=e.description;if(t&&(r||n))throw new Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');if(t)return{errorMap:t,description:a};return{errorMap:function(t,a){var i,o,s=e.message;return"invalid_enum_value"===t.code?{message:null!=s?s:a.defaultError}:void 0===a.data?{message:null!==(i=null!=s?s:n)&&void 0!==i?i:a.defaultError}:"invalid_type"!==t.code?{message:a.defaultError}:{message:null!==(o=null!=s?s:r)&&void 0!==o?o:a.defaultError}},description:a}},a=function(e){var t="[0-5]\\d";e.precision?t="".concat(t,"\\.\\d{").concat(e.precision,"}"):null==e.precision&&(t="".concat(t,"(\\.\\d+)?"));var r=e.precision?"+":"?";return"([01]\\d|2[0-3]):[0-5]\\d(:".concat(t,")").concat(r)},i=function(e){return new RegExp("^".concat(a(e),"$"))},o=function(e){var t="".concat(Re,"T").concat(a(e)),r=[];return r.push(e.local?"Z?":"Z"),e.offset&&r.push("([+-]\\d{2}:?\\d{2})"),t="".concat(t,"(").concat(r.join("|"),")"),new RegExp("^".concat(t,"$"))},s=function(e,t){return!("v4"!==t&&t||!Te.test(e))||!("v6"!==t&&t||!Ce.test(e))},u=function(e,t){if(!Oe.test(e))return!1;try{var r=_sliced_to_array(e.split("."),1)[0];if(!r)return!1;var n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),a=JSON.parse(atob(n));return"object"===(void 0===a?"undefined":_type_of(a))&&null!==a&&((!("typ"in a)||"JWT"===(null==a?void 0:a.typ))&&(!!a.alg&&(!t||a.alg===t)))}catch(e){return!1}},c=function(e,t){return!("v4"!==t&&t||!Ne.test(e))||!("v6"!==t&&t||!Ee.test(e))},l=function(e,t){var r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,a=r>n?r:n;return Number.parseInt(e.toFixed(a).replace(".",""))%Number.parseInt(t.toFixed(a).replace(".",""))/Math.pow(10,a)},d=function(e,t){return new dt(_object_spread({values:e,typeName:xt.ZodEnum},n(t)))},_=function(e,t){var r="function"==typeof e?e(t):"string"==typeof e?{message:e}:e;return"string"==typeof r?{message:r}:r},f=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0;return e?qe.create().superRefine(function(n,a){var i=e(n);if(_instanceof(i,Promise))return i.then(function(e){if(!e){var i,o,s=_(t,n),u=null===(o=null!==(i=s.fatal)&&void 0!==i?i:r)||void 0===o||o;a.addIssue(_object_spread_props(_object_spread({code:"custom"},s),{fatal:u}))}});if(!i){var o,s,u=_(t,n),c=null===(s=null!==(o=u.fatal)&&void 0!==o?o:r)||void 0===s||s;a.addIssue(_object_spread_props(_object_spread({code:"custom"},u),{fatal:c}))}}):qe.create()},p=function(e,t,r,n){(null==n?void 0:n.errorMessages)&&r&&(e.errorMessage=_object_spread_props(_object_spread({},e.errorMessage),_define_property({},t,r)))},y=function(e,t,r,n,a){e[t]=r,p(e,t,n,a)},h=function(e){if("openAi"!==e.target)return{};var t=_to_consumable_array(e.basePath).concat([e.definitionPath,e.openAiAnyTypeName]);return e.flags.hasReferencedOpenAiAnyType=!0,{$ref:"relative"===e.$refStrategy?hr(t,e.currentPath):t.join("/")}},v=function(e,t){return Zr(e.type._def,t)},m=function(e,t){var r={type:"string"};if(e.checks){var n=!0,a=!1,i=void 0;try{for(var o,s=e.checks[Symbol.iterator]();!(n=(o=s.next()).done);n=!0){var u=o.value;switch(u.kind){case"min":y(r,"minLength","number"==typeof r.minLength?Math.max(r.minLength,u.value):u.value,u.message,t);break;case"max":y(r,"maxLength","number"==typeof r.maxLength?Math.min(r.maxLength,u.value):u.value,u.message,t);break;case"email":switch(t.emailStrategy){case"format:email":k(r,"email",u.message,t);break;case"format:idn-email":k(r,"idn-email",u.message,t);break;case"pattern:zod":j(r,kr.email,u.message,t)}break;case"url":k(r,"uri",u.message,t);break;case"uuid":k(r,"uuid",u.message,t);break;case"regex":j(r,u.regex,u.message,t);break;case"cuid":j(r,kr.cuid,u.message,t);break;case"cuid2":j(r,kr.cuid2,u.message,t);break;case"startsWith":j(r,RegExp("^".concat(g(u.value,t))),u.message,t);break;case"endsWith":j(r,RegExp("".concat(g(u.value,t),"$")),u.message,t);break;case"datetime":k(r,"date-time",u.message,t);break;case"date":k(r,"date",u.message,t);break;case"time":k(r,"time",u.message,t);break;case"duration":k(r,"duration",u.message,t);break;case"length":y(r,"minLength","number"==typeof r.minLength?Math.max(r.minLength,u.value):u.value,u.message,t),y(r,"maxLength","number"==typeof r.maxLength?Math.min(r.maxLength,u.value):u.value,u.message,t);break;case"includes":j(r,RegExp(g(u.value,t)),u.message,t);break;case"ip":"v6"!==u.version&&k(r,"ipv4",u.message,t),"v4"!==u.version&&k(r,"ipv6",u.message,t);break;case"base64url":j(r,kr.base64url,u.message,t);break;case"jwt":j(r,kr.jwt,u.message,t);break;case"cidr":"v6"!==u.version&&j(r,kr.ipv4Cidr,u.message,t),"v4"!==u.version&&j(r,kr.ipv6Cidr,u.message,t);break;case"emoji":j(r,kr.emoji(),u.message,t);break;case"ulid":j(r,kr.ulid,u.message,t);break;case"base64":switch(t.base64Strategy){case"format:binary":k(r,"binary",u.message,t);break;case"contentEncoding:base64":y(r,"contentEncoding","base64",u.message,t);break;case"pattern:zod":j(r,kr.base64,u.message,t)}break;case"nanoid":j(r,kr.nanoid,u.message,t);case"toLowerCase":case"toUpperCase":case"trim":break;default:(function(){})()}}}catch(e){a=!0,i=e}finally{try{n||null==s.return||s.return()}finally{if(a)throw i}}}return r},g=function(e,t){return"escape"===t.patternStrategy?b(e):e},b=function(e){for(var t="",r=0;r<e.length;r++)jr.has(e[r])||(t+="\\"),t+=e[r];return t},k=function(e,t,r,n){var a;e.format||(null===(a=e.anyOf)||void 0===a?void 0:a.some(function(e){return e.format}))?(e.anyOf||(e.anyOf=[]),e.format&&(e.anyOf.push(_object_spread({format:e.format},e.errorMessage&&n.errorMessages&&{errorMessage:{format:e.errorMessage.format}})),delete e.format,e.errorMessage&&(delete e.errorMessage.format,0===Object.keys(e.errorMessage).length&&delete e.errorMessage)),e.anyOf.push(_object_spread({format:t},r&&n.errorMessages&&{errorMessage:{format:r}}))):y(e,"format",t,r,n)},j=function(e,t,r,n){var a;e.pattern||(null===(a=e.allOf)||void 0===a?void 0:a.some(function(e){return e.pattern}))?(e.allOf||(e.allOf=[]),e.pattern&&(e.allOf.push(_object_spread({pattern:e.pattern},e.errorMessage&&n.errorMessages&&{errorMessage:{pattern:e.errorMessage.pattern}})),delete e.pattern,e.errorMessage&&(delete e.errorMessage.pattern,0===Object.keys(e.errorMessage).length&&delete e.errorMessage)),e.allOf.push(_object_spread({pattern:w(t,n)},r&&n.errorMessages&&{errorMessage:{pattern:r}}))):y(e,"pattern",w(t,n),r,n)},w=function(e,t){if(!t.applyRegexFlags||!e.flags)return e.source;for(var r=e.flags.includes("i"),n=e.flags.includes("m"),a=e.flags.includes("s"),i=r?e.source.toLowerCase():e.source,o="",s=!1,u=!1,c=!1,l=0;l<i.length;l++)if(s)o+=i[l],s=!1;else{if(r)if(u){if(i[l].match(/[a-z]/)){var d;c?(o+=i[l],o+="".concat(i[l-2],"-").concat(i[l]).toUpperCase(),c=!1):"-"===i[l+1]&&(null===(d=i[l+2])||void 0===d?void 0:d.match(/[a-z]/))?(o+=i[l],c=!0):o+="".concat(i[l]).concat(i[l].toUpperCase());continue}}else if(i[l].match(/[a-z]/)){o+="[".concat(i[l]).concat(i[l].toUpperCase(),"]");continue}if(n){if("^"===i[l]){o+="(^|(?<=[\r\n]))";continue}if("$"===i[l]){o+="($|(?=[\r\n]))";continue}}a&&"."===i[l]?o+=u?"".concat(i[l],"\r\n"):"[".concat(i[l],"\r\n]"):(o+=i[l],"\\"===i[l]?s=!0:u&&"]"===i[l]?u=!1:u||"["!==i[l]||(u=!0))}try{new RegExp(o)}catch(r){return console.warn("Could not convert regex pattern at ".concat(t.currentPath.join("/")," to a flag-independent form! Falling back to the flag-ignorant source")),e.source}return o},x=function(e,t){var r,n,a,i,o,s,u;if("openAi"===t.target&&console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead."),"openApi3"===t.target&&(null===(r=e.keyType)||void 0===r?void 0:r._def.typeName)===xt.ZodEnum)return{type:"object",required:e.keyType._def.values,properties:e.keyType._def.values.reduce(function(r,n){var a;return _object_spread_props(_object_spread({},r),_define_property({},n,null!==(a=Zr(e.valueType._def,_object_spread_props(_object_spread({},t),{currentPath:_to_consumable_array(t.currentPath).concat(["properties",n])})))&&void 0!==a?a:h(t)))},{}),additionalProperties:t.rejectedAdditionalProperties};var c={type:"object",additionalProperties:null!==(u=Zr(e.valueType._def,_object_spread_props(_object_spread({},t),{currentPath:_to_consumable_array(t.currentPath).concat(["additionalProperties"])})))&&void 0!==u?u:t.allowedAdditionalProperties};if("openApi3"===t.target)return c;if((null===(n=e.keyType)||void 0===n?void 0:n._def.typeName)===xt.ZodString&&(null===(a=e.keyType._def.checks)||void 0===a?void 0:a.length)){var l=m(e.keyType._def,t),d=(l.type,_object_without_properties(l,["type"]));return _object_spread_props(_object_spread({},c),{propertyNames:d})}if((null===(i=e.keyType)||void 0===i?void 0:i._def.typeName)===xt.ZodEnum)return _object_spread_props(_object_spread({},c),{propertyNames:{enum:e.keyType._def.values}});if((null===(o=e.keyType)||void 0===o?void 0:o._def.typeName)===xt.ZodBranded&&e.keyType._def.type._def.typeName===xt.ZodString&&(null===(s=e.keyType._def.type._def.checks)||void 0===s?void 0:s.length)){var _=v(e.keyType._def,t),f=(_.type,_object_without_properties(_,["type"]));return _object_spread_props(_object_spread({},c),{propertyNames:f})}return c},S=function(e,t){if("ZodNever"!==e.catchall._def.typeName)return Zr(e.catchall._def,_object_spread_props(_object_spread({},t),{currentPath:_to_consumable_array(t.currentPath).concat(["additionalProperties"])}));switch(e.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return"strict"===t.removeAdditionalStrategy?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}},Z=function(e){try{return e.isOptional()}catch(e){return!0}},O=function(e){return Array.isArray(e)},A=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!O(e)&&"[object Object]"===Object.prototype.toString.call(e)},P=function(e){return"string"==typeof e},T=function(e,t,r){return function(){for(var n=arguments.length,a=new Array(n),i=0;i<n;i++)a[i]=arguments[i];try{return e.apply(void 0,_to_consumable_array(a))}catch(e){if(!t)return;return t(e)}finally{null==r||r()}}},N=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0;if(t.filter&&!0===T(function(){return t.filter(r)},function(){return!1})())return;var n=C(r);if(n){var a=t.prefix||"dataLayer",i="".concat(a," ").concat(n.name),o=(n.name,{name:i,data:_object_without_properties(n,["name"])});T(function(){return e(o)},function(){})()}},C=function(e){if(A(e)&&P(e.event))return _object_spread({name:e.event},_object_without_properties(e,["event"]));if(O(e)&&e.length>=2)return E(e);if(I(e)){var t=Array.from(e);return E(t)}return null},E=function(e){var t,r=_sliced_to_array(e,3),n=r[0],a=r[1],i=r[2];if(!P(n))return null;var o={};switch(n){case"consent":if(!P(a)||e.length<3)return null;if("default"!==a&&"update"!==a)return null;if(!A(i)||null===i)return null;t="".concat(n," ").concat(a),o=_object_spread({},i);break;case"event":if(!P(a))return null;t=a,A(i)&&(o=_object_spread({},i));break;case"config":if(!P(a))return null;t="".concat(n," ").concat(a),A(i)&&(o=_object_spread({},i));break;case"set":if(P(a))t="".concat(n," ").concat(a),A(i)&&(o=_object_spread({},i));else{if(!A(a))return null;t="".concat(n," custom"),o=_object_spread({},a)}break;default:return null}return _object_spread({name:t},o)},I=function(e){return null!=e&&"object"===(void 0===e?"undefined":_type_of(e))&&"length"in e&&"number"==typeof e.length&&e.length>0},M=function(){return["consent","update",{ad_user_data:"granted",ad_personalization:"granted",ad_storage:"denied",analytics_storage:"granted"}]},R=function(){return["consent","default",{ad_storage:"denied",analytics_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"}]},L=function(){return["event","purchase",{transaction_id:"T_12345",value:25.42,currency:"EUR",items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",quantity:1,price:25.42}]}]},F=function(){return["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_variant:"red",quantity:1,price:15.25}]}]},z=function(){return["event","view_item",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",price:15.25}]}]},D=function(){return["config","G-XXXXXXXXXX",{page_title:"Custom Page Title",page_location:"https://example.com/page",send_page_view:!1}]},$=function(){return["set",{currency:"EUR",country:"DE"}]},U=function(){return{event:"custom_event",custom_parameter:"custom_value",user_id:"user123"}},V=Object.defineProperty,B=Object.getOwnPropertyDescriptor,K=Object.getOwnPropertyNames,q=Object.prototype.hasOwnProperty,W=function(e,t){for(var r in t)V(e,r,{get:t[r],enumerable:!0})},X={};W(X,{Events:function(){return Kr},Mapping:function(){return qr},SourceDataLayer:function(){return Dr},consentOnlyMapping:function(){return tn},consentUpdateEvent:function(){return M},dataLayerExamples:function(){return en},default:function(){return nn},env:function(){return $r},sourceDataLayer:function(){return rn}});var G,J,H,Y={};W(Y,{BRAND:function(){return bt},DIRTY:function(){return _e},EMPTY_PATH:function(){return ce},INVALID:function(){return de},NEVER:function(){return _r},OK:function(){return fe},ParseStatus:function(){return le},Schema:function(){return ke},ZodAny:function(){return qe},ZodArray:function(){return Je},ZodBigInt:function(){return De},ZodBoolean:function(){return $e},ZodBranded:function(){return kt},ZodCatch:function(){return mt},ZodDate:function(){return Ue},ZodDefault:function(){return vt},ZodDiscriminatedUnion:function(){return tt},ZodEffects:function(){return pt},ZodEnum:function(){return dt},ZodError:function(){return ne},ZodFirstPartyTypeKind:function(){return xt},ZodFunction:function(){return ut},ZodIntersection:function(){return nt},ZodIssueCode:function(){return te},ZodLazy:function(){return ct},ZodLiteral:function(){return lt},ZodMap:function(){return ot},ZodNaN:function(){return gt},ZodNativeEnum:function(){return _t},ZodNever:function(){return Xe},ZodNull:function(){return Ke},ZodNullable:function(){return ht},ZodNumber:function(){return ze},ZodObject:function(){return Ye},ZodOptional:function(){return yt},ZodParsedType:function(){return Q},ZodPipeline:function(){return jt},ZodPromise:function(){return ft},ZodReadonly:function(){return wt},ZodRecord:function(){return it},ZodSchema:function(){return ke},ZodSet:function(){return st},ZodString:function(){return Fe},ZodSymbol:function(){return Ve},ZodTransformer:function(){return pt},ZodTuple:function(){return at},ZodType:function(){return ke},ZodUndefined:function(){return Be},ZodUnion:function(){return Qe},ZodUnknown:function(){return We},ZodVoid:function(){return Ge},addIssueToContext:function(){return r},any:function(){return Lt},array:function(){return $t},bigint:function(){return Nt},boolean:function(){return Ct},coerce:function(){return dr},custom:function(){return f},date:function(){return Et},datetimeRegex:function(){return o},defaultErrorMap:function(){return oe},discriminatedUnion:function(){return Kt},effect:function(){return nr},enum:function(){return er},function:function(){return Ht},getErrorMap:function(){return t},getParsedType:function(){return ee},instanceof:function(){return Ot},intersection:function(){return qt},isAborted:function(){return pe},isAsync:function(){return ve},isDirty:function(){return ye},isValid:function(){return he},late:function(){return Zt},lazy:function(){return Yt},literal:function(){return Qt},makeIssue:function(){return ue},map:function(){return Gt},nan:function(){return Tt},nativeEnum:function(){return tr},never:function(){return zt},null:function(){return Rt},nullable:function(){return ir},number:function(){return Pt},object:function(){return Ut},objectUtil:function(){return H},oboolean:function(){return lr},onumber:function(){return cr},optional:function(){return ar},ostring:function(){return ur},pipeline:function(){return sr},preprocess:function(){return or},promise:function(){return rr},quotelessJson:function(){return re},record:function(){return Xt},set:function(){return Jt},setErrorMap:function(){return e},strictObject:function(){return Vt},string:function(){return At},symbol:function(){return It},transformer:function(){return nr},tuple:function(){return Wt},undefined:function(){return Mt},union:function(){return Bt},unknown:function(){return Ft},util:function(){return G},void:function(){return Dt}}),(J=G||(G={})).assertEqual=function(e){},J.assertIs=function(e){},J.assertNever=function(e){throw new Error},J.arrayToEnum=function(e){var t={},r=!0,n=!1,a=void 0;try{for(var i,o=e[Symbol.iterator]();!(r=(i=o.next()).done);r=!0){var s=i.value;t[s]=s}}catch(e){n=!0,a=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw a}}return t},J.getValidEnumValues=function(e){var t=J.objectKeys(e).filter(function(t){return"number"!=typeof e[e[t]]}),r={},n=!0,a=!1,i=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done);n=!0){var u=o.value;r[u]=e[u]}}catch(e){a=!0,i=e}finally{try{n||null==s.return||s.return()}finally{if(a)throw i}}return J.objectValues(r)},J.objectValues=function(e){return J.objectKeys(e).map(function(t){return e[t]})},J.objectKeys="function"==typeof Object.keys?function(e){return Object.keys(e)}:function(e){var t=[];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.push(r);return t},J.find=function(e,t){var r=!0,n=!1,a=void 0;try{for(var i,o=e[Symbol.iterator]();!(r=(i=o.next()).done);r=!0){var s=i.value;if(t(s))return s}}catch(e){n=!0,a=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw a}}},J.isInteger="function"==typeof Number.isInteger?function(e){return Number.isInteger(e)}:function(e){return"number"==typeof e&&Number.isFinite(e)&&Math.floor(e)===e},J.joinValues=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:" | ";return e.map(function(e){return"string"==typeof e?"'".concat(e,"'"):e}).join(t)},J.jsonStringifyReplacer=function(e,t){return"bigint"===(void 0===t?"undefined":_type_of(t))?t.toString():t},(H||(H={})).mergeShapes=function(e,t){return _object_spread({},e,t)};var Q=G.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ee=function(e){switch(void 0===e?"undefined":_type_of(e)){case"undefined":return Q.undefined;case"string":return Q.string;case"number":return Number.isNaN(e)?Q.nan:Q.number;case"boolean":return Q.boolean;case"function":return Q.function;case"bigint":return Q.bigint;case"symbol":return Q.symbol;case"object":return Array.isArray(e)?Q.array:null===e?Q.null:e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch?Q.promise:"undefined"!=typeof Map&&_instanceof(e,Map)?Q.map:"undefined"!=typeof Set&&_instanceof(e,Set)?Q.set:"undefined"!=typeof Date&&_instanceof(e,Date)?Q.date:Q.object;default:return Q.unknown}},te=G.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),re=function(e){return JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:")},ne=function(e){function t(e){var r;_class_call_check(this,t),(r=_call_super(this,t)).issues=[],r.addIssue=function(e){r.issues=_to_consumable_array(r.issues).concat([e])},r.addIssues=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];r.issues=_to_consumable_array(r.issues).concat(_to_consumable_array(e))};var n=(_instanceof(this,t)?this.constructor:void 0).prototype;return Object.setPrototypeOf?Object.setPrototypeOf(r,n):r.__proto__=n,r.name="ZodError",r.issues=e,r}return _inherits(t,e),_create_class(t,[{key:"errors",get:function(){return this.issues}},{key:"format",value:function(e){var t=e||function(e){return e.message},r={_errors:[]},n=function(e){var a=!0,i=!1,o=void 0;try{for(var s,u=e.issues[Symbol.iterator]();!(a=(s=u.next()).done);a=!0){var c=s.value;if("invalid_union"===c.code)c.unionErrors.map(n);else if("invalid_return_type"===c.code)n(c.returnTypeError);else if("invalid_arguments"===c.code)n(c.argumentsError);else if(0===c.path.length)r._errors.push(t(c));else for(var l=r,d=0;d<c.path.length;){var _=c.path[d];d===c.path.length-1?(l[_]=l[_]||{_errors:[]},l[_]._errors.push(t(c))):l[_]=l[_]||{_errors:[]},l=l[_],d++}}}catch(e){i=!0,o=e}finally{try{a||null==u.return||u.return()}finally{if(i)throw o}}};return n(this),r}},{key:"toString",value:function(){return this.message}},{key:"message",get:function(){return JSON.stringify(this.issues,G.jsonStringifyReplacer,2)}},{key:"isEmpty",get:function(){return 0===this.issues.length}},{key:"flatten",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(e){return e.message},t={},r=[],n=!0,a=!1,i=void 0;try{for(var o,s=this.issues[Symbol.iterator]();!(n=(o=s.next()).done);n=!0){var u=o.value;if(u.path.length>0){var c=u.path[0];t[c]=t[c]||[],t[c].push(e(u))}else r.push(e(u))}}catch(e){a=!0,i=e}finally{try{n||null==s.return||s.return()}finally{if(a)throw i}}return{formErrors:r,fieldErrors:t}}},{key:"formErrors",get:function(){return this.flatten()}}],[{key:"assert",value:function(e){if(!_instanceof(e,t))throw new Error("Not a ZodError: ".concat(e))}}]),t}(_wrap_native_super(Error));ne.create=function(e){return new ne(e)};var ae,ie,oe=function(e,t){var r;switch(e.code){case te.invalid_type:r=e.received===Q.undefined?"Required":"Expected ".concat(e.expected,", received ").concat(e.received);break;case te.invalid_literal:r="Invalid literal value, expected ".concat(JSON.stringify(e.expected,G.jsonStringifyReplacer));break;case te.unrecognized_keys:r="Unrecognized key(s) in object: ".concat(G.joinValues(e.keys,", "));break;case te.invalid_union:r="Invalid input";break;case te.invalid_union_discriminator:r="Invalid discriminator value. Expected ".concat(G.joinValues(e.options));break;case te.invalid_enum_value:r="Invalid enum value. Expected ".concat(G.joinValues(e.options),", received '").concat(e.received,"'");break;case te.invalid_arguments:r="Invalid function arguments";break;case te.invalid_return_type:r="Invalid function return type";break;case te.invalid_date:r="Invalid date";break;case te.invalid_string:"object"===_type_of(e.validation)?"includes"in e.validation?(r='Invalid input: must include "'.concat(e.validation.includes,'"'),"number"==typeof e.validation.position&&(r="".concat(r," at one or more positions greater than or equal to ").concat(e.validation.position))):"startsWith"in e.validation?r='Invalid input: must start with "'.concat(e.validation.startsWith,'"'):"endsWith"in e.validation?r='Invalid input: must end with "'.concat(e.validation.endsWith,'"'):G.assertNever(e.validation):r="regex"!==e.validation?"Invalid ".concat(e.validation):"Invalid";break;case te.too_small:r="array"===e.type?"Array must contain ".concat(e.exact?"exactly":e.inclusive?"at least":"more than"," ").concat(e.minimum," element(s)"):"string"===e.type?"String must contain ".concat(e.exact?"exactly":e.inclusive?"at least":"over"," ").concat(e.minimum," character(s)"):"number"===e.type||"bigint"===e.type?"Number must be ".concat(e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than ").concat(e.minimum):"date"===e.type?"Date must be ".concat(e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than ").concat(new Date(Number(e.minimum))):"Invalid input";break;case te.too_big:r="array"===e.type?"Array must contain ".concat(e.exact?"exactly":e.inclusive?"at most":"less than"," ").concat(e.maximum," element(s)"):"string"===e.type?"String must contain ".concat(e.exact?"exactly":e.inclusive?"at most":"under"," ").concat(e.maximum," character(s)"):"number"===e.type?"Number must be ".concat(e.exact?"exactly":e.inclusive?"less than or equal to":"less than"," ").concat(e.maximum):"bigint"===e.type?"BigInt must be ".concat(e.exact?"exactly":e.inclusive?"less than or equal to":"less than"," ").concat(e.maximum):"date"===e.type?"Date must be ".concat(e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"," ").concat(new Date(Number(e.maximum))):"Invalid input";break;case te.custom:r="Invalid input";break;case te.invalid_intersection_types:r="Intersection results could not be merged";break;case te.not_multiple_of:r="Number must be a multiple of ".concat(e.multipleOf);break;case te.not_finite:r="Number must be finite";break;default:r=t.defaultError,G.assertNever(e)}return{message:r}},se=oe,ue=function(e){var t=e.data,r=e.path,n=e.errorMaps,a=e.issueData,i=_to_consumable_array(r).concat(_to_consumable_array(a.path||[])),o=_object_spread_props(_object_spread({},a),{path:i});if(void 0!==a.message)return _object_spread_props(_object_spread({},a),{path:i,message:a.message});var s="",u=n.filter(function(e){return!!e}).slice().reverse(),c=!0,l=!1,d=void 0;try{for(var _,f=u[Symbol.iterator]();!(c=(_=f.next()).done);c=!0){s=(0,_.value)(o,{data:t,defaultError:s}).message}}catch(e){l=!0,d=e}finally{try{c||null==f.return||f.return()}finally{if(l)throw d}}return _object_spread_props(_object_spread({},a),{path:i,message:s})},ce=[],le=function(){function e(){_class_call_check(this,e),this.value="valid"}return _create_class(e,[{key:"dirty",value:function(){"valid"===this.value&&(this.value="dirty")}},{key:"abort",value:function(){"aborted"!==this.value&&(this.value="aborted")}}],[{key:"mergeArray",value:function(e,t){var r=[],n=!0,a=!1,i=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done);n=!0){var u=o.value;if("aborted"===u.status)return de;"dirty"===u.status&&e.dirty(),r.push(u.value)}}catch(e){a=!0,i=e}finally{try{n||null==s.return||s.return()}finally{if(a)throw i}}return{status:e.value,value:r}}},{key:"mergeObjectAsync",value:function(t,r){return _async_to_generator(function(){var n,a,i,o,s,u,c,l,d,_;return _ts_generator(this,function(f){switch(f.label){case 0:n=[],a=!0,i=!1,o=void 0,f.label=1;case 1:f.trys.push([1,7,8,9]),s=r[Symbol.iterator](),f.label=2;case 2:return(a=(u=s.next()).done)?[3,6]:[4,(c=u.value).key];case 3:return l=f.sent(),[4,c.value];case 4:d=f.sent(),n.push({key:l,value:d}),f.label=5;case 5:return a=!0,[3,2];case 6:return[3,9];case 7:return _=f.sent(),i=!0,o=_,[3,9];case 8:try{a||null==s.return||s.return()}finally{if(i)throw o}return[7];case 9:return[2,e.mergeObjectSync(t,n)]}})})()}},{key:"mergeObjectSync",value:function(e,t){var r={},n=!0,a=!1,i=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done);n=!0){var u=o.value,c=u.key,l=u.value;if("aborted"===c.status)return de;if("aborted"===l.status)return de;"dirty"===c.status&&e.dirty(),"dirty"===l.status&&e.dirty(),"__proto__"===c.value||void 0===l.value&&!u.alwaysSet||(r[c.value]=l.value)}}catch(e){a=!0,i=e}finally{try{n||null==s.return||s.return()}finally{if(a)throw i}}return{status:e.value,value:r}}}]),e}(),de=Object.freeze({status:"aborted"}),_e=function(e){return{status:"dirty",value:e}},fe=function(e){return{status:"valid",value:e}},pe=function(e){return"aborted"===e.status},ye=function(e){return"dirty"===e.status},he=function(e){return"valid"===e.status},ve=function(e){return"undefined"!=typeof Promise&&_instanceof(e,Promise)};(ie=ae||(ae={})).errToObj=function(e){return"string"==typeof e?{message:e}:e||{}},ie.toString=function(e){return"string"==typeof e?e:null==e?void 0:e.message};var me,ge=function(){function e(t,r,n,a){_class_call_check(this,e),this._cachedPath=[],this.parent=t,this.data=r,this._path=n,this._key=a}return _create_class(e,[{key:"path",get:function(){var e,t;this._cachedPath.length||(Array.isArray(this._key)?(e=this._cachedPath).push.apply(e,_to_consumable_array(this._path).concat(_to_consumable_array(this._key))):(t=this._cachedPath).push.apply(t,_to_consumable_array(this._path).concat([this._key])));return this._cachedPath}}]),e}(),be=function(e,t){if(he(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;var t=new ne(e.common.issues);return this._error=t,this._error}}},ke=function(){function e(t){var r=this;_class_call_check(this,e),this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:function(e){return r["~validate"](e)}}}return _create_class(e,[{key:"description",get:function(){return this._def.description}},{key:"_getType",value:function(e){return ee(e.data)}},{key:"_getOrReturnCtx",value:function(e,t){return t||{common:e.parent.common,data:e.data,parsedType:ee(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}},{key:"_processInputParams",value:function(e){return{status:new le,ctx:{common:e.parent.common,data:e.data,parsedType:ee(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}},{key:"_parseSync",value:function(e){var t=this._parse(e);if(ve(t))throw new Error("Synchronous parse encountered promise.");return t}},{key:"_parseAsync",value:function(e){var t=this._parse(e);return Promise.resolve(t)}},{key:"parse",value:function(e,t){var r=this.safeParse(e,t);if(r.success)return r.data;throw r.error}},{key:"safeParse",value:function(e,t){var r,n={common:{issues:[],async:null!==(r=null==t?void 0:t.async)&&void 0!==r&&r,contextualErrorMap:null==t?void 0:t.errorMap},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ee(e)},a=this._parseSync({data:e,path:n.path,parent:n});return be(n,a)}},{key:"~validate",value:function(e){var t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ee(e)};if(!this["~standard"].async)try{var r=this._parseSync({data:e,path:[],parent:t});return he(r)?{value:r.value}:{issues:t.common.issues}}catch(e){var n,a;(null==e||null===(a=e.message)||void 0===a||null===(n=a.toLowerCase())||void 0===n?void 0:n.includes("encountered"))&&(this["~standard"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(function(e){return he(e)?{value:e.value}:{issues:t.common.issues}})}},{key:"parseAsync",value:function(e,t){return _async_to_generator(function(){var r;return _ts_generator(this,function(n){switch(n.label){case 0:return[4,this.safeParseAsync(e,t)];case 1:if((r=n.sent()).success)return[2,r.data];throw r.error}})}).call(this)}},{key:"safeParseAsync",value:function(e,t){return _async_to_generator(function(){var r,n,a;return _ts_generator(this,function(i){switch(i.label){case 0:return r={common:{issues:[],contextualErrorMap:null==t?void 0:t.errorMap,async:!0},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ee(e)},n=this._parse({data:e,path:r.path,parent:r}),[4,ve(n)?n:Promise.resolve(n)];case 1:return a=i.sent(),[2,be(r,a)]}})}).call(this)}},{key:"refine",value:function(e,t){return this._refinement(function(r,n){var a=e(r),i=function(){return n.addIssue(_object_spread({code:te.custom},function(e){return"string"==typeof t||void 0===t?{message:t}:"function"==typeof t?t(e):t}(r)))};return"undefined"!=typeof Promise&&_instanceof(a,Promise)?a.then(function(e){return!!e||(i(),!1)}):!!a||(i(),!1)})}},{key:"refinement",value:function(e,t){return this._refinement(function(r,n){return!!e(r)||(n.addIssue("function"==typeof t?t(r,n):t),!1)})}},{key:"_refinement",value:function(e){return new pt({schema:this,typeName:xt.ZodEffects,effect:{type:"refinement",refinement:e}})}},{key:"superRefine",value:function(e){return this._refinement(e)}},{key:"optional",value:function(){return yt.create(this,this._def)}},{key:"nullable",value:function(){return ht.create(this,this._def)}},{key:"nullish",value:function(){return this.nullable().optional()}},{key:"array",value:function(){return Je.create(this)}},{key:"promise",value:function(){return ft.create(this,this._def)}},{key:"or",value:function(e){return Qe.create([this,e],this._def)}},{key:"and",value:function(e){return nt.create(this,e,this._def)}},{key:"transform",value:function(e){return new pt(_object_spread_props(_object_spread({},n(this._def)),{schema:this,typeName:xt.ZodEffects,effect:{type:"transform",transform:e}}))}},{key:"default",value:function(e){var t="function"==typeof e?e:function(){return e};return new vt(_object_spread_props(_object_spread({},n(this._def)),{innerType:this,defaultValue:t,typeName:xt.ZodDefault}))}},{key:"brand",value:function(){return new kt(_object_spread({typeName:xt.ZodBranded,type:this},n(this._def)))}},{key:"catch",value:function(e){var t="function"==typeof e?e:function(){return e};return new mt(_object_spread_props(_object_spread({},n(this._def)),{innerType:this,catchValue:t,typeName:xt.ZodCatch}))}},{key:"describe",value:function(e){return new(0,this.constructor)(_object_spread_props(_object_spread({},this._def),{description:e}))}},{key:"pipe",value:function(e){return jt.create(this,e)}},{key:"readonly",value:function(){return wt.create(this)}},{key:"isOptional",value:function(){return this.safeParse(void 0).success}},{key:"isNullable",value:function(){return this.safeParse(null).success}}]),e}(),je=/^c[^\s-]{8,}$/i,we=/^[0-9a-z]+$/,xe=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Se=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Ze=/^[a-z0-9_-]{21}$/i,Oe=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Ae=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Pe=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Te=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Ne=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,Ce=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Ee=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Ie=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Me=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Re="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Le=new RegExp("^".concat(Re,"$")),Fe=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==Q.string){var t=this._getOrReturnCtx(e);return r(t,{code:te.invalid_type,expected:Q.string,received:t.parsedType}),de}var n=new le,a=void 0,l=!0,d=!1,_=void 0;try{for(var f,p=this._def.checks[Symbol.iterator]();!(l=(f=p.next()).done);l=!0){var y=f.value;if("min"===y.kind)e.data.length<y.value&&(a=this._getOrReturnCtx(e,a),r(a,{code:te.too_small,minimum:y.value,type:"string",inclusive:!0,exact:!1,message:y.message}),n.dirty());else if("max"===y.kind)e.data.length>y.value&&(a=this._getOrReturnCtx(e,a),r(a,{code:te.too_big,maximum:y.value,type:"string",inclusive:!0,exact:!1,message:y.message}),n.dirty());else if("length"===y.kind){var h=e.data.length>y.value,v=e.data.length<y.value;(h||v)&&(a=this._getOrReturnCtx(e,a),h?r(a,{code:te.too_big,maximum:y.value,type:"string",inclusive:!0,exact:!0,message:y.message}):v&&r(a,{code:te.too_small,minimum:y.value,type:"string",inclusive:!0,exact:!0,message:y.message}),n.dirty())}else if("email"===y.kind)Pe.test(e.data)||(a=this._getOrReturnCtx(e,a),r(a,{validation:"email",code:te.invalid_string,message:y.message}),n.dirty());else if("emoji"===y.kind)me||(me=new RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),me.test(e.data)||(a=this._getOrReturnCtx(e,a),r(a,{validation:"emoji",code:te.invalid_string,message:y.message}),n.dirty());else if("uuid"===y.kind)Se.test(e.data)||(a=this._getOrReturnCtx(e,a),r(a,{validation:"uuid",code:te.invalid_string,message:y.message}),n.dirty());else if("nanoid"===y.kind)Ze.test(e.data)||(a=this._getOrReturnCtx(e,a),r(a,{validation:"nanoid",code:te.invalid_string,message:y.message}),n.dirty());else if("cuid"===y.kind)je.test(e.data)||(a=this._getOrReturnCtx(e,a),r(a,{validation:"cuid",code:te.invalid_string,message:y.message}),n.dirty());else if("cuid2"===y.kind)we.test(e.data)||(a=this._getOrReturnCtx(e,a),r(a,{validation:"cuid2",code:te.invalid_string,message:y.message}),n.dirty());else if("ulid"===y.kind)xe.test(e.data)||(a=this._getOrReturnCtx(e,a),r(a,{validation:"ulid",code:te.invalid_string,message:y.message}),n.dirty());else if("url"===y.kind)try{new URL(e.data)}catch(t){a=this._getOrReturnCtx(e,a),r(a,{validation:"url",code:te.invalid_string,message:y.message}),n.dirty()}else if("regex"===y.kind){y.regex.lastIndex=0,y.regex.test(e.data)||(a=this._getOrReturnCtx(e,a),r(a,{validation:"regex",code:te.invalid_string,message:y.message}),n.dirty())}else if("trim"===y.kind)e.data=e.data.trim();else if("includes"===y.kind)e.data.includes(y.value,y.position)||(a=this._getOrReturnCtx(e,a),r(a,{code:te.invalid_string,validation:{includes:y.value,position:y.position},message:y.message}),n.dirty());else if("toLowerCase"===y.kind)e.data=e.data.toLowerCase();else if("toUpperCase"===y.kind)e.data=e.data.toUpperCase();else if("startsWith"===y.kind)e.data.startsWith(y.value)||(a=this._getOrReturnCtx(e,a),r(a,{code:te.invalid_string,validation:{startsWith:y.value},message:y.message}),n.dirty());else if("endsWith"===y.kind)e.data.endsWith(y.value)||(a=this._getOrReturnCtx(e,a),r(a,{code:te.invalid_string,validation:{endsWith:y.value},message:y.message}),n.dirty());else if("datetime"===y.kind){o(y).test(e.data)||(a=this._getOrReturnCtx(e,a),r(a,{code:te.invalid_string,validation:"datetime",message:y.message}),n.dirty())}else if("date"===y.kind){Le.test(e.data)||(a=this._getOrReturnCtx(e,a),r(a,{code:te.invalid_string,validation:"date",message:y.message}),n.dirty())}else if("time"===y.kind){i(y).test(e.data)||(a=this._getOrReturnCtx(e,a),r(a,{code:te.invalid_string,validation:"time",message:y.message}),n.dirty())}else"duration"===y.kind?Ae.test(e.data)||(a=this._getOrReturnCtx(e,a),r(a,{validation:"duration",code:te.invalid_string,message:y.message}),n.dirty()):"ip"===y.kind?s(e.data,y.version)||(a=this._getOrReturnCtx(e,a),r(a,{validation:"ip",code:te.invalid_string,message:y.message}),n.dirty()):"jwt"===y.kind?u(e.data,y.alg)||(a=this._getOrReturnCtx(e,a),r(a,{validation:"jwt",code:te.invalid_string,message:y.message}),n.dirty()):"cidr"===y.kind?c(e.data,y.version)||(a=this._getOrReturnCtx(e,a),r(a,{validation:"cidr",code:te.invalid_string,message:y.message}),n.dirty()):"base64"===y.kind?Ie.test(e.data)||(a=this._getOrReturnCtx(e,a),r(a,{validation:"base64",code:te.invalid_string,message:y.message}),n.dirty()):"base64url"===y.kind?Me.test(e.data)||(a=this._getOrReturnCtx(e,a),r(a,{validation:"base64url",code:te.invalid_string,message:y.message}),n.dirty()):G.assertNever(y)}}catch(e){d=!0,_=e}finally{try{l||null==p.return||p.return()}finally{if(d)throw _}}return{status:n.value,value:e.data}}},{key:"_regex",value:function(e,t,r){return this.refinement(function(t){return e.test(t)},_object_spread({validation:t,code:te.invalid_string},ae.errToObj(r)))}},{key:"_addCheck",value:function(e){return new t(_object_spread_props(_object_spread({},this._def),{checks:_to_consumable_array(this._def.checks).concat([e])}))}},{key:"email",value:function(e){return this._addCheck(_object_spread({kind:"email"},ae.errToObj(e)))}},{key:"url",value:function(e){return this._addCheck(_object_spread({kind:"url"},ae.errToObj(e)))}},{key:"emoji",value:function(e){return this._addCheck(_object_spread({kind:"emoji"},ae.errToObj(e)))}},{key:"uuid",value:function(e){return this._addCheck(_object_spread({kind:"uuid"},ae.errToObj(e)))}},{key:"nanoid",value:function(e){return this._addCheck(_object_spread({kind:"nanoid"},ae.errToObj(e)))}},{key:"cuid",value:function(e){return this._addCheck(_object_spread({kind:"cuid"},ae.errToObj(e)))}},{key:"cuid2",value:function(e){return this._addCheck(_object_spread({kind:"cuid2"},ae.errToObj(e)))}},{key:"ulid",value:function(e){return this._addCheck(_object_spread({kind:"ulid"},ae.errToObj(e)))}},{key:"base64",value:function(e){return this._addCheck(_object_spread({kind:"base64"},ae.errToObj(e)))}},{key:"base64url",value:function(e){return this._addCheck(_object_spread({kind:"base64url"},ae.errToObj(e)))}},{key:"jwt",value:function(e){return this._addCheck(_object_spread({kind:"jwt"},ae.errToObj(e)))}},{key:"ip",value:function(e){return this._addCheck(_object_spread({kind:"ip"},ae.errToObj(e)))}},{key:"cidr",value:function(e){return this._addCheck(_object_spread({kind:"cidr"},ae.errToObj(e)))}},{key:"datetime",value:function(e){return"string"==typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck(_object_spread({kind:"datetime",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,offset:null!==(t=null==e?void 0:e.offset)&&void 0!==t&&t,local:null!==(r=null==e?void 0:e.local)&&void 0!==r&&r},ae.errToObj(null==e?void 0:e.message)));var t,r}},{key:"date",value:function(e){return this._addCheck({kind:"date",message:e})}},{key:"time",value:function(e){return"string"==typeof e?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck(_object_spread({kind:"time",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision},ae.errToObj(null==e?void 0:e.message)))}},{key:"duration",value:function(e){return this._addCheck(_object_spread({kind:"duration"},ae.errToObj(e)))}},{key:"regex",value:function(e,t){return this._addCheck(_object_spread({kind:"regex",regex:e},ae.errToObj(t)))}},{key:"includes",value:function(e,t){return this._addCheck(_object_spread({kind:"includes",value:e,position:null==t?void 0:t.position},ae.errToObj(null==t?void 0:t.message)))}},{key:"startsWith",value:function(e,t){return this._addCheck(_object_spread({kind:"startsWith",value:e},ae.errToObj(t)))}},{key:"endsWith",value:function(e,t){return this._addCheck(_object_spread({kind:"endsWith",value:e},ae.errToObj(t)))}},{key:"min",value:function(e,t){return this._addCheck(_object_spread({kind:"min",value:e},ae.errToObj(t)))}},{key:"max",value:function(e,t){return this._addCheck(_object_spread({kind:"max",value:e},ae.errToObj(t)))}},{key:"length",value:function(e,t){return this._addCheck(_object_spread({kind:"length",value:e},ae.errToObj(t)))}},{key:"nonempty",value:function(e){return this.min(1,ae.errToObj(e))}},{key:"trim",value:function(){return new t(_object_spread_props(_object_spread({},this._def),{checks:_to_consumable_array(this._def.checks).concat([{kind:"trim"}])}))}},{key:"toLowerCase",value:function(){return new t(_object_spread_props(_object_spread({},this._def),{checks:_to_consumable_array(this._def.checks).concat([{kind:"toLowerCase"}])}))}},{key:"toUpperCase",value:function(){return new t(_object_spread_props(_object_spread({},this._def),{checks:_to_consumable_array(this._def.checks).concat([{kind:"toUpperCase"}])}))}},{key:"isDatetime",get:function(){return!!this._def.checks.find(function(e){return"datetime"===e.kind})}},{key:"isDate",get:function(){return!!this._def.checks.find(function(e){return"date"===e.kind})}},{key:"isTime",get:function(){return!!this._def.checks.find(function(e){return"time"===e.kind})}},{key:"isDuration",get:function(){return!!this._def.checks.find(function(e){return"duration"===e.kind})}},{key:"isEmail",get:function(){return!!this._def.checks.find(function(e){return"email"===e.kind})}},{key:"isURL",get:function(){return!!this._def.checks.find(function(e){return"url"===e.kind})}},{key:"isEmoji",get:function(){return!!this._def.checks.find(function(e){return"emoji"===e.kind})}},{key:"isUUID",get:function(){return!!this._def.checks.find(function(e){return"uuid"===e.kind})}},{key:"isNANOID",get:function(){return!!this._def.checks.find(function(e){return"nanoid"===e.kind})}},{key:"isCUID",get:function(){return!!this._def.checks.find(function(e){return"cuid"===e.kind})}},{key:"isCUID2",get:function(){return!!this._def.checks.find(function(e){return"cuid2"===e.kind})}},{key:"isULID",get:function(){return!!this._def.checks.find(function(e){return"ulid"===e.kind})}},{key:"isIP",get:function(){return!!this._def.checks.find(function(e){return"ip"===e.kind})}},{key:"isCIDR",get:function(){return!!this._def.checks.find(function(e){return"cidr"===e.kind})}},{key:"isBase64",get:function(){return!!this._def.checks.find(function(e){return"base64"===e.kind})}},{key:"isBase64url",get:function(){return!!this._def.checks.find(function(e){return"base64url"===e.kind})}},{key:"minLength",get:function(){var e=null,t=!0,r=!1,n=void 0;try{for(var a,i=this._def.checks[Symbol.iterator]();!(t=(a=i.next()).done);t=!0){var o=a.value;"min"===o.kind&&(null===e||o.value>e)&&(e=o.value)}}catch(e){r=!0,n=e}finally{try{t||null==i.return||i.return()}finally{if(r)throw n}}return e}},{key:"maxLength",get:function(){var e=null,t=!0,r=!1,n=void 0;try{for(var a,i=this._def.checks[Symbol.iterator]();!(t=(a=i.next()).done);t=!0){var o=a.value;"max"===o.kind&&(null===e||o.value<e)&&(e=o.value)}}catch(e){r=!0,n=e}finally{try{t||null==i.return||i.return()}finally{if(r)throw n}}return e}}]),t}(ke);Fe.create=function(e){var t;return new Fe(_object_spread({checks:[],typeName:xt.ZodString,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t},n(e)))};var ze=function(e){function t(){var e;return _class_call_check(this,t),(e=_call_super(this,t,arguments)).min=e.gte,e.max=e.lte,e.step=e.multipleOf,e}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==Q.number){var t=this._getOrReturnCtx(e);return r(t,{code:te.invalid_type,expected:Q.number,received:t.parsedType}),de}var n=void 0,a=new le,i=!0,o=!1,s=void 0;try{for(var u,c=this._def.checks[Symbol.iterator]();!(i=(u=c.next()).done);i=!0){var d=u.value;if("int"===d.kind)G.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),r(n,{code:te.invalid_type,expected:"integer",received:"float",message:d.message}),a.dirty());else if("min"===d.kind){(d.inclusive?e.data<d.value:e.data<=d.value)&&(n=this._getOrReturnCtx(e,n),r(n,{code:te.too_small,minimum:d.value,type:"number",inclusive:d.inclusive,exact:!1,message:d.message}),a.dirty())}else if("max"===d.kind){(d.inclusive?e.data>d.value:e.data>=d.value)&&(n=this._getOrReturnCtx(e,n),r(n,{code:te.too_big,maximum:d.value,type:"number",inclusive:d.inclusive,exact:!1,message:d.message}),a.dirty())}else"multipleOf"===d.kind?0!==l(e.data,d.value)&&(n=this._getOrReturnCtx(e,n),r(n,{code:te.not_multiple_of,multipleOf:d.value,message:d.message}),a.dirty()):"finite"===d.kind?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),r(n,{code:te.not_finite,message:d.message}),a.dirty()):G.assertNever(d)}}catch(e){o=!0,s=e}finally{try{i||null==c.return||c.return()}finally{if(o)throw s}}return{status:a.value,value:e.data}}},{key:"gte",value:function(e,t){return this.setLimit("min",e,!0,ae.toString(t))}},{key:"gt",value:function(e,t){return this.setLimit("min",e,!1,ae.toString(t))}},{key:"lte",value:function(e,t){return this.setLimit("max",e,!0,ae.toString(t))}},{key:"lt",value:function(e,t){return this.setLimit("max",e,!1,ae.toString(t))}},{key:"setLimit",value:function(e,r,n,a){return new t(_object_spread_props(_object_spread({},this._def),{checks:_to_consumable_array(this._def.checks).concat([{kind:e,value:r,inclusive:n,message:ae.toString(a)}])}))}},{key:"_addCheck",value:function(e){return new t(_object_spread_props(_object_spread({},this._def),{checks:_to_consumable_array(this._def.checks).concat([e])}))}},{key:"int",value:function(e){return this._addCheck({kind:"int",message:ae.toString(e)})}},{key:"positive",value:function(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:ae.toString(e)})}},{key:"negative",value:function(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:ae.toString(e)})}},{key:"nonpositive",value:function(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:ae.toString(e)})}},{key:"nonnegative",value:function(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:ae.toString(e)})}},{key:"multipleOf",value:function(e,t){return this._addCheck({kind:"multipleOf",value:e,message:ae.toString(t)})}},{key:"finite",value:function(e){return this._addCheck({kind:"finite",message:ae.toString(e)})}},{key:"safe",value:function(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:ae.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:ae.toString(e)})}},{key:"minValue",get:function(){var e=null,t=!0,r=!1,n=void 0;try{for(var a,i=this._def.checks[Symbol.iterator]();!(t=(a=i.next()).done);t=!0){var o=a.value;"min"===o.kind&&(null===e||o.value>e)&&(e=o.value)}}catch(e){r=!0,n=e}finally{try{t||null==i.return||i.return()}finally{if(r)throw n}}return e}},{key:"maxValue",get:function(){var e=null,t=!0,r=!1,n=void 0;try{for(var a,i=this._def.checks[Symbol.iterator]();!(t=(a=i.next()).done);t=!0){var o=a.value;"max"===o.kind&&(null===e||o.value<e)&&(e=o.value)}}catch(e){r=!0,n=e}finally{try{t||null==i.return||i.return()}finally{if(r)throw n}}return e}},{key:"isInt",get:function(){return!!this._def.checks.find(function(e){return"int"===e.kind||"multipleOf"===e.kind&&G.isInteger(e.value)})}},{key:"isFinite",get:function(){var e=null,t=null,r=!0,n=!1,a=void 0;try{for(var i,o=this._def.checks[Symbol.iterator]();!(r=(i=o.next()).done);r=!0){var s=i.value;if("finite"===s.kind||"int"===s.kind||"multipleOf"===s.kind)return!0;"min"===s.kind?(null===t||s.value>t)&&(t=s.value):"max"===s.kind&&(null===e||s.value<e)&&(e=s.value)}}catch(e){n=!0,a=e}finally{try{r||null==o.return||o.return()}finally{if(n)throw a}}return Number.isFinite(t)&&Number.isFinite(e)}}]),t}(ke);ze.create=function(e){return new ze(_object_spread({checks:[],typeName:xt.ZodNumber,coerce:(null==e?void 0:e.coerce)||!1},n(e)))};var De=function(e){function t(){var e;return _class_call_check(this,t),(e=_call_super(this,t,arguments)).min=e.gte,e.max=e.lte,e}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch(t){return this._getInvalidInput(e)}if(this._getType(e)!==Q.bigint)return this._getInvalidInput(e);var t=void 0,n=new le,a=!0,i=!1,o=void 0;try{for(var s,u=this._def.checks[Symbol.iterator]();!(a=(s=u.next()).done);a=!0){var c=s.value;if("min"===c.kind)(c.inclusive?e.data<c.value:e.data<=c.value)&&(t=this._getOrReturnCtx(e,t),r(t,{code:te.too_small,type:"bigint",minimum:c.value,inclusive:c.inclusive,message:c.message}),n.dirty());else if("max"===c.kind){(c.inclusive?e.data>c.value:e.data>=c.value)&&(t=this._getOrReturnCtx(e,t),r(t,{code:te.too_big,type:"bigint",maximum:c.value,inclusive:c.inclusive,message:c.message}),n.dirty())}else"multipleOf"===c.kind?e.data%c.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),r(t,{code:te.not_multiple_of,multipleOf:c.value,message:c.message}),n.dirty()):G.assertNever(c)}}catch(e){i=!0,o=e}finally{try{a||null==u.return||u.return()}finally{if(i)throw o}}return{status:n.value,value:e.data}}},{key:"_getInvalidInput",value:function(e){var t=this._getOrReturnCtx(e);return r(t,{code:te.invalid_type,expected:Q.bigint,received:t.parsedType}),de}},{key:"gte",value:function(e,t){return this.setLimit("min",e,!0,ae.toString(t))}},{key:"gt",value:function(e,t){return this.setLimit("min",e,!1,ae.toString(t))}},{key:"lte",value:function(e,t){return this.setLimit("max",e,!0,ae.toString(t))}},{key:"lt",value:function(e,t){return this.setLimit("max",e,!1,ae.toString(t))}},{key:"setLimit",value:function(e,r,n,a){return new t(_object_spread_props(_object_spread({},this._def),{checks:_to_consumable_array(this._def.checks).concat([{kind:e,value:r,inclusive:n,message:ae.toString(a)}])}))}},{key:"_addCheck",value:function(e){return new t(_object_spread_props(_object_spread({},this._def),{checks:_to_consumable_array(this._def.checks).concat([e])}))}},{key:"positive",value:function(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:ae.toString(e)})}},{key:"negative",value:function(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:ae.toString(e)})}},{key:"nonpositive",value:function(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:ae.toString(e)})}},{key:"nonnegative",value:function(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:ae.toString(e)})}},{key:"multipleOf",value:function(e,t){return this._addCheck({kind:"multipleOf",value:e,message:ae.toString(t)})}},{key:"minValue",get:function(){var e=null,t=!0,r=!1,n=void 0;try{for(var a,i=this._def.checks[Symbol.iterator]();!(t=(a=i.next()).done);t=!0){var o=a.value;"min"===o.kind&&(null===e||o.value>e)&&(e=o.value)}}catch(e){r=!0,n=e}finally{try{t||null==i.return||i.return()}finally{if(r)throw n}}return e}},{key:"maxValue",get:function(){var e=null,t=!0,r=!1,n=void 0;try{for(var a,i=this._def.checks[Symbol.iterator]();!(t=(a=i.next()).done);t=!0){var o=a.value;"max"===o.kind&&(null===e||o.value<e)&&(e=o.value)}}catch(e){r=!0,n=e}finally{try{t||null==i.return||i.return()}finally{if(r)throw n}}return e}}]),t}(ke);De.create=function(e){var t;return new De(_object_spread({checks:[],typeName:xt.ZodBigInt,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t},n(e)))};var $e=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){if(this._def.coerce&&(e.data=Boolean(e.data)),this._getType(e)!==Q.boolean){var t=this._getOrReturnCtx(e);return r(t,{code:te.invalid_type,expected:Q.boolean,received:t.parsedType}),de}return fe(e.data)}}]),t}(ke);$e.create=function(e){return new $e(_object_spread({typeName:xt.ZodBoolean,coerce:(null==e?void 0:e.coerce)||!1},n(e)))};var Ue=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==Q.date){var t=this._getOrReturnCtx(e);return r(t,{code:te.invalid_type,expected:Q.date,received:t.parsedType}),de}if(Number.isNaN(e.data.getTime())){var n=this._getOrReturnCtx(e);return r(n,{code:te.invalid_date}),de}var a=new le,i=void 0,o=!0,s=!1,u=void 0;try{for(var c,l=this._def.checks[Symbol.iterator]();!(o=(c=l.next()).done);o=!0){var d=c.value;"min"===d.kind?e.data.getTime()<d.value&&(i=this._getOrReturnCtx(e,i),r(i,{code:te.too_small,message:d.message,inclusive:!0,exact:!1,minimum:d.value,type:"date"}),a.dirty()):"max"===d.kind?e.data.getTime()>d.value&&(i=this._getOrReturnCtx(e,i),r(i,{code:te.too_big,message:d.message,inclusive:!0,exact:!1,maximum:d.value,type:"date"}),a.dirty()):G.assertNever(d)}}catch(e){s=!0,u=e}finally{try{o||null==l.return||l.return()}finally{if(s)throw u}}return{status:a.value,value:new Date(e.data.getTime())}}},{key:"_addCheck",value:function(e){return new t(_object_spread_props(_object_spread({},this._def),{checks:_to_consumable_array(this._def.checks).concat([e])}))}},{key:"min",value:function(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:ae.toString(t)})}},{key:"max",value:function(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:ae.toString(t)})}},{key:"minDate",get:function(){var e=null,t=!0,r=!1,n=void 0;try{for(var a,i=this._def.checks[Symbol.iterator]();!(t=(a=i.next()).done);t=!0){var o=a.value;"min"===o.kind&&(null===e||o.value>e)&&(e=o.value)}}catch(e){r=!0,n=e}finally{try{t||null==i.return||i.return()}finally{if(r)throw n}}return null!=e?new Date(e):null}},{key:"maxDate",get:function(){var e=null,t=!0,r=!1,n=void 0;try{for(var a,i=this._def.checks[Symbol.iterator]();!(t=(a=i.next()).done);t=!0){var o=a.value;"max"===o.kind&&(null===e||o.value<e)&&(e=o.value)}}catch(e){r=!0,n=e}finally{try{t||null==i.return||i.return()}finally{if(r)throw n}}return null!=e?new Date(e):null}}]),t}(ke);Ue.create=function(e){return new Ue(_object_spread({checks:[],coerce:(null==e?void 0:e.coerce)||!1,typeName:xt.ZodDate},n(e)))};var Ve=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){if(this._getType(e)!==Q.symbol){var t=this._getOrReturnCtx(e);return r(t,{code:te.invalid_type,expected:Q.symbol,received:t.parsedType}),de}return fe(e.data)}}]),t}(ke);Ve.create=function(e){return new Ve(_object_spread({typeName:xt.ZodSymbol},n(e)))};var Be=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){if(this._getType(e)!==Q.undefined){var t=this._getOrReturnCtx(e);return r(t,{code:te.invalid_type,expected:Q.undefined,received:t.parsedType}),de}return fe(e.data)}}]),t}(ke);Be.create=function(e){return new Be(_object_spread({typeName:xt.ZodUndefined},n(e)))};var Ke=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){if(this._getType(e)!==Q.null){var t=this._getOrReturnCtx(e);return r(t,{code:te.invalid_type,expected:Q.null,received:t.parsedType}),de}return fe(e.data)}}]),t}(ke);Ke.create=function(e){return new Ke(_object_spread({typeName:xt.ZodNull},n(e)))};var qe=function(e){function t(){var e;return _class_call_check(this,t),(e=_call_super(this,t,arguments))._any=!0,e}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){return fe(e.data)}}]),t}(ke);qe.create=function(e){return new qe(_object_spread({typeName:xt.ZodAny},n(e)))};var We=function(e){function t(){var e;return _class_call_check(this,t),(e=_call_super(this,t,arguments))._unknown=!0,e}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){return fe(e.data)}}]),t}(ke);We.create=function(e){return new We(_object_spread({typeName:xt.ZodUnknown},n(e)))};var Xe=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){var t=this._getOrReturnCtx(e);return r(t,{code:te.invalid_type,expected:Q.never,received:t.parsedType}),de}}]),t}(ke);Xe.create=function(e){return new Xe(_object_spread({typeName:xt.ZodNever},n(e)))};var Ge=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){if(this._getType(e)!==Q.undefined){var t=this._getOrReturnCtx(e);return r(t,{code:te.invalid_type,expected:Q.void,received:t.parsedType}),de}return fe(e.data)}}]),t}(ke);Ge.create=function(e){return new Ge(_object_spread({typeName:xt.ZodVoid},n(e)))};var Je=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){var t=this._processInputParams(e),n=t.ctx,a=t.status,i=this._def;if(n.parsedType!==Q.array)return r(n,{code:te.invalid_type,expected:Q.array,received:n.parsedType}),de;if(null!==i.exactLength){var o=n.data.length>i.exactLength.value,s=n.data.length<i.exactLength.value;(o||s)&&(r(n,{code:o?te.too_big:te.too_small,minimum:s?i.exactLength.value:void 0,maximum:o?i.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:i.exactLength.message}),a.dirty())}if(null!==i.minLength&&n.data.length<i.minLength.value&&(r(n,{code:te.too_small,minimum:i.minLength.value,type:"array",inclusive:!0,exact:!1,message:i.minLength.message}),a.dirty()),null!==i.maxLength&&n.data.length>i.maxLength.value&&(r(n,{code:te.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),a.dirty()),n.common.async)return Promise.all(_to_consumable_array(n.data).map(function(e,t){return i.type._parseAsync(new ge(n,e,n.path,t))})).then(function(e){return le.mergeArray(a,e)});var u=_to_consumable_array(n.data).map(function(e,t){return i.type._parseSync(new ge(n,e,n.path,t))});return le.mergeArray(a,u)}},{key:"element",get:function(){return this._def.type}},{key:"min",value:function(e,r){return new t(_object_spread_props(_object_spread({},this._def),{minLength:{value:e,message:ae.toString(r)}}))}},{key:"max",value:function(e,r){return new t(_object_spread_props(_object_spread({},this._def),{maxLength:{value:e,message:ae.toString(r)}}))}},{key:"length",value:function(e,r){return new t(_object_spread_props(_object_spread({},this._def),{exactLength:{value:e,message:ae.toString(r)}}))}},{key:"nonempty",value:function(e){return this.min(1,e)}}]),t}(ke);function He(e){if(_instanceof(e,Ye)){var t={};for(var r in e.shape){var n=e.shape[r];t[r]=yt.create(He(n))}return new Ye(_object_spread_props(_object_spread({},e._def),{shape:function(){return t}}))}return _instanceof(e,Je)?new Je(_object_spread_props(_object_spread({},e._def),{type:He(e.element)})):_instanceof(e,yt)?yt.create(He(e.unwrap())):_instanceof(e,ht)?ht.create(He(e.unwrap())):_instanceof(e,at)?at.create(e.items.map(function(e){return He(e)})):e}Je.create=function(e,t){return new Je(_object_spread({type:e,minLength:null,maxLength:null,exactLength:null,typeName:xt.ZodArray},n(t)))};var Ye=function(e){function t(){var e;return _class_call_check(this,t),(e=_call_super(this,t,arguments))._cached=null,e.nonstrict=e.passthrough,e.augment=e.extend,e}return _inherits(t,e),_create_class(t,[{key:"_getCached",value:function(){if(null!==this._cached)return this._cached;var e=this._def.shape(),t=G.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}},{key:"_parse",value:function(e){if(this._getType(e)!==Q.object){var t=this._getOrReturnCtx(e);return r(t,{code:te.invalid_type,expected:Q.object,received:t.parsedType}),de}var n=this._processInputParams(e),a=n.status,i=n.ctx,o=this._getCached(),s=o.shape,u=o.keys,c=[];if(!_instanceof(this._def.catchall,Xe)||"strip"!==this._def.unknownKeys)for(var l in i.data)u.includes(l)||c.push(l);var d=[],_=!0,f=!1,p=void 0;try{for(var y,h=u[Symbol.iterator]();!(_=(y=h.next()).done);_=!0){var v=y.value,m=s[v],g=i.data[v];d.push({key:{status:"valid",value:v},value:m._parse(new ge(i,g,i.path,v)),alwaysSet:v in i.data})}}catch(e){f=!0,p=e}finally{try{_||null==h.return||h.return()}finally{if(f)throw p}}if(_instanceof(this._def.catchall,Xe)){var b=this._def.unknownKeys;if("passthrough"===b){var k=!0,j=!1,w=void 0;try{for(var x,S=c[Symbol.iterator]();!(k=(x=S.next()).done);k=!0){var Z=x.value;d.push({key:{status:"valid",value:Z},value:{status:"valid",value:i.data[Z]}})}}catch(e){j=!0,w=e}finally{try{k||null==S.return||S.return()}finally{if(j)throw w}}}else if("strict"===b)c.length>0&&(r(i,{code:te.unrecognized_keys,keys:c}),a.dirty());else if("strip"!==b)throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{var O=this._def.catchall,A=!0,P=!1,T=void 0;try{for(var N,C=c[Symbol.iterator]();!(A=(N=C.next()).done);A=!0){var E=N.value,I=i.data[E];d.push({key:{status:"valid",value:E},value:O._parse(new ge(i,I,i.path,E)),alwaysSet:E in i.data})}}catch(e){P=!0,T=e}finally{try{A||null==C.return||C.return()}finally{if(P)throw T}}}return i.common.async?Promise.resolve().then(function(){return _async_to_generator(function(){var e,t,r,n,a,i,o,s,u,c;return _ts_generator(this,function(l){switch(l.label){case 0:e=[],t=!0,r=!1,n=void 0,l.label=1;case 1:l.trys.push([1,7,8,9]),a=d[Symbol.iterator](),l.label=2;case 2:return(t=(i=a.next()).done)?[3,6]:[4,(o=i.value).key];case 3:return s=l.sent(),[4,o.value];case 4:u=l.sent(),e.push({key:s,value:u,alwaysSet:o.alwaysSet}),l.label=5;case 5:return t=!0,[3,2];case 6:return[3,9];case 7:return c=l.sent(),r=!0,n=c,[3,9];case 8:try{t||null==a.return||a.return()}finally{if(r)throw n}return[7];case 9:return[2,e]}})})()}).then(function(e){return le.mergeObjectSync(a,e)}):le.mergeObjectSync(a,d)}},{key:"shape",get:function(){return this._def.shape()}},{key:"strict",value:function(e){var r=this;return ae.errToObj,new t(_object_spread(_object_spread_props(_object_spread({},this._def),{unknownKeys:"strict"}),void 0!==e?{errorMap:function(t,n){var a,i,o,s,u=null!==(o=null===(a=(i=r._def).errorMap)||void 0===a?void 0:a.call(i,t,n).message)&&void 0!==o?o:n.defaultError;return"unrecognized_keys"===t.code?{message:null!==(s=ae.errToObj(e).message)&&void 0!==s?s:u}:{message:u}}}:{}))}},{key:"strip",value:function(){return new t(_object_spread_props(_object_spread({},this._def),{unknownKeys:"strip"}))}},{key:"passthrough",value:function(){return new t(_object_spread_props(_object_spread({},this._def),{unknownKeys:"passthrough"}))}},{key:"extend",value:function(e){var r=this;return new t(_object_spread_props(_object_spread({},this._def),{shape:function(){return _object_spread({},r._def.shape(),e)}}))}},{key:"merge",value:function(e){var r=this;return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:function(){return _object_spread({},r._def.shape(),e._def.shape())},typeName:xt.ZodObject})}},{key:"setKey",value:function(e,t){return this.augment(_define_property({},e,t))}},{key:"catchall",value:function(e){return new t(_object_spread_props(_object_spread({},this._def),{catchall:e}))}},{key:"pick",value:function(e){var r={},n=!0,a=!1,i=void 0;try{for(var o,s=G.objectKeys(e)[Symbol.iterator]();!(n=(o=s.next()).done);n=!0){var u=o.value;e[u]&&this.shape[u]&&(r[u]=this.shape[u])}}catch(e){a=!0,i=e}finally{try{n||null==s.return||s.return()}finally{if(a)throw i}}return new t(_object_spread_props(_object_spread({},this._def),{shape:function(){return r}}))}},{key:"omit",value:function(e){var r={},n=!0,a=!1,i=void 0;try{for(var o,s=G.objectKeys(this.shape)[Symbol.iterator]();!(n=(o=s.next()).done);n=!0){var u=o.value;e[u]||(r[u]=this.shape[u])}}catch(e){a=!0,i=e}finally{try{n||null==s.return||s.return()}finally{if(a)throw i}}return new t(_object_spread_props(_object_spread({},this._def),{shape:function(){return r}}))}},{key:"deepPartial",value:function(){return He(this)}},{key:"partial",value:function(e){var r={},n=!0,a=!1,i=void 0;try{for(var o,s=G.objectKeys(this.shape)[Symbol.iterator]();!(n=(o=s.next()).done);n=!0){var u=o.value,c=this.shape[u];e&&!e[u]?r[u]=c:r[u]=c.optional()}}catch(e){a=!0,i=e}finally{try{n||null==s.return||s.return()}finally{if(a)throw i}}return new t(_object_spread_props(_object_spread({},this._def),{shape:function(){return r}}))}},{key:"required",value:function(e){var r={},n=!0,a=!1,i=void 0;try{for(var o,s=G.objectKeys(this.shape)[Symbol.iterator]();!(n=(o=s.next()).done);n=!0){var u=o.value;if(e&&!e[u])r[u]=this.shape[u];else{for(var c=this.shape[u];_instanceof(c,yt);)c=c._def.innerType;r[u]=c}}}catch(e){a=!0,i=e}finally{try{n||null==s.return||s.return()}finally{if(a)throw i}}return new t(_object_spread_props(_object_spread({},this._def),{shape:function(){return r}}))}},{key:"keyof",value:function(){return d(G.objectKeys(this.shape))}}]),t}(ke);Ye.create=function(e,t){return new Ye(_object_spread({shape:function(){return e},unknownKeys:"strip",catchall:Xe.create(),typeName:xt.ZodObject},n(t)))},Ye.strictCreate=function(e,t){return new Ye(_object_spread({shape:function(){return e},unknownKeys:"strict",catchall:Xe.create(),typeName:xt.ZodObject},n(t)))},Ye.lazycreate=function(e,t){return new Ye(_object_spread({shape:e,unknownKeys:"strip",catchall:Xe.create(),typeName:xt.ZodObject},n(t)))};var Qe=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){var t=this._processInputParams(e).ctx,n=this._def.options;if(t.common.async)return Promise.all(n.map(function(e){return _async_to_generator(function(){var r,n;return _ts_generator(this,function(a){switch(a.label){case 0:return r=_object_spread_props(_object_spread({},t),{common:_object_spread_props(_object_spread({},t.common),{issues:[]}),parent:null}),n={},[4,e._parseAsync({data:t.data,path:t.path,parent:r})];case 1:return[2,(n.result=a.sent(),n.ctx=r,n)]}})})()})).then(function(e){var n=!0,a=!1,i=void 0;try{for(var o,s=e[Symbol.iterator]();!(n=(o=s.next()).done);n=!0){var u=o.value;if("valid"===u.result.status)return u.result}}catch(e){a=!0,i=e}finally{try{n||null==s.return||s.return()}finally{if(a)throw i}}var c=!0,l=!1,d=void 0;try{for(var _,f=e[Symbol.iterator]();!(c=(_=f.next()).done);c=!0){var p,y=_.value;if("dirty"===y.result.status)return(p=t.common.issues).push.apply(p,_to_consumable_array(y.ctx.common.issues)),y.result}}catch(e){l=!0,d=e}finally{try{c||null==f.return||f.return()}finally{if(l)throw d}}var h=e.map(function(e){return new ne(e.ctx.common.issues)});return r(t,{code:te.invalid_union,unionErrors:h}),de});var a,i=void 0,o=[],s=!0,u=!1,c=void 0;try{for(var l,d=n[Symbol.iterator]();!(s=(l=d.next()).done);s=!0){var _=l.value,f=_object_spread_props(_object_spread({},t),{common:_object_spread_props(_object_spread({},t.common),{issues:[]}),parent:null}),p=_._parseSync({data:t.data,path:t.path,parent:f});if("valid"===p.status)return p;"dirty"!==p.status||i||(i={result:p,ctx:f}),f.common.issues.length&&o.push(f.common.issues)}}catch(e){u=!0,c=e}finally{try{s||null==d.return||d.return()}finally{if(u)throw c}}if(i)return(a=t.common.issues).push.apply(a,_to_consumable_array(i.ctx.common.issues)),i.result;var y=o.map(function(e){return new ne(e)});return r(t,{code:te.invalid_union,unionErrors:y}),de}},{key:"options",get:function(){return this._def.options}}]),t}(ke);Qe.create=function(e,t){return new Qe(_object_spread({options:e,typeName:xt.ZodUnion},n(t)))};var et=function(e){return _instanceof(e,ct)?et(e.schema):_instanceof(e,pt)?et(e.innerType()):_instanceof(e,lt)?[e.value]:_instanceof(e,dt)?e.options:_instanceof(e,_t)?G.objectValues(e.enum):_instanceof(e,vt)?et(e._def.innerType):_instanceof(e,Be)?[void 0]:_instanceof(e,Ke)?[null]:_instanceof(e,yt)?[void 0].concat(_to_consumable_array(et(e.unwrap()))):_instanceof(e,ht)?[null].concat(_to_consumable_array(et(e.unwrap()))):_instanceof(e,kt)||_instanceof(e,wt)?et(e.unwrap()):_instanceof(e,mt)?et(e._def.innerType):[]},tt=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){var t=this._processInputParams(e).ctx;if(t.parsedType!==Q.object)return r(t,{code:te.invalid_type,expected:Q.object,received:t.parsedType}),de;var n=this.discriminator,a=t.data[n],i=this.optionsMap.get(a);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):(r(t,{code:te.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),de)}},{key:"discriminator",get:function(){return this._def.discriminator}},{key:"options",get:function(){return this._def.options}},{key:"optionsMap",get:function(){return this._def.optionsMap}}],[{key:"create",value:function(e,r,a){var i=new Map,o=!0,s=!1,u=void 0;try{for(var c,l=r[Symbol.iterator]();!(o=(c=l.next()).done);o=!0){var d=c.value,_=et(d.shape[e]);if(!_.length)throw new Error("A discriminator value for key `".concat(e,"` could not be extracted from all schema options"));var f=!0,p=!1,y=void 0;try{for(var h,v=_[Symbol.iterator]();!(f=(h=v.next()).done);f=!0){var m=h.value;if(i.has(m))throw new Error("Discriminator property ".concat(String(e)," has duplicate value ").concat(String(m)));i.set(m,d)}}catch(e){p=!0,y=e}finally{try{f||null==v.return||v.return()}finally{if(p)throw y}}}}catch(e){s=!0,u=e}finally{try{o||null==l.return||l.return()}finally{if(s)throw u}}return new t(_object_spread({typeName:xt.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:i},n(a)))}}]),t}(ke);function rt(e,t){var r=ee(e),n=ee(t);if(e===t)return{valid:!0,data:e};if(r===Q.object&&n===Q.object){var a=G.objectKeys(t),i=G.objectKeys(e).filter(function(e){return-1!==a.indexOf(e)}),o=_object_spread({},e,t),s=!0,u=!1,c=void 0;try{for(var l,d=i[Symbol.iterator]();!(s=(l=d.next()).done);s=!0){var _=l.value,f=rt(e[_],t[_]);if(!f.valid)return{valid:!1};o[_]=f.data}}catch(e){u=!0,c=e}finally{try{s||null==d.return||d.return()}finally{if(u)throw c}}return{valid:!0,data:o}}if(r===Q.array&&n===Q.array){if(e.length!==t.length)return{valid:!1};for(var p=[],y=0;y<e.length;y++){var h=rt(e[y],t[y]);if(!h.valid)return{valid:!1};p.push(h.data)}return{valid:!0,data:p}}return r===Q.date&&n===Q.date&&+e===+t?{valid:!0,data:e}:{valid:!1}}var nt=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){var t=this._processInputParams(e),n=t.status,a=t.ctx,i=function(e,t){if(pe(e)||pe(t))return de;var i=rt(e.value,t.value);return i.valid?((ye(e)||ye(t))&&n.dirty(),{status:n.value,value:i.data}):(r(a,{code:te.invalid_intersection_types}),de)};return a.common.async?Promise.all([this._def.left._parseAsync({data:a.data,path:a.path,parent:a}),this._def.right._parseAsync({data:a.data,path:a.path,parent:a})]).then(function(e){var t=_sliced_to_array(e,2),r=t[0],n=t[1];return i(r,n)}):i(this._def.left._parseSync({data:a.data,path:a.path,parent:a}),this._def.right._parseSync({data:a.data,path:a.path,parent:a}))}}]),t}(ke);nt.create=function(e,t,r){return new nt(_object_spread({left:e,right:t,typeName:xt.ZodIntersection},n(r)))};var at=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){var t=this,n=this._processInputParams(e),a=n.status,i=n.ctx;if(i.parsedType!==Q.array)return r(i,{code:te.invalid_type,expected:Q.array,received:i.parsedType}),de;if(i.data.length<this._def.items.length)return r(i,{code:te.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),de;!this._def.rest&&i.data.length>this._def.items.length&&(r(i,{code:te.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),a.dirty());var o=_to_consumable_array(i.data).map(function(e,r){var n=t._def.items[r]||t._def.rest;return n?n._parse(new ge(i,e,i.path,r)):null}).filter(function(e){return!!e});return i.common.async?Promise.all(o).then(function(e){return le.mergeArray(a,e)}):le.mergeArray(a,o)}},{key:"items",get:function(){return this._def.items}},{key:"rest",value:function(e){return new t(_object_spread_props(_object_spread({},this._def),{rest:e}))}}]),t}(ke);at.create=function(e,t){if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new at(_object_spread({items:e,typeName:xt.ZodTuple,rest:null},n(t)))};var it=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"keySchema",get:function(){return this._def.keyType}},{key:"valueSchema",get:function(){return this._def.valueType}},{key:"_parse",value:function(e){var t=this._processInputParams(e),n=t.status,a=t.ctx;if(a.parsedType!==Q.object)return r(a,{code:te.invalid_type,expected:Q.object,received:a.parsedType}),de;var i=[],o=this._def.keyType,s=this._def.valueType;for(var u in a.data)i.push({key:o._parse(new ge(a,u,a.path,u)),value:s._parse(new ge(a,a.data[u],a.path,u)),alwaysSet:u in a.data});return a.common.async?le.mergeObjectAsync(n,i):le.mergeObjectSync(n,i)}},{key:"element",get:function(){return this._def.valueType}}],[{key:"create",value:function(e,r,a){return _instanceof(r,ke)?new t(_object_spread({keyType:e,valueType:r,typeName:xt.ZodRecord},n(a))):new t(_object_spread({keyType:Fe.create(),valueType:e,typeName:xt.ZodRecord},n(r)))}}]),t}(ke),ot=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"keySchema",get:function(){return this._def.keyType}},{key:"valueSchema",get:function(){return this._def.valueType}},{key:"_parse",value:function(e){var t=this._processInputParams(e),n=t.status,a=t.ctx;if(a.parsedType!==Q.map)return r(a,{code:te.invalid_type,expected:Q.map,received:a.parsedType}),de;var i=this._def.keyType,o=this._def.valueType,s=_to_consumable_array(a.data.entries()).map(function(e,t){var r=_sliced_to_array(e,2),n=r[0],s=r[1];return{key:i._parse(new ge(a,n,a.path,[t,"key"])),value:o._parse(new ge(a,s,a.path,[t,"value"]))}});if(a.common.async){var u=new Map;return Promise.resolve().then(function(){return _async_to_generator(function(){var e,t,r,a,i,o,c,l,d;return _ts_generator(this,function(_){switch(_.label){case 0:e=!0,t=!1,r=void 0,_.label=1;case 1:_.trys.push([1,7,8,9]),a=s[Symbol.iterator](),_.label=2;case 2:return(e=(i=a.next()).done)?[3,6]:[4,(o=i.value).key];case 3:return c=_.sent(),[4,o.value];case 4:if(l=_.sent(),"aborted"===c.status||"aborted"===l.status)return[2,de];"dirty"!==c.status&&"dirty"!==l.status||n.dirty(),u.set(c.value,l.value),_.label=5;case 5:return e=!0,[3,2];case 6:return[3,9];case 7:return d=_.sent(),t=!0,r=d,[3,9];case 8:try{e||null==a.return||a.return()}finally{if(t)throw r}return[7];case 9:return[2,{status:n.value,value:u}]}})})()})}var c=new Map,l=!0,d=!1,_=void 0;try{for(var f,p=s[Symbol.iterator]();!(l=(f=p.next()).done);l=!0){var y=f.value,h=y.key,v=y.value;if("aborted"===h.status||"aborted"===v.status)return de;"dirty"!==h.status&&"dirty"!==v.status||n.dirty(),c.set(h.value,v.value)}}catch(e){d=!0,_=e}finally{try{l||null==p.return||p.return()}finally{if(d)throw _}}return{status:n.value,value:c}}}]),t}(ke);ot.create=function(e,t,r){return new ot(_object_spread({valueType:t,keyType:e,typeName:xt.ZodMap},n(r)))};var st=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){var t=this._processInputParams(e),n=t.status,a=t.ctx;if(a.parsedType!==Q.set)return r(a,{code:te.invalid_type,expected:Q.set,received:a.parsedType}),de;var i=this._def;null!==i.minSize&&a.data.size<i.minSize.value&&(r(a,{code:te.too_small,minimum:i.minSize.value,type:"set",inclusive:!0,exact:!1,message:i.minSize.message}),n.dirty()),null!==i.maxSize&&a.data.size>i.maxSize.value&&(r(a,{code:te.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),n.dirty());var o=this._def.valueType;function s(e){var t=new Set,r=!0,a=!1,i=void 0;try{for(var o,s=e[Symbol.iterator]();!(r=(o=s.next()).done);r=!0){var u=o.value;if("aborted"===u.status)return de;"dirty"===u.status&&n.dirty(),t.add(u.value)}}catch(e){a=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(a)throw i}}return{status:n.value,value:t}}var u=_to_consumable_array(a.data.values()).map(function(e,t){return o._parse(new ge(a,e,a.path,t))});return a.common.async?Promise.all(u).then(function(e){return s(e)}):s(u)}},{key:"min",value:function(e,r){return new t(_object_spread_props(_object_spread({},this._def),{minSize:{value:e,message:ae.toString(r)}}))}},{key:"max",value:function(e,r){return new t(_object_spread_props(_object_spread({},this._def),{maxSize:{value:e,message:ae.toString(r)}}))}},{key:"size",value:function(e,t){return this.min(e,t).max(e,t)}},{key:"nonempty",value:function(e){return this.min(1,e)}}]),t}(ke);st.create=function(e,t){return new st(_object_spread({valueType:e,minSize:null,maxSize:null,typeName:xt.ZodSet},n(t)))};var ut=function(e){function a(){var e;return _class_call_check(this,a),(e=_call_super(this,a,arguments)).validate=e.implement,e}return _inherits(a,e),_create_class(a,[{key:"_parse",value:function(e){var n=this._processInputParams(e).ctx;if(n.parsedType!==Q.function)return r(n,{code:te.invalid_type,expected:Q.function,received:n.parsedType}),de;function a(e,r){return ue({data:e,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,t(),oe].filter(function(e){return!!e}),issueData:{code:te.invalid_arguments,argumentsError:r}})}function i(e,r){return ue({data:e,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,t(),oe].filter(function(e){return!!e}),issueData:{code:te.invalid_return_type,returnTypeError:r}})}var o={errorMap:n.common.contextualErrorMap},s=n.data;if(_instanceof(this._def.returns,ft)){var u=this;return fe(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return _async_to_generator(function(){var e,r,n;return _ts_generator(this,function(c){switch(c.label){case 0:return e=new ne([]),[4,u._def.args.parseAsync(t,o).catch(function(r){throw e.addIssue(a(t,r)),e})];case 1:return r=c.sent(),[4,Reflect.apply(s,this,r)];case 2:return n=c.sent(),[4,u._def.returns._def.type.parseAsync(n,o).catch(function(t){throw e.addIssue(i(n,t)),e})];case 3:return[2,c.sent()]}})}).call(this)})}var c=this;return fe(function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=c._def.args.safeParse(t,o);if(!n.success)throw new ne([a(t,n.error)]);var u=Reflect.apply(s,this,n.data),l=c._def.returns.safeParse(u,o);if(!l.success)throw new ne([i(u,l.error)]);return l.data})}},{key:"parameters",value:function(){return this._def.args}},{key:"returnType",value:function(){return this._def.returns}},{key:"args",value:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return new a(_object_spread_props(_object_spread({},this._def),{args:at.create(t).rest(We.create())}))}},{key:"returns",value:function(e){return new a(_object_spread_props(_object_spread({},this._def),{returns:e}))}},{key:"implement",value:function(e){return this.parse(e)}},{key:"strictImplement",value:function(e){return this.parse(e)}}],[{key:"create",value:function(e,t,r){return new a(_object_spread({args:e||at.create([]).rest(We.create()),returns:t||We.create(),typeName:xt.ZodFunction},n(r)))}}]),a}(ke),ct=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"schema",get:function(){return this._def.getter()}},{key:"_parse",value:function(e){var t=this._processInputParams(e).ctx;return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}]),t}(ke);ct.create=function(e,t){return new ct(_object_spread({getter:e,typeName:xt.ZodLazy},n(t)))};var lt=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){if(e.data!==this._def.value){var t=this._getOrReturnCtx(e);return r(t,{received:t.data,code:te.invalid_literal,expected:this._def.value}),de}return{status:"valid",value:e.data}}},{key:"value",get:function(){return this._def.value}}]),t}(ke);lt.create=function(e,t){return new lt(_object_spread({value:e,typeName:xt.ZodLiteral},n(t)))};var dt=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){if("string"!=typeof e.data){var t=this._getOrReturnCtx(e),n=this._def.values;return r(t,{expected:G.joinValues(n),received:t.parsedType,code:te.invalid_type}),de}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){var a=this._getOrReturnCtx(e),i=this._def.values;return r(a,{received:a.data,code:te.invalid_enum_value,options:i}),de}return fe(e.data)}},{key:"options",get:function(){return this._def.values}},{key:"enum",get:function(){var e={},t=!0,r=!1,n=void 0;try{for(var a,i=this._def.values[Symbol.iterator]();!(t=(a=i.next()).done);t=!0){var o=a.value;e[o]=o}}catch(e){r=!0,n=e}finally{try{t||null==i.return||i.return()}finally{if(r)throw n}}return e}},{key:"Values",get:function(){var e={},t=!0,r=!1,n=void 0;try{for(var a,i=this._def.values[Symbol.iterator]();!(t=(a=i.next()).done);t=!0){var o=a.value;e[o]=o}}catch(e){r=!0,n=e}finally{try{t||null==i.return||i.return()}finally{if(r)throw n}}return e}},{key:"Enum",get:function(){var e={},t=!0,r=!1,n=void 0;try{for(var a,i=this._def.values[Symbol.iterator]();!(t=(a=i.next()).done);t=!0){var o=a.value;e[o]=o}}catch(e){r=!0,n=e}finally{try{t||null==i.return||i.return()}finally{if(r)throw n}}return e}},{key:"extract",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._def;return t.create(e,_object_spread({},this._def,r))}},{key:"exclude",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._def;return t.create(this.options.filter(function(t){return!e.includes(t)}),_object_spread({},this._def,r))}}]),t}(ke);dt.create=d;var _t=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){var t=G.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==Q.string&&n.parsedType!==Q.number){var a=G.objectValues(t);return r(n,{expected:G.joinValues(a),received:n.parsedType,code:te.invalid_type}),de}if(this._cache||(this._cache=new Set(G.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){var i=G.objectValues(t);return r(n,{received:n.data,code:te.invalid_enum_value,options:i}),de}return fe(e.data)}},{key:"enum",get:function(){return this._def.values}}]),t}(ke);_t.create=function(e,t){return new _t(_object_spread({values:e,typeName:xt.ZodNativeEnum},n(t)))};var ft=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"unwrap",value:function(){return this._def.type}},{key:"_parse",value:function(e){var t=this,n=this._processInputParams(e).ctx;if(n.parsedType!==Q.promise&&!1===n.common.async)return r(n,{code:te.invalid_type,expected:Q.promise,received:n.parsedType}),de;var a=n.parsedType===Q.promise?n.data:Promise.resolve(n.data);return fe(a.then(function(e){return t._def.type.parseAsync(e,{path:n.path,errorMap:n.common.contextualErrorMap})}))}}]),t}(ke);ft.create=function(e,t){return new ft(_object_spread({type:e,typeName:xt.ZodPromise},n(t)))};var pt=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"innerType",value:function(){return this._def.schema}},{key:"sourceType",value:function(){return this._def.schema._def.typeName===xt.ZodEffects?this._def.schema.sourceType():this._def.schema}},{key:"_parse",value:function(e){var t=this,n=this._processInputParams(e),a=n.status,i=n.ctx,o=this._def.effect||null,s={addIssue:function(e){r(i,e),e.fatal?a.abort():a.dirty()},get path(){return i.path}};if(s.addIssue=s.addIssue.bind(s),"preprocess"===o.type){var u=o.transform(i.data,s);if(i.common.async)return Promise.resolve(u).then(function(e){return _async_to_generator(function(){var t;return _ts_generator(this,function(r){switch(r.label){case 0:return"aborted"===a.value?[2,de]:[4,this._def.schema._parseAsync({data:e,path:i.path,parent:i})];case 1:return"aborted"===(t=r.sent()).status?[2,de]:"dirty"===t.status||"dirty"===a.value?[2,_e(t.value)]:[2,t]}})}).call(t)});if("aborted"===a.value)return de;var c=this._def.schema._parseSync({data:u,path:i.path,parent:i});return"aborted"===c.status?de:"dirty"===c.status||"dirty"===a.value?_e(c.value):c}if("refinement"===o.type){var l=function(e){var t=o.refinement(e,s);if(i.common.async)return Promise.resolve(t);if(_instanceof(t,Promise))throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1===i.common.async){var d=this._def.schema._parseSync({data:i.data,path:i.path,parent:i});return"aborted"===d.status?de:("dirty"===d.status&&a.dirty(),l(d.value),{status:a.value,value:d.value})}return this._def.schema._parseAsync({data:i.data,path:i.path,parent:i}).then(function(e){return"aborted"===e.status?de:("dirty"===e.status&&a.dirty(),l(e.value).then(function(){return{status:a.value,value:e.value}}))})}if("transform"===o.type){if(!1===i.common.async){var _=this._def.schema._parseSync({data:i.data,path:i.path,parent:i});if(!he(_))return de;var f=o.transform(_.value,s);if(_instanceof(f,Promise))throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:a.value,value:f}}return this._def.schema._parseAsync({data:i.data,path:i.path,parent:i}).then(function(e){return he(e)?Promise.resolve(o.transform(e.value,s)).then(function(e){return{status:a.value,value:e}}):de})}G.assertNever(o)}}]),t}(ke);pt.create=function(e,t,r){return new pt(_object_spread({schema:e,typeName:xt.ZodEffects,effect:t},n(r)))},pt.createWithPreprocess=function(e,t,r){return new pt(_object_spread({schema:t,effect:{type:"preprocess",transform:e},typeName:xt.ZodEffects},n(r)))};var yt=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){return this._getType(e)===Q.undefined?fe(void 0):this._def.innerType._parse(e)}},{key:"unwrap",value:function(){return this._def.innerType}}]),t}(ke);yt.create=function(e,t){return new yt(_object_spread({innerType:e,typeName:xt.ZodOptional},n(t)))};var ht=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){return this._getType(e)===Q.null?fe(null):this._def.innerType._parse(e)}},{key:"unwrap",value:function(){return this._def.innerType}}]),t}(ke);ht.create=function(e,t){return new ht(_object_spread({innerType:e,typeName:xt.ZodNullable},n(t)))};var vt=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){var t=this._processInputParams(e).ctx,r=t.data;return t.parsedType===Q.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:t.path,parent:t})}},{key:"removeDefault",value:function(){return this._def.innerType}}]),t}(ke);vt.create=function(e,t){return new vt(_object_spread({innerType:e,typeName:xt.ZodDefault,defaultValue:"function"==typeof t.default?t.default:function(){return t.default}},n(t)))};var mt=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){var t=this,r=this._processInputParams(e).ctx,n=_object_spread_props(_object_spread({},r),{common:_object_spread_props(_object_spread({},r.common),{issues:[]})}),a=this._def.innerType._parse({data:n.data,path:n.path,parent:_object_spread({},n)});return ve(a)?a.then(function(e){return{status:"valid",value:"valid"===e.status?e.value:t._def.catchValue({get error(){return new ne(n.common.issues)},input:n.data})}}):{status:"valid",value:"valid"===a.status?a.value:this._def.catchValue({get error(){return new ne(n.common.issues)},input:n.data})}}},{key:"removeCatch",value:function(){return this._def.innerType}}]),t}(ke);mt.create=function(e,t){return new mt(_object_spread({innerType:e,typeName:xt.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:function(){return t.catch}},n(t)))};var gt=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){if(this._getType(e)!==Q.nan){var t=this._getOrReturnCtx(e);return r(t,{code:te.invalid_type,expected:Q.nan,received:t.parsedType}),de}return{status:"valid",value:e.data}}}]),t}(ke);gt.create=function(e){return new gt(_object_spread({typeName:xt.ZodNaN},n(e)))};var bt=Symbol("zod_brand"),kt=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){var t=this._processInputParams(e).ctx,r=t.data;return this._def.type._parse({data:r,path:t.path,parent:t})}},{key:"unwrap",value:function(){return this._def.type}}]),t}(ke),jt=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){var t=this,r=this._processInputParams(e),n=r.status,a=r.ctx;if(a.common.async){return _async_to_generator(function(){var e;return _ts_generator(this,function(t){switch(t.label){case 0:return[4,this._def.in._parseAsync({data:a.data,path:a.path,parent:a})];case 1:return"aborted"===(e=t.sent()).status?[2,de]:"dirty"===e.status?(n.dirty(),[2,_e(e.value)]):[2,this._def.out._parseAsync({data:e.value,path:a.path,parent:a})]}})}).call(t)}var i=this._def.in._parseSync({data:a.data,path:a.path,parent:a});return"aborted"===i.status?de:"dirty"===i.status?(n.dirty(),{status:"dirty",value:i.value}):this._def.out._parseSync({data:i.value,path:a.path,parent:a})}}],[{key:"create",value:function(e,r){return new t({in:e,out:r,typeName:xt.ZodPipeline})}}]),t}(ke),wt=function(e){function t(){return _class_call_check(this,t),_call_super(this,t,arguments)}return _inherits(t,e),_create_class(t,[{key:"_parse",value:function(e){var t=this._def.innerType._parse(e),r=function(e){return he(e)&&(e.value=Object.freeze(e.value)),e};return ve(t)?t.then(function(e){return r(e)}):r(t)}},{key:"unwrap",value:function(){return this._def.innerType}}]),t}(ke);wt.create=function(e,t){return new wt(_object_spread({innerType:e,typeName:xt.ZodReadonly},n(t)))};var xt,St,Zt={object:Ye.lazycreate};(St=xt||(xt={})).ZodString="ZodString",St.ZodNumber="ZodNumber",St.ZodNaN="ZodNaN",St.ZodBigInt="ZodBigInt",St.ZodBoolean="ZodBoolean",St.ZodDate="ZodDate",St.ZodSymbol="ZodSymbol",St.ZodUndefined="ZodUndefined",St.ZodNull="ZodNull",St.ZodAny="ZodAny",St.ZodUnknown="ZodUnknown",St.ZodNever="ZodNever",St.ZodVoid="ZodVoid",St.ZodArray="ZodArray",St.ZodObject="ZodObject",St.ZodUnion="ZodUnion",St.ZodDiscriminatedUnion="ZodDiscriminatedUnion",St.ZodIntersection="ZodIntersection",St.ZodTuple="ZodTuple",St.ZodRecord="ZodRecord",St.ZodMap="ZodMap",St.ZodSet="ZodSet",St.ZodFunction="ZodFunction",St.ZodLazy="ZodLazy",St.ZodLiteral="ZodLiteral",St.ZodEnum="ZodEnum",St.ZodEffects="ZodEffects",St.ZodNativeEnum="ZodNativeEnum",St.ZodOptional="ZodOptional",St.ZodNullable="ZodNullable",St.ZodDefault="ZodDefault",St.ZodCatch="ZodCatch",St.ZodPromise="ZodPromise",St.ZodBranded="ZodBranded",St.ZodPipeline="ZodPipeline",St.ZodReadonly="ZodReadonly";var Ot=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{message:"Input not instance of ".concat(e.name)};return f(function(t){return _instanceof(t,e)},t)},At=Fe.create,Pt=ze.create,Tt=gt.create,Nt=De.create,Ct=$e.create,Et=Ue.create,It=Ve.create,Mt=Be.create,Rt=Ke.create,Lt=qe.create,Ft=We.create,zt=Xe.create,Dt=Ge.create,$t=Je.create,Ut=Ye.create,Vt=Ye.strictCreate,Bt=Qe.create,Kt=tt.create,qt=nt.create,Wt=at.create,Xt=it.create,Gt=ot.create,Jt=st.create,Ht=ut.create,Yt=ct.create,Qt=lt.create,er=dt.create,tr=_t.create,rr=ft.create,nr=pt.create,ar=yt.create,ir=ht.create,or=pt.createWithPreprocess,sr=jt.create,ur=function(){return At().optional()},cr=function(){return Pt().optional()},lr=function(){return Ct().optional()},dr={string:function(e){return Fe.create(_object_spread_props(_object_spread({},e),{coerce:!0}))},number:function(e){return ze.create(_object_spread_props(_object_spread({},e),{coerce:!0}))},boolean:function(e){return $e.create(_object_spread_props(_object_spread({},e),{coerce:!0}))},bigint:function(e){return De.create(_object_spread_props(_object_spread({},e),{coerce:!0}))},date:function(e){return Ue.create(_object_spread_props(_object_spread({},e),{coerce:!0}))}},_r=de,fr=Symbol("Let zodToJsonSchema decide on which parser to use"),pr={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},yr=function(e){var t=function(e){return"string"==typeof e?_object_spread_props(_object_spread({},pr),{name:e}):_object_spread({},pr,e)}(e),r=void 0!==t.name?_to_consumable_array(t.basePath).concat([t.definitionPath,t.name]):t.basePath;return _object_spread_props(_object_spread({},t),{flags:{hasReferencedOpenAiAnyType:!1},currentPath:r,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(function(e){var r=_sliced_to_array(e,2),n=r[0],a=r[1];return[a._def,{def:a._def,path:_to_consumable_array(t.basePath).concat([t.definitionPath,n]),jsonSchema:void 0}]}))})},hr=function(e,t){for(var r=0;r<e.length&&r<t.length&&e[r]===t[r];r++);return[(e.length-r).toString()].concat(_to_consumable_array(t.slice(r))).join("/")};function vr(e,t,r){var n=null!=r?r:t.dateStrategy;if(Array.isArray(n))return{anyOf:n.map(function(r,n){return vr(e,t,r)})};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return mr(e,t)}}var mr=function(e,t){var r={type:"integer",format:"unix-time"};if("openApi3"===t.target)return r;var n=!0,a=!1,i=void 0;try{for(var o,s=e.checks[Symbol.iterator]();!(n=(o=s.next()).done);n=!0){var u=o.value;switch(u.kind){case"min":y(r,"minimum",u.value,u.message,t);break;case"max":y(r,"maximum",u.value,u.message,t)}}}catch(e){a=!0,i=e}finally{try{n||null==s.return||s.return()}finally{if(a)throw i}}return r},gr=function(e){return(!("type"in e)||"string"!==e.type)&&"allOf"in e},br=void 0,kr={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:function(){return void 0===br&&(br=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),br},uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/},jr=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789"),wr={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"},xr=function(e,t){var r=(_instanceof(e.options,Map)?Array.from(e.options.values()):e.options).map(function(e,r){return Zr(e._def,_object_spread_props(_object_spread({},t),{currentPath:_to_consumable_array(t.currentPath).concat(["anyOf","".concat(r)])}))}).filter(function(e){return!!e&&(!t.strictUnions||"object"===(void 0===e?"undefined":_type_of(e))&&Object.keys(e).length>0)});return r.length?{anyOf:r}:void 0},Sr=function(e,t,r){switch(t){case xt.ZodString:return m(e,r);case xt.ZodNumber:return function(e,t){var r={type:"number"};if(!e.checks)return r;var n=!0,a=!1,i=void 0;try{for(var o,s=e.checks[Symbol.iterator]();!(n=(o=s.next()).done);n=!0){var u=o.value;switch(u.kind){case"int":r.type="integer",p(r,"type",u.message,t);break;case"min":"jsonSchema7"===t.target?u.inclusive?y(r,"minimum",u.value,u.message,t):y(r,"exclusiveMinimum",u.value,u.message,t):(u.inclusive||(r.exclusiveMinimum=!0),y(r,"minimum",u.value,u.message,t));break;case"max":"jsonSchema7"===t.target?u.inclusive?y(r,"maximum",u.value,u.message,t):y(r,"exclusiveMaximum",u.value,u.message,t):(u.inclusive||(r.exclusiveMaximum=!0),y(r,"maximum",u.value,u.message,t));break;case"multipleOf":y(r,"multipleOf",u.value,u.message,t)}}}catch(e){a=!0,i=e}finally{try{n||null==s.return||s.return()}finally{if(a)throw i}}return r}(e,r);case xt.ZodObject:return function(e,t){var r="openAi"===t.target,n={type:"object",properties:{}},a=[],i=e.shape();for(var o in i){var s=i[o];if(void 0!==s&&void 0!==s._def){var u=Z(s);u&&r&&("ZodOptional"===s._def.typeName&&(s=s._def.innerType),s.isNullable()||(s=s.nullable()),u=!1);var c=Zr(s._def,_object_spread_props(_object_spread({},t),{currentPath:_to_consumable_array(t.currentPath).concat(["properties",o]),propertyPath:_to_consumable_array(t.currentPath).concat(["properties",o])}));void 0!==c&&(n.properties[o]=c,u||a.push(o))}}a.length&&(n.required=a);var l=S(e,t);return void 0!==l&&(n.additionalProperties=l),n}(e,r);case xt.ZodBigInt:return function(e,t){var r={type:"integer",format:"int64"};if(!e.checks)return r;var n=!0,a=!1,i=void 0;try{for(var o,s=e.checks[Symbol.iterator]();!(n=(o=s.next()).done);n=!0){var u=o.value;switch(u.kind){case"min":"jsonSchema7"===t.target?u.inclusive?y(r,"minimum",u.value,u.message,t):y(r,"exclusiveMinimum",u.value,u.message,t):(u.inclusive||(r.exclusiveMinimum=!0),y(r,"minimum",u.value,u.message,t));break;case"max":"jsonSchema7"===t.target?u.inclusive?y(r,"maximum",u.value,u.message,t):y(r,"exclusiveMaximum",u.value,u.message,t):(u.inclusive||(r.exclusiveMaximum=!0),y(r,"maximum",u.value,u.message,t));break;case"multipleOf":y(r,"multipleOf",u.value,u.message,t)}}}catch(e){a=!0,i=e}finally{try{n||null==s.return||s.return()}finally{if(a)throw i}}return r}(e,r);case xt.ZodBoolean:return{type:"boolean"};case xt.ZodDate:return vr(e,r);case xt.ZodUndefined:return function(e){return{not:h(e)}}(r);case xt.ZodNull:return function(e){return"openApi3"===e.target?{enum:["null"],nullable:!0}:{type:"null"}}(r);case xt.ZodArray:return function(e,t){var r,n,a,i={type:"array"};return(null===(r=e.type)||void 0===r?void 0:r._def)&&(null===(a=e.type)||void 0===a||null===(n=a._def)||void 0===n?void 0:n.typeName)!==xt.ZodAny&&(i.items=Zr(e.type._def,_object_spread_props(_object_spread({},t),{currentPath:_to_consumable_array(t.currentPath).concat(["items"])}))),e.minLength&&y(i,"minItems",e.minLength.value,e.minLength.message,t),e.maxLength&&y(i,"maxItems",e.maxLength.value,e.maxLength.message,t),e.exactLength&&(y(i,"minItems",e.exactLength.value,e.exactLength.message,t),y(i,"maxItems",e.exactLength.value,e.exactLength.message,t)),i}(e,r);case xt.ZodUnion:case xt.ZodDiscriminatedUnion:return function(e,t){if("openApi3"===t.target)return xr(e,t);var r=_instanceof(e.options,Map)?Array.from(e.options.values()):e.options;if(r.every(function(e){return e._def.typeName in wr&&(!e._def.checks||!e._def.checks.length)})){var n=r.reduce(function(e,t){var r=wr[t._def.typeName];return r&&!e.includes(r)?_to_consumable_array(e).concat([r]):e},[]);return{type:n.length>1?n:n[0]}}if(r.every(function(e){return"ZodLiteral"===e._def.typeName&&!e.description})){var a=r.reduce(function(e,t){var r=_type_of(t._def.value);switch(r){case"string":case"number":case"boolean":return _to_consumable_array(e).concat([r]);case"bigint":return _to_consumable_array(e).concat(["integer"]);case"object":if(null===t._def.value)return _to_consumable_array(e).concat(["null"]);default:return e}},[]);if(a.length===r.length){var i=a.filter(function(e,t,r){return r.indexOf(e)===t});return{type:i.length>1?i:i[0],enum:r.reduce(function(e,t){return e.includes(t._def.value)?e:_to_consumable_array(e).concat([t._def.value])},[])}}}else if(r.every(function(e){return"ZodEnum"===e._def.typeName}))return{type:"string",enum:r.reduce(function(e,t){return _to_consumable_array(e).concat(_to_consumable_array(t._def.values.filter(function(t){return!e.includes(t)})))},[])};return xr(e,t)}(e,r);case xt.ZodIntersection:return function(e,t){var r=[Zr(e.left._def,_object_spread_props(_object_spread({},t),{currentPath:_to_consumable_array(t.currentPath).concat(["allOf","0"])})),Zr(e.right._def,_object_spread_props(_object_spread({},t),{currentPath:_to_consumable_array(t.currentPath).concat(["allOf","1"])}))].filter(function(e){return!!e}),n="jsonSchema2019-09"===t.target?{unevaluatedProperties:!1}:void 0,a=[];return r.forEach(function(e){if(gr(e)){var t;(t=a).push.apply(t,_to_consumable_array(e.allOf)),void 0===e.unevaluatedProperties&&(n=void 0)}else{var r=e;"additionalProperties"in e&&!1===e.additionalProperties?(e.additionalProperties,r=_object_without_properties(e,["additionalProperties"])):n=void 0,a.push(r)}}),a.length?_object_spread({allOf:a},n):void 0}(e,r);case xt.ZodTuple:return function(e,t){return e.rest?{type:"array",minItems:e.items.length,items:e.items.map(function(e,r){return Zr(e._def,_object_spread_props(_object_spread({},t),{currentPath:_to_consumable_array(t.currentPath).concat(["items","".concat(r)])}))}).reduce(function(e,t){return void 0===t?e:_to_consumable_array(e).concat([t])},[]),additionalItems:Zr(e.rest._def,_object_spread_props(_object_spread({},t),{currentPath:_to_consumable_array(t.currentPath).concat(["additionalItems"])}))}:{type:"array",minItems:e.items.length,maxItems:e.items.length,items:e.items.map(function(e,r){return Zr(e._def,_object_spread_props(_object_spread({},t),{currentPath:_to_consumable_array(t.currentPath).concat(["items","".concat(r)])}))}).reduce(function(e,t){return void 0===t?e:_to_consumable_array(e).concat([t])},[])}}(e,r);case xt.ZodRecord:return x(e,r);case xt.ZodLiteral:return function(e,t){var r=_type_of(e.value);return"bigint"!==r&&"number"!==r&&"boolean"!==r&&"string"!==r?{type:Array.isArray(e.value)?"array":"object"}:"openApi3"===t.target?{type:"bigint"===r?"integer":r,enum:[e.value]}:{type:"bigint"===r?"integer":r,const:e.value}}(e,r);case xt.ZodEnum:return function(e){return{type:"string",enum:Array.from(e.values)}}(e);case xt.ZodNativeEnum:return function(e){var t=e.values,r=Object.keys(e.values).filter(function(e){return"number"!=typeof t[t[e]]}).map(function(e){return t[e]}),n=Array.from(new Set(r.map(function(e){return void 0===e?"undefined":_type_of(e)})));return{type:1===n.length?"string"===n[0]?"string":"number":["string","number"],enum:r}}(e);case xt.ZodNullable:return function(e,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(e.innerType._def.typeName)&&(!e.innerType._def.checks||!e.innerType._def.checks.length))return"openApi3"===t.target?{type:wr[e.innerType._def.typeName],nullable:!0}:{type:[wr[e.innerType._def.typeName],"null"]};if("openApi3"===t.target){var r=Zr(e.innerType._def,_object_spread_props(_object_spread({},t),{currentPath:_to_consumable_array(t.currentPath)}));return r&&"$ref"in r?{allOf:[r],nullable:!0}:r&&_object_spread_props(_object_spread({},r),{nullable:!0})}var n=Zr(e.innerType._def,_object_spread_props(_object_spread({},t),{currentPath:_to_consumable_array(t.currentPath).concat(["anyOf","0"])}));return n&&{anyOf:[n,{type:"null"}]}}(e,r);case xt.ZodOptional:return function(e,t){var r;if(t.currentPath.toString()===(null===(r=t.propertyPath)||void 0===r?void 0:r.toString()))return Zr(e.innerType._def,t);var n=Zr(e.innerType._def,_object_spread_props(_object_spread({},t),{currentPath:_to_consumable_array(t.currentPath).concat(["anyOf","1"])}));return n?{anyOf:[{not:h(t)},n]}:h(t)}(e,r);case xt.ZodMap:return function(e,t){return"record"===t.mapStrategy?x(e,t):{type:"array",maxItems:125,items:{type:"array",items:[Zr(e.keyType._def,_object_spread_props(_object_spread({},t),{currentPath:_to_consumable_array(t.currentPath).concat(["items","items","0"])}))||h(t),Zr(e.valueType._def,_object_spread_props(_object_spread({},t),{currentPath:_to_consumable_array(t.currentPath).concat(["items","items","1"])}))||h(t)],minItems:2,maxItems:2}}}(e,r);case xt.ZodSet:return function(e,t){var r={type:"array",uniqueItems:!0,items:Zr(e.valueType._def,_object_spread_props(_object_spread({},t),{currentPath:_to_consumable_array(t.currentPath).concat(["items"])}))};return e.minSize&&y(r,"minItems",e.minSize.value,e.minSize.message,t),e.maxSize&&y(r,"maxItems",e.maxSize.value,e.maxSize.message,t),r}(e,r);case xt.ZodLazy:return function(){return e.getter()._def};case xt.ZodPromise:return function(e,t){return Zr(e.type._def,t)}(e,r);case xt.ZodNaN:case xt.ZodNever:return function(e){return"openAi"===e.target?void 0:{not:h(_object_spread_props(_object_spread({},e),{currentPath:_to_consumable_array(e.currentPath).concat(["not"])}))}}(r);case xt.ZodEffects:return function(e,t){return"input"===t.effectStrategy?Zr(e.schema._def,t):h(t)}(e,r);case xt.ZodAny:return h(r);case xt.ZodUnknown:return function(e){return h(e)}(r);case xt.ZodDefault:return function(e,t){return _object_spread_props(_object_spread({},Zr(e.innerType._def,t)),{default:e.defaultValue()})}(e,r);case xt.ZodBranded:return v(e,r);case xt.ZodReadonly:case xt.ZodCatch:return function(e,t){return Zr(e.innerType._def,t)}(e,r);case xt.ZodPipeline:return function(e,t){if("input"===t.pipeStrategy)return Zr(e.in._def,t);if("output"===t.pipeStrategy)return Zr(e.out._def,t);var r=Zr(e.in._def,_object_spread_props(_object_spread({},t),{currentPath:_to_consumable_array(t.currentPath).concat(["allOf","0"])}));return{allOf:[r,Zr(e.out._def,_object_spread_props(_object_spread({},t),{currentPath:_to_consumable_array(t.currentPath).concat(["allOf",r?"1":"0"])}))].filter(function(e){return void 0!==e})}}(e,r);case xt.ZodFunction:case xt.ZodVoid:case xt.ZodSymbol:default:return}};function Zr(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=t.seen.get(e);if(t.override){var a,i=null===(a=t.override)||void 0===a?void 0:a.call(t,e,t,n,r);if(i!==fr)return i}if(n&&!r){var o=Or(n,t);if(void 0!==o)return o}var s={def:e,path:t.currentPath,jsonSchema:void 0};t.seen.set(e,s);var u=Sr(e,e.typeName,t),c="function"==typeof u?Zr(u(),t):u;if(c&&Ar(e,t,c),t.postProcess){var l=t.postProcess(c,e,t);return s.jsonSchema=c,l}return s.jsonSchema=c,c}var Or=function(e,t){switch(t.$refStrategy){case"root":return{$ref:e.path.join("/")};case"relative":return{$ref:hr(t.currentPath,e.path)};case"none":case"seen":return e.path.length<t.currentPath.length&&e.path.every(function(e,r){return t.currentPath[r]===e})?(console.warn("Recursive reference detected at ".concat(t.currentPath.join("/"),"! Defaulting to any")),h(t)):"seen"===t.$refStrategy?h(t):void 0}},Ar=function(e,t,r){return e.description&&(r.description=e.description,t.markdownDescription&&(r.markdownDescription=e.description)),r},Pr=function(e,t){var r,n=yr(t),a="object"===(void 0===t?"undefined":_type_of(t))&&t.definitions?Object.entries(t.definitions).reduce(function(e,t){var r,a=_sliced_to_array(t,2),i=a[0],o=a[1];return _object_spread_props(_object_spread({},e),_define_property({},i,null!==(r=Zr(o._def,_object_spread_props(_object_spread({},n),{currentPath:_to_consumable_array(n.basePath).concat([n.definitionPath,i])}),!0))&&void 0!==r?r:h(n)))},{}):void 0,i="string"==typeof t?t:"title"===(null==t?void 0:t.nameStrategy)||null==t?void 0:t.name,o=null!==(r=Zr(e._def,void 0===i?n:_object_spread_props(_object_spread({},n),{currentPath:_to_consumable_array(n.basePath).concat([n.definitionPath,i])}),!1))&&void 0!==r?r:h(n),s="object"===(void 0===t?"undefined":_type_of(t))&&void 0!==t.name&&"title"===t.nameStrategy?t.name:void 0;void 0!==s&&(o.title=s),n.flags.hasReferencedOpenAiAnyType&&(a||(a={}),a[n.openAiAnyTypeName]||(a[n.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:"relative"===n.$refStrategy?"1":_to_consumable_array(n.basePath).concat([n.definitionPath,n.openAiAnyTypeName]).join("/")}}));var u=void 0===i?a?_object_spread_props(_object_spread({},o),_define_property({},n.definitionPath,a)):o:_define_property({$ref:_to_consumable_array("relative"===n.$refStrategy?[]:n.basePath).concat([n.definitionPath,i]).join("/")},n.definitionPath,_object_spread_props(_object_spread({},a),_define_property({},i,o)));return"jsonSchema7"===n.target?u.$schema="http://json-schema.org/draft-07/schema#":"jsonSchema2019-09"!==n.target&&"openAi"!==n.target||(u.$schema="https://json-schema.org/draft/2019-09/schema#"),"openAi"===n.target&&("anyOf"in u||"oneOf"in u||"allOf"in u||"type"in u&&Array.isArray(u.type))&&console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property."),u},Tr=Y.record(Y.string(),Y.boolean()).describe("Consent requirement mapping"),Nr=Y.lazy(function(){return Y.union([Y.string(),Y.number(),Y.boolean(),Mr,Y.array(Nr)])}),Cr=Y.tuple([Nr,Nr]).describe("Loop: [source, transform] tuple for array transformations"),Er=Y.array(Nr).describe("Set: Array of values"),Ir=Y.record(Y.string(),Nr).describe("Map: Object mapping keys to values"),Mr=Y.object({key:Y.string().optional().describe('Property path (e.g., "data.id")'),value:Y.union([Y.string(),Y.number(),Y.boolean()]).optional().describe("Static primitive value"),fn:Y.string().optional().describe("Function string for custom transformation"),map:Ir.optional().describe("Object with key-value mappings"),loop:Cr.optional().describe("Tuple [source, transform]"),set:Er.optional().describe("Array of values"),consent:Tr.optional().describe("Required consent states"),condition:Y.string().optional().describe("Condition function string"),validate:Y.string().optional().describe("Validation function string")}).refine(function(e){return Object.keys(e).length>0},{message:"ValueConfig must have at least one property"}).describe("Value configuration for transformations"),Rr=Cr,Lr=Er,Fr=Ir,zr=(Pr(Mr,{target:"jsonSchema7",$refStrategy:"relative",name:"ValueConfig"}),Pr(Rr,{target:"jsonSchema7",$refStrategy:"relative",name:"Loop"}),Pr(Lr,{target:"jsonSchema7",$refStrategy:"relative",name:"Set"}),Pr(Fr,{target:"jsonSchema7",$refStrategy:"relative",name:"Map"}),!1),Dr={},$r={};W($r,{push:function(){return Br}});var Ur=function(){},Vr=function(){return function(){return Promise.resolve({ok:!0,successful:[],queued:[],failed:[]})}},Br={get push(){return Vr()},get command(){return Vr()},get elb(){return Vr()},get window(){return{dataLayer:[],addEventListener:Ur,removeEventListener:Ur}}},Kr={};W(Kr,{add_to_cart:function(){return F},config:function(){return D},consentDefault:function(){return R},consentUpdate:function(){return M},directDataLayerEvent:function(){return U},purchase:function(){return L},setCustom:function(){return $},view_item:function(){return z}});var qr={};W(qr,{add_to_cart:function(){return Jr},config:function(){return en},configGA4:function(){return Yr},consentOnlyMapping:function(){return tn},consentUpdate:function(){return Xr},customEvent:function(){return Qr},purchase:function(){return Gr},view_item:function(){return Hr}});var Wr,Xr={name:"walker consent",settings:{command:{map:{functional:{value:!0},analytics:{key:"analytics_storage",fn:function(e){return"granted"===e}},marketing:{key:"ad_storage",fn:function(e){return"granted"===e}}}}}},Gr={name:"order complete",data:{map:{id:"transaction_id",total:"value",currency:"currency",nested:{loop:["items",{map:{type:{value:"product"},data:{map:{id:"item_id",name:"item_name",category:"item_category",quantity:"quantity",price:"price"}}}}]}}}},Jr={name:"product add",data:{map:{id:"items.0.item_id",name:"items.0.item_name",price:"value",currency:"currency",color:"items.0.item_variant",quantity:"items.0.quantity"}}},Hr={name:"product view",data:{map:{id:"items.0.item_id",name:"items.0.item_name",category:"items.0.item_category",price:"items.0.price",currency:"currency"}}},Yr={name:"page view",data:{map:{title:"page_title",url:"page_location"}}},Qr={data:{map:{user_id:"user_id",custom_parameter:"custom_parameter"}}},en={consent:{update:Xr},purchase:Gr,add_to_cart:Jr,view_item:Hr,"config G-XXXXXXXXXX":Yr,custom_event:Qr,"*":{data:{}}},tn={consent:{update:Xr}},rn=function(e,t){return _async_to_generator(function(){var r,n,a,i;return _ts_generator(this,function(o){return r=t.elb,n=t.window,a=_object_spread({name:"dataLayer",prefix:"dataLayer"},null==e?void 0:e.settings),i={settings:a},n&&(function(e,t){var r=t.settings,n=(null==r?void 0:r.name)||"dataLayer",a=window[n];if(Array.isArray(a)&&!zr){zr=!0;try{var i=!0,o=!1,s=void 0;try{for(var u,c=a[Symbol.iterator]();!(i=(u=c.next()).done);i=!0){var l=u.value;N(e,r,l)}}catch(e){o=!0,s=e}finally{try{i||null==c.return||c.return()}finally{if(o)throw s}}}finally{zr=!1}}}(r,i),function(e,t){var r=t.settings,n=(null==r?void 0:r.name)||"dataLayer";window[n]||(window[n]=[]);var a=window[n];if(Array.isArray(a)){var i=a.push.bind(a);a.push=function(){for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];if(zr)return i.apply(void 0,_to_consumable_array(n));zr=!0;try{var o=!0,s=!1,u=void 0;try{for(var c,l=n[Symbol.iterator]();!(o=(c=l.next()).done);o=!0){var d=c.value;N(e,r,d)}}catch(e){s=!0,u=e}finally{try{o||null==l.return||l.return()}finally{if(s)throw u}}}finally{zr=!1}return i.apply(void 0,_to_consumable_array(n))}}}(r,i)),[2,{type:"dataLayer",config:i,push:r,destroy:function(){return _async_to_generator(function(){var e;return _ts_generator(this,function(t){return e=a.name||"dataLayer",n&&n[e]&&Array.isArray(n[e]),[2]})})()}}]})})()},nn=rn;return Wr=X,function(e,t,r,n){if(t&&"object"===(void 0===t?"undefined":_type_of(t))||"function"==typeof t){var a=!0,i=!1,o=void 0;try{for(var s,u=function(){var a=s.value;q.call(e,a)||a===r||V(e,a,{get:function(){return t[a]},enumerable:!(n=B(t,a))||n.enumerable})},c=K(t)[Symbol.iterator]();!(a=(s=c.next()).done);a=!0)u()}catch(e){i=!0,o=e}finally{try{a||null==c.return||c.return()}finally{if(i)throw o}}}return e}(V({},"__esModule",{value:!0}),Wr)}();
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var e,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,i=(e,n)=>{for(var a in n)t(e,a,{get:n[a],enumerable:!0})},o={};i(o,{Events:()=>f,Mapping:()=>L,SourceDataLayer:()=>m,consentOnlyMapping:()=>P,consentUpdateEvent:()=>g,dataLayerExamples:()=>$,default:()=>D,env:()=>l,sourceDataLayer:()=>q}),module.exports=(e=o,((e,i,o,c)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let s of a(i))r.call(e,s)||s===o||t(e,s,{get:()=>i[s],enumerable:!(c=n(i,s))||c.enumerable});return e})(t({},"__esModule",{value:!0}),e));var c=require("@walkeros/core"),s=!1;function u(e,t={},n){if(t.filter){if(!0===(0,c.tryCatch)(()=>t.filter(n),()=>!1)())return}const a=function(e){if((0,c.isObject)(e)&&(0,c.isString)(e.event)){const{event:t,...n}=e;return{name:t,...n}}if((0,c.isArray)(e)&&e.length>=2)return d(e);if(t=e,null!=t&&"object"==typeof t&&"length"in t&&"number"==typeof t.length&&t.length>0){return d(Array.from(e))}var t;return null}(n);if(!a)return;const r={name:`${t.prefix||"dataLayer"} ${a.name}`,data:a,context:{},globals:{},custom:{},consent:{},nested:[],user:{},id:Math.random().toString(36).substring(2,15),trigger:"",entity:"",action:"",timestamp:Date.now(),timing:0,group:"",count:0,version:{source:"1.0.0",tagging:2},source:{type:"dataLayer",id:"",previous_id:""}};(0,c.tryCatch)(()=>e(r),()=>{})()}function d(e){const[t,n,a]=e;if(!(0,c.isString)(t))return null;let r,i={};switch(t){case"consent":if(!(0,c.isString)(n)||e.length<3)return null;if("default"!==n&&"update"!==n)return null;if(!(0,c.isObject)(a)||null===a)return null;r=`${t} ${n}`,i={...a};break;case"event":if(!(0,c.isString)(n))return null;r=n,(0,c.isObject)(a)&&(i={...a});break;case"config":if(!(0,c.isString)(n))return null;r=`${t} ${n}`,(0,c.isObject)(a)&&(i={...a});break;case"set":if((0,c.isString)(n))r=`${t} ${n}`,(0,c.isObject)(a)&&(i={...a});else{if(!(0,c.isObject)(n))return null;r=`${t} custom`,i={...n}}break;default:return null}return{name:r,...i}}var m={},l={};i(l,{push:()=>y});var p={dataLayer:[],addEventListener:jest.fn(),removeEventListener:jest.fn()},y={elb:jest.fn(),window:p},f={};function g(){return["consent","update",{ad_user_data:"granted",ad_personalization:"granted",ad_storage:"denied",analytics_storage:"granted"}]}function _(){return["consent","default",{ad_storage:"denied",analytics_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"}]}function v(){return["event","purchase",{transaction_id:"T_12345",value:25.42,currency:"EUR",items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",quantity:1,price:25.42}]}]}function w(){return["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_variant:"red",quantity:1,price:15.25}]}]}function b(){return["event","view_item",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",price:15.25}]}]}function h(){return["config","G-XXXXXXXXXX",{page_title:"Custom Page Title",page_location:"https://example.com/page",send_page_view:!1}]}function X(){return["set",{currency:"EUR",country:"DE"}]}function j(){return{event:"custom_event",custom_parameter:"custom_value",user_id:"user123"}}i(f,{add_to_cart:()=>w,config:()=>h,consentDefault:()=>_,consentUpdate:()=>g,directDataLayerEvent:()=>j,purchase:()=>v,setCustom:()=>X,view_item:()=>b});var L={};i(L,{add_to_cart:()=>S,config:()=>$,configGA4:()=>k,consentOnlyMapping:()=>P,consentUpdate:()=>O,customEvent:()=>A,purchase:()=>E,view_item:()=>U});var O={name:"walker consent",settings:{command:{map:{functional:{value:!0},analytics:{key:"analytics_storage",fn:e=>"granted"===e},marketing:{key:"ad_storage",fn:e=>"granted"===e}}}}},E={name:"order complete",data:{map:{id:"transaction_id",total:"value",currency:"currency",nested:{loop:["items",{map:{type:{value:"product"},data:{map:{id:"item_id",name:"item_name",category:"item_category",quantity:"quantity",price:"price"}}}}]}}}},S={name:"product add",data:{map:{id:"items.0.item_id",name:"items.0.item_name",price:"value",currency:"currency",color:"items.0.item_variant",quantity:"items.0.quantity"}}},U={name:"product view",data:{map:{id:"items.0.item_id",name:"items.0.item_name",category:"items.0.item_category",price:"items.0.price",currency:"currency"}}},k={name:"page view",data:{map:{title:"page_title",url:"page_location"}}},A={data:{map:{user_id:"user_id",custom_parameter:"custom_parameter"}}},$={consent:{update:O},purchase:E,add_to_cart:S,view_item:U,"config G-XXXXXXXXXX":k,custom_event:A,"*":{data:{}}},P={consent:{update:O}},q=async(e,t)=>{try{const{elb:n,window:a}=t,r={name:"dataLayer",prefix:"dataLayer",...null==e?void 0:e.settings},i={settings:r};a&&(function(e,t){const n=t.settings,a=(null==n?void 0:n.name)||"dataLayer",r=window[a];if(Array.isArray(r)&&!s){s=!0;try{for(const t of r)u(e,n,t)}finally{s=!1}}}(n,i),function(e,t){const n=t.settings,a=(null==n?void 0:n.name)||"dataLayer";window[a]||(window[a]=[]);const r=window[a];if(!Array.isArray(r))return;const i=r.push.bind(r);r.push=function(...t){if(s)return i(...t);s=!0;try{for(const a of t)u(e,n,a)}finally{s=!1}return i(...t)}}(n,i));return{type:"dataLayer",config:i,push:n,destroy:async()=>{const e=r.name||"dataLayer";a&&a[e]&&Array.isArray(a[e])}}}catch(e){throw e}},D=q;//# sourceMappingURL=index.js.map
1
+ "use strict";var e,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,i=(e,n)=>{for(var a in n)t(e,a,{get:n[a],enumerable:!0})},c={};i(c,{Events:()=>_,Mapping:()=>j,SourceDataLayer:()=>m,consentOnlyMapping:()=>q,consentUpdateEvent:()=>g,dataLayerExamples:()=>$,default:()=>D,env:()=>l,sourceDataLayer:()=>C}),module.exports=(e=c,((e,i,c,o)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let u of a(i))r.call(e,u)||u===c||t(e,u,{get:()=>i[u],enumerable:!(o=n(i,u))||o.enumerable});return e})(t({},"__esModule",{value:!0}),e));var o=require("@walkeros/core"),u=!1;function s(e,t={},n){if(t.filter){if(!0===(0,o.tryCatch)(()=>t.filter(n),()=>!1)())return}const a=function(e){if((0,o.isObject)(e)&&(0,o.isString)(e.event)){const{event:t,...n}=e;return{name:t,...n}}if((0,o.isArray)(e)&&e.length>=2)return d(e);if(t=e,null!=t&&"object"==typeof t&&"length"in t&&"number"==typeof t.length&&t.length>0){return d(Array.from(e))}var t;return null}(n);if(!a)return;const r=`${t.prefix||"dataLayer"} ${a.name}`,{name:i,...c}=a,u={name:r,data:c};(0,o.tryCatch)(()=>e(u),()=>{})()}function d(e){const[t,n,a]=e;if(!(0,o.isString)(t))return null;let r,i={};switch(t){case"consent":if(!(0,o.isString)(n)||e.length<3)return null;if("default"!==n&&"update"!==n)return null;if(!(0,o.isObject)(a)||null===a)return null;r=`${t} ${n}`,i={...a};break;case"event":if(!(0,o.isString)(n))return null;r=n,(0,o.isObject)(a)&&(i={...a});break;case"config":if(!(0,o.isString)(n))return null;r=`${t} ${n}`,(0,o.isObject)(a)&&(i={...a});break;case"set":if((0,o.isString)(n))r=`${t} ${n}`,(0,o.isObject)(a)&&(i={...a});else{if(!(0,o.isObject)(n))return null;r=`${t} custom`,i={...n}}break;default:return null}return{name:r,...i}}var m={},l={};i(l,{push:()=>f});var p=()=>{},y=()=>()=>Promise.resolve({ok:!0,successful:[],queued:[],failed:[]}),f={get push(){return y()},get command(){return y()},get elb(){return y()},get window(){return{dataLayer:[],addEventListener:p,removeEventListener:p}}},_={};function g(){return["consent","update",{ad_user_data:"granted",ad_personalization:"granted",ad_storage:"denied",analytics_storage:"granted"}]}function v(){return["consent","default",{ad_storage:"denied",analytics_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"}]}function w(){return["event","purchase",{transaction_id:"T_12345",value:25.42,currency:"EUR",items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",quantity:1,price:25.42}]}]}function b(){return["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_variant:"red",quantity:1,price:15.25}]}]}function X(){return["event","view_item",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",price:15.25}]}]}function h(){return["config","G-XXXXXXXXXX",{page_title:"Custom Page Title",page_location:"https://example.com/page",send_page_view:!1}]}function O(){return["set",{currency:"EUR",country:"DE"}]}function L(){return{event:"custom_event",custom_parameter:"custom_value",user_id:"user123"}}i(_,{add_to_cart:()=>b,config:()=>h,consentDefault:()=>v,consentUpdate:()=>g,directDataLayerEvent:()=>L,purchase:()=>w,setCustom:()=>O,view_item:()=>X});var j={};i(j,{add_to_cart:()=>S,config:()=>$,configGA4:()=>A,consentOnlyMapping:()=>q,consentUpdate:()=>E,customEvent:()=>P,purchase:()=>k,view_item:()=>U});var E={name:"walker consent",settings:{command:{map:{functional:{value:!0},analytics:{key:"analytics_storage",fn:e=>"granted"===e},marketing:{key:"ad_storage",fn:e=>"granted"===e}}}}},k={name:"order complete",data:{map:{id:"transaction_id",total:"value",currency:"currency",nested:{loop:["items",{map:{type:{value:"product"},data:{map:{id:"item_id",name:"item_name",category:"item_category",quantity:"quantity",price:"price"}}}}]}}}},S={name:"product add",data:{map:{id:"items.0.item_id",name:"items.0.item_name",price:"value",currency:"currency",color:"items.0.item_variant",quantity:"items.0.quantity"}}},U={name:"product view",data:{map:{id:"items.0.item_id",name:"items.0.item_name",category:"items.0.item_category",price:"items.0.price",currency:"currency"}}},A={name:"page view",data:{map:{title:"page_title",url:"page_location"}}},P={data:{map:{user_id:"user_id",custom_parameter:"custom_parameter"}}},$={consent:{update:E},purchase:k,add_to_cart:S,view_item:U,"config G-XXXXXXXXXX":A,custom_event:P,"*":{data:{}}},q={consent:{update:E}},C=async(e,t)=>{const{elb:n,window:a}=t,r={name:"dataLayer",prefix:"dataLayer",...null==e?void 0:e.settings},i={settings:r};return a&&(function(e,t){const n=t.settings,a=(null==n?void 0:n.name)||"dataLayer",r=window[a];if(Array.isArray(r)&&!u){u=!0;try{for(const t of r)s(e,n,t)}finally{u=!1}}}(n,i),function(e,t){const n=t.settings,a=(null==n?void 0:n.name)||"dataLayer";window[a]||(window[a]=[]);const r=window[a];if(!Array.isArray(r))return;const i=r.push.bind(r);r.push=function(...t){if(u)return i(...t);u=!0;try{for(const a of t)s(e,n,a)}finally{u=!1}return i(...t)}}(n,i)),{type:"dataLayer",config:i,push:n,destroy:async()=>{const e=r.name||"dataLayer";a&&a[e]&&Array.isArray(a[e])}}},D=C;//# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/interceptor.ts","../src/types/index.ts","../src/examples/env.ts","../src/examples/events.ts","../src/examples/mapping.ts"],"sourcesContent":["import type { Source, Elb } from '@walkeros/core';\nimport type { Types } from './types';\nimport { interceptDataLayer, processExistingEvents } from './interceptor';\n\n// Export types for external usage\nexport * as SourceDataLayer from './types';\n\n// Export examples\nexport * from './examples';\n\n/**\n * DataLayer source implementation using environment injection.\n *\n * This source intercepts dataLayer.push calls and transforms them to WalkerOS events.\n * It works by replacing the dataLayer.push method with a custom handler.\n */\nexport const sourceDataLayer: Source.Init<Types> = async (\n config: Partial<Source.Config<Types>>,\n env: Source.Env<Types>,\n) => {\n try {\n // Extract environment dependencies\n const { elb, window: envWindow } = env;\n\n // Default configuration, merged with provided config\n const settings: Source.Settings<Types> = {\n name: 'dataLayer',\n prefix: 'dataLayer',\n ...config?.settings,\n };\n\n // Full configuration with defaults\n const fullConfig: Source.Config<Types> = {\n settings,\n };\n\n // Initialize dataLayer interception if window is available\n if (envWindow) {\n // Process existing events in dataLayer\n processExistingEvents(elb, fullConfig);\n\n // Set up interception for new events\n interceptDataLayer(elb, fullConfig);\n }\n\n // DataLayer sources typically intercept existing dataLayer.push calls\n // The push method here forwards to the core collector elb function\n const push: Elb.Fn = elb;\n\n // Return stateless source instance\n return {\n type: 'dataLayer',\n config: fullConfig,\n push,\n destroy: async () => {\n // Cleanup: restore original dataLayer.push if possible\n const dataLayerName = settings.name || 'dataLayer';\n if (\n envWindow &&\n envWindow[dataLayerName] &&\n Array.isArray(envWindow[dataLayerName])\n ) {\n // Note: Complete restoration would require storing original push method\n // For now, we'll just document this limitation\n }\n },\n };\n } catch (error) {\n throw error;\n }\n};\n\nexport default sourceDataLayer;\n","import type { WalkerOS, Source } from '@walkeros/core';\nimport { isArray, isObject, isString, tryCatch } from '@walkeros/core';\n\n// Global flag to prevent infinite loops\nlet isProcessing = false;\n\n/**\n * DataLayer interceptor - handles dataLayer.push interception and event transformation\n */\nexport function interceptDataLayer(\n elb: Source.Env['elb'],\n config: Source.Config,\n): void {\n const settings = config.settings as {\n name?: string;\n prefix?: string;\n filter?: (event: unknown) => boolean;\n };\n const dataLayerName = settings?.name || 'dataLayer';\n\n // Ensure dataLayer exists\n if (!window[dataLayerName]) {\n window[dataLayerName] = [];\n }\n\n const dataLayer = window[dataLayerName] as unknown[];\n if (!Array.isArray(dataLayer)) return;\n\n // Store original push\n const originalPush = dataLayer.push.bind(dataLayer);\n\n // Override push with event processing\n dataLayer.push = function (...args: unknown[]): number {\n // Prevent infinite loops\n if (isProcessing) {\n return originalPush(...args);\n }\n\n isProcessing = true;\n try {\n // Process each argument\n for (const arg of args) {\n processEvent(elb, settings, arg);\n }\n } finally {\n isProcessing = false;\n }\n\n // Call original push\n return originalPush(...args);\n };\n}\n\n/**\n * Process existing events on initialization\n */\nexport function processExistingEvents(\n elb: Source.Env['elb'],\n config: Source.Config,\n): void {\n const settings = config.settings as {\n name?: string;\n prefix?: string;\n filter?: (event: unknown) => boolean;\n };\n const dataLayerName = settings?.name || 'dataLayer';\n const dataLayer = window[dataLayerName] as unknown[];\n\n if (!Array.isArray(dataLayer)) return;\n\n // Prevent loops during initialization\n if (isProcessing) return;\n\n isProcessing = true;\n try {\n // Process all existing events\n for (const event of dataLayer) {\n processEvent(elb, settings, event);\n }\n } finally {\n isProcessing = false;\n }\n}\n\n/**\n * Process a single event - handles filtering, transformation, and WalkerOS event creation\n */\nfunction processEvent(\n elb: Source.Env['elb'],\n settings: { prefix?: string; filter?: (event: unknown) => boolean } = {},\n rawEvent: unknown,\n): void {\n // Apply filter if provided\n if (settings.filter) {\n const filterFn = tryCatch(\n () => settings.filter!(rawEvent),\n () => false, // If filter throws, don't skip the event\n );\n const filterResult = filterFn();\n if (filterResult === true) {\n return; // Skip filtered events\n }\n }\n\n // Transform the event (handles gtag format and direct objects)\n const transformedEvent = transformDataLayerEvent(rawEvent);\n if (!transformedEvent) {\n return; // Skip invalid events\n }\n\n const prefix = settings.prefix || 'dataLayer';\n const eventName = `${prefix} ${transformedEvent.name}`;\n\n // Create WalkerOS event structure\n const walkerEvent: WalkerOS.Event = {\n name: eventName,\n data: transformedEvent as WalkerOS.Properties,\n context: {},\n globals: {},\n custom: {},\n consent: {},\n nested: [],\n user: {},\n id: generateId(),\n trigger: '',\n entity: '',\n action: '',\n timestamp: Date.now(),\n timing: 0,\n group: '',\n count: 0,\n version: { source: '1.0.0', tagging: 2 },\n source: {\n type: 'dataLayer',\n id: '',\n previous_id: '',\n },\n };\n\n // Push to elb\n tryCatch(\n () => elb(walkerEvent),\n () => {}, // Silently handle push errors\n )();\n}\n\n/**\n * Transform dataLayer events to standardized format\n * Handles: gtag arguments, direct objects, existing events\n */\nfunction transformDataLayerEvent(\n rawEvent: unknown,\n): { name: string; [key: string]: unknown } | null {\n // Handle direct object format: { event: 'test', data: 'value' }\n if (isObject(rawEvent) && isString(rawEvent.event)) {\n const { event, ...rest } = rawEvent;\n return { name: event, ...rest };\n }\n\n // Handle gtag argument format: ['consent', 'update', { ad_storage: 'granted' }]\n if (isArray(rawEvent) && rawEvent.length >= 2) {\n return transformGtagArgs(rawEvent);\n }\n\n // Handle arguments object (from gtag function calls)\n if (isGtagArguments(rawEvent)) {\n const argsArray = Array.from(rawEvent as ArrayLike<unknown>);\n return transformGtagArgs(argsArray);\n }\n\n return null;\n}\n\n/**\n * Transform gtag-style arguments to event object\n * ['consent', 'update', { ad_storage: 'granted' }] → { event: 'consent update', ad_storage: 'granted' }\n */\nfunction transformGtagArgs(\n args: unknown[],\n): { name: string; [key: string]: unknown } | null {\n const [command, action, params] = args;\n\n if (!isString(command)) return null;\n\n let eventName: string;\n let eventData: Record<string, unknown> = {};\n\n switch (command) {\n case 'consent':\n // Consent requires action and params\n if (!isString(action) || args.length < 3) return null;\n // Only allow 'default' and 'update' actions for consent\n if (action !== 'default' && action !== 'update') return null;\n // Params must be a valid object (not null)\n if (!isObject(params) || params === null) return null;\n\n eventName = `${command} ${action}`;\n eventData = { ...params };\n break;\n\n case 'event':\n // Event requires at least action parameter\n if (!isString(action)) return null;\n eventName = action;\n if (isObject(params)) {\n eventData = { ...params };\n }\n break;\n\n case 'config':\n // Config requires at least action parameter\n if (!isString(action)) return null;\n eventName = `${command} ${action}`;\n if (isObject(params)) {\n eventData = { ...params };\n }\n break;\n\n case 'set':\n if (isString(action)) {\n eventName = `${command} ${action}`;\n if (isObject(params)) {\n eventData = { ...params };\n }\n } else if (isObject(action)) {\n eventName = `${command} custom`;\n eventData = { ...action };\n } else {\n return null;\n }\n break;\n\n default:\n // Unknown command, ignore\n return null;\n }\n\n return {\n name: eventName,\n ...eventData,\n };\n}\n\n/**\n * Check if object is gtag arguments object\n */\nfunction isGtagArguments(obj: unknown): boolean {\n return (\n obj != null &&\n typeof obj === 'object' &&\n 'length' in obj &&\n typeof (obj as ArrayLike<unknown>).length === 'number' &&\n (obj as ArrayLike<unknown>).length > 0\n );\n}\n\n/**\n * Generate simple ID\n */\nfunction generateId(): string {\n return Math.random().toString(36).substring(2, 15);\n}\n","import type { WalkerOS, Source, Elb } from '@walkeros/core';\n\ndeclare global {\n interface Window {\n dataLayer?: DataLayer;\n [key: string]: DataLayer | unknown;\n }\n}\n\nexport type DataLayer = Array<unknown>;\n\nexport interface Settings extends Record<string, unknown> {\n name?: string;\n prefix?: string;\n filter?: (event: unknown) => WalkerOS.PromiseOrValue<boolean>;\n}\n\nexport interface Mapping {}\n\nexport type Push = Elb.Fn;\n\nexport interface Env extends Source.BaseEnv {\n window?: Window & typeof globalThis;\n}\n\nexport type Types = Source.Types<Settings, Mapping, Push, Env>;\n\nexport type DataLayerEvent = {\n event: string;\n [key: string]: unknown;\n};\n\nexport type MappedEvent = {\n event?: WalkerOS.DeepPartialEvent & { id: string };\n command?: {\n name: string;\n data: unknown;\n };\n};\n","import type { Source } from '@walkeros/core';\n\n/**\n * Example environment configurations for dataLayer source\n *\n * These environments provide standardized mock structures for testing\n * dataLayer interception without requiring a real window object.\n */\n\n/**\n * Environment interface for dataLayer source\n */\ninterface DataLayerEnv extends Source.Env {\n window?: typeof window;\n}\n\n/**\n * Mock window object with dataLayer array\n */\nconst mockWindow = {\n dataLayer: [] as unknown[],\n addEventListener: jest.fn(),\n removeEventListener: jest.fn(),\n};\n\n/**\n * Standard mock environment for testing dataLayer source\n *\n * Use this for testing dataLayer.push interception and event transformation\n * without requiring a real browser environment.\n */\nexport const push: DataLayerEnv = {\n elb: jest.fn(),\n window: mockWindow as unknown as typeof window,\n};\n","/**\n * Sample gtag events that would be pushed to dataLayer\n * These represent real-world gtag calls that the dataLayer source should transform to WalkerOS events\n */\n\n/**\n * Consent Mode Events - Primary use case\n */\nexport function consentUpdate(): unknown[] {\n return [\n 'consent',\n 'update',\n {\n ad_user_data: 'granted',\n ad_personalization: 'granted',\n ad_storage: 'denied',\n analytics_storage: 'granted',\n },\n ];\n}\n\nexport function consentDefault(): unknown[] {\n return [\n 'consent',\n 'default',\n {\n ad_storage: 'denied',\n analytics_storage: 'denied',\n ad_user_data: 'denied',\n ad_personalization: 'denied',\n },\n ];\n}\n\n/**\n * E-commerce Events\n */\nexport function purchase(): unknown[] {\n return [\n 'event',\n 'purchase',\n {\n transaction_id: 'T_12345',\n value: 25.42,\n currency: 'EUR',\n items: [\n {\n item_id: 'SKU_12345',\n item_name: 'Product Name',\n item_category: 'Category',\n quantity: 1,\n price: 25.42,\n },\n ],\n },\n ];\n}\n\nexport function add_to_cart(): unknown[] {\n return [\n 'event',\n 'add_to_cart',\n {\n currency: 'EUR',\n value: 15.25,\n items: [\n {\n item_id: 'SKU_12345',\n item_name: 'Product Name',\n item_variant: 'red',\n quantity: 1,\n price: 15.25,\n },\n ],\n },\n ];\n}\n\nexport function view_item(): unknown[] {\n return [\n 'event',\n 'view_item',\n {\n currency: 'EUR',\n value: 15.25,\n items: [\n {\n item_id: 'SKU_12345',\n item_name: 'Product Name',\n item_category: 'Category',\n price: 15.25,\n },\n ],\n },\n ];\n}\n\n/**\n * Config Events\n */\nexport function config(): unknown[] {\n return [\n 'config',\n 'G-XXXXXXXXXX',\n {\n page_title: 'Custom Page Title',\n page_location: 'https://example.com/page',\n send_page_view: false,\n },\n ];\n}\n\n/**\n * Set Events\n */\nexport function setCustom(): unknown[] {\n return [\n 'set',\n {\n currency: 'EUR',\n country: 'DE',\n },\n ];\n}\n\n/**\n * Direct dataLayer object pushes (not gtag)\n */\nexport function directDataLayerEvent(): Record<string, unknown> {\n return {\n event: 'custom_event',\n custom_parameter: 'custom_value',\n user_id: 'user123',\n };\n}\n","import type { Mapping } from '@walkeros/core';\nimport { isObject } from '@walkeros/core';\n\n/**\n * Consent Mode Mapping - Primary use case\n * Maps gtag consent events to walker consent commands\n */\nexport const consentUpdate: Mapping.Rule = {\n name: 'walker consent',\n settings: {\n command: {\n map: {\n functional: { value: true }, // Static value - always true for functional\n analytics: {\n key: 'analytics_storage',\n fn: (value: unknown) => value === 'granted',\n },\n marketing: {\n key: 'ad_storage',\n fn: (value: unknown) => value === 'granted',\n },\n },\n },\n },\n};\n\n/**\n * E-commerce Event Mappings\n * Transform GA4 ecommerce events to WalkerOS events\n */\nexport const purchase: Mapping.Rule = {\n name: 'order complete',\n data: {\n map: {\n id: 'transaction_id',\n total: 'value',\n currency: 'currency',\n nested: {\n loop: [\n 'items',\n {\n map: {\n type: { value: 'product' },\n data: {\n map: {\n id: 'item_id',\n name: 'item_name',\n category: 'item_category',\n quantity: 'quantity',\n price: 'price',\n },\n },\n },\n },\n ],\n },\n },\n },\n};\n\nexport const add_to_cart: Mapping.Rule = {\n name: 'product add',\n data: {\n map: {\n id: 'items.0.item_id',\n name: 'items.0.item_name',\n price: 'value',\n currency: 'currency',\n color: 'items.0.item_variant',\n quantity: 'items.0.quantity',\n },\n },\n};\n\nexport const view_item: Mapping.Rule = {\n name: 'product view',\n data: {\n map: {\n id: 'items.0.item_id',\n name: 'items.0.item_name',\n category: 'items.0.item_category',\n price: 'items.0.price',\n currency: 'currency',\n },\n },\n};\n\n/**\n * Config Event Mapping\n * Transform GA4 config events to WalkerOS page events\n */\nexport const configGA4: Mapping.Rule = {\n name: 'page view',\n data: {\n map: {\n title: 'page_title',\n url: 'page_location',\n },\n },\n};\n\n/**\n * Custom Event Mapping\n * Handle direct dataLayer pushes\n */\nexport const customEvent: Mapping.Rule = {\n // Keep original event name with gtag prefix\n data: {\n map: {\n // Map all properties as-is\n user_id: 'user_id',\n custom_parameter: 'custom_parameter',\n },\n },\n};\n\n/**\n * Complete mapping configuration\n * Following the same pattern as destination mappings\n */\nexport const config = {\n // Consent events\n consent: {\n update: consentUpdate,\n },\n\n // E-commerce events\n purchase: purchase,\n add_to_cart: add_to_cart,\n view_item: view_item,\n\n // Config events\n 'config G-XXXXXXXXXX': configGA4,\n\n // Custom events\n custom_event: customEvent,\n\n // Catch-all for unmapped events\n '*': {\n // Pass through with gtag prefix\n data: {\n // Copy all data as-is\n },\n },\n} as unknown as Mapping.Rules;\n\n/**\n * Minimal consent-only mapping for focused use cases\n */\nexport const consentOnlyMapping = {\n consent: {\n update: consentUpdate,\n },\n} as unknown as Mapping.Rules;\n"],"mappings":"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","names":["config","config","add_to_cart","config","consentUpdate","purchase","view_item","config","push"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/interceptor.ts","../src/types/index.ts","../src/examples/env.ts","../src/examples/events.ts","../src/examples/mapping.ts"],"sourcesContent":["import type { Source } from '@walkeros/core';\nimport type { Types } from './types';\nimport { interceptDataLayer, processExistingEvents } from './interceptor';\n\n// Export types for external usage\nexport * as SourceDataLayer from './types';\n\n// Export examples\nexport * from './examples';\n\n/**\n * DataLayer source implementation using environment injection.\n *\n * This source intercepts dataLayer.push calls and transforms them to WalkerOS events.\n * It works by replacing the dataLayer.push method with a custom handler.\n */\nexport const sourceDataLayer: Source.Init<Types> = async (\n config: Partial<Source.Config<Types>>,\n env: Source.Env<Types>,\n) => {\n const { elb, window: envWindow } = env;\n\n const settings: Source.Settings<Types> = {\n name: 'dataLayer',\n prefix: 'dataLayer',\n ...config?.settings,\n };\n\n const fullConfig: Source.Config<Types> = {\n settings,\n };\n\n if (envWindow) {\n processExistingEvents(elb, fullConfig);\n interceptDataLayer(elb, fullConfig);\n }\n\n return {\n type: 'dataLayer',\n config: fullConfig,\n push: elb,\n destroy: async () => {\n // Cleanup: restore original dataLayer.push if possible\n const dataLayerName = settings.name || 'dataLayer';\n if (\n envWindow &&\n envWindow[dataLayerName] &&\n Array.isArray(envWindow[dataLayerName])\n ) {\n // Note: Complete restoration would require storing original push method\n // For now, we'll just document this limitation\n }\n },\n };\n};\n\nexport default sourceDataLayer;\n","import type { WalkerOS, Source, Collector } from '@walkeros/core';\nimport { isArray, isObject, isString, tryCatch } from '@walkeros/core';\n\n// Global flag to prevent infinite loops\nlet isProcessing = false;\n\n/**\n * DataLayer interceptor - handles dataLayer.push interception and event transformation\n */\nexport function interceptDataLayer(\n push: Collector.PushFn,\n config: Source.Config,\n): void {\n const settings = config.settings as {\n name?: string;\n prefix?: string;\n filter?: (event: unknown) => boolean;\n };\n const dataLayerName = settings?.name || 'dataLayer';\n\n // Ensure dataLayer exists\n if (!window[dataLayerName]) {\n window[dataLayerName] = [];\n }\n\n const dataLayer = window[dataLayerName] as unknown[];\n if (!Array.isArray(dataLayer)) return;\n\n // Store original push\n const originalPush = dataLayer.push.bind(dataLayer);\n\n // Override push with event processing\n dataLayer.push = function (...args: unknown[]): number {\n // Prevent infinite loops\n if (isProcessing) {\n return originalPush(...args);\n }\n\n isProcessing = true;\n try {\n // Process each argument\n for (const arg of args) {\n processEvent(push, settings, arg);\n }\n } finally {\n isProcessing = false;\n }\n\n // Call original push\n return originalPush(...args);\n };\n}\n\n/**\n * Process existing events on initialization\n */\nexport function processExistingEvents(\n push: Collector.PushFn,\n config: Source.Config,\n): void {\n const settings = config.settings as {\n name?: string;\n prefix?: string;\n filter?: (event: unknown) => boolean;\n };\n const dataLayerName = settings?.name || 'dataLayer';\n const dataLayer = window[dataLayerName] as unknown[];\n\n if (!Array.isArray(dataLayer)) return;\n\n // Prevent loops during initialization\n if (isProcessing) return;\n\n isProcessing = true;\n try {\n // Process all existing events\n for (const event of dataLayer) {\n processEvent(push, settings, event);\n }\n } finally {\n isProcessing = false;\n }\n}\n\n/**\n * Process a single event - handles filtering, transformation, and WalkerOS event creation\n */\nfunction processEvent(\n push: Collector.PushFn,\n settings: { prefix?: string; filter?: (event: unknown) => boolean } = {},\n rawEvent: unknown,\n): void {\n // Apply filter if provided\n if (settings.filter) {\n const filterFn = tryCatch(\n () => settings.filter!(rawEvent),\n () => false, // If filter throws, don't skip the event\n );\n const filterResult = filterFn();\n if (filterResult === true) {\n return; // Skip filtered events\n }\n }\n\n // Transform the event (handles gtag format and direct objects)\n const transformedEvent = transformDataLayerEvent(rawEvent);\n if (!transformedEvent) {\n return; // Skip invalid events\n }\n\n const prefix = settings.prefix || 'dataLayer';\n const eventName = `${prefix} ${transformedEvent.name}`;\n\n // Create partial WalkerOS event structure (collector will enrich it)\n const { name: _name, ...data } = transformedEvent;\n const partialEvent: WalkerOS.DeepPartialEvent = {\n name: eventName,\n data: data as WalkerOS.Properties,\n };\n\n // Push to collector\n tryCatch(\n () => push(partialEvent),\n () => {}, // Silently handle push errors\n )();\n}\n\n/**\n * Transform dataLayer events to standardized format\n * Handles: gtag arguments, direct objects, existing events\n */\nfunction transformDataLayerEvent(\n rawEvent: unknown,\n): { name: string; [key: string]: unknown } | null {\n // Handle direct object format: { event: 'test', data: 'value' }\n if (isObject(rawEvent) && isString(rawEvent.event)) {\n const { event, ...rest } = rawEvent;\n return { name: event, ...rest };\n }\n\n // Handle gtag argument format: ['consent', 'update', { ad_storage: 'granted' }]\n if (isArray(rawEvent) && rawEvent.length >= 2) {\n return transformGtagArgs(rawEvent);\n }\n\n // Handle arguments object (from gtag function calls)\n if (isGtagArguments(rawEvent)) {\n const argsArray = Array.from(rawEvent as ArrayLike<unknown>);\n return transformGtagArgs(argsArray);\n }\n\n return null;\n}\n\n/**\n * Transform gtag-style arguments to event object\n * ['consent', 'update', { ad_storage: 'granted' }] → { event: 'consent update', ad_storage: 'granted' }\n */\nfunction transformGtagArgs(\n args: unknown[],\n): { name: string; [key: string]: unknown } | null {\n const [command, action, params] = args;\n\n if (!isString(command)) return null;\n\n let eventName: string;\n let eventData: Record<string, unknown> = {};\n\n switch (command) {\n case 'consent':\n // Consent requires action and params\n if (!isString(action) || args.length < 3) return null;\n // Only allow 'default' and 'update' actions for consent\n if (action !== 'default' && action !== 'update') return null;\n // Params must be a valid object (not null)\n if (!isObject(params) || params === null) return null;\n\n eventName = `${command} ${action}`;\n eventData = { ...params };\n break;\n\n case 'event':\n // Event requires at least action parameter\n if (!isString(action)) return null;\n eventName = action;\n if (isObject(params)) {\n eventData = { ...params };\n }\n break;\n\n case 'config':\n // Config requires at least action parameter\n if (!isString(action)) return null;\n eventName = `${command} ${action}`;\n if (isObject(params)) {\n eventData = { ...params };\n }\n break;\n\n case 'set':\n if (isString(action)) {\n eventName = `${command} ${action}`;\n if (isObject(params)) {\n eventData = { ...params };\n }\n } else if (isObject(action)) {\n eventName = `${command} custom`;\n eventData = { ...action };\n } else {\n return null;\n }\n break;\n\n default:\n // Unknown command, ignore\n return null;\n }\n\n return {\n name: eventName,\n ...eventData,\n };\n}\n\n/**\n * Check if object is gtag arguments object\n */\nfunction isGtagArguments(obj: unknown): boolean {\n return (\n obj != null &&\n typeof obj === 'object' &&\n 'length' in obj &&\n typeof (obj as ArrayLike<unknown>).length === 'number' &&\n (obj as ArrayLike<unknown>).length > 0\n );\n}\n","import type { WalkerOS, Source, Elb } from '@walkeros/core';\n\ndeclare global {\n interface Window {\n dataLayer?: DataLayer;\n [key: string]: DataLayer | unknown;\n }\n}\n\nexport type DataLayer = Array<unknown>;\n\nexport interface Settings extends Record<string, unknown> {\n name?: string;\n prefix?: string;\n filter?: (event: unknown) => WalkerOS.PromiseOrValue<boolean>;\n}\n\nexport interface Mapping {}\n\nexport type Push = Elb.Fn;\n\nexport interface Env extends Source.BaseEnv {\n window?: Window & typeof globalThis;\n}\n\nexport type Types = Source.Types<Settings, Mapping, Push, Env>;\n\nexport type DataLayerEvent = {\n event: string;\n [key: string]: unknown;\n};\n\nexport type MappedEvent = {\n event?: WalkerOS.DeepPartialEvent & { id: string };\n command?: {\n name: string;\n data: unknown;\n };\n};\n","import type { Source, Elb } from '@walkeros/core';\n\n/**\n * Example environment configurations for dataLayer source\n *\n * These environments provide standardized mock structures for testing\n * dataLayer interception without requiring a real window object.\n */\n\n// Simple no-op function for mocking\nconst noop = () => {};\n\n// Create a properly typed elb/push/command function that returns a promise with PushResult\nconst createMockElbFn = (): Elb.Fn => {\n const fn = (() =>\n Promise.resolve({\n ok: true,\n successful: [],\n queued: [],\n failed: [],\n })) as Elb.Fn;\n return fn;\n};\n\n/**\n * Environment interface for dataLayer source\n */\ninterface DataLayerEnv extends Source.BaseEnv {\n window?: typeof window;\n}\n\n/**\n * Mock window object with dataLayer array\n */\nconst createMockWindow = () => ({\n dataLayer: [] as unknown[],\n addEventListener: noop,\n removeEventListener: noop,\n});\n\n/**\n * Standard mock environment for testing dataLayer source\n *\n * Use this for testing dataLayer.push interception and event transformation\n * without requiring a real browser environment.\n */\nexport const push: DataLayerEnv = {\n get push() {\n return createMockElbFn();\n },\n get command() {\n return createMockElbFn();\n },\n get elb() {\n return createMockElbFn();\n },\n get window() {\n return createMockWindow() as unknown as typeof window;\n },\n};\n","/**\n * Sample gtag events that would be pushed to dataLayer\n * These represent real-world gtag calls that the dataLayer source should transform to WalkerOS events\n */\n\n/**\n * Consent Mode Events - Primary use case\n */\nexport function consentUpdate(): unknown[] {\n return [\n 'consent',\n 'update',\n {\n ad_user_data: 'granted',\n ad_personalization: 'granted',\n ad_storage: 'denied',\n analytics_storage: 'granted',\n },\n ];\n}\n\nexport function consentDefault(): unknown[] {\n return [\n 'consent',\n 'default',\n {\n ad_storage: 'denied',\n analytics_storage: 'denied',\n ad_user_data: 'denied',\n ad_personalization: 'denied',\n },\n ];\n}\n\n/**\n * E-commerce Events\n */\nexport function purchase(): unknown[] {\n return [\n 'event',\n 'purchase',\n {\n transaction_id: 'T_12345',\n value: 25.42,\n currency: 'EUR',\n items: [\n {\n item_id: 'SKU_12345',\n item_name: 'Product Name',\n item_category: 'Category',\n quantity: 1,\n price: 25.42,\n },\n ],\n },\n ];\n}\n\nexport function add_to_cart(): unknown[] {\n return [\n 'event',\n 'add_to_cart',\n {\n currency: 'EUR',\n value: 15.25,\n items: [\n {\n item_id: 'SKU_12345',\n item_name: 'Product Name',\n item_variant: 'red',\n quantity: 1,\n price: 15.25,\n },\n ],\n },\n ];\n}\n\nexport function view_item(): unknown[] {\n return [\n 'event',\n 'view_item',\n {\n currency: 'EUR',\n value: 15.25,\n items: [\n {\n item_id: 'SKU_12345',\n item_name: 'Product Name',\n item_category: 'Category',\n price: 15.25,\n },\n ],\n },\n ];\n}\n\n/**\n * Config Events\n */\nexport function config(): unknown[] {\n return [\n 'config',\n 'G-XXXXXXXXXX',\n {\n page_title: 'Custom Page Title',\n page_location: 'https://example.com/page',\n send_page_view: false,\n },\n ];\n}\n\n/**\n * Set Events\n */\nexport function setCustom(): unknown[] {\n return [\n 'set',\n {\n currency: 'EUR',\n country: 'DE',\n },\n ];\n}\n\n/**\n * Direct dataLayer object pushes (not gtag)\n */\nexport function directDataLayerEvent(): Record<string, unknown> {\n return {\n event: 'custom_event',\n custom_parameter: 'custom_value',\n user_id: 'user123',\n };\n}\n","import type { Mapping } from '@walkeros/core';\nimport { isObject } from '@walkeros/core';\n\n/**\n * Consent Mode Mapping - Primary use case\n * Maps gtag consent events to walker consent commands\n */\nexport const consentUpdate: Mapping.Rule = {\n name: 'walker consent',\n settings: {\n command: {\n map: {\n functional: { value: true }, // Static value - always true for functional\n analytics: {\n key: 'analytics_storage',\n fn: (value: unknown) => value === 'granted',\n },\n marketing: {\n key: 'ad_storage',\n fn: (value: unknown) => value === 'granted',\n },\n },\n },\n },\n};\n\n/**\n * E-commerce Event Mappings\n * Transform GA4 ecommerce events to WalkerOS events\n */\nexport const purchase: Mapping.Rule = {\n name: 'order complete',\n data: {\n map: {\n id: 'transaction_id',\n total: 'value',\n currency: 'currency',\n nested: {\n loop: [\n 'items',\n {\n map: {\n type: { value: 'product' },\n data: {\n map: {\n id: 'item_id',\n name: 'item_name',\n category: 'item_category',\n quantity: 'quantity',\n price: 'price',\n },\n },\n },\n },\n ],\n },\n },\n },\n};\n\nexport const add_to_cart: Mapping.Rule = {\n name: 'product add',\n data: {\n map: {\n id: 'items.0.item_id',\n name: 'items.0.item_name',\n price: 'value',\n currency: 'currency',\n color: 'items.0.item_variant',\n quantity: 'items.0.quantity',\n },\n },\n};\n\nexport const view_item: Mapping.Rule = {\n name: 'product view',\n data: {\n map: {\n id: 'items.0.item_id',\n name: 'items.0.item_name',\n category: 'items.0.item_category',\n price: 'items.0.price',\n currency: 'currency',\n },\n },\n};\n\n/**\n * Config Event Mapping\n * Transform GA4 config events to WalkerOS page events\n */\nexport const configGA4: Mapping.Rule = {\n name: 'page view',\n data: {\n map: {\n title: 'page_title',\n url: 'page_location',\n },\n },\n};\n\n/**\n * Custom Event Mapping\n * Handle direct dataLayer pushes\n */\nexport const customEvent: Mapping.Rule = {\n // Keep original event name with gtag prefix\n data: {\n map: {\n // Map all properties as-is\n user_id: 'user_id',\n custom_parameter: 'custom_parameter',\n },\n },\n};\n\n/**\n * Complete mapping configuration\n * Following the same pattern as destination mappings\n */\nexport const config = {\n // Consent events\n consent: {\n update: consentUpdate,\n },\n\n // E-commerce events\n purchase: purchase,\n add_to_cart: add_to_cart,\n view_item: view_item,\n\n // Config events\n 'config G-XXXXXXXXXX': configGA4,\n\n // Custom events\n custom_event: customEvent,\n\n // Catch-all for unmapped events\n '*': {\n // Pass through with gtag prefix\n data: {\n // Copy all data as-is\n },\n },\n} as unknown as Mapping.Rules;\n\n/**\n * Minimal consent-only mapping for focused use cases\n */\nexport const consentOnlyMapping = {\n consent: {\n update: consentUpdate,\n },\n} as unknown as Mapping.Rules;\n"],"mappings":"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","names":["config","push","config","add_to_cart","config","consentUpdate","purchase","view_item","config"]}
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- var e=Object.defineProperty,t=(t,n)=>{for(var a in n)e(t,a,{get:n[a],enumerable:!0})};import{isArray as n,isObject as a,isString as r,tryCatch as i}from"@walkeros/core";var o=!1;function c(e,t={},o){if(t.filter){if(!0===i(()=>t.filter(o),()=>!1)())return}const c=function(e){if(a(e)&&r(e.event)){const{event:t,...n}=e;return{name:t,...n}}if(n(e)&&e.length>=2)return u(e);if(t=e,null!=t&&"object"==typeof t&&"length"in t&&"number"==typeof t.length&&t.length>0){return u(Array.from(e))}var t;return null}(o);if(!c)return;const s={name:`${t.prefix||"dataLayer"} ${c.name}`,data:c,context:{},globals:{},custom:{},consent:{},nested:[],user:{},id:Math.random().toString(36).substring(2,15),trigger:"",entity:"",action:"",timestamp:Date.now(),timing:0,group:"",count:0,version:{source:"1.0.0",tagging:2},source:{type:"dataLayer",id:"",previous_id:""}};i(()=>e(s),()=>{})()}function u(e){const[t,n,i]=e;if(!r(t))return null;let o,c={};switch(t){case"consent":if(!r(n)||e.length<3)return null;if("default"!==n&&"update"!==n)return null;if(!a(i)||null===i)return null;o=`${t} ${n}`,c={...i};break;case"event":if(!r(n))return null;o=n,a(i)&&(c={...i});break;case"config":if(!r(n))return null;o=`${t} ${n}`,a(i)&&(c={...i});break;case"set":if(r(n))o=`${t} ${n}`,a(i)&&(c={...i});else{if(!a(n))return null;o=`${t} custom`,c={...n}}break;default:return null}return{name:o,...c}}var s={},d={};t(d,{push:()=>l});var m={dataLayer:[],addEventListener:jest.fn(),removeEventListener:jest.fn()},l={elb:jest.fn(),window:m},p={};function y(){return["consent","update",{ad_user_data:"granted",ad_personalization:"granted",ad_storage:"denied",analytics_storage:"granted"}]}function f(){return["consent","default",{ad_storage:"denied",analytics_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"}]}function _(){return["event","purchase",{transaction_id:"T_12345",value:25.42,currency:"EUR",items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",quantity:1,price:25.42}]}]}function g(){return["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_variant:"red",quantity:1,price:15.25}]}]}function v(){return["event","view_item",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",price:15.25}]}]}function w(){return["config","G-XXXXXXXXXX",{page_title:"Custom Page Title",page_location:"https://example.com/page",send_page_view:!1}]}function X(){return["set",{currency:"EUR",country:"DE"}]}function h(){return{event:"custom_event",custom_parameter:"custom_value",user_id:"user123"}}t(p,{add_to_cart:()=>g,config:()=>w,consentDefault:()=>f,consentUpdate:()=>y,directDataLayerEvent:()=>h,purchase:()=>_,setCustom:()=>X,view_item:()=>v});var L={};t(L,{add_to_cart:()=>U,config:()=>q,configGA4:()=>$,consentOnlyMapping:()=>x,consentUpdate:()=>b,customEvent:()=>A,purchase:()=>E,view_item:()=>k});var b={name:"walker consent",settings:{command:{map:{functional:{value:!0},analytics:{key:"analytics_storage",fn:e=>"granted"===e},marketing:{key:"ad_storage",fn:e=>"granted"===e}}}}},E={name:"order complete",data:{map:{id:"transaction_id",total:"value",currency:"currency",nested:{loop:["items",{map:{type:{value:"product"},data:{map:{id:"item_id",name:"item_name",category:"item_category",quantity:"quantity",price:"price"}}}}]}}}},U={name:"product add",data:{map:{id:"items.0.item_id",name:"items.0.item_name",price:"value",currency:"currency",color:"items.0.item_variant",quantity:"items.0.quantity"}}},k={name:"product view",data:{map:{id:"items.0.item_id",name:"items.0.item_name",category:"items.0.item_category",price:"items.0.price",currency:"currency"}}},$={name:"page view",data:{map:{title:"page_title",url:"page_location"}}},A={data:{map:{user_id:"user_id",custom_parameter:"custom_parameter"}}},q={consent:{update:b},purchase:E,add_to_cart:U,view_item:k,"config G-XXXXXXXXXX":$,custom_event:A,"*":{data:{}}},x={consent:{update:b}},j=async(e,t)=>{try{const{elb:n,window:a}=t,r={name:"dataLayer",prefix:"dataLayer",...null==e?void 0:e.settings},i={settings:r};a&&(function(e,t){const n=t.settings,a=(null==n?void 0:n.name)||"dataLayer",r=window[a];if(Array.isArray(r)&&!o){o=!0;try{for(const t of r)c(e,n,t)}finally{o=!1}}}(n,i),function(e,t){const n=t.settings,a=(null==n?void 0:n.name)||"dataLayer";window[a]||(window[a]=[]);const r=window[a];if(!Array.isArray(r))return;const i=r.push.bind(r);r.push=function(...t){if(o)return i(...t);o=!0;try{for(const a of t)c(e,n,a)}finally{o=!1}return i(...t)}}(n,i));return{type:"dataLayer",config:i,push:n,destroy:async()=>{const e=r.name||"dataLayer";a&&a[e]&&Array.isArray(a[e])}}}catch(e){throw e}},D=j;export{p as Events,L as Mapping,s as SourceDataLayer,x as consentOnlyMapping,y as consentUpdateEvent,q as dataLayerExamples,D as default,d as env,j as sourceDataLayer};//# sourceMappingURL=index.mjs.map
1
+ var e=Object.defineProperty,t=(t,a)=>{for(var n in a)e(t,n,{get:a[n],enumerable:!0})};import{isArray as a,isObject as n,isString as r,tryCatch as i}from"@walkeros/core";var u=!1;function o(e,t={},u){if(t.filter){if(!0===i(()=>t.filter(u),()=>!1)())return}const o=function(e){if(n(e)&&r(e.event)){const{event:t,...a}=e;return{name:t,...a}}if(a(e)&&e.length>=2)return c(e);if(t=e,null!=t&&"object"==typeof t&&"length"in t&&"number"==typeof t.length&&t.length>0){return c(Array.from(e))}var t;return null}(u);if(!o)return;const s=`${t.prefix||"dataLayer"} ${o.name}`,{name:d,...m}=o,l={name:s,data:m};i(()=>e(l),()=>{})()}function c(e){const[t,a,i]=e;if(!r(t))return null;let u,o={};switch(t){case"consent":if(!r(a)||e.length<3)return null;if("default"!==a&&"update"!==a)return null;if(!n(i)||null===i)return null;u=`${t} ${a}`,o={...i};break;case"event":if(!r(a))return null;u=a,n(i)&&(o={...i});break;case"config":if(!r(a))return null;u=`${t} ${a}`,n(i)&&(o={...i});break;case"set":if(r(a))u=`${t} ${a}`,n(i)&&(o={...i});else{if(!n(a))return null;u=`${t} custom`,o={...a}}break;default:return null}return{name:u,...o}}var s={},d={};t(d,{push:()=>p});var m=()=>{},l=()=>()=>Promise.resolve({ok:!0,successful:[],queued:[],failed:[]}),p={get push(){return l()},get command(){return l()},get elb(){return l()},get window(){return{dataLayer:[],addEventListener:m,removeEventListener:m}}},f={};function _(){return["consent","update",{ad_user_data:"granted",ad_personalization:"granted",ad_storage:"denied",analytics_storage:"granted"}]}function y(){return["consent","default",{ad_storage:"denied",analytics_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"}]}function g(){return["event","purchase",{transaction_id:"T_12345",value:25.42,currency:"EUR",items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",quantity:1,price:25.42}]}]}function v(){return["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_variant:"red",quantity:1,price:15.25}]}]}function w(){return["event","view_item",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",price:15.25}]}]}function X(){return["config","G-XXXXXXXXXX",{page_title:"Custom Page Title",page_location:"https://example.com/page",send_page_view:!1}]}function h(){return["set",{currency:"EUR",country:"DE"}]}function L(){return{event:"custom_event",custom_parameter:"custom_value",user_id:"user123"}}t(f,{add_to_cart:()=>v,config:()=>X,consentDefault:()=>y,consentUpdate:()=>_,directDataLayerEvent:()=>L,purchase:()=>g,setCustom:()=>h,view_item:()=>w});var E={};t(E,{add_to_cart:()=>U,config:()=>P,configGA4:()=>A,consentOnlyMapping:()=>x,consentUpdate:()=>b,customEvent:()=>q,purchase:()=>k,view_item:()=>$});var b={name:"walker consent",settings:{command:{map:{functional:{value:!0},analytics:{key:"analytics_storage",fn:e=>"granted"===e},marketing:{key:"ad_storage",fn:e=>"granted"===e}}}}},k={name:"order complete",data:{map:{id:"transaction_id",total:"value",currency:"currency",nested:{loop:["items",{map:{type:{value:"product"},data:{map:{id:"item_id",name:"item_name",category:"item_category",quantity:"quantity",price:"price"}}}}]}}}},U={name:"product add",data:{map:{id:"items.0.item_id",name:"items.0.item_name",price:"value",currency:"currency",color:"items.0.item_variant",quantity:"items.0.quantity"}}},$={name:"product view",data:{map:{id:"items.0.item_id",name:"items.0.item_name",category:"items.0.item_category",price:"items.0.price",currency:"currency"}}},A={name:"page view",data:{map:{title:"page_title",url:"page_location"}}},q={data:{map:{user_id:"user_id",custom_parameter:"custom_parameter"}}},P={consent:{update:b},purchase:k,add_to_cart:U,view_item:$,"config G-XXXXXXXXXX":A,custom_event:q,"*":{data:{}}},x={consent:{update:b}},C=async(e,t)=>{const{elb:a,window:n}=t,r={name:"dataLayer",prefix:"dataLayer",...null==e?void 0:e.settings},i={settings:r};return n&&(function(e,t){const a=t.settings,n=(null==a?void 0:a.name)||"dataLayer",r=window[n];if(Array.isArray(r)&&!u){u=!0;try{for(const t of r)o(e,a,t)}finally{u=!1}}}(a,i),function(e,t){const a=t.settings,n=(null==a?void 0:a.name)||"dataLayer";window[n]||(window[n]=[]);const r=window[n];if(!Array.isArray(r))return;const i=r.push.bind(r);r.push=function(...t){if(u)return i(...t);u=!0;try{for(const n of t)o(e,a,n)}finally{u=!1}return i(...t)}}(a,i)),{type:"dataLayer",config:i,push:a,destroy:async()=>{const e=r.name||"dataLayer";n&&n[e]&&Array.isArray(n[e])}}},D=C;export{f as Events,E as Mapping,s as SourceDataLayer,x as consentOnlyMapping,_ as consentUpdateEvent,P as dataLayerExamples,D as default,d as env,C as sourceDataLayer};//# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/interceptor.ts","../src/types/index.ts","../src/examples/env.ts","../src/examples/events.ts","../src/examples/mapping.ts","../src/index.ts"],"sourcesContent":["import type { WalkerOS, Source } from '@walkeros/core';\nimport { isArray, isObject, isString, tryCatch } from '@walkeros/core';\n\n// Global flag to prevent infinite loops\nlet isProcessing = false;\n\n/**\n * DataLayer interceptor - handles dataLayer.push interception and event transformation\n */\nexport function interceptDataLayer(\n elb: Source.Env['elb'],\n config: Source.Config,\n): void {\n const settings = config.settings as {\n name?: string;\n prefix?: string;\n filter?: (event: unknown) => boolean;\n };\n const dataLayerName = settings?.name || 'dataLayer';\n\n // Ensure dataLayer exists\n if (!window[dataLayerName]) {\n window[dataLayerName] = [];\n }\n\n const dataLayer = window[dataLayerName] as unknown[];\n if (!Array.isArray(dataLayer)) return;\n\n // Store original push\n const originalPush = dataLayer.push.bind(dataLayer);\n\n // Override push with event processing\n dataLayer.push = function (...args: unknown[]): number {\n // Prevent infinite loops\n if (isProcessing) {\n return originalPush(...args);\n }\n\n isProcessing = true;\n try {\n // Process each argument\n for (const arg of args) {\n processEvent(elb, settings, arg);\n }\n } finally {\n isProcessing = false;\n }\n\n // Call original push\n return originalPush(...args);\n };\n}\n\n/**\n * Process existing events on initialization\n */\nexport function processExistingEvents(\n elb: Source.Env['elb'],\n config: Source.Config,\n): void {\n const settings = config.settings as {\n name?: string;\n prefix?: string;\n filter?: (event: unknown) => boolean;\n };\n const dataLayerName = settings?.name || 'dataLayer';\n const dataLayer = window[dataLayerName] as unknown[];\n\n if (!Array.isArray(dataLayer)) return;\n\n // Prevent loops during initialization\n if (isProcessing) return;\n\n isProcessing = true;\n try {\n // Process all existing events\n for (const event of dataLayer) {\n processEvent(elb, settings, event);\n }\n } finally {\n isProcessing = false;\n }\n}\n\n/**\n * Process a single event - handles filtering, transformation, and WalkerOS event creation\n */\nfunction processEvent(\n elb: Source.Env['elb'],\n settings: { prefix?: string; filter?: (event: unknown) => boolean } = {},\n rawEvent: unknown,\n): void {\n // Apply filter if provided\n if (settings.filter) {\n const filterFn = tryCatch(\n () => settings.filter!(rawEvent),\n () => false, // If filter throws, don't skip the event\n );\n const filterResult = filterFn();\n if (filterResult === true) {\n return; // Skip filtered events\n }\n }\n\n // Transform the event (handles gtag format and direct objects)\n const transformedEvent = transformDataLayerEvent(rawEvent);\n if (!transformedEvent) {\n return; // Skip invalid events\n }\n\n const prefix = settings.prefix || 'dataLayer';\n const eventName = `${prefix} ${transformedEvent.name}`;\n\n // Create WalkerOS event structure\n const walkerEvent: WalkerOS.Event = {\n name: eventName,\n data: transformedEvent as WalkerOS.Properties,\n context: {},\n globals: {},\n custom: {},\n consent: {},\n nested: [],\n user: {},\n id: generateId(),\n trigger: '',\n entity: '',\n action: '',\n timestamp: Date.now(),\n timing: 0,\n group: '',\n count: 0,\n version: { source: '1.0.0', tagging: 2 },\n source: {\n type: 'dataLayer',\n id: '',\n previous_id: '',\n },\n };\n\n // Push to elb\n tryCatch(\n () => elb(walkerEvent),\n () => {}, // Silently handle push errors\n )();\n}\n\n/**\n * Transform dataLayer events to standardized format\n * Handles: gtag arguments, direct objects, existing events\n */\nfunction transformDataLayerEvent(\n rawEvent: unknown,\n): { name: string; [key: string]: unknown } | null {\n // Handle direct object format: { event: 'test', data: 'value' }\n if (isObject(rawEvent) && isString(rawEvent.event)) {\n const { event, ...rest } = rawEvent;\n return { name: event, ...rest };\n }\n\n // Handle gtag argument format: ['consent', 'update', { ad_storage: 'granted' }]\n if (isArray(rawEvent) && rawEvent.length >= 2) {\n return transformGtagArgs(rawEvent);\n }\n\n // Handle arguments object (from gtag function calls)\n if (isGtagArguments(rawEvent)) {\n const argsArray = Array.from(rawEvent as ArrayLike<unknown>);\n return transformGtagArgs(argsArray);\n }\n\n return null;\n}\n\n/**\n * Transform gtag-style arguments to event object\n * ['consent', 'update', { ad_storage: 'granted' }] → { event: 'consent update', ad_storage: 'granted' }\n */\nfunction transformGtagArgs(\n args: unknown[],\n): { name: string; [key: string]: unknown } | null {\n const [command, action, params] = args;\n\n if (!isString(command)) return null;\n\n let eventName: string;\n let eventData: Record<string, unknown> = {};\n\n switch (command) {\n case 'consent':\n // Consent requires action and params\n if (!isString(action) || args.length < 3) return null;\n // Only allow 'default' and 'update' actions for consent\n if (action !== 'default' && action !== 'update') return null;\n // Params must be a valid object (not null)\n if (!isObject(params) || params === null) return null;\n\n eventName = `${command} ${action}`;\n eventData = { ...params };\n break;\n\n case 'event':\n // Event requires at least action parameter\n if (!isString(action)) return null;\n eventName = action;\n if (isObject(params)) {\n eventData = { ...params };\n }\n break;\n\n case 'config':\n // Config requires at least action parameter\n if (!isString(action)) return null;\n eventName = `${command} ${action}`;\n if (isObject(params)) {\n eventData = { ...params };\n }\n break;\n\n case 'set':\n if (isString(action)) {\n eventName = `${command} ${action}`;\n if (isObject(params)) {\n eventData = { ...params };\n }\n } else if (isObject(action)) {\n eventName = `${command} custom`;\n eventData = { ...action };\n } else {\n return null;\n }\n break;\n\n default:\n // Unknown command, ignore\n return null;\n }\n\n return {\n name: eventName,\n ...eventData,\n };\n}\n\n/**\n * Check if object is gtag arguments object\n */\nfunction isGtagArguments(obj: unknown): boolean {\n return (\n obj != null &&\n typeof obj === 'object' &&\n 'length' in obj &&\n typeof (obj as ArrayLike<unknown>).length === 'number' &&\n (obj as ArrayLike<unknown>).length > 0\n );\n}\n\n/**\n * Generate simple ID\n */\nfunction generateId(): string {\n return Math.random().toString(36).substring(2, 15);\n}\n","import type { WalkerOS, Source, Elb } from '@walkeros/core';\n\ndeclare global {\n interface Window {\n dataLayer?: DataLayer;\n [key: string]: DataLayer | unknown;\n }\n}\n\nexport type DataLayer = Array<unknown>;\n\nexport interface Settings extends Record<string, unknown> {\n name?: string;\n prefix?: string;\n filter?: (event: unknown) => WalkerOS.PromiseOrValue<boolean>;\n}\n\nexport interface Mapping {}\n\nexport type Push = Elb.Fn;\n\nexport interface Env extends Source.BaseEnv {\n window?: Window & typeof globalThis;\n}\n\nexport type Types = Source.Types<Settings, Mapping, Push, Env>;\n\nexport type DataLayerEvent = {\n event: string;\n [key: string]: unknown;\n};\n\nexport type MappedEvent = {\n event?: WalkerOS.DeepPartialEvent & { id: string };\n command?: {\n name: string;\n data: unknown;\n };\n};\n","import type { Source } from '@walkeros/core';\n\n/**\n * Example environment configurations for dataLayer source\n *\n * These environments provide standardized mock structures for testing\n * dataLayer interception without requiring a real window object.\n */\n\n/**\n * Environment interface for dataLayer source\n */\ninterface DataLayerEnv extends Source.Env {\n window?: typeof window;\n}\n\n/**\n * Mock window object with dataLayer array\n */\nconst mockWindow = {\n dataLayer: [] as unknown[],\n addEventListener: jest.fn(),\n removeEventListener: jest.fn(),\n};\n\n/**\n * Standard mock environment for testing dataLayer source\n *\n * Use this for testing dataLayer.push interception and event transformation\n * without requiring a real browser environment.\n */\nexport const push: DataLayerEnv = {\n elb: jest.fn(),\n window: mockWindow as unknown as typeof window,\n};\n","/**\n * Sample gtag events that would be pushed to dataLayer\n * These represent real-world gtag calls that the dataLayer source should transform to WalkerOS events\n */\n\n/**\n * Consent Mode Events - Primary use case\n */\nexport function consentUpdate(): unknown[] {\n return [\n 'consent',\n 'update',\n {\n ad_user_data: 'granted',\n ad_personalization: 'granted',\n ad_storage: 'denied',\n analytics_storage: 'granted',\n },\n ];\n}\n\nexport function consentDefault(): unknown[] {\n return [\n 'consent',\n 'default',\n {\n ad_storage: 'denied',\n analytics_storage: 'denied',\n ad_user_data: 'denied',\n ad_personalization: 'denied',\n },\n ];\n}\n\n/**\n * E-commerce Events\n */\nexport function purchase(): unknown[] {\n return [\n 'event',\n 'purchase',\n {\n transaction_id: 'T_12345',\n value: 25.42,\n currency: 'EUR',\n items: [\n {\n item_id: 'SKU_12345',\n item_name: 'Product Name',\n item_category: 'Category',\n quantity: 1,\n price: 25.42,\n },\n ],\n },\n ];\n}\n\nexport function add_to_cart(): unknown[] {\n return [\n 'event',\n 'add_to_cart',\n {\n currency: 'EUR',\n value: 15.25,\n items: [\n {\n item_id: 'SKU_12345',\n item_name: 'Product Name',\n item_variant: 'red',\n quantity: 1,\n price: 15.25,\n },\n ],\n },\n ];\n}\n\nexport function view_item(): unknown[] {\n return [\n 'event',\n 'view_item',\n {\n currency: 'EUR',\n value: 15.25,\n items: [\n {\n item_id: 'SKU_12345',\n item_name: 'Product Name',\n item_category: 'Category',\n price: 15.25,\n },\n ],\n },\n ];\n}\n\n/**\n * Config Events\n */\nexport function config(): unknown[] {\n return [\n 'config',\n 'G-XXXXXXXXXX',\n {\n page_title: 'Custom Page Title',\n page_location: 'https://example.com/page',\n send_page_view: false,\n },\n ];\n}\n\n/**\n * Set Events\n */\nexport function setCustom(): unknown[] {\n return [\n 'set',\n {\n currency: 'EUR',\n country: 'DE',\n },\n ];\n}\n\n/**\n * Direct dataLayer object pushes (not gtag)\n */\nexport function directDataLayerEvent(): Record<string, unknown> {\n return {\n event: 'custom_event',\n custom_parameter: 'custom_value',\n user_id: 'user123',\n };\n}\n","import type { Mapping } from '@walkeros/core';\nimport { isObject } from '@walkeros/core';\n\n/**\n * Consent Mode Mapping - Primary use case\n * Maps gtag consent events to walker consent commands\n */\nexport const consentUpdate: Mapping.Rule = {\n name: 'walker consent',\n settings: {\n command: {\n map: {\n functional: { value: true }, // Static value - always true for functional\n analytics: {\n key: 'analytics_storage',\n fn: (value: unknown) => value === 'granted',\n },\n marketing: {\n key: 'ad_storage',\n fn: (value: unknown) => value === 'granted',\n },\n },\n },\n },\n};\n\n/**\n * E-commerce Event Mappings\n * Transform GA4 ecommerce events to WalkerOS events\n */\nexport const purchase: Mapping.Rule = {\n name: 'order complete',\n data: {\n map: {\n id: 'transaction_id',\n total: 'value',\n currency: 'currency',\n nested: {\n loop: [\n 'items',\n {\n map: {\n type: { value: 'product' },\n data: {\n map: {\n id: 'item_id',\n name: 'item_name',\n category: 'item_category',\n quantity: 'quantity',\n price: 'price',\n },\n },\n },\n },\n ],\n },\n },\n },\n};\n\nexport const add_to_cart: Mapping.Rule = {\n name: 'product add',\n data: {\n map: {\n id: 'items.0.item_id',\n name: 'items.0.item_name',\n price: 'value',\n currency: 'currency',\n color: 'items.0.item_variant',\n quantity: 'items.0.quantity',\n },\n },\n};\n\nexport const view_item: Mapping.Rule = {\n name: 'product view',\n data: {\n map: {\n id: 'items.0.item_id',\n name: 'items.0.item_name',\n category: 'items.0.item_category',\n price: 'items.0.price',\n currency: 'currency',\n },\n },\n};\n\n/**\n * Config Event Mapping\n * Transform GA4 config events to WalkerOS page events\n */\nexport const configGA4: Mapping.Rule = {\n name: 'page view',\n data: {\n map: {\n title: 'page_title',\n url: 'page_location',\n },\n },\n};\n\n/**\n * Custom Event Mapping\n * Handle direct dataLayer pushes\n */\nexport const customEvent: Mapping.Rule = {\n // Keep original event name with gtag prefix\n data: {\n map: {\n // Map all properties as-is\n user_id: 'user_id',\n custom_parameter: 'custom_parameter',\n },\n },\n};\n\n/**\n * Complete mapping configuration\n * Following the same pattern as destination mappings\n */\nexport const config = {\n // Consent events\n consent: {\n update: consentUpdate,\n },\n\n // E-commerce events\n purchase: purchase,\n add_to_cart: add_to_cart,\n view_item: view_item,\n\n // Config events\n 'config G-XXXXXXXXXX': configGA4,\n\n // Custom events\n custom_event: customEvent,\n\n // Catch-all for unmapped events\n '*': {\n // Pass through with gtag prefix\n data: {\n // Copy all data as-is\n },\n },\n} as unknown as Mapping.Rules;\n\n/**\n * Minimal consent-only mapping for focused use cases\n */\nexport const consentOnlyMapping = {\n consent: {\n update: consentUpdate,\n },\n} as unknown as Mapping.Rules;\n","import type { Source, Elb } from '@walkeros/core';\nimport type { Types } from './types';\nimport { interceptDataLayer, processExistingEvents } from './interceptor';\n\n// Export types for external usage\nexport * as SourceDataLayer from './types';\n\n// Export examples\nexport * from './examples';\n\n/**\n * DataLayer source implementation using environment injection.\n *\n * This source intercepts dataLayer.push calls and transforms them to WalkerOS events.\n * It works by replacing the dataLayer.push method with a custom handler.\n */\nexport const sourceDataLayer: Source.Init<Types> = async (\n config: Partial<Source.Config<Types>>,\n env: Source.Env<Types>,\n) => {\n try {\n // Extract environment dependencies\n const { elb, window: envWindow } = env;\n\n // Default configuration, merged with provided config\n const settings: Source.Settings<Types> = {\n name: 'dataLayer',\n prefix: 'dataLayer',\n ...config?.settings,\n };\n\n // Full configuration with defaults\n const fullConfig: Source.Config<Types> = {\n settings,\n };\n\n // Initialize dataLayer interception if window is available\n if (envWindow) {\n // Process existing events in dataLayer\n processExistingEvents(elb, fullConfig);\n\n // Set up interception for new events\n interceptDataLayer(elb, fullConfig);\n }\n\n // DataLayer sources typically intercept existing dataLayer.push calls\n // The push method here forwards to the core collector elb function\n const push: Elb.Fn = elb;\n\n // Return stateless source instance\n return {\n type: 'dataLayer',\n config: fullConfig,\n push,\n destroy: async () => {\n // Cleanup: restore original dataLayer.push if possible\n const dataLayerName = settings.name || 'dataLayer';\n if (\n envWindow &&\n envWindow[dataLayerName] &&\n Array.isArray(envWindow[dataLayerName])\n ) {\n // Note: Complete restoration would require storing original push method\n // For now, we'll just document this limitation\n }\n },\n };\n } catch (error) {\n throw error;\n }\n};\n\nexport default sourceDataLayer;\n"],"mappings":";;;;;;;AACA,SAAS,SAAS,UAAU,UAAU,gBAAgB;AAGtD,IAAI,eAAe;AAKZ,SAAS,mBACd,KACAA,SACM;AACN,QAAM,WAAWA,QAAO;AAKxB,QAAM,iBAAgB,qCAAU,SAAQ;AAGxC,MAAI,CAAC,OAAO,aAAa,GAAG;AAC1B,WAAO,aAAa,IAAI,CAAC;AAAA,EAC3B;AAEA,QAAM,YAAY,OAAO,aAAa;AACtC,MAAI,CAAC,MAAM,QAAQ,SAAS,EAAG;AAG/B,QAAM,eAAe,UAAU,KAAK,KAAK,SAAS;AAGlD,YAAU,OAAO,YAAa,MAAyB;AAErD,QAAI,cAAc;AAChB,aAAO,aAAa,GAAG,IAAI;AAAA,IAC7B;AAEA,mBAAe;AACf,QAAI;AAEF,iBAAW,OAAO,MAAM;AACtB,qBAAa,KAAK,UAAU,GAAG;AAAA,MACjC;AAAA,IACF,UAAE;AACA,qBAAe;AAAA,IACjB;AAGA,WAAO,aAAa,GAAG,IAAI;AAAA,EAC7B;AACF;AAKO,SAAS,sBACd,KACAA,SACM;AACN,QAAM,WAAWA,QAAO;AAKxB,QAAM,iBAAgB,qCAAU,SAAQ;AACxC,QAAM,YAAY,OAAO,aAAa;AAEtC,MAAI,CAAC,MAAM,QAAQ,SAAS,EAAG;AAG/B,MAAI,aAAc;AAElB,iBAAe;AACf,MAAI;AAEF,eAAW,SAAS,WAAW;AAC7B,mBAAa,KAAK,UAAU,KAAK;AAAA,IACnC;AAAA,EACF,UAAE;AACA,mBAAe;AAAA,EACjB;AACF;AAKA,SAAS,aACP,KACA,WAAsE,CAAC,GACvE,UACM;AAEN,MAAI,SAAS,QAAQ;AACnB,UAAM,WAAW;AAAA,MACf,MAAM,SAAS,OAAQ,QAAQ;AAAA,MAC/B,MAAM;AAAA;AAAA,IACR;AACA,UAAM,eAAe,SAAS;AAC9B,QAAI,iBAAiB,MAAM;AACzB;AAAA,IACF;AAAA,EACF;AAGA,QAAM,mBAAmB,wBAAwB,QAAQ;AACzD,MAAI,CAAC,kBAAkB;AACrB;AAAA,EACF;AAEA,QAAM,SAAS,SAAS,UAAU;AAClC,QAAM,YAAY,GAAG,MAAM,IAAI,iBAAiB,IAAI;AAGpD,QAAM,cAA8B;AAAA,IAClC,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS,CAAC;AAAA,IACV,SAAS,CAAC;AAAA,IACV,QAAQ,CAAC;AAAA,IACT,SAAS,CAAC;AAAA,IACV,QAAQ,CAAC;AAAA,IACT,MAAM,CAAC;AAAA,IACP,IAAI,WAAW;AAAA,IACf,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAW,KAAK,IAAI;AAAA,IACpB,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,OAAO;AAAA,IACP,SAAS,EAAE,QAAQ,SAAS,SAAS,EAAE;AAAA,IACvC,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,IAAI;AAAA,MACJ,aAAa;AAAA,IACf;AAAA,EACF;AAGA;AAAA,IACE,MAAM,IAAI,WAAW;AAAA,IACrB,MAAM;AAAA,IAAC;AAAA;AAAA,EACT,EAAE;AACJ;AAMA,SAAS,wBACP,UACiD;AAEjD,MAAI,SAAS,QAAQ,KAAK,SAAS,SAAS,KAAK,GAAG;AAClD,UAAM,EAAE,OAAO,GAAG,KAAK,IAAI;AAC3B,WAAO,EAAE,MAAM,OAAO,GAAG,KAAK;AAAA,EAChC;AAGA,MAAI,QAAQ,QAAQ,KAAK,SAAS,UAAU,GAAG;AAC7C,WAAO,kBAAkB,QAAQ;AAAA,EACnC;AAGA,MAAI,gBAAgB,QAAQ,GAAG;AAC7B,UAAM,YAAY,MAAM,KAAK,QAA8B;AAC3D,WAAO,kBAAkB,SAAS;AAAA,EACpC;AAEA,SAAO;AACT;AAMA,SAAS,kBACP,MACiD;AACjD,QAAM,CAAC,SAAS,QAAQ,MAAM,IAAI;AAElC,MAAI,CAAC,SAAS,OAAO,EAAG,QAAO;AAE/B,MAAI;AACJ,MAAI,YAAqC,CAAC;AAE1C,UAAQ,SAAS;AAAA,IACf,KAAK;AAEH,UAAI,CAAC,SAAS,MAAM,KAAK,KAAK,SAAS,EAAG,QAAO;AAEjD,UAAI,WAAW,aAAa,WAAW,SAAU,QAAO;AAExD,UAAI,CAAC,SAAS,MAAM,KAAK,WAAW,KAAM,QAAO;AAEjD,kBAAY,GAAG,OAAO,IAAI,MAAM;AAChC,kBAAY,EAAE,GAAG,OAAO;AACxB;AAAA,IAEF,KAAK;AAEH,UAAI,CAAC,SAAS,MAAM,EAAG,QAAO;AAC9B,kBAAY;AACZ,UAAI,SAAS,MAAM,GAAG;AACpB,oBAAY,EAAE,GAAG,OAAO;AAAA,MAC1B;AACA;AAAA,IAEF,KAAK;AAEH,UAAI,CAAC,SAAS,MAAM,EAAG,QAAO;AAC9B,kBAAY,GAAG,OAAO,IAAI,MAAM;AAChC,UAAI,SAAS,MAAM,GAAG;AACpB,oBAAY,EAAE,GAAG,OAAO;AAAA,MAC1B;AACA;AAAA,IAEF,KAAK;AACH,UAAI,SAAS,MAAM,GAAG;AACpB,oBAAY,GAAG,OAAO,IAAI,MAAM;AAChC,YAAI,SAAS,MAAM,GAAG;AACpB,sBAAY,EAAE,GAAG,OAAO;AAAA,QAC1B;AAAA,MACF,WAAW,SAAS,MAAM,GAAG;AAC3B,oBAAY,GAAG,OAAO;AACtB,oBAAY,EAAE,GAAG,OAAO;AAAA,MAC1B,OAAO;AACL,eAAO;AAAA,MACT;AACA;AAAA,IAEF;AAEE,aAAO;AAAA,EACX;AAEA,SAAO;AAAA,IACL,MAAM;AAAA,IACN,GAAG;AAAA,EACL;AACF;AAKA,SAAS,gBAAgB,KAAuB;AAC9C,SACE,OAAO,QACP,OAAO,QAAQ,YACf,YAAY,OACZ,OAAQ,IAA2B,WAAW,YAC7C,IAA2B,SAAS;AAEzC;AAKA,SAAS,aAAqB;AAC5B,SAAO,KAAK,OAAO,EAAE,SAAS,EAAE,EAAE,UAAU,GAAG,EAAE;AACnD;;;ACrQA;;;ACAA;AAAA;AAAA;AAAA;AAmBA,IAAM,aAAa;AAAA,EACjB,WAAW,CAAC;AAAA,EACZ,kBAAkB,KAAK,GAAG;AAAA,EAC1B,qBAAqB,KAAK,GAAG;AAC/B;AAQO,IAAM,OAAqB;AAAA,EAChC,KAAK,KAAK,GAAG;AAAA,EACb,QAAQ;AACV;;;AClCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQO,SAAS,gBAA2B;AACzC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,MACE,cAAc;AAAA,MACd,oBAAoB;AAAA,MACpB,YAAY;AAAA,MACZ,mBAAmB;AAAA,IACrB;AAAA,EACF;AACF;AAEO,SAAS,iBAA4B;AAC1C,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,MACE,YAAY;AAAA,MACZ,mBAAmB;AAAA,MACnB,cAAc;AAAA,MACd,oBAAoB;AAAA,IACtB;AAAA,EACF;AACF;AAKO,SAAS,WAAsB;AACpC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,MACE,gBAAgB;AAAA,MAChB,OAAO;AAAA,MACP,UAAU;AAAA,MACV,OAAO;AAAA,QACL;AAAA,UACE,SAAS;AAAA,UACT,WAAW;AAAA,UACX,eAAe;AAAA,UACf,UAAU;AAAA,UACV,OAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,cAAyB;AACvC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,MACE,UAAU;AAAA,MACV,OAAO;AAAA,MACP,OAAO;AAAA,QACL;AAAA,UACE,SAAS;AAAA,UACT,WAAW;AAAA,UACX,cAAc;AAAA,UACd,UAAU;AAAA,UACV,OAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,YAAuB;AACrC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,MACE,UAAU;AAAA,MACV,OAAO;AAAA,MACP,OAAO;AAAA,QACL;AAAA,UACE,SAAS;AAAA,UACT,WAAW;AAAA,UACX,eAAe;AAAA,UACf,OAAO;AAAA,QACT;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAKO,SAAS,SAAoB;AAClC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,MACE,YAAY;AAAA,MACZ,eAAe;AAAA,MACf,gBAAgB;AAAA,IAClB;AAAA,EACF;AACF;AAKO,SAAS,YAAuB;AACrC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,MACE,UAAU;AAAA,MACV,SAAS;AAAA,IACX;AAAA,EACF;AACF;AAKO,SAAS,uBAAgD;AAC9D,SAAO;AAAA,IACL,OAAO;AAAA,IACP,kBAAkB;AAAA,IAClB,SAAS;AAAA,EACX;AACF;;;ACtIA;AAAA;AAAA,qBAAAC;AAAA,EAAA,cAAAC;AAAA,EAAA;AAAA;AAAA,uBAAAC;AAAA,EAAA;AAAA,kBAAAC;AAAA,EAAA,iBAAAC;AAAA;AAOO,IAAMF,iBAA8B;AAAA,EACzC,MAAM;AAAA,EACN,UAAU;AAAA,IACR,SAAS;AAAA,MACP,KAAK;AAAA,QACH,YAAY,EAAE,OAAO,KAAK;AAAA;AAAA,QAC1B,WAAW;AAAA,UACT,KAAK;AAAA,UACL,IAAI,CAAC,UAAmB,UAAU;AAAA,QACpC;AAAA,QACA,WAAW;AAAA,UACT,KAAK;AAAA,UACL,IAAI,CAAC,UAAmB,UAAU;AAAA,QACpC;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAMO,IAAMC,YAAyB;AAAA,EACpC,MAAM;AAAA,EACN,MAAM;AAAA,IACJ,KAAK;AAAA,MACH,IAAI;AAAA,MACJ,OAAO;AAAA,MACP,UAAU;AAAA,MACV,QAAQ;AAAA,QACN,MAAM;AAAA,UACJ;AAAA,UACA;AAAA,YACE,KAAK;AAAA,cACH,MAAM,EAAE,OAAO,UAAU;AAAA,cACzB,MAAM;AAAA,gBACJ,KAAK;AAAA,kBACH,IAAI;AAAA,kBACJ,MAAM;AAAA,kBACN,UAAU;AAAA,kBACV,UAAU;AAAA,kBACV,OAAO;AAAA,gBACT;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAMH,eAA4B;AAAA,EACvC,MAAM;AAAA,EACN,MAAM;AAAA,IACJ,KAAK;AAAA,MACH,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,MACV,OAAO;AAAA,MACP,UAAU;AAAA,IACZ;AAAA,EACF;AACF;AAEO,IAAMI,aAA0B;AAAA,EACrC,MAAM;AAAA,EACN,MAAM;AAAA,IACJ,KAAK;AAAA,MACH,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA,MACV,OAAO;AAAA,MACP,UAAU;AAAA,IACZ;AAAA,EACF;AACF;AAMO,IAAM,YAA0B;AAAA,EACrC,MAAM;AAAA,EACN,MAAM;AAAA,IACJ,KAAK;AAAA,MACH,OAAO;AAAA,MACP,KAAK;AAAA,IACP;AAAA,EACF;AACF;AAMO,IAAM,cAA4B;AAAA;AAAA,EAEvC,MAAM;AAAA,IACJ,KAAK;AAAA;AAAA,MAEH,SAAS;AAAA,MACT,kBAAkB;AAAA,IACpB;AAAA,EACF;AACF;AAMO,IAAMH,UAAS;AAAA;AAAA,EAEpB,SAAS;AAAA,IACP,QAAQC;AAAA,EACV;AAAA;AAAA,EAGA,UAAUC;AAAA,EACV,aAAaH;AAAA,EACb,WAAWI;AAAA;AAAA,EAGX,uBAAuB;AAAA;AAAA,EAGvB,cAAc;AAAA;AAAA,EAGd,KAAK;AAAA;AAAA,IAEH,MAAM;AAAA;AAAA,IAEN;AAAA,EACF;AACF;AAKO,IAAM,qBAAqB;AAAA,EAChC,SAAS;AAAA,IACP,QAAQF;AAAA,EACV;AACF;;;ACzIO,IAAM,kBAAsC,OACjDG,SACA,QACG;AACH,MAAI;AAEF,UAAM,EAAE,KAAK,QAAQ,UAAU,IAAI;AAGnC,UAAM,WAAmC;AAAA,MACvC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,GAAGA,WAAA,gBAAAA,QAAQ;AAAA,IACb;AAGA,UAAM,aAAmC;AAAA,MACvC;AAAA,IACF;AAGA,QAAI,WAAW;AAEb,4BAAsB,KAAK,UAAU;AAGrC,yBAAmB,KAAK,UAAU;AAAA,IACpC;AAIA,UAAMC,QAAe;AAGrB,WAAO;AAAA,MACL,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,MAAAA;AAAA,MACA,SAAS,YAAY;AAEnB,cAAM,gBAAgB,SAAS,QAAQ;AACvC,YACE,aACA,UAAU,aAAa,KACvB,MAAM,QAAQ,UAAU,aAAa,CAAC,GACtC;AAAA,QAGF;AAAA,MACF;AAAA,IACF;AAAA,EACF,SAAS,OAAO;AACd,UAAM;AAAA,EACR;AACF;AAEA,IAAO,gBAAQ;","names":["config","add_to_cart","config","consentUpdate","purchase","view_item","config","push"]}
1
+ {"version":3,"sources":["../src/interceptor.ts","../src/types/index.ts","../src/examples/env.ts","../src/examples/events.ts","../src/examples/mapping.ts","../src/index.ts"],"sourcesContent":["import type { WalkerOS, Source, Collector } from '@walkeros/core';\nimport { isArray, isObject, isString, tryCatch } from '@walkeros/core';\n\n// Global flag to prevent infinite loops\nlet isProcessing = false;\n\n/**\n * DataLayer interceptor - handles dataLayer.push interception and event transformation\n */\nexport function interceptDataLayer(\n push: Collector.PushFn,\n config: Source.Config,\n): void {\n const settings = config.settings as {\n name?: string;\n prefix?: string;\n filter?: (event: unknown) => boolean;\n };\n const dataLayerName = settings?.name || 'dataLayer';\n\n // Ensure dataLayer exists\n if (!window[dataLayerName]) {\n window[dataLayerName] = [];\n }\n\n const dataLayer = window[dataLayerName] as unknown[];\n if (!Array.isArray(dataLayer)) return;\n\n // Store original push\n const originalPush = dataLayer.push.bind(dataLayer);\n\n // Override push with event processing\n dataLayer.push = function (...args: unknown[]): number {\n // Prevent infinite loops\n if (isProcessing) {\n return originalPush(...args);\n }\n\n isProcessing = true;\n try {\n // Process each argument\n for (const arg of args) {\n processEvent(push, settings, arg);\n }\n } finally {\n isProcessing = false;\n }\n\n // Call original push\n return originalPush(...args);\n };\n}\n\n/**\n * Process existing events on initialization\n */\nexport function processExistingEvents(\n push: Collector.PushFn,\n config: Source.Config,\n): void {\n const settings = config.settings as {\n name?: string;\n prefix?: string;\n filter?: (event: unknown) => boolean;\n };\n const dataLayerName = settings?.name || 'dataLayer';\n const dataLayer = window[dataLayerName] as unknown[];\n\n if (!Array.isArray(dataLayer)) return;\n\n // Prevent loops during initialization\n if (isProcessing) return;\n\n isProcessing = true;\n try {\n // Process all existing events\n for (const event of dataLayer) {\n processEvent(push, settings, event);\n }\n } finally {\n isProcessing = false;\n }\n}\n\n/**\n * Process a single event - handles filtering, transformation, and WalkerOS event creation\n */\nfunction processEvent(\n push: Collector.PushFn,\n settings: { prefix?: string; filter?: (event: unknown) => boolean } = {},\n rawEvent: unknown,\n): void {\n // Apply filter if provided\n if (settings.filter) {\n const filterFn = tryCatch(\n () => settings.filter!(rawEvent),\n () => false, // If filter throws, don't skip the event\n );\n const filterResult = filterFn();\n if (filterResult === true) {\n return; // Skip filtered events\n }\n }\n\n // Transform the event (handles gtag format and direct objects)\n const transformedEvent = transformDataLayerEvent(rawEvent);\n if (!transformedEvent) {\n return; // Skip invalid events\n }\n\n const prefix = settings.prefix || 'dataLayer';\n const eventName = `${prefix} ${transformedEvent.name}`;\n\n // Create partial WalkerOS event structure (collector will enrich it)\n const { name: _name, ...data } = transformedEvent;\n const partialEvent: WalkerOS.DeepPartialEvent = {\n name: eventName,\n data: data as WalkerOS.Properties,\n };\n\n // Push to collector\n tryCatch(\n () => push(partialEvent),\n () => {}, // Silently handle push errors\n )();\n}\n\n/**\n * Transform dataLayer events to standardized format\n * Handles: gtag arguments, direct objects, existing events\n */\nfunction transformDataLayerEvent(\n rawEvent: unknown,\n): { name: string; [key: string]: unknown } | null {\n // Handle direct object format: { event: 'test', data: 'value' }\n if (isObject(rawEvent) && isString(rawEvent.event)) {\n const { event, ...rest } = rawEvent;\n return { name: event, ...rest };\n }\n\n // Handle gtag argument format: ['consent', 'update', { ad_storage: 'granted' }]\n if (isArray(rawEvent) && rawEvent.length >= 2) {\n return transformGtagArgs(rawEvent);\n }\n\n // Handle arguments object (from gtag function calls)\n if (isGtagArguments(rawEvent)) {\n const argsArray = Array.from(rawEvent as ArrayLike<unknown>);\n return transformGtagArgs(argsArray);\n }\n\n return null;\n}\n\n/**\n * Transform gtag-style arguments to event object\n * ['consent', 'update', { ad_storage: 'granted' }] → { event: 'consent update', ad_storage: 'granted' }\n */\nfunction transformGtagArgs(\n args: unknown[],\n): { name: string; [key: string]: unknown } | null {\n const [command, action, params] = args;\n\n if (!isString(command)) return null;\n\n let eventName: string;\n let eventData: Record<string, unknown> = {};\n\n switch (command) {\n case 'consent':\n // Consent requires action and params\n if (!isString(action) || args.length < 3) return null;\n // Only allow 'default' and 'update' actions for consent\n if (action !== 'default' && action !== 'update') return null;\n // Params must be a valid object (not null)\n if (!isObject(params) || params === null) return null;\n\n eventName = `${command} ${action}`;\n eventData = { ...params };\n break;\n\n case 'event':\n // Event requires at least action parameter\n if (!isString(action)) return null;\n eventName = action;\n if (isObject(params)) {\n eventData = { ...params };\n }\n break;\n\n case 'config':\n // Config requires at least action parameter\n if (!isString(action)) return null;\n eventName = `${command} ${action}`;\n if (isObject(params)) {\n eventData = { ...params };\n }\n break;\n\n case 'set':\n if (isString(action)) {\n eventName = `${command} ${action}`;\n if (isObject(params)) {\n eventData = { ...params };\n }\n } else if (isObject(action)) {\n eventName = `${command} custom`;\n eventData = { ...action };\n } else {\n return null;\n }\n break;\n\n default:\n // Unknown command, ignore\n return null;\n }\n\n return {\n name: eventName,\n ...eventData,\n };\n}\n\n/**\n * Check if object is gtag arguments object\n */\nfunction isGtagArguments(obj: unknown): boolean {\n return (\n obj != null &&\n typeof obj === 'object' &&\n 'length' in obj &&\n typeof (obj as ArrayLike<unknown>).length === 'number' &&\n (obj as ArrayLike<unknown>).length > 0\n );\n}\n","import type { WalkerOS, Source, Elb } from '@walkeros/core';\n\ndeclare global {\n interface Window {\n dataLayer?: DataLayer;\n [key: string]: DataLayer | unknown;\n }\n}\n\nexport type DataLayer = Array<unknown>;\n\nexport interface Settings extends Record<string, unknown> {\n name?: string;\n prefix?: string;\n filter?: (event: unknown) => WalkerOS.PromiseOrValue<boolean>;\n}\n\nexport interface Mapping {}\n\nexport type Push = Elb.Fn;\n\nexport interface Env extends Source.BaseEnv {\n window?: Window & typeof globalThis;\n}\n\nexport type Types = Source.Types<Settings, Mapping, Push, Env>;\n\nexport type DataLayerEvent = {\n event: string;\n [key: string]: unknown;\n};\n\nexport type MappedEvent = {\n event?: WalkerOS.DeepPartialEvent & { id: string };\n command?: {\n name: string;\n data: unknown;\n };\n};\n","import type { Source, Elb } from '@walkeros/core';\n\n/**\n * Example environment configurations for dataLayer source\n *\n * These environments provide standardized mock structures for testing\n * dataLayer interception without requiring a real window object.\n */\n\n// Simple no-op function for mocking\nconst noop = () => {};\n\n// Create a properly typed elb/push/command function that returns a promise with PushResult\nconst createMockElbFn = (): Elb.Fn => {\n const fn = (() =>\n Promise.resolve({\n ok: true,\n successful: [],\n queued: [],\n failed: [],\n })) as Elb.Fn;\n return fn;\n};\n\n/**\n * Environment interface for dataLayer source\n */\ninterface DataLayerEnv extends Source.BaseEnv {\n window?: typeof window;\n}\n\n/**\n * Mock window object with dataLayer array\n */\nconst createMockWindow = () => ({\n dataLayer: [] as unknown[],\n addEventListener: noop,\n removeEventListener: noop,\n});\n\n/**\n * Standard mock environment for testing dataLayer source\n *\n * Use this for testing dataLayer.push interception and event transformation\n * without requiring a real browser environment.\n */\nexport const push: DataLayerEnv = {\n get push() {\n return createMockElbFn();\n },\n get command() {\n return createMockElbFn();\n },\n get elb() {\n return createMockElbFn();\n },\n get window() {\n return createMockWindow() as unknown as typeof window;\n },\n};\n","/**\n * Sample gtag events that would be pushed to dataLayer\n * These represent real-world gtag calls that the dataLayer source should transform to WalkerOS events\n */\n\n/**\n * Consent Mode Events - Primary use case\n */\nexport function consentUpdate(): unknown[] {\n return [\n 'consent',\n 'update',\n {\n ad_user_data: 'granted',\n ad_personalization: 'granted',\n ad_storage: 'denied',\n analytics_storage: 'granted',\n },\n ];\n}\n\nexport function consentDefault(): unknown[] {\n return [\n 'consent',\n 'default',\n {\n ad_storage: 'denied',\n analytics_storage: 'denied',\n ad_user_data: 'denied',\n ad_personalization: 'denied',\n },\n ];\n}\n\n/**\n * E-commerce Events\n */\nexport function purchase(): unknown[] {\n return [\n 'event',\n 'purchase',\n {\n transaction_id: 'T_12345',\n value: 25.42,\n currency: 'EUR',\n items: [\n {\n item_id: 'SKU_12345',\n item_name: 'Product Name',\n item_category: 'Category',\n quantity: 1,\n price: 25.42,\n },\n ],\n },\n ];\n}\n\nexport function add_to_cart(): unknown[] {\n return [\n 'event',\n 'add_to_cart',\n {\n currency: 'EUR',\n value: 15.25,\n items: [\n {\n item_id: 'SKU_12345',\n item_name: 'Product Name',\n item_variant: 'red',\n quantity: 1,\n price: 15.25,\n },\n ],\n },\n ];\n}\n\nexport function view_item(): unknown[] {\n return [\n 'event',\n 'view_item',\n {\n currency: 'EUR',\n value: 15.25,\n items: [\n {\n item_id: 'SKU_12345',\n item_name: 'Product Name',\n item_category: 'Category',\n price: 15.25,\n },\n ],\n },\n ];\n}\n\n/**\n * Config Events\n */\nexport function config(): unknown[] {\n return [\n 'config',\n 'G-XXXXXXXXXX',\n {\n page_title: 'Custom Page Title',\n page_location: 'https://example.com/page',\n send_page_view: false,\n },\n ];\n}\n\n/**\n * Set Events\n */\nexport function setCustom(): unknown[] {\n return [\n 'set',\n {\n currency: 'EUR',\n country: 'DE',\n },\n ];\n}\n\n/**\n * Direct dataLayer object pushes (not gtag)\n */\nexport function directDataLayerEvent(): Record<string, unknown> {\n return {\n event: 'custom_event',\n custom_parameter: 'custom_value',\n user_id: 'user123',\n };\n}\n","import type { Mapping } from '@walkeros/core';\nimport { isObject } from '@walkeros/core';\n\n/**\n * Consent Mode Mapping - Primary use case\n * Maps gtag consent events to walker consent commands\n */\nexport const consentUpdate: Mapping.Rule = {\n name: 'walker consent',\n settings: {\n command: {\n map: {\n functional: { value: true }, // Static value - always true for functional\n analytics: {\n key: 'analytics_storage',\n fn: (value: unknown) => value === 'granted',\n },\n marketing: {\n key: 'ad_storage',\n fn: (value: unknown) => value === 'granted',\n },\n },\n },\n },\n};\n\n/**\n * E-commerce Event Mappings\n * Transform GA4 ecommerce events to WalkerOS events\n */\nexport const purchase: Mapping.Rule = {\n name: 'order complete',\n data: {\n map: {\n id: 'transaction_id',\n total: 'value',\n currency: 'currency',\n nested: {\n loop: [\n 'items',\n {\n map: {\n type: { value: 'product' },\n data: {\n map: {\n id: 'item_id',\n name: 'item_name',\n category: 'item_category',\n quantity: 'quantity',\n price: 'price',\n },\n },\n },\n },\n ],\n },\n },\n },\n};\n\nexport const add_to_cart: Mapping.Rule = {\n name: 'product add',\n data: {\n map: {\n id: 'items.0.item_id',\n name: 'items.0.item_name',\n price: 'value',\n currency: 'currency',\n color: 'items.0.item_variant',\n quantity: 'items.0.quantity',\n },\n },\n};\n\nexport const view_item: Mapping.Rule = {\n name: 'product view',\n data: {\n map: {\n id: 'items.0.item_id',\n name: 'items.0.item_name',\n category: 'items.0.item_category',\n price: 'items.0.price',\n currency: 'currency',\n },\n },\n};\n\n/**\n * Config Event Mapping\n * Transform GA4 config events to WalkerOS page events\n */\nexport const configGA4: Mapping.Rule = {\n name: 'page view',\n data: {\n map: {\n title: 'page_title',\n url: 'page_location',\n },\n },\n};\n\n/**\n * Custom Event Mapping\n * Handle direct dataLayer pushes\n */\nexport const customEvent: Mapping.Rule = {\n // Keep original event name with gtag prefix\n data: {\n map: {\n // Map all properties as-is\n user_id: 'user_id',\n custom_parameter: 'custom_parameter',\n },\n },\n};\n\n/**\n * Complete mapping configuration\n * Following the same pattern as destination mappings\n */\nexport const config = {\n // Consent events\n consent: {\n update: consentUpdate,\n },\n\n // E-commerce events\n purchase: purchase,\n add_to_cart: add_to_cart,\n view_item: view_item,\n\n // Config events\n 'config G-XXXXXXXXXX': configGA4,\n\n // Custom events\n custom_event: customEvent,\n\n // Catch-all for unmapped events\n '*': {\n // Pass through with gtag prefix\n data: {\n // Copy all data as-is\n },\n },\n} as unknown as Mapping.Rules;\n\n/**\n * Minimal consent-only mapping for focused use cases\n */\nexport const consentOnlyMapping = {\n consent: {\n update: consentUpdate,\n },\n} as unknown as Mapping.Rules;\n","import type { Source } from '@walkeros/core';\nimport type { Types } from './types';\nimport { interceptDataLayer, processExistingEvents } from './interceptor';\n\n// Export types for external usage\nexport * as SourceDataLayer from './types';\n\n// Export examples\nexport * from './examples';\n\n/**\n * DataLayer source implementation using environment injection.\n *\n * This source intercepts dataLayer.push calls and transforms them to WalkerOS events.\n * It works by replacing the dataLayer.push method with a custom handler.\n */\nexport const sourceDataLayer: Source.Init<Types> = async (\n config: Partial<Source.Config<Types>>,\n env: Source.Env<Types>,\n) => {\n const { elb, window: envWindow } = env;\n\n const settings: Source.Settings<Types> = {\n name: 'dataLayer',\n prefix: 'dataLayer',\n ...config?.settings,\n };\n\n const fullConfig: Source.Config<Types> = {\n settings,\n };\n\n if (envWindow) {\n processExistingEvents(elb, fullConfig);\n interceptDataLayer(elb, fullConfig);\n }\n\n return {\n type: 'dataLayer',\n config: fullConfig,\n push: elb,\n destroy: async () => {\n // Cleanup: restore original dataLayer.push if possible\n const dataLayerName = settings.name || 'dataLayer';\n if (\n envWindow &&\n envWindow[dataLayerName] &&\n Array.isArray(envWindow[dataLayerName])\n ) {\n // Note: Complete restoration would require storing original push method\n // For now, we'll just document this limitation\n }\n },\n };\n};\n\nexport default sourceDataLayer;\n"],"mappings":"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","names":["push","config","add_to_cart","config","consentUpdate","purchase","view_item","config"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@walkeros/web-source-datalayer",
3
3
  "description": "DataLayer source for walkerOS",
4
- "version": "0.2.0",
4
+ "version": "0.2.1",
5
5
  "license": "MIT",
6
6
  "main": "./dist/index.js",
7
7
  "module": "./dist/index.mjs",
@@ -30,8 +30,8 @@
30
30
  "update": "npx npm-check-updates -u && npm update"
31
31
  },
32
32
  "dependencies": {
33
- "@walkeros/core": "0.2.0",
34
- "@walkeros/collector": "0.2.0"
33
+ "@walkeros/core": "0.2.1",
34
+ "@walkeros/collector": "0.2.1"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@types/gtag.js": "^0.0.20"