@native-dom/runtime 0.0.3 → 0.0.4

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 (50) hide show
  1. package/README.md +1 -1
  2. package/dist/attributes.d.ts +21 -18
  3. package/dist/attributes.d.ts.map +1 -1
  4. package/dist/attributes.js +115 -137
  5. package/dist/attributes.js.map +1 -1
  6. package/dist/css.d.ts +137 -133
  7. package/dist/css.d.ts.map +1 -1
  8. package/dist/css.js +495 -555
  9. package/dist/css.js.map +1 -1
  10. package/dist/custom-elements.d.ts +22 -18
  11. package/dist/custom-elements.d.ts.map +1 -1
  12. package/dist/custom-elements.js +58 -58
  13. package/dist/custom-elements.js.map +1 -1
  14. package/dist/errors.d.ts +5 -2
  15. package/dist/errors.d.ts.map +1 -1
  16. package/dist/errors.js +10 -6
  17. package/dist/errors.js.map +1 -1
  18. package/dist/event-init.d.ts +81 -77
  19. package/dist/event-init.d.ts.map +1 -1
  20. package/dist/events.d.ts +164 -161
  21. package/dist/events.d.ts.map +1 -1
  22. package/dist/events.js +417 -462
  23. package/dist/events.js.map +1 -1
  24. package/dist/geometry.d.ts +44 -41
  25. package/dist/geometry.d.ts.map +1 -1
  26. package/dist/geometry.js +68 -72
  27. package/dist/geometry.js.map +1 -1
  28. package/dist/history.d.ts +17 -13
  29. package/dist/history.d.ts.map +1 -1
  30. package/dist/history.js +67 -62
  31. package/dist/history.js.map +1 -1
  32. package/dist/index.d.ts +795 -798
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +3020 -3597
  35. package/dist/index.js.map +1 -1
  36. package/dist/observers.d.ts +46 -42
  37. package/dist/observers.d.ts.map +1 -1
  38. package/dist/observers.js +59 -57
  39. package/dist/observers.js.map +1 -1
  40. package/dist/platform.d.ts +71 -67
  41. package/dist/platform.d.ts.map +1 -1
  42. package/dist/platform.js +204 -212
  43. package/dist/platform.js.map +1 -1
  44. package/dist/stats.d.ts +18 -31
  45. package/dist/stats.d.ts.map +1 -1
  46. package/dist/stats.js +75 -87
  47. package/dist/stats.js.map +1 -1
  48. package/package.json +6 -7
  49. package/dist/event-init.js +0 -2
  50. package/dist/event-init.js.map +0 -1
