rudder-sdk-js 1.0.19 → 1.2.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.
Files changed (4) hide show
  1. package/README.md +103 -157
  2. package/index.d.ts +374 -24
  3. package/index.js +10287 -10187
  4. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -1,46 +1,396 @@
1
1
  declare module "rudder-sdk-js" {
2
- function load(writeKey: string, dataPlaneUrl: string, options?: any): any;
2
+ /**
3
+ * Represents the integration options object
4
+ * Example usages:
5
+ * integrationOptions { All: false, "Google Analytics": true, "Braze": true}
6
+ * integrationOptions { All: true, "Chartbeat": false, "Customer.io": false}
7
+ */
8
+ interface integrationOptions {
9
+ // Defaults to true
10
+ All?: boolean;
11
+ // Destination name: Enable/Disable
12
+ [index: string]: boolean | undefined;
13
+ }
3
14
 
4
- function ready(callback: any): any;
15
+ /**
16
+ * Represents the queue options parameter in loadOptions type
17
+ */
18
+ interface queueOptions {
19
+ // Upper cap on maximum delay for an event
20
+ maxRetryDelay?: number;
21
+ // Minimum delay before sending an event
22
+ minRetryDelay?: number;
23
+ // Exponential base
24
+ backoffFactor?: number;
25
+ // Maximum number of attempts
26
+ maxAttempts?: number;
27
+ // Maximum number of events in storage
28
+ maxItems?: number;
29
+ }
5
30
 
31
+ /**
32
+ * Represents the options parameter in the load API
33
+ */
34
+ interface loadOptions {
35
+ integrations?: integrationOptions;
36
+ // defaults to https://api.rudderlabs.com
37
+ configUrl?: string;
38
+ queueOptions?: queueOptions;
39
+ // Defaults to true
40
+ loadIntegration?: boolean;
41
+ logLevel?: string;
42
+ getSourceConfig?: () =>
43
+ | string
44
+ | apiObject
45
+ | Promise<apiObject>
46
+ | Promise<string>;
47
+ setCookieDomain?: string;
48
+ sendAdblockPage?: boolean;
49
+ sendAdblockPageOptions?: apiOptions;
50
+ clientSuppliedCallbacks?: { string: () => void };
51
+ }
52
+
53
+ /**
54
+ * Represents the options parameter in the APIs
55
+ */
56
+ interface apiOptions {
57
+ integrations?: integrationOptions;
58
+ anonymousId?: string;
59
+ // ISO 8601 date string
60
+ originalTimestamp?: string;
61
+ // Merged with event's contextual information
62
+ [index: string]:
63
+ | string
64
+ | number
65
+ | boolean
66
+ | apiObject
67
+ | integrationOptions
68
+ | undefined;
69
+ }
70
+
71
+ /**
72
+ * Represents a generic object in the APIs
73
+ * Use for parameters like properties, traits etc.
74
+ */
75
+ interface apiObject {
76
+ [index: string]: string | number | boolean | apiObject;
77
+ }
78
+
79
+ /**
80
+ * Represents the callback in the APIs
81
+ */
82
+ type apiCallback = () => void;
83
+
84
+ /**
85
+ * Call control pane to get client configs
86
+ * @param writeKey
87
+ * @param dataPlaneUrl
88
+ * @param options
89
+ */
90
+ function load(
91
+ writeKey: string,
92
+ dataPlaneUrl: string,
93
+ options?: loadOptions
94
+ ): void;
95
+
96
+ /**
97
+ * To register a callback for SDK ready state
98
+ * @param callback
99
+ */
100
+ function ready(callback: apiCallback): void;
101
+
102
+ /**
103
+ * To record a page view event
104
+ * @param category
105
+ * @param name
106
+ * @param properties
107
+ * @param options
108
+ * @param callback
109
+ */
6
110
  function page(
7
111
  category?: string,
8
112
  name?: string,
9
- properties?: any,
10
- options?: any,
11
- callback?: any
12
- ): any;
113
+ properties?: apiObject,
114
+ options?: apiOptions,
115
+ callback?: apiCallback
116
+ ): void;
117
+
118
+ /**
119
+ * To record a page view event
120
+ * @param category
121
+ * @param name
122
+ * @param properties
123
+ * @param callback
124
+ */
125
+ function page(
126
+ category: string,
127
+ name: string,
128
+ properties: apiObject,
129
+ callback: apiCallback
130
+ ): void;
131
+
132
+ /**
133
+ * To record a page view event
134
+ * @param category
135
+ * @param name
136
+ * @param callback
137
+ */
138
+ function page(category: string, name: string, callback: apiCallback): void;
139
+
140
+ /**
141
+ * To record a page view event
142
+ * @param name
143
+ * @param properties
144
+ * @param options
145
+ * @param callback
146
+ */
147
+ function page(
148
+ name: string,
149
+ properties?: apiObject,
150
+ options?: apiOptions,
151
+ callback?: apiCallback
152
+ ): void;
153
+
154
+ /**
155
+ * To record a page view event
156
+ * @param name
157
+ * @param properties
158
+ * @param callback
159
+ */
160
+ function page(
161
+ name: string,
162
+ properties: apiObject,
163
+ callback: apiCallback
164
+ ): void;
165
+
166
+ /**
167
+ *
168
+ * @param name
169
+ * @param callback
170
+ */
171
+ function page(name: string, callback: apiCallback): void;
172
+
173
+ /**
174
+ *
175
+ * @param properties
176
+ * @param options
177
+ * @param callback
178
+ */
179
+ function page(
180
+ properties: apiObject,
181
+ options: apiOptions,
182
+ callback?: apiCallback
183
+ ): void;
184
+
185
+ /**
186
+ * To record a page view event
187
+ * @param properties
188
+ * @param callback
189
+ */
190
+ function page(properties: apiObject, callback?: apiCallback): void;
191
+
192
+ /**
193
+ * To record a user track event
194
+ * @param event
195
+ * @param properties
196
+ * @param options
197
+ * @param callback
198
+ */
199
+ function track(
200
+ event: string,
201
+ properties?: apiObject,
202
+ options?: apiOptions,
203
+ callback?: apiCallback
204
+ ): void;
13
205
 
