@shware/analytics 0.4.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/index.ts
21
21
  var index_exports = {};
22
22
  __export(index_exports, {
23
+ createFeedbackSchema: () => import_schema.createFeedbackSchema,
23
24
  createTrackEventSchema: () => import_schema.createTrackEventSchema,
24
25
  createVisitorSchema: () => import_schema.createVisitorSchema,
25
26
  getVisitor: () => import_visitor.getVisitor,
@@ -38,6 +39,7 @@ var import_schema = require("./schema/index.cjs");
38
39
  var import_stripe = require("./utils/stripe.cjs");
39
40
  // Annotate the CommonJS export names for ESM import in node:
40
41
  0 && (module.exports = {
42
+ createFeedbackSchema,
41
43
  createTrackEventSchema,
42
44
  createVisitorSchema,
43
45
  getVisitor,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export { setupAnalytics } from './setup/index';\nexport { track, trackAsync } from './track/index';\nexport { getVisitor, setVisitor } from './visitor/index';\nexport { createTrackEventSchema, createVisitorSchema, updateVisitorSchema } from './schema/index';\nexport { stripeMinorUnits } from './utils/stripe';\nexport type {\n TrackProperties,\n TrackTags,\n AllowedPropertyValues,\n UserProvidedData,\n} from './track/types';\nexport type { VisitorProperties } from './visitor/types';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA+B;AAC/B,mBAAkC;AAClC,qBAAuC;AACvC,oBAAiF;AACjF,oBAAiC;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export { setupAnalytics } from './setup/index';\nexport { track, trackAsync } from './track/index';\nexport { getVisitor, setVisitor } from './visitor/index';\nexport {\n createTrackEventSchema,\n createVisitorSchema,\n updateVisitorSchema,\n createFeedbackSchema,\n} from './schema/index';\nexport { stripeMinorUnits } from './utils/stripe';\nexport type {\n TrackProperties,\n TrackTags,\n AllowedPropertyValues,\n UserProvidedData,\n} from './track/types';\nexport type { VisitorProperties } from './visitor/types';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA+B;AAC/B,mBAAkC;AAClC,qBAAuC;AACvC,oBAKO;AACP,oBAAiC;","names":[]}
package/dist/index.d.cts CHANGED
@@ -1,10 +1,11 @@
1
1
  export { setupAnalytics } from './setup/index.cjs';
2
2
  export { track, trackAsync } from './track/index.cjs';
3
3
  export { getVisitor, setVisitor } from './visitor/index.cjs';
4
- export { createTrackEventSchema, createVisitorSchema, updateVisitorSchema } from './schema/index.cjs';
4
+ export { createFeedbackSchema, createTrackEventSchema, createVisitorSchema, updateVisitorSchema } from './schema/index.cjs';
5
5
  export { stripeMinorUnits } from './utils/stripe.cjs';
6
6
  export { AllowedPropertyValues, TrackProperties, TrackTags, UserProvidedData } from './track/types.cjs';
7
7
  export { VisitorProperties } from './visitor/types.cjs';
8
8
  import 'axios';
9
- import 'zod/v4';
9
+ import 'zod/v4/core';
10
+ import 'zod/v4-mini';
10
11
  import './track/gtag.cjs';
package/dist/index.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  export { setupAnalytics } from './setup/index.js';
2
2
  export { track, trackAsync } from './track/index.js';
3
3
  export { getVisitor, setVisitor } from './visitor/index.js';
4
- export { createTrackEventSchema, createVisitorSchema, updateVisitorSchema } from './schema/index.js';
4
+ export { createFeedbackSchema, createTrackEventSchema, createVisitorSchema, updateVisitorSchema } from './schema/index.js';
5
5
  export { stripeMinorUnits } from './utils/stripe.js';
6
6
  export { AllowedPropertyValues, TrackProperties, TrackTags, UserProvidedData } from './track/types.js';
7
7
  export { VisitorProperties } from './visitor/types.js';
8
8
  import 'axios';
9
- import 'zod/v4';
9
+ import 'zod/v4/core';
10
+ import 'zod/v4-mini';
10
11
  import './track/gtag.js';
package/dist/index.mjs CHANGED
@@ -2,9 +2,15 @@
2
2
  import { setupAnalytics } from "./setup/index.mjs";
3
3
  import { track, trackAsync } from "./track/index.mjs";
4
4
  import { getVisitor, setVisitor } from "./visitor/index.mjs";
5
- import { createTrackEventSchema, createVisitorSchema, updateVisitorSchema } from "./schema/index.mjs";
5
+ import {
6
+ createTrackEventSchema,
7
+ createVisitorSchema,
8
+ updateVisitorSchema,
9
+ createFeedbackSchema
10
+ } from "./schema/index.mjs";
6
11
  import { stripeMinorUnits } from "./utils/stripe.mjs";
7
12
  export {
13
+ createFeedbackSchema,
8
14
  createTrackEventSchema,
9
15
  createVisitorSchema,
10
16
  getVisitor,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export { setupAnalytics } from './setup/index';\nexport { track, trackAsync } from './track/index';\nexport { getVisitor, setVisitor } from './visitor/index';\nexport { createTrackEventSchema, createVisitorSchema, updateVisitorSchema } from './schema/index';\nexport { stripeMinorUnits } from './utils/stripe';\nexport type {\n TrackProperties,\n TrackTags,\n AllowedPropertyValues,\n UserProvidedData,\n} from './track/types';\nexport type { VisitorProperties } from './visitor/types';\n"],"mappings":";AAAA,SAAS,sBAAsB;AAC/B,SAAS,OAAO,kBAAkB;AAClC,SAAS,YAAY,kBAAkB;AACvC,SAAS,wBAAwB,qBAAqB,2BAA2B;AACjF,SAAS,wBAAwB;","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["export { setupAnalytics } from './setup/index';\nexport { track, trackAsync } from './track/index';\nexport { getVisitor, setVisitor } from './visitor/index';\nexport {\n createTrackEventSchema,\n createVisitorSchema,\n updateVisitorSchema,\n createFeedbackSchema,\n} from './schema/index';\nexport { stripeMinorUnits } from './utils/stripe';\nexport type {\n TrackProperties,\n TrackTags,\n AllowedPropertyValues,\n UserProvidedData,\n} from './track/types';\nexport type { VisitorProperties } from './visitor/types';\n"],"mappings":";AAAA,SAAS,sBAAsB;AAC/B,SAAS,OAAO,kBAAkB;AAClC,SAAS,YAAY,kBAAkB;AACvC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,wBAAwB;","names":[]}
@@ -20,72 +20,90 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/schema/index.ts
21
21
  var schema_exports = {};
22
22
  __export(schema_exports, {
23
+ createFeedbackSchema: () => createFeedbackSchema,
23
24
  createTrackEventSchema: () => createTrackEventSchema,
24
25
  createVisitorSchema: () => createVisitorSchema,
25
26
  updateVisitorSchema: () => updateVisitorSchema
26
27
  });
27
28
  module.exports = __toCommonJS(schema_exports);
28
- var import_v4 = require("zod/v4");
29
- var items = import_v4.z.array(
30
- import_v4.z.record(
31
- import_v4.z.string().trim().min(1).max(128),
32
- import_v4.z.union([import_v4.z.string().max(512), import_v4.z.number(), import_v4.z.boolean(), import_v4.z.null()])
29
+ var import_v4_mini = require("zod/v4-mini");
30
+ var items = (0, import_v4_mini.array)(
31
+ (0, import_v4_mini.record)(
32
+ (0, import_v4_mini.string)().check((0, import_v4_mini.trim)(), (0, import_v4_mini.minLength)(1), (0, import_v4_mini.maxLength)(128)),
33
+ (0, import_v4_mini.union)([(0, import_v4_mini.string)().check((0, import_v4_mini.maxLength)(512)), (0, import_v4_mini.number)(), (0, import_v4_mini.boolean)(), (0, import_v4_mini.null)()])
33
34
  )
34
35
  );
35
- var createTrackEventSchema = import_v4.z.object({
36
- name: import_v4.z.string().trim().min(1).max(64),
37
- visitor_id: import_v4.z.coerce.bigint(),
38
- timestamp: import_v4.z.string().datetime(),
39
- tags: import_v4.z.object({
40
- os: import_v4.z.string().optional(),
41
- os_name: import_v4.z.string().optional(),
42
- os_version: import_v4.z.string().optional(),
43
- browser: import_v4.z.string().optional(),
44
- browser_name: import_v4.z.string().optional(),
45
- browser_version: import_v4.z.string().optional(),
46
- platform: import_v4.z.enum(["ios", "android", "web", "macos", "windows", "linux", "unknown"]).optional(),
47
- device: import_v4.z.string().optional(),
48
- device_id: import_v4.z.string().trim().min(1).max(36).optional(),
49
- device_type: import_v4.z.string().optional(),
50
- device_vendor: import_v4.z.string().optional(),
51
- device_pixel_ratio: import_v4.z.string().optional(),
52
- screen_resolution: import_v4.z.string().regex(/^\d+x\d+$/).transform((v) => v).optional(),
53
- release: import_v4.z.string().optional(),
54
- language: import_v4.z.string().optional(),
55
- time_zone: import_v4.z.string().optional(),
56
- environment: import_v4.z.enum(["development", "production"]).optional(),
57
- source_url: import_v4.z.string().optional(),
58
- source: import_v4.z.enum(["web", "app", "offline"]).optional(),
59
- fbc: import_v4.z.string().optional(),
60
- fbp: import_v4.z.string().optional(),
61
- gclid: import_v4.z.string().optional(),
62
- advertising_id: import_v4.z.string().optional(),
63
- utm_source: import_v4.z.string().optional(),
64
- utm_medium: import_v4.z.string().optional(),
65
- utm_campaign: import_v4.z.string().optional(),
66
- utm_term: import_v4.z.string().optional(),
67
- utm_content: import_v4.z.string().optional()
68
- }),
69
- properties: import_v4.z.record(
70
- import_v4.z.string().trim().min(1).max(128),
71
- import_v4.z.union([import_v4.z.string().max(512), import_v4.z.number(), import_v4.z.boolean(), import_v4.z.null(), items])
72
- ).refine((data) => Object.keys(data).length <= 64).optional()
73
- }).array().min(1).max(100);
74
- var createVisitorSchema = import_v4.z.object({
75
- device_id: import_v4.z.string().trim().min(1).max(36),
76
- properties: import_v4.z.record(
77
- import_v4.z.string().trim().min(1).max(128),
78
- import_v4.z.union([import_v4.z.string().max(512), import_v4.z.number(), import_v4.z.boolean(), import_v4.z.null()])
79
- ).refine((data) => Object.keys(data).length <= 64).optional()
36
+ var createTrackEventSchema = (0, import_v4_mini.array)(
37
+ (0, import_v4_mini.object)({
38
+ name: (0, import_v4_mini.string)().check((0, import_v4_mini.trim)(), (0, import_v4_mini.minLength)(1), (0, import_v4_mini.maxLength)(64)),
39
+ visitor_id: import_v4_mini.coerce.bigint(),
40
+ timestamp: import_v4_mini.iso.datetime(),
41
+ tags: (0, import_v4_mini.object)({
42
+ os: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
43
+ os_name: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
44
+ os_version: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
45
+ browser: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
46
+ browser_name: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
47
+ browser_version: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
48
+ platform: (0, import_v4_mini.optional)((0, import_v4_mini.enum)(["ios", "android", "web", "macos", "windows", "linux", "unknown"])),
49
+ device: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
50
+ device_id: (0, import_v4_mini.optional)((0, import_v4_mini.string)().check((0, import_v4_mini.trim)(), (0, import_v4_mini.minLength)(1), (0, import_v4_mini.maxLength)(36))),
51
+ device_type: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
52
+ device_vendor: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
53
+ device_pixel_ratio: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
54
+ screen_resolution: (0, import_v4_mini.optional)(
55
+ (0, import_v4_mini.pipe)(
56
+ (0, import_v4_mini.string)().check((0, import_v4_mini.regex)(/^\d+x\d+$/)),
57
+ (0, import_v4_mini.transform)((v) => v)
58
+ )
59
+ ),
60
+ release: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
61
+ language: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
62
+ time_zone: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
63
+ environment: (0, import_v4_mini.optional)((0, import_v4_mini.enum)(["development", "production"])),
64
+ source_url: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
65
+ source: (0, import_v4_mini.optional)((0, import_v4_mini.enum)(["web", "app", "offline"])),
66
+ fbc: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
67
+ fbp: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
68
+ gclid: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
69
+ advertising_id: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
70
+ utm_source: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
71
+ utm_medium: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
72
+ utm_campaign: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
73
+ utm_term: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
74
+ utm_content: (0, import_v4_mini.optional)((0, import_v4_mini.string)())
75
+ }),
76
+ properties: (0, import_v4_mini.optional)(
77
+ (0, import_v4_mini.record)(
78
+ (0, import_v4_mini.string)().check((0, import_v4_mini.trim)(), (0, import_v4_mini.minLength)(1), (0, import_v4_mini.maxLength)(128)),
79
+ (0, import_v4_mini.union)([(0, import_v4_mini.string)().check((0, import_v4_mini.maxLength)(512)), (0, import_v4_mini.number)(), (0, import_v4_mini.boolean)(), (0, import_v4_mini.null)(), items])
80
+ ).check((0, import_v4_mini.refine)((data) => Object.keys(data).length <= 64))
81
+ )
82
+ })
83
+ ).check((0, import_v4_mini.minLength)(1), (0, import_v4_mini.maxLength)(100));
84
+ var createVisitorSchema = (0, import_v4_mini.object)({
85
+ device_id: (0, import_v4_mini.string)().check((0, import_v4_mini.trim)(), (0, import_v4_mini.minLength)(1), (0, import_v4_mini.maxLength)(36)),
86
+ properties: (0, import_v4_mini.optional)(
87
+ (0, import_v4_mini.record)(
88
+ (0, import_v4_mini.string)().check((0, import_v4_mini.trim)(), (0, import_v4_mini.minLength)(1), (0, import_v4_mini.maxLength)(128)),
89
+ (0, import_v4_mini.union)([(0, import_v4_mini.string)().check((0, import_v4_mini.maxLength)(512)), (0, import_v4_mini.number)(), (0, import_v4_mini.boolean)(), (0, import_v4_mini.null)()])
90
+ ).check((0, import_v4_mini.refine)((data) => Object.keys(data).length <= 64))
91
+ )
92
+ });
93
+ var updateVisitorSchema = (0, import_v4_mini.object)({
94
+ properties: (0, import_v4_mini.record)(
95
+ (0, import_v4_mini.string)().check((0, import_v4_mini.trim)(), (0, import_v4_mini.minLength)(1), (0, import_v4_mini.maxLength)(128)),
96
+ (0, import_v4_mini.union)([(0, import_v4_mini.string)().check((0, import_v4_mini.maxLength)(512)), (0, import_v4_mini.number)(), (0, import_v4_mini.boolean)(), (0, import_v4_mini.null)()])
97
+ ).check((0, import_v4_mini.refine)((data) => Object.keys(data).length <= 64))
80
98
  });
81
- var updateVisitorSchema = import_v4.z.object({
82
- properties: import_v4.z.record(
83
- import_v4.z.string().trim().min(1).max(128),
84
- import_v4.z.union([import_v4.z.string().max(512), import_v4.z.number(), import_v4.z.boolean(), import_v4.z.null()])
85
- ).refine((data) => Object.keys(data).length <= 64)
99
+ var createFeedbackSchema = (0, import_v4_mini.object)({
100
+ name: (0, import_v4_mini.string)().check((0, import_v4_mini.minLength)(1), (0, import_v4_mini.maxLength)(256)),
101
+ email: (0, import_v4_mini.email)().check((0, import_v4_mini.maxLength)(320)),
102
+ message: (0, import_v4_mini.string)().check((0, import_v4_mini.minLength)(1), (0, import_v4_mini.maxLength)(65536))
86
103
  });
87
104
  // Annotate the CommonJS export names for ESM import in node:
88
105
  0 && (module.exports = {
106
+ createFeedbackSchema,
89
107
  createTrackEventSchema,
90
108
  createVisitorSchema,
91
109
  updateVisitorSchema
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schema/index.ts"],"sourcesContent":["import { z } from 'zod/v4';\n\nconst items = z.array(\n z.record(\n z.string().trim().min(1).max(128),\n z.union([z.string().max(512), z.number(), z.boolean(), z.null()])\n )\n);\n\nexport const createTrackEventSchema = z\n .object({\n name: z.string().trim().min(1).max(64),\n visitor_id: z.coerce.bigint(),\n timestamp: z.string().datetime(),\n tags: z.object({\n os: z.string().optional(),\n os_name: z.string().optional(),\n os_version: z.string().optional(),\n browser: z.string().optional(),\n browser_name: z.string().optional(),\n browser_version: z.string().optional(),\n platform: z\n .enum(['ios', 'android', 'web', 'macos', 'windows', 'linux', 'unknown'])\n .optional(),\n device: z.string().optional(),\n device_id: z.string().trim().min(1).max(36).optional(),\n device_type: z.string().optional(),\n device_vendor: z.string().optional(),\n device_pixel_ratio: z.string().optional(),\n screen_resolution: z\n .string()\n .regex(/^\\d+x\\d+$/)\n .transform((v) => v as `${number}x${number}`)\n .optional(),\n release: z.string().optional(),\n language: z.string().optional(),\n time_zone: z.string().optional(),\n environment: z.enum(['development', 'production']).optional(),\n source_url: z.string().optional(),\n source: z.enum(['web', 'app', 'offline']).optional(),\n fbc: z.string().optional(),\n fbp: z.string().optional(),\n gclid: z.string().optional(),\n advertising_id: z.string().optional(),\n utm_source: z.string().optional(),\n utm_medium: z.string().optional(),\n utm_campaign: z.string().optional(),\n utm_term: z.string().optional(),\n utm_content: z.string().optional(),\n }),\n properties: z\n .record(\n z.string().trim().min(1).max(128),\n z.union([z.string().max(512), z.number(), z.boolean(), z.null(), items])\n )\n .refine((data) => Object.keys(data).length <= 64)\n .optional(),\n })\n .array()\n .min(1)\n .max(100);\n\nexport const createVisitorSchema = z.object({\n device_id: z.string().trim().min(1).max(36),\n properties: z\n .record(\n z.string().trim().min(1).max(128),\n z.union([z.string().max(512), z.number(), z.boolean(), z.null()])\n )\n .refine((data) => Object.keys(data).length <= 64)\n .optional(),\n});\n\nexport const updateVisitorSchema = z.object({\n properties: z\n .record(\n z.string().trim().min(1).max(128),\n z.union([z.string().max(512), z.number(), z.boolean(), z.null()])\n )\n .refine((data) => Object.keys(data).length <= 64),\n});\n"],"mappings":"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","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} from 'zod/v4-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 createTrackEventSchema = 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 fbc: optional(string()),\n fbp: optional(string()),\n gclid: optional(string()),\n advertising_id: optional(string()),\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 properties: 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\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"],"mappings":"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","names":["_null","_enum"]}
@@ -1,17 +1,19 @@
1
- import { z } from 'zod/v4';
1
+ import * as zod_v4_core from 'zod/v4/core';
2
+ import * as zod_v4_mini from 'zod/v4-mini';
3
+ import { iso } from 'zod/v4-mini';
2
4
 
3
- declare const createTrackEventSchema: z.ZodArray<z.ZodObject<{
4
- name: z.ZodString;
5
- visitor_id: z.ZodCoercedBigInt<unknown>;
6
- timestamp: z.ZodString;
7
- tags: z.ZodObject<{
8
- os: z.ZodOptional<z.ZodString>;
9
- os_name: z.ZodOptional<z.ZodString>;
10
- os_version: z.ZodOptional<z.ZodString>;
11
- browser: z.ZodOptional<z.ZodString>;
12
- browser_name: z.ZodOptional<z.ZodString>;
13
- browser_version: z.ZodOptional<z.ZodString>;
14
- platform: z.ZodOptional<z.ZodEnum<{
5
+ declare const createTrackEventSchema: zod_v4_mini.ZodMiniArray<zod_v4_mini.ZodMiniObject<{
6
+ name: zod_v4_mini.ZodMiniString<string>;
7
+ visitor_id: zod_v4_mini.ZodMiniBigInt<unknown>;
8
+ timestamp: iso.ZodMiniISODateTime;
9
+ tags: zod_v4_mini.ZodMiniObject<{
10
+ os: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
11
+ os_name: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
12
+ os_version: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
13
+ browser: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
14
+ browser_name: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
15
+ browser_version: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
16
+ platform: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniEnum<{
15
17
  ios: "ios";
16
18
  android: "android";
17
19
  web: "web";
@@ -20,43 +22,48 @@ declare const createTrackEventSchema: z.ZodArray<z.ZodObject<{
20
22
  linux: "linux";
21
23
  unknown: "unknown";
22
24
  }>>;
23
- device: z.ZodOptional<z.ZodString>;
24
- device_id: z.ZodOptional<z.ZodString>;
25
- device_type: z.ZodOptional<z.ZodString>;
26
- device_vendor: z.ZodOptional<z.ZodString>;
27
- device_pixel_ratio: z.ZodOptional<z.ZodString>;
28
- screen_resolution: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<`${number}x${number}`, string>>>;
29
- release: z.ZodOptional<z.ZodString>;
30
- language: z.ZodOptional<z.ZodString>;
31
- time_zone: z.ZodOptional<z.ZodString>;
32
- environment: z.ZodOptional<z.ZodEnum<{
25
+ device: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
26
+ device_id: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
27
+ device_type: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
28
+ device_vendor: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
29
+ device_pixel_ratio: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
30
+ screen_resolution: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniPipe<zod_v4_mini.ZodMiniString<string>, zod_v4_mini.ZodMiniTransform<`${number}x${number}`, string>>>;
31
+ release: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
32
+ language: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
33
+ time_zone: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
34
+ environment: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniEnum<{
33
35
  development: "development";
34
36
  production: "production";
35
37
  }>>;
36
- source_url: z.ZodOptional<z.ZodString>;
37
- source: z.ZodOptional<z.ZodEnum<{
38
+ source_url: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
39
+ source: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniEnum<{
38
40
  web: "web";
39
41
  app: "app";
40
42
  offline: "offline";
41
43
  }>>;
42
- fbc: z.ZodOptional<z.ZodString>;
43
- fbp: z.ZodOptional<z.ZodString>;
44
- gclid: z.ZodOptional<z.ZodString>;
45
- advertising_id: z.ZodOptional<z.ZodString>;
46
- utm_source: z.ZodOptional<z.ZodString>;
47
- utm_medium: z.ZodOptional<z.ZodString>;
48
- utm_campaign: z.ZodOptional<z.ZodString>;
49
- utm_term: z.ZodOptional<z.ZodString>;
50
- utm_content: z.ZodOptional<z.ZodString>;
51
- }, z.core.$strip>;
52
- properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>]>>>;
53
- }, z.core.$strip>>;
54
- declare const createVisitorSchema: z.ZodObject<{
55
- device_id: z.ZodString;
56
- properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
57
- }, z.core.$strip>;
58
- declare const updateVisitorSchema: z.ZodObject<{
59
- properties: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>;
60
- }, z.core.$strip>;
44
+ fbc: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
45
+ fbp: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
46
+ gclid: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
47
+ advertising_id: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
48
+ utm_source: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
49
+ utm_medium: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
50
+ utm_campaign: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
51
+ utm_term: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
52
+ utm_content: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
53
+ }, zod_v4_core.$strip>;
54
+ properties: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniRecord<zod_v4_mini.ZodMiniString<string>, zod_v4_mini.ZodMiniUnion<readonly [zod_v4_mini.ZodMiniString<string>, zod_v4_mini.ZodMiniNumber<number>, zod_v4_mini.ZodMiniBoolean<boolean>, zod_v4_mini.ZodMiniNull, zod_v4_mini.ZodMiniArray<zod_v4_mini.ZodMiniRecord<zod_v4_mini.ZodMiniString<string>, zod_v4_mini.ZodMiniUnion<readonly [zod_v4_mini.ZodMiniString<string>, zod_v4_mini.ZodMiniNumber<number>, zod_v4_mini.ZodMiniBoolean<boolean>, zod_v4_mini.ZodMiniNull]>>>]>>>;
55
+ }, zod_v4_core.$strip>>;
56
+ declare const createVisitorSchema: zod_v4_mini.ZodMiniObject<{
57
+ device_id: zod_v4_mini.ZodMiniString<string>;
58
+ properties: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniRecord<zod_v4_mini.ZodMiniString<string>, zod_v4_mini.ZodMiniUnion<readonly [zod_v4_mini.ZodMiniString<string>, zod_v4_mini.ZodMiniNumber<number>, zod_v4_mini.ZodMiniBoolean<boolean>, zod_v4_mini.ZodMiniNull]>>>;
59
+ }, zod_v4_core.$strip>;
60
+ declare const updateVisitorSchema: zod_v4_mini.ZodMiniObject<{
61
+ properties: zod_v4_mini.ZodMiniRecord<zod_v4_mini.ZodMiniString<string>, zod_v4_mini.ZodMiniUnion<readonly [zod_v4_mini.ZodMiniString<string>, zod_v4_mini.ZodMiniNumber<number>, zod_v4_mini.ZodMiniBoolean<boolean>, zod_v4_mini.ZodMiniNull]>>;
62
+ }, zod_v4_core.$strip>;
63
+ declare const createFeedbackSchema: zod_v4_mini.ZodMiniObject<{
64
+ name: zod_v4_mini.ZodMiniString<string>;
65
+ email: zod_v4_mini.ZodMiniEmail;
66
+ message: zod_v4_mini.ZodMiniString<string>;
67
+ }, zod_v4_core.$strip>;
61
68
 
62
- export { createTrackEventSchema, createVisitorSchema, updateVisitorSchema };
69
+ export { createFeedbackSchema, createTrackEventSchema, createVisitorSchema, updateVisitorSchema };
@@ -1,17 +1,19 @@
1
- import { z } from 'zod/v4';
1
+ import * as zod_v4_core from 'zod/v4/core';
2
+ import * as zod_v4_mini from 'zod/v4-mini';
3
+ import { iso } from 'zod/v4-mini';
2
4
 
3
- declare const createTrackEventSchema: z.ZodArray<z.ZodObject<{
4
- name: z.ZodString;
5
- visitor_id: z.ZodCoercedBigInt<unknown>;
6
- timestamp: z.ZodString;
7
- tags: z.ZodObject<{
8
- os: z.ZodOptional<z.ZodString>;
9
- os_name: z.ZodOptional<z.ZodString>;
10
- os_version: z.ZodOptional<z.ZodString>;
11
- browser: z.ZodOptional<z.ZodString>;
12
- browser_name: z.ZodOptional<z.ZodString>;
13
- browser_version: z.ZodOptional<z.ZodString>;
14
- platform: z.ZodOptional<z.ZodEnum<{
5
+ declare const createTrackEventSchema: zod_v4_mini.ZodMiniArray<zod_v4_mini.ZodMiniObject<{
6
+ name: zod_v4_mini.ZodMiniString<string>;
7
+ visitor_id: zod_v4_mini.ZodMiniBigInt<unknown>;
8
+ timestamp: iso.ZodMiniISODateTime;
9
+ tags: zod_v4_mini.ZodMiniObject<{
10
+ os: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
11
+ os_name: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
12
+ os_version: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
13
+ browser: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
14
+ browser_name: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
15
+ browser_version: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
16
+ platform: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniEnum<{
15
17
  ios: "ios";
16
18
  android: "android";
17
19
  web: "web";
@@ -20,43 +22,48 @@ declare const createTrackEventSchema: z.ZodArray<z.ZodObject<{
20
22
  linux: "linux";
21
23
  unknown: "unknown";
22
24
  }>>;
23
- device: z.ZodOptional<z.ZodString>;
24
- device_id: z.ZodOptional<z.ZodString>;
25
- device_type: z.ZodOptional<z.ZodString>;
26
- device_vendor: z.ZodOptional<z.ZodString>;
27
- device_pixel_ratio: z.ZodOptional<z.ZodString>;
28
- screen_resolution: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<`${number}x${number}`, string>>>;
29
- release: z.ZodOptional<z.ZodString>;
30
- language: z.ZodOptional<z.ZodString>;
31
- time_zone: z.ZodOptional<z.ZodString>;
32
- environment: z.ZodOptional<z.ZodEnum<{
25
+ device: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
26
+ device_id: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
27
+ device_type: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
28
+ device_vendor: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
29
+ device_pixel_ratio: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
30
+ screen_resolution: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniPipe<zod_v4_mini.ZodMiniString<string>, zod_v4_mini.ZodMiniTransform<`${number}x${number}`, string>>>;
31
+ release: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
32
+ language: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
33
+ time_zone: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
34
+ environment: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniEnum<{
33
35
  development: "development";
34
36
  production: "production";
35
37
  }>>;
36
- source_url: z.ZodOptional<z.ZodString>;
37
- source: z.ZodOptional<z.ZodEnum<{
38
+ source_url: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
39
+ source: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniEnum<{
38
40
  web: "web";
39
41
  app: "app";
40
42
  offline: "offline";
41
43
  }>>;
42
- fbc: z.ZodOptional<z.ZodString>;
43
- fbp: z.ZodOptional<z.ZodString>;
44
- gclid: z.ZodOptional<z.ZodString>;
45
- advertising_id: z.ZodOptional<z.ZodString>;
46
- utm_source: z.ZodOptional<z.ZodString>;
47
- utm_medium: z.ZodOptional<z.ZodString>;
48
- utm_campaign: z.ZodOptional<z.ZodString>;
49
- utm_term: z.ZodOptional<z.ZodString>;
50
- utm_content: z.ZodOptional<z.ZodString>;
51
- }, z.core.$strip>;
52
- properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull, z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>]>>>;
53
- }, z.core.$strip>>;
54
- declare const createVisitorSchema: z.ZodObject<{
55
- device_id: z.ZodString;
56
- properties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
57
- }, z.core.$strip>;
58
- declare const updateVisitorSchema: z.ZodObject<{
59
- properties: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>;
60
- }, z.core.$strip>;
44
+ fbc: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
45
+ fbp: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
46
+ gclid: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
47
+ advertising_id: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
48
+ utm_source: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
49
+ utm_medium: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
50
+ utm_campaign: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
51
+ utm_term: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
52
+ utm_content: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniString<string>>;
53
+ }, zod_v4_core.$strip>;
54
+ properties: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniRecord<zod_v4_mini.ZodMiniString<string>, zod_v4_mini.ZodMiniUnion<readonly [zod_v4_mini.ZodMiniString<string>, zod_v4_mini.ZodMiniNumber<number>, zod_v4_mini.ZodMiniBoolean<boolean>, zod_v4_mini.ZodMiniNull, zod_v4_mini.ZodMiniArray<zod_v4_mini.ZodMiniRecord<zod_v4_mini.ZodMiniString<string>, zod_v4_mini.ZodMiniUnion<readonly [zod_v4_mini.ZodMiniString<string>, zod_v4_mini.ZodMiniNumber<number>, zod_v4_mini.ZodMiniBoolean<boolean>, zod_v4_mini.ZodMiniNull]>>>]>>>;
55
+ }, zod_v4_core.$strip>>;
56
+ declare const createVisitorSchema: zod_v4_mini.ZodMiniObject<{
57
+ device_id: zod_v4_mini.ZodMiniString<string>;
58
+ properties: zod_v4_mini.ZodMiniOptional<zod_v4_mini.ZodMiniRecord<zod_v4_mini.ZodMiniString<string>, zod_v4_mini.ZodMiniUnion<readonly [zod_v4_mini.ZodMiniString<string>, zod_v4_mini.ZodMiniNumber<number>, zod_v4_mini.ZodMiniBoolean<boolean>, zod_v4_mini.ZodMiniNull]>>>;
59
+ }, zod_v4_core.$strip>;
60
+ declare const updateVisitorSchema: zod_v4_mini.ZodMiniObject<{
61
+ properties: zod_v4_mini.ZodMiniRecord<zod_v4_mini.ZodMiniString<string>, zod_v4_mini.ZodMiniUnion<readonly [zod_v4_mini.ZodMiniString<string>, zod_v4_mini.ZodMiniNumber<number>, zod_v4_mini.ZodMiniBoolean<boolean>, zod_v4_mini.ZodMiniNull]>>;
62
+ }, zod_v4_core.$strip>;
63
+ declare const createFeedbackSchema: zod_v4_mini.ZodMiniObject<{
64
+ name: zod_v4_mini.ZodMiniString<string>;
65
+ email: zod_v4_mini.ZodMiniEmail;
66
+ message: zod_v4_mini.ZodMiniString<string>;
67
+ }, zod_v4_core.$strip>;
61
68
 
62
- export { createTrackEventSchema, createVisitorSchema, updateVisitorSchema };
69
+ export { createFeedbackSchema, createTrackEventSchema, createVisitorSchema, updateVisitorSchema };
@@ -1,64 +1,102 @@
1
1
  // src/schema/index.ts
2
- import { z } from "zod/v4";
3
- var items = z.array(
4
- z.record(
5
- z.string().trim().min(1).max(128),
6
- z.union([z.string().max(512), z.number(), z.boolean(), z.null()])
2
+ import {
3
+ optional,
4
+ object,
5
+ string,
6
+ regex,
7
+ number,
8
+ boolean,
9
+ null as _null,
10
+ coerce,
11
+ enum as _enum,
12
+ trim,
13
+ union,
14
+ record,
15
+ array,
16
+ iso,
17
+ minLength,
18
+ maxLength,
19
+ refine,
20
+ pipe,
21
+ transform,
22
+ email
23
+ } from "zod/v4-mini";
24
+ var items = array(
25
+ record(
26
+ string().check(trim(), minLength(1), maxLength(128)),
27
+ union([string().check(maxLength(512)), number(), boolean(), _null()])
7
28
  )
8
29
  );
9
- var createTrackEventSchema = z.object({
10
- name: z.string().trim().min(1).max(64),
11
- visitor_id: z.coerce.bigint(),
12
- timestamp: z.string().datetime(),
13
- tags: z.object({
14
- os: z.string().optional(),
15
- os_name: z.string().optional(),
16
- os_version: z.string().optional(),
17
- browser: z.string().optional(),
18
- browser_name: z.string().optional(),
19
- browser_version: z.string().optional(),
20
- platform: z.enum(["ios", "android", "web", "macos", "windows", "linux", "unknown"]).optional(),
21
- device: z.string().optional(),
22
- device_id: z.string().trim().min(1).max(36).optional(),
23
- device_type: z.string().optional(),
24
- device_vendor: z.string().optional(),
25
- device_pixel_ratio: z.string().optional(),
26
- screen_resolution: z.string().regex(/^\d+x\d+$/).transform((v) => v).optional(),
27
- release: z.string().optional(),
28
- language: z.string().optional(),
29
- time_zone: z.string().optional(),
30
- environment: z.enum(["development", "production"]).optional(),
31
- source_url: z.string().optional(),
32
- source: z.enum(["web", "app", "offline"]).optional(),
33
- fbc: z.string().optional(),
34
- fbp: z.string().optional(),
35
- gclid: z.string().optional(),
36
- advertising_id: z.string().optional(),
37
- utm_source: z.string().optional(),
38
- utm_medium: z.string().optional(),
39
- utm_campaign: z.string().optional(),
40
- utm_term: z.string().optional(),
41
- utm_content: z.string().optional()
42
- }),
43
- properties: z.record(
44
- z.string().trim().min(1).max(128),
45
- z.union([z.string().max(512), z.number(), z.boolean(), z.null(), items])
46
- ).refine((data) => Object.keys(data).length <= 64).optional()
47
- }).array().min(1).max(100);
48
- var createVisitorSchema = z.object({
49
- device_id: z.string().trim().min(1).max(36),
50
- properties: z.record(
51
- z.string().trim().min(1).max(128),
52
- z.union([z.string().max(512), z.number(), z.boolean(), z.null()])
53
- ).refine((data) => Object.keys(data).length <= 64).optional()
30
+ var createTrackEventSchema = array(
31
+ object({
32
+ name: string().check(trim(), minLength(1), maxLength(64)),
33
+ visitor_id: coerce.bigint(),
34
+ timestamp: iso.datetime(),
35
+ tags: object({
36
+ os: optional(string()),
37
+ os_name: optional(string()),
38
+ os_version: optional(string()),
39
+ browser: optional(string()),
40
+ browser_name: optional(string()),
41
+ browser_version: optional(string()),
42
+ platform: optional(_enum(["ios", "android", "web", "macos", "windows", "linux", "unknown"])),
43
+ device: optional(string()),
44
+ device_id: optional(string().check(trim(), minLength(1), maxLength(36))),
45
+ device_type: optional(string()),
46
+ device_vendor: optional(string()),
47
+ device_pixel_ratio: optional(string()),
48
+ screen_resolution: optional(
49
+ pipe(
50
+ string().check(regex(/^\d+x\d+$/)),
51
+ transform((v) => v)
52
+ )
53
+ ),
54
+ release: optional(string()),
55
+ language: optional(string()),
56
+ time_zone: optional(string()),
57
+ environment: optional(_enum(["development", "production"])),
58
+ source_url: optional(string()),
59
+ source: optional(_enum(["web", "app", "offline"])),
60
+ fbc: optional(string()),
61
+ fbp: optional(string()),
62
+ gclid: optional(string()),
63
+ advertising_id: optional(string()),
64
+ utm_source: optional(string()),
65
+ utm_medium: optional(string()),
66
+ utm_campaign: optional(string()),
67
+ utm_term: optional(string()),
68
+ utm_content: optional(string())
69
+ }),
70
+ properties: optional(
71
+ record(
72
+ string().check(trim(), minLength(1), maxLength(128)),
73
+ union([string().check(maxLength(512)), number(), boolean(), _null(), items])
74
+ ).check(refine((data) => Object.keys(data).length <= 64))
75
+ )
76
+ })
77
+ ).check(minLength(1), maxLength(100));
78
+ var createVisitorSchema = object({
79
+ device_id: string().check(trim(), minLength(1), maxLength(36)),
80
+ properties: optional(
81
+ record(
82
+ string().check(trim(), minLength(1), maxLength(128)),
83
+ union([string().check(maxLength(512)), number(), boolean(), _null()])
84
+ ).check(refine((data) => Object.keys(data).length <= 64))
85
+ )
86
+ });
87
+ var updateVisitorSchema = object({
88
+ properties: record(
89
+ string().check(trim(), minLength(1), maxLength(128)),
90
+ union([string().check(maxLength(512)), number(), boolean(), _null()])
91
+ ).check(refine((data) => Object.keys(data).length <= 64))
54
92
  });
55
- var updateVisitorSchema = z.object({
56
- properties: z.record(
57
- z.string().trim().min(1).max(128),
58
- z.union([z.string().max(512), z.number(), z.boolean(), z.null()])
59
- ).refine((data) => Object.keys(data).length <= 64)
93
+ var createFeedbackSchema = object({
94
+ name: string().check(minLength(1), maxLength(256)),
95
+ email: email().check(maxLength(320)),
96
+ message: string().check(minLength(1), maxLength(65536))
60
97
  });
61
98
  export {
99
+ createFeedbackSchema,
62
100
  createTrackEventSchema,
63
101
  createVisitorSchema,
64
102
  updateVisitorSchema
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schema/index.ts"],"sourcesContent":["import { z } from 'zod/v4';\n\nconst items = z.array(\n z.record(\n z.string().trim().min(1).max(128),\n z.union([z.string().max(512), z.number(), z.boolean(), z.null()])\n )\n);\n\nexport const createTrackEventSchema = z\n .object({\n name: z.string().trim().min(1).max(64),\n visitor_id: z.coerce.bigint(),\n timestamp: z.string().datetime(),\n tags: z.object({\n os: z.string().optional(),\n os_name: z.string().optional(),\n os_version: z.string().optional(),\n browser: z.string().optional(),\n browser_name: z.string().optional(),\n browser_version: z.string().optional(),\n platform: z\n .enum(['ios', 'android', 'web', 'macos', 'windows', 'linux', 'unknown'])\n .optional(),\n device: z.string().optional(),\n device_id: z.string().trim().min(1).max(36).optional(),\n device_type: z.string().optional(),\n device_vendor: z.string().optional(),\n device_pixel_ratio: z.string().optional(),\n screen_resolution: z\n .string()\n .regex(/^\\d+x\\d+$/)\n .transform((v) => v as `${number}x${number}`)\n .optional(),\n release: z.string().optional(),\n language: z.string().optional(),\n time_zone: z.string().optional(),\n environment: z.enum(['development', 'production']).optional(),\n source_url: z.string().optional(),\n source: z.enum(['web', 'app', 'offline']).optional(),\n fbc: z.string().optional(),\n fbp: z.string().optional(),\n gclid: z.string().optional(),\n advertising_id: z.string().optional(),\n utm_source: z.string().optional(),\n utm_medium: z.string().optional(),\n utm_campaign: z.string().optional(),\n utm_term: z.string().optional(),\n utm_content: z.string().optional(),\n }),\n properties: z\n .record(\n z.string().trim().min(1).max(128),\n z.union([z.string().max(512), z.number(), z.boolean(), z.null(), items])\n )\n .refine((data) => Object.keys(data).length <= 64)\n .optional(),\n })\n .array()\n .min(1)\n .max(100);\n\nexport const createVisitorSchema = z.object({\n device_id: z.string().trim().min(1).max(36),\n properties: z\n .record(\n z.string().trim().min(1).max(128),\n z.union([z.string().max(512), z.number(), z.boolean(), z.null()])\n )\n .refine((data) => Object.keys(data).length <= 64)\n .optional(),\n});\n\nexport const updateVisitorSchema = z.object({\n properties: z\n .record(\n z.string().trim().min(1).max(128),\n z.union([z.string().max(512), z.number(), z.boolean(), z.null()])\n )\n .refine((data) => Object.keys(data).length <= 64),\n});\n"],"mappings":"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","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} from 'zod/v4-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 createTrackEventSchema = 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 fbc: optional(string()),\n fbp: optional(string()),\n gclid: optional(string()),\n advertising_id: optional(string()),\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 properties: 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\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"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shware/analytics",
3
- "version": "0.4.0",
3
+ "version": "0.5.1",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "scripts": {
@@ -9,6 +9,10 @@
9
9
  "build:tsup": "tsup",
10
10
  "build:unbuild": "unbuild"
11
11
  },
12
+ "repository": {
13
+ "type": "git",
14
+ "url": "git+https://github.com/ShwareHQ/shware-sdk.git"
15
+ },
12
16
  "exports": {
13
17
  ".": {
14
18
  "types": "./dist/index.d.ts",
@@ -50,13 +54,13 @@
50
54
  "bowser": "^2.11.0",
51
55
  "cookie": "^1.0.2",
52
56
  "uuid": "^11.1.0",
53
- "web-vitals": "^5.0.2",
54
- "zod": "^3.25.53"
57
+ "web-vitals": "^5.0.3",
58
+ "zod": "^3.25.63"
55
59
  },
56
60
  "devDependencies": {
57
61
  "@types/facebook-nodejs-business-sdk": "^22.0.0",
58
- "@types/node": "^22.15.30",
59
- "@types/react": "^19.1.6",
62
+ "@types/node": "^24.0.1",
63
+ "@types/react": "^19.1.8",
60
64
  "typescript": "^5.8.3"
61
65
  },
62
66
  "peerDependencies": {