@xylabs/pixel 4.13.14 → 4.13.16

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 (44) hide show
  1. package/README.md +31 -44
  2. package/dist/browser/Api/Api.d.ts +7 -0
  3. package/dist/browser/Api/Api.d.ts.map +1 -0
  4. package/dist/browser/Api/UserEvent.d.ts +25 -0
  5. package/dist/browser/Api/UserEvent.d.ts.map +1 -0
  6. package/dist/browser/Api/UserEventSystem.d.ts +3 -0
  7. package/dist/browser/Api/UserEventSystem.d.ts.map +1 -0
  8. package/dist/browser/Api/index.d.ts +4 -0
  9. package/dist/browser/Api/index.d.ts.map +1 -0
  10. package/dist/browser/CommonFields.d.ts +5 -0
  11. package/dist/browser/CommonFields.d.ts.map +1 -0
  12. package/dist/browser/ExIds.d.ts +10 -0
  13. package/dist/browser/ExIds.d.ts.map +1 -0
  14. package/dist/browser/FunnelStartedFields.d.ts +5 -0
  15. package/dist/browser/FunnelStartedFields.d.ts.map +1 -0
  16. package/dist/browser/Pixel.d.ts +26 -0
  17. package/dist/browser/Pixel.d.ts.map +1 -0
  18. package/dist/browser/PurchaseFields.d.ts +8 -0
  19. package/dist/browser/PurchaseFields.d.ts.map +1 -0
  20. package/dist/browser/Referrer.d.ts +13 -0
  21. package/dist/browser/Referrer.d.ts.map +1 -0
  22. package/dist/browser/TestStartedFields.d.ts +5 -0
  23. package/dist/browser/TestStartedFields.d.ts.map +1 -0
  24. package/dist/browser/UniqueUserId.d.ts +8 -0
  25. package/dist/browser/UniqueUserId.d.ts.map +1 -0
  26. package/dist/browser/UserClickFields.d.ts +8 -0
  27. package/dist/browser/UserClickFields.d.ts.map +1 -0
  28. package/dist/browser/UserEventHandler.d.ts +13 -0
  29. package/dist/browser/UserEventHandler.d.ts.map +1 -0
  30. package/dist/browser/UtmFields.d.ts +9 -0
  31. package/dist/browser/UtmFields.d.ts.map +1 -0
  32. package/dist/browser/ViewContentFields.d.ts +6 -0
  33. package/dist/browser/ViewContentFields.d.ts.map +1 -0
  34. package/dist/browser/XyLabsTrackingEventJson.d.ts +21 -0
  35. package/dist/browser/XyLabsTrackingEventJson.d.ts.map +1 -0
  36. package/dist/browser/XyUserEventHandler.d.ts +16 -0
  37. package/dist/browser/XyUserEventHandler.d.ts.map +1 -0
  38. package/dist/browser/getSystemInfo.d.ts +3 -0
  39. package/dist/browser/getSystemInfo.d.ts.map +1 -0
  40. package/dist/browser/index.d.ts +15 -168
  41. package/dist/browser/index.d.ts.map +1 -0
  42. package/dist/browser/spec/Pixel.spec.d.ts +5 -0
  43. package/dist/browser/spec/Pixel.spec.d.ts.map +1 -0
  44. package/package.json +8 -8