206
+ /**
207
+ * To record a user track event
208
+ * @param event
209
+ * @param properties
210
+ * @param callback
211
+ */
14
212
  function track(
15
213
  event: string,
16
- properties?: any,
17
- options?: any,
18
- callback?: any
19
- ): any;
214
+ properties: apiObject,
215
+ callback: apiCallback
216
+ ): void;
217
+
218
+ /**
219
+ * To record a user track event
220
+ * @param event
221
+ * @param callback
222
+ */
223
+ function track(event: string, callback: apiCallback): void;
224
+
225
+ /**
226
+ * To record a user identification event
227
+ * @param userId
228
+ * @param traits
229
+ * @param options
230
+ * @param callback
231
+ */
232
+ function identify(
233
+ userId?: string,
234
+ traits?: apiObject,
235
+ options?: apiOptions,
236
+ callback?: apiCallback
237
+ ): void;
20
238
 
239
+ /**
240
+ * To record a user identification event
241
+ * @param userId
242
+ * @param traits
243
+ * @param callback
244
+ */
21
245
  function identify(
22
- id?: string,
23
- traits?: any,
24
- options?: any,
25
- callback?: any
26
- ): any;
246
+ userId: string,
247
+ traits: apiObject,
248
+ callback: apiCallback
249
+ ): void;
250
+
251
+ /**
252
+ * To record a user identification event
253
+ * @param userId
254
+ * @param callback
255
+ */
256
+ function identify(userId: string, callback: apiCallback): void;
257
+
258
+ /**
259
+ *
260
+ * @param traits
261
+ * @param options
262
+ * @param callback
263
+ */
264
+ function identify(
265
+ traits: apiObject,
266
+ options: apiOptions,
267
+ callback?: apiCallback
268
+ ): void;
269
+
270
+ /**
271
+ *
272
+ * @param traits
273
+ * @param callback
274
+ */
275
+ function identify(traits: apiObject, callback?: apiCallback): void;
27
276
 
