@dasasian/firebase-structured-logger 1.2.0 → 1.3.0-rc.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.
Files changed (33) hide show
  1. package/README.md +173 -33
  2. package/dist/client/breadcrumbs.d.ts +39 -6
  3. package/dist/client/breadcrumbs.d.ts.map +1 -1
  4. package/dist/client/breadcrumbs.js +98 -10
  5. package/dist/client/breadcrumbs.js.map +1 -1
  6. package/dist/client/logger.d.ts.map +1 -1
  7. package/dist/client/logger.js +4 -7
  8. package/dist/client/logger.js.map +1 -1
  9. package/dist/client/navigation/adapterShared.d.ts +18 -0
  10. package/dist/client/navigation/adapterShared.d.ts.map +1 -0
  11. package/dist/client/navigation/adapterShared.js +49 -0
  12. package/dist/client/navigation/adapterShared.js.map +1 -0
  13. package/dist/client/navigation/react-router.d.ts +30 -0
  14. package/dist/client/navigation/react-router.d.ts.map +1 -0
  15. package/dist/client/navigation/react-router.js +57 -0
  16. package/dist/client/navigation/react-router.js.map +1 -0
  17. package/dist/client/navigation/vue-router.d.ts +28 -0
  18. package/dist/client/navigation/vue-router.d.ts.map +1 -0
  19. package/dist/client/navigation/vue-router.js +47 -0
  20. package/dist/client/navigation/vue-router.js.map +1 -0
  21. package/dist/client/navigation.d.ts +29 -4
  22. package/dist/client/navigation.d.ts.map +1 -1
  23. package/dist/client/navigation.js +60 -4
  24. package/dist/client/navigation.js.map +1 -1
  25. package/dist/client/views.d.ts +3 -0
  26. package/dist/client/views.d.ts.map +1 -0
  27. package/dist/client/views.js +30 -0
  28. package/dist/client/views.js.map +1 -0
  29. package/dist/shared/types.d.ts +16 -9
  30. package/dist/shared/types.d.ts.map +1 -1
  31. package/package.json +30 -3
  32. package/skills/logs/SKILL.md +21 -13
  33. package/skills/query-logs/SKILL.md +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/client/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/client/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { NavigationLabels } from '../../shared/types';
