@ominity/api-typescript 1.1.4 → 1.1.6

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.
Files changed (68) hide show
  1. package/README.md +1 -0
  2. package/dist/commonjs/funcs/commerce/cartItemsDelete.js +2 -1
  3. package/dist/commonjs/funcs/commerce/cartItemsDelete.js.map +1 -1
  4. package/dist/commonjs/funcs/commerce/cartItemsGet.js +2 -1
  5. package/dist/commonjs/funcs/commerce/cartItemsGet.js.map +1 -1
  6. package/dist/commonjs/funcs/commerce/cartItemsUpdate.js +2 -1
  7. package/dist/commonjs/funcs/commerce/cartItemsUpdate.js.map +1 -1
  8. package/dist/commonjs/index.d.ts +1 -0
  9. package/dist/commonjs/index.d.ts.map +1 -1
  10. package/dist/commonjs/index.js +1 -0
  11. package/dist/commonjs/index.js.map +1 -1
  12. package/dist/commonjs/lib/config.d.ts +3 -3
  13. package/dist/commonjs/lib/config.js +1 -1
  14. package/dist/commonjs/sdk/index.d.ts +1 -0
  15. package/dist/commonjs/sdk/index.d.ts.map +1 -1
  16. package/dist/commonjs/sdk/index.js +1 -0
  17. package/dist/commonjs/sdk/index.js.map +1 -1
  18. package/dist/commonjs/sdk/sdk.d.ts +3 -0
  19. package/dist/commonjs/sdk/sdk.d.ts.map +1 -1
  20. package/dist/commonjs/sdk/sdk.js +4 -0
  21. package/dist/commonjs/sdk/sdk.js.map +1 -1
  22. package/dist/commonjs/sdk/tracking/events.d.ts +27 -0
  23. package/dist/commonjs/sdk/tracking/events.d.ts.map +1 -0
  24. package/dist/commonjs/sdk/tracking/events.js +137 -0
  25. package/dist/commonjs/sdk/tracking/events.js.map +1 -0
  26. package/dist/commonjs/sdk/tracking/index.d.ts +12 -0
  27. package/dist/commonjs/sdk/tracking/index.d.ts.map +1 -0
  28. package/dist/commonjs/sdk/tracking/index.js +35 -0
  29. package/dist/commonjs/sdk/tracking/index.js.map +1 -0
  30. package/dist/esm/funcs/commerce/cartItemsDelete.js +2 -1
  31. package/dist/esm/funcs/commerce/cartItemsDelete.js.map +1 -1
  32. package/dist/esm/funcs/commerce/cartItemsGet.js +2 -1
  33. package/dist/esm/funcs/commerce/cartItemsGet.js.map +1 -1
  34. package/dist/esm/funcs/commerce/cartItemsUpdate.js +2 -1
  35. package/dist/esm/funcs/commerce/cartItemsUpdate.js.map +1 -1
  36. package/dist/esm/index.d.ts +1 -0
  37. package/dist/esm/index.d.ts.map +1 -1
  38. package/dist/esm/index.js +1 -0
  39. package/dist/esm/index.js.map +1 -1
  40. package/dist/esm/lib/config.d.ts +3 -3
  41. package/dist/esm/lib/config.js +1 -1
  42. package/dist/esm/sdk/index.d.ts +1 -0
  43. package/dist/esm/sdk/index.d.ts.map +1 -1
  44. package/dist/esm/sdk/index.js +1 -0
  45. package/dist/esm/sdk/index.js.map +1 -1
  46. package/dist/esm/sdk/sdk.d.ts +3 -0
  47. package/dist/esm/sdk/sdk.d.ts.map +1 -1
  48. package/dist/esm/sdk/sdk.js +4 -0
  49. package/dist/esm/sdk/sdk.js.map +1 -1
  50. package/dist/esm/sdk/tracking/events.d.ts +27 -0
  51. package/dist/esm/sdk/tracking/events.d.ts.map +1 -0
  52. package/dist/esm/sdk/tracking/events.js +133 -0
  53. package/dist/esm/sdk/tracking/events.js.map +1 -0
  54. package/dist/esm/sdk/tracking/index.d.ts +12 -0
  55. package/dist/esm/sdk/tracking/index.d.ts.map +1 -0
  56. package/dist/esm/sdk/tracking/index.js +31 -0
  57. package/dist/esm/sdk/tracking/index.js.map +1 -0
  58. package/jsr.json +1 -1
  59. package/package.json +1 -1
  60. package/src/funcs/commerce/cartItemsDelete.ts +2 -2
  61. package/src/funcs/commerce/cartItemsGet.ts +2 -2
  62. package/src/funcs/commerce/cartItemsUpdate.ts +2 -2
  63. package/src/index.ts +1 -0
  64. package/src/lib/config.ts +1 -1
  65. package/src/sdk/index.ts +1 -0
  66. package/src/sdk/sdk.ts +6 -0
  67. package/src/sdk/tracking/events.ts +200 -0
  68. package/src/sdk/tracking/index.ts +34 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sdk/index.ts"],"names":[],"mappings":"AACA,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/sdk/index.ts"],"names":[],"mappings":"AACA,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC"}
