@leather.io/analytics 3.0.0 → 3.0.2

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.d.ts CHANGED
@@ -6,6 +6,7 @@ interface Events extends HistoricalEvents {
6
6
  wallet_restored: WalletCreatedValue;
7
7
  app_unlocked: undefined;
8
8
  app_locked: undefined;
9
+ submit_feature_waitlist: SubmitWaitlist;
9
10
  }
10
11
  interface HistoricalEvents {
11
12
  add_network: undefined;
@@ -194,6 +195,9 @@ type UserSettingValue = {
194
195
  interface WalletCreatedValue {
195
196
  type: 'software' | 'ledger';
196
197
  }
198
+ interface SubmitWaitlist {
199
+ feature: string;
200
+ }
197
201
 
198
202
  interface DefaultProperties {
199
203
  platform: 'web' | 'extension' | 'mobile';
@@ -228,7 +232,7 @@ declare function configureAnalyticsClient<T extends AnalyticsClientInterface>({
228
232
  screen: (name: string, ...args: any[]) => Promise<any>;
229
233
  group: (groupId: string, traits?: any, ...args: any[]) => Promise<any>;
230
234
  identify: (...args: any[]) => Promise<any>;
231
- page: (name: string, ...args: any[]) => Promise<any>;
235
+ page: ((name: string, ...args: any[]) => Promise<any>) | Promise<void>;
232
236
  client: T;
233
237
  };
234
238
 
package/dist/index.js CHANGED
@@ -10,10 +10,10 @@ function AnalyticsClient(analyticsClient, options) {
10
10
  }
11
11
  return analyticsClient.track(event, { ...properties, ...options.defaultProperties });
12
12
  },
13
- screen: analyticsClient.screen,
14
- group: analyticsClient.group,
15
- identify: analyticsClient.identify,
16
- page: analyticsClient.page ? analyticsClient.page : () => Promise.resolve(),
13
+ screen: analyticsClient.screen.bind(analyticsClient),
14
+ group: analyticsClient.group.bind(analyticsClient),
15
+ identify: analyticsClient.identify.bind(analyticsClient),
16
+ page: analyticsClient.page ? analyticsClient.page.bind(analyticsClient) : Promise.resolve(),
17
17
  client: analyticsClient
18
18
  };
19
19
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/client.ts","../src/index.ts"],"sourcesContent":["import { AnalyticsClientConfig, AnalyticsClientInterface, Events, JsonMap } from './types';\n\nexport function AnalyticsClient<T extends AnalyticsClientInterface>(\n analyticsClient: T,\n options: Pick<AnalyticsClientConfig<T>, 'defaultProperties' | 'defaultTraits'>\n) {\n return {\n async track<K extends keyof Events>(\n event: K,\n ...properties: undefined extends Events[K] ? [] : [param: Events[K]]\n ) {\n return analyticsClient.track(event, { ...properties, ...options.defaultProperties });\n },\n async untypedTrack(event: string, properties?: JsonMap) {\n if (event.match(/^[a-zA-Z0-9\\s][a-zA-Z0-9\\s]*$/)) {\n throw new Error('Event must be snake_case');\n }\n return analyticsClient.track(event as any, { ...properties, ...options.defaultProperties });\n },\n screen: analyticsClient.screen,\n group: analyticsClient.group,\n identify: analyticsClient.identify,\n page: analyticsClient.page ? analyticsClient.page : () => Promise.resolve(),\n client: analyticsClient,\n };\n}\n","import { AnalyticsClient } from './client';\nimport { AnalyticsClientInterface, DefaultProperties, JsonMap } from './types';\n\nexport * from './types';\n\nexport function configureAnalyticsClient<T extends AnalyticsClientInterface>({\n client,\n defaultProperties,\n defaultTraits,\n}: {\n client: T;\n defaultProperties: DefaultProperties;\n defaultTraits?: JsonMap;\n}) {\n return AnalyticsClient<T>(client, { defaultProperties, defaultTraits });\n}\n"],"mappings":";AAEO,SAAS,gBACd,iBACA,SACA;AACA,SAAO;AAAA,IACL,MAAM,MACJ,UACG,YACH;AACA,aAAO,gBAAgB,MAAM,OAAO,EAAE,GAAG,YAAY,GAAG,QAAQ,kBAAkB,CAAC;AAAA,IACrF;AAAA,IACA,MAAM,aAAa,OAAe,YAAsB;AACtD,UAAI,MAAM,MAAM,+BAA+B,GAAG;AAChD,cAAM,IAAI,MAAM,0BAA0B;AAAA,MAC5C;AACA,aAAO,gBAAgB,MAAM,OAAc,EAAE,GAAG,YAAY,GAAG,QAAQ,kBAAkB,CAAC;AAAA,IAC5F;AAAA,IACA,QAAQ,gBAAgB;AAAA,IACxB,OAAO,gBAAgB;AAAA,IACvB,UAAU,gBAAgB;AAAA,IAC1B,MAAM,gBAAgB,OAAO,gBAAgB,OAAO,MAAM,QAAQ,QAAQ;AAAA,IAC1E,QAAQ;AAAA,EACV;AACF;;;ACpBO,SAAS,yBAA6D;AAAA,EAC3E;AAAA,EACA;AAAA,EACA;AACF,GAIG;AACD,SAAO,gBAAmB,QAAQ,EAAE,mBAAmB,cAAc,CAAC;AACxE;","names":[]}
1
+ {"version":3,"sources":["../src/client.ts","../src/index.ts"],"sourcesContent":["import { AnalyticsClientConfig, AnalyticsClientInterface, Events, JsonMap } from './types';\n\nexport function AnalyticsClient<T extends AnalyticsClientInterface>(\n analyticsClient: T,\n options: Pick<AnalyticsClientConfig<T>, 'defaultProperties' | 'defaultTraits'>\n) {\n return {\n async track<K extends keyof Events>(\n event: K,\n ...properties: undefined extends Events[K] ? [] : [param: Events[K]]\n ) {\n return analyticsClient.track(event, { ...properties, ...options.defaultProperties });\n },\n async untypedTrack(event: string, properties?: JsonMap) {\n if (event.match(/^[a-zA-Z0-9\\s][a-zA-Z0-9\\s]*$/)) {\n throw new Error('Event must be snake_case');\n }\n return analyticsClient.track(event as any, { ...properties, ...options.defaultProperties });\n },\n screen: analyticsClient.screen.bind(analyticsClient),\n group: analyticsClient.group.bind(analyticsClient),\n identify: analyticsClient.identify.bind(analyticsClient),\n page: analyticsClient.page ? analyticsClient.page.bind(analyticsClient) : Promise.resolve(),\n client: analyticsClient,\n };\n}\n","import { AnalyticsClient } from './client';\nimport { AnalyticsClientInterface, DefaultProperties, JsonMap } from './types';\n\nexport * from './types';\n\nexport function configureAnalyticsClient<T extends AnalyticsClientInterface>({\n client,\n defaultProperties,\n defaultTraits,\n}: {\n client: T;\n defaultProperties: DefaultProperties;\n defaultTraits?: JsonMap;\n}) {\n return AnalyticsClient<T>(client, { defaultProperties, defaultTraits });\n}\n"],"mappings":";AAEO,SAAS,gBACd,iBACA,SACA;AACA,SAAO;AAAA,IACL,MAAM,MACJ,UACG,YACH;AACA,aAAO,gBAAgB,MAAM,OAAO,EAAE,GAAG,YAAY,GAAG,QAAQ,kBAAkB,CAAC;AAAA,IACrF;AAAA,IACA,MAAM,aAAa,OAAe,YAAsB;AACtD,UAAI,MAAM,MAAM,+BAA+B,GAAG;AAChD,cAAM,IAAI,MAAM,0BAA0B;AAAA,MAC5C;AACA,aAAO,gBAAgB,MAAM,OAAc,EAAE,GAAG,YAAY,GAAG,QAAQ,kBAAkB,CAAC;AAAA,IAC5F;AAAA,IACA,QAAQ,gBAAgB,OAAO,KAAK,eAAe;AAAA,IACnD,OAAO,gBAAgB,MAAM,KAAK,eAAe;AAAA,IACjD,UAAU,gBAAgB,SAAS,KAAK,eAAe;AAAA,IACvD,MAAM,gBAAgB,OAAO,gBAAgB,KAAK,KAAK,eAAe,IAAI,QAAQ,QAAQ;AAAA,IAC1F,QAAQ;AAAA,EACV;AACF;;;ACpBO,SAAS,yBAA6D;AAAA,EAC3E;AAAA,EACA;AAAA,EACA;AACF,GAIG;AACD,SAAO,gBAAmB,QAAQ,EAAE,mBAAmB,cAAc,CAAC;AACxE;","names":[]}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@leather.io/analytics",
3
3
  "author": "Leather.io contact@leather.io",
4
4
  "description": "Analytics package for Leather using Segment",
5
- "version": "3.0.0",
5
+ "version": "3.0.2",
6
6
  "license": "MIT",
7
7
  "homepage": "https://github.com/leather.io/mono/tree/dev/packages/analytics",
8
8
  "repository": {
@@ -27,8 +27,8 @@
27
27
  "tsup": "8.1.0",
28
28
  "typescript": "5.5.4",
29
29
  "vitest": "2.1.5",
30
- "@leather.io/models": "0.24.0",
31
- "@leather.io/eslint-config": "0.7.0"
30
+ "@leather.io/eslint-config": "0.7.0",
31
+ "@leather.io/models": "0.24.0"
32
32
  },
33
33
  "files": [
34
34
  "dist"