2
+ type Stop = () => void;
3
+ /**
4
+ * Registers a new adapter as the one in force. The previous adapter's own `stop` runs
5
+ * after `activeStop` already points at the new one, so its call back into
6
+ * `clearAdapterStop` — guarded by identity — is a no-op rather than undoing this call.
7
+ */
8
+ export declare function registerAdapterStop(stop: Stop): void;
9
+ /** Called by an adapter's own `stop()`. Only clears state it still owns. */
10
+ export declare function clearAdapterStop(stop: Stop): void;
11
+ /**
12
+ * Wraps a router adapter's `adjust` option: its answer is used as returned, and a
13
+ * throwing `adjust` falls back to the router's own labels with one console warning
14
+ * — however many times it throws for this adapter instance.
15
+ */
16
+ export declare function createAdjuster(adjust: ((labels: NavigationLabels) => NavigationLabels) | undefined): (labels: NavigationLabels) => NavigationLabels;
17
+ export {};
18
+ //# sourceMappingURL=adapterShared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapterShared.d.ts","sourceRoot":"","sources":["../../../src/client/navigation/adapterShared.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAE1D,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;AAItB;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAMpD;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAIjD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,gBAAgB,KAAK,gBAAgB,CAAC,GAAG,SAAS,GACnE,CAAC,MAAM,EAAE,gBAAgB,KAAK,gBAAgB,CAchD"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerAdapterStop = registerAdapterStop;
4
+ exports.clearAdapterStop = clearAdapterStop;
5
+ exports.createAdjuster = createAdjuster;
6
+ const breadcrumbs_1 = require("../breadcrumbs");
7
+ let activeStop;
8
+ /**
9
+ * Registers a new adapter as the one in force. The previous adapter's own `stop` runs
10
+ * after `activeStop` already points at the new one, so its call back into
11
+ * `clearAdapterStop` — guarded by identity — is a no-op rather than undoing this call.
12
+ */
13
+ function registerAdapterStop(stop) {
14
+ const previous = activeStop;
15
+ activeStop = stop;
16
+ (0, breadcrumbs_1.setNavigationEnabled)(true);
17
+ (0, breadcrumbs_1.setAdapterActive)(true);
18
+ previous?.();
19
+ }
20
+ /** Called by an adapter's own `stop()`. Only clears state it still owns. */
21
+ function clearAdapterStop(stop) {
22
+ if (activeStop !== stop)
23
+ return;
24
+ activeStop = undefined;
25
+ (0, breadcrumbs_1.setAdapterActive)(false);
26
+ }
27
+ /**
28
+ * Wraps a router adapter's `adjust` option: its answer is used as returned, and a
29
+ * throwing `adjust` falls back to the router's own labels with one console warning
30
+ * — however many times it throws for this adapter instance.
31
+ */
32
+ function createAdjuster(adjust) {
33
+ let warned = false;
34
+ return (labels) => {
35
+ if (!adjust)
36
+ return labels;
37
+ try {
38
+ return adjust(labels);
39
+ }
40
+ catch (err) {
41
+ if (!warned) {
42
+ warned = true;
43
+ console.warn('[fsl] adjust threw — using the router\'s own labels for this page:', err instanceof Error ? err.message : err);
44
+ }
45
+ return labels;
46
+ }
47
+ };
48
+ }
49
+ //# sourceMappingURL=adapterShared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapterShared.js","sourceRoot":"","sources":["../../../src/client/navigation/adapterShared.ts"],"names":[],"mappings":";;AAYA,kDAMC;AAGD,4CAIC;AAOD,wCAgBC;AAhDD,gDAAuE;AAKvE,IAAI,UAA4B,CAAA;AAEhC;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,IAAU;IAC5C,MAAM,QAAQ,GAAG,UAAU,CAAA;IAC3B,UAAU,GAAG,IAAI,CAAA;IACjB,IAAA,kCAAoB,EAAC,IAAI,CAAC,CAAA;IAC1B,IAAA,8BAAgB,EAAC,IAAI,CAAC,CAAA;IACtB,QAAQ,EAAE,EAAE,CAAA;AACd,CAAC;AAED,4EAA4E;AAC5E,SAAgB,gBAAgB,CAAC,IAAU;IACzC,IAAI,UAAU,KAAK,IAAI;QAAE,OAAM;IAC/B,UAAU,GAAG,SAAS,CAAA;IACtB,IAAA,8BAAgB,EAAC,KAAK,CAAC,CAAA;AACzB,CAAC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAC5B,MAAoE;IAEpE,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,OAAO,CAAC,MAAwB,EAAoB,EAAE;QACpD,IAAI,CAAC,MAAM;YAAE,OAAO,MAAM,CAAA;QAC1B,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,MAAM,CAAC,CAAA;QACvB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,GAAG,IAAI,CAAA;gBACb,OAAO,CAAC,IAAI,CAAC,oEAAoE,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;YAC9H,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { NavigationLabels } from '../../shared/types';
2
+ export interface ReactRouteLike {
3
+ path?: string;
4
+ handle?: unknown;
5
+ }
6
+ export interface ReactRouteMatchLike {
7
+ route: ReactRouteLike;
8
+ }
9
+ export interface ReactRouterStateLike {
10
+ location: {
11
+ pathname: string;
12
+ key: string;
13
+ };
14
+ matches: ReactRouteMatchLike[];
15
+ }
16
+ export interface ReactRouterLike {
17
+ subscribe(listener: (state: ReactRouterStateLike) => void): () => void;
18
+ state: ReactRouterStateLike;
19
+ }
20
+ export interface ReactRouterNavigationOptions {
21
+ /** A throwing `adjust` falls back to the router's own labels, warning once. */
22
+ adjust?: (labels: NavigationLabels) => NavigationLabels;
23
+ }
24
+ /**
25
+ * Needs a data router (`createBrowserRouter`, `createHashRouter`, `createMemoryRouter`).
26
+ * One crumb per `location.key`, so a redirect records only the page it ends on. `path`
27
+ * keeps the `basename`; `route` never has it. A second call stops the first.
28
+ */
29
+ export declare function enableReactRouterNavigation(router: ReactRouterLike, options?: ReactRouterNavigationOptions): () => void;
30
+ //# sourceMappingURL=react-router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react-router.d.ts","sourceRoot":"","sources":["../../../src/client/navigation/react-router.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAE1D,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,cAAc,CAAA;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3C,OAAO,EAAE,mBAAmB,EAAE,CAAA;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;IACtE,KAAK,EAAE,oBAAoB,CAAA;CAC5B;AAED,MAAM,WAAW,4BAA4B;IAC3C,+EAA+E;IAC/E,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,gBAAgB,CAAA;CACxD;AA2BD;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,eAAe,EACvB,OAAO,GAAE,4BAAiC,GACzC,MAAM,IAAI,CAyBZ"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.enableReactRouterNavigation = enableReactRouterNavigation;
4
+ const breadcrumbs_1 = require("../breadcrumbs");
5
+ const adapterShared_1 = require("./adapterShared");
6
+ function joinRoutePath(matches) {
7
+ let joined = '';
8
+ for (const match of matches) {
9
+ const path = match.route.path;
10
+ if (path === undefined)
11
+ continue;
12
+ joined = path.startsWith('/') ? path : `${joined}/${path}`;
13
+ }
14
+ return joined.replace(/\/{2,}/g, '/');
15
+ }
16
+ function deepestHandleScreen(matches) {
17
+ for (let i = matches.length - 1; i >= 0; i--) {
18
+ const handle = matches[i].route.handle;
19
+ if (handle && typeof handle === 'object' && typeof handle.screen === 'string') {
20
+ return handle.screen;
21
+ }
22
+ }
23
+ return undefined;
24
+ }
25
+ function labelsFromState(state) {
26
+ const route = joinRoutePath(state.matches);
27
+ return { route, screen: deepestHandleScreen(state.matches) ?? route, path: state.location.pathname };
28
+ }
29
+ /**
30
+ * Needs a data router (`createBrowserRouter`, `createHashRouter`, `createMemoryRouter`).
31
+ * One crumb per `location.key`, so a redirect records only the page it ends on. `path`
32
+ * keeps the `basename`; `route` never has it. A second call stops the first.
33
+ */
34
+ function enableReactRouterNavigation(router, options = {}) {
35
+ const adjustLabels = (0, adapterShared_1.createAdjuster)(options.adjust);
36
+ let stopped = false;
37
+ let lastKey = router.state.location.key;
38
+ const unsubscribe = router.subscribe((state) => {
39
+ if (state.location.key === lastKey)
40
+ return;
41
+ lastKey = state.location.key;
42
+ (0, breadcrumbs_1.setCurrentRoute)(adjustLabels(labelsFromState(state)));
43
+ });
44
+ function stop() {
45
+ if (stopped)
46
+ return;
47
+ stopped = true;
48
+ unsubscribe();
49
+ (0, adapterShared_1.clearAdapterStop)(stop);
50
+ }
51
+ (0, adapterShared_1.registerAdapterStop)(stop);
52
+ if (router.state.matches.length > 0) {
53
+ (0, breadcrumbs_1.setCurrentRoute)(adjustLabels(labelsFromState(router.state)));
54
+ }
55
+ return stop;
56
+ }
57
+ //# sourceMappingURL=react-router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react-router.js","sourceRoot":"","sources":["../../../src/client/navigation/react-router.ts"],"names":[],"mappings":";;AA0DA,kEA4BC;AAtFD,gDAAgD;AAChD,mDAAuF;AA2BvF,SAAS,aAAa,CAAC,OAA8B;IACnD,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAA;QAC7B,IAAI,IAAI,KAAK,SAAS;YAAE,SAAQ;QAChC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAA;IAC5D,CAAC;IACD,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAA;AACvC,CAAC;AAED,SAAS,mBAAmB,CAAC,OAA8B;IACzD,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAA;QACtC,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAQ,MAA+B,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxG,OAAQ,MAA6B,CAAC,MAAM,CAAA;QAC9C,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,eAAe,CAAC,KAA2B;IAClD,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAA;AACtG,CAAC;AAED;;;;GAIG;AACH,SAAgB,2BAA2B,CACzC,MAAuB,EACvB,UAAwC,EAAE;IAE1C,MAAM,YAAY,GAAG,IAAA,8BAAc,EAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACnD,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAA;IAEvC,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7C,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,OAAO;YAAE,OAAM;QAC1C,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAA;QAC5B,IAAA,6BAAe,EAAC,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACvD,CAAC,CAAC,CAAA;IAEF,SAAS,IAAI;QACX,IAAI,OAAO;YAAE,OAAM;QACnB,OAAO,GAAG,IAAI,CAAA;QACd,WAAW,EAAE,CAAA;QACb,IAAA,gCAAgB,EAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAED,IAAA,mCAAmB,EAAC,IAAI,CAAC,CAAA;IAEzB,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,IAAA,6BAAe,EAAC,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { NavigationLabels } from '../../shared/types';
2
+ /** `path` is already the deepest match's full resolved pattern, e.g. `/orders/:id/items`. */
3
+ export interface VueRouteRecordLike {
4
+ path: string;
5
+ name?: string | symbol;
6
+ }
7
+ export interface VueRouteLocationLike {
8
+ path: string;
9
+ matched: VueRouteRecordLike[];
10
+ }
11
+ export interface VueRouterLike {
12
+ afterEach(guard: (to: VueRouteLocationLike, from: VueRouteLocationLike, failure: unknown) => void): () => void;
13
+ currentRoute: {
14
+ value: VueRouteLocationLike;
15
+ };
16
+ }
17
+ export interface VueRouterNavigationOptions {
18
+ /** A throwing `adjust` falls back to the router's own labels, warning once. */
19
+ adjust?: (labels: NavigationLabels) => NavigationLabels;
20
+ }
21
+ /**
22
+ * Listens with `router.afterEach`; never wraps `history`. Skips a navigation that
23
+ * failed (`failure` truthy) — a blocked or cancelled one records no crumb. `path` is
24
+ * always `to.path`, never `fullPath`, so a query string or hash never reaches a label.
25
+ * A second call stops the first.
26
+ */
27
+ export declare function enableVueRouterNavigation(router: VueRouterLike, options?: VueRouterNavigationOptions): () => void;
28
+ //# sourceMappingURL=vue-router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vue-router.d.ts","sourceRoot":"","sources":["../../../src/client/navigation/vue-router.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAE1D,6FAA6F;AAC7F,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,kBAAkB,EAAE,CAAA;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CACP,KAAK,EAAE,CAAC,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,GACtF,MAAM,IAAI,CAAA;IACb,YAAY,EAAE;QAAE,KAAK,EAAE,oBAAoB,CAAA;KAAE,CAAA;CAC9C;AAED,MAAM,WAAW,0BAA0B;IACzC,+EAA+E;IAC/E,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,gBAAgB,CAAA;CACxD;AAgBD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE,0BAA+B,GACvC,MAAM,IAAI,CAwBZ"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.enableVueRouterNavigation = enableVueRouterNavigation;
4
+ const breadcrumbs_1 = require("../breadcrumbs");
5
+ const adapterShared_1 = require("./adapterShared");
6
+ function deepestNamedScreen(matched) {
7
+ for (let i = matched.length - 1; i >= 0; i--) {
8
+ const name = matched[i].name;
9
+ if (typeof name === 'string')
10
+ return name;
11
+ }
12
+ return undefined;
13
+ }
14
+ function labelsFromRoute(to) {
15
+ const deepest = to.matched[to.matched.length - 1];
16
+ const route = deepest ? deepest.path : to.path;
17
+ return { route, screen: deepestNamedScreen(to.matched) ?? route, path: to.path };
18
+ }
19
+ /**
20
+ * Listens with `router.afterEach`; never wraps `history`. Skips a navigation that
21
+ * failed (`failure` truthy) — a blocked or cancelled one records no crumb. `path` is
22
+ * always `to.path`, never `fullPath`, so a query string or hash never reaches a label.
23
+ * A second call stops the first.
24
+ */
25
+ function enableVueRouterNavigation(router, options = {}) {
26
+ const adjustLabels = (0, adapterShared_1.createAdjuster)(options.adjust);
27
+ let stopped = false;
28
+ const unregister = router.afterEach((to, _from, failure) => {
29
+ if (failure)
30
+ return;
31
+ (0, breadcrumbs_1.setCurrentRoute)(adjustLabels(labelsFromRoute(to)));
32
+ });
33
+ function stop() {
34
+ if (stopped)
35
+ return;
36
+ stopped = true;
37
+ unregister();
38
+ (0, adapterShared_1.clearAdapterStop)(stop);
39
+ }
40
+ (0, adapterShared_1.registerAdapterStop)(stop);
41
+ const startingRoute = router.currentRoute.value;
42
+ if (startingRoute.matched.length > 0) {
43
+ (0, breadcrumbs_1.setCurrentRoute)(adjustLabels(labelsFromRoute(startingRoute)));
44
+ }
45
+ return stop;
46
+ }
47
+ //# sourceMappingURL=vue-router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vue-router.js","sourceRoot":"","sources":["../../../src/client/navigation/vue-router.ts"],"names":[],"mappings":";;AA+CA,8DA2BC;AA1ED,gDAAgD;AAChD,mDAAuF;AA0BvF,SAAS,kBAAkB,CAAC,OAA6B;IACvD,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAA;IAC3C,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,eAAe,CAAC,EAAwB;IAC/C,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACjD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAA;IAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAA;AAClF,CAAC;AAED;;;;;GAKG;AACH,SAAgB,yBAAyB,CACvC,MAAqB,EACrB,UAAsC,EAAE;IAExC,MAAM,YAAY,GAAG,IAAA,8BAAc,EAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACnD,IAAI,OAAO,GAAG,KAAK,CAAA;IAEnB,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACzD,IAAI,OAAO;YAAE,OAAM;QACnB,IAAA,6BAAe,EAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IACpD,CAAC,CAAC,CAAA;IAEF,SAAS,IAAI;QACX,IAAI,OAAO;YAAE,OAAM;QACnB,OAAO,GAAG,IAAI,CAAA;QACd,UAAU,EAAE,CAAA;QACZ,IAAA,gCAAgB,EAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAED,IAAA,mCAAmB,EAAC,IAAI,CAAC,CAAA;IAEzB,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAA;IAC/C,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,IAAA,6BAAe,EAAC,YAAY,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAA;IAC/D,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { NavigationLabels } from '../shared/types';
1
2
  /**
2
3
  * `@dasasian/firebase-structured-logger/client/navigation` — its own entry point
3
4
  * (see CLAUDE.md, "Optional client helpers are separate entry points") so an app
@@ -5,14 +6,23 @@
5
6
  * once, before or after `initLogger`. See README, "Navigation, automatically".
6
7
  */
