@shware/analytics 2.7.0 → 2.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/dist/next/index.cjs +32 -43
- package/dist/next/index.cjs.map +1 -1
- package/dist/next/index.d.cts +8 -14
- package/dist/next/index.d.ts +8 -14
- package/dist/next/index.mjs +31 -39
- package/dist/next/index.mjs.map +1 -1
- package/dist/react-router/index.cjs +32 -43
- package/dist/react-router/index.cjs.map +1 -1
- package/dist/react-router/index.d.cts +8 -14
- package/dist/react-router/index.d.ts +8 -14
- package/dist/react-router/index.mjs +31 -39
- package/dist/react-router/index.mjs.map +1 -1
- package/dist/schema/index.cjs +85 -148
- package/dist/schema/index.cjs.map +1 -1
- package/dist/schema/index.d.cts +81 -1
- package/dist/schema/index.d.ts +81 -1
- package/dist/schema/index.mjs +83 -148
- package/dist/schema/index.mjs.map +1 -1
- package/dist/server/{conversions-api.cjs → meta-conversions-api.cjs} +5 -5
- package/dist/server/meta-conversions-api.cjs.map +1 -0
- package/dist/server/{conversions-api.mjs → meta-conversions-api.mjs} +2 -2
- package/dist/server/meta-conversions-api.mjs.map +1 -0
- package/dist/server/reddit-conversions-api.cjs +88 -0
- package/dist/server/reddit-conversions-api.cjs.map +1 -0
- package/dist/server/reddit-conversions-api.d.cts +75 -0
- package/dist/server/reddit-conversions-api.d.ts +75 -0
- package/dist/server/reddit-conversions-api.mjs +62 -0
- package/dist/server/reddit-conversions-api.mjs.map +1 -0
- package/dist/third-parties/google-analytics.cjs +48 -0
- package/dist/third-parties/google-analytics.cjs.map +1 -0
- package/dist/third-parties/google-analytics.d.cts +12 -0
- package/dist/third-parties/google-analytics.d.ts +12 -0
- package/dist/third-parties/google-analytics.mjs +22 -0
- package/dist/third-parties/google-analytics.mjs.map +1 -0
- package/dist/third-parties/hotjar.cjs +2 -0
- package/dist/third-parties/hotjar.cjs.map +1 -0
- package/dist/third-parties/hotjar.d.cts +2 -0
- package/dist/third-parties/hotjar.d.ts +2 -0
- package/dist/third-parties/hotjar.mjs +1 -0
- package/dist/third-parties/hotjar.mjs.map +1 -0
- package/dist/third-parties/index.cjs +43 -0
- package/dist/third-parties/index.cjs.map +1 -0
- package/dist/third-parties/index.d.cts +8 -0
- package/dist/third-parties/index.d.ts +8 -0
- package/dist/third-parties/index.mjs +13 -0
- package/dist/third-parties/index.mjs.map +1 -0
- package/dist/third-parties/meta-pixel.cjs +68 -0
- package/dist/third-parties/meta-pixel.cjs.map +1 -0
- package/dist/third-parties/meta-pixel.d.cts +13 -0
- package/dist/third-parties/meta-pixel.d.ts +13 -0
- package/dist/third-parties/meta-pixel.mjs +42 -0
- package/dist/third-parties/meta-pixel.mjs.map +1 -0
- package/dist/third-parties/reddit-pixel.cjs +60 -0
- package/dist/third-parties/reddit-pixel.cjs.map +1 -0
- package/dist/third-parties/reddit-pixel.d.cts +13 -0
- package/dist/third-parties/reddit-pixel.d.ts +13 -0
- package/dist/third-parties/reddit-pixel.mjs +34 -0
- package/dist/third-parties/reddit-pixel.mjs.map +1 -0
- package/dist/track/fbq.cjs.map +1 -1
- package/dist/track/fbq.d.cts +2 -2
- package/dist/track/fbq.d.ts +2 -2
- package/dist/track/fbq.mjs.map +1 -1
- package/dist/track/rdt.cjs +104 -0
- package/dist/track/rdt.cjs.map +1 -0
- package/dist/track/rdt.d.cts +94 -0
- package/dist/track/rdt.d.ts +94 -0
- package/dist/track/rdt.mjs +78 -0
- package/dist/track/rdt.mjs.map +1 -0
- package/dist/track/types.cjs.map +1 -1
- package/dist/track/types.d.cts +4 -3
- package/dist/track/types.d.ts +4 -3
- package/dist/{react/index.cjs → utils/field.cjs} +11 -9
- package/dist/utils/field.cjs.map +1 -0
- package/dist/utils/field.d.cts +3 -0
- package/dist/utils/field.d.ts +3 -0
- package/dist/utils/field.mjs +10 -0
- package/dist/utils/field.mjs.map +1 -0
- package/dist/web/index.cjs +3 -0
- package/dist/web/index.cjs.map +1 -1
- package/dist/web/index.mjs +3 -0
- package/dist/web/index.mjs.map +1 -1
- package/package.json +15 -10
- package/dist/react/index.cjs.map +0 -1
- package/dist/react/index.d.cts +0 -3
- package/dist/react/index.d.ts +0 -3
- package/dist/react/index.mjs +0 -8
- package/dist/react/index.mjs.map +0 -1
- package/dist/server/conversions-api.cjs.map +0 -1
- package/dist/server/conversions-api.mjs.map +0 -1
- /package/dist/server/{conversions-api.d.cts → meta-conversions-api.d.cts} +0 -0
- /package/dist/server/{conversions-api.d.ts → meta-conversions-api.d.ts} +0 -0
|
@@ -3,7 +3,6 @@ import { useEffect } from "react";
|
|
|
3
3
|
import { useLocation } from "react-router";
|
|
4
4
|
import { onCLS, onFCP, onINP, onLCP, onTTFB } from "web-vitals";
|
|
5
5
|
import { usePageViewAnalytics } from "../hooks/use-page-view-analytics.mjs";
|
|
6
|
-
import { mapFBEvent } from "../track/fbq.mjs";
|
|
7
6
|
import { track } from "../track/index.mjs";
|
|
8
7
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
9
8
|
function useReportWebVitals(reportWebVitalsFn) {
|
|
@@ -15,41 +14,12 @@ function useReportWebVitals(reportWebVitalsFn) {
|
|
|
15
14
|
onTTFB(reportWebVitalsFn);
|
|
16
15
|
}, [reportWebVitalsFn]);
|
|
17
16
|
}
|
|
18
|
-
function sendGAEvent(name, properties) {
|
|
19
|
-
if (typeof window === "undefined" || !window.gtag) {
|
|
20
|
-
console.warn("gtag has not been initialized");
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
window.gtag("event", name, properties);
|
|
24
|
-
}
|
|
25
|
-
function setGAUser({ user_id, data, properties }) {
|
|
26
|
-
if (!window.gtag) {
|
|
27
|
-
console.warn("GA has not been initialized");
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
if (user_id) window.gtag("set", "user_id", user_id);
|
|
31
|
-
if (data) window.gtag("set", "user_data", data);
|
|
32
|
-
if (properties) window.gtag("set", "user_properties", properties);
|
|
33
|
-
}
|
|
34
|
-
function sendFBEvent(name, properties, event_id) {
|
|
35
|
-
if (typeof window === "undefined" || !window.fbq) {
|
|
36
|
-
console.warn("fbq has not been initialized");
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
const { fbq } = window;
|
|
40
|
-
const options = { eventID: event_id };
|
|
41
|
-
const [type, fbEventName, fbEventProperties] = mapFBEvent(name, properties);
|
|
42
|
-
if (type === "track") {
|
|
43
|
-
fbq(type, fbEventName, fbEventProperties, options);
|
|
44
|
-
} else {
|
|
45
|
-
fbq(type, fbEventName, fbEventProperties, options);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
17
|
function Analytics({
|
|
49
18
|
gaId,
|
|
50
19
|
nonce,
|
|
51
20
|
debugMode,
|
|
52
|
-
|
|
21
|
+
metaPixelId,
|
|
22
|
+
redditPixelId,
|
|
53
23
|
hotjarId,
|
|
54
24
|
facebookAppId,
|
|
55
25
|
reportWebVitals = true
|
|
@@ -98,11 +68,11 @@ function Analytics({
|
|
|
98
68
|
}
|
|
99
69
|
)
|
|
100
70
|
] }),
|
|
101
|
-
|
|
71
|
+
metaPixelId && /* @__PURE__ */ jsx(
|
|
102
72
|
"script",
|
|
103
73
|
{
|
|
104
74
|
async: true,
|
|
105
|
-
id: "pixel",
|
|
75
|
+
id: "meta-pixel",
|
|
106
76
|
dangerouslySetInnerHTML: {
|
|
107
77
|
__html: `
|
|
108
78
|
!(function (f, b, e, v, n, t, s) {
|
|
@@ -121,11 +91,36 @@ function Analytics({
|
|
|
121
91
|
s = b.getElementsByTagName(e)[0];
|
|
122
92
|
s.parentNode.insertBefore(t, s);
|
|
123
93
|
})(window, document, 'script', 'https://connect.facebook.net/en_US/fbevents.js');
|
|
124
|
-
fbq('init', '${
|
|
94
|
+
fbq('init', '${metaPixelId}');
|
|
125
95
|
fbq('track', 'PageView');`
|
|
126
96
|
}
|
|
127
97
|
}
|
|
128
98
|
),
|
|
99
|
+
redditPixelId && /* @__PURE__ */ jsx(
|
|
100
|
+
"script",
|
|
101
|
+
{
|
|
102
|
+
async: true,
|
|
103
|
+
id: "reddit-pixel",
|
|
104
|
+
dangerouslySetInnerHTML: {
|
|
105
|
+
__html: `
|
|
106
|
+
!function(w,d) {
|
|
107
|
+
if(!w.rdt) {
|
|
108
|
+
var p = w.rdt = function() {
|
|
109
|
+
p.sendEvent ? p.sendEvent.apply(p,arguments) : p.callQueue.push(arguments)
|
|
110
|
+
};
|
|
111
|
+
p.callQueue = [];
|
|
112
|
+
var t = d.createElement("script");
|
|
113
|
+
t.src = "https://www.redditstatic.com/ads/pixel.js";
|
|
114
|
+
t.async = !0;
|
|
115
|
+
var s = d.getElementsByTagName("script")[0];
|
|
116
|
+
s.parentNode.insertBefore(t,s)
|
|
117
|
+
}
|
|
118
|
+
}(window, document);
|
|
119
|
+
rdt('init', '${redditPixelId}');
|
|
120
|
+
rdt('track', 'PageVisit');`
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
),
|
|
129
124
|
hotjarId && /* @__PURE__ */ jsx(
|
|
130
125
|
"script",
|
|
131
126
|
{
|
|
@@ -148,9 +143,6 @@ function Analytics({
|
|
|
148
143
|
] });
|
|
149
144
|
}
|
|
150
145
|
export {
|
|
151
|
-
Analytics
|
|
152
|
-
sendFBEvent,
|
|
153
|
-
sendGAEvent,
|
|
154
|
-
setGAUser
|
|
146
|
+
Analytics
|
|
155
147
|
};
|
|
156
148
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/react-router/index.tsx"],"sourcesContent":["import { useEffect } from 'react';\nimport { useLocation } from 'react-router';\nimport { type Metric, onCLS, onFCP, onINP, onLCP, onTTFB } from 'web-vitals';\nimport { usePageViewAnalytics } from '../hooks/use-page-view-analytics';\nimport {
|
|
1
|
+
{"version":3,"sources":["../../src/react-router/index.tsx"],"sourcesContent":["import { useEffect } from 'react';\nimport { useLocation } from 'react-router';\nimport { type Metric, onCLS, onFCP, onINP, onLCP, onTTFB } from 'web-vitals';\nimport { usePageViewAnalytics } from '../hooks/use-page-view-analytics';\nimport { track } from '../track/index';\nimport type { PixelId as MetaPixelId } from '../track/fbq';\nimport type { GaId, GtmId } from '../track/gtag';\nimport type { PixelId as RedditPixelId } from '../track/rdt';\n\ntype HotjarId = `${number}`;\n\nfunction useReportWebVitals(reportWebVitalsFn: (metric: Metric) => void) {\n useEffect(() => {\n onCLS(reportWebVitalsFn);\n onLCP(reportWebVitalsFn);\n onINP(reportWebVitalsFn);\n onFCP(reportWebVitalsFn);\n onTTFB(reportWebVitalsFn);\n }, [reportWebVitalsFn]);\n}\n\ninterface Props {\n gaId?: GaId;\n gtmId?: GtmId;\n metaPixelId?: MetaPixelId;\n redditPixelId?: RedditPixelId;\n hotjarId?: HotjarId;\n facebookAppId?: string;\n nonce?: string;\n debugMode?: boolean;\n reportWebVitals?: boolean;\n}\n\nexport function Analytics({\n gaId,\n nonce,\n debugMode,\n metaPixelId,\n redditPixelId,\n hotjarId,\n facebookAppId,\n reportWebVitals = true,\n}: Props) {\n const { pathname } = useLocation();\n usePageViewAnalytics(pathname);\n\n useReportWebVitals((metric) => {\n if (!reportWebVitals) return;\n const properties = {\n id: metric.id,\n rating: metric.rating,\n value: metric.value,\n delta: metric.delta,\n navigation_type: metric.navigationType,\n non_interaction: true, // avoids affecting bounce rate.\n };\n track(metric.name, properties);\n });\n\n return (\n <>\n {facebookAppId && <meta property=\"fb:app_id\" content={facebookAppId} />}\n {gaId && (\n <>\n <script\n async\n id=\"gtag\"\n nonce={nonce}\n src={`https://www.googletagmanager.com/gtag/js?id=${gaId}`}\n />\n <script\n async\n nonce={nonce}\n id=\"gtag-init\"\n dangerouslySetInnerHTML={{\n __html: `\n window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '${gaId}'${debugMode ? \" ,{ 'debug_mode': true }\" : ''});\n `,\n }}\n />\n </>\n )}\n {metaPixelId && (\n <script\n async\n id=\"meta-pixel\"\n dangerouslySetInnerHTML={{\n __html: `\n !(function (f, b, e, v, n, t, s) {\n if (f.fbq) return;\n n = f.fbq = function () {\n n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments);\n };\n if (!f._fbq) f._fbq = n;\n n.push = n;\n n.loaded = !0;\n n.version = '2.0';\n n.queue = [];\n t = b.createElement(e);\n t.async = !0;\n t.src = v;\n s = b.getElementsByTagName(e)[0];\n s.parentNode.insertBefore(t, s);\n })(window, document, 'script', 'https://connect.facebook.net/en_US/fbevents.js');\n fbq('init', '${metaPixelId}');\n fbq('track', 'PageView');`,\n }}\n />\n )}\n {redditPixelId && (\n <script\n async\n id=\"reddit-pixel\"\n dangerouslySetInnerHTML={{\n __html: `\n !function(w,d) {\n if(!w.rdt) {\n var p = w.rdt = function() {\n p.sendEvent ? p.sendEvent.apply(p,arguments) : p.callQueue.push(arguments)\n };\n p.callQueue = [];\n var t = d.createElement(\"script\");\n t.src = \"https://www.redditstatic.com/ads/pixel.js\";\n t.async = !0;\n var s = d.getElementsByTagName(\"script\")[0];\n s.parentNode.insertBefore(t,s)\n }\n }(window, document);\n rdt('init', '${redditPixelId}');\n rdt('track', 'PageVisit');`,\n }}\n />\n )}\n {hotjarId && (\n <script\n async\n id=\"hotjar\"\n dangerouslySetInnerHTML={{\n __html: `\n (function(h,o,t,j,a,r){\n h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};\n h._hjSettings={hjid:${hotjarId},hjsv:6};\n a=o.getElementsByTagName('head')[0];\n r=o.createElement('script');r.async=1;\n r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;\n a.appendChild(r);\n })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');\n `,\n }}\n />\n )}\n </>\n );\n}\n"],"mappings":";AAAA,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAC5B,SAAsB,OAAO,OAAO,OAAO,OAAO,cAAc;AAChE,SAAS,4BAA4B;AACrC,SAAS,aAAa;AAyDE,SAEhB,UAFgB,KAEhB,YAFgB;AAlDxB,SAAS,mBAAmB,mBAA6C;AACvE,YAAU,MAAM;AACd,UAAM,iBAAiB;AACvB,UAAM,iBAAiB;AACvB,UAAM,iBAAiB;AACvB,UAAM,iBAAiB;AACvB,WAAO,iBAAiB;AAAA,EAC1B,GAAG,CAAC,iBAAiB,CAAC;AACxB;AAcO,SAAS,UAAU;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,kBAAkB;AACpB,GAAU;AACR,QAAM,EAAE,SAAS,IAAI,YAAY;AACjC,uBAAqB,QAAQ;AAE7B,qBAAmB,CAAC,WAAW;AAC7B,QAAI,CAAC,gBAAiB;AACtB,UAAM,aAAa;AAAA,MACjB,IAAI,OAAO;AAAA,MACX,QAAQ,OAAO;AAAA,MACf,OAAO,OAAO;AAAA,MACd,OAAO,OAAO;AAAA,MACd,iBAAiB,OAAO;AAAA,MACxB,iBAAiB;AAAA;AAAA,IACnB;AACA,UAAM,OAAO,MAAM,UAAU;AAAA,EAC/B,CAAC;AAED,SACE,iCACG;AAAA,qBAAiB,oBAAC,UAAK,UAAS,aAAY,SAAS,eAAe;AAAA,IACpE,QACC,iCACE;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,OAAK;AAAA,UACL,IAAG;AAAA,UACH;AAAA,UACA,KAAK,+CAA+C,IAAI;AAAA;AAAA,MAC1D;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,OAAK;AAAA,UACL;AAAA,UACA,IAAG;AAAA,UACH,yBAAyB;AAAA,YACvB,QAAQ;AAAA;AAAA;AAAA;AAAA,gCAIU,IAAI,IAAI,YAAY,6BAA6B,EAAE;AAAA;AAAA,UAEvE;AAAA;AAAA,MACF;AAAA,OACF;AAAA,IAED,eACC;AAAA,MAAC;AAAA;AAAA,QACC,OAAK;AAAA,QACL,IAAG;AAAA,QACH,yBAAyB;AAAA,UACvB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAiBO,WAAW;AAAA;AAAA,QAE5B;AAAA;AAAA,IACF;AAAA,IAED,iBACC;AAAA,MAAC;AAAA;AAAA,QACC,OAAK;AAAA,QACL,IAAG;AAAA,QACH,yBAAyB;AAAA,UACvB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAcO,aAAa;AAAA;AAAA,QAE9B;AAAA;AAAA,IACF;AAAA,IAED,YACC;AAAA,MAAC;AAAA;AAAA,QACC,OAAK;AAAA,QACL,IAAG;AAAA,QACH,yBAAyB;AAAA,UACvB,QAAQ;AAAA;AAAA;AAAA,oCAGgB,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAOlC;AAAA;AAAA,IACF;AAAA,KAEJ;AAEJ;","names":[]}
|
package/dist/schema/index.cjs
CHANGED
|
@@ -25,6 +25,8 @@ __export(schema_exports, {
|
|
|
25
25
|
createTrackEventSchema: () => createTrackEventSchema,
|
|
26
26
|
createTrackEventSchemaV1: () => createTrackEventSchemaV1,
|
|
27
27
|
createVisitorSchema: () => createVisitorSchema,
|
|
28
|
+
propertiesSchema: () => propertiesSchema,
|
|
29
|
+
tagsSchema: () => tagsSchema,
|
|
28
30
|
updateVisitorSchema: () => updateVisitorSchema
|
|
29
31
|
});
|
|
30
32
|
module.exports = __toCommonJS(schema_exports);
|
|
@@ -35,85 +37,90 @@ var items = (0, import_mini.array)(
|
|
|
35
37
|
(0, import_mini.union)([(0, import_mini.string)().check((0, import_mini.maxLength)(512)), (0, import_mini.number)(), (0, import_mini.boolean)(), (0, import_mini.null)()])
|
|
36
38
|
)
|
|
37
39
|
);
|
|
40
|
+
var tagsSchema = (0, import_mini.object)({
|
|
41
|
+
os: (0, import_mini.optional)((0, import_mini.string)()),
|
|
42
|
+
os_name: (0, import_mini.optional)((0, import_mini.string)()),
|
|
43
|
+
os_version: (0, import_mini.optional)((0, import_mini.string)()),
|
|
44
|
+
browser: (0, import_mini.optional)((0, import_mini.string)()),
|
|
45
|
+
browser_name: (0, import_mini.optional)((0, import_mini.string)()),
|
|
46
|
+
browser_version: (0, import_mini.optional)((0, import_mini.string)()),
|
|
47
|
+
platform: (0, import_mini.optional)((0, import_mini.enum)(["ios", "android", "web", "macos", "windows", "linux", "unknown"])),
|
|
48
|
+
device: (0, import_mini.optional)((0, import_mini.string)()),
|
|
49
|
+
device_id: (0, import_mini.optional)((0, import_mini.string)().check((0, import_mini.trim)(), (0, import_mini.minLength)(1), (0, import_mini.maxLength)(36))),
|
|
50
|
+
device_type: (0, import_mini.optional)((0, import_mini.string)()),
|
|
51
|
+
device_vendor: (0, import_mini.optional)((0, import_mini.string)()),
|
|
52
|
+
device_pixel_ratio: (0, import_mini.optional)((0, import_mini.string)()),
|
|
53
|
+
screen_width: (0, import_mini.optional)((0, import_mini.number)()),
|
|
54
|
+
screen_height: (0, import_mini.optional)((0, import_mini.number)()),
|
|
55
|
+
screen_resolution: (0, import_mini.optional)(
|
|
56
|
+
(0, import_mini.pipe)(
|
|
57
|
+
(0, import_mini.string)().check((0, import_mini.regex)(/^\d+x\d+$/)),
|
|
58
|
+
(0, import_mini.transform)((v) => v)
|
|
59
|
+
)
|
|
60
|
+
),
|
|
61
|
+
release: (0, import_mini.optional)((0, import_mini.string)()),
|
|
62
|
+
language: (0, import_mini.optional)((0, import_mini.string)()),
|
|
63
|
+
time_zone: (0, import_mini.optional)((0, import_mini.string)()),
|
|
64
|
+
environment: (0, import_mini.optional)((0, import_mini.enum)(["development", "production"])),
|
|
65
|
+
source_url: (0, import_mini.optional)((0, import_mini.string)()),
|
|
66
|
+
source: (0, import_mini.optional)((0, import_mini.enum)(["web", "app", "offline"])),
|
|
67
|
+
// app info
|
|
68
|
+
advertising_id: (0, import_mini.optional)((0, import_mini.string)()),
|
|
69
|
+
install_referrer: (0, import_mini.optional)((0, import_mini.string)()),
|
|
70
|
+
// meta ads
|
|
71
|
+
fbc: (0, import_mini.optional)((0, import_mini.string)()),
|
|
72
|
+
fbp: (0, import_mini.optional)((0, import_mini.string)()),
|
|
73
|
+
fbclid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
74
|
+
ad_id: (0, import_mini.optional)((0, import_mini.string)()),
|
|
75
|
+
ad_name: (0, import_mini.optional)((0, import_mini.string)()),
|
|
76
|
+
adset_id: (0, import_mini.optional)((0, import_mini.string)()),
|
|
77
|
+
adset_name: (0, import_mini.optional)((0, import_mini.string)()),
|
|
78
|
+
campaign_id: (0, import_mini.optional)((0, import_mini.string)()),
|
|
79
|
+
campaign_name: (0, import_mini.optional)((0, import_mini.string)()),
|
|
80
|
+
placement: (0, import_mini.optional)((0, import_mini.string)()),
|
|
81
|
+
site_source_name: (0, import_mini.optional)((0, import_mini.string)()),
|
|
82
|
+
// google ads
|
|
83
|
+
gclid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
84
|
+
gclsrc: (0, import_mini.optional)((0, import_mini.string)()),
|
|
85
|
+
gad_source: (0, import_mini.optional)((0, import_mini.string)()),
|
|
86
|
+
gad_campaignid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
87
|
+
// reddit ads
|
|
88
|
+
rdt_cid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
89
|
+
rdt_uuid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
90
|
+
// click ids
|
|
91
|
+
dclid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
92
|
+
ko_click_id: (0, import_mini.optional)((0, import_mini.string)()),
|
|
93
|
+
li_fat_id: (0, import_mini.optional)((0, import_mini.string)()),
|
|
94
|
+
msclkid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
95
|
+
sccid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
96
|
+
ttclid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
97
|
+
twclid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
98
|
+
wbraid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
99
|
+
yclid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
100
|
+
// utm params
|
|
101
|
+
utm_source: (0, import_mini.optional)((0, import_mini.string)()),
|
|
102
|
+
utm_medium: (0, import_mini.optional)((0, import_mini.string)()),
|
|
103
|
+
utm_campaign: (0, import_mini.optional)((0, import_mini.string)()),
|
|
104
|
+
utm_term: (0, import_mini.optional)((0, import_mini.string)()),
|
|
105
|
+
utm_content: (0, import_mini.optional)((0, import_mini.string)()),
|
|
106
|
+
utm_id: (0, import_mini.optional)((0, import_mini.string)()),
|
|
107
|
+
utm_source_platform: (0, import_mini.optional)((0, import_mini.string)()),
|
|
108
|
+
utm_creative_format: (0, import_mini.optional)((0, import_mini.string)()),
|
|
109
|
+
utm_marketing_tactic: (0, import_mini.optional)((0, import_mini.string)())
|
|
110
|
+
});
|
|
111
|
+
var propertiesSchema = (0, import_mini.optional)(
|
|
112
|
+
(0, import_mini.record)(
|
|
113
|
+
(0, import_mini.string)().check((0, import_mini.trim)(), (0, import_mini.minLength)(1), (0, import_mini.maxLength)(128)),
|
|
114
|
+
(0, import_mini.union)([(0, import_mini.string)().check((0, import_mini.maxLength)(512)), (0, import_mini.number)(), (0, import_mini.boolean)(), (0, import_mini.null)(), items])
|
|
115
|
+
).check((0, import_mini.refine)((data) => Object.keys(data).length <= 64))
|
|
116
|
+
);
|
|
38
117
|
var createTrackEventSchemaV1 = (0, import_mini.array)(
|
|
39
118
|
(0, import_mini.object)({
|
|
40
119
|
name: (0, import_mini.string)().check((0, import_mini.trim)(), (0, import_mini.minLength)(1), (0, import_mini.maxLength)(64)),
|
|
41
120
|
visitor_id: import_mini.coerce.bigint(),
|
|
42
121
|
timestamp: import_mini.iso.datetime(),
|
|
43
|
-
tags:
|
|
44
|
-
|
|
45
|
-
os_name: (0, import_mini.optional)((0, import_mini.string)()),
|
|
46
|
-
os_version: (0, import_mini.optional)((0, import_mini.string)()),
|
|
47
|
-
browser: (0, import_mini.optional)((0, import_mini.string)()),
|
|
48
|
-
browser_name: (0, import_mini.optional)((0, import_mini.string)()),
|
|
49
|
-
browser_version: (0, import_mini.optional)((0, import_mini.string)()),
|
|
50
|
-
platform: (0, import_mini.optional)((0, import_mini.enum)(["ios", "android", "web", "macos", "windows", "linux", "unknown"])),
|
|
51
|
-
device: (0, import_mini.optional)((0, import_mini.string)()),
|
|
52
|
-
device_id: (0, import_mini.optional)((0, import_mini.string)().check((0, import_mini.trim)(), (0, import_mini.minLength)(1), (0, import_mini.maxLength)(36))),
|
|
53
|
-
device_type: (0, import_mini.optional)((0, import_mini.string)()),
|
|
54
|
-
device_vendor: (0, import_mini.optional)((0, import_mini.string)()),
|
|
55
|
-
device_pixel_ratio: (0, import_mini.optional)((0, import_mini.string)()),
|
|
56
|
-
screen_width: (0, import_mini.optional)((0, import_mini.number)()),
|
|
57
|
-
screen_height: (0, import_mini.optional)((0, import_mini.number)()),
|
|
58
|
-
screen_resolution: (0, import_mini.optional)(
|
|
59
|
-
(0, import_mini.pipe)(
|
|
60
|
-
(0, import_mini.string)().check((0, import_mini.regex)(/^\d+x\d+$/)),
|
|
61
|
-
(0, import_mini.transform)((v) => v)
|
|
62
|
-
)
|
|
63
|
-
),
|
|
64
|
-
release: (0, import_mini.optional)((0, import_mini.string)()),
|
|
65
|
-
language: (0, import_mini.optional)((0, import_mini.string)()),
|
|
66
|
-
time_zone: (0, import_mini.optional)((0, import_mini.string)()),
|
|
67
|
-
environment: (0, import_mini.optional)((0, import_mini.enum)(["development", "production"])),
|
|
68
|
-
source_url: (0, import_mini.optional)((0, import_mini.string)()),
|
|
69
|
-
source: (0, import_mini.optional)((0, import_mini.enum)(["web", "app", "offline"])),
|
|
70
|
-
// app info
|
|
71
|
-
advertising_id: (0, import_mini.optional)((0, import_mini.string)()),
|
|
72
|
-
install_referrer: (0, import_mini.optional)((0, import_mini.string)()),
|
|
73
|
-
// meta ads
|
|
74
|
-
fbc: (0, import_mini.optional)((0, import_mini.string)()),
|
|
75
|
-
fbp: (0, import_mini.optional)((0, import_mini.string)()),
|
|
76
|
-
fbclid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
77
|
-
ad_id: (0, import_mini.optional)((0, import_mini.string)()),
|
|
78
|
-
ad_name: (0, import_mini.optional)((0, import_mini.string)()),
|
|
79
|
-
adset_id: (0, import_mini.optional)((0, import_mini.string)()),
|
|
80
|
-
adset_name: (0, import_mini.optional)((0, import_mini.string)()),
|
|
81
|
-
campaign_id: (0, import_mini.optional)((0, import_mini.string)()),
|
|
82
|
-
campaign_name: (0, import_mini.optional)((0, import_mini.string)()),
|
|
83
|
-
placement: (0, import_mini.optional)((0, import_mini.string)()),
|
|
84
|
-
site_source_name: (0, import_mini.optional)((0, import_mini.string)()),
|
|
85
|
-
// google ads
|
|
86
|
-
gclid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
87
|
-
gclsrc: (0, import_mini.optional)((0, import_mini.string)()),
|
|
88
|
-
gad_source: (0, import_mini.optional)((0, import_mini.string)()),
|
|
89
|
-
gad_campaignid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
90
|
-
// click ids
|
|
91
|
-
dclid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
92
|
-
ko_click_id: (0, import_mini.optional)((0, import_mini.string)()),
|
|
93
|
-
li_fat_id: (0, import_mini.optional)((0, import_mini.string)()),
|
|
94
|
-
msclkid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
95
|
-
sccid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
96
|
-
ttclid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
97
|
-
twclid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
98
|
-
wbraid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
99
|
-
yclid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
100
|
-
// utm params
|
|
101
|
-
utm_source: (0, import_mini.optional)((0, import_mini.string)()),
|
|
102
|
-
utm_medium: (0, import_mini.optional)((0, import_mini.string)()),
|
|
103
|
-
utm_campaign: (0, import_mini.optional)((0, import_mini.string)()),
|
|
104
|
-
utm_term: (0, import_mini.optional)((0, import_mini.string)()),
|
|
105
|
-
utm_content: (0, import_mini.optional)((0, import_mini.string)()),
|
|
106
|
-
utm_id: (0, import_mini.optional)((0, import_mini.string)()),
|
|
107
|
-
utm_source_platform: (0, import_mini.optional)((0, import_mini.string)()),
|
|
108
|
-
utm_creative_format: (0, import_mini.optional)((0, import_mini.string)()),
|
|
109
|
-
utm_marketing_tactic: (0, import_mini.optional)((0, import_mini.string)())
|
|
110
|
-
}),
|
|
111
|
-
properties: (0, import_mini.optional)(
|
|
112
|
-
(0, import_mini.record)(
|
|
113
|
-
(0, import_mini.string)().check((0, import_mini.trim)(), (0, import_mini.minLength)(1), (0, import_mini.maxLength)(128)),
|
|
114
|
-
(0, import_mini.union)([(0, import_mini.string)().check((0, import_mini.maxLength)(512)), (0, import_mini.number)(), (0, import_mini.boolean)(), (0, import_mini.null)(), items])
|
|
115
|
-
).check((0, import_mini.refine)((data) => Object.keys(data).length <= 64))
|
|
116
|
-
)
|
|
122
|
+
tags: tagsSchema,
|
|
123
|
+
properties: propertiesSchema
|
|
117
124
|
})
|
|
118
125
|
).check((0, import_mini.minLength)(1), (0, import_mini.maxLength)(100));
|
|
119
126
|
var createTrackEventSchema = (0, import_mini.array)(
|
|
@@ -121,80 +128,8 @@ var createTrackEventSchema = (0, import_mini.array)(
|
|
|
121
128
|
name: (0, import_mini.string)().check((0, import_mini.trim)(), (0, import_mini.minLength)(1), (0, import_mini.maxLength)(64)),
|
|
122
129
|
visitor_id: (0, import_mini.uuid)(),
|
|
123
130
|
timestamp: import_mini.iso.datetime(),
|
|
124
|
-
tags:
|
|
125
|
-
|
|
126
|
-
os_name: (0, import_mini.optional)((0, import_mini.string)()),
|
|
127
|
-
os_version: (0, import_mini.optional)((0, import_mini.string)()),
|
|
128
|
-
browser: (0, import_mini.optional)((0, import_mini.string)()),
|
|
129
|
-
browser_name: (0, import_mini.optional)((0, import_mini.string)()),
|
|
130
|
-
browser_version: (0, import_mini.optional)((0, import_mini.string)()),
|
|
131
|
-
platform: (0, import_mini.optional)((0, import_mini.enum)(["ios", "android", "web", "macos", "windows", "linux", "unknown"])),
|
|
132
|
-
device: (0, import_mini.optional)((0, import_mini.string)()),
|
|
133
|
-
device_id: (0, import_mini.optional)((0, import_mini.string)().check((0, import_mini.trim)(), (0, import_mini.minLength)(1), (0, import_mini.maxLength)(36))),
|
|
134
|
-
device_type: (0, import_mini.optional)((0, import_mini.string)()),
|
|
135
|
-
device_vendor: (0, import_mini.optional)((0, import_mini.string)()),
|
|
136
|
-
device_pixel_ratio: (0, import_mini.optional)((0, import_mini.string)()),
|
|
137
|
-
screen_width: (0, import_mini.optional)((0, import_mini.number)()),
|
|
138
|
-
screen_height: (0, import_mini.optional)((0, import_mini.number)()),
|
|
139
|
-
screen_resolution: (0, import_mini.optional)(
|
|
140
|
-
(0, import_mini.pipe)(
|
|
141
|
-
(0, import_mini.string)().check((0, import_mini.regex)(/^\d+x\d+$/)),
|
|
142
|
-
(0, import_mini.transform)((v) => v)
|
|
143
|
-
)
|
|
144
|
-
),
|
|
145
|
-
release: (0, import_mini.optional)((0, import_mini.string)()),
|
|
146
|
-
language: (0, import_mini.optional)((0, import_mini.string)()),
|
|
147
|
-
time_zone: (0, import_mini.optional)((0, import_mini.string)()),
|
|
148
|
-
environment: (0, import_mini.optional)((0, import_mini.enum)(["development", "production"])),
|
|
149
|
-
source_url: (0, import_mini.optional)((0, import_mini.string)()),
|
|
150
|
-
source: (0, import_mini.optional)((0, import_mini.enum)(["web", "app", "offline"])),
|
|
151
|
-
// app info
|
|
152
|
-
advertising_id: (0, import_mini.optional)((0, import_mini.string)()),
|
|
153
|
-
install_referrer: (0, import_mini.optional)((0, import_mini.string)()),
|
|
154
|
-
// meta ads
|
|
155
|
-
fbc: (0, import_mini.optional)((0, import_mini.string)()),
|
|
156
|
-
fbp: (0, import_mini.optional)((0, import_mini.string)()),
|
|
157
|
-
fbclid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
158
|
-
ad_id: (0, import_mini.optional)((0, import_mini.string)()),
|
|
159
|
-
ad_name: (0, import_mini.optional)((0, import_mini.string)()),
|
|
160
|
-
adset_id: (0, import_mini.optional)((0, import_mini.string)()),
|
|
161
|
-
adset_name: (0, import_mini.optional)((0, import_mini.string)()),
|
|
162
|
-
campaign_id: (0, import_mini.optional)((0, import_mini.string)()),
|
|
163
|
-
campaign_name: (0, import_mini.optional)((0, import_mini.string)()),
|
|
164
|
-
placement: (0, import_mini.optional)((0, import_mini.string)()),
|
|
165
|
-
site_source_name: (0, import_mini.optional)((0, import_mini.string)()),
|
|
166
|
-
// google ads
|
|
167
|
-
gclid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
168
|
-
gclsrc: (0, import_mini.optional)((0, import_mini.string)()),
|
|
169
|
-
gad_source: (0, import_mini.optional)((0, import_mini.string)()),
|
|
170
|
-
gad_campaignid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
171
|
-
// click ids
|
|
172
|
-
dclid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
173
|
-
ko_click_id: (0, import_mini.optional)((0, import_mini.string)()),
|
|
174
|
-
li_fat_id: (0, import_mini.optional)((0, import_mini.string)()),
|
|
175
|
-
msclkid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
176
|
-
sccid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
177
|
-
ttclid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
178
|
-
twclid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
179
|
-
wbraid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
180
|
-
yclid: (0, import_mini.optional)((0, import_mini.string)()),
|
|
181
|
-
// utm params
|
|
182
|
-
utm_source: (0, import_mini.optional)((0, import_mini.string)()),
|
|
183
|
-
utm_medium: (0, import_mini.optional)((0, import_mini.string)()),
|
|
184
|
-
utm_campaign: (0, import_mini.optional)((0, import_mini.string)()),
|
|
185
|
-
utm_term: (0, import_mini.optional)((0, import_mini.string)()),
|
|
186
|
-
utm_content: (0, import_mini.optional)((0, import_mini.string)()),
|
|
187
|
-
utm_id: (0, import_mini.optional)((0, import_mini.string)()),
|
|
188
|
-
utm_source_platform: (0, import_mini.optional)((0, import_mini.string)()),
|
|
189
|
-
utm_creative_format: (0, import_mini.optional)((0, import_mini.string)()),
|
|
190
|
-
utm_marketing_tactic: (0, import_mini.optional)((0, import_mini.string)())
|
|
191
|
-
}),
|
|
192
|
-
properties: (0, import_mini.optional)(
|
|
193
|
-
(0, import_mini.record)(
|
|
194
|
-
(0, import_mini.string)().check((0, import_mini.trim)(), (0, import_mini.minLength)(1), (0, import_mini.maxLength)(128)),
|
|
195
|
-
(0, import_mini.union)([(0, import_mini.string)().check((0, import_mini.maxLength)(512)), (0, import_mini.number)(), (0, import_mini.boolean)(), (0, import_mini.null)(), items])
|
|
196
|
-
).check((0, import_mini.refine)((data) => Object.keys(data).length <= 64))
|
|
197
|
-
)
|
|
131
|
+
tags: tagsSchema,
|
|
132
|
+
properties: propertiesSchema
|
|
198
133
|
})
|
|
199
134
|
).check((0, import_mini.minLength)(1), (0, import_mini.maxLength)(100));
|
|
200
135
|
var createVisitorSchema = (0, import_mini.object)({
|
|
@@ -274,6 +209,8 @@ var createLinkSchema = (0, import_mini.object)({
|
|
|
274
209
|
createTrackEventSchema,
|
|
275
210
|
createTrackEventSchemaV1,
|
|
276
211
|
createVisitorSchema,
|
|
212
|
+
propertiesSchema,
|
|
213
|
+
tagsSchema,
|
|
277
214
|
updateVisitorSchema
|
|
278
215
|
});
|
|
279
216
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/schema/index.ts"],"sourcesContent":["import {\n enum as _enum,\n null as _null,\n array,\n boolean,\n coerce,\n email,\n iso,\n maxLength,\n minLength,\n number,\n object,\n optional,\n pipe,\n record,\n refine,\n regex,\n string,\n transform,\n trim,\n union,\n url,\n uuid,\n type z,\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_width: optional(number()),\n screen_height: optional(number()),\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 // app info\n advertising_id: optional(string()),\n install_referrer: optional(string()),\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 // 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 utm_id: optional(string()),\n utm_source_platform: optional(string()),\n utm_creative_format: optional(string()),\n utm_marketing_tactic: 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_width: optional(number()),\n screen_height: optional(number()),\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 // app info\n advertising_id: optional(string()),\n install_referrer: optional(string()),\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 // 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 utm_id: optional(string()),\n utm_source_platform: optional(string()),\n utm_creative_format: optional(string()),\n utm_marketing_tactic: 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 enum as _enum,\n null as _null,\n array,\n boolean,\n coerce,\n email,\n iso,\n maxLength,\n minLength,\n number,\n object,\n optional,\n pipe,\n record,\n refine,\n regex,\n string,\n transform,\n trim,\n union,\n url,\n uuid,\n type z,\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\nexport const tagsSchema = 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_width: optional(number()),\n screen_height: optional(number()),\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 // app info\n advertising_id: optional(string()),\n install_referrer: optional(string()),\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 // reddit ads\n rdt_cid: optional(string()),\n rdt_uuid: 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 utm_id: optional(string()),\n utm_source_platform: optional(string()),\n utm_creative_format: optional(string()),\n utm_marketing_tactic: optional(string()),\n});\n\nexport const propertiesSchema = 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/** @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: tagsSchema,\n properties: propertiesSchema,\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: tagsSchema,\n properties: propertiesSchema,\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"]}
|
package/dist/schema/index.d.cts
CHANGED
|
@@ -1,5 +1,81 @@
|
|
|
1
1
|
import { z, iso } from 'zod/mini';
|
|
2
2
|
|
|
3
|
+
declare const tagsSchema: z.ZodMiniObject<{
|
|
4
|
+
os: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
5
|
+
os_name: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
6
|
+
os_version: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
7
|
+
browser: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
8
|
+
browser_name: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
9
|
+
browser_version: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
10
|
+
platform: z.ZodMiniOptional<z.ZodMiniEnum<{
|
|
11
|
+
ios: "ios";
|
|
12
|
+
android: "android";
|
|
13
|
+
web: "web";
|
|
14
|
+
macos: "macos";
|
|
15
|
+
windows: "windows";
|
|
16
|
+
linux: "linux";
|
|
17
|
+
unknown: "unknown";
|
|
18
|
+
}>>;
|
|
19
|
+
device: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
20
|
+
device_id: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
21
|
+
device_type: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
22
|
+
device_vendor: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
23
|
+
device_pixel_ratio: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
24
|
+
screen_width: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
|
|
25
|
+
screen_height: z.ZodMiniOptional<z.ZodMiniNumber<number>>;
|
|
26
|
+
screen_resolution: z.ZodMiniOptional<z.ZodMiniPipe<z.ZodMiniString<string>, z.ZodMiniTransform<`${number}x${number}`, string>>>;
|
|
27
|
+
release: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
28
|
+
language: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
29
|
+
time_zone: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
30
|
+
environment: z.ZodMiniOptional<z.ZodMiniEnum<{
|
|
31
|
+
development: "development";
|
|
32
|
+
production: "production";
|
|
33
|
+
}>>;
|
|
34
|
+
source_url: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
35
|
+
source: z.ZodMiniOptional<z.ZodMiniEnum<{
|
|
36
|
+
web: "web";
|
|
37
|
+
app: "app";
|
|
38
|
+
offline: "offline";
|
|
39
|
+
}>>;
|
|
40
|
+
advertising_id: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
41
|
+
install_referrer: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
42
|
+
fbc: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
43
|
+
fbp: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
44
|
+
fbclid: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
45
|
+
ad_id: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
46
|
+
ad_name: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
47
|
+
adset_id: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
48
|
+
adset_name: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
49
|
+
campaign_id: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
50
|
+
campaign_name: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
51
|
+
placement: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
52
|
+
site_source_name: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
53
|
+
gclid: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
54
|
+
gclsrc: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
55
|
+
gad_source: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
56
|
+
gad_campaignid: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
57
|
+
rdt_cid: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
58
|
+
rdt_uuid: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
59
|
+
dclid: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
60
|
+
ko_click_id: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
61
|
+
li_fat_id: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
62
|
+
msclkid: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
63
|
+
sccid: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
64
|
+
ttclid: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
65
|
+
twclid: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
66
|
+
wbraid: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
67
|
+
yclid: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
68
|
+
utm_source: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
69
|
+
utm_medium: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
70
|
+
utm_campaign: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
71
|
+
utm_term: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
72
|
+
utm_content: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
73
|
+
utm_id: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
74
|
+
utm_source_platform: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
75
|
+
utm_creative_format: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
76
|
+
utm_marketing_tactic: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
77
|
+
}, z.core.$strip>;
|
|
78
|
+
declare const propertiesSchema: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>, z.ZodMiniBoolean<boolean>, z.ZodMiniNull, z.ZodMiniArray<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniUnion<readonly [z.ZodMiniString<string>, z.ZodMiniNumber<number>, z.ZodMiniBoolean<boolean>, z.ZodMiniNull]>>>]>>>;
|
|
3
79
|
/** @deprecated */
|
|
4
80
|
declare const createTrackEventSchemaV1: z.ZodMiniArray<z.ZodMiniObject<{
|
|
5
81
|
name: z.ZodMiniString<string>;
|
|
@@ -59,6 +135,8 @@ declare const createTrackEventSchemaV1: z.ZodMiniArray<z.ZodMiniObject<{
|
|
|
59
135
|
gclsrc: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
60
136
|
gad_source: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
61
137
|
gad_campaignid: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
138
|
+
rdt_cid: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
139
|
+
rdt_uuid: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
62
140
|
dclid: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
63
141
|
ko_click_id: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
64
142
|
li_fat_id: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
@@ -138,6 +216,8 @@ declare const createTrackEventSchema: z.ZodMiniArray<z.ZodMiniObject<{
|
|
|
138
216
|
gclsrc: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
139
217
|
gad_source: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
140
218
|
gad_campaignid: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
219
|
+
rdt_cid: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
220
|
+
rdt_uuid: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
141
221
|
dclid: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
142
222
|
ko_click_id: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
143
223
|
li_fat_id: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
@@ -218,4 +298,4 @@ declare const createLinkSchema: z.ZodMiniObject<{
|
|
|
218
298
|
type CreateFeedbackDTO = z.output<typeof createFeedbackSchema>;
|
|
219
299
|
type CreateLinkDTO = z.output<typeof createLinkSchema>;
|
|
220
300
|
|
|
221
|
-
export { type CreateFeedbackDTO, type CreateLinkDTO, createFeedbackSchema, createLinkSchema, createTrackEventSchema, createTrackEventSchemaV1, createVisitorSchema, updateVisitorSchema };
|
|
301
|
+
export { type CreateFeedbackDTO, type CreateLinkDTO, createFeedbackSchema, createLinkSchema, createTrackEventSchema, createTrackEventSchemaV1, createVisitorSchema, propertiesSchema, tagsSchema, updateVisitorSchema };
|