@paulirish/trace_engine 0.0.8 → 0.0.10
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 +4 -4
- package/analyze-trace.mjs +7 -4
- package/core/platform/DevToolsPath.d.ts +32 -0
- package/core/platform/DevToolsPath.js +4 -0
- package/core/platform/DevToolsPath.js.map +7 -0
- package/core/platform/MimeType.js +104 -0
- package/core/platform/MimeType.js.map +7 -0
- package/core/platform/Timing.js +10 -0
- package/core/platform/Timing.js.map +7 -0
- package/core/platform/UIString.d.ts +6 -0
- package/core/platform/UIString.js +2 -0
- package/core/platform/UIString.js.map +7 -0
- package/core/platform/UserVisibleError.d.ts +12 -0
- package/core/platform/UserVisibleError.js +14 -0
- package/core/platform/UserVisibleError.js.map +7 -0
- package/core/platform/array-utilities.d.ts +28 -0
- package/core/platform/array-utilities.js +163 -0
- package/core/platform/array-utilities.js.map +7 -0
- package/core/platform/brand.js +1 -0
- package/core/platform/brand.js.map +7 -0
- package/core/platform/bundle-tsconfig.json +1 -0
- package/core/platform/date-utilities.d.ts +2 -0
- package/core/platform/date-utilities.js +10 -0
- package/core/platform/date-utilities.js.map +7 -0
- package/core/platform/dcheck-tsconfig.json +8 -0
- package/core/platform/dcheck.d.ts +4 -0
- package/core/platform/dcheck.js +5 -0
- package/core/platform/devtools_entrypoint-bundle-tsconfig-tsconfig.json +40 -0
- package/core/platform/devtools_entrypoint-bundle-typescript-tsconfig.json +44 -0
- package/core/platform/dom-utilities.d.ts +6 -0
- package/core/platform/dom-utilities.js +98 -0
- package/core/platform/dom-utilities.js.map +7 -0
- package/core/platform/keyboard-utilities.d.ts +15 -0
- package/core/platform/keyboard-utilities.js +31 -0
- package/core/platform/keyboard-utilities.js.map +7 -0
- package/core/platform/map-utilities.d.ts +14 -0
- package/core/platform/map-utilities.js +70 -0
- package/core/platform/map-utilities.js.map +7 -0
- package/core/platform/number-utilities.d.ts +15 -0
- package/core/platform/number-utilities.js +71 -0
- package/core/platform/number-utilities.js.map +7 -0
- package/core/platform/platform-tsconfig.json +59 -0
- package/core/platform/platform.d.ts +15 -0
- package/core/platform/platform.js +37 -0
- package/core/platform/platform.js.compressed +0 -0
- package/core/platform/platform.js.hash +1 -0
- package/core/platform/platform.js.map +7 -0
- package/core/platform/platform.prebundle.d.ts +15 -0
- package/core/platform/platform.prebundle.js +50 -0
- package/core/platform/platform.prebundle.js.map +1 -0
- package/core/platform/platform.prebundle.ts +64 -0
- package/core/platform/promise-utilities.js +10 -0
- package/core/platform/promise-utilities.js.map +7 -0
- package/core/platform/set-utilities.d.ts +2 -0
- package/core/platform/set-utilities.js +20 -0
- package/core/platform/set-utilities.js.map +7 -0
- package/core/platform/string-utilities.d.ts +40 -0
- package/core/platform/string-utilities.js +439 -0
- package/core/platform/string-utilities.js.map +7 -0
- package/core/platform/typescript-utilities.d.ts +56 -0
- package/core/platform/typescript-utilities.js +13 -0
- package/core/platform/typescript-utilities.js.map +7 -0
- package/generated/protocol.d.ts +16189 -0
- package/generated/protocol.js +2230 -0
- package/models/cpu_profile/CPUProfileDataModel.js +375 -0
- package/models/cpu_profile/CPUProfileDataModel.js.map +7 -0
- package/models/cpu_profile/ProfileTreeModel.js +90 -0
- package/models/cpu_profile/ProfileTreeModel.js.map +7 -0
- package/models/cpu_profile/bundle-tsconfig.json +1 -0
- package/models/cpu_profile/cpu_profile-tsconfig.json +51 -0
- package/models/cpu_profile/cpu_profile.js +7 -0
- package/models/cpu_profile/cpu_profile.js.map +7 -0
- package/models/cpu_profile/devtools_entrypoint-bundle-typescript-tsconfig.json +44 -0
- package/models/trace/EntriesFilter.js +182 -0
- package/models/trace/EntriesFilter.js.map +7 -0
- package/models/trace/LegacyTracingModel.d.ts +1 -0
- package/models/trace/LegacyTracingModel.js +1 -0
- package/models/trace/LegacyTracingModel.js.map +7 -0
- package/models/trace/ModelImpl.js +116 -0
- package/models/trace/ModelImpl.js.map +7 -0
- package/models/trace/Processor.js +179 -0
- package/models/trace/Processor.js.map +7 -0
- package/models/trace/SDKServices.js +104 -0
- package/models/trace/SDKServices.js.map +7 -0
- package/models/trace/TraceProcessor.js +133 -0
- package/models/trace/TraceProcessor.js.map +7 -0
- package/models/trace/TracingManager.d.ts +1 -0
- package/models/trace/TracingManager.js +1 -0
- package/models/trace/TracingManager.js.map +7 -0
- package/models/trace/TreeManipulator.js +85 -0
- package/models/trace/TreeManipulator.js.map +7 -0
- package/models/trace/bundle-tsconfig.json +1 -0
- package/models/trace/devtools_entrypoint-bundle-typescript-tsconfig.json +44 -0
- package/models/trace/devtools_entrypoint-legacy-typescript-tsconfig.json +43 -0
- package/models/trace/extras/FetchNodes.js +104 -0
- package/models/trace/extras/FetchNodes.js.map +7 -0
- package/models/trace/extras/FilmStrip.js +37 -0
- package/models/trace/extras/FilmStrip.js.map +7 -0
- package/models/trace/extras/MainThreadActivity.js +61 -0
- package/models/trace/extras/MainThreadActivity.js.map +7 -0
- package/models/trace/extras/Metadata.js +28 -0
- package/models/trace/extras/Metadata.js.map +7 -0
- package/models/trace/extras/bundle-tsconfig.json +1 -0
- package/models/trace/extras/devtools_entrypoint-bundle-typescript-tsconfig.json +44 -0
- package/models/trace/extras/extras-tsconfig.json +59 -0
- package/models/trace/extras/extras.d.ts +1 -0
- package/models/trace/extras/extras.js +1 -0
- package/models/trace/extras/extras.js.map +7 -0
- package/models/trace/frames/TimelineFrameModel.js +392 -0
- package/models/trace/frames/TimelineFrameModel.js.map +7 -0
- package/models/trace/frames/bundle-tsconfig.json +1 -0
- package/models/trace/frames/devtools_entrypoint-bundle-typescript-tsconfig.json +43 -0
- package/models/trace/frames/frames-tsconfig.json +58 -0
- package/models/trace/frames/frames.js +5 -0
- package/models/trace/frames/frames.js.map +7 -0
- package/models/trace/handlers/AnimationHandler.js +30 -0
- package/models/trace/handlers/AnimationHandler.js.map +7 -0
- package/models/trace/handlers/AuctionWorkletsHandler.js +106 -0
- package/models/trace/handlers/AuctionWorkletsHandler.js.map +7 -0
- package/models/trace/handlers/FramesHandler.js +388 -0
- package/models/trace/handlers/FramesHandler.js.map +7 -0
- package/models/trace/handlers/GPUHandler.js +50 -0
- package/models/trace/handlers/GPUHandler.js.map +7 -0
- package/models/trace/handlers/InitiatorsHandler.js +133 -0
- package/models/trace/handlers/InitiatorsHandler.js.map +7 -0
- package/models/trace/handlers/InvalidationsHandler.js +98 -0
- package/models/trace/handlers/InvalidationsHandler.js.map +7 -0
- package/models/trace/handlers/LargestImagePaintHandler.js +18 -0
- package/models/trace/handlers/LargestImagePaintHandler.js.map +7 -0
- package/models/trace/handlers/LargestTextPaintHandler.js +18 -0
- package/models/trace/handlers/LargestTextPaintHandler.js.map +7 -0
- package/models/trace/handlers/LayerTreeHandler.js +90 -0
- package/models/trace/handlers/LayerTreeHandler.js.map +7 -0
- package/models/trace/handlers/LayoutShiftsHandler.js +270 -0
- package/models/trace/handlers/LayoutShiftsHandler.js.map +7 -0
- package/models/trace/handlers/MemoryHandler.js +17 -0
- package/models/trace/handlers/MemoryHandler.js.map +7 -0
- package/models/trace/handlers/MetaHandler.js +250 -0
- package/models/trace/handlers/MetaHandler.js.map +7 -0
- package/models/trace/handlers/Migration.js +27 -0
- package/models/trace/handlers/Migration.js.map +7 -0
- package/models/trace/handlers/ModelHandlers.js +22 -0
- package/models/trace/handlers/ModelHandlers.js.map +7 -0
- package/models/trace/handlers/NetworkRequestsHandler.js +237 -0
- package/models/trace/handlers/NetworkRequestsHandler.js.map +7 -0
- package/models/trace/handlers/PageLoadMetricsHandler.js +334 -0
- package/models/trace/handlers/PageLoadMetricsHandler.js.map +7 -0
- package/models/trace/handlers/RendererHandler.js +221 -0
- package/models/trace/handlers/RendererHandler.js.map +7 -0
- package/models/trace/handlers/SamplesHandler.js +178 -0
- package/models/trace/handlers/SamplesHandler.js.map +7 -0
- package/models/trace/handlers/ScreenshotsHandler.js +57 -0
- package/models/trace/handlers/ScreenshotsHandler.js.map +7 -0
- package/models/trace/handlers/Threads.js +77 -0
- package/models/trace/handlers/Threads.js.map +7 -0
- package/models/trace/handlers/UberFramesHandler.js +293 -0
- package/models/trace/handlers/UberFramesHandler.js.map +7 -0
- package/models/trace/handlers/UserInteractionsHandler.js +168 -0
- package/models/trace/handlers/UserInteractionsHandler.js.map +7 -0
- package/models/trace/handlers/UserTimingsHandler.js +97 -0
- package/models/trace/handlers/UserTimingsHandler.js.map +7 -0
- package/models/trace/handlers/WarningsHandler.js +87 -0
- package/models/trace/handlers/WarningsHandler.js.map +7 -0
- package/models/trace/handlers/WorkersHandler.js +50 -0
- package/models/trace/handlers/WorkersHandler.js.map +7 -0
- package/models/trace/handlers/bundle-tsconfig.json +1 -0
- package/models/trace/handlers/devtools_entrypoint-bundle-typescript-tsconfig.json +44 -0
- package/models/trace/handlers/handlers-tsconfig.json +79 -0
- package/models/trace/handlers/handlers.js +4 -0
- package/models/trace/handlers/handlers.js.map +7 -0
- package/models/trace/handlers/types.js +18 -0
- package/models/trace/handlers/types.js.map +7 -0
- package/models/trace/helpers/SamplesIntegrator.js +220 -0
- package/models/trace/helpers/SamplesIntegrator.js.map +7 -0
- package/models/trace/helpers/Timing.js +141 -0
- package/models/trace/helpers/Timing.js.map +7 -0
- package/models/trace/helpers/Trace.js +196 -0
- package/models/trace/helpers/Trace.js.map +7 -0
- package/models/trace/helpers/TreeHelpers.js +119 -0
- package/models/trace/helpers/TreeHelpers.js.map +7 -0
- package/models/trace/helpers/bundle-tsconfig.json +1 -0
- package/models/trace/helpers/devtools_entrypoint-bundle-typescript-tsconfig.json +44 -0
- package/models/trace/helpers/helpers-tsconfig.json +59 -0
- package/models/trace/helpers/helpers.js +5 -0
- package/models/trace/helpers/helpers.js.map +7 -0
- package/models/trace/legacy-tsconfig.json +1 -0
- package/models/trace/root-causes/LayoutShift.js +370 -0
- package/models/trace/root-causes/LayoutShift.js.map +7 -0
- package/models/trace/root-causes/RootCauses.js +8 -0
- package/models/trace/root-causes/RootCauses.js.map +7 -0
- package/models/trace/root-causes/bundle-tsconfig.json +1 -0
- package/models/trace/root-causes/devtools_entrypoint-bundle-typescript-tsconfig.json +44 -0
- package/models/trace/root-causes/root-causes-tsconfig.json +57 -0
- package/models/trace/root-causes/root-causes.js +2 -0
- package/models/trace/root-causes/root-causes.js.map +7 -0
- package/models/trace/sdk_services/DOMNodeLookup.js +41 -0
- package/models/trace/sdk_services/DOMNodeLookup.js.map +7 -0
- package/models/trace/sdk_services/LayoutShifts.js +68 -0
- package/models/trace/sdk_services/LayoutShifts.js.map +7 -0
- package/models/trace/sdk_services/bundle-tsconfig.json +1 -0
- package/models/trace/sdk_services/devtools_entrypoint-bundle-typescript-tsconfig.json +41 -0
- package/models/trace/sdk_services/sdk_services-tsconfig.json +57 -0
- package/models/trace/sdk_services/sdk_services.js +7 -0
- package/models/trace/sdk_services/sdk_services.js.map +7 -0
- package/models/trace/trace-legacy.js +16 -0
- package/models/trace/trace-legacy.js.map +7 -0
- package/models/trace/trace-tsconfig.json +69 -0
- package/models/trace/trace.js +23 -0
- package/models/trace/trace.js.map +7 -0
- package/models/trace/types/Configuration.js +18 -0
- package/models/trace/types/Configuration.js.map +7 -0
- package/models/trace/types/File.js +6 -0
- package/models/trace/types/File.js.map +7 -0
- package/models/trace/types/Timing.js +17 -0
- package/models/trace/types/Timing.js.map +7 -0
- package/models/trace/types/TraceEvents.js +595 -0
- package/models/trace/types/TraceEvents.js.map +7 -0
- package/models/trace/types/bundle-tsconfig.json +1 -0
- package/models/trace/types/devtools_entrypoint-bundle-typescript-tsconfig.json +44 -0
- package/models/trace/types/types-tsconfig.json +47 -0
- package/models/trace/types/types.js +5 -0
- package/models/trace/types/types.js.map +7 -0
- package/models/trace/worker/Processor.js +143 -0
- package/models/trace/worker/Processor.js.map +7 -0
- package/models/trace/worker/Types.js +1 -0
- package/models/trace/worker/Types.js.map +7 -0
- package/models/trace/worker/bundle-tsconfig.json +1 -0
- package/models/trace/worker/devtools_entrypoint-bundle-typescript-tsconfig.json +41 -0
- package/models/trace/worker/devtools_entrypoint-worker_entrypoint-typescript-tsconfig.json +41 -0
- package/models/trace/worker/processor-tsconfig.json +45 -0
- package/models/trace/worker/worker.js +7 -0
- package/models/trace/worker/worker.js.map +7 -0
- package/models/trace/worker/worker_entrypoint-tsconfig.json +1 -0
- package/models/trace/worker/worker_entrypoint.js +36 -0
- package/models/trace/worker/worker_entrypoint.js.map +7 -0
- package/package.json +2 -2
- package/trace.mjs +15 -8
- package/trace.mjs.map +3 -2
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"allowJs": true,
|
|
4
|
+
"checkJs": true,
|
|
5
|
+
"composite": true,
|
|
6
|
+
"declaration": true,
|
|
7
|
+
"experimentalDecorators": true,
|
|
8
|
+
"forceConsistentCasingInFileNames": true,
|
|
9
|
+
"inlineSources": true,
|
|
10
|
+
"lib": [
|
|
11
|
+
"esnext",
|
|
12
|
+
"dom",
|
|
13
|
+
"dom.iterable"
|
|
14
|
+
],
|
|
15
|
+
"module": "esnext",
|
|
16
|
+
"noEmitOnError": true,
|
|
17
|
+
"noFallthroughCasesInSwitch": true,
|
|
18
|
+
"noImplicitOverride": true,
|
|
19
|
+
"noImplicitReturns": true,
|
|
20
|
+
"noUnusedLocals": false,
|
|
21
|
+
"outDir": ".",
|
|
22
|
+
"rootDir": "../../../../../../front_end/core/platform",
|
|
23
|
+
"skipLibCheck": true,
|
|
24
|
+
"sourceMap": true,
|
|
25
|
+
"strict": true,
|
|
26
|
+
"target": "esnext",
|
|
27
|
+
"tsBuildInfoFile": "devtools_entrypoint-bundle-typescript-tsconfig.json.tsbuildinfo",
|
|
28
|
+
"typeRoots": [],
|
|
29
|
+
"useUnknownInCatchVariables": false
|
|
30
|
+
},
|
|
31
|
+
"files": [
|
|
32
|
+
"../../../../../../front_end/core/platform/platform.ts",
|
|
33
|
+
"../../../../../../front_end/legacy/legacy-defs.d.ts",
|
|
34
|
+
"../../../../../../front_end/global_typings/global_defs.d.ts",
|
|
35
|
+
"../../../../../../front_end/global_typings/request_idle_callback.d.ts",
|
|
36
|
+
"../../../../../../node_modules/@types/filesystem/index.d.ts",
|
|
37
|
+
"../../../../../../node_modules/@webgpu/types/dist/index.d.ts"
|
|
38
|
+
],
|
|
39
|
+
"references": [
|
|
40
|
+
{
|
|
41
|
+
"path": "./platform-tsconfig.json"
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `document.activeElement` will not enter shadow roots to find the element
|
|
3
|
+
* that has focus; use this method if you need to traverse through any shadow
|
|
4
|
+
* roots to find the actual, specific focused element.
|
|
5
|
+
*/
|
|
6
|
+
export declare function deepActiveElement(doc: Document): Element | null;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
export function deepActiveElement(doc) {
|
|
2
|
+
let activeElement = doc.activeElement;
|
|
3
|
+
while (activeElement && activeElement.shadowRoot && activeElement.shadowRoot.activeElement) {
|
|
4
|
+
activeElement = activeElement.shadowRoot.activeElement;
|
|
5
|
+
}
|
|
6
|
+
return activeElement;
|
|
7
|
+
}
|
|
8
|
+
export function getEnclosingShadowRootForNode(node) {
|
|
9
|
+
let parentNode = node.parentNodeOrShadowHost();
|
|
10
|
+
while (parentNode) {
|
|
11
|
+
if (parentNode instanceof ShadowRoot) {
|
|
12
|
+
return parentNode;
|
|
13
|
+
}
|
|
14
|
+
parentNode = parentNode.parentNodeOrShadowHost();
|
|
15
|
+
}
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
export function rangeOfWord(rootNode, offset, stopCharacters, stayWithinNode, direction) {
|
|
19
|
+
let startNode;
|
|
20
|
+
let startOffset = 0;
|
|
21
|
+
let endNode;
|
|
22
|
+
let endOffset = 0;
|
|
23
|
+
if (!stayWithinNode) {
|
|
24
|
+
stayWithinNode = rootNode;
|
|
25
|
+
}
|
|
26
|
+
if (!direction || direction === "backward" || direction === "both") {
|
|
27
|
+
let node = rootNode;
|
|
28
|
+
while (node) {
|
|
29
|
+
if (node === stayWithinNode) {
|
|
30
|
+
if (!startNode) {
|
|
31
|
+
startNode = stayWithinNode;
|
|
32
|
+
}
|
|
33
|
+
break;
|
|
34
|
+
}
|
|
35
|
+
if (node.nodeType === Node.TEXT_NODE && node.nodeValue !== null) {
|
|
36
|
+
const start = node === rootNode ? offset - 1 : node.nodeValue.length - 1;
|
|
37
|
+
for (let i = start; i >= 0; --i) {
|
|
38
|
+
if (stopCharacters.indexOf(node.nodeValue[i]) !== -1) {
|
|
39
|
+
startNode = node;
|
|
40
|
+
startOffset = i + 1;
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
if (startNode) {
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
node = node.traversePreviousNode(stayWithinNode);
|
|
49
|
+
}
|
|
50
|
+
if (!startNode) {
|
|
51
|
+
startNode = stayWithinNode;
|
|
52
|
+
startOffset = 0;
|
|
53
|
+
}
|
|
54
|
+
} else {
|
|
55
|
+
startNode = rootNode;
|
|
56
|
+
startOffset = offset;
|
|
57
|
+
}
|
|
58
|
+
if (!direction || direction === "forward" || direction === "both") {
|
|
59
|
+
let node = rootNode;
|
|
60
|
+
while (node) {
|
|
61
|
+
if (node === stayWithinNode) {
|
|
62
|
+
if (!endNode) {
|
|
63
|
+
endNode = stayWithinNode;
|
|
64
|
+
}
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
if (node.nodeType === Node.TEXT_NODE && node.nodeValue !== null) {
|
|
68
|
+
const start = node === rootNode ? offset : 0;
|
|
69
|
+
for (let i = start; i < node.nodeValue.length; ++i) {
|
|
70
|
+
if (stopCharacters.indexOf(node.nodeValue[i]) !== -1) {
|
|
71
|
+
endNode = node;
|
|
72
|
+
endOffset = i;
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if (endNode) {
|
|
78
|
+
break;
|
|
79
|
+
}
|
|
80
|
+
node = node.traverseNextNode(stayWithinNode);
|
|
81
|
+
}
|
|
82
|
+
if (!endNode) {
|
|
83
|
+
endNode = stayWithinNode;
|
|
84
|
+
endOffset = stayWithinNode.nodeType === Node.TEXT_NODE ? stayWithinNode.nodeValue?.length || 0 : stayWithinNode.childNodes.length;
|
|
85
|
+
}
|
|
86
|
+
} else {
|
|
87
|
+
endNode = rootNode;
|
|
88
|
+
endOffset = offset;
|
|
89
|
+
}
|
|
90
|
+
if (!rootNode.ownerDocument) {
|
|
91
|
+
throw new Error("No `ownerDocument` found for rootNode");
|
|
92
|
+
}
|
|
93
|
+
const result = rootNode.ownerDocument.createRange();
|
|
94
|
+
result.setStart(startNode, startOffset);
|
|
95
|
+
result.setEnd(endNode, endOffset);
|
|
96
|
+
return result;
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=dom-utilities.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../front_end/core/platform/dom-utilities.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright 2022 The Chromium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\n/**\n * `document.activeElement` will not enter shadow roots to find the element\n * that has focus; use this method if you need to traverse through any shadow\n * roots to find the actual, specific focused element.\n */\nexport function deepActiveElement(doc: Document): Element|null {\n let activeElement: Element|null = doc.activeElement;\n while (activeElement && activeElement.shadowRoot && activeElement.shadowRoot.activeElement) {\n activeElement = activeElement.shadowRoot.activeElement;\n }\n return activeElement;\n}\n\nexport function getEnclosingShadowRootForNode(node: Node): Node|null {\n let parentNode = node.parentNodeOrShadowHost();\n while (parentNode) {\n if (parentNode instanceof ShadowRoot) {\n return parentNode;\n }\n parentNode = parentNode.parentNodeOrShadowHost();\n }\n return null;\n}\n\nexport function rangeOfWord(\n rootNode: Node, offset: number, stopCharacters: string, stayWithinNode: Node, direction?: string): Range {\n let startNode;\n let startOffset = 0;\n let endNode;\n let endOffset = 0;\n\n if (!stayWithinNode) {\n stayWithinNode = rootNode;\n }\n\n if (!direction || direction === 'backward' || direction === 'both') {\n let node: Node|null = rootNode;\n while (node) {\n if (node === stayWithinNode) {\n if (!startNode) {\n startNode = stayWithinNode;\n }\n break;\n }\n\n if (node.nodeType === Node.TEXT_NODE && node.nodeValue !== null) {\n const start = (node === rootNode ? (offset - 1) : (node.nodeValue.length - 1));\n for (let i = start; i >= 0; --i) {\n if (stopCharacters.indexOf(node.nodeValue[i]) !== -1) {\n startNode = node;\n startOffset = i + 1;\n break;\n }\n }\n }\n\n if (startNode) {\n break;\n }\n\n node = node.traversePreviousNode(stayWithinNode);\n }\n\n if (!startNode) {\n startNode = stayWithinNode;\n startOffset = 0;\n }\n } else {\n startNode = rootNode;\n startOffset = offset;\n }\n\n if (!direction || direction === 'forward' || direction === 'both') {\n let node: (Node|null)|Node = rootNode;\n while (node) {\n if (node === stayWithinNode) {\n if (!endNode) {\n endNode = stayWithinNode;\n }\n break;\n }\n\n if (node.nodeType === Node.TEXT_NODE && node.nodeValue !== null) {\n const start = (node === rootNode ? offset : 0);\n for (let i = start; i < node.nodeValue.length; ++i) {\n if (stopCharacters.indexOf(node.nodeValue[i]) !== -1) {\n endNode = node;\n endOffset = i;\n break;\n }\n }\n }\n\n if (endNode) {\n break;\n }\n\n node = node.traverseNextNode(stayWithinNode);\n }\n\n if (!endNode) {\n endNode = stayWithinNode;\n endOffset = stayWithinNode.nodeType === Node.TEXT_NODE ? stayWithinNode.nodeValue?.length || 0 :\n stayWithinNode.childNodes.length;\n }\n } else {\n endNode = rootNode;\n endOffset = offset;\n }\n\n if (!rootNode.ownerDocument) {\n throw new Error('No `ownerDocument` found for rootNode');\n }\n const result = rootNode.ownerDocument.createRange();\n result.setStart(startNode, startOffset);\n result.setEnd(endNode, endOffset);\n\n return result;\n}\n"],
|
|
5
|
+
"mappings": "AASO,kCAA2B,KAA6B;AAC7D,MAAI,gBAA8B,IAAI;AACtC,SAAO,iBAAiB,cAAc,cAAc,cAAc,WAAW,eAAe;AAC1F,oBAAgB,cAAc,WAAW;AAAA;AAE3C,SAAO;AAAA;AAGF,8CAAuC,MAAuB;AACnE,MAAI,aAAa,KAAK;AACtB,SAAO,YAAY;AACjB,QAAI,sBAAsB,YAAY;AACpC,aAAO;AAAA;AAET,iBAAa,WAAW;AAAA;AAE1B,SAAO;AAAA;AAGF,4BACH,UAAgB,QAAgB,gBAAwB,gBAAsB,WAA2B;AAC3G,MAAI;AACJ,MAAI,cAAc;AAClB,MAAI;AACJ,MAAI,YAAY;AAEhB,MAAI,CAAC,gBAAgB;AACnB,qBAAiB;AAAA;AAGnB,MAAI,CAAC,aAAa,cAAc,cAAc,cAAc,QAAQ;AAClE,QAAI,OAAkB;AACtB,WAAO,MAAM;AACX,UAAI,SAAS,gBAAgB;AAC3B,YAAI,CAAC,WAAW;AACd,sBAAY;AAAA;AAEd;AAAA;AAGF,UAAI,KAAK,aAAa,KAAK,aAAa,KAAK,cAAc,MAAM;AAC/D,cAAM,QAAS,SAAS,WAAY,SAAS,IAAM,KAAK,UAAU,SAAS;AAC3E,iBAAS,IAAI,OAAO,KAAK,GAAG,EAAE,GAAG;AAC/B,cAAI,eAAe,QAAQ,KAAK,UAAU,QAAQ,IAAI;AACpD,wBAAY;AACZ,0BAAc,IAAI;AAClB;AAAA;AAAA;AAAA;AAKN,UAAI,WAAW;AACb;AAAA;AAGF,aAAO,KAAK,qBAAqB;AAAA;AAGnC,QAAI,CAAC,WAAW;AACd,kBAAY;AACZ,oBAAc;AAAA;AAAA,SAEX;AACL,gBAAY;AACZ,kBAAc;AAAA;AAGhB,MAAI,CAAC,aAAa,cAAc,aAAa,cAAc,QAAQ;AACjE,QAAI,OAAyB;AAC7B,WAAO,MAAM;AACX,UAAI,SAAS,gBAAgB;AAC3B,YAAI,CAAC,SAAS;AACZ,oBAAU;AAAA;AAEZ;AAAA;AAGF,UAAI,KAAK,aAAa,KAAK,aAAa,KAAK,cAAc,MAAM;AAC/D,cAAM,QAAS,SAAS,WAAW,SAAS;AAC5C,iBAAS,IAAI,OAAO,IAAI,KAAK,UAAU,QAAQ,EAAE,GAAG;AAClD,cAAI,eAAe,QAAQ,KAAK,UAAU,QAAQ,IAAI;AACpD,sBAAU;AACV,wBAAY;AACZ;AAAA;AAAA;AAAA;AAKN,UAAI,SAAS;AACX;AAAA;AAGF,aAAO,KAAK,iBAAiB;AAAA;AAG/B,QAAI,CAAC,SAAS;AACZ,gBAAU;AACV,kBAAY,eAAe,aAAa,KAAK,YAAY,eAAe,WAAW,UAAU,IACpC,eAAe,WAAW;AAAA;AAAA,SAEhF;AACL,cAAU;AACV,gBAAY;AAAA;AAGd,MAAI,CAAC,SAAS,eAAe;AAC3B,UAAM,IAAI,MAAM;AAAA;AAElB,QAAM,SAAS,SAAS,cAAc;AACtC,SAAO,SAAS,WAAW;AAC3B,SAAO,OAAO,SAAS;AAEvB,SAAO;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const enum ArrowKey {
|
|
2
|
+
UP = "ArrowUp",
|
|
3
|
+
DOWN = "ArrowDown",
|
|
4
|
+
LEFT = "ArrowLeft",
|
|
5
|
+
RIGHT = "ArrowRight"
|
|
6
|
+
}
|
|
7
|
+
export declare const enum PageKey {
|
|
8
|
+
UP = "PageUp",
|
|
9
|
+
DOWN = "PageDown"
|
|
10
|
+
}
|
|
11
|
+
export declare const ENTER_KEY = "Enter";
|
|
12
|
+
export declare const ESCAPE_KEY = "Escape";
|
|
13
|
+
export declare const TAB_KEY = "Tab";
|
|
14
|
+
export declare const ARROW_KEYS: Set<ArrowKey>;
|
|
15
|
+
export declare function keyIsArrowKey(key: string): key is ArrowKey;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export var ArrowKey = /* @__PURE__ */ ((ArrowKey2) => {
|
|
2
|
+
ArrowKey2["UP"] = "ArrowUp";
|
|
3
|
+
ArrowKey2["DOWN"] = "ArrowDown";
|
|
4
|
+
ArrowKey2["LEFT"] = "ArrowLeft";
|
|
5
|
+
ArrowKey2["RIGHT"] = "ArrowRight";
|
|
6
|
+
return ArrowKey2;
|
|
7
|
+
})(ArrowKey || {});
|
|
8
|
+
export var PageKey = /* @__PURE__ */ ((PageKey2) => {
|
|
9
|
+
PageKey2["UP"] = "PageUp";
|
|
10
|
+
PageKey2["DOWN"] = "PageDown";
|
|
11
|
+
return PageKey2;
|
|
12
|
+
})(PageKey || {});
|
|
13
|
+
export const ENTER_KEY = "Enter";
|
|
14
|
+
export const ESCAPE_KEY = "Escape";
|
|
15
|
+
export const TAB_KEY = "Tab";
|
|
16
|
+
export const ARROW_KEYS = /* @__PURE__ */ new Set([
|
|
17
|
+
"ArrowUp" /* UP */,
|
|
18
|
+
"ArrowDown" /* DOWN */,
|
|
19
|
+
"ArrowLeft" /* LEFT */,
|
|
20
|
+
"ArrowRight" /* RIGHT */
|
|
21
|
+
]);
|
|
22
|
+
export function keyIsArrowKey(key) {
|
|
23
|
+
return ARROW_KEYS.has(key);
|
|
24
|
+
}
|
|
25
|
+
export function isEscKey(event) {
|
|
26
|
+
return event.key === "Escape";
|
|
27
|
+
}
|
|
28
|
+
export function isEnterOrSpaceKey(event) {
|
|
29
|
+
return event.key === "Enter" || event.key === " ";
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=keyboard-utilities.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../front_end/core/platform/keyboard-utilities.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) 2020 The Chromium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\nexport const enum ArrowKey {\n UP = 'ArrowUp',\n DOWN = 'ArrowDown',\n LEFT = 'ArrowLeft',\n RIGHT = 'ArrowRight',\n}\n\nexport const enum PageKey {\n UP = 'PageUp',\n DOWN = 'PageDown',\n}\n\nexport const ENTER_KEY = 'Enter';\nexport const ESCAPE_KEY = 'Escape';\nexport const TAB_KEY = 'Tab';\n\nexport const ARROW_KEYS = new Set<ArrowKey>([\n ArrowKey.UP,\n ArrowKey.DOWN,\n ArrowKey.LEFT,\n ArrowKey.RIGHT,\n]);\n\nexport function keyIsArrowKey(key: string): key is ArrowKey {\n return ARROW_KEYS.has(key as ArrowKey);\n}\n\nexport function isEscKey(event: KeyboardEvent): boolean {\n return event.key === 'Escape';\n}\n\nexport function isEnterOrSpaceKey(event: KeyboardEvent): boolean {\n return event.key === 'Enter' || event.key === ' ';\n}\n"],
|
|
5
|
+
"mappings": "AAIO,WAAW,WAAX,kBAAW,cAAX;AACL,oBAAK;AACL,sBAAO;AACP,sBAAO;AACP,uBAAQ;AAJQ;AAAA;AAOX,WAAW,UAAX,kBAAW,aAAX;AACL,mBAAK;AACL,qBAAO;AAFS;AAAA;AAKX,aAAM,YAAY;AAClB,aAAM,aAAa;AACnB,aAAM,UAAU;AAEhB,aAAM,aAAa,oBAAI,IAAc;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAGK,8BAAuB,KAA8B;AAC1D,SAAO,WAAW,IAAI;AAAA;AAGjB,yBAAkB,OAA+B;AACtD,SAAO,MAAM,QAAQ;AAAA;AAGhB,kCAA2B,OAA+B;AAC/D,SAAO,MAAM,QAAQ,WAAW,MAAM,QAAQ;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const inverse: <K, V>(map: Map<K, V>) => Multimap<V, K>;
|
|
2
|
+
export declare class Multimap<K, V> {
|
|
3
|
+
private map;
|
|
4
|
+
set(key: K, value: V): void;
|
|
5
|
+
get(key: K): Set<V>;
|
|
6
|
+
has(key: K): boolean;
|
|
7
|
+
hasValue(key: K, value: V): boolean;
|
|
8
|
+
get size(): number;
|
|
9
|
+
delete(key: K, value: V): boolean;
|
|
10
|
+
deleteAll(key: K): void;
|
|
11
|
+
keysArray(): K[];
|
|
12
|
+
valuesArray(): V[];
|
|
13
|
+
clear(): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
export const inverse = function(map) {
|
|
2
|
+
const result = new Multimap();
|
|
3
|
+
for (const [key, value] of map.entries()) {
|
|
4
|
+
result.set(value, key);
|
|
5
|
+
}
|
|
6
|
+
return result;
|
|
7
|
+
};
|
|
8
|
+
export class Multimap {
|
|
9
|
+
map = /* @__PURE__ */ new Map();
|
|
10
|
+
set(key, value) {
|
|
11
|
+
let set = this.map.get(key);
|
|
12
|
+
if (!set) {
|
|
13
|
+
set = /* @__PURE__ */ new Set();
|
|
14
|
+
this.map.set(key, set);
|
|
15
|
+
}
|
|
16
|
+
set.add(value);
|
|
17
|
+
}
|
|
18
|
+
get(key) {
|
|
19
|
+
return this.map.get(key) || /* @__PURE__ */ new Set();
|
|
20
|
+
}
|
|
21
|
+
has(key) {
|
|
22
|
+
return this.map.has(key);
|
|
23
|
+
}
|
|
24
|
+
hasValue(key, value) {
|
|
25
|
+
const set = this.map.get(key);
|
|
26
|
+
if (!set) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
return set.has(value);
|
|
30
|
+
}
|
|
31
|
+
get size() {
|
|
32
|
+
return this.map.size;
|
|
33
|
+
}
|
|
34
|
+
delete(key, value) {
|
|
35
|
+
const values = this.get(key);
|
|
36
|
+
if (!values) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
const result = values.delete(value);
|
|
40
|
+
if (!values.size) {
|
|
41
|
+
this.map.delete(key);
|
|
42
|
+
}
|
|
43
|
+
return result;
|
|
44
|
+
}
|
|
45
|
+
deleteAll(key) {
|
|
46
|
+
this.map.delete(key);
|
|
47
|
+
}
|
|
48
|
+
keysArray() {
|
|
49
|
+
return [...this.map.keys()];
|
|
50
|
+
}
|
|
51
|
+
valuesArray() {
|
|
52
|
+
const result = [];
|
|
53
|
+
for (const set of this.map.values()) {
|
|
54
|
+
result.push(...set.values());
|
|
55
|
+
}
|
|
56
|
+
return result;
|
|
57
|
+
}
|
|
58
|
+
clear() {
|
|
59
|
+
this.map.clear();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
export function getWithDefault(map, key, defaultValueFactory) {
|
|
63
|
+
let value = map.get(key);
|
|
64
|
+
if (!value) {
|
|
65
|
+
value = defaultValueFactory(key);
|
|
66
|
+
map.set(key, value);
|
|
67
|
+
}
|
|
68
|
+
return value;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=map-utilities.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../front_end/core/platform/map-utilities.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) 2020 The Chromium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\nexport const inverse = function<K, V>(map: Map<K, V>): Multimap<V, K> {\n const result = new Multimap<V, K>();\n for (const [key, value] of map.entries()) {\n result.set(value, key);\n }\n return result;\n};\n\nexport class Multimap<K, V> {\n private map = new Map<K, Set<V>>();\n\n set(key: K, value: V): void {\n let set = this.map.get(key);\n if (!set) {\n set = new Set();\n this.map.set(key, set);\n }\n set.add(value);\n }\n\n get(key: K): Set<V> {\n return this.map.get(key) || new Set();\n }\n\n has(key: K): boolean {\n return this.map.has(key);\n }\n\n hasValue(key: K, value: V): boolean {\n const set = this.map.get(key);\n if (!set) {\n return false;\n }\n return set.has(value);\n }\n\n get size(): number {\n return this.map.size;\n }\n\n delete(key: K, value: V): boolean {\n const values = this.get(key);\n if (!values) {\n return false;\n }\n const result = values.delete(value);\n if (!values.size) {\n this.map.delete(key);\n }\n return result;\n }\n\n deleteAll(key: K): void {\n this.map.delete(key);\n }\n\n keysArray(): K[] {\n return [...this.map.keys()];\n }\n\n valuesArray(): V[] {\n const result = [];\n for (const set of this.map.values()) {\n result.push(...set.values());\n }\n return result;\n }\n\n clear(): void {\n this.map.clear();\n }\n}\n\n/**\n * Gets value for key, assigning a default if value is falsy.\n */\nexport function getWithDefault<K extends {}, V>(\n map: WeakMap<K, V>|Map<K, V>, key: K, defaultValueFactory: (key?: K) => V): V {\n let value = map.get(key);\n if (!value) {\n value = defaultValueFactory(key);\n map.set(key, value);\n }\n\n return value;\n}\n"],
|
|
5
|
+
"mappings": "AAIO,aAAM,UAAU,SAAe,KAAgC;AACpE,QAAM,SAAS,IAAI;AACnB,aAAW,CAAC,KAAK,UAAU,IAAI,WAAW;AACxC,WAAO,IAAI,OAAO;AAAA;AAEpB,SAAO;AAAA;AAGF,sBAAqB;AAAA,EAClB,MAAM,oBAAI;AAAA,EAElB,IAAI,KAAQ,OAAgB;AAC1B,QAAI,MAAM,KAAK,IAAI,IAAI;AACvB,QAAI,CAAC,KAAK;AACR,YAAM,oBAAI;AACV,WAAK,IAAI,IAAI,KAAK;AAAA;AAEpB,QAAI,IAAI;AAAA;AAAA,EAGV,IAAI,KAAgB;AAClB,WAAO,KAAK,IAAI,IAAI,QAAQ,oBAAI;AAAA;AAAA,EAGlC,IAAI,KAAiB;AACnB,WAAO,KAAK,IAAI,IAAI;AAAA;AAAA,EAGtB,SAAS,KAAQ,OAAmB;AAClC,UAAM,MAAM,KAAK,IAAI,IAAI;AACzB,QAAI,CAAC,KAAK;AACR,aAAO;AAAA;AAET,WAAO,IAAI,IAAI;AAAA;AAAA,MAGb,OAAe;AACjB,WAAO,KAAK,IAAI;AAAA;AAAA,EAGlB,OAAO,KAAQ,OAAmB;AAChC,UAAM,SAAS,KAAK,IAAI;AACxB,QAAI,CAAC,QAAQ;AACX,aAAO;AAAA;AAET,UAAM,SAAS,OAAO,OAAO;AAC7B,QAAI,CAAC,OAAO,MAAM;AAChB,WAAK,IAAI,OAAO;AAAA;AAElB,WAAO;AAAA;AAAA,EAGT,UAAU,KAAc;AACtB,SAAK,IAAI,OAAO;AAAA;AAAA,EAGlB,YAAiB;AACf,WAAO,CAAC,GAAG,KAAK,IAAI;AAAA;AAAA,EAGtB,cAAmB;AACjB,UAAM,SAAS;AACf,eAAW,OAAO,KAAK,IAAI,UAAU;AACnC,aAAO,KAAK,GAAG,IAAI;AAAA;AAErB,WAAO;AAAA;AAAA,EAGT,QAAc;AACZ,SAAK,IAAI;AAAA;AAAA;AAON,+BACH,KAA8B,KAAQ,qBAAwC;AAChF,MAAI,QAAQ,IAAI,IAAI;AACpB,MAAI,CAAC,OAAO;AACV,YAAQ,oBAAoB;AAC5B,QAAI,IAAI,KAAK;AAAA;AAGf,SAAO;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const clamp: (num: number, min: number, max: number) => number;
|
|
2
|
+
export declare const mod: (m: number, n: number) => number;
|
|
3
|
+
export declare const bytesToString: (bytes: number) => string;
|
|
4
|
+
export declare const toFixedIfFloating: (value: string) => string;
|
|
5
|
+
/**
|
|
6
|
+
* Rounds a number (including float) down.
|
|
7
|
+
*/
|
|
8
|
+
export declare const floor: (value: number, precision?: number) => number;
|
|
9
|
+
/**
|
|
10
|
+
* Computes the great common divisor for two numbers.
|
|
11
|
+
* If the numbers are floats, they will be rounded to an integer.
|
|
12
|
+
*/
|
|
13
|
+
export declare const greatestCommonDivisor: (a: number, b: number) => number;
|
|
14
|
+
export declare const aspectRatio: (width: number, height: number) => string;
|
|
15
|
+
export declare const withThousandsSeparator: (num: number) => string;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
export const clamp = (num, min, max) => {
|
|
2
|
+
let clampedNumber = num;
|
|
3
|
+
if (num < min) {
|
|
4
|
+
clampedNumber = min;
|
|
5
|
+
} else if (num > max) {
|
|
6
|
+
clampedNumber = max;
|
|
7
|
+
}
|
|
8
|
+
return clampedNumber;
|
|
9
|
+
};
|
|
10
|
+
export const mod = (m, n) => {
|
|
11
|
+
return (m % n + n) % n;
|
|
12
|
+
};
|
|
13
|
+
export const bytesToString = (bytes) => {
|
|
14
|
+
if (bytes < 1e3) {
|
|
15
|
+
return `${bytes.toFixed(0)}\xA0B`;
|
|
16
|
+
}
|
|
17
|
+
const kilobytes = bytes / 1e3;
|
|
18
|
+
if (kilobytes < 100) {
|
|
19
|
+
return `${kilobytes.toFixed(1)}\xA0kB`;
|
|
20
|
+
}
|
|
21
|
+
if (kilobytes < 1e3) {
|
|
22
|
+
return `${kilobytes.toFixed(0)}\xA0kB`;
|
|
23
|
+
}
|
|
24
|
+
const megabytes = kilobytes / 1e3;
|
|
25
|
+
if (megabytes < 100) {
|
|
26
|
+
return `${megabytes.toFixed(1)}\xA0MB`;
|
|
27
|
+
}
|
|
28
|
+
return `${megabytes.toFixed(0)}\xA0MB`;
|
|
29
|
+
};
|
|
30
|
+
export const toFixedIfFloating = (value) => {
|
|
31
|
+
if (!value || Number.isNaN(Number(value))) {
|
|
32
|
+
return value;
|
|
33
|
+
}
|
|
34
|
+
const number = Number(value);
|
|
35
|
+
return number % 1 ? number.toFixed(3) : String(number);
|
|
36
|
+
};
|
|
37
|
+
export const floor = (value, precision = 0) => {
|
|
38
|
+
const mult = Math.pow(10, precision);
|
|
39
|
+
return Math.floor(value * mult) / mult;
|
|
40
|
+
};
|
|
41
|
+
export const greatestCommonDivisor = (a, b) => {
|
|
42
|
+
a = Math.round(a);
|
|
43
|
+
b = Math.round(b);
|
|
44
|
+
while (b !== 0) {
|
|
45
|
+
const t = b;
|
|
46
|
+
b = a % b;
|
|
47
|
+
a = t;
|
|
48
|
+
}
|
|
49
|
+
return a;
|
|
50
|
+
};
|
|
51
|
+
const commonRatios = /* @__PURE__ */ new Map([
|
|
52
|
+
["8\u22365", "16\u223610"]
|
|
53
|
+
]);
|
|
54
|
+
export const aspectRatio = (width, height) => {
|
|
55
|
+
const divisor = greatestCommonDivisor(width, height);
|
|
56
|
+
if (divisor !== 0) {
|
|
57
|
+
width /= divisor;
|
|
58
|
+
height /= divisor;
|
|
59
|
+
}
|
|
60
|
+
const result = `${width}\u2236${height}`;
|
|
61
|
+
return commonRatios.get(result) || result;
|
|
62
|
+
};
|
|
63
|
+
export const withThousandsSeparator = function(num) {
|
|
64
|
+
let str = String(num);
|
|
65
|
+
const re = /(\d+)(\d{3})/;
|
|
66
|
+
while (str.match(re)) {
|
|
67
|
+
str = str.replace(re, "$1\xA0$2");
|
|
68
|
+
}
|
|
69
|
+
return str;
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=number-utilities.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../front_end/core/platform/number-utilities.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) 2020 The Chromium Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style license that can be\n// found in the LICENSE file.\n\nexport const clamp = (num: number, min: number, max: number): number => {\n let clampedNumber = num;\n if (num < min) {\n clampedNumber = min;\n } else if (num > max) {\n clampedNumber = max;\n }\n return clampedNumber;\n};\n\nexport const mod = (m: number, n: number): number => {\n return ((m % n) + n) % n;\n};\n\nexport const bytesToString = (bytes: number): string => {\n if (bytes < 1000) {\n return `${bytes.toFixed(0)}\\xA0B`;\n }\n\n const kilobytes = bytes / 1000;\n if (kilobytes < 100) {\n return `${kilobytes.toFixed(1)}\\xA0kB`;\n }\n if (kilobytes < 1000) {\n return `${kilobytes.toFixed(0)}\\xA0kB`;\n }\n\n const megabytes = kilobytes / 1000;\n if (megabytes < 100) {\n return `${megabytes.toFixed(1)}\\xA0MB`;\n }\n return `${megabytes.toFixed(0)}\\xA0MB`;\n};\n\nexport const toFixedIfFloating = (value: string): string => {\n if (!value || Number.isNaN(Number(value))) {\n return value;\n }\n const number = Number(value);\n return number % 1 ? number.toFixed(3) : String(number);\n};\n\n/**\n * Rounds a number (including float) down.\n */\nexport const floor = (value: number, precision: number = 0): number => {\n const mult = Math.pow(10, precision);\n return Math.floor(value * mult) / mult;\n};\n\n/**\n * Computes the great common divisor for two numbers.\n * If the numbers are floats, they will be rounded to an integer.\n */\nexport const greatestCommonDivisor = (a: number, b: number): number => {\n a = Math.round(a);\n b = Math.round(b);\n while (b !== 0) {\n const t = b;\n b = a % b;\n a = t;\n }\n return a;\n};\n\nconst commonRatios = new Map([\n ['8\u22365', '16\u223610'],\n]);\n\nexport const aspectRatio = (width: number, height: number): string => {\n const divisor = greatestCommonDivisor(width, height);\n if (divisor !== 0) {\n width /= divisor;\n height /= divisor;\n }\n const result = `${width}\u2236${height}`;\n return commonRatios.get(result) || result;\n};\n\nexport const withThousandsSeparator = function(num: number): string {\n let str = String(num);\n const re = /(\\d+)(\\d{3})/;\n while (str.match(re)) {\n str = str.replace(re, '$1\\xA0$2');\n } // \\xa0 is a non-breaking space\n return str;\n};\n"],
|
|
5
|
+
"mappings": "AAIO,aAAM,QAAQ,CAAC,KAAa,KAAa,QAAwB;AACtE,MAAI,gBAAgB;AACpB,MAAI,MAAM,KAAK;AACb,oBAAgB;AAAA,aACP,MAAM,KAAK;AACpB,oBAAgB;AAAA;AAElB,SAAO;AAAA;AAGF,aAAM,MAAM,CAAC,GAAW,MAAsB;AACnD,SAAS,KAAI,IAAK,KAAK;AAAA;AAGlB,aAAM,gBAAgB,CAAC,UAA0B;AACtD,MAAI,QAAQ,KAAM;AAChB,WAAO,GAAG,MAAM,QAAQ;AAAA;AAG1B,QAAM,YAAY,QAAQ;AAC1B,MAAI,YAAY,KAAK;AACnB,WAAO,GAAG,UAAU,QAAQ;AAAA;AAE9B,MAAI,YAAY,KAAM;AACpB,WAAO,GAAG,UAAU,QAAQ;AAAA;AAG9B,QAAM,YAAY,YAAY;AAC9B,MAAI,YAAY,KAAK;AACnB,WAAO,GAAG,UAAU,QAAQ;AAAA;AAE9B,SAAO,GAAG,UAAU,QAAQ;AAAA;AAGvB,aAAM,oBAAoB,CAAC,UAA0B;AAC1D,MAAI,CAAC,SAAS,OAAO,MAAM,OAAO,SAAS;AACzC,WAAO;AAAA;AAET,QAAM,SAAS,OAAO;AACtB,SAAO,SAAS,IAAI,OAAO,QAAQ,KAAK,OAAO;AAAA;AAM1C,aAAM,QAAQ,CAAC,OAAe,YAAoB,MAAc;AACrE,QAAM,OAAO,KAAK,IAAI,IAAI;AAC1B,SAAO,KAAK,MAAM,QAAQ,QAAQ;AAAA;AAO7B,aAAM,wBAAwB,CAAC,GAAW,MAAsB;AACrE,MAAI,KAAK,MAAM;AACf,MAAI,KAAK,MAAM;AACf,SAAO,MAAM,GAAG;AACd,UAAM,IAAI;AACV,QAAI,IAAI;AACR,QAAI;AAAA;AAEN,SAAO;AAAA;AAGT,MAAM,eAAe,oBAAI,IAAI;AAAA,EAC3B,CAAC,YAAO;AAAA;AAGH,aAAM,cAAc,CAAC,OAAe,WAA2B;AACpE,QAAM,UAAU,sBAAsB,OAAO;AAC7C,MAAI,YAAY,GAAG;AACjB,aAAS;AACT,cAAU;AAAA;AAEZ,QAAM,SAAS,GAAG,cAAS;AAC3B,SAAO,aAAa,IAAI,WAAW;AAAA;AAG9B,aAAM,yBAAyB,SAAS,KAAqB;AAClE,MAAI,MAAM,OAAO;AACjB,QAAM,KAAK;AACX,SAAO,IAAI,MAAM,KAAK;AACpB,UAAM,IAAI,QAAQ,IAAI;AAAA;AAExB,SAAO;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"allowJs": true,
|
|
4
|
+
"checkJs": true,
|
|
5
|
+
"composite": true,
|
|
6
|
+
"declaration": true,
|
|
7
|
+
"experimentalDecorators": true,
|
|
8
|
+
"forceConsistentCasingInFileNames": true,
|
|
9
|
+
"inlineSources": true,
|
|
10
|
+
"lib": [
|
|
11
|
+
"esnext",
|
|
12
|
+
"dom",
|
|
13
|
+
"dom.iterable"
|
|
14
|
+
],
|
|
15
|
+
"module": "esnext",
|
|
16
|
+
"noEmitOnError": true,
|
|
17
|
+
"noFallthroughCasesInSwitch": true,
|
|
18
|
+
"noImplicitOverride": true,
|
|
19
|
+
"noImplicitReturns": true,
|
|
20
|
+
"noUnusedLocals": false,
|
|
21
|
+
"outDir": ".",
|
|
22
|
+
"rootDir": "../../../../../../front_end/core/platform",
|
|
23
|
+
"skipLibCheck": true,
|
|
24
|
+
"sourceMap": true,
|
|
25
|
+
"strict": true,
|
|
26
|
+
"target": "esnext",
|
|
27
|
+
"tsBuildInfoFile": "platform-tsconfig.json.tsbuildinfo",
|
|
28
|
+
"typeRoots": [],
|
|
29
|
+
"useUnknownInCatchVariables": false
|
|
30
|
+
},
|
|
31
|
+
"files": [
|
|
32
|
+
"../../../../../../front_end/core/platform/DevToolsPath.ts",
|
|
33
|
+
"../../../../../../front_end/core/platform/MimeType.ts",
|
|
34
|
+
"../../../../../../front_end/core/platform/Timing.ts",
|
|
35
|
+
"../../../../../../front_end/core/platform/UIString.ts",
|
|
36
|
+
"../../../../../../front_end/core/platform/UserVisibleError.ts",
|
|
37
|
+
"../../../../../../front_end/core/platform/array-utilities.ts",
|
|
38
|
+
"../../../../../../front_end/core/platform/brand.ts",
|
|
39
|
+
"../../../../../../front_end/core/platform/date-utilities.ts",
|
|
40
|
+
"../../../../../../front_end/core/platform/dom-utilities.ts",
|
|
41
|
+
"../../../../../../front_end/core/platform/keyboard-utilities.ts",
|
|
42
|
+
"../../../../../../front_end/core/platform/map-utilities.ts",
|
|
43
|
+
"../../../../../../front_end/core/platform/number-utilities.ts",
|
|
44
|
+
"../../../../../../front_end/core/platform/promise-utilities.ts",
|
|
45
|
+
"../../../../../../front_end/core/platform/set-utilities.ts",
|
|
46
|
+
"../../../../../../front_end/core/platform/string-utilities.ts",
|
|
47
|
+
"../../../../../../front_end/core/platform/typescript-utilities.ts",
|
|
48
|
+
"../../../../../../front_end/legacy/legacy-defs.d.ts",
|
|
49
|
+
"../../../../../../front_end/global_typings/global_defs.d.ts",
|
|
50
|
+
"../../../../../../front_end/global_typings/request_idle_callback.d.ts",
|
|
51
|
+
"../../../../../../node_modules/@types/filesystem/index.d.ts",
|
|
52
|
+
"../../../../../../node_modules/@webgpu/types/dist/index.d.ts"
|
|
53
|
+
],
|
|
54
|
+
"references": [
|
|
55
|
+
{
|
|
56
|
+
"path": "./dcheck-tsconfig.json"
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as ArrayUtilities from './array-utilities.js';
|
|
2
|
+
import * as DateUtilities from './date-utilities.js';
|
|
3
|
+
import * as DevToolsPath from './DevToolsPath.js';
|
|
4
|
+
import * as DOMUtilities from './dom-utilities.js';
|
|
5
|
+
import * as KeyboardUtilities from './keyboard-utilities.js';
|
|
6
|
+
import * as MapUtilities from './map-utilities.js';
|
|
7
|
+
import * as NumberUtilities from './number-utilities.js';
|
|
8
|
+
import * as SetUtilities from './set-utilities.js';
|
|
9
|
+
import * as StringUtilities from './string-utilities.js';
|
|
10
|
+
import * as TypeScriptUtilities from './typescript-utilities.js';
|
|
11
|
+
import * as UIString from './UIString.js';
|
|
12
|
+
import * as UserVisibleError from './UserVisibleError.js';
|
|
13
|
+
export { DCHECK } from './dcheck.js';
|
|
14
|
+
export { assertNever, assertNotNullOrUndefined, assertUnhandled } from './typescript-utilities.js';
|
|
15
|
+
export { ArrayUtilities, DateUtilities, DevToolsPath, DOMUtilities, KeyboardUtilities, MapUtilities, NumberUtilities, SetUtilities, StringUtilities, TypeScriptUtilities, UIString, UserVisibleError, };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as ArrayUtilities from "./array-utilities.js";
|
|
2
|
+
import * as Brand from "./brand.js";
|
|
3
|
+
import * as DateUtilities from "./date-utilities.js";
|
|
4
|
+
import * as DevToolsPath from "./DevToolsPath.js";
|
|
5
|
+
import * as DOMUtilities from "./dom-utilities.js";
|
|
6
|
+
import * as KeyboardUtilities from "./keyboard-utilities.js";
|
|
7
|
+
import * as MapUtilities from "./map-utilities.js";
|
|
8
|
+
import * as MimeType from "./MimeType.js";
|
|
9
|
+
import * as NumberUtilities from "./number-utilities.js";
|
|
10
|
+
import * as PromiseUtilities from "./promise-utilities.js";
|
|
11
|
+
import * as SetUtilities from "./set-utilities.js";
|
|
12
|
+
import * as StringUtilities from "./string-utilities.js";
|
|
13
|
+
import * as Timing from "./Timing.js";
|
|
14
|
+
import * as TypeScriptUtilities from "./typescript-utilities.js";
|
|
15
|
+
import * as UIString from "./UIString.js";
|
|
16
|
+
import * as UserVisibleError from "./UserVisibleError.js";
|
|
17
|
+
export { DCHECK } from "./dcheck.js";
|
|
18
|
+
export { assertNever, assertNotNullOrUndefined, assertUnhandled } from "./typescript-utilities.js";
|
|
19
|
+
export {
|
|
20
|
+
ArrayUtilities,
|
|
21
|
+
Brand,
|
|
22
|
+
DateUtilities,
|
|
23
|
+
DevToolsPath,
|
|
24
|
+
DOMUtilities,
|
|
25
|
+
KeyboardUtilities,
|
|
26
|
+
MapUtilities,
|
|
27
|
+
MimeType,
|
|
28
|
+
NumberUtilities,
|
|
29
|
+
PromiseUtilities,
|
|
30
|
+
SetUtilities,
|
|
31
|
+
StringUtilities,
|
|
32
|
+
Timing,
|
|
33
|
+
TypeScriptUtilities,
|
|
34
|
+
UIString,
|
|
35
|
+
UserVisibleError
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=platform.js.map
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
da7fcbc6595ae828a8f968354a0793bbe528d175
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../front_end/core/platform/platform.ts"],
|
|
4
|
+
"sourcesContent": ["/*\n * Copyright (C) 2019 Google Inc. All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following disclaimer\n * in the documentation and/or other materials provided with the\n * distribution.\n * * Neither the name of Google Inc. nor the names of its\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\nimport * as ArrayUtilities from './array-utilities.js';\nimport * as Brand from './brand.js';\nimport * as DateUtilities from './date-utilities.js';\nimport * as DevToolsPath from './DevToolsPath.js';\nimport * as DOMUtilities from './dom-utilities.js';\nimport * as KeyboardUtilities from './keyboard-utilities.js';\nimport * as MapUtilities from './map-utilities.js';\nimport * as MimeType from './MimeType.js';\nimport * as NumberUtilities from './number-utilities.js';\nimport * as PromiseUtilities from './promise-utilities.js';\nimport * as SetUtilities from './set-utilities.js';\nimport * as StringUtilities from './string-utilities.js';\nimport * as Timing from './Timing.js';\nimport * as TypeScriptUtilities from './typescript-utilities.js';\nimport * as UIString from './UIString.js';\nimport * as UserVisibleError from './UserVisibleError.js';\n\nexport {DCHECK} from './dcheck.js';\n/* `assertNotNull` also need to be exposed, as TypeScript does not\n * allow `asserts` functions to be used with qualified access\n * (e.g. `Platform.TypeScriptUtilities.assertNotNull` causes a\n * compiler error)\n */\nexport {assertNever, assertNotNullOrUndefined, assertUnhandled} from './typescript-utilities.js';\nexport {\n ArrayUtilities,\n Brand,\n DateUtilities,\n DevToolsPath,\n DOMUtilities,\n KeyboardUtilities,\n MapUtilities,\n MimeType,\n NumberUtilities,\n PromiseUtilities,\n SetUtilities,\n StringUtilities,\n Timing,\n TypeScriptUtilities,\n UIString,\n UserVisibleError,\n};\n"],
|
|
5
|
+
"mappings": "AA8BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAMA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as ArrayUtilities from './array-utilities.js';
|
|
2
|
+
import * as DateUtilities from './date-utilities.js';
|
|
3
|
+
import * as DevToolsPath from './DevToolsPath.js';
|
|
4
|
+
import * as DOMUtilities from './dom-utilities.js';
|
|
5
|
+
import * as KeyboardUtilities from './keyboard-utilities.js';
|
|
6
|
+
import * as MapUtilities from './map-utilities.js';
|
|
7
|
+
import * as NumberUtilities from './number-utilities.js';
|
|
8
|
+
import * as SetUtilities from './set-utilities.js';
|
|
9
|
+
import * as StringUtilities from './string-utilities.js';
|
|
10
|
+
import * as TypeScriptUtilities from './typescript-utilities.js';
|
|
11
|
+
import * as UIString from './UIString.js';
|
|
12
|
+
import * as UserVisibleError from './UserVisibleError.js';
|
|
13
|
+
export { DCHECK } from './dcheck.js';
|
|
14
|
+
export { assertNever, assertNotNullOrUndefined, assertUnhandled } from './typescript-utilities.js';
|
|
15
|
+
export { ArrayUtilities, DateUtilities, DevToolsPath, DOMUtilities, KeyboardUtilities, MapUtilities, NumberUtilities, SetUtilities, StringUtilities, TypeScriptUtilities, UIString, UserVisibleError, };
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (C) 2019 Google Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Redistribution and use in source and binary forms, with or without
|
|
5
|
+
* modification, are permitted provided that the following conditions are
|
|
6
|
+
* met:
|
|
7
|
+
*
|
|
8
|
+
* * Redistributions of source code must retain the above copyright
|
|
9
|
+
* notice, this list of conditions and the following disclaimer.
|
|
10
|
+
* * Redistributions in binary form must reproduce the above
|
|
11
|
+
* copyright notice, this list of conditions and the following disclaimer
|
|
12
|
+
* in the documentation and/or other materials provided with the
|
|
13
|
+
* distribution.
|
|
14
|
+
* * Neither the name of Google Inc. nor the names of its
|
|
15
|
+
* contributors may be used to endorse or promote products derived from
|
|
16
|
+
* this software without specific prior written permission.
|
|
17
|
+
*
|
|
18
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
19
|
+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
20
|
+
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
21
|
+
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
22
|
+
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
23
|
+
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
24
|
+
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
25
|
+
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
26
|
+
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
27
|
+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
28
|
+
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
29
|
+
*/
|
|
30
|
+
import * as ArrayUtilities from './array-utilities.js';
|
|
31
|
+
import * as DateUtilities from './date-utilities.js';
|
|
32
|
+
import * as DevToolsPath from './DevToolsPath.js';
|
|
33
|
+
import * as DOMUtilities from './dom-utilities.js';
|
|
34
|
+
import * as KeyboardUtilities from './keyboard-utilities.js';
|
|
35
|
+
import * as MapUtilities from './map-utilities.js';
|
|
36
|
+
import * as NumberUtilities from './number-utilities.js';
|
|
37
|
+
import * as SetUtilities from './set-utilities.js';
|
|
38
|
+
import * as StringUtilities from './string-utilities.js';
|
|
39
|
+
import * as TypeScriptUtilities from './typescript-utilities.js';
|
|
40
|
+
import * as UIString from './UIString.js';
|
|
41
|
+
import * as UserVisibleError from './UserVisibleError.js';
|
|
42
|
+
export { DCHECK } from './dcheck.js';
|
|
43
|
+
/* `assertNotNull` also need to be exposed, as TypeScript does not
|
|
44
|
+
* allow `asserts` functions to be used with qualified access
|
|
45
|
+
* (e.g. `Platform.TypeScriptUtilities.assertNotNull` causes a
|
|
46
|
+
* compiler error)
|
|
47
|
+
*/
|
|
48
|
+
export { assertNever, assertNotNullOrUndefined, assertUnhandled } from './typescript-utilities.js';
|
|
49
|
+
export { ArrayUtilities, DateUtilities, DevToolsPath, DOMUtilities, KeyboardUtilities, MapUtilities, NumberUtilities, SetUtilities, StringUtilities, TypeScriptUtilities, UIString, UserVisibleError, };
|
|
50
|
+
//# sourceMappingURL=platform.prebundle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.prebundle.js","sourceRoot":"","sources":["platform.prebundle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,iBAAiB,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,eAAe,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,mBAAmB,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC;;;;GAIG;AACH,OAAO,EAAC,WAAW,EAAE,wBAAwB,EAAE,eAAe,EAAC,MAAM,2BAA2B,CAAC;AACjG,OAAO,EACL,cAAc,EACd,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,QAAQ,EACR,gBAAgB,GACjB,CAAC","sourcesContent":["/*\n * Copyright (C) 2019 Google Inc. All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following disclaimer\n * in the documentation and/or other materials provided with the\n * distribution.\n * * Neither the name of Google Inc. nor the names of its\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\nimport * as ArrayUtilities from './array-utilities.js';\nimport * as DateUtilities from './date-utilities.js';\nimport * as DevToolsPath from './DevToolsPath.js';\nimport * as DOMUtilities from './dom-utilities.js';\nimport * as KeyboardUtilities from './keyboard-utilities.js';\nimport * as MapUtilities from './map-utilities.js';\nimport * as NumberUtilities from './number-utilities.js';\nimport * as SetUtilities from './set-utilities.js';\nimport * as StringUtilities from './string-utilities.js';\nimport * as TypeScriptUtilities from './typescript-utilities.js';\nimport * as UIString from './UIString.js';\nimport * as UserVisibleError from './UserVisibleError.js';\n\nexport {DCHECK} from './dcheck.js';\n/* `assertNotNull` also need to be exposed, as TypeScript does not\n * allow `asserts` functions to be used with qualified access\n * (e.g. `Platform.TypeScriptUtilities.assertNotNull` causes a\n * compiler error)\n */\nexport {assertNever, assertNotNullOrUndefined, assertUnhandled} from './typescript-utilities.js';\nexport {\n ArrayUtilities,\n DateUtilities,\n DevToolsPath,\n DOMUtilities,\n KeyboardUtilities,\n MapUtilities,\n NumberUtilities,\n SetUtilities,\n StringUtilities,\n TypeScriptUtilities,\n UIString,\n UserVisibleError,\n};\n"]}
|