7
8
  export interface NavigationOptions {
8
- /** Names the route the way your router does. Returning `undefined` falls back to the id rule. */
9
+ /**
10
+ * The single customisation point. Receives the real path, already stripped of its
11
+ * query string and any non-route fragment, and returns the labels for that page —
12
+ * used exactly as returned; a field left out is not logged. Must be synchronous: it
13
+ * runs inside your router's own `pushState`. If it throws, that page gets
14
+ * `defaultLabelsFor(path)` and the console warns once, however often it throws.
15
+ */
16
+ labelsFor?: (path: string) => NavigationLabels;
17
+ /** @deprecated Use `labelsFor`. Names the route the way your router does. Returning `undefined` falls back to the id rule. */
9
18
  routeFor?: (path: string) => string | undefined;
10
19
  /**
11
- * Runs on the real path before it is stored and before `routeFor`/the id rule sees it —
12
- * for paths that can themselves hold personal data, e.g. `/users/jane@example.com`.
20
+ * @deprecated Use `labelsFor`. Runs on the real path before it is stored and before
21
+ * `routeFor`/the id rule sees it — for paths that can themselves hold personal data,
22
+ * e.g. `/users/jane@example.com`.
13
23
  */
14
24
  cleanPath?: (path: string) => string;
15
- /** `false` omits the `path` label, and keeps the real path out of breadcrumbs too. */
25
+ /** @deprecated Use `labelsFor`. `false` omits the `path` label, and keeps the real path out of breadcrumbs too. */
16
26
  path?: false;
17
27
  }
