playwright-posthog 1.0.0 → 1.1.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.
@@ -1,6 +1,5 @@
1
- import type { Request } from '@playwright/test';
2
1
  import { type CapturedEvent } from './symbols';
3
2
  export declare function isPostHogRequest(url: string): boolean;
4
- export declare function extractEventsFromRequest(request: Request): Promise<CapturedEvent[]>;
3
+ export declare function extractEventsFromBody(body: any, debug?: boolean): CapturedEvent[];
5
4
  export declare function matchesProperties(actual: Record<string, any> | undefined, expected: Record<string, any> | undefined): boolean;
6
5
  //# sourceMappingURL=hog-watcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hog-watcher.d.ts","sourceRoot":"","sources":["../src/hog-watcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAM/D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOrD;AAUD,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,aAAa,EAAE,CAAC,CAiD1B;AA0BD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,EACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,GACxC,OAAO,CAkBT"}
1
+ {"version":3,"file":"hog-watcher.d.ts","sourceRoot":"","sources":["../src/hog-watcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOrD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,GAAE,OAAe,GAAG,aAAa,EAAE,CAgCxF;AAmBD,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,EACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,GACxC,OAAO,CAgBT"}
@@ -1,59 +1,43 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isPostHogRequest = isPostHogRequest;
4
- exports.extractEventsFromRequest = extractEventsFromRequest;
4
+ exports.extractEventsFromBody = extractEventsFromBody;
5
5
  exports.matchesProperties = matchesProperties;
6
- const symbols_1 = require("./symbols");
7
6
  function isPostHogRequest(url) {
8
7
  return (url.includes('/e/') ||
9
8
  url.includes('/capture') ||
10
9
  url.includes('/batch') ||
11
10
  url.includes('/s/'));
12
11
  }
13
- async function extractEventsFromRequest(request) {
12
+ function extractEventsFromBody(body, debug = false) {
14
13
  const events = [];
15
- const debug = (0, symbols_1.isDebugEnabled)();
16
- try {
17
- const body = request.postDataJSON();
18
- if (!body) {
19
- if (debug) {
20
- console.log('[playwright-posthog] No POST data found in request');
21
- }
22
- return events;
23
- }
24
- if (debug) {
25
- console.log('[playwright-posthog] Request body:', JSON.stringify(body, null, 2));
14
+ if (!body) {
15
+ return events;
16
+ }
17
+ if (debug) {
18
+ console.log('[playwright-posthog] Parsing body:', JSON.stringify(body, null, 2));
19
+ }
20
+ if (body.batch && Array.isArray(body.batch)) {
21
+ for (const event of body.batch) {
22
+ events.push(normalizeEvent(event));
26
23
  }
27
- if (body.batch && Array.isArray(body.batch)) {
28
- for (const event of body.batch) {
29
- events.push(normalizeEvent(event));
30
- }
24
+ }
25
+ else if (Array.isArray(body)) {
26
+ for (const event of body) {
27
+ events.push(normalizeEvent(event));
31
28
  }
32
- else if (Array.isArray(body)) {
33
- for (const event of body) {
29
+ }
30
+ else if (body.event || body.e) {
31
+ events.push(normalizeEvent(body));
32
+ }
33
+ else if (body.data) {
34
+ if (Array.isArray(body.data)) {
35
+ for (const event of body.data) {
34
36
  events.push(normalizeEvent(event));
35
37
  }
36
38
  }
37
- else if (body.event || body.e) {
38
- events.push(normalizeEvent(body));
39
- }
40
- else if (body.data) {
41
- if (Array.isArray(body.data)) {
42
- for (const event of body.data) {
43
- events.push(normalizeEvent(event));
44
- }
45
- }
46
- else {
47
- events.push(normalizeEvent(body.data));
48
- }
49
- }
50
- if (debug && events.length > 0) {
51
- console.log(`[playwright-posthog] Extracted ${events.length} event(s):`, events.map((e) => e.event).join(', '));
52
- }
53
- }
54
- catch (error) {
55
- if (debug) {
56
- console.error('[playwright-posthog] Error parsing PostHog request:', error);
39
+ else {
40
+ events.push(normalizeEvent(body.data));
57
41
  }
58
42
  }
59
43
  return events;
@@ -80,8 +64,7 @@ function matchesProperties(actual, expected) {
80
64
  return false;
81
65
  }
82
66
  for (const [key, expectedValue] of Object.entries(expected)) {
83
- const actualValue = actual[key];
84
- if (!deepEqual(actualValue, expectedValue)) {
67
+ if (!deepEqual(actual[key], expectedValue)) {
85
68
  return false;
86
69
  }
87
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hog-watcher.js","sourceRoot":"","sources":["../src/hog-watcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hog-watcher.js","sourceRoot":"","sources":["../src/hog-watcher.ts"],"names":[],"mappings":";;AAEA,4CAOC;AAED,sDAgCC;AAmBD,8CAmBC;AA/ED,SAAgB,gBAAgB,CAAC,GAAW;IAC1C,OAAO,CACL,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;QACnB,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;QACxB,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACtB,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CACpB,CAAC;AACJ,CAAC;AAED,SAAgB,qBAAqB,CAAC,IAAS,EAAE,QAAiB,KAAK;IACrE,MAAM,MAAM,GAAoB,EAAE,CAAC;IAEnC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;SAAM,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;IACpC,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,cAAc,CAAC,QAAa;IACnC,MAAM,KAAK,GAAkB;QAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC,IAAI,SAAS;QAChD,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,CAAC,IAAI,EAAE;QACnD,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE;QAC1D,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,CAAC;KAChD,CAAC;IAEF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5F,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,iBAAiB,CAC/B,MAAuC,EACvC,QAAyC;IAEzC,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,EAAE,CAAC;YAC3C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAAC,CAAM,EAAE,CAAM;IAC/B,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,OAAO,CAAC,KAAK,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAE1C,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACxC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAEvD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE7B,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAEhD,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC"}
package/dist/index.d.ts CHANGED
@@ -9,5 +9,5 @@ export declare function getCapturedEvents(page: Page): CapturedEvent[];
9
9
  export declare function clearCapturedEvents(page: Page): void;
10
10
  export type { CapturedEvent } from './symbols';
11
11
  export type { MatcherConfig } from './matchers';
12
- export { isPostHogRequest, extractEventsFromRequest, matchesProperties } from './hog-watcher';
12
+ export { isPostHogRequest, extractEventsFromBody, matchesProperties } from './hog-watcher';
13
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiCA,OAAO,EAAE,UAAU,EAAkB,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAE3E,OAAO,KAAK,EAAE,IAAI,EAAkB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAKtC,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG;IAC3B,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;CAC/B,CAAC;AAiBF,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CA2C5E;AAKD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,EAAE,CAG7D;AAKD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAKpD;AAKD,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,UAAU,EAAkB,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAE3E,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAW,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG;IAC3B,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;CAC/B,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CA4C5E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,aAAa,EAAE,CAE7D;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAKpD;AAED,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.matchesProperties = exports.extractEventsFromRequest = exports.isPostHogRequest = exports.matchers = void 0;
3
+ exports.matchesProperties = exports.extractEventsFromBody = exports.isPostHogRequest = exports.matchers = void 0;
4
4
  exports.withPostHogTracking = withPostHogTracking;
5
5
  exports.getCapturedEvents = getCapturedEvents;
6
6
  exports.clearCapturedEvents = clearCapturedEvents;
@@ -17,34 +17,36 @@ function withPostHogTracking(test) {
17
17
  if (debug) {
18
18
  console.log('[playwright-posthog] Initializing PostHog event capture');
19
19
  }
20
- await hogPage.route('**/*', async (route, request) => {
20
+ hogPage.on('request', (request) => {
21
21
  const url = request.url();
22
22
  if ((0, hog_watcher_1.isPostHogRequest)(url)) {
23
- if (debug) {
24
- console.log(`[playwright-posthog] Intercepted PostHog request: ${url}`);
25
- }
26
- const events = await (0, hog_watcher_1.extractEventsFromRequest)(request);
27
- hogPage[symbols_1.kHogEvents].push(...events);
28
- if (debug && events.length > 0) {
29
- console.log(`[playwright-posthog] Total events captured: ${hogPage[symbols_1.kHogEvents].length}`);
30
- console.log(`[playwright-posthog] Latest events:`, events.map((e) => ({
31
- event: e.event,
32
- properties: e.properties,
33
- })));
23
+ const postData = request.postData();
24
+ if (postData) {
25
+ if (debug) {
26
+ console.log(`[playwright-posthog] Observed request: ${url}`);
27
+ }
28
+ try {
29
+ const body = JSON.parse(postData);
30
+ const events = (0, hog_watcher_1.extractEventsFromBody)(body, debug);
31
+ hogPage[symbols_1.kHogEvents].push(...events);
32
+ if (debug && events.length > 0) {
33
+ console.log(`[playwright-posthog] Captured ${events.length} event(s)`);
34
+ }
35
+ }
36
+ catch {
37
+ }
34
38
  }
35
39
  }
36
- await route.continue();
37
40
  });
38
41
  await use(hogPage);
39
42
  if (debug) {
40
- console.log(`[playwright-posthog] Test complete. Total events captured: ${hogPage[symbols_1.kHogEvents].length}`);
43
+ console.log(`[playwright-posthog] Test complete. Total: ${hogPage[symbols_1.kHogEvents].length} event(s)`);
41
44
  }
42
45
  },
43
46
  });
44
47
  }
45
48
  function getCapturedEvents(page) {
46
- const hogPage = page;
47
- return hogPage[symbols_1.kHogEvents] || [];
49
+ return page[symbols_1.kHogEvents] || [];
48
50
  }
49
51
  function clearCapturedEvents(page) {
50
52
  const hogPage = page;
@@ -54,6 +56,6 @@ function clearCapturedEvents(page) {
54
56
  }
55
57
  var hog_watcher_2 = require("./hog-watcher");
56
58
  Object.defineProperty(exports, "isPostHogRequest", { enumerable: true, get: function () { return hog_watcher_2.isPostHogRequest; } });
57
- Object.defineProperty(exports, "extractEventsFromRequest", { enumerable: true, get: function () { return hog_watcher_2.extractEventsFromRequest; } });
59
+ Object.defineProperty(exports, "extractEventsFromBody", { enumerable: true, get: function () { return hog_watcher_2.extractEventsFromBody; } });
58
60
  Object.defineProperty(exports, "matchesProperties", { enumerable: true, get: function () { return hog_watcher_2.matchesProperties; } });
59
61
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AA6DA,kDA2CC;AAKD,8CAGC;AAKD,kDAKC;AAzFD,uCAA2E;AAC3E,+CAA2E;AAG3E,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AAwBjB,SAAgB,mBAAmB,CAA+B,IAAO;IACvE,OAAO,IAAI,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAkB,EAAE,GAAqC,EAAE,EAAE;YAC5F,MAAM,OAAO,GAAG,YAAuB,CAAC;YACxC,MAAM,KAAK,GAAG,IAAA,wBAAc,GAAE,CAAC;YAE/B,OAAO,CAAC,oBAAU,CAAC,GAAG,EAAE,CAAC;YAEzB,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;YACzE,CAAC;YAED,MAAM,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAY,EAAE,OAAgB,EAAE,EAAE;gBACnE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;gBAE1B,IAAI,IAAA,8BAAgB,EAAC,GAAG,CAAC,EAAE,CAAC;oBAC1B,IAAI,KAAK,EAAE,CAAC;wBACV,OAAO,CAAC,GAAG,CAAC,qDAAqD,GAAG,EAAE,CAAC,CAAC;oBAC1E,CAAC;oBAED,MAAM,MAAM,GAAG,MAAM,IAAA,sCAAwB,EAAC,OAAO,CAAC,CAAC;oBAEvD,OAAO,CAAC,oBAAU,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;oBAEpC,IAAI,KAAK,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC/B,OAAO,CAAC,GAAG,CAAC,+CAA+C,OAAO,CAAC,oBAAU,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;wBACzF,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAgB,EAAE,EAAE,CAAC,CAAC;4BACnF,KAAK,EAAE,CAAC,CAAC,KAAK;4BACd,UAAU,EAAE,CAAC,CAAC,UAAU;yBACzB,CAAC,CAAC,CAAC,CAAC;oBACP,CAAC;gBACH,CAAC;gBAED,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC;YAEH,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;YAEnB,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,8DAA8D,OAAO,CAAC,oBAAU,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1G,CAAC;QACH,CAAC;KACF,CAAM,CAAC;AACV,CAAC;AAKD,SAAgB,iBAAiB,CAAC,IAAU;IAC1C,MAAM,OAAO,GAAG,IAAe,CAAC;IAChC,OAAO,OAAO,CAAC,oBAAU,CAAC,IAAI,EAAE,CAAC;AACnC,CAAC;AAKD,SAAgB,mBAAmB,CAAC,IAAU;IAC5C,MAAM,OAAO,GAAG,IAAe,CAAC;IAChC,IAAI,OAAO,CAAC,oBAAU,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,oBAAU,CAAC,GAAG,EAAE,CAAC;IAC3B,CAAC;AACH,CAAC;AAOD,6CAA8F;AAArF,+GAAA,gBAAgB,OAAA;AAAE,uHAAA,wBAAwB,OAAA;AAAE,gHAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AA4BA,kDA4CC;AAED,8CAEC;AAED,kDAKC;AAjED,uCAA2E;AAC3E,+CAAwE;AAGxE,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AAMjB,SAAgB,mBAAmB,CAA+B,IAAO;IACvE,OAAO,IAAI,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAkB,EAAE,GAAqC,EAAE,EAAE;YAC5F,MAAM,OAAO,GAAG,YAAuB,CAAC;YACxC,MAAM,KAAK,GAAG,IAAA,wBAAc,GAAE,CAAC;YAE/B,OAAO,CAAC,oBAAU,CAAC,GAAG,EAAE,CAAC;YAEzB,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;YACzE,CAAC;YAED,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAgB,EAAE,EAAE;gBACzC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;gBAE1B,IAAI,IAAA,8BAAgB,EAAC,GAAG,CAAC,EAAE,CAAC;oBAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACpC,IAAI,QAAQ,EAAE,CAAC;wBACb,IAAI,KAAK,EAAE,CAAC;4BACV,OAAO,CAAC,GAAG,CAAC,0CAA0C,GAAG,EAAE,CAAC,CAAC;wBAC/D,CAAC;wBAED,IAAI,CAAC;4BACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;4BAClC,MAAM,MAAM,GAAG,IAAA,mCAAqB,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;4BAClD,OAAO,CAAC,oBAAU,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;4BAEpC,IAAI,KAAK,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gCAC/B,OAAO,CAAC,GAAG,CAAC,iCAAiC,MAAM,CAAC,MAAM,WAAW,CAAC,CAAC;4BACzE,CAAC;wBACH,CAAC;wBAAC,MAAM,CAAC;wBAET,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;YAEnB,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,8CAA8C,OAAO,CAAC,oBAAU,CAAC,CAAC,MAAM,WAAW,CAAC,CAAC;YACnG,CAAC;QACH,CAAC;KACF,CAAM,CAAC;AACV,CAAC;AAED,SAAgB,iBAAiB,CAAC,IAAU;IAC1C,OAAQ,IAAgB,CAAC,oBAAU,CAAC,IAAI,EAAE,CAAC;AAC7C,CAAC;AAED,SAAgB,mBAAmB,CAAC,IAAU;IAC5C,MAAM,OAAO,GAAG,IAAe,CAAC;IAChC,IAAI,OAAO,CAAC,oBAAU,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,oBAAU,CAAC,GAAG,EAAE,CAAC;IAC3B,CAAC;AACH,CAAC;AAID,6CAA2F;AAAlF,+GAAA,gBAAgB,OAAA;AAAE,oHAAA,qBAAqB,OAAA;AAAE,gHAAA,iBAAiB,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "playwright-posthog",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Test PostHog analytics events in your Playwright tests with type-safe assertions and automatic event capture",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",