package/dist/platform.js CHANGED
@@ -1,216 +1,208 @@
1
- export class Location {
2
- #href;
3
- constructor(href = "about:blank") {
4
- this.#href = href;
5
- }
6
- get href() {
7
- return this.#href;
8
- }
9
- set href(value) {
10
- this.#href = this.#resolveHref(value);
11
- }
12
- get origin() {
13
- return this.#url().origin;
14
- }
15
- get protocol() {
16
- return this.#url().protocol;
17
- }
18
- set protocol(value) {
19
- const url = this.#url();
20
- url.protocol = String(value);
21
- this.#href = url.href;
22
- }
23
- get host() {
24
- return this.#url().host;
25
- }
26
- set host(value) {
27
- const url = this.#url();
28
- url.host = String(value);
29
- this.#href = url.href;
30
- }
31
- get hostname() {
32
- return this.#url().hostname;
33
- }
34
- set hostname(value) {
35
- const url = this.#url();
36
- url.hostname = String(value);
37
- this.#href = url.href;
38
- }
39
- get port() {
40
- return this.#url().port;
41
- }
42
- set port(value) {
43
- const url = this.#url();
44
- url.port = String(value);
45
- this.#href = url.href;
46
- }
47
- get pathname() {
48
- return this.#url().pathname;
49
- }
50
- set pathname(value) {
51
- const url = this.#url();
52
- url.pathname = String(value);
53
- this.#href = url.href;
54
- }
55
- get search() {
56
- return this.#url().search;
57
- }
58
- set search(value) {
59
- const url = this.#url();
60
- url.search = String(value);
61
- this.#href = url.href;
62
- }
63
- get hash() {
64
- return this.#url().hash;
65
- }
66
- set hash(value) {
67
- const url = this.#url();
68
- url.hash = String(value);
69
- this.#href = url.href;
70
- }
71
- assign(value) {
72
- this.href = value;
73
- }
74
- replace(value) {
75
- this.href = value;
76
- }
77
- reload() { }
78
- toString() {
79
- return this.href;
80
- }
81
- #url() {
82
- try {
83
- return new URL(this.#href);
84
- }
85
- catch {
86
- return new URL(this.#href, locationFallbackBase(this.#href));
87
- }
88
- }
89
- #resolveHref(value) {
90
- const next = String(value);
91
- try {
92
- return new URL(next, locationFallbackBase(this.#href)).href;
93
- }
94
- catch {
95
- return next;
96
- }
97
- }
98
- }
99
- const objectUrlRegistry = new Map();
1
+ //#region src/platform.ts
2
+ var Location = class {
3
+ #href;
4
+ constructor(href = "about:blank") {
5
+ this.#href = href;
6
+ }
7
+ get href() {
8
+ return this.#href;
9
+ }
10
+ set href(value) {
11
+ this.#href = this.#resolveHref(value);
12
+ }
13
+ get origin() {
14
+ return this.#url().origin;
15
+ }
16
+ get protocol() {
17
+ return this.#url().protocol;
18
+ }
19
+ set protocol(value) {
20
+ const url = this.#url();
21
+ url.protocol = String(value);
22
+ this.#href = url.href;
23
+ }
24
+ get host() {
25
+ return this.#url().host;
26
+ }
27
+ set host(value) {
28
+ const url = this.#url();
29
+ url.host = String(value);
30
+ this.#href = url.href;
31
+ }
32
+ get hostname() {
33
+ return this.#url().hostname;
34
+ }
35
+ set hostname(value) {
36
+ const url = this.#url();
37
+ url.hostname = String(value);
38
+ this.#href = url.href;
39
+ }
40
+ get port() {
41
+ return this.#url().port;
42
+ }
43
+ set port(value) {
44
+ const url = this.#url();
45
+ url.port = String(value);
46
+ this.#href = url.href;
47
+ }
48
+ get pathname() {
49
+ return this.#url().pathname;
50
+ }
51
+ set pathname(value) {
52
+ const url = this.#url();
53
+ url.pathname = String(value);
54
+ this.#href = url.href;
55
+ }
56
+ get search() {
57
+ return this.#url().search;
58
+ }
59
+ set search(value) {
60
+ const url = this.#url();
61
+ url.search = String(value);
62
+ this.#href = url.href;
63
+ }
64
+ get hash() {
65
+ return this.#url().hash;
66
+ }
67
+ set hash(value) {
68
+ const url = this.#url();
69
+ url.hash = String(value);
70
+ this.#href = url.href;
71
+ }
72
+ assign(value) {
73
+ this.href = value;
74
+ }
75
+ replace(value) {
76
+ this.href = value;
77
+ }
78
+ reload() {}
79
+ toString() {
80
+ return this.href;
81
+ }
82
+ #url() {
83
+ try {
84
+ return new URL(this.#href);
85
+ } catch {
86
+ return new URL(this.#href, locationFallbackBase(this.#href));
87
+ }
88
+ }
89
+ #resolveHref(value) {
90
+ const next = String(value);
91
+ try {
92
+ return new URL(next, locationFallbackBase(this.#href)).href;
93
+ } catch {
94
+ return next;
95
+ }
96
+ }
97
+ };
98
+ const objectUrlRegistry = /* @__PURE__ */ new Map();
100
99
  let objectUrlCounter = 0;
101
- export class URL extends globalThis.URL {
102
- static createObjectURL(object) {
103
- const createObjectURL = globalThis.URL.createObjectURL;
104
- if (typeof createObjectURL === "function") {
105
- return createObjectURL.call(globalThis.URL, object);
106
- }
107
- const random = typeof globalThis.crypto?.randomUUID === "function"
108
- ? globalThis.crypto.randomUUID()
109
- : String(++objectUrlCounter);
110
- const objectUrl = `blob:native-dom:${random}`;
111
- objectUrlRegistry.set(objectUrl, object);
112
- return objectUrl;
113
- }
114
- static revokeObjectURL(url) {
115
- const revokeObjectURL = globalThis.URL.revokeObjectURL;
116
- if (typeof revokeObjectURL === "function") {
117
- revokeObjectURL.call(globalThis.URL, String(url));
118
- return;
119
- }
120
- objectUrlRegistry.delete(String(url));
121
- }
122
- }
100
+ var URL = class extends globalThis.URL {
101
+ static createObjectURL(object) {
102
+ const createObjectURL = globalThis.URL.createObjectURL;
103
+ if (typeof createObjectURL === "function") return createObjectURL.call(globalThis.URL, object);
104
+ const objectUrl = `blob:native-dom:${typeof globalThis.crypto?.randomUUID === "function" ? globalThis.crypto.randomUUID() : String(++objectUrlCounter)}`;
105
+ objectUrlRegistry.set(objectUrl, object);
106
+ return objectUrl;
107
+ }
108
+ static revokeObjectURL(url) {
109
+ const revokeObjectURL = globalThis.URL.revokeObjectURL;
110
+ if (typeof revokeObjectURL === "function") {
111
+ revokeObjectURL.call(globalThis.URL, String(url));
112
+ return;
113
+ }
114
+ objectUrlRegistry.delete(String(url));
115
+ }
116
+ };
123
117
  function locationFallbackBase(href) {
124
- try {
125
- const current = new URL(href);
126
- if (current.protocol !== "about:" && current.protocol !== "data:") {
127
- return current.href;
128
- }
129
- }
130
- catch {
131
- // Fall back below.
132
- }
133
- return "http://localhost/";
134
- }
135
- export class Navigator {
136
- userAgent = "Mozilla/5.0 (X11; Darwin arm64) AppleWebKit/537.36 (KHTML, like Gecko) NativeDOM/0.0.0";
137
- cookieEnabled = true;
138
- }
139
- export class ScreenOrientation {
140
- angle = 0;
141
- type = "landscape-primary";
142
- }
143
- export class Screen {
144
- width = 1024;
145
- height = 768;
146
- availWidth = 1024;
147
- availHeight = 768;
148
- colorDepth = 24;
149
- pixelDepth = 24;
150
- orientation = new ScreenOrientation();
151
- }
152
- export class Storage {
153
- #entries = new Map();
154
- get length() {
155
- return this.#entries.size;
156
- }
157
- key(index) {
158
- return [...this.#entries.keys()][index] ?? null;
159
- }
160
- getItem(key) {
161
- return this.#entries.get(String(key)) ?? null;
162
- }
163
- setItem(key, value) {
164
- this.#entries.set(String(key), String(value));
165
- }
166
- removeItem(key) {
167
- this.#entries.delete(String(key));
168
- }
169
- clear() {
170
- this.#entries.clear();
171
- }
172
- }
173
- export class DataTransfer {
174
- dropEffect = "none";
175
- effectAllowed = "all";
176
- items = new DataTransferItemList();
177
- #data = new Map();
178
- get files() {
179
- return new FileList(...this.items);
180
- }
181
- get types() {
182
- return [...this.#data.keys()];
183
- }
184
- clearData(format) {
185
- if (format === undefined) {
186
- this.#data.clear();
187
- return;
188
- }
189
- this.#data.delete(String(format));
190
- }
191
- getData(format) {
192
- return this.#data.get(String(format)) ?? "";
193
- }
194
- setData(format, data) {
195
- this.#data.set(String(format), String(data));
196
- }
197
- setDragImage(_image, _x, _y) { }
198
- }
199
- export class DataTransferItemList extends Array {
200
- add(item) {
201
- this.push(item);
202
- return item;
203
- }
204
- remove(index) {
205
- this.splice(index, 1);
206
- }
207
- clear() {
208
- this.length = 0;
209
- }
210
- }
211
- export class FileList extends Array {
212
- item(index) {
213
- return this[index] ?? null;
214
- }
118
+ try {
119
+ const current = new URL(href);
120
+ if (current.protocol !== "about:" && current.protocol !== "data:") return current.href;
121
+ } catch {}
122
+ return "http://localhost/";
215
123
  }
124
+ var Navigator = class {
125
+ userAgent = "Mozilla/5.0 (X11; Darwin arm64) AppleWebKit/537.36 (KHTML, like Gecko) NativeDOM/0.0.0";
126
+ cookieEnabled = true;
127
+ };
128
+ var ScreenOrientation = class {
129
+ angle = 0;
130
+ type = "landscape-primary";
131
+ };
132
+ var Screen = class {
133
+ width = 1024;
134
+ height = 768;
135
+ availWidth = 1024;
136
+ availHeight = 768;
137
+ colorDepth = 24;
138
+ pixelDepth = 24;
139
+ orientation = new ScreenOrientation();
140
+ };
141
+ var Storage = class {
142
+ #entries = /* @__PURE__ */ new Map();
143
+ get length() {
144
+ return this.#entries.size;
145
+ }
146
+ key(index) {
147
+ return [...this.#entries.keys()][index] ?? null;
148
+ }
149
+ getItem(key) {
150
+ return this.#entries.get(String(key)) ?? null;
151
+ }
152
+ setItem(key, value) {
153
+ this.#entries.set(String(key), String(value));
154
+ }
155
+ removeItem(key) {
156
+ this.#entries.delete(String(key));
157
+ }
158
+ clear() {
159
+ this.#entries.clear();
160
+ }
161
+ };
162
+ var DataTransfer = class {
163
+ dropEffect = "none";
164
+ effectAllowed = "all";
165
+ items = new DataTransferItemList();
166
+ #data = /* @__PURE__ */ new Map();
167
+ get files() {
168
+ return new FileList(...this.items);
169
+ }
170
+ get types() {
171
+ return [...this.#data.keys()];
172
+ }
173
+ clearData(format) {
174
+ if (format === void 0) {
175
+ this.#data.clear();
176
+ return;
177
+ }
178
+ this.#data.delete(String(format));
179
+ }
180
+ getData(format) {
181
+ return this.#data.get(String(format)) ?? "";
182
+ }
183
+ setData(format, data) {
184
+ this.#data.set(String(format), String(data));
185
+ }
186
+ setDragImage(_image, _x, _y) {}
187
+ };
188
+ var DataTransferItemList = class extends Array {
189
+ add(item) {
190
+ this.push(item);
191
+ return item;
192
+ }
193
+ remove(index) {
194
+ this.splice(index, 1);
195
+ }
196
+ clear() {
197
+ this.length = 0;
198
+ }
199
+ };
200
+ var FileList = class extends Array {
201
+ item(index) {
202
+ return this[index] ?? null;
203
+ }
204
+ };
205
+ //#endregion
206
+ export { DataTransfer, DataTransferItemList, FileList, Location, Navigator, Screen, ScreenOrientation, Storage, URL };
207
+
216
208
  //# sourceMappingURL=platform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","names":["#href","#resolveHref","#url","#entries","#data"],"sources":["../src/platform.ts"],"sourcesContent":["import type { Element } from \"./index.js\";\n\nexport class Location {\n #href: string;\n\n constructor(href = \"about:blank\") {\n this.#href = href;\n }\n\n get href(): string {\n return this.#href;\n }\n\n set href(value: string) {\n this.#href = this.#resolveHref(value);\n }\n\n get origin(): string {\n return this.#url().origin;\n }\n\n get protocol(): string {\n return this.#url().protocol;\n }\n\n set protocol(value: string) {\n const url = this.#url();\n url.protocol = String(value);\n this.#href = url.href;\n }\n\n get host(): string {\n return this.#url().host;\n }\n\n set host(value: string) {\n const url = this.#url();\n url.host = String(value);\n this.#href = url.href;\n }\n\n get hostname(): string {\n return this.#url().hostname;\n }\n\n set hostname(value: string) {\n const url = this.#url();\n url.hostname = String(value);\n this.#href = url.href;\n }\n\n get port(): string {\n return this.#url().port;\n }\n\n set port(value: string) {\n const url = this.#url();\n url.port = String(value);\n this.#href = url.href;\n }\n\n get pathname(): string {\n return this.#url().pathname;\n }\n\n set pathname(value: string) {\n const url = this.#url();\n url.pathname = String(value);\n this.#href = url.href;\n }\n\n get search(): string {\n return this.#url().search;\n }\n\n set search(value: string) {\n const url = this.#url();\n url.search = String(value);\n this.#href = url.href;\n }\n\n get hash(): string {\n return this.#url().hash;\n }\n\n set hash(value: string) {\n const url = this.#url();\n url.hash = String(value);\n this.#href = url.href;\n }\n\n assign(value: string): void {\n this.href = value;\n }\n\n replace(value: string): void {\n this.href = value;\n }\n\n reload(): void {}\n\n toString(): string {\n return this.href;\n }\n\n #url(): URL {\n try {\n return new URL(this.#href);\n } catch {\n return new URL(this.#href, locationFallbackBase(this.#href));\n }\n }\n\n #resolveHref(value: string): string {\n const next = String(value);\n try {\n return new URL(next, locationFallbackBase(this.#href)).href;\n } catch {\n return next;\n }\n }\n}\n\nconst objectUrlRegistry = new Map<string, Blob>();\nlet objectUrlCounter = 0;\n\nexport class URL extends globalThis.URL {\n static createObjectURL(object: Blob): string {\n const createObjectURL = globalThis.URL.createObjectURL;\n if (typeof createObjectURL === \"function\") {\n return createObjectURL.call(globalThis.URL, object);\n }\n const random =\n typeof globalThis.crypto?.randomUUID === \"function\"\n ? globalThis.crypto.randomUUID()\n : String(++objectUrlCounter);\n const objectUrl = `blob:native-dom:${random}`;\n objectUrlRegistry.set(objectUrl, object);\n return objectUrl;\n }\n\n static revokeObjectURL(url: string): void {\n const revokeObjectURL = globalThis.URL.revokeObjectURL;\n if (typeof revokeObjectURL === \"function\") {\n revokeObjectURL.call(globalThis.URL, String(url));\n return;\n }\n objectUrlRegistry.delete(String(url));\n }\n}\n\nfunction locationFallbackBase(href: string): string {\n try {\n const current = new URL(href);\n if (current.protocol !== \"about:\" && current.protocol !== \"data:\") {\n return current.href;\n }\n } catch {\n // Fall back below.\n }\n return \"http://localhost/\";\n}\n\nexport class Navigator {\n readonly userAgent =\n \"Mozilla/5.0 (X11; Darwin arm64) AppleWebKit/537.36 (KHTML, like Gecko) NativeDOM/0.0.0\";\n readonly cookieEnabled = true;\n}\n\nexport class ScreenOrientation {\n readonly angle = 0;\n readonly type = \"landscape-primary\";\n}\n\nexport class Screen {\n readonly width = 1024;\n readonly height = 768;\n readonly availWidth = 1024;\n readonly availHeight = 768;\n readonly colorDepth = 24;\n readonly pixelDepth = 24;\n readonly orientation = new ScreenOrientation();\n}\n\nexport class Storage {\n readonly #entries = new Map<string, string>();\n\n get length(): number {\n return this.#entries.size;\n }\n\n key(index: number): string | null {\n return [...this.#entries.keys()][index] ?? null;\n }\n\n getItem(key: string): string | null {\n return this.#entries.get(String(key)) ?? null;\n }\n\n setItem(key: string, value: string): void {\n this.#entries.set(String(key), String(value));\n }\n\n removeItem(key: string): void {\n this.#entries.delete(String(key));\n }\n\n clear(): void {\n this.#entries.clear();\n }\n}\n\nexport class DataTransfer {\n dropEffect = \"none\";\n effectAllowed = \"all\";\n readonly items = new DataTransferItemList();\n readonly #data = new Map<string, string>();\n\n get files(): FileList {\n return new FileList(...this.items);\n }\n\n get types(): string[] {\n return [...this.#data.keys()];\n }\n\n clearData(format?: string): void {\n if (format === undefined) {\n this.#data.clear();\n return;\n }\n this.#data.delete(String(format));\n }\n\n getData(format: string): string {\n return this.#data.get(String(format)) ?? \"\";\n }\n\n setData(format: string, data: string): void {\n this.#data.set(String(format), String(data));\n }\n\n setDragImage(_image: Element, _x: number, _y: number): void {}\n}\n\nexport class DataTransferItemList extends Array<unknown> {\n add(item: unknown): unknown {\n this.push(item);\n return item;\n }\n\n remove(index: number): void {\n this.splice(index, 1);\n }\n\n clear(): void {\n this.length = 0;\n }\n}\n\nexport class FileList extends Array<unknown> {\n item(index: number): unknown | null {\n return this[index] ?? null;\n }\n}\n"],"mappings":"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"}
package/dist/stats.d.ts CHANGED
@@ -1,33 +1,20 @@
1
- import type { NativeDocument as NativeDocumentBinding } from "@native-dom/native-core";
2
- export interface RuntimeStatsSnapshot {
3
- enabled: boolean;
4
- nativeCalls: Record<string, number>;
5
- operations: Record<string, number>;
6
- wrappers: {
7
- created: number;
8
- cacheHits: number;
9
- documentHits: number;
10
- byKind: Record<string, number>;
11
- };
1
+ import { NativeDocument } from "@native-dom/native-core";
2
+
3
+ //#region src/stats.d.ts
4
+ interface RuntimeStatsSnapshot {
5
+ enabled: boolean;
6
+ nativeCalls: Record<string, number>;
7
+ operations: Record<string, number>;
8
+ wrappers: {
9
+ created: number;
10
+ cacheHits: number;
11
+ documentHits: number;
12
+ byKind: Record<string, number>;
13
+ };
12
14
  }
13
- interface MutableRuntimeStats {
14
- enabled: boolean;
15
- nativeCalls: Record<string, number>;
16
- operations: Record<string, number>;
17
- wrappers: {
18
- created: number;
19
- cacheHits: number;
20
- documentHits: number;
21
- byKind: Record<string, number>;
22
- };
23
- }
24
- export declare const runtimeStats: MutableRuntimeStats;
25
- export declare function resetRuntimeStats(enabled?: boolean): RuntimeStatsSnapshot;
26
- export declare function setRuntimeStatsEnabled(enabled: boolean): RuntimeStatsSnapshot;
27
- export declare function getRuntimeStats(): RuntimeStatsSnapshot;
28
- export declare function recordNativeCall(name: string): void;
29
- export declare function recordOperation(name: string): void;
30
- export declare function recordWrapperCreated(kind: string): void;
31
- export declare function prepareNativeDocument(native: NativeDocumentBinding): NativeDocumentBinding;
32
- export {};
15
+ declare function resetRuntimeStats(enabled?: boolean): RuntimeStatsSnapshot;
16
+ declare function setRuntimeStatsEnabled(enabled: boolean): RuntimeStatsSnapshot;
17
+ declare function getRuntimeStats(): RuntimeStatsSnapshot;
18
+ //#endregion
19
+ export { RuntimeStatsSnapshot, getRuntimeStats, resetRuntimeStats, setRuntimeStatsEnabled };
33
20
  //# sourceMappingURL=stats.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../src/stats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEvF,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAChC,CAAC;CACH;AAED,UAAU,mBAAmB;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAChC,CAAC;CACH;AAED,eAAO,MAAM,YAAY,EAAE,mBAA+C,CAAC;AAI3E,wBAAgB,iBAAiB,CAAC,OAAO,UAAO,GAAG,oBAAoB,CAWtE;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,oBAAoB,CAG7E;AAED,wBAAgB,eAAe,IAAI,oBAAoB,CAYtD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAKnD;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAKlD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAMvD;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,GAAG,qBAAqB,CAE1F"}
1
+ {"version":3,"file":"stats.d.ts","names":[],"sources":["../src/stats.ts"],"mappings":";;;UAEiB,oBAAA;EACf,OAAA;EACA,WAAA,EAAa,MAAA;EACb,UAAA,EAAY,MAAA;EACZ,QAAA;IACE,OAAA;IACA,SAAA;IACA,YAAA;IACA,MAAA,EAAQ,MAAA;EAAA;AAAA;AAAA,iBAoBI,iBAAA,CAAkB,OAAA,aAAiB,oBAAA;AAAA,iBAanC,sBAAA,CAAuB,OAAA,YAAmB,oBAAA;AAAA,iBAK1C,eAAA,CAAA,GAAmB,oBAAA"}