18
28
  /**
@@ -23,6 +33,21 @@ export interface NavigationOptions {
23
33
  * no rule tells those from a page name reliably, which is what `routeFor` is for.
24
34
  */
25
35
  export declare function routePattern(path: string): string;
36
+ /**
37
+ * The labels `enableNavigation()` gives when no `labelsFor` is passed: the id-rule
38
+ * `route`, `screen` equal to `route`, the stripped `path`, and the deprecated
39
+ * `routeSource: 'pattern'`.
40
+ */
41
+ export declare function defaultLabelsFor(path: string): NavigationLabels;
42
+ /**
43
+ * The same breadcrumb and labels as automatic navigation (`enableNavigation()`), for a
44
+ * screen that changes without the URL changing. Counts as navigation being on, the same
45
+ * as `enableNavigation()` — the legacy `bc.nav`/`setScreen` path is ignored from then on.
46
+ */
47
+ export declare function navigatedTo(screen: string, extra?: {
48
+ route?: string;
49
+ path?: string;
50
+ }): void;
26
51
  /**
27
52
  * Turns on automatic navigation tracking for the session. The first call wraps
28
53
  * `history.pushState`/`replaceState` and listens for `popstate`, then records the
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/client/navigation.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,iGAAiG;IACjG,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAA;IAC/C;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IACpC,sFAAsF;IACtF,IAAI,CAAC,EAAE,KAAK,CAAA;CACb;AAWD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKjD;AA4DD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,GAAE,iBAAsB,GAAG,IAAI,CASzE"}
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/client/navigation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAEvD;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,gBAAgB,CAAA;IAC9C,8HAA8H;IAC9H,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAA;IAC/C;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IACpC,mHAAmH;IACnH,IAAI,CAAC,EAAE,KAAK,CAAA;CACb;AAWD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKjD;AAiBD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAG/D;AAqCD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,IAAI,CAM/F;AA8BD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,GAAE,iBAAsB,GAAG,IAAI,CAezE"}
@@ -1,8 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.routePattern = routePattern;
4
+ exports.defaultLabelsFor = defaultLabelsFor;
5
+ exports.navigatedTo = navigatedTo;
4
6
  exports.enableNavigation = enableNavigation;
5
7
  const breadcrumbs_1 = require("./breadcrumbs");
8
+ const deprecate_1 = require("../shared/deprecate");
6
9
  const ALL_DIGITS = /^\d+$/;
7
10
  const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
8
11
  const LONG_HEX = /^[0-9a-f]{16,}$/i;
@@ -32,17 +35,61 @@ function realPath(location) {
32
35
  const raw = location.hash.startsWith('#/') ? location.hash.slice(1) : location.pathname;
33
36
  return raw.split('?')[0] ?? raw;
34
37
  }
35
- let options = {};
36
- let wired = false;
37
- function labelsFor(path) {
38
+ /**
39
+ * The labels `enableNavigation()` gives when no `labelsFor` is passed: the id-rule
40
+ * `route`, `screen` equal to `route`, the stripped `path`, and the deprecated
41
+ * `routeSource: 'pattern'`.
42
+ */
43
+ function defaultLabelsFor(path) {
44
+ const route = routePattern(path);
45
+ return { route, screen: route, path, routeSource: 'pattern' };
46
+ }
47
+ function legacyLabelsFor(path) {
38
48
  const cleaned = options.cleanPath ? options.cleanPath(path) : path;
39
49
  const fromRouter = options.routeFor?.(cleaned);
40
50
  const route = fromRouter ?? routePattern(cleaned);
41
51
  const routeSource = fromRouter !== undefined ? 'router' : 'pattern';
42
52
  return options.path === false ? { route, routeSource } : { route, path: cleaned, routeSource };
43
53
  }