@@ -9,6 +9,7 @@ import { OAuth2 } from "./oauth2.js";
9
9
  import { Settings } from "./settings/index.js";
10
10
  import { Users } from "./users/index.js";
11
11
  import { Admins } from "./admins.js";
12
+ import { Tracking } from "./tracking/index.js";
12
13
  import type { SDKOptions } from "../lib/config.js";
13
14
  import type { OminityModuleInput, OminityModules } from "./modules.js";
14
15
  export type OminityOptions = SDKOptions & {
@@ -28,6 +29,8 @@ export declare class Ominity extends ClientSDK {
28
29
  get settings(): Settings;
29
30
  private _http?;
30
31
  get http(): Http;
32
+ private _tracking?;
33
+ get tracking(): Tracking;
31
34
  private _localization?;
32
35
  get localization(): Localization;
33
36
  private _oauth2?;
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../../src/sdk/sdk.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACf,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG;IACxC,OAAO,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;CAC1D,CAAC;AAEF,qBAAa,OAAQ,SAAQ,SAAS;IACpC,SAAgB,OAAO,EAAE,cAAc,CAAwB;gBAEnD,OAAO,GAAE,cAAmB;IAWxC,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,IAAI;IAO3C,OAAO,CAAC,SAAS,CAAC,CAAW;IAC7B,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,OAAO,CAAC,IAAI,CAAC,CAAM;IACnB,IAAI,GAAG,IAAI,GAAG,CAEb;IAED,OAAO,CAAC,SAAS,CAAC,CAAW;IAC7B,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,OAAO,CAAC,SAAS,CAAC,CAAW;IAC7B,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,OAAO,CAAC,KAAK,CAAC,CAAO;IACrB,IAAI,IAAI,IAAI,IAAI,CAEf;IAED,OAAO,CAAC,aAAa,CAAC,CAAe;IACrC,IAAI,YAAY,IAAI,YAAY,CAE/B;IAED,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,OAAO,CAAC,GAAG,CAAC,CAAK;IACjB,IAAI,EAAE,IAAI,EAAE,CAEX;IAED,OAAO,CAAC,MAAM,CAAC,CAAQ;IACvB,IAAI,KAAK,IAAI,KAAK,CAEjB;IAED,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,IAAI,MAAM,IAAI,MAAM,CAEnB;CACF"}
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../../src/sdk/sdk.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACf,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG;IACxC,OAAO,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;CAC1D,CAAC;AAEF,qBAAa,OAAQ,SAAQ,SAAS;IACpC,SAAgB,OAAO,EAAE,cAAc,CAAwB;gBAEnD,OAAO,GAAE,cAAmB;IAWxC,GAAG,CAAC,GAAG,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,IAAI;IAO3C,OAAO,CAAC,SAAS,CAAC,CAAW;IAC7B,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,OAAO,CAAC,IAAI,CAAC,CAAM;IACnB,IAAI,GAAG,IAAI,GAAG,CAEb;IAED,OAAO,CAAC,SAAS,CAAC,CAAW;IAC7B,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,OAAO,CAAC,SAAS,CAAC,CAAW;IAC7B,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,OAAO,CAAC,KAAK,CAAC,CAAO;IACrB,IAAI,IAAI,IAAI,IAAI,CAEf;IAED,OAAO,CAAC,SAAS,CAAC,CAAW;IAC7B,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,OAAO,CAAC,aAAa,CAAC,CAAe;IACrC,IAAI,YAAY,IAAI,YAAY,CAE/B;IAED,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,OAAO,CAAC,GAAG,CAAC,CAAK;IACjB,IAAI,EAAE,IAAI,EAAE,CAEX;IAED,OAAO,CAAC,MAAM,CAAC,CAAQ;IACvB,IAAI,KAAK,IAAI,KAAK,CAEjB;IAED,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,IAAI,MAAM,IAAI,MAAM,CAEnB;CACF"}
@@ -9,6 +9,7 @@ import { OAuth2 } from "./oauth2.js";
9
9
  import { Settings } from "./settings/index.js";
10
10
  import { Users } from "./users/index.js";
11
11
  import { Admins } from "./admins.js";
12
+ import { Tracking } from "./tracking/index.js";
12
13
  export class Ominity extends ClientSDK {
13
14
  constructor(options = {}) {
14
15
  const { modules, ...sdkOptions } = options;
@@ -41,6 +42,9 @@ export class Ominity extends ClientSDK {
41
42
  get http() {
42
43
  return (this._http ?? (this._http = new Http(this._options)));
43
44
  }
45
+ get tracking() {
46
+ return (this._tracking ?? (this._tracking = new Tracking(this.http)));
47
+ }
44
48
  get localization() {
45
49
  return (this._localization ?? (this._localization = new Localization(this._options)));
46
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../../src/sdk/sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../../src/sdk/sdk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { RequestOptions } from "../../lib/sdks.js";
2
+ import { Http } from "../http.js";
3
+ export type TrackingEventName = "page_view" | "product_view" | "cart_view" | "add_to_cart" | "remove_from_cart" | "checkout_started" | "purchase" | "button_click" | string;
4
+ export type TrackingEventMetadata = Readonly<Record<string, unknown>>;
5
+ export type TrackingEventUtm = Readonly<Record<string, string>>;
6
+ export interface TrackEventRequest {
7
+ readonly event: TrackingEventName;
8
+ readonly timestamp?: string | Date;
9
+ readonly title?: string;
10
+ readonly url?: string;
11
+ readonly metadata?: TrackingEventMetadata;
12
+ readonly visitorId?: string;
13
+ readonly userId?: number;
14
+ readonly referrer?: string;
15
+ readonly utm?: TrackingEventUtm;
16
+ }
17
+ export interface TrackEventResponse {
18
+ readonly success: boolean;
19
+ readonly visitorId: string;
20
+ }
21
+ export declare class TrackingEvents {
22
+ #private;
23
+ constructor(http: Http);
24
+ create(request: TrackEventRequest, options?: RequestOptions): Promise<TrackEventResponse>;
25
+ track(request: TrackEventRequest, options?: RequestOptions): Promise<TrackEventResponse>;
26
+ }
27
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../src/sdk/tracking/events.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,MAAM,MAAM,iBAAiB,GACzB,WAAW,GACX,cAAc,GACd,WAAW,GACX,aAAa,GACb,kBAAkB,GAClB,kBAAkB,GAClB,UAAU,GACV,cAAc,GACd,MAAM,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AACtE,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEhE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,gBAAgB,CAAC;CACjC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AA0ID,qBAAa,cAAc;;gBAGb,IAAI,EAAE,IAAI;IAIhB,MAAM,CACV,OAAO,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,kBAAkB,CAAC;IASxB,KAAK,CACT,OAAO,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,kBAAkB,CAAC;CAG/B"}
@@ -0,0 +1,133 @@
1
+ /*
2
+ * Tracking Events SDK.
3
+ */
4
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
5
+ if (kind === "m") throw new TypeError("Private method is not writable");
6
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
7
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
8
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
9
+ };
10
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
11
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
12
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
13
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
14
+ };
15
+ var _TrackingEvents_http;
16
+ function asNonEmptyString(value) {
17
+ if (typeof value !== "string") {
18
+ return;
19
+ }
20
+ const trimmed = value.trim();
21
+ return trimmed.length > 0 ? trimmed : undefined;
22
+ }
23
+ function asValidDate(value) {
24
+ if (!Number.isFinite(value.getTime())) {
25
+ return;
26
+ }
27
+ return value;
28
+ }
29
+ function normalizeTimestamp(value) {
30
+ if (value instanceof Date) {
31
+ const parsed = asValidDate(value);
32
+ if (parsed) {
33
+ return parsed.toISOString();
34
+ }
35
+ }
36
+ else if (typeof value === "string") {
37
+ const trimmed = value.trim();
38
+ if (trimmed.length > 0) {
39
+ return trimmed;
40
+ }
41
+ }
42
+ return new Date().toISOString();
43
+ }
44
+ function normalizeUtm(value) {
45
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
46
+ return;
47
+ }
48
+ const normalized = {};
49
+ for (const [key, raw] of Object.entries(value)) {
50
+ const trimmed = asNonEmptyString(raw);
51
+ if (trimmed) {
52
+ normalized[key] = trimmed;
53
+ }
54
+ }
55
+ return Object.keys(normalized).length > 0 ? normalized : undefined;
56
+ }
57
+ function normalizeMetadata(value) {
58
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
59
+ return;
60
+ }
61
+ return value;
62
+ }
63
+ function normalizeTrackEventPayload(input) {
64
+ const eventName = asNonEmptyString(input.event);
65
+ if (!eventName) {
66
+ throw new Error("Tracking event name is required.");
67
+ }
68
+ const payload = {
69
+ event: eventName,
70
+ timestamp: normalizeTimestamp(input.timestamp),
71
+ };
72
+ const title = asNonEmptyString(input.title);
73
+ if (title) {
74
+ payload.title = title;
75
+ }
76
+ const url = asNonEmptyString(input.url);
77
+ if (url) {
78
+ payload.url = url;
79
+ }
80
+ const metadata = normalizeMetadata(input.metadata);
81
+ if (metadata) {
82
+ payload.metadata = metadata;
83
+ }
84
+ const visitorId = asNonEmptyString(input.visitorId);
85
+ if (visitorId) {
86
+ payload.visitorId = visitorId;
87
+ }
88
+ if (typeof input.userId === "number" && Number.isFinite(input.userId)) {
89
+ payload.userId = Math.trunc(input.userId);
90
+ }
91
+ const referrer = asNonEmptyString(input.referrer);
92
+ if (referrer) {
93
+ payload.referrer = referrer;
94
+ }
95
+ const utm = normalizeUtm(input.utm);
96
+ if (utm) {
97
+ payload.utm = utm;
98
+ }
99
+ return payload;
100
+ }
101
+ function asRecord(value) {
102
+ if (typeof value === "object" && value !== null) {
103
+ return value;
104
+ }
105
+ return {};
106
+ }
107
+ function normalizeTrackEventResponse(payload) {
108
+ const record = asRecord(payload);
109
+ const visitorId = asNonEmptyString(record["visitorId"]) ?? "";
110
+ const success = record["success"] === true;
111
+ return {
112
+ success,
113
+ visitorId,
114
+ };
115
+ }
116
+ export class TrackingEvents {
117
+ constructor(http) {
118
+ _TrackingEvents_http.set(this, void 0);
119
+ __classPrivateFieldSet(this, _TrackingEvents_http, http, "f");
120
+ }
121
+ async create(request, options) {
122
+ const response = await __classPrivateFieldGet(this, _TrackingEvents_http, "f").post("/tracking/events", {
123
+ ...options,
124
+ json: normalizeTrackEventPayload(request),
125
+ });
126
+ return normalizeTrackEventResponse(await response.json());
127
+ }
128
+ async track(request, options) {
129
+ return this.create(request, options);
130
+ }
131
+ }
132
+ _TrackingEvents_http = new WeakMap();
133
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../src/sdk/tracking/events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Http } from "../http.js";
2
+ import { TrackingEvents } from "./events.js";
3
+ export { TrackingEvents, };
4
+ export type { TrackEventRequest, TrackEventResponse, TrackingEventMetadata, TrackingEventName, TrackingEventUtm, } from "./events.js";
5
+ export declare class Tracking {
6
+ #private;
7
+ constructor(http: Http);
8
+ private _events?;
9
+ get events(): TrackingEvents;
10
+ track(...args: Parameters<TrackingEvents["track"]>): ReturnType<TrackingEvents["track"]>;
11
+ }
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/sdk/tracking/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EACL,cAAc,GACf,CAAC;AACF,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,qBAAa,QAAQ;;gBAGP,IAAI,EAAE,IAAI;IAItB,OAAO,CAAC,OAAO,CAAC,CAAiB;IACjC,IAAI,MAAM,IAAI,cAAc,CAE3B;IAEK,KAAK,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;CAG/F"}
@@ -0,0 +1,31 @@
1
+ /*
2
+ * SDK module: Tracking
3
+ */
4
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
5
+ if (kind === "m") throw new TypeError("Private method is not writable");
6
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
7
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
8
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
9
+ };
10
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
11
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
12
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
13
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
14
+ };
15
+ var _Tracking_http;
16
+ import { TrackingEvents } from "./events.js";
17
+ export { TrackingEvents, };
18
+ export class Tracking {
19
+ constructor(http) {
20
+ _Tracking_http.set(this, void 0);
21
+ __classPrivateFieldSet(this, _Tracking_http, http, "f");
22
+ }
23
+ get events() {
24
+ return (this._events ?? (this._events = new TrackingEvents(__classPrivateFieldGet(this, _Tracking_http, "f"))));
25
+ }
26
+ async track(...args) {
27
+ return this.events.track(...args);
28
+ }
29
+ }
30
+ _Tracking_http = new WeakMap();
31
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/sdk/tracking/index.ts"],"names":[],"mappings":"AAAA;;GAEG;;;;;;;;;;;;;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EACL,cAAc,GACf,CAAC;AASF,MAAM,OAAO,QAAQ;IAGnB,YAAY,IAAU;QAFb,iCAAY;QAGnB,uBAAA,IAAI,kBAAS,IAAI,MAAA,CAAC;IACpB,CAAC;IAGD,IAAI,MAAM;QACR,OAAO,CAAC,IAAI,CAAC,OAAO,KAAZ,IAAI,CAAC,OAAO,GAAK,IAAI,cAAc,CAAC,uBAAA,IAAI,sBAAM,CAAC,EAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,GAAG,IAAyC;QACtD,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;CACF"}
package/jsr.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ominity-api-typescript",
3
- "version": "1.1.4",
3
+ "version": "1.1.6",
4
4
  "exports": {
5
5
  ".": "./src/index.ts",
6
6
  "./models/errors": "./src/models/errors/index.ts",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ominity/api-typescript",
3
- "version": "1.1.4",
3
+ "version": "1.1.6",
4
4
  "author": "Ominity",
5
5
  "type": "module",
6
6
  "tshy": {
@@ -44,7 +44,8 @@ async function $do(
44
44
  | RequestTimeoutError
45
45
  >
46
46
  > {
47
- const path = pathToFunc("/commerce/cart-items/{id}")({
47
+ const path = pathToFunc("/commerce/carts/{cartId}/items/{id}")({
48
+ cartId: request.cartId,
48
49
  id: request.itemId,
49
50
  });
50
51
 
@@ -118,4 +119,3 @@ async function $do(
118
119
 
119
120
  return result;
120
121
  }
121
-
@@ -46,7 +46,8 @@ async function $do(
46
46
  | RequestTimeoutError
47
47
  >
48
48
  > {
49
- const path = pathToFunc("/commerce/cart-items/{id}")({
49
+ const path = pathToFunc("/commerce/carts/{cartId}/items/{id}")({
50
+ cartId: request.cartId,
50
51
  id: request.itemId,
51
52
  });
52
53
 
@@ -127,4 +128,3 @@ async function $do(
127
128
 
128
129
  return result;
129
130
  }
130
-
@@ -47,7 +47,8 @@ async function $do(
47
47
  | RequestTimeoutError
48
48
  >
49
49
  > {
50
- const path = pathToFunc("/commerce/cart-items/{id}")({
50
+ const path = pathToFunc("/commerce/carts/{cartId}/items/{id}")({
51
+ cartId: request.cartId,
51
52
  id: request.itemId,
52
53
  });
53
54
 
@@ -124,4 +125,3 @@ async function $do(
124
125
 
125
126
  return result;
126
127
  }
127
-
package/src/index.ts CHANGED
@@ -7,3 +7,4 @@ export * from "./core.js";
7
7
  export * from "./funcs/index.js";
8
8
  export * from "./sdk/modules.js";
9
9
  export * from "./sdk/sdk.js";
10
+ export * from "./sdk/tracking/index.js";
package/src/lib/config.ts CHANGED
@@ -75,7 +75,7 @@ function applyApiVersion(url: URL, apiVersion: string | undefined): URL {
75
75
  return url;
76
76
  }
77
77
 
78
- export const SDK_VERSION = "1.1.4";
78
+ export const SDK_VERSION = "1.1.6";
79
79
 
80
80
  export const SDK_METADATA = {
81
81
  language: "typescript",
package/src/sdk/index.ts CHANGED
@@ -1,2 +1,3 @@
1
1
 
2
2
  export * from "./sdk.js";
3
+ export * from "./tracking/index.js";
package/src/sdk/sdk.ts CHANGED
@@ -10,6 +10,7 @@ import { OAuth2 } from "./oauth2.js";
10
10
  import { Settings } from "./settings/index.js";
11
11
  import { Users } from "./users/index.js";
12
12
  import { Admins } from "./admins.js";
13
+ import { Tracking } from "./tracking/index.js";
13
14
  import type { SDKOptions } from "../lib/config.js";
14
15
  import type {
15
16
  OminityModuleInput,
@@ -66,6 +67,11 @@ export class Ominity extends ClientSDK {
66
67
  return (this._http ??= new Http(this._options));
67
68
  }
68
69
 
70
+ private _tracking?: Tracking;
71
+ get tracking(): Tracking {
72
+ return (this._tracking ??= new Tracking(this.http));
73
+ }
74
+
69
75
  private _localization?: Localization;
70
76
  get localization(): Localization {
71
77
  return (this._localization ??= new Localization(this._options));
@@ -0,0 +1,200 @@
1
+ /*
2
+ * Tracking Events SDK.
3
+ */
4
+
5
+ import { RequestOptions } from "../../lib/sdks.js";
6
+ import { Http } from "../http.js";
7
+
8
+ export type TrackingEventName =
9
+ | "page_view"
10
+ | "product_view"
11
+ | "cart_view"
12
+ | "add_to_cart"
13
+ | "remove_from_cart"
14
+ | "checkout_started"
15
+ | "purchase"
16
+ | "button_click"
17
+ | string;
18
+
19
+ export type TrackingEventMetadata = Readonly<Record<string, unknown>>;
20
+ export type TrackingEventUtm = Readonly<Record<string, string>>;
21
+
22
+ export interface TrackEventRequest {
23
+ readonly event: TrackingEventName;
24
+ readonly timestamp?: string | Date;
25
+ readonly title?: string;
26
+ readonly url?: string;
27
+ readonly metadata?: TrackingEventMetadata;
28
+ readonly visitorId?: string;
29
+ readonly userId?: number;
30
+ readonly referrer?: string;
31
+ readonly utm?: TrackingEventUtm;
32
+ }
33
+
34
+ export interface TrackEventResponse {
35
+ readonly success: boolean;
36
+ readonly visitorId: string;
37
+ }
38
+
39
+ type MutableTrackingPayload = {
40
+ event: string;
41
+ timestamp: string;
42
+ title?: string;
43
+ url?: string;
44
+ metadata?: TrackingEventMetadata;
45
+ visitorId?: string;
46
+ userId?: number;
47
+ referrer?: string;
48
+ utm?: TrackingEventUtm;
49
+ };
50
+
51
+ function asNonEmptyString(value: unknown): string | undefined {
52
+ if (typeof value !== "string") {
53
+ return;
54
+ }
55
+
56
+ const trimmed = value.trim();
57
+ return trimmed.length > 0 ? trimmed : undefined;
58
+ }
59
+
60
+ function asValidDate(value: Date): Date | undefined {
61
+ if (!Number.isFinite(value.getTime())) {
62
+ return;
63
+ }
64
+
65
+ return value;
66
+ }
67
+
68
+ function normalizeTimestamp(value: string | Date | undefined): string {
69
+ if (value instanceof Date) {
70
+ const parsed = asValidDate(value);
71
+ if (parsed) {
72
+ return parsed.toISOString();
73
+ }
74
+ } else if (typeof value === "string") {
75
+ const trimmed = value.trim();
76
+ if (trimmed.length > 0) {
77
+ return trimmed;
78
+ }
79
+ }
80
+
81
+ return new Date().toISOString();
82
+ }
83
+
84
+ function normalizeUtm(value: unknown): TrackingEventUtm | undefined {
85
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
86
+ return;
87
+ }
88
+
89
+ const normalized: Record<string, string> = {};
90
+ for (const [key, raw] of Object.entries(value)) {
91
+ const trimmed = asNonEmptyString(raw);
92
+ if (trimmed) {
93
+ normalized[key] = trimmed;
94
+ }
95
+ }
96
+
97
+ return Object.keys(normalized).length > 0 ? normalized : undefined;
98
+ }
99
+
100
+ function normalizeMetadata(value: unknown): TrackingEventMetadata | undefined {
101
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
102
+ return;
103
+ }
104
+
105
+ return value as TrackingEventMetadata;
106
+ }
107
+
108
+ function normalizeTrackEventPayload(input: TrackEventRequest): MutableTrackingPayload {
109
+ const eventName = asNonEmptyString(input.event);
110
+ if (!eventName) {
111
+ throw new Error("Tracking event name is required.");
112
+ }
113
+
114
+ const payload: MutableTrackingPayload = {
115
+ event: eventName,
116
+ timestamp: normalizeTimestamp(input.timestamp),
117
+ };
118
+
119
+ const title = asNonEmptyString(input.title);
120
+ if (title) {
121
+ payload.title = title;
122
+ }
123
+
124
+ const url = asNonEmptyString(input.url);
125
+ if (url) {
126
+ payload.url = url;
127
+ }
128
+
129
+ const metadata = normalizeMetadata(input.metadata);
130
+ if (metadata) {
131
+ payload.metadata = metadata;
132
+ }
133
+
134
+ const visitorId = asNonEmptyString(input.visitorId);
135
+ if (visitorId) {
136
+ payload.visitorId = visitorId;
137
+ }
138
+
139
+ if (typeof input.userId === "number" && Number.isFinite(input.userId)) {
140
+ payload.userId = Math.trunc(input.userId);
141
+ }
142
+
143
+ const referrer = asNonEmptyString(input.referrer);
144
+ if (referrer) {
145
+ payload.referrer = referrer;
146
+ }
147
+
148
+ const utm = normalizeUtm(input.utm);
149
+ if (utm) {
150
+ payload.utm = utm;
151
+ }
152
+
153
+ return payload;
154
+ }
155
+
156
+ function asRecord(value: unknown): Record<string, unknown> {
157
+ if (typeof value === "object" && value !== null) {
158
+ return value as Record<string, unknown>;
159
+ }
160
+
161
+ return {};
162
+ }
163
+
164
+ function normalizeTrackEventResponse(payload: unknown): TrackEventResponse {
165
+ const record = asRecord(payload);
166
+ const visitorId = asNonEmptyString(record["visitorId"]) ?? "";
167
+ const success = record["success"] === true;
168
+
169
+ return {
170
+ success,
171
+ visitorId,
172
+ };
173
+ }
174
+
175
+ export class TrackingEvents {
176
+ readonly #http: Http;
177
+
178
+ constructor(http: Http) {
179
+ this.#http = http;
180
+ }
181
+
182
+ async create(
183
+ request: TrackEventRequest,
184
+ options?: RequestOptions,
185
+ ): Promise<TrackEventResponse> {
186
+ const response = await this.#http.post("/tracking/events", {
187
+ ...options,
188
+ json: normalizeTrackEventPayload(request),
189
+ });
190
+
191
+ return normalizeTrackEventResponse(await response.json());
192
+ }
193
+
194
+ async track(
195
+ request: TrackEventRequest,
196
+ options?: RequestOptions,
197
+ ): Promise<TrackEventResponse> {
198
+ return this.create(request, options);
199
+ }
200
+ }
@@ -0,0 +1,34 @@
1
+ /*
2
+ * SDK module: Tracking
3
+ */
4
+
5
+ import { Http } from "../http.js";
6
+ import { TrackingEvents } from "./events.js";
7
+
8
+ export {
9
+ TrackingEvents,
10
+ };
11
+ export type {
12
+ TrackEventRequest,
13
+ TrackEventResponse,
14
+ TrackingEventMetadata,
15
+ TrackingEventName,
16
+ TrackingEventUtm,
17
+ } from "./events.js";
18
+
19
+ export class Tracking {
20
+ readonly #http: Http;
21
+
22
+ constructor(http: Http) {
23
+ this.#http = http;
24
+ }
25
+
26
+ private _events?: TrackingEvents;
27
+ get events(): TrackingEvents {
28
+ return (this._events ??= new TrackingEvents(this.#http));
29
+ }
30
+
31
+ async track(...args: Parameters<TrackingEvents["track"]>): ReturnType<TrackingEvents["track"]> {
32
+ return this.events.track(...args);
33
+ }
34
+ }