@ninetailed/experience.js-node 3.0.3 → 3.1.0-beta.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/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@ninetailed/experience.js-node",
3
- "version": "3.0.3",
3
+ "version": "3.1.0-beta.1",
4
4
  "dependencies": {
5
- "node-fetch": "^3.0.0",
5
+ "node-fetch": "2",
6
6
  "uuid": "^8.3.2",
7
- "@ninetailed/experience.js-shared": "3.0.3",
7
+ "@ninetailed/experience.js-shared": "3.1.0-beta.1",
8
8
  "async-retry": "1.3.3",
9
9
  "ts-toolbelt": "9.6.0",
10
10
  "diary": "0.3.1",
@@ -1,4 +1,5 @@
1
- import { IdentifyEvent, Traits, NinetailedApiClient as BaseNinetailedAPIClient, NinetailedApiClientOptions } from '@ninetailed/experience.js-shared';
1
+ import type { Properties } from '@ninetailed/experience.js-shared';
2
+ import { IdentifyEvent, NinetailedApiClient as BaseNinetailedAPIClient, NinetailedApiClientOptions, TrackEvent, Traits } from '@ninetailed/experience.js-shared';
2
3
  type SendEventOptions = {
3
4
  anonymousId?: string;
4
5
  timestamp?: number;
@@ -8,7 +9,75 @@ export declare class NinetailedAPIClient extends BaseNinetailedAPIClient {
8
9
  createIdentifyEvent(userId: string, traits: Traits, options?: SendEventOptions): IdentifyEvent & {
9
10
  anonymousId: string;
10
11
  };
11
- sendIdentifyEvent(userId: string, traits: Traits, options?: SendEventOptions): Promise<void>;
12
+ sendIdentifyEvent(userId: string, traits: Traits, options?: SendEventOptions): Promise<{
13
+ traits: Properties;
14
+ id: string;
15
+ random: number;
16
+ audiences: string[];
17
+ location: {
18
+ coordinates?: {
19
+ latitude: number;
20
+ longitude: number;
21
+ } | undefined;
22
+ city?: string | undefined;
23
+ postalCode?: string | undefined;
24
+ region?: string | undefined;
25
+ regionCode?: string | undefined;
26
+ country?: string | undefined;
27
+ countryCode?: string | undefined;
28
+ continent?: string | undefined;
29
+ timezone?: string | undefined;
30
+ };
31
+ session: {
32
+ isReturningVisitor: boolean;
33
+ landingPage: {
34
+ url: string;
35
+ path: string;
36
+ query: Record<string, string>;
37
+ referrer: string;
38
+ search: string;
39
+ };
40
+ count: number;
41
+ activeSessionLength: number;
42
+ averageSessionLength: number;
43
+ };
44
+ }>;
45
+ createTrackEvent(userId: string, event: string, properties?: Properties, options?: SendEventOptions): TrackEvent & {
46
+ anonymousId: string;
47
+ };
48
+ sendTrackEvent(userId: string, event: string, properties?: Properties, options?: SendEventOptions): Promise<{
49
+ traits: Properties;
50
+ id: string;
51
+ random: number;
52
+ audiences: string[];
53
+ location: {
54
+ coordinates?: {
55
+ latitude: number;
56
+ longitude: number;
57
+ } | undefined;
58
+ city?: string | undefined;
59
+ postalCode?: string | undefined;
60
+ region?: string | undefined;
61
+ regionCode?: string | undefined;
62
+ country?: string | undefined;
63
+ countryCode?: string | undefined;
64
+ continent?: string | undefined;
65
+ timezone?: string | undefined;
66
+ };
67
+ session: {
68
+ isReturningVisitor: boolean;
69
+ landingPage: {
70
+ url: string;
71
+ path: string;
72
+ query: Record<string, string>;
73
+ referrer: string;
74
+ search: string;
75
+ };
76
+ count: number;
77
+ activeSessionLength: number;
78
+ averageSessionLength: number;
79
+ };
80
+ }>;
12
81
  private buildRequestContext;
13
82
  }
14
83
  export {};
@@ -23,16 +23,48 @@ class NinetailedAPIClient extends experience_js_shared_1.NinetailedApiClient {
23
23
  const timestamp = (options === null || options === void 0 ? void 0 : options.timestamp) || Date.now();
24
24
  return Object.assign(Object.assign({}, (0, experience_js_shared_1.buildIdentifyEvent)({
25
25
  messageId,
26
+ timestamp,
26
27
  ctx: this.buildRequestContext(),
27
28
  userId,
28
29
  traits,
29
- timestamp,
30
30
  })), { anonymousId });
31
31
  }
32
32
  sendIdentifyEvent(userId, traits, options) {
33
33
  return __awaiter(this, void 0, void 0, function* () {
34
- const event = this.createIdentifyEvent(userId, traits, options);
35
- yield this.upsertManyProfiles({ events: [event] });
34
+ const identifyEvent = this.createIdentifyEvent(userId, traits, options);
35
+ const response = yield this.upsertManyProfiles({
36
+ events: [identifyEvent],
37
+ });
38
+ if (Array.isArray(response) && response.length === 1) {
39
+ return response[0];
40
+ }
41
+ else {
42
+ throw new Error('Sending Identify Event failed. There was no profile returned by Server.');
43
+ }
44
+ });
45
+ }
46
+ createTrackEvent(userId, event, properties, options) {
47
+ const messageId = (0, uuid_1.v4)();
48
+ const anonymousId = (options === null || options === void 0 ? void 0 : options.anonymousId) || userId;
49
+ const timestamp = (options === null || options === void 0 ? void 0 : options.timestamp) || Date.now();
50
+ return Object.assign(Object.assign({}, (0, experience_js_shared_1.buildTrackEvent)({
51
+ messageId,
52
+ timestamp,
53
+ ctx: this.buildRequestContext(),
54
+ event,
55
+ properties: properties || {},
56
+ })), { anonymousId });
57
+ }
58
+ sendTrackEvent(userId, event, properties, options) {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ const trackEvent = this.createTrackEvent(userId, event, properties, options);
61
+ const response = yield this.upsertManyProfiles({ events: [trackEvent] });
62
+ if (Array.isArray(response) && response.length === 1) {
63
+ return response[0];
64
+ }
65
+ else {
66
+ throw new Error('Sending Track Event failed. There was no profile returned by Server.');
67
+ }
36
68
  });
37
69
  }