54
+ let options = {};
55
+ let wired = false;
56
+ let labelsForThrew = false;
57
+ function resolveLabelsFor(path) {
58
+ if (options.labelsFor) {
59
+ try {
60
+ return options.labelsFor(path);
61
+ }
62
+ catch (err) {
63
+ if (!labelsForThrew) {
64
+ labelsForThrew = true;
65
+ console.warn('[fsl] labelsFor threw — using the default labels for this page:', err instanceof Error ? err.message : err);
66
+ }
67
+ return defaultLabelsFor(path);
68
+ }
69
+ }
70
+ if (options.routeFor !== undefined || options.cleanPath !== undefined || options.path === false) {
71
+ return legacyLabelsFor(path);
72
+ }
73
+ return defaultLabelsFor(path);
74
+ }
44
75
  function recordNavigation() {
45
- (0, breadcrumbs_1.setCurrentRoute)(labelsFor(realPath(location)));
76
+ if ((0, breadcrumbs_1.isAdapterActive)())
77
+ return;
78
+ (0, breadcrumbs_1.setCurrentRoute)(resolveLabelsFor(realPath(location)));
79
+ }
80
+ /**
81
+ * The same breadcrumb and labels as automatic navigation (`enableNavigation()`), for a
82
+ * screen that changes without the URL changing. Counts as navigation being on, the same
83
+ * as `enableNavigation()` — the legacy `bc.nav`/`setScreen` path is ignored from then on.
84
+ */
85
+ function navigatedTo(screen, extra = {}) {
86
+ (0, breadcrumbs_1.setNavigationEnabled)(true);
87
+ const labels = { screen };
88
+ if (extra.route !== undefined)
89
+ labels.route = extra.route;
90
+ if (extra.path !== undefined)
91
+ labels.path = extra.path;
92
+ (0, breadcrumbs_1.setCurrentRoute)(labels);
46
93
  }
