taro-posthog-sdk 1.0.0
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/README.md +71 -0
- package/dist/index.cjs +363 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +114 -0
- package/dist/index.mjs +357 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +45 -0
- package/src/index.ts +467 -0
- package/src/types.ts +76 -0
- package/src/version.ts +1 -0
package/README.md
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# PostHog Mini Program
|
|
2
|
+
|
|
3
|
+
Minimal PostHog client for Taro mini apps.
|
|
4
|
+
|
|
5
|
+
This package is intentionally separate from `posthog-js`. It avoids browser-only APIs such as `window`, `document`, `history`, `fetch`, cookies, `localStorage`, Session Replay, autocapture, surveys, feature flags, and exception autocapture. It keeps only the basics needed to send events from a Taro mini app.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
pnpm add @posthog/miniprogram
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
Initialize once in your Taro app, usually in `app.ts` or `app.js`:
|
|
16
|
+
|
|
17
|
+
```ts
|
|
18
|
+
import PostHog from '@posthog/miniprogram'
|
|
19
|
+
|
|
20
|
+
export const posthog = new PostHog('YOUR_PROJECT_API_KEY', {
|
|
21
|
+
api_host: 'https://us.i.posthog.com',
|
|
22
|
+
capture_pageview: true,
|
|
23
|
+
})
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Capture custom events:
|
|
27
|
+
|
|
28
|
+
```ts
|
|
29
|
+
posthog.capture('checkout started', {
|
|
30
|
+
product_id: 'sku_123',
|
|
31
|
+
})
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Identify a user after login:
|
|
35
|
+
|
|
36
|
+
```ts
|
|
37
|
+
posthog.identify('user_123', {
|
|
38
|
+
plan: 'pro',
|
|
39
|
+
})
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Screen Views
|
|
43
|
+
|
|
44
|
+
When available, the SDK uses `Taro.onAppRoute` to capture `$screen` events and `Taro.getCurrentPages()` to populate route information. It also captures the initial screen after initialization.
|
|
45
|
+
|
|
46
|
+
If your Taro runtime does not expose `onAppRoute`, call `captureScreen` from page lifecycle handlers:
|
|
47
|
+
|
|
48
|
+
```ts
|
|
49
|
+
Page({
|
|
50
|
+
onShow() {
|
|
51
|
+
posthog.captureScreen()
|
|
52
|
+
},
|
|
53
|
+
})
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## API
|
|
57
|
+
|
|
58
|
+
- `capture(event, properties?, options?)`
|
|
59
|
+
- `captureScreen(route?, properties?)`
|
|
60
|
+
- `capturePageview(route?, properties?)`
|
|
61
|
+
- `identify(distinctId, userPropertiesToSet?, userPropertiesToSetOnce?)`
|
|
62
|
+
- `alias(alias, distinctId?)`
|
|
63
|
+
- `register(properties)`
|
|
64
|
+
- `unregister(property)`
|
|
65
|
+
- `reset()`
|
|
66
|
+
- `flush()`
|
|
67
|
+
- `stop()`
|
|
68
|
+
|
|
69
|
+
Events are persisted with `Taro.setStorageSync` and sent to PostHog with `Taro.request` at `/batch/`.
|
|
70
|
+
|
|
71
|
+
The SDK also adds basic app context from `Taro.getSystemInfoSync()`, including screen size, viewport size, device model, manufacturer, OS, pixel ratio, SDK version, language, and theme.
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var Taro = require('@tarojs/taro');
|
|
6
|
+
|
|
7
|
+
const version = "1.0.0";
|
|
8
|
+
|
|
9
|
+
const DEFAULT_HOST = 'https://us.i.posthog.com';
|
|
10
|
+
const DEFAULT_FLUSH_AT = 20;
|
|
11
|
+
const DEFAULT_FLUSH_INTERVAL = 10000;
|
|
12
|
+
const DEFAULT_REQUEST_TIMEOUT = 10000;
|
|
13
|
+
const LIBRARY = 'miniprogram';
|
|
14
|
+
const taro = Taro;
|
|
15
|
+
const trimTrailingSlash = value => value.replace(/\/+$/, '');
|
|
16
|
+
const now = () => new Date().toISOString();
|
|
17
|
+
const isRecord = value => !!value && typeof value === 'object' && !Array.isArray(value);
|
|
18
|
+
const stringifyQuery = query => {
|
|
19
|
+
if (!query) {
|
|
20
|
+
return '';
|
|
21
|
+
}
|
|
22
|
+
const parts = Object.entries(query).filter(([, value]) => value !== undefined).map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);
|
|
23
|
+
return parts.length ? `?${parts.join('&')}` : '';
|
|
24
|
+
};
|
|
25
|
+
const createUuid = () => {
|
|
26
|
+
const template = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';
|
|
27
|
+
return template.replace(/[xy]/g, char => {
|
|
28
|
+
const random = Math.floor(Math.random() * 16);
|
|
29
|
+
const value = char === 'x' ? random : random & 0x3 | 0x8;
|
|
30
|
+
return value.toString(16);
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
const getCurrentTaroPages = taro => {
|
|
34
|
+
try {
|
|
35
|
+
if (typeof taro?.getCurrentPages === 'function') {
|
|
36
|
+
return taro.getCurrentPages();
|
|
37
|
+
}
|
|
38
|
+
return typeof getCurrentPages === 'function' ? getCurrentPages() : [];
|
|
39
|
+
} catch {
|
|
40
|
+
return [];
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
const normalizeRoute = (route, taro) => {
|
|
44
|
+
if (route?.path || route?.route) {
|
|
45
|
+
return route;
|
|
46
|
+
}
|
|
47
|
+
const pages = getCurrentTaroPages(taro);
|
|
48
|
+
const currentPage = pages[pages.length - 1];
|
|
49
|
+
const path = currentPage?.route || currentPage?.path || currentPage?.$taroPath;
|
|
50
|
+
return {
|
|
51
|
+
path,
|
|
52
|
+
route: path,
|
|
53
|
+
query: currentPage?.options
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
const getString = value => typeof value === 'string' && value ? value : undefined;
|
|
57
|
+
const getNumber = value => typeof value === 'number' ? value : undefined;
|
|
58
|
+
class PostHogMiniProgram {
|
|
59
|
+
constructor(apiKey, options = {}) {
|
|
60
|
+
this.state = {};
|
|
61
|
+
this.disabled = false;
|
|
62
|
+
this.apiKey = (apiKey || '').trim();
|
|
63
|
+
this.options = options;
|
|
64
|
+
this.host = trimTrailingSlash(options.api_host || DEFAULT_HOST);
|
|
65
|
+
this.flushAt = options.flush_at ?? DEFAULT_FLUSH_AT;
|
|
66
|
+
this.flushInterval = options.flush_interval ?? DEFAULT_FLUSH_INTERVAL;
|
|
67
|
+
this.requestTimeout = options.request_timeout ?? DEFAULT_REQUEST_TIMEOUT;
|
|
68
|
+
this.storageKey = `ph_${options.persistence_name || this.apiKey}_miniprogram`;
|
|
69
|
+
this.disabled = !this.apiKey;
|
|
70
|
+
this.state = this.readState();
|
|
71
|
+
this.setupIdentity();
|
|
72
|
+
this.persistState();
|
|
73
|
+
if (options.capture_pageview !== false) {
|
|
74
|
+
this.installPageviewTracking();
|
|
75
|
+
}
|
|
76
|
+
this.appHideHandler = () => {
|
|
77
|
+
void this.flush().catch(() => undefined);
|
|
78
|
+
};
|
|
79
|
+
taro.onAppHide?.(this.appHideHandler);
|
|
80
|
+
options.loaded?.(this);
|
|
81
|
+
}
|
|
82
|
+
capture(event, properties = {}, options = {}) {
|
|
83
|
+
if (this.disabled || !event) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
const eventPayload = {
|
|
87
|
+
event,
|
|
88
|
+
properties: {
|
|
89
|
+
...(this.state.super_properties || {}),
|
|
90
|
+
...this.getSystemInfoProperties(),
|
|
91
|
+
...properties,
|
|
92
|
+
distinct_id: this.getDistinctId(),
|
|
93
|
+
$device_id: this.getDeviceId(),
|
|
94
|
+
$lib: LIBRARY,
|
|
95
|
+
$lib_version: version,
|
|
96
|
+
...(options.disable_geoip ?? this.options.disable_geoip ? {
|
|
97
|
+
$geoip_disable: true
|
|
98
|
+
} : {})
|
|
99
|
+
},
|
|
100
|
+
distinct_id: this.getDistinctId(),
|
|
101
|
+
timestamp: this.normalizeTimestamp(options.timestamp),
|
|
102
|
+
uuid: options.uuid || createUuid(),
|
|
103
|
+
type: 'capture',
|
|
104
|
+
library: LIBRARY,
|
|
105
|
+
library_version: version
|
|
106
|
+
};
|
|
107
|
+
const preparedEvent = this.options.before_send ? this.options.before_send(eventPayload) : eventPayload;
|
|
108
|
+
if (!preparedEvent) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
this.enqueue(preparedEvent);
|
|
112
|
+
if (options.send_instantly || this.getQueue().length >= this.flushAt) {
|
|
113
|
+
void this.flush().catch(error => this.log('flush failed', error));
|
|
114
|
+
} else {
|
|
115
|
+
this.scheduleFlush();
|
|
116
|
+
}
|
|
117
|
+
return preparedEvent;
|
|
118
|
+
}
|
|
119
|
+
capturePageview(route, properties = {}) {
|
|
120
|
+
return this.captureScreen(route, properties);
|
|
121
|
+
}
|
|
122
|
+
captureScreen(route, properties = {}) {
|
|
123
|
+
const normalizedRoute = normalizeRoute(route, taro);
|
|
124
|
+
const path = normalizedRoute.path || normalizedRoute.route || '';
|
|
125
|
+
const query = stringifyQuery(normalizedRoute.query);
|
|
126
|
+
const currentUrl = `${path}${query}`;
|
|
127
|
+
if (currentUrl && currentUrl === this.lastPagePath) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
const pageviewProperties = {
|
|
131
|
+
$current_url: currentUrl,
|
|
132
|
+
$pathname: path,
|
|
133
|
+
$referrer: '$direct',
|
|
134
|
+
$screen_name: currentUrl || path,
|
|
135
|
+
taro_open_type: normalizedRoute.openType,
|
|
136
|
+
...(this.options.get_pageview_properties?.(normalizedRoute) || {}),
|
|
137
|
+
...properties
|
|
138
|
+
};
|
|
139
|
+
this.lastPagePath = currentUrl;
|
|
140
|
+
return this.capture('$screen', pageviewProperties);
|
|
141
|
+
}
|
|
142
|
+
identify(distinctId, userPropertiesToSet, userPropertiesToSetOnce) {
|
|
143
|
+
if (!distinctId) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
const previousDistinctId = this.getDistinctId();
|
|
147
|
+
this.state.distinct_id = distinctId;
|
|
148
|
+
this.persistState();
|
|
149
|
+
if (previousDistinctId !== distinctId) {
|
|
150
|
+
this.capture('$identify', {
|
|
151
|
+
distinct_id: distinctId,
|
|
152
|
+
$anon_distinct_id: previousDistinctId,
|
|
153
|
+
$set: userPropertiesToSet,
|
|
154
|
+
$set_once: userPropertiesToSetOnce
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
alias(alias, distinctId = this.getDistinctId()) {
|
|
159
|
+
if (!alias) {
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
this.capture('$create_alias', {
|
|
163
|
+
alias,
|
|
164
|
+
distinct_id: distinctId
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
register(properties) {
|
|
168
|
+
this.state.super_properties = {
|
|
169
|
+
...(this.state.super_properties || {}),
|
|
170
|
+
...properties
|
|
171
|
+
};
|
|
172
|
+
this.persistState();
|
|
173
|
+
}
|
|
174
|
+
unregister(property) {
|
|
175
|
+
if (!this.state.super_properties) {
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
delete this.state.super_properties[property];
|
|
179
|
+
this.persistState();
|
|
180
|
+
}
|
|
181
|
+
reset() {
|
|
182
|
+
const queue = this.getQueue();
|
|
183
|
+
const anonymousId = createUuid();
|
|
184
|
+
this.state = {
|
|
185
|
+
anonymous_id: anonymousId,
|
|
186
|
+
distinct_id: anonymousId,
|
|
187
|
+
device_id: anonymousId,
|
|
188
|
+
queue
|
|
189
|
+
};
|
|
190
|
+
this.persistState();
|
|
191
|
+
}
|
|
192
|
+
getDistinctId() {
|
|
193
|
+
return this.state.distinct_id || this.state.anonymous_id || '';
|
|
194
|
+
}
|
|
195
|
+
getDeviceId() {
|
|
196
|
+
return this.state.device_id || this.getDistinctId();
|
|
197
|
+
}
|
|
198
|
+
installPageviewTracking(options = {}) {
|
|
199
|
+
if (options.capture_initial !== false) {
|
|
200
|
+
setTimeout(() => this.captureScreen(), 0);
|
|
201
|
+
}
|
|
202
|
+
if (!taro.onAppRoute || this.appRouteHandler) {
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
this.appRouteHandler = route => {
|
|
206
|
+
this.captureScreen(route);
|
|
207
|
+
};
|
|
208
|
+
taro.onAppRoute(this.appRouteHandler);
|
|
209
|
+
}
|
|
210
|
+
async flush() {
|
|
211
|
+
if (this.disabled) {
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
if (this.flushPromise) {
|
|
215
|
+
return this.flushPromise;
|
|
216
|
+
}
|
|
217
|
+
this.clearFlushTimer();
|
|
218
|
+
this.flushPromise = this.flushQueue().finally(() => {
|
|
219
|
+
this.flushPromise = undefined;
|
|
220
|
+
});
|
|
221
|
+
return this.flushPromise;
|
|
222
|
+
}
|
|
223
|
+
stop() {
|
|
224
|
+
this.clearFlushTimer();
|
|
225
|
+
if (this.appRouteHandler) {
|
|
226
|
+
taro.offAppRoute?.(this.appRouteHandler);
|
|
227
|
+
this.appRouteHandler = undefined;
|
|
228
|
+
}
|
|
229
|
+
if (this.appHideHandler) {
|
|
230
|
+
taro.offAppHide?.(this.appHideHandler);
|
|
231
|
+
this.appHideHandler = undefined;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
setupIdentity() {
|
|
235
|
+
if (this.state.distinct_id) {
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
const bootstrapDistinctId = this.options.bootstrap?.distinctID;
|
|
239
|
+
const anonymousId = bootstrapDistinctId && !this.options.bootstrap?.isIdentifiedID ? bootstrapDistinctId : createUuid();
|
|
240
|
+
this.state.anonymous_id = this.state.anonymous_id || anonymousId;
|
|
241
|
+
this.state.device_id = this.state.device_id || this.state.anonymous_id;
|
|
242
|
+
this.state.distinct_id = bootstrapDistinctId || this.state.anonymous_id;
|
|
243
|
+
}
|
|
244
|
+
normalizeTimestamp(timestamp) {
|
|
245
|
+
if (timestamp instanceof Date) {
|
|
246
|
+
return timestamp.toISOString();
|
|
247
|
+
}
|
|
248
|
+
return timestamp || now();
|
|
249
|
+
}
|
|
250
|
+
getSystemInfoProperties() {
|
|
251
|
+
if (this.systemInfoProperties) {
|
|
252
|
+
return this.systemInfoProperties;
|
|
253
|
+
}
|
|
254
|
+
let systemInfo = {};
|
|
255
|
+
try {
|
|
256
|
+
systemInfo = taro.getSystemInfoSync?.() || {};
|
|
257
|
+
} catch {
|
|
258
|
+
systemInfo = {};
|
|
259
|
+
}
|
|
260
|
+
this.systemInfoProperties = {
|
|
261
|
+
$screen_height: getNumber(systemInfo.screenHeight),
|
|
262
|
+
$screen_width: getNumber(systemInfo.screenWidth),
|
|
263
|
+
$viewport_height: getNumber(systemInfo.windowHeight),
|
|
264
|
+
$viewport_width: getNumber(systemInfo.windowWidth),
|
|
265
|
+
$device_model: getString(systemInfo.model),
|
|
266
|
+
$device_manufacturer: getString(systemInfo.brand),
|
|
267
|
+
$os: getString(systemInfo.platform),
|
|
268
|
+
$os_version: getString(systemInfo.system),
|
|
269
|
+
taro_pixel_ratio: getNumber(systemInfo.pixelRatio),
|
|
270
|
+
taro_sdk_version: getString(systemInfo.SDKVersion),
|
|
271
|
+
taro_language: getString(systemInfo.language),
|
|
272
|
+
taro_theme: getString(systemInfo.theme)
|
|
273
|
+
};
|
|
274
|
+
return this.systemInfoProperties;
|
|
275
|
+
}
|
|
276
|
+
enqueue(event) {
|
|
277
|
+
this.state.queue = [...this.getQueue(), event];
|
|
278
|
+
this.persistState();
|
|
279
|
+
this.log('queued event', event);
|
|
280
|
+
}
|
|
281
|
+
getQueue() {
|
|
282
|
+
return this.state.queue || [];
|
|
283
|
+
}
|
|
284
|
+
scheduleFlush() {
|
|
285
|
+
if (this.flushTimer || this.flushInterval <= 0) {
|
|
286
|
+
return;
|
|
287
|
+
}
|
|
288
|
+
this.flushTimer = setTimeout(() => {
|
|
289
|
+
void this.flush().catch(error => this.log('flush failed', error));
|
|
290
|
+
}, this.flushInterval);
|
|
291
|
+
}
|
|
292
|
+
clearFlushTimer() {
|
|
293
|
+
if (this.flushTimer) {
|
|
294
|
+
clearTimeout(this.flushTimer);
|
|
295
|
+
this.flushTimer = undefined;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
async flushQueue() {
|
|
299
|
+
while (this.getQueue().length > 0) {
|
|
300
|
+
const batch = this.getQueue().slice(0, this.flushAt);
|
|
301
|
+
await this.sendBatch(batch);
|
|
302
|
+
this.state.queue = this.getQueue().slice(batch.length);
|
|
303
|
+
this.persistState();
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
sendBatch(batch) {
|
|
307
|
+
return new Promise((resolve, reject) => {
|
|
308
|
+
taro.request({
|
|
309
|
+
url: `${this.host}/batch/`,
|
|
310
|
+
method: 'POST',
|
|
311
|
+
data: {
|
|
312
|
+
api_key: this.apiKey,
|
|
313
|
+
batch,
|
|
314
|
+
sent_at: now()
|
|
315
|
+
},
|
|
316
|
+
header: {
|
|
317
|
+
'Content-Type': 'application/json'
|
|
318
|
+
},
|
|
319
|
+
timeout: this.requestTimeout,
|
|
320
|
+
success: result => {
|
|
321
|
+
if (result.statusCode >= 200 && result.statusCode < 300) {
|
|
322
|
+
resolve();
|
|
323
|
+
} else {
|
|
324
|
+
reject(new Error(`PostHog request failed with status ${result.statusCode}`));
|
|
325
|
+
}
|
|
326
|
+
},
|
|
327
|
+
fail: reject
|
|
328
|
+
});
|
|
329
|
+
});
|
|
330
|
+
}
|
|
331
|
+
readState() {
|
|
332
|
+
try {
|
|
333
|
+
const value = taro.getStorageSync?.(this.storageKey);
|
|
334
|
+
if (typeof value === 'string') {
|
|
335
|
+
const parsed = JSON.parse(value);
|
|
336
|
+
return isRecord(parsed) ? parsed : {};
|
|
337
|
+
}
|
|
338
|
+
return isRecord(value) ? value : {};
|
|
339
|
+
} catch {
|
|
340
|
+
return {};
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
persistState() {
|
|
344
|
+
try {
|
|
345
|
+
taro.setStorageSync?.(this.storageKey, JSON.stringify(this.state));
|
|
346
|
+
} catch {
|
|
347
|
+
return;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
log(message, payload) {
|
|
351
|
+
if (this.options.debug) {
|
|
352
|
+
console.log(`[PostHog MiniProgram] ${message}`, payload);
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
const init = (apiKey, options) => {
|
|
357
|
+
return new PostHogMiniProgram(apiKey, options);
|
|
358
|
+
};
|
|
359
|
+
|
|
360
|
+
exports.PostHogMiniProgram = PostHogMiniProgram;
|
|
361
|
+
exports.default = PostHogMiniProgram;
|
|
362
|
+
exports.init = init;
|
|
363
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/version.ts","../src/index.ts"],"sourcesContent":[null,null],"names":["version","DEFAULT_HOST","DEFAULT_FLUSH_AT","DEFAULT_FLUSH_INTERVAL","DEFAULT_REQUEST_TIMEOUT","LIBRARY","taro","Taro","trimTrailingSlash","value","replace","now","Date","toISOString","isRecord","Array","isArray","stringifyQuery","query","parts","Object","entries","filter","undefined","map","key","encodeURIComponent","String","length","join","createUuid","template","char","random","Math","floor","toString","getCurrentTaroPages","getCurrentPages","normalizeRoute","route","path","pages","currentPage","$taroPath","options","getString","getNumber","PostHogMiniProgram","constructor","apiKey","state","disabled","trim","host","api_host","flushAt","flush_at","flushInterval","flush_interval","requestTimeout","request_timeout","storageKey","persistence_name","readState","setupIdentity","persistState","capture_pageview","installPageviewTracking","appHideHandler","flush","catch","onAppHide","loaded","capture","event","properties","eventPayload","super_properties","getSystemInfoProperties","distinct_id","getDistinctId","$device_id","getDeviceId","$lib","$lib_version","disable_geoip","$geoip_disable","timestamp","normalizeTimestamp","uuid","type","library","library_version","preparedEvent","before_send","enqueue","send_instantly","getQueue","error","log","scheduleFlush","capturePageview","captureScreen","normalizedRoute","currentUrl","lastPagePath","pageviewProperties","$current_url","$pathname","$referrer","$screen_name","taro_open_type","openType","get_pageview_properties","identify","distinctId","userPropertiesToSet","userPropertiesToSetOnce","previousDistinctId","$anon_distinct_id","$set","$set_once","alias","register","unregister","property","reset","queue","anonymousId","anonymous_id","device_id","capture_initial","setTimeout","onAppRoute","appRouteHandler","flushPromise","clearFlushTimer","flushQueue","finally","stop","offAppRoute","offAppHide","bootstrapDistinctId","bootstrap","distinctID","isIdentifiedID","systemInfoProperties","systemInfo","getSystemInfoSync","$screen_height","screenHeight","$screen_width","screenWidth","$viewport_height","windowHeight","$viewport_width","windowWidth","$device_model","model","$device_manufacturer","brand","$os","platform","$os_version","system","taro_pixel_ratio","pixelRatio","taro_sdk_version","SDKVersion","taro_language","language","taro_theme","theme","flushTimer","clearTimeout","batch","slice","sendBatch","Promise","resolve","reject","request","url","method","data","api_key","sent_at","header","timeout","success","result","statusCode","Error","fail","getStorageSync","parsed","JSON","parse","setStorageSync","stringify","message","payload","debug","console","init"],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
type JsonValue = string | number | boolean | null | JsonValue[] | {
|
|
2
|
+
[key: string]: JsonValue | undefined;
|
|
3
|
+
};
|
|
4
|
+
type Properties = Record<string, JsonValue | undefined>;
|
|
5
|
+
interface CaptureOptions {
|
|
6
|
+
timestamp?: Date | string;
|
|
7
|
+
uuid?: string;
|
|
8
|
+
send_instantly?: boolean;
|
|
9
|
+
disable_geoip?: boolean;
|
|
10
|
+
}
|
|
11
|
+
interface CaptureResult {
|
|
12
|
+
event: string;
|
|
13
|
+
properties: Properties;
|
|
14
|
+
distinct_id: string;
|
|
15
|
+
timestamp: string;
|
|
16
|
+
uuid: string;
|
|
17
|
+
type: string;
|
|
18
|
+
library: string;
|
|
19
|
+
library_version: string;
|
|
20
|
+
}
|
|
21
|
+
type BeforeSendFn = (event: CaptureResult) => CaptureResult | null | undefined;
|
|
22
|
+
interface BootstrapOptions {
|
|
23
|
+
distinctID?: string;
|
|
24
|
+
isIdentifiedID?: boolean;
|
|
25
|
+
}
|
|
26
|
+
interface PageviewRoute {
|
|
27
|
+
path?: string;
|
|
28
|
+
route?: string;
|
|
29
|
+
query?: Record<string, string | number | boolean | undefined>;
|
|
30
|
+
openType?: string;
|
|
31
|
+
}
|
|
32
|
+
interface PageviewTrackingOptions {
|
|
33
|
+
capture_initial?: boolean;
|
|
34
|
+
}
|
|
35
|
+
interface PostHogMiniProgramOptions {
|
|
36
|
+
api_host?: string;
|
|
37
|
+
flush_at?: number;
|
|
38
|
+
flush_interval?: number;
|
|
39
|
+
request_timeout?: number;
|
|
40
|
+
persistence_name?: string;
|
|
41
|
+
capture_pageview?: boolean;
|
|
42
|
+
debug?: boolean;
|
|
43
|
+
disable_geoip?: boolean;
|
|
44
|
+
bootstrap?: BootstrapOptions;
|
|
45
|
+
before_send?: BeforeSendFn;
|
|
46
|
+
get_pageview_properties?: (route: PageviewRoute) => Properties;
|
|
47
|
+
loaded?: (posthog: PostHogMiniProgramLike) => void;
|
|
48
|
+
}
|
|
49
|
+
interface PostHogMiniProgramLike {
|
|
50
|
+
capture(event: string, properties?: Properties, options?: CaptureOptions): CaptureResult | undefined;
|
|
51
|
+
captureScreen(route?: PageviewRoute, properties?: Properties): CaptureResult | undefined;
|
|
52
|
+
capturePageview(route?: PageviewRoute, properties?: Properties): CaptureResult | undefined;
|
|
53
|
+
flush(): Promise<void>;
|
|
54
|
+
}
|
|
55
|
+
interface TaroPage {
|
|
56
|
+
route?: string;
|
|
57
|
+
path?: string;
|
|
58
|
+
$taroPath?: string;
|
|
59
|
+
options?: Record<string, string | number | boolean | undefined>;
|
|
60
|
+
}
|
|
61
|
+
interface PersistedState {
|
|
62
|
+
distinct_id?: string;
|
|
63
|
+
anonymous_id?: string;
|
|
64
|
+
device_id?: string;
|
|
65
|
+
super_properties?: Properties;
|
|
66
|
+
queue?: CaptureResult[];
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
declare class PostHogMiniProgram {
|
|
70
|
+
private readonly apiKey;
|
|
71
|
+
private readonly host;
|
|
72
|
+
private readonly flushAt;
|
|
73
|
+
private readonly flushInterval;
|
|
74
|
+
private readonly requestTimeout;
|
|
75
|
+
private readonly storageKey;
|
|
76
|
+
private readonly options;
|
|
77
|
+
private state;
|
|
78
|
+
private flushTimer?;
|
|
79
|
+
private flushPromise?;
|
|
80
|
+
private lastPagePath?;
|
|
81
|
+
private systemInfoProperties?;
|
|
82
|
+
private disabled;
|
|
83
|
+
private appRouteHandler?;
|
|
84
|
+
private appHideHandler?;
|
|
85
|
+
constructor(apiKey: string, options?: PostHogMiniProgramOptions);
|
|
86
|
+
capture(event: string, properties?: Properties, options?: CaptureOptions): CaptureResult | undefined;
|
|
87
|
+
capturePageview(route?: PageviewRoute, properties?: Properties): CaptureResult | undefined;
|
|
88
|
+
captureScreen(route?: PageviewRoute, properties?: Properties): CaptureResult | undefined;
|
|
89
|
+
identify(distinctId: string, userPropertiesToSet?: Properties, userPropertiesToSetOnce?: Properties): void;
|
|
90
|
+
alias(alias: string, distinctId?: string): void;
|
|
91
|
+
register(properties: Properties): void;
|
|
92
|
+
unregister(property: string): void;
|
|
93
|
+
reset(): void;
|
|
94
|
+
getDistinctId(): string;
|
|
95
|
+
getDeviceId(): string;
|
|
96
|
+
installPageviewTracking(options?: PageviewTrackingOptions): void;
|
|
97
|
+
flush(): Promise<void>;
|
|
98
|
+
stop(): void;
|
|
99
|
+
private setupIdentity;
|
|
100
|
+
private normalizeTimestamp;
|
|
101
|
+
private getSystemInfoProperties;
|
|
102
|
+
private enqueue;
|
|
103
|
+
private getQueue;
|
|
104
|
+
private scheduleFlush;
|
|
105
|
+
private clearFlushTimer;
|
|
106
|
+
private flushQueue;
|
|
107
|
+
private sendBatch;
|
|
108
|
+
private readState;
|
|
109
|
+
private persistState;
|
|
110
|
+
private log;
|
|
111
|
+
}
|
|
112
|
+
declare const init: (apiKey: string, options?: PostHogMiniProgramOptions) => PostHogMiniProgram;
|
|
113
|
+
|
|
114
|
+
export { type BeforeSendFn, type BootstrapOptions, type CaptureOptions, type CaptureResult, type JsonValue, type PageviewRoute, type PageviewTrackingOptions, type PersistedState, PostHogMiniProgram, type PostHogMiniProgramLike, type PostHogMiniProgramOptions, type Properties, type TaroPage, PostHogMiniProgram as default, init };
|