@shware/analytics 2.2.3 → 2.2.4

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.
@@ -92,6 +92,7 @@ var createTrackEventSchemaV1 = (0, import_mini.array)(
92
92
  ttclid: (0, import_mini.optional)((0, import_mini.string)()),
93
93
  twclid: (0, import_mini.optional)((0, import_mini.string)()),
94
94
  wbraid: (0, import_mini.optional)((0, import_mini.string)()),
95
+ yclid: (0, import_mini.optional)((0, import_mini.string)()),
95
96
  // utm params
96
97
  utm_source: (0, import_mini.optional)((0, import_mini.string)()),
97
98
  utm_medium: (0, import_mini.optional)((0, import_mini.string)()),
@@ -164,6 +165,7 @@ var createTrackEventSchema = (0, import_mini.array)(
164
165
  ttclid: (0, import_mini.optional)((0, import_mini.string)()),
165
166
  twclid: (0, import_mini.optional)((0, import_mini.string)()),
166
167
  wbraid: (0, import_mini.optional)((0, import_mini.string)()),
168
+ yclid: (0, import_mini.optional)((0, import_mini.string)()),
167
169
  // utm params
168
170
  utm_source: (0, import_mini.optional)((0, import_mini.string)()),
169
171
  utm_medium: (0, import_mini.optional)((0, import_mini.string)()),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schema/index.ts"],"sourcesContent":["import {\n optional,\n object,\n string,\n regex,\n number,\n boolean,\n null as _null,\n coerce,\n enum as _enum,\n trim,\n union,\n record,\n array,\n iso,\n minLength,\n maxLength,\n refine,\n pipe,\n transform,\n email,\n type z,\n uuid,\n url,\n} from 'zod/mini';\n\nconst items = array(\n record(\n string().check(trim(), minLength(1), maxLength(128)),\n union([string().check(maxLength(512)), number(), boolean(), _null()])\n )\n);\n\n/** @deprecated */\nexport const createTrackEventSchemaV1 = array(\n object({\n name: string().check(trim(), minLength(1), maxLength(64)),\n visitor_id: coerce.bigint(),\n timestamp: iso.datetime(),\n tags: object({\n os: optional(string()),\n os_name: optional(string()),\n os_version: optional(string()),\n browser: optional(string()),\n browser_name: optional(string()),\n browser_version: optional(string()),\n platform: optional(_enum(['ios', 'android', 'web', 'macos', 'windows', 'linux', 'unknown'])),\n device: optional(string()),\n device_id: optional(string().check(trim(), minLength(1), maxLength(36))),\n device_type: optional(string()),\n device_vendor: optional(string()),\n device_pixel_ratio: optional(string()),\n screen_resolution: optional(\n pipe(\n string().check(regex(/^\\d+x\\d+$/)),\n transform((v) => v as `${number}x${number}`)\n )\n ),\n release: optional(string()),\n language: optional(string()),\n time_zone: optional(string()),\n environment: optional(_enum(['development', 'production'])),\n source_url: optional(string()),\n source: optional(_enum(['web', 'app', 'offline'])),\n // meta ads\n fbc: optional(string()),\n fbp: optional(string()),\n fbclid: optional(string()),\n ad_id: optional(string()),\n ad_name: optional(string()),\n adset_id: optional(string()),\n adset_name: optional(string()),\n campaign_id: optional(string()),\n campaign_name: optional(string()),\n placement: optional(string()),\n site_source_name: optional(string()),\n // google ads\n gclid: optional(string()),\n gclsrc: optional(string()),\n gad_source: optional(string()),\n gad_campaignid: optional(string()),\n advertising_id: optional(string()),\n // click ids\n dclid: optional(string()),\n ko_click_id: optional(string()),\n li_fat_id: optional(string()),\n msclkid: optional(string()),\n sccid: optional(string()),\n ttclid: optional(string()),\n twclid: optional(string()),\n wbraid: optional(string()),\n // utm params\n utm_source: optional(string()),\n utm_medium: optional(string()),\n utm_campaign: optional(string()),\n utm_term: optional(string()),\n utm_content: optional(string()),\n }),\n properties: optional(\n record(\n string().check(trim(), minLength(1), maxLength(128)),\n union([string().check(maxLength(512)), number(), boolean(), _null(), items])\n ).check(refine((data) => Object.keys(data).length <= 64))\n ),\n })\n).check(minLength(1), maxLength(100));\n\nexport const createTrackEventSchema = array(\n object({\n name: string().check(trim(), minLength(1), maxLength(64)),\n visitor_id: uuid(),\n timestamp: iso.datetime(),\n tags: object({\n os: optional(string()),\n os_name: optional(string()),\n os_version: optional(string()),\n browser: optional(string()),\n browser_name: optional(string()),\n browser_version: optional(string()),\n platform: optional(_enum(['ios', 'android', 'web', 'macos', 'windows', 'linux', 'unknown'])),\n device: optional(string()),\n device_id: optional(string().check(trim(), minLength(1), maxLength(36))),\n device_type: optional(string()),\n device_vendor: optional(string()),\n device_pixel_ratio: optional(string()),\n screen_resolution: optional(\n pipe(\n string().check(regex(/^\\d+x\\d+$/)),\n transform((v) => v as `${number}x${number}`)\n )\n ),\n release: optional(string()),\n language: optional(string()),\n time_zone: optional(string()),\n environment: optional(_enum(['development', 'production'])),\n source_url: optional(string()),\n source: optional(_enum(['web', 'app', 'offline'])),\n // meta ads\n fbc: optional(string()),\n fbp: optional(string()),\n fbclid: optional(string()),\n ad_id: optional(string()),\n ad_name: optional(string()),\n adset_id: optional(string()),\n adset_name: optional(string()),\n campaign_id: optional(string()),\n campaign_name: optional(string()),\n placement: optional(string()),\n site_source_name: optional(string()),\n // google ads\n gclid: optional(string()),\n gclsrc: optional(string()),\n gad_source: optional(string()),\n gad_campaignid: optional(string()),\n advertising_id: optional(string()),\n // click ids\n dclid: optional(string()),\n ko_click_id: optional(string()),\n li_fat_id: optional(string()),\n msclkid: optional(string()),\n sccid: optional(string()),\n ttclid: optional(string()),\n twclid: optional(string()),\n wbraid: optional(string()),\n // utm params\n utm_source: optional(string()),\n utm_medium: optional(string()),\n utm_campaign: optional(string()),\n utm_term: optional(string()),\n utm_content: optional(string()),\n }),\n properties: optional(\n record(\n string().check(trim(), minLength(1), maxLength(128)),\n union([string().check(maxLength(512)), number(), boolean(), _null(), items])\n ).check(refine((data) => Object.keys(data).length <= 64))\n ),\n })\n).check(minLength(1), maxLength(100));\n\nexport const createVisitorSchema = object({\n device_id: string().check(trim(), minLength(1), maxLength(36)),\n properties: optional(\n record(\n string().check(trim(), minLength(1), maxLength(128)),\n union([string().check(maxLength(512)), number(), boolean(), _null()])\n ).check(refine((data) => Object.keys(data).length <= 64))\n ),\n});\n\nexport const updateVisitorSchema = object({\n user_id: optional(uuid()),\n properties: optional(\n record(\n string().check(trim(), minLength(1), maxLength(128)),\n union([string().check(maxLength(512)), number(), boolean(), _null()])\n ).check(refine((data) => Object.keys(data).length <= 64))\n ),\n});\n\nexport const createFeedbackSchema = object({\n name: string().check(minLength(1), maxLength(256)),\n email: email().check(maxLength(320)),\n message: string().check(minLength(1), maxLength(65536)),\n});\n\nconst noEmptyString = pipe(\n string().check(maxLength(256)),\n transform((v) => (v ? v : undefined))\n);\n\n/**\n * The schema for creating a link.\n * @see https://support.google.com/analytics/answer/10917952\n * */\nexport const createLinkSchema = object({\n /** The URL that the user is redirected to. */\n url: url().check(minLength(1), maxLength(1024)), // required\n\n /**\n * Campaign ID. Used to identify a specific campaign or promotion. This is a required key for GA4\n * data import. Use the same IDs that you use when uploading campaign cost data.\n */\n utm_id: optional(noEmptyString),\n\n /** Referrer, for example: google, newsletter4, billboard */\n utm_source: string().check(minLength(1), maxLength(256)), // required\n\n /** Marketing medium, for example: cpc, banner, email */\n utm_medium: string().check(minLength(1), maxLength(256)), // required\n\n /** Product, slogan, promo code, for example: spring_sale */\n utm_campaign: string().check(minLength(1), maxLength(256)), // required\n\n /** Paid keyword */\n utm_term: optional(noEmptyString),\n\n /**\n * Use to differentiate creatives. For example, if you have two call-to-action links within the\n * same email message, you can use utm_content and set different values for each so you can tell\n * which version is more effective.\n */\n utm_content: optional(noEmptyString),\n\n /**\n * The platform responsible for directing traffic to a given Analytics property (such as a buying\n * platform that sets budgets and targeting criteria or a platform that manages organic traffic\n * data). For example: Search Ads 360 or Display & Video 360.\n */\n utm_source_platform: optional(noEmptyString),\n\n /**\n * Type of creative, for example: display, native, video, search, utm_creative_format is not\n * currently reported in Google Analytics 4 properties.\n */\n utm_creative_format: optional(noEmptyString),\n\n /**\n * Targeting criteria applied to a campaign, for example: remarketing, prospecting,\n * utm_marketing_tactic is not currently reported in Google Analytics 4 properties.\n * */\n utm_marketing_tactic: optional(noEmptyString),\n});\n\nexport type CreateFeedbackDTO = z.output<typeof createFeedbackSchema>;\nexport type CreateLinkDTO = z.output<typeof createLinkSchema>;\n"],"mappings":"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","names":["_null","_enum"]}
1
+ {"version":3,"sources":["../../src/schema/index.ts"],"sourcesContent":["import {\n optional,\n object,\n string,\n regex,\n number,\n boolean,\n null as _null,\n coerce,\n enum as _enum,\n trim,\n union,\n record,\n array,\n iso,\n minLength,\n maxLength,\n refine,\n pipe,\n transform,\n email,\n type z,\n uuid,\n url,\n} from 'zod/mini';\n\nconst items = array(\n record(\n string().check(trim(), minLength(1), maxLength(128)),\n union([string().check(maxLength(512)), number(), boolean(), _null()])\n )\n);\n\n/** @deprecated */\nexport const createTrackEventSchemaV1 = array(\n object({\n name: string().check(trim(), minLength(1), maxLength(64)),\n visitor_id: coerce.bigint(),\n timestamp: iso.datetime(),\n tags: object({\n os: optional(string()),\n os_name: optional(string()),\n os_version: optional(string()),\n browser: optional(string()),\n browser_name: optional(string()),\n browser_version: optional(string()),\n platform: optional(_enum(['ios', 'android', 'web', 'macos', 'windows', 'linux', 'unknown'])),\n device: optional(string()),\n device_id: optional(string().check(trim(), minLength(1), maxLength(36))),\n device_type: optional(string()),\n device_vendor: optional(string()),\n device_pixel_ratio: optional(string()),\n screen_resolution: optional(\n pipe(\n string().check(regex(/^\\d+x\\d+$/)),\n transform((v) => v as `${number}x${number}`)\n )\n ),\n release: optional(string()),\n language: optional(string()),\n time_zone: optional(string()),\n environment: optional(_enum(['development', 'production'])),\n source_url: optional(string()),\n source: optional(_enum(['web', 'app', 'offline'])),\n // meta ads\n fbc: optional(string()),\n fbp: optional(string()),\n fbclid: optional(string()),\n ad_id: optional(string()),\n ad_name: optional(string()),\n adset_id: optional(string()),\n adset_name: optional(string()),\n campaign_id: optional(string()),\n campaign_name: optional(string()),\n placement: optional(string()),\n site_source_name: optional(string()),\n // google ads\n gclid: optional(string()),\n gclsrc: optional(string()),\n gad_source: optional(string()),\n gad_campaignid: optional(string()),\n advertising_id: optional(string()),\n // click ids\n dclid: optional(string()),\n ko_click_id: optional(string()),\n li_fat_id: optional(string()),\n msclkid: optional(string()),\n sccid: optional(string()),\n ttclid: optional(string()),\n twclid: optional(string()),\n wbraid: optional(string()),\n yclid: optional(string()),\n // utm params\n utm_source: optional(string()),\n utm_medium: optional(string()),\n utm_campaign: optional(string()),\n utm_term: optional(string()),\n utm_content: optional(string()),\n }),\n properties: optional(\n record(\n string().check(trim(), minLength(1), maxLength(128)),\n union([string().check(maxLength(512)), number(), boolean(), _null(), items])\n ).check(refine((data) => Object.keys(data).length <= 64))\n ),\n })\n).check(minLength(1), maxLength(100));\n\nexport const createTrackEventSchema = array(\n object({\n name: string().check(trim(), minLength(1), maxLength(64)),\n visitor_id: uuid(),\n timestamp: iso.datetime(),\n tags: object({\n os: optional(string()),\n os_name: optional(string()),\n os_version: optional(string()),\n browser: optional(string()),\n browser_name: optional(string()),\n browser_version: optional(string()),\n platform: optional(_enum(['ios', 'android', 'web', 'macos', 'windows', 'linux', 'unknown'])),\n device: optional(string()),\n device_id: optional(string().check(trim(), minLength(1), maxLength(36))),\n device_type: optional(string()),\n device_vendor: optional(string()),\n device_pixel_ratio: optional(string()),\n screen_resolution: optional(\n pipe(\n string().check(regex(/^\\d+x\\d+$/)),\n transform((v) => v as `${number}x${number}`)\n )\n ),\n release: optional(string()),\n language: optional(string()),\n time_zone: optional(string()),\n environment: optional(_enum(['development', 'production'])),\n source_url: optional(string()),\n source: optional(_enum(['web', 'app', 'offline'])),\n // meta ads\n fbc: optional(string()),\n fbp: optional(string()),\n fbclid: optional(string()),\n ad_id: optional(string()),\n ad_name: optional(string()),\n adset_id: optional(string()),\n adset_name: optional(string()),\n campaign_id: optional(string()),\n campaign_name: optional(string()),\n placement: optional(string()),\n site_source_name: optional(string()),\n // google ads\n gclid: optional(string()),\n gclsrc: optional(string()),\n gad_source: optional(string()),\n gad_campaignid: optional(string()),\n advertising_id: optional(string()),\n // click ids\n dclid: optional(string()),\n ko_click_id: optional(string()),\n li_fat_id: optional(string()),\n msclkid: optional(string()),\n sccid: optional(string()),\n ttclid: optional(string()),\n twclid: optional(string()),\n wbraid: optional(string()),\n yclid: optional(string()),\n // utm params\n utm_source: optional(string()),\n utm_medium: optional(string()),\n utm_campaign: optional(string()),\n utm_term: optional(string()),\n utm_content: optional(string()),\n }),\n properties: optional(\n record(\n string().check(trim(), minLength(1), maxLength(128)),\n union([string().check(maxLength(512)), number(), boolean(), _null(), items])\n ).check(refine((data) => Object.keys(data).length <= 64))\n ),\n })\n).check(minLength(1), maxLength(100));\n\nexport const createVisitorSchema = object({\n device_id: string().check(trim(), minLength(1), maxLength(36)),\n properties: optional(\n record(\n string().check(trim(), minLength(1), maxLength(128)),\n union([string().check(maxLength(512)), number(), boolean(), _null()])\n ).check(refine((data) => Object.keys(data).length <= 64))\n ),\n});\n\nexport const updateVisitorSchema = object({\n user_id: optional(uuid()),\n properties: optional(\n record(\n string().check(trim(), minLength(1), maxLength(128)),\n union([string().check(maxLength(512)), number(), boolean(), _null()])\n ).check(refine((data) => Object.keys(data).length <= 64))\n ),\n});\n\nexport const createFeedbackSchema = object({\n name: string().check(minLength(1), maxLength(256)),\n email: email().check(maxLength(320)),\n message: string().check(minLength(1), maxLength(65536)),\n});\n\nconst noEmptyString = pipe(\n string().check(maxLength(256)),\n transform((v) => (v ? v : undefined))\n);\n\n/**\n * The schema for creating a link.\n * @see https://support.google.com/analytics/answer/10917952\n * */\nexport const createLinkSchema = object({\n /** The URL that the user is redirected to. */\n url: url().check(minLength(1), maxLength(1024)), // required\n\n /**\n * Campaign ID. Used to identify a specific campaign or promotion. This is a required key for GA4\n * data import. Use the same IDs that you use when uploading campaign cost data.\n */\n utm_id: optional(noEmptyString),\n\n /** Referrer, for example: google, newsletter4, billboard */\n utm_source: string().check(minLength(1), maxLength(256)), // required\n\n /** Marketing medium, for example: cpc, banner, email */\n utm_medium: string().check(minLength(1), maxLength(256)), // required\n\n /** Product, slogan, promo code, for example: spring_sale */\n utm_campaign: string().check(minLength(1), maxLength(256)), // required\n\n /** Paid keyword */\n utm_term: optional(noEmptyString),\n\n /**\n * Use to differentiate creatives. For example, if you have two call-to-action links within the\n * same email message, you can use utm_content and set different values for each so you can tell\n * which version is more effective.\n */\n utm_content: optional(noEmptyString),\n\n /**\n * The platform responsible for directing traffic to a given Analytics property (such as a buying\n * platform that sets budgets and targeting criteria or a platform that manages organic traffic\n * data). For example: Search Ads 360 or Display & Video 360.\n */\n utm_source_platform: optional(noEmptyString),\n\n /**\n * Type of creative, for example: display, native, video, search, utm_creative_format is not\n * currently reported in Google Analytics 4 properties.\n */\n utm_creative_format: optional(noEmptyString),\n\n /**\n * Targeting criteria applied to a campaign, for example: remarketing, prospecting,\n * utm_marketing_tactic is not currently reported in Google Analytics 4 properties.\n * */\n utm_marketing_tactic: optional(noEmptyString),\n});\n\nexport type CreateFeedbackDTO = z.output<typeof createFeedbackSchema>;\nexport type CreateLinkDTO = z.output<typeof createLinkSchema>;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAwBO;AAEP,IAAM,YAAQ;AAAA,MACZ;AAAA,QACE,oBAAO,EAAE,UAAM,kBAAK,OAAG,uBAAU,CAAC,OAAG,uBAAU,GAAG,CAAC;AAAA,QACnD,mBAAM,KAAC,oBAAO,EAAE,UAAM,uBAAU,GAAG,CAAC,OAAG,oBAAO,OAAG,qBAAQ,OAAG,YAAAA,MAAM,CAAC,CAAC;AAAA,EACtE;AACF;AAGO,IAAM,+BAA2B;AAAA,MACtC,oBAAO;AAAA,IACL,UAAM,oBAAO,EAAE,UAAM,kBAAK,OAAG,uBAAU,CAAC,OAAG,uBAAU,EAAE,CAAC;AAAA,IACxD,YAAY,mBAAO,OAAO;AAAA,IAC1B,WAAW,gBAAI,SAAS;AAAA,IACxB,UAAM,oBAAO;AAAA,MACX,QAAI,0BAAS,oBAAO,CAAC;AAAA,MACrB,aAAS,0BAAS,oBAAO,CAAC;AAAA,MAC1B,gBAAY,0BAAS,oBAAO,CAAC;AAAA,MAC7B,aAAS,0BAAS,oBAAO,CAAC;AAAA,MAC1B,kBAAc,0BAAS,oBAAO,CAAC;AAAA,MAC/B,qBAAiB,0BAAS,oBAAO,CAAC;AAAA,MAClC,cAAU,0BAAS,YAAAC,MAAM,CAAC,OAAO,WAAW,OAAO,SAAS,WAAW,SAAS,SAAS,CAAC,CAAC;AAAA,MAC3F,YAAQ,0BAAS,oBAAO,CAAC;AAAA,MACzB,eAAW,0BAAS,oBAAO,EAAE,UAAM,kBAAK,OAAG,uBAAU,CAAC,OAAG,uBAAU,EAAE,CAAC,CAAC;AAAA,MACvE,iBAAa,0BAAS,oBAAO,CAAC;AAAA,MAC9B,mBAAe,0BAAS,oBAAO,CAAC;AAAA,MAChC,wBAAoB,0BAAS,oBAAO,CAAC;AAAA,MACrC,uBAAmB;AAAA,YACjB;AAAA,cACE,oBAAO,EAAE,UAAM,mBAAM,WAAW,CAAC;AAAA,cACjC,uBAAU,CAAC,MAAM,CAA0B;AAAA,QAC7C;AAAA,MACF;AAAA,MACA,aAAS,0BAAS,oBAAO,CAAC;AAAA,MAC1B,cAAU,0BAAS,oBAAO,CAAC;AAAA,MAC3B,eAAW,0BAAS,oBAAO,CAAC;AAAA,MAC5B,iBAAa,0BAAS,YAAAA,MAAM,CAAC,eAAe,YAAY,CAAC,CAAC;AAAA,MAC1D,gBAAY,0BAAS,oBAAO,CAAC;AAAA,MAC7B,YAAQ,0BAAS,YAAAA,MAAM,CAAC,OAAO,OAAO,SAAS,CAAC,CAAC;AAAA;AAAA,MAEjD,SAAK,0BAAS,oBAAO,CAAC;AAAA,MACtB,SAAK,0BAAS,oBAAO,CAAC;AAAA,MACtB,YAAQ,0BAAS,oBAAO,CAAC;AAAA,MACzB,WAAO,0BAAS,oBAAO,CAAC;AAAA,MACxB,aAAS,0BAAS,oBAAO,CAAC;AAAA,MAC1B,cAAU,0BAAS,oBAAO,CAAC;AAAA,MAC3B,gBAAY,0BAAS,oBAAO,CAAC;AAAA,MAC7B,iBAAa,0BAAS,oBAAO,CAAC;AAAA,MAC9B,mBAAe,0BAAS,oBAAO,CAAC;AAAA,MAChC,eAAW,0BAAS,oBAAO,CAAC;AAAA,MAC5B,sBAAkB,0BAAS,oBAAO,CAAC;AAAA;AAAA,MAEnC,WAAO,0BAAS,oBAAO,CAAC;AAAA,MACxB,YAAQ,0BAAS,oBAAO,CAAC;AAAA,MACzB,gBAAY,0BAAS,oBAAO,CAAC;AAAA,MAC7B,oBAAgB,0BAAS,oBAAO,CAAC;AAAA,MACjC,oBAAgB,0BAAS,oBAAO,CAAC;AAAA;AAAA,MAEjC,WAAO,0BAAS,oBAAO,CAAC;AAAA,MACxB,iBAAa,0BAAS,oBAAO,CAAC;AAAA,MAC9B,eAAW,0BAAS,oBAAO,CAAC;AAAA,MAC5B,aAAS,0BAAS,oBAAO,CAAC;AAAA,MAC1B,WAAO,0BAAS,oBAAO,CAAC;AAAA,MACxB,YAAQ,0BAAS,oBAAO,CAAC;AAAA,MACzB,YAAQ,0BAAS,oBAAO,CAAC;AAAA,MACzB,YAAQ,0BAAS,oBAAO,CAAC;AAAA,MACzB,WAAO,0BAAS,oBAAO,CAAC;AAAA;AAAA,MAExB,gBAAY,0BAAS,oBAAO,CAAC;AAAA,MAC7B,gBAAY,0BAAS,oBAAO,CAAC;AAAA,MAC7B,kBAAc,0BAAS,oBAAO,CAAC;AAAA,MAC/B,cAAU,0BAAS,oBAAO,CAAC;AAAA,MAC3B,iBAAa,0BAAS,oBAAO,CAAC;AAAA,IAChC,CAAC;AAAA,IACD,gBAAY;AAAA,UACV;AAAA,YACE,oBAAO,EAAE,UAAM,kBAAK,OAAG,uBAAU,CAAC,OAAG,uBAAU,GAAG,CAAC;AAAA,YACnD,mBAAM,KAAC,oBAAO,EAAE,UAAM,uBAAU,GAAG,CAAC,OAAG,oBAAO,OAAG,qBAAQ,OAAG,YAAAD,MAAM,GAAG,KAAK,CAAC;AAAA,MAC7E,EAAE,UAAM,oBAAO,CAAC,SAAS,OAAO,KAAK,IAAI,EAAE,UAAU,EAAE,CAAC;AAAA,IAC1D;AAAA,EACF,CAAC;AACH,EAAE,UAAM,uBAAU,CAAC,OAAG,uBAAU,GAAG,CAAC;AAE7B,IAAM,6BAAyB;AAAA,MACpC,oBAAO;AAAA,IACL,UAAM,oBAAO,EAAE,UAAM,kBAAK,OAAG,uBAAU,CAAC,OAAG,uBAAU,EAAE,CAAC;AAAA,IACxD,gBAAY,kBAAK;AAAA,IACjB,WAAW,gBAAI,SAAS;AAAA,IACxB,UAAM,oBAAO;AAAA,MACX,QAAI,0BAAS,oBAAO,CAAC;AAAA,MACrB,aAAS,0BAAS,oBAAO,CAAC;AAAA,MAC1B,gBAAY,0BAAS,oBAAO,CAAC;AAAA,MAC7B,aAAS,0BAAS,oBAAO,CAAC;AAAA,MAC1B,kBAAc,0BAAS,oBAAO,CAAC;AAAA,MAC/B,qBAAiB,0BAAS,oBAAO,CAAC;AAAA,MAClC,cAAU,0BAAS,YAAAC,MAAM,CAAC,OAAO,WAAW,OAAO,SAAS,WAAW,SAAS,SAAS,CAAC,CAAC;AAAA,MAC3F,YAAQ,0BAAS,oBAAO,CAAC;AAAA,MACzB,eAAW,0BAAS,oBAAO,EAAE,UAAM,kBAAK,OAAG,uBAAU,CAAC,OAAG,uBAAU,EAAE,CAAC,CAAC;AAAA,MACvE,iBAAa,0BAAS,oBAAO,CAAC;AAAA,MAC9B,mBAAe,0BAAS,oBAAO,CAAC;AAAA,MAChC,wBAAoB,0BAAS,oBAAO,CAAC;AAAA,MACrC,uBAAmB;AAAA,YACjB;AAAA,cACE,oBAAO,EAAE,UAAM,mBAAM,WAAW,CAAC;AAAA,cACjC,uBAAU,CAAC,MAAM,CAA0B;AAAA,QAC7C;AAAA,MACF;AAAA,MACA,aAAS,0BAAS,oBAAO,CAAC;AAAA,MAC1B,cAAU,0BAAS,oBAAO,CAAC;AAAA,MAC3B,eAAW,0BAAS,oBAAO,CAAC;AAAA,MAC5B,iBAAa,0BAAS,YAAAA,MAAM,CAAC,eAAe,YAAY,CAAC,CAAC;AAAA,MAC1D,gBAAY,0BAAS,oBAAO,CAAC;AAAA,MAC7B,YAAQ,0BAAS,YAAAA,MAAM,CAAC,OAAO,OAAO,SAAS,CAAC,CAAC;AAAA;AAAA,MAEjD,SAAK,0BAAS,oBAAO,CAAC;AAAA,MACtB,SAAK,0BAAS,oBAAO,CAAC;AAAA,MACtB,YAAQ,0BAAS,oBAAO,CAAC;AAAA,MACzB,WAAO,0BAAS,oBAAO,CAAC;AAAA,MACxB,aAAS,0BAAS,oBAAO,CAAC;AAAA,MAC1B,cAAU,0BAAS,oBAAO,CAAC;AAAA,MAC3B,gBAAY,0BAAS,oBAAO,CAAC;AAAA,MAC7B,iBAAa,0BAAS,oBAAO,CAAC;AAAA,MAC9B,mBAAe,0BAAS,oBAAO,CAAC;AAAA,MAChC,eAAW,0BAAS,oBAAO,CAAC;AAAA,MAC5B,sBAAkB,0BAAS,oBAAO,CAAC;AAAA;AAAA,MAEnC,WAAO,0BAAS,oBAAO,CAAC;AAAA,MACxB,YAAQ,0BAAS,oBAAO,CAAC;AAAA,MACzB,gBAAY,0BAAS,oBAAO,CAAC;AAAA,MAC7B,oBAAgB,0BAAS,oBAAO,CAAC;AAAA,MACjC,oBAAgB,0BAAS,oBAAO,CAAC;AAAA;AAAA,MAEjC,WAAO,0BAAS,oBAAO,CAAC;AAAA,MACxB,iBAAa,0BAAS,oBAAO,CAAC;AAAA,MAC9B,eAAW,0BAAS,oBAAO,CAAC;AAAA,MAC5B,aAAS,0BAAS,oBAAO,CAAC;AAAA,MAC1B,WAAO,0BAAS,oBAAO,CAAC;AAAA,MACxB,YAAQ,0BAAS,oBAAO,CAAC;AAAA,MACzB,YAAQ,0BAAS,oBAAO,CAAC;AAAA,MACzB,YAAQ,0BAAS,oBAAO,CAAC;AAAA,MACzB,WAAO,0BAAS,oBAAO,CAAC;AAAA;AAAA,MAExB,gBAAY,0BAAS,oBAAO,CAAC;AAAA,MAC7B,gBAAY,0BAAS,oBAAO,CAAC;AAAA,MAC7B,kBAAc,0BAAS,oBAAO,CAAC;AAAA,MAC/B,cAAU,0BAAS,oBAAO,CAAC;AAAA,MAC3B,iBAAa,0BAAS,oBAAO,CAAC;AAAA,IAChC,CAAC;AAAA,IACD,gBAAY;AAAA,UACV;AAAA,YACE,oBAAO,EAAE,UAAM,kBAAK,OAAG,uBAAU,CAAC,OAAG,uBAAU,GAAG,CAAC;AAAA,YACnD,mBAAM,KAAC,oBAAO,EAAE,UAAM,uBAAU,GAAG,CAAC,OAAG,oBAAO,OAAG,qBAAQ,OAAG,YAAAD,MAAM,GAAG,KAAK,CAAC;AAAA,MAC7E,EAAE,UAAM,oBAAO,CAAC,SAAS,OAAO,KAAK,IAAI,EAAE,UAAU,EAAE,CAAC;AAAA,IAC1D;AAAA,EACF,CAAC;AACH,EAAE,UAAM,uBAAU,CAAC,OAAG,uBAAU,GAAG,CAAC;AAE7B,IAAM,0BAAsB,oBAAO;AAAA,EACxC,eAAW,oBAAO,EAAE,UAAM,kBAAK,OAAG,uBAAU,CAAC,OAAG,uBAAU,EAAE,CAAC;AAAA,EAC7D,gBAAY;AAAA,QACV;AAAA,UACE,oBAAO,EAAE,UAAM,kBAAK,OAAG,uBAAU,CAAC,OAAG,uBAAU,GAAG,CAAC;AAAA,UACnD,mBAAM,KAAC,oBAAO,EAAE,UAAM,uBAAU,GAAG,CAAC,OAAG,oBAAO,OAAG,qBAAQ,OAAG,YAAAA,MAAM,CAAC,CAAC;AAAA,IACtE,EAAE,UAAM,oBAAO,CAAC,SAAS,OAAO,KAAK,IAAI,EAAE,UAAU,EAAE,CAAC;AAAA,EAC1D;AACF,CAAC;AAEM,IAAM,0BAAsB,oBAAO;AAAA,EACxC,aAAS,0BAAS,kBAAK,CAAC;AAAA,EACxB,gBAAY;AAAA,QACV;AAAA,UACE,oBAAO,EAAE,UAAM,kBAAK,OAAG,uBAAU,CAAC,OAAG,uBAAU,GAAG,CAAC;AAAA,UACnD,mBAAM,KAAC,oBAAO,EAAE,UAAM,uBAAU,GAAG,CAAC,OAAG,oBAAO,OAAG,qBAAQ,OAAG,YAAAA,MAAM,CAAC,CAAC;AAAA,IACtE,EAAE,UAAM,oBAAO,CAAC,SAAS,OAAO,KAAK,IAAI,EAAE,UAAU,EAAE,CAAC;AAAA,EAC1D;AACF,CAAC;AAEM,IAAM,2BAAuB,oBAAO;AAAA,EACzC,UAAM,oBAAO,EAAE,UAAM,uBAAU,CAAC,OAAG,uBAAU,GAAG,CAAC;AAAA,EACjD,WAAO,mBAAM,EAAE,UAAM,uBAAU,GAAG,CAAC;AAAA,EACnC,aAAS,oBAAO,EAAE,UAAM,uBAAU,CAAC,OAAG,uBAAU,KAAK,CAAC;AACxD,CAAC;AAED,IAAM,oBAAgB;AAAA,MACpB,oBAAO,EAAE,UAAM,uBAAU,GAAG,CAAC;AAAA,MAC7B,uBAAU,CAAC,MAAO,IAAI,IAAI,MAAU;AACtC;AAMO,IAAM,uBAAmB,oBAAO;AAAA;AAAA,EAErC,SAAK,iBAAI,EAAE,UAAM,uBAAU,CAAC,OAAG,uBAAU,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM9C,YAAQ,sBAAS,aAAa;AAAA;AAAA,EAG9B,gBAAY,oBAAO,EAAE,UAAM,uBAAU,CAAC,OAAG,uBAAU,GAAG,CAAC;AAAA;AAAA;AAAA,EAGvD,gBAAY,oBAAO,EAAE,UAAM,uBAAU,CAAC,OAAG,uBAAU,GAAG,CAAC;AAAA;AAAA;AAAA,EAGvD,kBAAc,oBAAO,EAAE,UAAM,uBAAU,CAAC,OAAG,uBAAU,GAAG,CAAC;AAAA;AAAA;AAAA,EAGzD,cAAU,sBAAS,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOhC,iBAAa,sBAAS,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOnC,yBAAqB,sBAAS,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,EAM3C,yBAAqB,sBAAS,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,EAM3C,0BAAsB,sBAAS,aAAa;AAC9C,CAAC;","names":["_null","_enum"]}
@@ -64,6 +64,7 @@ declare const createTrackEventSchemaV1: z.ZodMiniArray<z.ZodMiniObject<{
64
64
  ttclid: z.ZodMiniOptional<z.ZodMiniString<string>>;
65
65
  twclid: z.ZodMiniOptional<z.ZodMiniString<string>>;
66
66
  wbraid: z.ZodMiniOptional<z.ZodMiniString<string>>;
67
+ yclid: z.ZodMiniOptional<z.ZodMiniString<string>>;
67
68
  utm_source: z.ZodMiniOptional<z.ZodMiniString<string>>;
68
69
  utm_medium: z.ZodMiniOptional<z.ZodMiniString<string>>;
69
70
  utm_campaign: z.ZodMiniOptional<z.ZodMiniString<string>>;
@@ -135,6 +136,7 @@ declare const createTrackEventSchema: z.ZodMiniArray<z.ZodMiniObject<{
135
136
  ttclid: z.ZodMiniOptional<z.ZodMiniString<string>>;
136
137
  twclid: z.ZodMiniOptional<z.ZodMiniString<string>>;
137
138
  wbraid: z.ZodMiniOptional<z.ZodMiniString<string>>;
139
+ yclid: z.ZodMiniOptional<z.ZodMiniString<string>>;
138
140
  utm_source: z.ZodMiniOptional<z.ZodMiniString<string>>;
139
141
  utm_medium: z.ZodMiniOptional<z.ZodMiniString<string>>;
140
142
  utm_campaign: z.ZodMiniOptional<z.ZodMiniString<string>>;
@@ -64,6 +64,7 @@ declare const createTrackEventSchemaV1: z.ZodMiniArray<z.ZodMiniObject<{
64
64
  ttclid: z.ZodMiniOptional<z.ZodMiniString<string>>;
65
65
  twclid: z.ZodMiniOptional<z.ZodMiniString<string>>;
66
66
  wbraid: z.ZodMiniOptional<z.ZodMiniString<string>>;
67
+ yclid: z.ZodMiniOptional<z.ZodMiniString<string>>;
67
68
  utm_source: z.ZodMiniOptional<z.ZodMiniString<string>>;
68
69
  utm_medium: z.ZodMiniOptional<z.ZodMiniString<string>>;
69
70
  utm_campaign: z.ZodMiniOptional<z.ZodMiniString<string>>;
@@ -135,6 +136,7 @@ declare const createTrackEventSchema: z.ZodMiniArray<z.ZodMiniObject<{
135
136
  ttclid: z.ZodMiniOptional<z.ZodMiniString<string>>;
136
137
  twclid: z.ZodMiniOptional<z.ZodMiniString<string>>;
137
138
  wbraid: z.ZodMiniOptional<z.ZodMiniString<string>>;
139
+ yclid: z.ZodMiniOptional<z.ZodMiniString<string>>;
138
140
  utm_source: z.ZodMiniOptional<z.ZodMiniString<string>>;
139
141
  utm_medium: z.ZodMiniOptional<z.ZodMiniString<string>>;
140
142
  utm_campaign: z.ZodMiniOptional<z.ZodMiniString<string>>;
@@ -86,6 +86,7 @@ var createTrackEventSchemaV1 = array(
86
86
  ttclid: optional(string()),
87
87
  twclid: optional(string()),
88
88
  wbraid: optional(string()),
89
+ yclid: optional(string()),
89
90
  // utm params
90
91
  utm_source: optional(string()),
91
92
  utm_medium: optional(string()),
@@ -158,6 +159,7 @@ var createTrackEventSchema = array(
158
159
  ttclid: optional(string()),
159
160
  twclid: optional(string()),
160
161
  wbraid: optional(string()),
162
+ yclid: optional(string()),
161
163
  // utm params
162
164
  utm_source: optional(string()),
163
165
  utm_medium: optional(string()),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schema/index.ts"],"sourcesContent":["import {\n optional,\n object,\n string,\n regex,\n number,\n boolean,\n null as _null,\n coerce,\n enum as _enum,\n trim,\n union,\n record,\n array,\n iso,\n minLength,\n maxLength,\n refine,\n pipe,\n transform,\n email,\n type z,\n uuid,\n url,\n} from 'zod/mini';\n\nconst items = array(\n record(\n string().check(trim(), minLength(1), maxLength(128)),\n union([string().check(maxLength(512)), number(), boolean(), _null()])\n )\n);\n\n/** @deprecated */\nexport const createTrackEventSchemaV1 = array(\n object({\n name: string().check(trim(), minLength(1), maxLength(64)),\n visitor_id: coerce.bigint(),\n timestamp: iso.datetime(),\n tags: object({\n os: optional(string()),\n os_name: optional(string()),\n os_version: optional(string()),\n browser: optional(string()),\n browser_name: optional(string()),\n browser_version: optional(string()),\n platform: optional(_enum(['ios', 'android', 'web', 'macos', 'windows', 'linux', 'unknown'])),\n device: optional(string()),\n device_id: optional(string().check(trim(), minLength(1), maxLength(36))),\n device_type: optional(string()),\n device_vendor: optional(string()),\n device_pixel_ratio: optional(string()),\n screen_resolution: optional(\n pipe(\n string().check(regex(/^\\d+x\\d+$/)),\n transform((v) => v as `${number}x${number}`)\n )\n ),\n release: optional(string()),\n language: optional(string()),\n time_zone: optional(string()),\n environment: optional(_enum(['development', 'production'])),\n source_url: optional(string()),\n source: optional(_enum(['web', 'app', 'offline'])),\n // meta ads\n fbc: optional(string()),\n fbp: optional(string()),\n fbclid: optional(string()),\n ad_id: optional(string()),\n ad_name: optional(string()),\n adset_id: optional(string()),\n adset_name: optional(string()),\n campaign_id: optional(string()),\n campaign_name: optional(string()),\n placement: optional(string()),\n site_source_name: optional(string()),\n // google ads\n gclid: optional(string()),\n gclsrc: optional(string()),\n gad_source: optional(string()),\n gad_campaignid: optional(string()),\n advertising_id: optional(string()),\n // click ids\n dclid: optional(string()),\n ko_click_id: optional(string()),\n li_fat_id: optional(string()),\n msclkid: optional(string()),\n sccid: optional(string()),\n ttclid: optional(string()),\n twclid: optional(string()),\n wbraid: optional(string()),\n // utm params\n utm_source: optional(string()),\n utm_medium: optional(string()),\n utm_campaign: optional(string()),\n utm_term: optional(string()),\n utm_content: optional(string()),\n }),\n properties: optional(\n record(\n string().check(trim(), minLength(1), maxLength(128)),\n union([string().check(maxLength(512)), number(), boolean(), _null(), items])\n ).check(refine((data) => Object.keys(data).length <= 64))\n ),\n })\n).check(minLength(1), maxLength(100));\n\nexport const createTrackEventSchema = array(\n object({\n name: string().check(trim(), minLength(1), maxLength(64)),\n visitor_id: uuid(),\n timestamp: iso.datetime(),\n tags: object({\n os: optional(string()),\n os_name: optional(string()),\n os_version: optional(string()),\n browser: optional(string()),\n browser_name: optional(string()),\n browser_version: optional(string()),\n platform: optional(_enum(['ios', 'android', 'web', 'macos', 'windows', 'linux', 'unknown'])),\n device: optional(string()),\n device_id: optional(string().check(trim(), minLength(1), maxLength(36))),\n device_type: optional(string()),\n device_vendor: optional(string()),\n device_pixel_ratio: optional(string()),\n screen_resolution: optional(\n pipe(\n string().check(regex(/^\\d+x\\d+$/)),\n transform((v) => v as `${number}x${number}`)\n )\n ),\n release: optional(string()),\n language: optional(string()),\n time_zone: optional(string()),\n environment: optional(_enum(['development', 'production'])),\n source_url: optional(string()),\n source: optional(_enum(['web', 'app', 'offline'])),\n // meta ads\n fbc: optional(string()),\n fbp: optional(string()),\n fbclid: optional(string()),\n ad_id: optional(string()),\n ad_name: optional(string()),\n adset_id: optional(string()),\n adset_name: optional(string()),\n campaign_id: optional(string()),\n campaign_name: optional(string()),\n placement: optional(string()),\n site_source_name: optional(string()),\n // google ads\n gclid: optional(string()),\n gclsrc: optional(string()),\n gad_source: optional(string()),\n gad_campaignid: optional(string()),\n advertising_id: optional(string()),\n // click ids\n dclid: optional(string()),\n ko_click_id: optional(string()),\n li_fat_id: optional(string()),\n msclkid: optional(string()),\n sccid: optional(string()),\n ttclid: optional(string()),\n twclid: optional(string()),\n wbraid: optional(string()),\n // utm params\n utm_source: optional(string()),\n utm_medium: optional(string()),\n utm_campaign: optional(string()),\n utm_term: optional(string()),\n utm_content: optional(string()),\n }),\n properties: optional(\n record(\n string().check(trim(), minLength(1), maxLength(128)),\n union([string().check(maxLength(512)), number(), boolean(), _null(), items])\n ).check(refine((data) => Object.keys(data).length <= 64))\n ),\n })\n).check(minLength(1), maxLength(100));\n\nexport const createVisitorSchema = object({\n device_id: string().check(trim(), minLength(1), maxLength(36)),\n properties: optional(\n record(\n string().check(trim(), minLength(1), maxLength(128)),\n union([string().check(maxLength(512)), number(), boolean(), _null()])\n ).check(refine((data) => Object.keys(data).length <= 64))\n ),\n});\n\nexport const updateVisitorSchema = object({\n user_id: optional(uuid()),\n properties: optional(\n record(\n string().check(trim(), minLength(1), maxLength(128)),\n union([string().check(maxLength(512)), number(), boolean(), _null()])\n ).check(refine((data) => Object.keys(data).length <= 64))\n ),\n});\n\nexport const createFeedbackSchema = object({\n name: string().check(minLength(1), maxLength(256)),\n email: email().check(maxLength(320)),\n message: string().check(minLength(1), maxLength(65536)),\n});\n\nconst noEmptyString = pipe(\n string().check(maxLength(256)),\n transform((v) => (v ? v : undefined))\n);\n\n/**\n * The schema for creating a link.\n * @see https://support.google.com/analytics/answer/10917952\n * */\nexport const createLinkSchema = object({\n /** The URL that the user is redirected to. */\n url: url().check(minLength(1), maxLength(1024)), // required\n\n /**\n * Campaign ID. Used to identify a specific campaign or promotion. This is a required key for GA4\n * data import. Use the same IDs that you use when uploading campaign cost data.\n */\n utm_id: optional(noEmptyString),\n\n /** Referrer, for example: google, newsletter4, billboard */\n utm_source: string().check(minLength(1), maxLength(256)), // required\n\n /** Marketing medium, for example: cpc, banner, email */\n utm_medium: string().check(minLength(1), maxLength(256)), // required\n\n /** Product, slogan, promo code, for example: spring_sale */\n utm_campaign: string().check(minLength(1), maxLength(256)), // required\n\n /** Paid keyword */\n utm_term: optional(noEmptyString),\n\n /**\n * Use to differentiate creatives. For example, if you have two call-to-action links within the\n * same email message, you can use utm_content and set different values for each so you can tell\n * which version is more effective.\n */\n utm_content: optional(noEmptyString),\n\n /**\n * The platform responsible for directing traffic to a given Analytics property (such as a buying\n * platform that sets budgets and targeting criteria or a platform that manages organic traffic\n * data). For example: Search Ads 360 or Display & Video 360.\n */\n utm_source_platform: optional(noEmptyString),\n\n /**\n * Type of creative, for example: display, native, video, search, utm_creative_format is not\n * currently reported in Google Analytics 4 properties.\n */\n utm_creative_format: optional(noEmptyString),\n\n /**\n * Targeting criteria applied to a campaign, for example: remarketing, prospecting,\n * utm_marketing_tactic is not currently reported in Google Analytics 4 properties.\n * */\n utm_marketing_tactic: optional(noEmptyString),\n});\n\nexport type CreateFeedbackDTO = z.output<typeof createFeedbackSchema>;\nexport type CreateLinkDTO = z.output<typeof createLinkSchema>;\n"],"mappings":";AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,OACK;AAEP,IAAM,QAAQ;AAAA,EACZ;AAAA,IACE,OAAO,EAAE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC;AAAA,IACnD,MAAM,CAAC,OAAO,EAAE,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC,CAAC;AAAA,EACtE;AACF;AAGO,IAAM,2BAA2B;AAAA,EACtC,OAAO;AAAA,IACL,MAAM,OAAO,EAAE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,UAAU,EAAE,CAAC;AAAA,IACxD,YAAY,OAAO,OAAO;AAAA,IAC1B,WAAW,IAAI,SAAS;AAAA,IACxB,MAAM,OAAO;AAAA,MACX,IAAI,SAAS,OAAO,CAAC;AAAA,MACrB,SAAS,SAAS,OAAO,CAAC;AAAA,MAC1B,YAAY,SAAS,OAAO,CAAC;AAAA,MAC7B,SAAS,SAAS,OAAO,CAAC;AAAA,MAC1B,cAAc,SAAS,OAAO,CAAC;AAAA,MAC/B,iBAAiB,SAAS,OAAO,CAAC;AAAA,MAClC,UAAU,SAAS,MAAM,CAAC,OAAO,WAAW,OAAO,SAAS,WAAW,SAAS,SAAS,CAAC,CAAC;AAAA,MAC3F,QAAQ,SAAS,OAAO,CAAC;AAAA,MACzB,WAAW,SAAS,OAAO,EAAE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,UAAU,EAAE,CAAC,CAAC;AAAA,MACvE,aAAa,SAAS,OAAO,CAAC;AAAA,MAC9B,eAAe,SAAS,OAAO,CAAC;AAAA,MAChC,oBAAoB,SAAS,OAAO,CAAC;AAAA,MACrC,mBAAmB;AAAA,QACjB;AAAA,UACE,OAAO,EAAE,MAAM,MAAM,WAAW,CAAC;AAAA,UACjC,UAAU,CAAC,MAAM,CAA0B;AAAA,QAC7C;AAAA,MACF;AAAA,MACA,SAAS,SAAS,OAAO,CAAC;AAAA,MAC1B,UAAU,SAAS,OAAO,CAAC;AAAA,MAC3B,WAAW,SAAS,OAAO,CAAC;AAAA,MAC5B,aAAa,SAAS,MAAM,CAAC,eAAe,YAAY,CAAC,CAAC;AAAA,MAC1D,YAAY,SAAS,OAAO,CAAC;AAAA,MAC7B,QAAQ,SAAS,MAAM,CAAC,OAAO,OAAO,SAAS,CAAC,CAAC;AAAA;AAAA,MAEjD,KAAK,SAAS,OAAO,CAAC;AAAA,MACtB,KAAK,SAAS,OAAO,CAAC;AAAA,MACtB,QAAQ,SAAS,OAAO,CAAC;AAAA,MACzB,OAAO,SAAS,OAAO,CAAC;AAAA,MACxB,SAAS,SAAS,OAAO,CAAC;AAAA,MAC1B,UAAU,SAAS,OAAO,CAAC;AAAA,MAC3B,YAAY,SAAS,OAAO,CAAC;AAAA,MAC7B,aAAa,SAAS,OAAO,CAAC;AAAA,MAC9B,eAAe,SAAS,OAAO,CAAC;AAAA,MAChC,WAAW,SAAS,OAAO,CAAC;AAAA,MAC5B,kBAAkB,SAAS,OAAO,CAAC;AAAA;AAAA,MAEnC,OAAO,SAAS,OAAO,CAAC;AAAA,MACxB,QAAQ,SAAS,OAAO,CAAC;AAAA,MACzB,YAAY,SAAS,OAAO,CAAC;AAAA,MAC7B,gBAAgB,SAAS,OAAO,CAAC;AAAA,MACjC,gBAAgB,SAAS,OAAO,CAAC;AAAA;AAAA,MAEjC,OAAO,SAAS,OAAO,CAAC;AAAA,MACxB,aAAa,SAAS,OAAO,CAAC;AAAA,MAC9B,WAAW,SAAS,OAAO,CAAC;AAAA,MAC5B,SAAS,SAAS,OAAO,CAAC;AAAA,MAC1B,OAAO,SAAS,OAAO,CAAC;AAAA,MACxB,QAAQ,SAAS,OAAO,CAAC;AAAA,MACzB,QAAQ,SAAS,OAAO,CAAC;AAAA,MACzB,QAAQ,SAAS,OAAO,CAAC;AAAA;AAAA,MAEzB,YAAY,SAAS,OAAO,CAAC;AAAA,MAC7B,YAAY,SAAS,OAAO,CAAC;AAAA,MAC7B,cAAc,SAAS,OAAO,CAAC;AAAA,MAC/B,UAAU,SAAS,OAAO,CAAC;AAAA,MAC3B,aAAa,SAAS,OAAO,CAAC;AAAA,IAChC,CAAC;AAAA,IACD,YAAY;AAAA,MACV;AAAA,QACE,OAAO,EAAE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC;AAAA,QACnD,MAAM,CAAC,OAAO,EAAE,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;AAAA,MAC7E,EAAE,MAAM,OAAO,CAAC,SAAS,OAAO,KAAK,IAAI,EAAE,UAAU,EAAE,CAAC;AAAA,IAC1D;AAAA,EACF,CAAC;AACH,EAAE,MAAM,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC;AAE7B,IAAM,yBAAyB;AAAA,EACpC,OAAO;AAAA,IACL,MAAM,OAAO,EAAE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,UAAU,EAAE,CAAC;AAAA,IACxD,YAAY,KAAK;AAAA,IACjB,WAAW,IAAI,SAAS;AAAA,IACxB,MAAM,OAAO;AAAA,MACX,IAAI,SAAS,OAAO,CAAC;AAAA,MACrB,SAAS,SAAS,OAAO,CAAC;AAAA,MAC1B,YAAY,SAAS,OAAO,CAAC;AAAA,MAC7B,SAAS,SAAS,OAAO,CAAC;AAAA,MAC1B,cAAc,SAAS,OAAO,CAAC;AAAA,MAC/B,iBAAiB,SAAS,OAAO,CAAC;AAAA,MAClC,UAAU,SAAS,MAAM,CAAC,OAAO,WAAW,OAAO,SAAS,WAAW,SAAS,SAAS,CAAC,CAAC;AAAA,MAC3F,QAAQ,SAAS,OAAO,CAAC;AAAA,MACzB,WAAW,SAAS,OAAO,EAAE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,UAAU,EAAE,CAAC,CAAC;AAAA,MACvE,aAAa,SAAS,OAAO,CAAC;AAAA,MAC9B,eAAe,SAAS,OAAO,CAAC;AAAA,MAChC,oBAAoB,SAAS,OAAO,CAAC;AAAA,MACrC,mBAAmB;AAAA,QACjB;AAAA,UACE,OAAO,EAAE,MAAM,MAAM,WAAW,CAAC;AAAA,UACjC,UAAU,CAAC,MAAM,CAA0B;AAAA,QAC7C;AAAA,MACF;AAAA,MACA,SAAS,SAAS,OAAO,CAAC;AAAA,MAC1B,UAAU,SAAS,OAAO,CAAC;AAAA,MAC3B,WAAW,SAAS,OAAO,CAAC;AAAA,MAC5B,aAAa,SAAS,MAAM,CAAC,eAAe,YAAY,CAAC,CAAC;AAAA,MAC1D,YAAY,SAAS,OAAO,CAAC;AAAA,MAC7B,QAAQ,SAAS,MAAM,CAAC,OAAO,OAAO,SAAS,CAAC,CAAC;AAAA;AAAA,MAEjD,KAAK,SAAS,OAAO,CAAC;AAAA,MACtB,KAAK,SAAS,OAAO,CAAC;AAAA,MACtB,QAAQ,SAAS,OAAO,CAAC;AAAA,MACzB,OAAO,SAAS,OAAO,CAAC;AAAA,MACxB,SAAS,SAAS,OAAO,CAAC;AAAA,MAC1B,UAAU,SAAS,OAAO,CAAC;AAAA,MAC3B,YAAY,SAAS,OAAO,CAAC;AAAA,MAC7B,aAAa,SAAS,OAAO,CAAC;AAAA,MAC9B,eAAe,SAAS,OAAO,CAAC;AAAA,MAChC,WAAW,SAAS,OAAO,CAAC;AAAA,MAC5B,kBAAkB,SAAS,OAAO,CAAC;AAAA;AAAA,MAEnC,OAAO,SAAS,OAAO,CAAC;AAAA,MACxB,QAAQ,SAAS,OAAO,CAAC;AAAA,MACzB,YAAY,SAAS,OAAO,CAAC;AAAA,MAC7B,gBAAgB,SAAS,OAAO,CAAC;AAAA,MACjC,gBAAgB,SAAS,OAAO,CAAC;AAAA;AAAA,MAEjC,OAAO,SAAS,OAAO,CAAC;AAAA,MACxB,aAAa,SAAS,OAAO,CAAC;AAAA,MAC9B,WAAW,SAAS,OAAO,CAAC;AAAA,MAC5B,SAAS,SAAS,OAAO,CAAC;AAAA,MAC1B,OAAO,SAAS,OAAO,CAAC;AAAA,MACxB,QAAQ,SAAS,OAAO,CAAC;AAAA,MACzB,QAAQ,SAAS,OAAO,CAAC;AAAA,MACzB,QAAQ,SAAS,OAAO,CAAC;AAAA;AAAA,MAEzB,YAAY,SAAS,OAAO,CAAC;AAAA,MAC7B,YAAY,SAAS,OAAO,CAAC;AAAA,MAC7B,cAAc,SAAS,OAAO,CAAC;AAAA,MAC/B,UAAU,SAAS,OAAO,CAAC;AAAA,MAC3B,aAAa,SAAS,OAAO,CAAC;AAAA,IAChC,CAAC;AAAA,IACD,YAAY;AAAA,MACV;AAAA,QACE,OAAO,EAAE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC;AAAA,QACnD,MAAM,CAAC,OAAO,EAAE,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;AAAA,MAC7E,EAAE,MAAM,OAAO,CAAC,SAAS,OAAO,KAAK,IAAI,EAAE,UAAU,EAAE,CAAC;AAAA,IAC1D;AAAA,EACF,CAAC;AACH,EAAE,MAAM,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC;AAE7B,IAAM,sBAAsB,OAAO;AAAA,EACxC,WAAW,OAAO,EAAE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,UAAU,EAAE,CAAC;AAAA,EAC7D,YAAY;AAAA,IACV;AAAA,MACE,OAAO,EAAE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC;AAAA,MACnD,MAAM,CAAC,OAAO,EAAE,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC,CAAC;AAAA,IACtE,EAAE,MAAM,OAAO,CAAC,SAAS,OAAO,KAAK,IAAI,EAAE,UAAU,EAAE,CAAC;AAAA,EAC1D;AACF,CAAC;AAEM,IAAM,sBAAsB,OAAO;AAAA,EACxC,SAAS,SAAS,KAAK,CAAC;AAAA,EACxB,YAAY;AAAA,IACV;AAAA,MACE,OAAO,EAAE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC;AAAA,MACnD,MAAM,CAAC,OAAO,EAAE,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC,CAAC;AAAA,IACtE,EAAE,MAAM,OAAO,CAAC,SAAS,OAAO,KAAK,IAAI,EAAE,UAAU,EAAE,CAAC;AAAA,EAC1D;AACF,CAAC;AAEM,IAAM,uBAAuB,OAAO;AAAA,EACzC,MAAM,OAAO,EAAE,MAAM,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC;AAAA,EACjD,OAAO,MAAM,EAAE,MAAM,UAAU,GAAG,CAAC;AAAA,EACnC,SAAS,OAAO,EAAE,MAAM,UAAU,CAAC,GAAG,UAAU,KAAK,CAAC;AACxD,CAAC;AAED,IAAM,gBAAgB;AAAA,EACpB,OAAO,EAAE,MAAM,UAAU,GAAG,CAAC;AAAA,EAC7B,UAAU,CAAC,MAAO,IAAI,IAAI,MAAU;AACtC;AAMO,IAAM,mBAAmB,OAAO;AAAA;AAAA,EAErC,KAAK,IAAI,EAAE,MAAM,UAAU,CAAC,GAAG,UAAU,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM9C,QAAQ,SAAS,aAAa;AAAA;AAAA,EAG9B,YAAY,OAAO,EAAE,MAAM,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC;AAAA;AAAA;AAAA,EAGvD,YAAY,OAAO,EAAE,MAAM,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC;AAAA;AAAA;AAAA,EAGvD,cAAc,OAAO,EAAE,MAAM,UAAU,CAAC,GAAG,UAAU,GAAG,CAAC;AAAA;AAAA;AAAA,EAGzD,UAAU,SAAS,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOhC,aAAa,SAAS,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOnC,qBAAqB,SAAS,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,EAM3C,qBAAqB,SAAS,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,EAM3C,sBAAsB,SAAS,aAAa;AAC9C,CAAC;","names":[]}
1
+ {"version":3,"sources":["../../src/schema/index.ts"],"sourcesContent":["import {\n optional,\n object,\n string,\n regex,\n number,\n boolean,\n null as _null,\n coerce,\n enum as _enum,\n trim,\n union,\n record,\n array,\n iso,\n minLength,\n maxLength,\n refine,\n pipe,\n transform,\n email,\n type z,\n uuid,\n url,\n} from 'zod/mini';\n\nconst items = array(\n record(\n string().check(trim(), minLength(1), maxLength(128)),\n union([string().check(maxLength(512)), number(), boolean(), _null()])\n )\n);\n\n/** @deprecated */\nexport const createTrackEventSchemaV1 = array(\n object({\n name: string().check(trim(), minLength(1), maxLength(64)),\n visitor_id: coerce.bigint(),\n timestamp: iso.datetime(),\n tags: object({\n os: optional(string()),\n os_name: optional(string()),\n os_version: optional(string()),\n browser: optional(string()),\n browser_name: optional(string()),\n browser_version: optional(string()),\n platform: optional(_enum(['ios', 'android', 'web', 'macos', 'windows', 'linux', 'unknown'])),\n device: optional(string()),\n device_id: optional(string().check(trim(), minLength(1), maxLength(36))),\n device_type: optional(string()),\n device_vendor: optional(string()),\n device_pixel_ratio: optional(string()),\n screen_resolution: optional(\n pipe(\n string().check(regex(/^\\d+x\\d+$/)),\n transform((v) => v as `${number}x${number}`)\n )\n ),\n release: optional(string()),\n language: optional(string()),\n time_zone: optional(string()),\n environment: optional(_enum(['development', 'production'])),\n source_url: optional(string()),\n source: optional(_enum(['web', 'app', 'offline'])),\n // meta ads\n fbc: optional(string()),\n fbp: optional(string()),\n fbclid: optional(string()),\n ad_id: optional(string()),\n ad_name: optional(string()),\n adset_id: optional(string()),\n adset_name: optional(string()),\n campaign_id: optional(string()),\n campaign_name: optional(string()),\n placement: optional(string()),\n site_source_name: optional(string()),\n // google ads\n gclid: optional(string()),\n gclsrc: optional(string()),\n gad_source: optional(string()),\n gad_campaignid: optional(string()),\n advertising_id: optional(string()),\n // click ids\n dclid: optional(string()),\n ko_click_id: optional(string()),\n li_fat_id: optional(string()),\n msclkid: optional(string()),\n sccid: optional(string()),\n ttclid: optional(string()),\n twclid: optional(string()),\n wbraid: optional(string()),\n yclid: optional(string()),\n // utm params\n utm_source: optional(string()),\n utm_medium: optional(string()),\n utm_campaign: optional(string()),\n utm_term: optional(string()),\n utm_content: optional(string()),\n }),\n properties: optional(\n record(\n string().check(trim(), minLength(1), maxLength(128)),\n union([string().check(maxLength(512)), number(), boolean(), _null(), items])\n ).check(refine((data) => Object.keys(data).length <= 64))\n ),\n })\n).check(minLength(1), maxLength(100));\n\nexport const createTrackEventSchema = array(\n object({\n name: string().check(trim(), minLength(1), maxLength(64)),\n visitor_id: uuid(),\n timestamp: iso.datetime(),\n tags: object({\n os: optional(string()),\n os_name: optional(string()),\n os_version: optional(string()),\n browser: optional(string()),\n browser_name: optional(string()),\n browser_version: optional(string()),\n platform: optional(_enum(['ios', 'android', 'web', 'macos', 'windows', 'linux', 'unknown'])),\n device: optional(string()),\n device_id: optional(string().check(trim(), minLength(1), maxLength(36))),\n device_type: optional(string()),\n device_vendor: optional(string()),\n device_pixel_ratio: optional(string()),\n screen_resolution: optional(\n pipe(\n string().check(regex(/^\\d+x\\d+$/)),\n transform((v) => v as `${number}x${number}`)\n )\n ),\n release: optional(string()),\n language: optional(string()),\n time_zone: optional(string()),\n environment: optional(_enum(['development', 'production'])),\n source_url: optional(string()),\n source: optional(_enum(['web', 'app', 'offline'])),\n // meta ads\n fbc: optional(string()),\n fbp: optional(string()),\n fbclid: optional(string()),\n ad_id: optional(string()),\n ad_name: optional(string()),\n adset_id: optional(string()),\n adset_name: optional(string()),\n campaign_id: optional(string()),\n campaign_name: optional(string()),\n placement: optional(string()),\n site_source_name: optional(string()),\n // google ads\n gclid: optional(string()),\n gclsrc: optional(string()),\n gad_source: optional(string()),\n gad_campaignid: optional(string()),\n advertising_id: optional(string()),\n // click ids\n dclid: optional(string()),\n ko_click_id: optional(string()),\n li_fat_id: optional(string()),\n msclkid: optional(string()),\n sccid: optional(string()),\n ttclid: optional(string()),\n twclid: optional(string()),\n wbraid: optional(string()),\n yclid: optional(string()),\n // utm params\n utm_source: optional(string()),\n utm_medium: optional(string()),\n utm_campaign: optional(string()),\n utm_term: optional(string()),\n utm_content: optional(string()),\n }),\n properties: optional(\n record(\n string().check(trim(), minLength(1), maxLength(128)),\n union([string().check(maxLength(512)), number(), boolean(), _null(), items])\n ).check(refine((data) => Object.keys(data).length <= 64))\n ),\n })\n).check(minLength(1), maxLength(100));\n\nexport const createVisitorSchema = object({\n device_id: string().check(trim(), minLength(1), maxLength(36)),\n properties: optional(\n record(\n string().check(trim(), minLength(1), maxLength(128)),\n union([string().check(maxLength(512)), number(), boolean(), _null()])\n ).check(refine((data) => Object.keys(data).length <= 64))\n ),\n});\n\nexport const updateVisitorSchema = object({\n user_id: optional(uuid()),\n properties: optional(\n record(\n string().check(trim(), minLength(1), maxLength(128)),\n union([string().check(maxLength(512)), number(), boolean(), _null()])\n ).check(refine((data) => Object.keys(data).length <= 64))\n ),\n});\n\nexport const createFeedbackSchema = object({\n name: string().check(minLength(1), maxLength(256)),\n email: email().check(maxLength(320)),\n message: string().check(minLength(1), maxLength(65536)),\n});\n\nconst noEmptyString = pipe(\n string().check(maxLength(256)),\n transform((v) => (v ? v : undefined))\n);\n\n/**\n * The schema for creating a link.\n * @see https://support.google.com/analytics/answer/10917952\n * */\nexport const createLinkSchema = object({\n /** The URL that the user is redirected to. */\n url: url().check(minLength(1), maxLength(1024)), // required\n\n /**\n * Campaign ID. Used to identify a specific campaign or promotion. This is a required key for GA4\n * data import. Use the same IDs that you use when uploading campaign cost data.\n */\n utm_id: optional(noEmptyString),\n\n /** Referrer, for example: google, newsletter4, billboard */\n utm_source: string().check(minLength(1), maxLength(256)), // required\n\n /** Marketing medium, for example: cpc, banner, email */\n utm_medium: string().check(minLength(1), maxLength(256)), // required\n\n /** Product, slogan, promo code, for example: spring_sale */\n utm_campaign: string().check(minLength(1), maxLength(256)), // required\n\n /** Paid keyword */\n utm_term: optional(noEmptyString),\n\n /**\n * Use to differentiate creatives. For example, if you have two call-to-action links within the\n * same email message, you can use utm_content and set different values for each so you can tell\n * which version is more effective.\n */\n utm_content: optional(noEmptyString),\n\n /**\n * The platform responsible for directing traffic to a given Analytics property (such as a buying\n * platform that sets budgets and targeting criteria or a platform that manages organic traffic\n * data). For example: Search Ads 360 or Display & Video 360.\n */\n utm_source_platform: optional(noEmptyString),\n\n /**\n * Type of creative, for example: display, native, video, search, utm_creative_format is not\n * currently reported in Google Analytics 4 properties.\n */\n utm_creative_format: optional(noEmptyString),\n\n /**\n * Targeting criteria applied to a campaign, for example: remarketing, prospecting,\n * utm_marketing_tactic is not currently reported in Google Analytics 4 properties.\n * */\n utm_marketing_tactic: optional(noEmptyString),\n});\n\nexport type CreateFeedbackDTO = z.output<typeof createFeedbackSchema>;\nexport type CreateLinkDTO = z.output<typeof createLinkSchema>;\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/track/types.ts"],"sourcesContent":["import type { StandardEvents, UserProvidedData as GAUserProvidedData } from './gtag';\n\nexport type AllowedPropertyValues = string | number | boolean | null;\nexport type EventName = Lowercase<string> | 'CLS' | 'FCP' | 'INP' | 'LCP' | 'TTFB';\n\nexport type TrackName<T extends EventName = EventName> = T extends keyof StandardEvents\n ? T\n : EventName;\nexport type TrackProperties<T extends EventName = EventName> = T extends keyof StandardEvents\n ? StandardEvents[T]\n : Record<Lowercase<string>, AllowedPropertyValues>;\n\nexport interface UserData {\n userId: string;\n email?: string;\n firstName?: string;\n lastName?: string;\n phone?: string;\n dateOfBirth?: string;\n gender?: string;\n city?: string;\n state?: string;\n postal?: string;\n country?: string;\n}\n\nexport interface UserProvidedData extends GAUserProvidedData {\n user_id?: string;\n ip_address?: string;\n user_agent?: string;\n gender?: 'female' | 'male';\n birthday?: { year: number; month: number; day: number };\n // meta specific\n fb_login_id?: string;\n fb_page_id?: string;\n}\n\nexport type ThirdPartyTracker = <T extends EventName>(\n name: TrackName<T>,\n properties?: TrackProperties<T>,\n event_id?: string\n) => void;\n\nexport interface PlatformInfo {\n os?: string;\n os_name?: string;\n os_version?: string;\n browser?: string;\n browser_name?: string;\n browser_version?: string;\n platform?: 'ios' | 'android' | 'web' | 'macos' | 'windows' | 'linux' | 'unknown';\n}\n\nexport interface DeviceInfo {\n device?: string;\n device_id?: string;\n device_type?: string;\n device_vendor?: string;\n device_model_id?: string;\n device_pixel_ratio?: string;\n screen_width?: number;\n screen_height?: number;\n screen_resolution?: `${number}x${number}`;\n}\n\nexport interface AppInfo {\n install_referrer?: string;\n}\n\nexport interface EnvironmentInfo {\n release?: string;\n language?: string;\n time_zone?: string | null;\n environment?: 'development' | 'production';\n}\n\nexport interface SourceInfo {\n source_url?: string;\n source?: 'app' | 'web' | 'offline';\n}\n\nexport interface AdvertisingInfo {\n /**\n * Meta pixel fields\n * ref: https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters#fbc\n * Stored in the _fbc/_fbp browser cookie under your domain\n * ref: https://www.facebook.com/business/help/2360940870872492?checkpoint_src=any\n */\n fbc?: string;\n fbp?: string;\n fbclid?: string;\n ad_id?: string;\n ad_name?: string;\n adset_id?: string;\n adset_name?: string;\n campaign_id?: string;\n campaign_name?: string;\n placement?: string;\n site_source_name?: string;\n /**\n * Google Analytics fields\n */\n gclid?: string;\n gclsrc?: string;\n gad_source?: string;\n gad_campaignid?: string;\n /** iOS: IDFA, Android: Android Advertising ID */\n advertising_id?: string;\n // click ids\n dclid?: string;\n ko_click_id?: string;\n li_fat_id?: string;\n msclkid?: string;\n sccid?: string;\n ttclid?: string;\n twclid?: string;\n wbraid?: string;\n}\n\nexport interface UTMParams {\n utm_source?: string;\n utm_medium?: string;\n utm_campaign?: string;\n utm_term?: string;\n utm_content?: string;\n}\n\nexport interface TrackTags\n extends PlatformInfo,\n DeviceInfo,\n AppInfo,\n EnvironmentInfo,\n SourceInfo,\n AdvertisingInfo,\n UTMParams {\n idempotency_key?: string;\n [key: string]: string | number | boolean | null | undefined;\n}\n\nexport type CreateTrackEventDTO<T extends EventName = EventName> = {\n name: TrackName<T>;\n tags: TrackTags;\n visitor_id: string;\n properties?: TrackProperties<T>;\n timestamp: string;\n}[];\n\nexport interface TrackEvent<T extends EventName = EventName> {\n id: string;\n name: TrackName<T>;\n tags: TrackTags;\n visitor_id: string;\n properties?: TrackProperties<T>;\n created_at: string;\n}\n\nexport type TrackEventResponse = {\n /**\n * track event id\n * some tracking system will use event_id and event_name for deduplication\n * */\n id: string;\n}[];\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":["../../src/track/types.ts"],"sourcesContent":["import type { StandardEvents, UserProvidedData as GAUserProvidedData } from './gtag';\n\nexport type AllowedPropertyValues = string | number | boolean | null;\nexport type EventName = Lowercase<string> | 'CLS' | 'FCP' | 'INP' | 'LCP' | 'TTFB';\n\nexport type TrackName<T extends EventName = EventName> = T extends keyof StandardEvents\n ? T\n : EventName;\nexport type TrackProperties<T extends EventName = EventName> = T extends keyof StandardEvents\n ? StandardEvents[T]\n : Record<Lowercase<string>, AllowedPropertyValues>;\n\nexport interface UserData {\n userId: string;\n email?: string;\n firstName?: string;\n lastName?: string;\n phone?: string;\n dateOfBirth?: string;\n gender?: string;\n city?: string;\n state?: string;\n postal?: string;\n country?: string;\n}\n\nexport interface UserProvidedData extends GAUserProvidedData {\n user_id?: string;\n ip_address?: string;\n user_agent?: string;\n gender?: 'female' | 'male';\n birthday?: { year: number; month: number; day: number };\n // meta specific\n fb_login_id?: string;\n fb_page_id?: string;\n}\n\nexport type ThirdPartyTracker = <T extends EventName>(\n name: TrackName<T>,\n properties?: TrackProperties<T>,\n event_id?: string\n) => void;\n\nexport interface PlatformInfo {\n os?: string;\n os_name?: string;\n os_version?: string;\n browser?: string;\n browser_name?: string;\n browser_version?: string;\n platform?: 'ios' | 'android' | 'web' | 'macos' | 'windows' | 'linux' | 'unknown';\n}\n\nexport interface DeviceInfo {\n device?: string;\n device_id?: string;\n device_type?: string;\n device_vendor?: string;\n device_model_id?: string;\n device_pixel_ratio?: string;\n screen_width?: number;\n screen_height?: number;\n screen_resolution?: `${number}x${number}`;\n}\n\nexport interface AppInfo {\n install_referrer?: string;\n}\n\nexport interface EnvironmentInfo {\n release?: string;\n language?: string;\n time_zone?: string | null;\n environment?: 'development' | 'production';\n}\n\nexport interface SourceInfo {\n source_url?: string;\n source?: 'app' | 'web' | 'offline';\n}\n\nexport interface AdvertisingInfo {\n /**\n * Meta pixel fields\n * ref: https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/customer-information-parameters#fbc\n * Stored in the _fbc/_fbp browser cookie under your domain\n * ref: https://www.facebook.com/business/help/2360940870872492?checkpoint_src=any\n */\n fbc?: string;\n fbp?: string;\n fbclid?: string;\n ad_id?: string;\n ad_name?: string;\n adset_id?: string;\n adset_name?: string;\n campaign_id?: string;\n campaign_name?: string;\n placement?: string;\n site_source_name?: string;\n /**\n * Google Analytics fields\n */\n gclid?: string;\n gclsrc?: string;\n gad_source?: string;\n gad_campaignid?: string;\n /** iOS: IDFA, Android: Android Advertising ID */\n advertising_id?: string;\n // click ids\n dclid?: string; // Google Display Network\n ko_click_id?: string; // Kakao Ads\n li_fat_id?: string; // LinkedIn Ads\n msclkid?: string; // Microsoft Ads (Bing Ads)\n sccid?: string; // Snapchat Ads\n ttclid?: string; // TikTok Ads\n twclid?: string; // Twitter Ads (X Ads)\n wbraid?: string; // Google Ads (for iOS privacy)\n yclid?: string; // Yandex Ads\n}\n\nexport interface UTMParams {\n utm_source?: string;\n utm_medium?: string;\n utm_campaign?: string;\n utm_term?: string;\n utm_content?: string;\n}\n\nexport interface TrackTags\n extends PlatformInfo,\n DeviceInfo,\n AppInfo,\n EnvironmentInfo,\n SourceInfo,\n AdvertisingInfo,\n UTMParams {\n idempotency_key?: string;\n [key: string]: string | number | boolean | null | undefined;\n}\n\nexport type CreateTrackEventDTO<T extends EventName = EventName> = {\n name: TrackName<T>;\n tags: TrackTags;\n visitor_id: string;\n properties?: TrackProperties<T>;\n timestamp: string;\n}[];\n\nexport interface TrackEvent<T extends EventName = EventName> {\n id: string;\n name: TrackName<T>;\n tags: TrackTags;\n visitor_id: string;\n properties?: TrackProperties<T>;\n created_at: string;\n}\n\nexport type TrackEventResponse = {\n /**\n * track event id\n * some tracking system will use event_id and event_name for deduplication\n * */\n id: string;\n}[];\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -99,6 +99,7 @@ interface AdvertisingInfo {
99
99
  ttclid?: string;
100
100
  twclid?: string;
101
101
  wbraid?: string;
102
+ yclid?: string;
102
103
  }
103
104
  interface UTMParams {
104
105
  utm_source?: string;
@@ -99,6 +99,7 @@ interface AdvertisingInfo {
99
99
  ttclid?: string;
100
100
  twclid?: string;
101
101
  wbraid?: string;
102
+ yclid?: string;
102
103
  }
103
104
  interface UTMParams {
104
105
  utm_source?: string;
@@ -103,6 +103,7 @@ async function getTags(release) {
103
103
  ttclid: params.get("ttclid") ?? void 0,
104
104
  twclid: params.get("twclid") ?? void 0,
105
105
  wbraid: params.get("wbraid") ?? void 0,
106
+ yclid: params.get("yclid") ?? void 0,
106
107
  // utm params
107
108
  utm_source: (link == null ? void 0 : link.utm_source) ?? params.get("utm_source") ?? void 0,
108
109
  utm_medium: (link == null ? void 0 : link.utm_medium) ?? params.get("utm_medium") ?? void 0,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/web/index.ts"],"sourcesContent":["import Bowser from 'bowser';\nimport * as cookie from 'cookie';\nimport { v4 as uuidv4 } from 'uuid';\nimport { getLink, type Link } from '../link/index';\nimport type { Storage } from '../setup/index';\nimport type { TrackTags } from '../track/types';\n\nexport function getDeviceId() {\n const cached = localStorage.getItem('device_id');\n if (cached) return cached;\n const id = crypto?.randomUUID ? crypto.randomUUID() : uuidv4();\n localStorage.setItem('device_id', id);\n return id;\n}\n\nexport async function getTags(release: string) {\n const parser = Bowser.getParser(window.navigator.userAgent);\n const params = new URLSearchParams(window.location.search);\n const os = parser.getOS();\n const browser = parser.getBrowser();\n const platform = parser.getPlatform();\n const parsed = cookie.parse(document.cookie);\n\n let link: Link | null = null;\n if (params.has('s')) link = await getLink(params.get('s')!);\n\n const tags: TrackTags = {\n os: `${os.name} ${os.version}`,\n os_name: os.name,\n os_version: os.version,\n browser: `${browser.name} ${browser.version}`,\n browser_name: browser.name,\n browser_version: browser.version,\n platform: 'web',\n device: platform.model,\n device_id: getDeviceId(),\n device_type: platform.type,\n device_vendor: platform.vendor,\n device_pixel_ratio: `${window.devicePixelRatio}`,\n screen_width: window.screen.width,\n screen_height: window.screen.height,\n screen_resolution: `${window.screen.width}x${window.screen.height}`,\n release,\n language: navigator.language,\n time_zone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n environment: process.env.NODE_ENV === 'development' ? 'development' : 'production',\n source: 'web',\n source_url: window.location.origin + window.location.pathname,\n // meta ads\n fbc: parsed._fbc,\n fbp: parsed._fbp,\n fbclid: params.get('fbclid') ?? undefined,\n ad_id: params.get('ad_id') ?? undefined,\n ad_name: params.get('ad_name') ?? undefined,\n adset_id: params.get('adset_id') ?? undefined,\n adset_name: params.get('adset_name') ?? undefined,\n campaign_id: params.get('campaign_id') ?? undefined,\n campaign_name: params.get('campaign_name') ?? undefined,\n placement: params.get('placement') ?? undefined,\n site_source_name: params.get('site_source_name') ?? undefined,\n // google ads\n gclid: params.get('gclid') ?? undefined,\n gclsrc: params.get('gclsrc') ?? undefined,\n gad_source: params.get('gad_source') ?? undefined,\n gad_campaignid: params.get('gad_campaignid') ?? undefined,\n // click ids\n dclid: params.get('dclid') ?? undefined,\n ko_click_id: params.get('ko_click_id') ?? undefined,\n li_fat_id: params.get('li_fat_id') ?? undefined,\n msclkid: params.get('msclkid') ?? undefined,\n sccid: params.get('sccid') ?? undefined,\n ttclid: params.get('ttclid') ?? undefined,\n twclid: params.get('twclid') ?? undefined,\n wbraid: params.get('wbraid') ?? undefined,\n // utm params\n utm_source: link?.utm_source ?? params.get('utm_source') ?? undefined,\n utm_medium: link?.utm_medium ?? params.get('utm_medium') ?? undefined,\n utm_campaign: link?.utm_campaign ?? params.get('utm_campaign') ?? undefined,\n utm_term: link?.utm_term ?? params.get('utm_term') ?? undefined,\n utm_content: link?.utm_content ?? params.get('utm_content') ?? undefined,\n utm_id: link?.utm_id ?? params.get('utm_id') ?? undefined,\n utm_source_platform:\n link?.utm_source_platform ?? params.get('utm_source_platform') ?? undefined,\n utm_creative_format:\n link?.utm_creative_format ?? params.get('utm_creative_format') ?? undefined,\n utm_marketing_tactic:\n link?.utm_marketing_tactic ?? params.get('utm_marketing_tactic') ?? undefined,\n };\n return tags;\n}\n\nexport const storage: Storage = {\n getItem: (key) => localStorage.getItem(key),\n setItem: (key, value) => localStorage.setItem(key, value),\n};\n"],"mappings":"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","names":["uuidv4","Bowser"]}
1
+ {"version":3,"sources":["../../src/web/index.ts"],"sourcesContent":["import Bowser from 'bowser';\nimport * as cookie from 'cookie';\nimport { v4 as uuidv4 } from 'uuid';\nimport { getLink, type Link } from '../link/index';\nimport type { Storage } from '../setup/index';\nimport type { TrackTags } from '../track/types';\n\nexport function getDeviceId() {\n const cached = localStorage.getItem('device_id');\n if (cached) return cached;\n const id = crypto?.randomUUID ? crypto.randomUUID() : uuidv4();\n localStorage.setItem('device_id', id);\n return id;\n}\n\nexport async function getTags(release: string) {\n const parser = Bowser.getParser(window.navigator.userAgent);\n const params = new URLSearchParams(window.location.search);\n const os = parser.getOS();\n const browser = parser.getBrowser();\n const platform = parser.getPlatform();\n const parsed = cookie.parse(document.cookie);\n\n let link: Link | null = null;\n if (params.has('s')) link = await getLink(params.get('s')!);\n\n const tags: TrackTags = {\n os: `${os.name} ${os.version}`,\n os_name: os.name,\n os_version: os.version,\n browser: `${browser.name} ${browser.version}`,\n browser_name: browser.name,\n browser_version: browser.version,\n platform: 'web',\n device: platform.model,\n device_id: getDeviceId(),\n device_type: platform.type,\n device_vendor: platform.vendor,\n device_pixel_ratio: `${window.devicePixelRatio}`,\n screen_width: window.screen.width,\n screen_height: window.screen.height,\n screen_resolution: `${window.screen.width}x${window.screen.height}`,\n release,\n language: navigator.language,\n time_zone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n environment: process.env.NODE_ENV === 'development' ? 'development' : 'production',\n source: 'web',\n source_url: window.location.origin + window.location.pathname,\n // meta ads\n fbc: parsed._fbc,\n fbp: parsed._fbp,\n fbclid: params.get('fbclid') ?? undefined,\n ad_id: params.get('ad_id') ?? undefined,\n ad_name: params.get('ad_name') ?? undefined,\n adset_id: params.get('adset_id') ?? undefined,\n adset_name: params.get('adset_name') ?? undefined,\n campaign_id: params.get('campaign_id') ?? undefined,\n campaign_name: params.get('campaign_name') ?? undefined,\n placement: params.get('placement') ?? undefined,\n site_source_name: params.get('site_source_name') ?? undefined,\n // google ads\n gclid: params.get('gclid') ?? undefined,\n gclsrc: params.get('gclsrc') ?? undefined,\n gad_source: params.get('gad_source') ?? undefined,\n gad_campaignid: params.get('gad_campaignid') ?? undefined,\n // click ids\n dclid: params.get('dclid') ?? undefined,\n ko_click_id: params.get('ko_click_id') ?? undefined,\n li_fat_id: params.get('li_fat_id') ?? undefined,\n msclkid: params.get('msclkid') ?? undefined,\n sccid: params.get('sccid') ?? undefined,\n ttclid: params.get('ttclid') ?? undefined,\n twclid: params.get('twclid') ?? undefined,\n wbraid: params.get('wbraid') ?? undefined,\n yclid: params.get('yclid') ?? undefined,\n // utm params\n utm_source: link?.utm_source ?? params.get('utm_source') ?? undefined,\n utm_medium: link?.utm_medium ?? params.get('utm_medium') ?? undefined,\n utm_campaign: link?.utm_campaign ?? params.get('utm_campaign') ?? undefined,\n utm_term: link?.utm_term ?? params.get('utm_term') ?? undefined,\n utm_content: link?.utm_content ?? params.get('utm_content') ?? undefined,\n utm_id: link?.utm_id ?? params.get('utm_id') ?? undefined,\n utm_source_platform:\n link?.utm_source_platform ?? params.get('utm_source_platform') ?? undefined,\n utm_creative_format:\n link?.utm_creative_format ?? params.get('utm_creative_format') ?? undefined,\n utm_marketing_tactic:\n link?.utm_marketing_tactic ?? params.get('utm_marketing_tactic') ?? undefined,\n };\n return tags;\n}\n\nexport const storage: Storage = {\n getItem: (key) => localStorage.getItem(key),\n setItem: (key, value) => localStorage.setItem(key, value),\n};\n"],"mappings":"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","names":["uuidv4","Bowser"]}
@@ -67,6 +67,7 @@ async function getTags(release) {
67
67
  ttclid: params.get("ttclid") ?? void 0,
68
68
  twclid: params.get("twclid") ?? void 0,
69
69
  wbraid: params.get("wbraid") ?? void 0,
70
+ yclid: params.get("yclid") ?? void 0,
70
71
  // utm params
71
72
  utm_source: (link == null ? void 0 : link.utm_source) ?? params.get("utm_source") ?? void 0,
72
73
  utm_medium: (link == null ? void 0 : link.utm_medium) ?? params.get("utm_medium") ?? void 0,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/web/index.ts"],"sourcesContent":["import Bowser from 'bowser';\nimport * as cookie from 'cookie';\nimport { v4 as uuidv4 } from 'uuid';\nimport { getLink, type Link } from '../link/index';\nimport type { Storage } from '../setup/index';\nimport type { TrackTags } from '../track/types';\n\nexport function getDeviceId() {\n const cached = localStorage.getItem('device_id');\n if (cached) return cached;\n const id = crypto?.randomUUID ? crypto.randomUUID() : uuidv4();\n localStorage.setItem('device_id', id);\n return id;\n}\n\nexport async function getTags(release: string) {\n const parser = Bowser.getParser(window.navigator.userAgent);\n const params = new URLSearchParams(window.location.search);\n const os = parser.getOS();\n const browser = parser.getBrowser();\n const platform = parser.getPlatform();\n const parsed = cookie.parse(document.cookie);\n\n let link: Link | null = null;\n if (params.has('s')) link = await getLink(params.get('s')!);\n\n const tags: TrackTags = {\n os: `${os.name} ${os.version}`,\n os_name: os.name,\n os_version: os.version,\n browser: `${browser.name} ${browser.version}`,\n browser_name: browser.name,\n browser_version: browser.version,\n platform: 'web',\n device: platform.model,\n device_id: getDeviceId(),\n device_type: platform.type,\n device_vendor: platform.vendor,\n device_pixel_ratio: `${window.devicePixelRatio}`,\n screen_width: window.screen.width,\n screen_height: window.screen.height,\n screen_resolution: `${window.screen.width}x${window.screen.height}`,\n release,\n language: navigator.language,\n time_zone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n environment: process.env.NODE_ENV === 'development' ? 'development' : 'production',\n source: 'web',\n source_url: window.location.origin + window.location.pathname,\n // meta ads\n fbc: parsed._fbc,\n fbp: parsed._fbp,\n fbclid: params.get('fbclid') ?? undefined,\n ad_id: params.get('ad_id') ?? undefined,\n ad_name: params.get('ad_name') ?? undefined,\n adset_id: params.get('adset_id') ?? undefined,\n adset_name: params.get('adset_name') ?? undefined,\n campaign_id: params.get('campaign_id') ?? undefined,\n campaign_name: params.get('campaign_name') ?? undefined,\n placement: params.get('placement') ?? undefined,\n site_source_name: params.get('site_source_name') ?? undefined,\n // google ads\n gclid: params.get('gclid') ?? undefined,\n gclsrc: params.get('gclsrc') ?? undefined,\n gad_source: params.get('gad_source') ?? undefined,\n gad_campaignid: params.get('gad_campaignid') ?? undefined,\n // click ids\n dclid: params.get('dclid') ?? undefined,\n ko_click_id: params.get('ko_click_id') ?? undefined,\n li_fat_id: params.get('li_fat_id') ?? undefined,\n msclkid: params.get('msclkid') ?? undefined,\n sccid: params.get('sccid') ?? undefined,\n ttclid: params.get('ttclid') ?? undefined,\n twclid: params.get('twclid') ?? undefined,\n wbraid: params.get('wbraid') ?? undefined,\n // utm params\n utm_source: link?.utm_source ?? params.get('utm_source') ?? undefined,\n utm_medium: link?.utm_medium ?? params.get('utm_medium') ?? undefined,\n utm_campaign: link?.utm_campaign ?? params.get('utm_campaign') ?? undefined,\n utm_term: link?.utm_term ?? params.get('utm_term') ?? undefined,\n utm_content: link?.utm_content ?? params.get('utm_content') ?? undefined,\n utm_id: link?.utm_id ?? params.get('utm_id') ?? undefined,\n utm_source_platform:\n link?.utm_source_platform ?? params.get('utm_source_platform') ?? undefined,\n utm_creative_format:\n link?.utm_creative_format ?? params.get('utm_creative_format') ?? undefined,\n utm_marketing_tactic:\n link?.utm_marketing_tactic ?? params.get('utm_marketing_tactic') ?? undefined,\n };\n return tags;\n}\n\nexport const storage: Storage = {\n getItem: (key) => localStorage.getItem(key),\n setItem: (key, value) => localStorage.setItem(key, value),\n};\n"],"mappings":";AAAA,OAAO,YAAY;AACnB,YAAY,YAAY;AACxB,SAAS,MAAM,cAAc;AAC7B,SAAS,eAA0B;AAI5B,SAAS,cAAc;AAC5B,QAAM,SAAS,aAAa,QAAQ,WAAW;AAC/C,MAAI,OAAQ,QAAO;AACnB,QAAM,MAAK,iCAAQ,cAAa,OAAO,WAAW,IAAI,OAAO;AAC7D,eAAa,QAAQ,aAAa,EAAE;AACpC,SAAO;AACT;AAEA,eAAsB,QAAQ,SAAiB;AAC7C,QAAM,SAAS,OAAO,UAAU,OAAO,UAAU,SAAS;AAC1D,QAAM,SAAS,IAAI,gBAAgB,OAAO,SAAS,MAAM;AACzD,QAAM,KAAK,OAAO,MAAM;AACxB,QAAM,UAAU,OAAO,WAAW;AAClC,QAAM,WAAW,OAAO,YAAY;AACpC,QAAM,SAAgB,aAAM,SAAS,MAAM;AAE3C,MAAI,OAAoB;AACxB,MAAI,OAAO,IAAI,GAAG,EAAG,QAAO,MAAM,QAAQ,OAAO,IAAI,GAAG,CAAE;AAE1D,QAAM,OAAkB;AAAA,IACtB,IAAI,GAAG,GAAG,IAAI,IAAI,GAAG,OAAO;AAAA,IAC5B,SAAS,GAAG;AAAA,IACZ,YAAY,GAAG;AAAA,IACf,SAAS,GAAG,QAAQ,IAAI,IAAI,QAAQ,OAAO;AAAA,IAC3C,cAAc,QAAQ;AAAA,IACtB,iBAAiB,QAAQ;AAAA,IACzB,UAAU;AAAA,IACV,QAAQ,SAAS;AAAA,IACjB,WAAW,YAAY;AAAA,IACvB,aAAa,SAAS;AAAA,IACtB,eAAe,SAAS;AAAA,IACxB,oBAAoB,GAAG,OAAO,gBAAgB;AAAA,IAC9C,cAAc,OAAO,OAAO;AAAA,IAC5B,eAAe,OAAO,OAAO;AAAA,IAC7B,mBAAmB,GAAG,OAAO,OAAO,KAAK,IAAI,OAAO,OAAO,MAAM;AAAA,IACjE;AAAA,IACA,UAAU,UAAU;AAAA,IACpB,WAAW,KAAK,eAAe,EAAE,gBAAgB,EAAE;AAAA,IACnD,aAAa,QAAQ,IAAI,aAAa,gBAAgB,gBAAgB;AAAA,IACtE,QAAQ;AAAA,IACR,YAAY,OAAO,SAAS,SAAS,OAAO,SAAS;AAAA;AAAA,IAErD,KAAK,OAAO;AAAA,IACZ,KAAK,OAAO;AAAA,IACZ,QAAQ,OAAO,IAAI,QAAQ,KAAK;AAAA,IAChC,OAAO,OAAO,IAAI,OAAO,KAAK;AAAA,IAC9B,SAAS,OAAO,IAAI,SAAS,KAAK;AAAA,IAClC,UAAU,OAAO,IAAI,UAAU,KAAK;AAAA,IACpC,YAAY,OAAO,IAAI,YAAY,KAAK;AAAA,IACxC,aAAa,OAAO,IAAI,aAAa,KAAK;AAAA,IAC1C,eAAe,OAAO,IAAI,eAAe,KAAK;AAAA,IAC9C,WAAW,OAAO,IAAI,WAAW,KAAK;AAAA,IACtC,kBAAkB,OAAO,IAAI,kBAAkB,KAAK;AAAA;AAAA,IAEpD,OAAO,OAAO,IAAI,OAAO,KAAK;AAAA,IAC9B,QAAQ,OAAO,IAAI,QAAQ,KAAK;AAAA,IAChC,YAAY,OAAO,IAAI,YAAY,KAAK;AAAA,IACxC,gBAAgB,OAAO,IAAI,gBAAgB,KAAK;AAAA;AAAA,IAEhD,OAAO,OAAO,IAAI,OAAO,KAAK;AAAA,IAC9B,aAAa,OAAO,IAAI,aAAa,KAAK;AAAA,IAC1C,WAAW,OAAO,IAAI,WAAW,KAAK;AAAA,IACtC,SAAS,OAAO,IAAI,SAAS,KAAK;AAAA,IAClC,OAAO,OAAO,IAAI,OAAO,KAAK;AAAA,IAC9B,QAAQ,OAAO,IAAI,QAAQ,KAAK;AAAA,IAChC,QAAQ,OAAO,IAAI,QAAQ,KAAK;AAAA,IAChC,QAAQ,OAAO,IAAI,QAAQ,KAAK;AAAA;AAAA,IAEhC,aAAY,6BAAM,eAAc,OAAO,IAAI,YAAY,KAAK;AAAA,IAC5D,aAAY,6BAAM,eAAc,OAAO,IAAI,YAAY,KAAK;AAAA,IAC5D,eAAc,6BAAM,iBAAgB,OAAO,IAAI,cAAc,KAAK;AAAA,IAClE,WAAU,6BAAM,aAAY,OAAO,IAAI,UAAU,KAAK;AAAA,IACtD,cAAa,6BAAM,gBAAe,OAAO,IAAI,aAAa,KAAK;AAAA,IAC/D,SAAQ,6BAAM,WAAU,OAAO,IAAI,QAAQ,KAAK;AAAA,IAChD,sBACE,6BAAM,wBAAuB,OAAO,IAAI,qBAAqB,KAAK;AAAA,IACpE,sBACE,6BAAM,wBAAuB,OAAO,IAAI,qBAAqB,KAAK;AAAA,IACpE,uBACE,6BAAM,yBAAwB,OAAO,IAAI,sBAAsB,KAAK;AAAA,EACxE;AACA,SAAO;AACT;AAEO,IAAM,UAAmB;AAAA,EAC9B,SAAS,CAAC,QAAQ,aAAa,QAAQ,GAAG;AAAA,EAC1C,SAAS,CAAC,KAAK,UAAU,aAAa,QAAQ,KAAK,KAAK;AAC1D;","names":[]}
1
+ {"version":3,"sources":["../../src/web/index.ts"],"sourcesContent":["import Bowser from 'bowser';\nimport * as cookie from 'cookie';\nimport { v4 as uuidv4 } from 'uuid';\nimport { getLink, type Link } from '../link/index';\nimport type { Storage } from '../setup/index';\nimport type { TrackTags } from '../track/types';\n\nexport function getDeviceId() {\n const cached = localStorage.getItem('device_id');\n if (cached) return cached;\n const id = crypto?.randomUUID ? crypto.randomUUID() : uuidv4();\n localStorage.setItem('device_id', id);\n return id;\n}\n\nexport async function getTags(release: string) {\n const parser = Bowser.getParser(window.navigator.userAgent);\n const params = new URLSearchParams(window.location.search);\n const os = parser.getOS();\n const browser = parser.getBrowser();\n const platform = parser.getPlatform();\n const parsed = cookie.parse(document.cookie);\n\n let link: Link | null = null;\n if (params.has('s')) link = await getLink(params.get('s')!);\n\n const tags: TrackTags = {\n os: `${os.name} ${os.version}`,\n os_name: os.name,\n os_version: os.version,\n browser: `${browser.name} ${browser.version}`,\n browser_name: browser.name,\n browser_version: browser.version,\n platform: 'web',\n device: platform.model,\n device_id: getDeviceId(),\n device_type: platform.type,\n device_vendor: platform.vendor,\n device_pixel_ratio: `${window.devicePixelRatio}`,\n screen_width: window.screen.width,\n screen_height: window.screen.height,\n screen_resolution: `${window.screen.width}x${window.screen.height}`,\n release,\n language: navigator.language,\n time_zone: Intl.DateTimeFormat().resolvedOptions().timeZone,\n environment: process.env.NODE_ENV === 'development' ? 'development' : 'production',\n source: 'web',\n source_url: window.location.origin + window.location.pathname,\n // meta ads\n fbc: parsed._fbc,\n fbp: parsed._fbp,\n fbclid: params.get('fbclid') ?? undefined,\n ad_id: params.get('ad_id') ?? undefined,\n ad_name: params.get('ad_name') ?? undefined,\n adset_id: params.get('adset_id') ?? undefined,\n adset_name: params.get('adset_name') ?? undefined,\n campaign_id: params.get('campaign_id') ?? undefined,\n campaign_name: params.get('campaign_name') ?? undefined,\n placement: params.get('placement') ?? undefined,\n site_source_name: params.get('site_source_name') ?? undefined,\n // google ads\n gclid: params.get('gclid') ?? undefined,\n gclsrc: params.get('gclsrc') ?? undefined,\n gad_source: params.get('gad_source') ?? undefined,\n gad_campaignid: params.get('gad_campaignid') ?? undefined,\n // click ids\n dclid: params.get('dclid') ?? undefined,\n ko_click_id: params.get('ko_click_id') ?? undefined,\n li_fat_id: params.get('li_fat_id') ?? undefined,\n msclkid: params.get('msclkid') ?? undefined,\n sccid: params.get('sccid') ?? undefined,\n ttclid: params.get('ttclid') ?? undefined,\n twclid: params.get('twclid') ?? undefined,\n wbraid: params.get('wbraid') ?? undefined,\n yclid: params.get('yclid') ?? undefined,\n // utm params\n utm_source: link?.utm_source ?? params.get('utm_source') ?? undefined,\n utm_medium: link?.utm_medium ?? params.get('utm_medium') ?? undefined,\n utm_campaign: link?.utm_campaign ?? params.get('utm_campaign') ?? undefined,\n utm_term: link?.utm_term ?? params.get('utm_term') ?? undefined,\n utm_content: link?.utm_content ?? params.get('utm_content') ?? undefined,\n utm_id: link?.utm_id ?? params.get('utm_id') ?? undefined,\n utm_source_platform:\n link?.utm_source_platform ?? params.get('utm_source_platform') ?? undefined,\n utm_creative_format:\n link?.utm_creative_format ?? params.get('utm_creative_format') ?? undefined,\n utm_marketing_tactic:\n link?.utm_marketing_tactic ?? params.get('utm_marketing_tactic') ?? undefined,\n };\n return tags;\n}\n\nexport const storage: Storage = {\n getItem: (key) => localStorage.getItem(key),\n setItem: (key, value) => localStorage.setItem(key, value),\n};\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shware/analytics",
3
- "version": "2.2.3",
3
+ "version": "2.2.4",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "scripts": {