28
- function alias(to: string, from?: string, options?: any, callback?: any): any;
277
+ /**
278
+ * To record a user alias event
279
+ * @param to
280
+ * @param from
281
+ * @param options
282
+ * @param callback
283
+ */
284
+ function alias(
285
+ to: string,
286
+ from?: string,
287
+ options?: apiOptions,
288
+ callback?: apiCallback
289
+ ): void;
29
290
 
291
+ /**
292
+ * To record a user alias event
293
+ * @param to
294
+ * @param from
295
+ * @param callback
296
+ */
297
+ function alias(to: string, from: string, callback: apiCallback): void;
298
+
299
+ /**
300
+ * To record a user alias event
301
+ * @param to
302
+ * @param callback
303
+ */
304
+ function alias(to: string, callback: apiCallback): void;
305
+
306
+ /**
307
+ * To record a user alias event
308
+ * @param to
309
+ * @param options
310
+ * @param callback
311
+ */
312
+ function alias(to: string, options: apiOptions, callback?: apiCallback): void;
313
+
314
+ /**
315
+ * To record a user group event
316
+ * @param groupId
317
+ * @param traits
318
+ * @param options
319
+ * @param callback
320
+ */
321
+ function group(
322
+ groupId: string,
323
+ traits?: apiObject,
324
+ options?: apiOptions,
325
+ callback?: apiCallback
326
+ ): void;
327
+
328
+ /**
329
+ * To record a user group event
330
+ * @param groupId
331
+ * @param traits
332
+ * @param callback
333
+ */
30
334
  function group(
31
- group: string,
32
- traits?: any,
33
- options?: any,
34
- callback?: any
35
- ): any;
335
+ groupId: string,
336
+ traits: apiObject,
337
+ callback: apiCallback
338
+ ): void;
339
+
340
+ /**
341
+ * To record a user group event
342
+ * @param groupId
343
+ * @param callback
344
+ */
345
+ function group(groupId: string, callback: apiCallback): void;
346
+
347
+ /**
348
+ * To record a user group event
349
+ * @param traits
350
+ * @param options
351
+ * @param callback
352
+ */
353
+ function group(
354
+ traits: apiObject,
355
+ options: apiOptions,
356
+ callback?: apiCallback
357
+ ): void;
358
+
359
+ /**
360
+ * To record a user group event
361
+ * @param traits
362
+ * @param callback
363
+ */
364
+ function group(traits: apiObject, callback?: apiCallback): void;
36
365
 
37
- function getAnonymousId(): any;
366
+ /**
367
+ * To get anonymousId set in the SDK
368
+ */
369
+ function getAnonymousId(): string;
38
370
 
39
- function setAnonymousId(id?: string): any;
371
+ /**
372
+ * To set anonymousId
373
+ * @param anonymousId
374
+ * @param rudderAmpLinkerParm AMP Linker ID string
375
+ */
376
+ function setAnonymousId(
377
+ anonymousId?: string,
378
+ rudderAmpLinkerParm?: string
379
+ ): void;
40
380
 
41
- function reset(): any;
381
+ /**
382
+ * Clear user information
383
+ * @param flag If true, clears anonymousId as well
384
+ */
385
+ function reset(flag?: boolean): void;
42
386
 
43
387
  export {
388
+ integrationOptions,
389
+ loadOptions,
390
+ apiOptions,
391
+ queueOptions,
392
+ apiObject,
393
+ apiCallback,
44
394
  load,
45
395
  ready,
46
396
  reset,