package/README.md CHANGED
@@ -1,73 +1,60 @@
1
- [![logo][]](https://xylabs.com)
1
+ # @xylabs/pixel
2
2
 
3
- # sdk-pixel-js
3
+ [![logo][]](https://xylabs.com)
4
4
 
5
5
  [![main-build][]][main-build-link]
6
6
  [![npm-badge][]][npm-link]
7
+ [![npm-downloads-badge][]][npm-link]
8
+ [![jsdelivr-badge][]][jsdelivr-link]
9
+ [![npm-license-badge][]](LICENSE)
7
10
  [![codacy-badge][]][codacy-link]
8
11
  [![codeclimate-badge][]][codeclimate-link]
9
12
  [![snyk-badge][]][snyk-link]
13
+ [![socket-badge][]][socket-link]
10
14
 
11
- > This library is made public by XY Labs
12
-
13
- ## Table of Contents
14
-
15
- - [Title](#sdk-pixel-js)
16
- - [Description](#description)
17
- - [Install](#install)
18
- - [Scripts](#scripts)
19
- - [Maintainers](#maintainers)
20
- - [License](#license)
21
- - [Credits](#credits)
22
-
23
- ## Description
15
+ Version: 4.13.15
24
16
 
25
- SDK for User Event Reporting
17
+ Event Client for xylabs ESB
26
18
 
27
- ## Install
19
+ ## Documentation
28
20
 
29
- Using npm:
21
+ Coming Soon!
30
22
 
31
- ```sh
32
- npm i --save @xylabs/sdk-js
33
- ```
34
-
35
- Using yarn:
36
-
37
- ```sh
38
- yarn add @xylabs/sdk-js
39
- ```
40
-
41
- ## Scripts
42
-
43
- See [ts-scripts](https://github.com/xylabs/ts-scripts/blob/main/README.md) for
44
- list of shared scripts.
23
+ Part of [sdk-js](https://www.npmjs.com/package/@xyo-network/sdk-js)
45
24
 
46
25
  ## Maintainers
47
26
 
48
- - [Arie Trouw](https://github.com/arietrouw) (<https://arietrouw.com>)
27
+ - [Arie Trouw](https://github.com/arietrouw) ([arietrouw.com](https://arietrouw.com))
28
+ - [Matt Jones](https://github.com/jonesmac)
29
+ - [Joel Carter](https://github.com/JoelBCarter)
30
+ - [Jordan Trouw](https://github.com/jordantrouw)
49
31
 
50
32
  ## License
51
33
 
52
- See the [LICENSE](LICENSE) file for license details
34
+ > See the [LICENSE](LICENSE) file for license details
53
35
 
54
36
  ## Credits
55
37
 
56
- Made with 🔥and ❄️ by [XY Labs](https://xylabs.com)
38
+ [Made with 🔥 and ❄️ by XYLabs](https://xylabs.com)
57
39
 
58
40
  [logo]: https://cdn.xy.company/img/brand/XYPersistentCompany_Logo_Icon_Colored.svg
59
41
 
60
- [main-build]: https://github.com/xylabs/sdk-pixel-js/actions/workflows/build.yml/badge.svg
61
- [main-build-link]: https://github.com/xylabs/sdk-pixel-js/actions/workflows/build.yml
62
-
42
+ [main-build]: https://github.com/xylabs/sdk-js/actions/workflows/build.yml/badge.svg
43
+ [main-build-link]: https://github.com/xylabs/sdk-js/actions/workflows/build.yml
63
44
  [npm-badge]: https://img.shields.io/npm/v/@xylabs/pixel.svg
64
45
  [npm-link]: https://www.npmjs.com/package/@xylabs/pixel
46
+ [codacy-badge]: https://app.codacy.com/project/badge/Grade/c8e15e14f37741c18cfb47ac7245c698
47
+ [codacy-link]: https://www.codacy.com/gh/xylabs/sdk-js/dashboard?utm_source=github.com&utm_medium=referral&utm_content=xylabs/sdk-js&utm_campaign=Badge_Grade
48
+ [codeclimate-badge]: https://api.codeclimate.com/v1/badges/c5eb068f806f0b047ea7/maintainability
49
+ [codeclimate-link]: https://codeclimate.com/github/xylabs/sdk-js/maintainability
50
+ [snyk-badge]: https://snyk.io/test/github/xylabs/sdk-js/badge.svg?targetFile=package.json
51
+ [snyk-link]: https://snyk.io/test/github/xylabs/sdk-js?targetFile=package.json
65
52
 
66
- [codacy-badge]: https://app.codacy.com/project/badge/Grade/c5405a253a0d489a98b2aa711c3c0824
67
- [codacy-link]: https://www.codacy.com/gh/xylabs/sdk-pixel-js/dashboard?utm_source=github.com&utm_medium=referral&utm_content=xylabs/sdk-pixel-js&utm_campaign=Badge_Grade
53
+ [npm-downloads-badge]: https://img.shields.io/npm/dw/@xylabs/pixel
54
+ [npm-license-badge]: https://img.shields.io/npm/l/@xylabs/pixel
68
55
 
69
- [codeclimate-badge]: https://api.codeclimate.com/v1/badges/c926665bade6b2493e32/maintainability
70
- [codeclimate-link]: https://codeclimate.com/github/xylabs/sdk-pixel-js/maintainability
56
+ [jsdelivr-badge]: https://data.jsdelivr.com/v1/package/npm/@xylabs/pixel/badge
57
+ [jsdelivr-link]: https://www.jsdelivr.com/package/npm/@xylabs/pixel
71
58
 
72
- [snyk-badge]: https://snyk.io/test/github/xylabs/sdk-pixel-js/badge.svg?targetFile=package.json
73
- [snyk-link]: https://snyk.io/test/github/xylabs/sdk-pixel-js?targetFile=package.json
59
+ [socket-badge]: https://socket.dev/api/badge/npm/package/@xylabs/pixel
60
+ [socket-link]: https://socket.dev/npm/package/@xylabs/pixel
@@ -0,0 +1,7 @@
1
+ import type { UserEvent } from './UserEvent.ts';
2
+ export declare class PixelApi {
3
+ private endPoint;
4
+ constructor(baseUri?: string);
5
+ trackEvents(events: UserEvent[]): Promise<any>;
6
+ }
7
+ //# sourceMappingURL=Api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Api.d.ts","sourceRoot":"","sources":["../../../src/Api/Api.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAQ/C,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAQ;gBAGZ,OAAO,SAAS;IAItB,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE;CAGtC"}
@@ -0,0 +1,25 @@
1
+ import type { ExIds } from '../ExIds.ts';
2
+ import type { UserEventSystem } from './UserEventSystem.ts';
3
+ export interface UserEvent {
4
+ cid: string;
5
+ create_time?: number;
6
+ email?: string;
7
+ email_hash?: string;
8
+ event?: string;
9
+ event_id?: string;
10
+ exids?: ExIds;
11
+ fields?: Record<string, unknown>;
12
+ host?: string;
13
+ pathname?: string;
14
+ pixel?: string;
15
+ receive_time?: number;
16
+ referrer?: {
17
+ local: string;
18
+ session: string;
19
+ };
20
+ rid?: string;
21
+ system?: UserEventSystem;
22
+ uid?: string;
23
+ utm?: Record<string, string>[] | Record<string, string[]>;
24
+ }
25
+ //# sourceMappingURL=UserEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserEvent.d.ts","sourceRoot":"","sources":["../../../src/Api/UserEvent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAE3D,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7C,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CAC1D"}
@@ -0,0 +1,3 @@
1
+ import type Bowser from 'bowser';
2
+ export type UserEventSystem = Bowser.Parser.ParsedResult;
3
+ //# sourceMappingURL=UserEventSystem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserEventSystem.d.ts","sourceRoot":"","sources":["../../../src/Api/UserEventSystem.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAEhC,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './Api.ts';
2
+ export * from './UserEvent.ts';
3
+ export * from './UserEventSystem.ts';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Api/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,sBAAsB,CAAA"}
@@ -0,0 +1,5 @@
1
+ export interface CommonFields {
2
+ funnel?: string;
3
+ testData?: string;
4
+ }
5
+ //# sourceMappingURL=CommonFields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommonFields.d.ts","sourceRoot":"","sources":["../../src/CommonFields.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB"}
@@ -0,0 +1,10 @@
1
+ export interface ExIds {
2
+ fbc?: string;
3
+ fbp?: string;
4
+ ga?: string;
5
+ gclid?: string;
6
+ rdt_uid?: string;
7
+ scid?: string;
8
+ tt_sessionId?: string;
9
+ }
10
+ //# sourceMappingURL=ExIds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExIds.d.ts","sourceRoot":"","sources":["../../src/ExIds.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;IACpB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB"}
@@ -0,0 +1,5 @@
1
+ import type { CommonFields } from './CommonFields.ts';
2
+ export interface FunnelStartedFields extends CommonFields {
3
+ name: string;
4
+ }
5
+ //# sourceMappingURL=FunnelStartedFields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FunnelStartedFields.d.ts","sourceRoot":"","sources":["../../src/FunnelStartedFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,IAAI,EAAE,MAAM,CAAA;CACb"}
@@ -0,0 +1,26 @@
1
+ import type { JsonObject } from '@xylabs/object';
2
+ import type { UserEvent } from './Api/index.ts';
3
+ import { PixelApi } from './Api/index.ts';
4
+ import type { ExIds } from './ExIds.ts';
5
+ export declare class XyPixel {
6
+ static api: PixelApi;
7
+ private static _instance?;
8
+ private static utmFieldsObj;
9
+ cid: string;
10
+ email?: string;
11
+ email_hash?: string | null;
12
+ exids?: ExIds;
13
+ pixelId?: string;
14
+ queue: UserEvent[];
15
+ private queueMutex;
16
+ private constructor();
17
+ static get instance(): XyPixel;
18
+ static init(pixelId: string): XyPixel;
19
+ static selectApi(api: PixelApi): void;
20
+ private static utmFields;
21
+ identify(email?: string): void;
22
+ send<T extends JsonObject>(event: string, fields?: T, eventId?: string): Promise<void>;
23
+ private tryFlushQueue;
24
+ private updateFbId;
25
+ }
26
+ //# sourceMappingURL=Pixel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pixel.d.ts","sourceRoot":"","sources":["../../src/Pixel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAKhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAQvC,qBAAa,OAAO;IAClB,MAAM,CAAC,GAAG,WAAiB;IAE3B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAS;IAClC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAW;IAEtC,GAAG,SAAwB;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,KAAK,EAAE,SAAS,EAAE,CAAK;IAEvB,OAAO,CAAC,UAAU,CAAc;IAEhC,OAAO;IAKP,MAAM,KAAK,QAAQ,IAAI,OAAO,CAE7B;IAED,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM;IAK3B,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ;IAI9B,OAAO,CAAC,MAAM,CAAC,SAAS,CAKvB;IAED,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM;IAQjB,IAAI,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM;YAsB9D,aAAa;IAoB3B,OAAO,CAAC,UAAU;CAWnB"}
@@ -0,0 +1,8 @@
1
+ import type { CommonFields } from './CommonFields.ts';
2
+ export interface PurchaseFields extends CommonFields {
3
+ id: string;
4
+ name?: string;
5
+ price?: number;
6
+ value?: number;
7
+ }
8
+ //# sourceMappingURL=PurchaseFields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PurchaseFields.d.ts","sourceRoot":"","sources":["../../src/PurchaseFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf"}
@@ -0,0 +1,13 @@
1
+ export declare class Referrer {
2
+ private static storageId;
3
+ local: string;
4
+ session: string;
5
+ constructor();
6
+ toJson(): {
7
+ local: string;
8
+ session: string;
9
+ } | undefined;
10
+ private getFromLocal;
11
+ private getFromSession;
12
+ }
13
+ //# sourceMappingURL=Referrer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Referrer.d.ts","sourceRoot":"","sources":["../../src/Referrer.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAmB;IAC3C,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;;IAQf,MAAM;;;;IASN,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,cAAc;CAMvB"}
@@ -0,0 +1,5 @@
1
+ import type { CommonFields } from './CommonFields.ts';
2
+ export interface TestStartedFields extends CommonFields {
3
+ name: string;
4
+ }
5
+ //# sourceMappingURL=TestStartedFields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TestStartedFields.d.ts","sourceRoot":"","sources":["../../src/TestStartedFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACrD,IAAI,EAAE,MAAM,CAAA;CACb"}
@@ -0,0 +1,8 @@
1
+ export declare class UniqueUserId {
2
+ private static localStorageId;
3
+ id: string;
4
+ constructor();
5
+ toString(): string;
6
+ private generateId;
7
+ }
8
+ //# sourceMappingURL=UniqueUserId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UniqueUserId.d.ts","sourceRoot":"","sources":["../../src/UniqueUserId.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,cAAc,CAAc;IAC3C,EAAE,EAAE,MAAM,CAAA;;IAOV,QAAQ;IAIR,OAAO,CAAC,UAAU;CAGnB"}
@@ -0,0 +1,8 @@
1
+ import type { CommonFields } from './CommonFields.ts';
2
+ export interface UserClickFields extends CommonFields {
3
+ elementName: string;
4
+ elementType: string;
5
+ intent?: string;
6
+ placement?: string;
7
+ }
8
+ //# sourceMappingURL=UserClickFields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserClickFields.d.ts","sourceRoot":"","sources":["../../src/UserClickFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB"}
@@ -0,0 +1,13 @@
1
+ import type { EmptyObject } from '@xylabs/object';
2
+ import type { Promisable } from '@xylabs/promise';
3
+ import type { FunnelStartedFields } from './FunnelStartedFields.ts';
4
+ import type { TestStartedFields } from './TestStartedFields.ts';
5
+ import type { UserClickFields } from './UserClickFields.ts';
6
+ import type { ViewContentFields } from './ViewContentFields.ts';
7
+ export declare abstract class UserEventHandler<TData extends EmptyObject> {
8
+ abstract funnelStarted<T extends TData>(fields: T | FunnelStartedFields): Promisable<void>;
9
+ abstract testStarted<T extends TData>(fields: T | TestStartedFields): Promisable<void>;
10
+ abstract userClick<T extends TData>(fields: T | UserClickFields): Promisable<void>;
11
+ abstract viewContent<T extends TData>(fields: T | ViewContentFields): Promisable<void>;
12
+ }
13
+ //# sourceMappingURL=UserEventHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserEventHandler.d.ts","sourceRoot":"","sources":["../../src/UserEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,8BAAsB,gBAAgB,CAAC,KAAK,SAAS,WAAW;IAC9D,QAAQ,CAAC,aAAa,CAAC,CAAC,SAAS,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,mBAAmB,GAAG,UAAU,CAAC,IAAI,CAAC;IAC1F,QAAQ,CAAC,WAAW,CAAC,CAAC,SAAS,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,iBAAiB,GAAG,UAAU,CAAC,IAAI,CAAC;IACtF,QAAQ,CAAC,SAAS,CAAC,CAAC,SAAS,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,eAAe,GAAG,UAAU,CAAC,IAAI,CAAC;IAClF,QAAQ,CAAC,WAAW,CAAC,CAAC,SAAS,KAAK,EAAE,MAAM,EAAE,CAAC,GAAG,iBAAiB,GAAG,UAAU,CAAC,IAAI,CAAC;CACvF"}
@@ -0,0 +1,9 @@
1
+ export declare class UtmFields {
2
+ private static localStorageId;
3
+ fields: Record<string, string>[];
4
+ constructor();
5
+ getUtmRecord: () => Record<string, string> | null;
6
+ toString(): string;
7
+ update(): Record<string, string>[];
8
+ }
9
+ //# sourceMappingURL=UtmFields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UtmFields.d.ts","sourceRoot":"","sources":["../../src/UtmFields.ts"],"names":[],"mappings":"AAEA,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAC,cAAc,CAAc;IAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAK;;IAgBrC,YAAY,sCAWX;IAED,QAAQ;IAKR,MAAM;CAOP"}
@@ -0,0 +1,6 @@
1
+ import type { CommonFields } from './CommonFields.ts';
2
+ export interface ViewContentFields extends CommonFields {
3
+ name: string;
4
+ path: string;
5
+ }
6
+ //# sourceMappingURL=ViewContentFields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViewContentFields.d.ts","sourceRoot":"","sources":["../../src/ViewContentFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACrD,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb"}
@@ -0,0 +1,21 @@
1
+ export interface XyLabsTrackingEventJson {
2
+ cid: string;
3
+ create_time?: number;
4
+ email?: string;
5
+ email_hash?: string;
6
+ event?: string;
7
+ event_id?: string;
8
+ exids?: Record<string, string>;
9
+ fields?: Record<string, unknown>;
10
+ host?: string;
11
+ ip?: string;
12
+ pathname?: string;
13
+ pixel?: string;
14
+ receive_time?: number;
15
+ rid?: string;
16
+ system?: unknown;
17
+ ua?: string;
18
+ uid?: string;
19
+ utm?: Record<string, string>[] | Record<string, string[]>;
20
+ }
21
+ //# sourceMappingURL=XyLabsTrackingEventJson.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XyLabsTrackingEventJson.d.ts","sourceRoot":"","sources":["../../src/XyLabsTrackingEventJson.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CAC1D"}
@@ -0,0 +1,16 @@
1
+ import { type EmptyObject } from '@xylabs/object';
2
+ import type { FunnelStartedFields } from './FunnelStartedFields.ts';
3
+ import type { PurchaseFields } from './PurchaseFields.ts';
4
+ import type { TestStartedFields } from './TestStartedFields.ts';
5
+ import type { UserClickFields } from './UserClickFields.ts';
6
+ import { UserEventHandler } from './UserEventHandler.ts';
7
+ import type { ViewContentFields } from './ViewContentFields.ts';
8
+ export declare class XyUserEventHandler<T extends EmptyObject = EmptyObject> extends UserEventHandler<T> {
9
+ constructor();
10
+ funnelStarted(fields: T | FunnelStartedFields): Promise<void>;
11
+ purchase(fields: T | PurchaseFields): Promise<void>;
12
+ testStarted(fields: T | TestStartedFields): Promise<void>;
13
+ userClick(fields: T | UserClickFields): Promise<void>;
14
+ viewContent(fields: T | ViewContentFields): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=XyUserEventHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XyUserEventHandler.d.ts","sourceRoot":"","sources":["../../src/XyUserEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAgB,MAAM,gBAAgB,CAAA;AAE/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAEnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,qBAAa,kBAAkB,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC;;IAKxF,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,mBAAmB;IAI7C,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,cAAc;IAInC,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,iBAAiB;IAIzC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,eAAe;IAIrC,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,iBAAiB;CAGhD"}
@@ -0,0 +1,3 @@
1
+ import Bowser from 'bowser';
2
+ export declare const getSystemInfo: () => Bowser.Parser.ParsedResult | undefined;
3
+ //# sourceMappingURL=getSystemInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSystemInfo.d.ts","sourceRoot":"","sources":["../../src/getSystemInfo.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAM3B,eAAO,MAAM,aAAa,8CAOzB,CAAA"}
@@ -1,168 +1,15 @@
1
- import Bowser from 'bowser';
2
- import { JsonObject, EmptyObject } from '@xylabs/object';
3
- import { Promisable } from '@xylabs/promise';
4
-
5
- interface ExIds {
6
- fbc?: string;
7
- fbp?: string;
8
- ga?: string;
9
- gclid?: string;
10
- rdt_uid?: string;
11
- scid?: string;
12
- tt_sessionId?: string;
13
- }
14
-
15
- type UserEventSystem = Bowser.Parser.ParsedResult;
16
-
17
- interface UserEvent {
18
- cid: string;
19
- create_time?: number;
20
- email?: string;
21
- email_hash?: string;
22
- event?: string;
23
- event_id?: string;
24
- exids?: ExIds;
25
- fields?: Record<string, unknown>;
26
- host?: string;
27
- pathname?: string;
28
- pixel?: string;
29
- receive_time?: number;
30
- referrer?: {
31
- local: string;
32
- session: string;
33
- };
34
- rid?: string;
35
- system?: UserEventSystem;
36
- uid?: string;
37
- utm?: Record<string, string>[] | Record<string, string[]>;
38
- }
39
-
40
- declare class PixelApi {
41
- private endPoint;
42
- constructor(baseUri?: string);
43
- trackEvents(events: UserEvent[]): Promise<any>;
44
- }
45
-
46
- interface CommonFields {
47
- funnel?: string;
48
- testData?: string;
49
- }
50
-
51
- interface FunnelStartedFields extends CommonFields {
52
- name: string;
53
- }
54
-
55
- declare class XyPixel {
56
- static api: PixelApi;
57
- private static _instance?;
58
- private static utmFieldsObj;
59
- cid: string;
60
- email?: string;
61
- email_hash?: string | null;
62
- exids?: ExIds;
63
- pixelId?: string;
64
- queue: UserEvent[];
65
- private queueMutex;
66
- private constructor();
67
- static get instance(): XyPixel;
68
- static init(pixelId: string): XyPixel;
69
- static selectApi(api: PixelApi): void;
70
- private static utmFields;
71
- identify(email?: string): void;
72
- send<T extends JsonObject>(event: string, fields?: T, eventId?: string): Promise<void>;
73
- private tryFlushQueue;
74
- private updateFbId;
75
- }
76
-
77
- interface PurchaseFields extends CommonFields {
78
- id: string;
79
- name?: string;
80
- price?: number;
81
- value?: number;
82
- }
83
-
84
- declare class Referrer {
85
- private static storageId;
86
- local: string;
87
- session: string;
88
- constructor();
89
- toJson(): {
90
- local: string;
91
- session: string;
92
- } | undefined;
93
- private getFromLocal;
94
- private getFromSession;
95
- }
96
-
97
- interface TestStartedFields extends CommonFields {
98
- name: string;
99
- }
100
-
101
- declare class UniqueUserId {
102
- private static localStorageId;
103
- id: string;
104
- constructor();
105
- toString(): string;
106
- private generateId;
107
- }
108
-
109
- interface UserClickFields extends CommonFields {
110
- elementName: string;
111
- elementType: string;
112
- intent?: string;
113
- placement?: string;
114
- }
115
-
116
- interface ViewContentFields extends CommonFields {
117
- name: string;
118
- path: string;
119
- }
120
-
121
- declare abstract class UserEventHandler<TData extends EmptyObject> {
122
- abstract funnelStarted<T extends TData>(fields: T | FunnelStartedFields): Promisable<void>;
123
- abstract testStarted<T extends TData>(fields: T | TestStartedFields): Promisable<void>;
124
- abstract userClick<T extends TData>(fields: T | UserClickFields): Promisable<void>;
125
- abstract viewContent<T extends TData>(fields: T | ViewContentFields): Promisable<void>;
126
- }
127
-
128
- declare class UtmFields {
129
- private static localStorageId;
130
- fields: Record<string, string>[];
131
- constructor();
132
- getUtmRecord: () => Record<string, string> | null;
133
- toString(): string;
134
- update(): Record<string, string>[];
135
- }
136
-
137
- interface XyLabsTrackingEventJson {
138
- cid: string;
139
- create_time?: number;
140
- email?: string;
141
- email_hash?: string;
142
- event?: string;
143
- event_id?: string;
144
- exids?: Record<string, string>;
145
- fields?: Record<string, unknown>;
146
- host?: string;
147
- ip?: string;
148
- pathname?: string;
149
- pixel?: string;
150
- receive_time?: number;
151
- rid?: string;
152
- system?: unknown;
153
- ua?: string;
154
- uid?: string;
155
- utm?: Record<string, string>[] | Record<string, string[]>;
156
- }
157
-
158
- declare class XyUserEventHandler<T extends EmptyObject = EmptyObject> extends UserEventHandler<T> {
159
- constructor();
160
- funnelStarted(fields: T | FunnelStartedFields): Promise<void>;
161
- purchase(fields: T | PurchaseFields): Promise<void>;
162
- testStarted(fields: T | TestStartedFields): Promise<void>;
163
- userClick(fields: T | UserClickFields): Promise<void>;
164
- viewContent(fields: T | ViewContentFields): Promise<void>;
165
- }
166
-
167
- export { PixelApi, Referrer, UniqueUserId, UserEventHandler, UtmFields, XyPixel, XyUserEventHandler };
168
- export type { CommonFields, FunnelStartedFields, PurchaseFields, TestStartedFields, UserClickFields, UserEvent, UserEventSystem, ViewContentFields, XyLabsTrackingEventJson };
1
+ export * from './Api/index.ts';
2
+ export * from './CommonFields.ts';
3
+ export * from './FunnelStartedFields.ts';
4
+ export * from './Pixel.ts';
5
+ export * from './PurchaseFields.ts';
6
+ export * from './Referrer.ts';
7
+ export * from './TestStartedFields.ts';
8
+ export * from './UniqueUserId.ts';
9
+ export * from './UserClickFields.ts';
10
+ export * from './UserEventHandler.ts';
11
+ export * from './UtmFields.ts';
12
+ export * from './ViewContentFields.ts';
13
+ export * from './XyLabsTrackingEventJson.ts';
14
+ export * from './XyUserEventHandler.ts';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,YAAY,CAAA;AAC1B,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yBAAyB,CAAA"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @vitest-environment jsdom
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=Pixel.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pixel.spec.d.ts","sourceRoot":"","sources":["../../../src/spec/Pixel.spec.ts"],"names":[],"mappings":"AAAA;;GAEG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xylabs/pixel",
3
- "version": "4.13.14",
3
+ "version": "4.13.16",
4
4
  "description": "Event Client for xylabs ESB",
5
5
  "homepage": "https://xylabs.com",
6
6
  "bugs": {
@@ -29,10 +29,10 @@
29
29
  "module": "dist/browser/index.mjs",
30
30
  "types": "dist/browser/index.d.ts",
31
31
  "dependencies": {
32
- "@xylabs/assert": "^4.13.14",
33
- "@xylabs/object": "^4.13.14",
34
- "@xylabs/promise": "^4.13.14",
35
- "@xylabs/typeof": "^4.13.14",
32
+ "@xylabs/assert": "^4.13.16",
33
+ "@xylabs/object": "^4.13.16",
34
+ "@xylabs/promise": "^4.13.16",
35
+ "@xylabs/typeof": "^4.13.16",
36
36
  "async-mutex": "^0.5.0",
37
37
  "axios": "^1.10.0",
38
38
  "bowser": "^2.11.0",
@@ -42,10 +42,10 @@
42
42
  },
43
43
  "devDependencies": {
44
44
  "@types/js-cookie": "^3.0.6",
45
- "@types/node": "^24.0.13",
45
+ "@types/node": "^24.0.14",
46
46
  "@types/spark-md5": "^3.0.5",
47
- "@xylabs/ts-scripts-yarn3": "^7.0.0-rc.12",
48
- "@xylabs/tsconfig-dom": "^7.0.0-rc.12",
47
+ "@xylabs/ts-scripts-yarn3": "^7.0.0-rc.27",
48
+ "@xylabs/tsconfig-dom": "^7.0.0-rc.27",
49
49
  "axios": "^1.10.0",
50
50
  "typescript": "^5.8.3",
51
51
  "vitest": "^3.2.4"