47
94
  // A Symbol.for registration, not a module-local Symbol — a second copy of this module
48
95
  // (two bundles on one page) must still recognize the first copy's wrapper as "ours".
@@ -76,11 +123,20 @@ function wrapHistoryMethod(name) {
76
123
  */
77
124
  function enableNavigation(newOptions = {}) {
78
125
  options = newOptions;
126
+ labelsForThrew = false;
127
+ (0, breadcrumbs_1.setNavigationEnabled)(true);
128
+ if (newOptions.routeFor !== undefined)
129
+ (0, deprecate_1.warnDeprecated)('routeFor', 'labelsFor');
130
+ if (newOptions.cleanPath !== undefined)
131
+ (0, deprecate_1.warnDeprecated)('cleanPath', 'labelsFor');
132
+ if (newOptions.path === false)
133
+ (0, deprecate_1.warnDeprecated)('path: false', 'labelsFor');
79
134
  if (typeof window === 'undefined')
80
135
  return;
81
136
  if (wired)
82
137
  return;
83
138
  wired = true;
139
+ (0, breadcrumbs_1.noteHistoryWrapperWired)();
84
140
  wrapHistoryMethod('pushState');
85
141
  wrapHistoryMethod('replaceState');
86
142
  window.addEventListener('popstate', recordNavigation);
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/client/navigation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/client/navigation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Does nothing outside a browser. Calling it again changes nothing. */
2
+ export declare function enableViews(): void;
3
+ //# sourceMappingURL=views.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"views.d.ts","sourceRoot":"","sources":["../../src/client/views.ts"],"names":[],"mappings":"AAwBA,wEAAwE;AACxE,wBAAgB,WAAW,IAAI,IAAI,CAGlC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.enableViews = enableViews;
4
+ const breadcrumbs_1 = require("./breadcrumbs");
5
+ const VIEW_ATTR = 'data-fsl-view';
6
+ function isVisible(el) {
7
+ const checkVisibility = el.checkVisibility;
8
+ if (typeof checkVisibility === 'function') {
9
+ return checkVisibility.call(el, { opacityProperty: true, visibilityProperty: true });
10
+ }
11
+ return el.getClientRects().length > 0;
12
+ }
13
+ function readViews() {
14
+ const names = [];
15
+ document.querySelectorAll(`[${VIEW_ATTR}]`).forEach((el) => {
16
+ if (!isVisible(el))
17
+ return;
18
+ const name = el.getAttribute(VIEW_ATTR);
19
+ if (name)
20
+ names.push(name);
21
+ });
22
+ return names.length > 0 ? names.join(' › ') : undefined;
23
+ }
24
+ /** Does nothing outside a browser. Calling it again changes nothing. */
25
+ function enableViews() {
26
+ if (typeof document === 'undefined')
27
+ return;
28
+ (0, breadcrumbs_1.setViewReader)(readViews);
29
+ }
30
+ //# sourceMappingURL=views.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"views.js","sourceRoot":"","sources":["../../src/client/views.ts"],"names":[],"mappings":";;AAyBA,kCAGC;AA5BD,+CAA6C;AAE7C,MAAM,SAAS,GAAG,eAAe,CAAA;AAIjC,SAAS,SAAS,CAAC,EAAW;IAC5B,MAAM,eAAe,GAAI,EAAuD,CAAC,eAAe,CAAA;IAChG,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE,CAAC;QAC1C,OAAO,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAA;IACtF,CAAC;IACD,OAAO,EAAE,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,CAAC,CAAA;AACvC,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,QAAQ,CAAC,gBAAgB,CAAC,IAAI,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;QACzD,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAAE,OAAM;QAC1B,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;QACvC,IAAI,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAA;IACF,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACzD,CAAC;AAED,wEAAwE;AACxE,SAAgB,WAAW;IACzB,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAM;IAC3C,IAAA,2BAAa,EAAC,SAAS,CAAC,CAAA;AAC1B,CAAC"}
@@ -8,23 +8,30 @@ export interface BaseLabels {
8
8
  releaseId?: string;
9
9
  errorType?: string;
10
10
  errorCategory?: string;
11
- /** The route pattern, e.g. `/orders/:id/items`. Set by `enableNavigation()`. */
11
+ /** The route pattern, e.g. `/orders/:id/items`. Set by `enableNavigation()` or `navigatedTo()`. */
12
12
  route?: string;
13
- /** The real path, e.g. `/orders/1042/items`. Omitted when `enableNavigation({ path: false })`. */
13
+ /** The real path, e.g. `/orders/1042/items`. Set by `enableNavigation()` or `navigatedTo()`. */
14
14
  path?: string;
15
- /** Whether `route` came from `routeFor` or the id rule. Set by `enableNavigation()`. */
15
+ /** The visible marks, joined with ` › `, e.g. `payment › Attachment`. Set by `enableViews()`. */
16
+ view?: string;
17
+ /**
18
+ * Whether `route` came from the deprecated `routeFor` or the id rule.
19
+ * @deprecated Removed in 2.0 — a `labelsFor` answer is final and carries no source.
20
+ */
16
21
  routeSource?: 'router' | 'pattern';
17
22
  }
18
23
  /**
19
- * What `enableNavigation()` (`@dasasian/firebase-structured-logger/client/navigation`)
20
- * hands to the core logger for the current page, through `setCurrentRoute` in
21
- * `client/breadcrumbs.ts`. `path` is absent exactly when `enableNavigation` was
22
- * given `{ path: false }`.
24
+ * What `enableNavigation()` and `navigatedTo()` (both
25
+ * `@dasasian/firebase-structured-logger/client/navigation`) hand to the core logger for
26
+ * the current page, through `setCurrentRoute` in `client/breadcrumbs.ts`. Used exactly
27
+ * as given — a field left out is not logged — so every field is optional.
23
28
  */
24
29
  export interface NavigationLabels {
25
- route: string;
30
+ route?: string;
31
+ screen?: string;
26
32
  path?: string;
27
- routeSource: 'router' | 'pattern';
33
+ /** @deprecated Removed in 2.0. Set only by `defaultLabelsFor()` and the deprecated `routeFor`/`cleanPath`/`path: false`. */
34
+ routeSource?: 'router' | 'pattern';
28
35
  }
29
36
  export interface ErrorPayload {
30
37
  message: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;AAE3E,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kGAAkG;IAClG,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,wFAAwF;IACxF,WAAW,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;CACnC;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,QAAQ,GAAG,SAAS,CAAA;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,WAAW,CAAA;IACrB,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IACvD,WAAW,CAAC,EAAE;QACZ,WAAW,CAAC,EAAE,eAAe,EAAE,CAAA;QAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACjC,KAAK,CAAC,EAAE,YAAY,CAAA;KACrB,CAAA;IACD,2GAA2G;IAC3G,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,CAAA;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;AAE3E,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,mGAAmG;IACnG,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gGAAgG;IAChG,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,iGAAiG;IACjG,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,WAAW,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;CACnC;AAED;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,4HAA4H;IAC5H,WAAW,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,WAAW,CAAA;IACrB,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IACvD,WAAW,CAAC,EAAE;QACZ,WAAW,CAAC,EAAE,eAAe,EAAE,CAAA;QAC/B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACjC,KAAK,CAAC,EAAE,YAAY,CAAA;KACrB,CAAA;IACD,2GAA2G;IAC3G,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,CAAA;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B"}