38
70
  buildRequestContext() {
@@ -1 +1 @@
1
- {"version":3,"file":"Client.js","sourceRoot":"","sources":["../../../../../../../packages/sdks/nodejs/src/lib/Client/Client.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+BAAkC;AAClC,2EAQ0C;AAC1C,2CAA+B;AAO/B,MAAa,mBAAoB,SAAQ,0CAAuB;IAC9D,YAAY,OAAmC;QAC7C,KAAK,iCAAM,OAAO,KAAE,SAAS,EAAE,oBAA6B,IAAG,CAAC;IAClE,CAAC;IAEM,mBAAmB,CACxB,MAAc,EACd,MAAc,EACd,OAA0B;QAE1B,MAAM,SAAS,GAAG,IAAA,SAAI,GAAE,CAAC;QACzB,MAAM,WAAW,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,KAAI,MAAM,CAAC;QACnD,MAAM,SAAS,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,KAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACnD,uCACK,IAAA,yCAAkB,EAAC;YACpB,SAAS;YACT,GAAG,EAAE,IAAI,CAAC,mBAAmB,EAAE;YAC/B,MAAM;YACN,MAAM;YACN,SAAS;SACV,CAAC,KACF,WAAW,IACX;IACJ,CAAC;IAEY,iBAAiB,CAC5B,MAAc,EACd,MAAc,EACd,OAA0B;;YAE1B,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAChE,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;KAAA;IAEO,mBAAmB;QACzB,MAAM,GAAG,GAA6B;YACpC,GAAG,EAAE,EAAE;YACP,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,EAAE;SACd,CAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AA3CD,kDA2CC"}
1
+ {"version":3,"file":"Client.js","sourceRoot":"","sources":["../../../../../../../packages/sdks/nodejs/src/lib/Client/Client.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+BAAkC;AAElC,2EAU0C;AAC1C,2CAA+B;AAO/B,MAAa,mBAAoB,SAAQ,0CAAuB;IAC9D,YAAY,OAAmC;QAC7C,KAAK,iCAAM,OAAO,KAAE,SAAS,EAAE,oBAA6B,IAAG,CAAC;IAClE,CAAC;IAEM,mBAAmB,CACxB,MAAc,EACd,MAAc,EACd,OAA0B;QAE1B,MAAM,SAAS,GAAG,IAAA,SAAI,GAAE,CAAC;QACzB,MAAM,WAAW,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,KAAI,MAAM,CAAC;QACnD,MAAM,SAAS,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,KAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACnD,uCACK,IAAA,yCAAkB,EAAC;YACpB,SAAS;YACT,SAAS;YACT,GAAG,EAAE,IAAI,CAAC,mBAAmB,EAAE;YAC/B,MAAM;YACN,MAAM;SACP,CAAC,KACF,WAAW,IACX;IACJ,CAAC;IAEY,iBAAiB,CAC5B,MAAc,EACd,MAAc,EACd,OAA0B;;YAE1B,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAExE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC;gBAC7C,MAAM,EAAE,CAAC,aAAa,CAAC;aACxB,CAAC,CAAC;YACH,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBACpD,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;aACpB;iBAAM;gBACL,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;aACH;QACH,CAAC;KAAA;IAEM,gBAAgB,CACrB,MAAc,EACd,KAAa,EACb,UAAuB,EACvB,OAA0B;QAE1B,MAAM,SAAS,GAAG,IAAA,SAAI,GAAE,CAAC;QACzB,MAAM,WAAW,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,KAAI,MAAM,CAAC;QACnD,MAAM,SAAS,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,KAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACnD,uCACK,IAAA,sCAAe,EAAC;YACjB,SAAS;YACT,SAAS;YACT,GAAG,EAAE,IAAI,CAAC,mBAAmB,EAAE;YAC/B,KAAK;YACL,UAAU,EAAE,UAAU,IAAI,EAAE;SAC7B,CAAC,KACF,WAAW,IACX;IACJ,CAAC;IAEY,cAAc,CACzB,MAAc,EACd,KAAa,EACb,UAAuB,EACvB,OAA0B;;YAE1B,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CACtC,MAAM,EACN,KAAK,EACL,UAAU,EACV,OAAO,CACR,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAEzE,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBACpD,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;aACpB;iBAAM;gBACL,MAAM,IAAI,KAAK,CACb,sEAAsE,CACvE,CAAC;aACH;QACH,CAAC;KAAA;IAEO,mBAAmB;QACzB,MAAM,GAAG,GAA6B;YACpC,GAAG,EAAE,EAAE;YACP,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,EAAE;SACd,CAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAlGD,kDAkGC"}