@oliversalzburg/js-utils 0.0.27-dev.1 → 0.0.27-dev.11
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/device/index.d.ts +1 -0
- package/device/index.js +2 -0
- package/device/index.js.map +1 -0
- package/device/shake.d.ts +92 -0
- package/device/shake.js +136 -0
- package/device/shake.js.map +1 -0
- package/dom/core.js +1 -1
- package/dom/core.js.map +1 -1
- package/error/AbstractError.js.map +1 -0
- package/error/InternalError.js.map +1 -0
- package/error/InvalidArgumentError.js.map +1 -0
- package/error/InvalidOperationError.js.map +1 -0
- package/error/NotImplementedError.js.map +1 -0
- package/error/PermissionViolationError.js.map +1 -0
- package/error/ResourceConflictError.js.map +1 -0
- package/error/UnknownError.js.map +1 -0
- package/error/index.js.map +1 -0
- package/error-serializer.d.ts +2 -1
- package/error-serializer.js +3 -3
- package/error-serializer.js.map +1 -1
- package/error-serializer.test.js +2 -2
- package/error-serializer.test.js.map +1 -1
- package/event.d.ts +11 -0
- package/event.js +11 -0
- package/event.js.map +1 -0
- package/graphics/canvas-sandbox.d.ts +9 -0
- package/graphics/canvas-sandbox.js +44 -9
- package/graphics/canvas-sandbox.js.map +1 -1
- package/graphics/canvas2d.js +1 -1
- package/graphics/canvas2d.js.map +1 -1
- package/graphics/canvas3d.js +1 -1
- package/graphics/canvas3d.js.map +1 -1
- package/graphics/shader.js +1 -1
- package/graphics/shader.js.map +1 -1
- package/index.d.ts +3 -1
- package/index.js +3 -1
- package/index.js.map +1 -1
- package/log/report.js +1 -1
- package/log/report.js.map +1 -1
- package/math/easing.d.ts +306 -0
- package/math/easing.js +434 -0
- package/math/easing.js.map +1 -0
- package/math/index.d.ts +1 -0
- package/math/index.js +1 -0
- package/math/index.js.map +1 -1
- package/package.json +3 -3
- package/errors/AbstractError.js.map +0 -1
- package/errors/InternalError.js.map +0 -1
- package/errors/InvalidArgumentError.js.map +0 -1
- package/errors/InvalidOperationError.js.map +0 -1
- package/errors/NotImplementedError.js.map +0 -1
- package/errors/PermissionViolationError.js.map +0 -1
- package/errors/ResourceConflictError.js.map +0 -1
- package/errors/UnknownError.js.map +0 -1
- package/errors/index.js.map +0 -1
- /package/{errors → error}/AbstractError.d.ts +0 -0
- /package/{errors → error}/AbstractError.js +0 -0
- /package/{errors → error}/InternalError.d.ts +0 -0
- /package/{errors → error}/InternalError.js +0 -0
- /package/{errors → error}/InvalidArgumentError.d.ts +0 -0
- /package/{errors → error}/InvalidArgumentError.js +0 -0
- /package/{errors → error}/InvalidOperationError.d.ts +0 -0
- /package/{errors → error}/InvalidOperationError.js +0 -0
- /package/{errors → error}/NotImplementedError.d.ts +0 -0
- /package/{errors → error}/NotImplementedError.js +0 -0
- /package/{errors → error}/PermissionViolationError.d.ts +0 -0
- /package/{errors → error}/PermissionViolationError.js +0 -0
- /package/{errors → error}/ResourceConflictError.d.ts +0 -0
- /package/{errors → error}/ResourceConflictError.js +0 -0
- /package/{errors → error}/UnknownError.d.ts +0 -0
- /package/{errors → error}/UnknownError.js +0 -0
- /package/{errors → error}/index.d.ts +0 -0
- /package/{errors → error}/index.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./shake.js";
|
package/device/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/device/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/// <reference types="@types/web" />
|
|
2
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
3
|
+
/**
|
|
4
|
+
* The type of the details of a shake event.
|
|
5
|
+
* @group Types
|
|
6
|
+
* @group Devices
|
|
7
|
+
* @group Events
|
|
8
|
+
*/
|
|
9
|
+
export type ShakeEventData = DeviceMotionEvent;
|
|
10
|
+
/**
|
|
11
|
+
* The type of the `"shake"` event.
|
|
12
|
+
* @group Types
|
|
13
|
+
* @group Devices
|
|
14
|
+
* @group Events
|
|
15
|
+
*/
|
|
16
|
+
export type ShakeEvent = CustomEvent<ShakeEventData> & {
|
|
17
|
+
type: "shake";
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* The type of a handler for the `"shake"` event.
|
|
21
|
+
* @group Types
|
|
22
|
+
* @group Devices
|
|
23
|
+
* @group Events
|
|
24
|
+
*/
|
|
25
|
+
export type ShakeEventListener = (event: ShakeEvent) => void;
|
|
26
|
+
/**
|
|
27
|
+
* The options for constructing a {@linkcode Shake} handler.
|
|
28
|
+
* @group Devices
|
|
29
|
+
*/
|
|
30
|
+
export interface ShakeOptions {
|
|
31
|
+
/**
|
|
32
|
+
* Minimum acceleration needed to dispatch an event:
|
|
33
|
+
* meters per second squared (m/s²).
|
|
34
|
+
*
|
|
35
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/DeviceMotionEvent/acceleration
|
|
36
|
+
*/
|
|
37
|
+
threshold: number;
|
|
38
|
+
/**
|
|
39
|
+
* After a shake event is dispatched, subsequent events will not be dispatched
|
|
40
|
+
* until after a duration greater than or equal to this value (milliseconds).
|
|
41
|
+
*/
|
|
42
|
+
timeout: number;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* A device motion handler that dispatches a `"shake"` event as appropriate.
|
|
46
|
+
*
|
|
47
|
+
* Original author: Jesse Jackson - https://github.com/jsejcksn
|
|
48
|
+
* This part of the code is licensed under CC BY-SA 4.0
|
|
49
|
+
* @group Devices
|
|
50
|
+
*/
|
|
51
|
+
export declare class Shake extends EventTarget {
|
|
52
|
+
#private;
|
|
53
|
+
/**
|
|
54
|
+
* Construct a new device shake handler.
|
|
55
|
+
* @param options - The options for the handler.
|
|
56
|
+
*/
|
|
57
|
+
constructor(options?: Partial<ShakeOptions>);
|
|
58
|
+
/**
|
|
59
|
+
* Add a new shake event listener.
|
|
60
|
+
* @param type - The type of the event to handle.
|
|
61
|
+
* @param listener - The event handler to call.
|
|
62
|
+
* @param options - The options for this handler.
|
|
63
|
+
*/
|
|
64
|
+
addEventListener(type: "shake", listener: ShakeEventListener | null, options?: boolean | AddEventListenerOptions): void;
|
|
65
|
+
/**
|
|
66
|
+
* Dispatch a shake event.
|
|
67
|
+
* @param event - The event to dispatch.
|
|
68
|
+
* @returns true if the event was cancelled, false otherwise.
|
|
69
|
+
*/
|
|
70
|
+
dispatchEvent(event: ShakeEvent): boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Removes a previously added event listener.
|
|
73
|
+
* @param type - The type of the event to remove.
|
|
74
|
+
* @param callback - The event handler to remove.
|
|
75
|
+
* @param options - The options the event handler was added with.
|
|
76
|
+
*/
|
|
77
|
+
removeEventListener(type: "shake", callback: ShakeEventListener | null, options?: EventListenerOptions | boolean): void;
|
|
78
|
+
/**
|
|
79
|
+
* Requests approval to handle device motion events.
|
|
80
|
+
* @returns true if we got approval, false otherwise.
|
|
81
|
+
*/
|
|
82
|
+
approve(): Promise<boolean>;
|
|
83
|
+
/**
|
|
84
|
+
* Start handling device shake.
|
|
85
|
+
* @returns true if we were able to register our handler, false otherwise.
|
|
86
|
+
*/
|
|
87
|
+
start(): Promise<boolean>;
|
|
88
|
+
/**
|
|
89
|
+
* Stop handling device shake.
|
|
90
|
+
*/
|
|
91
|
+
stop(): void;
|
|
92
|
+
}
|
package/device/shake.js
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { createEvent } from "../event.js";
|
|
2
|
+
const getMaxAcceleration = (event) => {
|
|
3
|
+
let max = 0;
|
|
4
|
+
if (event.acceleration) {
|
|
5
|
+
for (const key of ["x", "y", "z"]) {
|
|
6
|
+
const value = Math.abs(event.acceleration[key] ?? 0);
|
|
7
|
+
if (value > max)
|
|
8
|
+
max = value;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
return max;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* A device motion handler that dispatches a `"shake"` event as appropriate.
|
|
15
|
+
*
|
|
16
|
+
* Original author: Jesse Jackson - https://github.com/jsejcksn
|
|
17
|
+
* This part of the code is licensed under CC BY-SA 4.0
|
|
18
|
+
* @group Devices
|
|
19
|
+
*/
|
|
20
|
+
export class Shake extends EventTarget {
|
|
21
|
+
/**
|
|
22
|
+
* Have we been granted permissions to use device motion events?
|
|
23
|
+
*/
|
|
24
|
+
#approved;
|
|
25
|
+
/**
|
|
26
|
+
* How strong does the motion have to be to trigger the event?
|
|
27
|
+
*/
|
|
28
|
+
#threshold;
|
|
29
|
+
/**
|
|
30
|
+
* After the event has been triggered, don't trigger another event for
|
|
31
|
+
* how many milliseconds?
|
|
32
|
+
*/
|
|
33
|
+
#timeout;
|
|
34
|
+
/**
|
|
35
|
+
* The last time we triggered an event.
|
|
36
|
+
*/
|
|
37
|
+
#timeStamp;
|
|
38
|
+
/**
|
|
39
|
+
* Construct a new device shake handler.
|
|
40
|
+
* @param options - The options for the handler.
|
|
41
|
+
*/
|
|
42
|
+
constructor(options) {
|
|
43
|
+
super();
|
|
44
|
+
const { threshold = 15, timeout = 1000 } = options ?? {};
|
|
45
|
+
this.#threshold = threshold;
|
|
46
|
+
this.#timeout = timeout;
|
|
47
|
+
this.#timeStamp = timeout * -1;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Add a new shake event listener.
|
|
51
|
+
* @param type - The type of the event to handle.
|
|
52
|
+
* @param listener - The event handler to call.
|
|
53
|
+
* @param options - The options for this handler.
|
|
54
|
+
*/
|
|
55
|
+
// @ts-expect-error Extending EventTarget is hard
|
|
56
|
+
addEventListener(type, listener, options) {
|
|
57
|
+
super.addEventListener(type, listener, options);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Dispatch a shake event.
|
|
61
|
+
* @param event - The event to dispatch.
|
|
62
|
+
* @returns true if the event was cancelled, false otherwise.
|
|
63
|
+
*/
|
|
64
|
+
dispatchEvent(event) {
|
|
65
|
+
return super.dispatchEvent(event);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Removes a previously added event listener.
|
|
69
|
+
* @param type - The type of the event to remove.
|
|
70
|
+
* @param callback - The event handler to remove.
|
|
71
|
+
* @param options - The options the event handler was added with.
|
|
72
|
+
*/
|
|
73
|
+
// @ts-expect-error Extending EventTarget is hard
|
|
74
|
+
removeEventListener(type, callback, options) {
|
|
75
|
+
super.removeEventListener(type, callback, options);
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Requests approval to handle device motion events.
|
|
79
|
+
* @returns true if we got approval, false otherwise.
|
|
80
|
+
*/
|
|
81
|
+
async approve() {
|
|
82
|
+
if (typeof this.#approved === "undefined") {
|
|
83
|
+
if (!("DeviceMotionEvent" in window)) {
|
|
84
|
+
this.#approved = false;
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
try {
|
|
88
|
+
if (typeof DeviceMotionEvent.requestPermission === "function") {
|
|
89
|
+
const permissionState = await DeviceMotionEvent.requestPermission();
|
|
90
|
+
this.#approved = permissionState === "granted";
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
this.#approved = true;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
this.#approved = false;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return this.#approved;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Handles a device motion event.
|
|
104
|
+
* @param event - The device motion event.
|
|
105
|
+
*/
|
|
106
|
+
#handleDeviceMotion = (event) => {
|
|
107
|
+
const diff = event.timeStamp - this.#timeStamp;
|
|
108
|
+
if (diff < this.#timeout) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
const accel = getMaxAcceleration(event);
|
|
112
|
+
if (accel < this.#threshold) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
this.#timeStamp = event.timeStamp;
|
|
116
|
+
this.dispatchEvent(createEvent("shake", event));
|
|
117
|
+
};
|
|
118
|
+
/**
|
|
119
|
+
* Start handling device shake.
|
|
120
|
+
* @returns true if we were able to register our handler, false otherwise.
|
|
121
|
+
*/
|
|
122
|
+
async start() {
|
|
123
|
+
const approved = await this.approve();
|
|
124
|
+
if (!approved)
|
|
125
|
+
return false;
|
|
126
|
+
window.addEventListener("devicemotion", this.#handleDeviceMotion);
|
|
127
|
+
return true;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Stop handling device shake.
|
|
131
|
+
*/
|
|
132
|
+
stop() {
|
|
133
|
+
window.removeEventListener("devicemotion", this.#handleDeviceMotion);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=shake.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shake.js","sourceRoot":"","sources":["../../source/device/shake.ts"],"names":[],"mappings":"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"}
|
package/dom/core.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { InvalidOperationError } from "../
|
|
1
|
+
import { InvalidOperationError } from "../error/InvalidOperationError.js";
|
|
2
2
|
import { UnexpectedNilError } from "../nil.js";
|
|
3
3
|
/**
|
|
4
4
|
* Retrieves an element from the document and returns it if it is
|
package/dom/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../source/dom/core.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../source/dom/core.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,QAAkB,EAClB,EAAU,EACV,IAAsB,EACnB,EAAE;IACL,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAE5C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,kBAAkB,CAAC,yBAAyB,EAAE,mBAAmB,CAAC,CAAC;IAC/E,CAAC;IAED,IAAI,CAAC,CAAC,OAAO,YAAY,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,qBAAqB,CAAC,yBAAyB,EAAE,2BAA2B,CAAC,CAAC;IAC1F,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,QAAkB,EAClB,EAAU,EACV,IAAsB,EACZ,EAAE;IACZ,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAE5C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,CAAC,OAAO,YAAY,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractError.js","sourceRoot":"","sources":["../../source/error/AbstractError.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC;;OAEG;IACH,MAAM,CAAS;IAEf;;OAEG;IACH,IAAI,CAAS;IAEb;;;;;OAKG;IACH,YAAY,IAAY,EAAE,OAAe,EAAE,MAAc;QACvD,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,OAAO,KAAK,CAAC,iBAAiB,KAAK,WAAW,EAAE,CAAC;YACnD,qGAAqG;YACrG,yCAAyC;YACzC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,eAAe,CAAC,KAAc,EAAE,kBAAkB,GAAG,IAAI;QAC9D,IAAI,KAAK,YAAY,aAAa,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,gEAAgE;QAChE,sEAAsE;QACtE,cAAc;QACd,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,WAAW,GAAG,KAAgC,CAAC;YACrD,IACE,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK;gBACvB,MAAM,IAAI,WAAW;gBACrB,OAAO,WAAW,CAAC,IAAI,KAAK,QAAQ,EACpC,CAAC;gBACD,MAAM,UAAU,GAAG,KAAyB,CAAC;gBAC7C,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;oBACtC,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InternalError.js","sourceRoot":"","sources":["../../source/error/InternalError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,OAAO,aAAc,SAAQ,aAAa;IAC9C;;;;OAIG;IACH,YAAY,OAAe,EAAE,MAAM,GAAG,GAAG;QACvC,KAAK,CAAC,iBAAiB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAE1C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAE5B,IAAI,OAAO,KAAK,CAAC,iBAAiB,KAAK,WAAW,EAAE,CAAC;YACnD,qEAAqE;YACrE,yEAAyE;YACzE,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,KAAY;QAC3B,wEAAwE;QACxE,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACvD,kEAAkE;QAClE,mEAAmE;QACnE,0BAA0B;QAC1B,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACtE,0CAA0C;QAC1C,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAElC,OAAO,aAAa,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InvalidArgumentError.js","sourceRoot":"","sources":["../../source/error/InvalidArgumentError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,OAAO,oBAAqB,SAAQ,aAAa;IACrD;;;;OAIG;IACH,YAAY,OAAe,EAAE,MAAM,GAAG,GAAG;QACvC,KAAK,CAAC,yBAAyB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAElD,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QAEnC,IAAI,OAAO,KAAK,CAAC,iBAAiB,KAAK,WAAW,EAAE,CAAC;YACnD,qEAAqE;YACrE,yEAAyE;YACzE,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InvalidOperationError.js","sourceRoot":"","sources":["../../source/error/InvalidOperationError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,OAAO,qBAAsB,SAAQ,aAAa;IACtD;;;;OAIG;IACH,YAAY,OAAe,EAAE,MAAM,GAAG,GAAG;QACvC,KAAK,CAAC,0BAA0B,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QAEpC,IAAI,OAAO,KAAK,CAAC,iBAAiB,KAAK,WAAW,EAAE,CAAC;YACnD,qEAAqE;YACrE,yEAAyE;YACzE,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NotImplementedError.js","sourceRoot":"","sources":["../../source/error/NotImplementedError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;GAGG;AACH,MAAM,OAAO,mBAAoB,SAAQ,aAAa;IACpD;;;;OAIG;IACH,YAAY,OAAO,GAAG,kBAAkB,EAAE,MAAM,GAAG,GAAG;QACpD,KAAK,CAAC,wBAAwB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAEjD,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;QAElC,IAAI,OAAO,KAAK,CAAC,iBAAiB,KAAK,WAAW,EAAE,CAAC;YACnD,qEAAqE;YACrE,yEAAyE;YACzE,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PermissionViolationError.js","sourceRoot":"","sources":["../../source/error/PermissionViolationError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;GAIG;AACH,MAAM,OAAO,wBAAyB,SAAQ,aAAa;IACzD;;;;OAIG;IACH,YAAY,OAAe,EAAE,MAAM,GAAG,GAAG;QACvC,KAAK,CAAC,6BAA6B,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAEtD,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;QAEvC,IAAI,OAAO,KAAK,CAAC,iBAAiB,KAAK,WAAW,EAAE,CAAC;YACnD,qEAAqE;YACrE,yEAAyE;YACzE,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,wBAAwB,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResourceConflictError.js","sourceRoot":"","sources":["../../source/error/ResourceConflictError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;GAGG;AACH,MAAM,OAAO,qBAAsB,SAAQ,aAAa;IACtD;;;;OAIG;IACH,YAAY,OAAe,EAAE,MAAM,GAAG,GAAG;QACvC,KAAK,CAAC,0BAA0B,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAEnD,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;QAEpC,IAAI,OAAO,KAAK,CAAC,iBAAiB,KAAK,WAAW,EAAE,CAAC;YACnD,qEAAqE;YACrE,yEAAyE;YACzE,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnknownError.js","sourceRoot":"","sources":["../../source/error/UnknownError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,OAAO,YAAa,SAAQ,aAAa;IAC7C;;;;OAIG;IACH,YAAY,OAAe,EAAE,MAAM,GAAG,GAAG;QACvC,KAAK,CAAC,gBAAgB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAEzC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAE3B,IAAI,OAAO,KAAK,CAAC,iBAAiB,KAAK,WAAW,EAAE,CAAC;YACnD,qEAAqE;YACrE,yEAAyE;YACzE,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/error/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC"}
|
package/error-serializer.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { AbstractError } from "./
|
|
1
|
+
import { AbstractError } from "./error/AbstractError.js";
|
|
2
2
|
/**
|
|
3
3
|
* The shape of an {@linkcode !Error} instance, after it has been serialized into a simple hash.
|
|
4
4
|
* @group Errors
|
|
5
|
+
* @group Types
|
|
5
6
|
*/
|
|
6
7
|
export type SerializedError = Record<string, Record<string, string> | string | undefined>;
|
|
7
8
|
/**
|
package/error-serializer.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { AbstractError } from "./
|
|
2
|
-
import { InternalError } from "./
|
|
3
|
-
import { UnknownError } from "./
|
|
1
|
+
import { AbstractError } from "./error/AbstractError.js";
|
|
2
|
+
import { InternalError } from "./error/InternalError.js";
|
|
3
|
+
import { UnknownError } from "./error/UnknownError.js";
|
|
4
4
|
/**
|
|
5
5
|
* Determine if the given unknown subject is an {@linkcode !Error} instance.
|
|
6
6
|
* @param subject - The object to inspect.
|
package/error-serializer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-serializer.js","sourceRoot":"","sources":["../source/error-serializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"error-serializer.js","sourceRoot":"","sources":["../source/error-serializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AASvD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,OAAgB,EAAoB,EAAE;IAC5D,OAAO,OAAO,YAAY,KAAK,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,gBAAgB,CAAC;AAClG,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAiB,EAAE;IAChE,IAAI,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACrB,OAAO,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAY,EAAU,EAAE;IAClD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;AAClE,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAY,EAA2B,EAAE;IACrE,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7D,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,YAAkC,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,KAAa,EACI,EAAE;IACnB,MAAM,UAAU,GAAoB;QAClC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC;IAEF,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC"}
|
package/error-serializer.test.js
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { expect } from "chai";
|
|
3
3
|
import { it } from "mocha";
|
|
4
4
|
import { errorToJSON, errorToRecord, errorToSimpleSerializable, isError, unknownToError, } from "./error-serializer.js";
|
|
5
|
-
import { InternalError } from "./
|
|
6
|
-
import { InvalidArgumentError } from "./
|
|
5
|
+
import { InternalError } from "./error/InternalError.js";
|
|
6
|
+
import { InvalidArgumentError } from "./error/InvalidArgumentError.js";
|
|
7
7
|
function generateDefaultError() {
|
|
8
8
|
try {
|
|
9
9
|
throw new Error("oops");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-serializer.test.js","sourceRoot":"","sources":["../source/error-serializer.test.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,EACL,WAAW,EACX,aAAa,EACb,yBAAyB,EACzB,OAAO,EACP,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"error-serializer.test.js","sourceRoot":"","sources":["../source/error-serializer.test.ts"],"names":[],"mappings":"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"}
|
package/event.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="@types/web" />
|
|
2
|
+
/**
|
|
3
|
+
* Creates a {@linkcode !CustomEvent} instance with the given arguments.
|
|
4
|
+
* @param type - The name of the type of the event.
|
|
5
|
+
* @param detail - The event details.
|
|
6
|
+
* @returns The requested event object.
|
|
7
|
+
* @group Events
|
|
8
|
+
*/
|
|
9
|
+
export declare const createEvent: <TEventType extends string, TDetail>(type: TEventType, detail: TDetail) => CustomEvent<TDetail> & {
|
|
10
|
+
type: TEventType;
|
|
11
|
+
};
|
package/event.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a {@linkcode !CustomEvent} instance with the given arguments.
|
|
3
|
+
* @param type - The name of the type of the event.
|
|
4
|
+
* @param detail - The event details.
|
|
5
|
+
* @returns The requested event object.
|
|
6
|
+
* @group Events
|
|
7
|
+
*/
|
|
8
|
+
export const createEvent = (type, detail) => {
|
|
9
|
+
return new CustomEvent(type, { detail });
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=event.js.map
|
package/event.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event.js","sourceRoot":"","sources":["../source/event.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,IAAgB,EAChB,MAAe,EAC8B,EAAE;IAC/C,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAgD,CAAC;AAC1F,CAAC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="@types/web" />
|
|
2
|
+
import { Shake } from "../device/shake.js";
|
|
2
3
|
import { Random } from "../random.js";
|
|
3
4
|
import { Canvas } from "./canvas.js";
|
|
4
5
|
import { RenderLoop } from "./render-loop.js";
|
|
@@ -189,6 +190,14 @@ export declare class CanvasSandbox<TCanvas extends Canvas, TApplicationOptions e
|
|
|
189
190
|
* The render loop we use to control frame rendering.
|
|
190
191
|
*/
|
|
191
192
|
readonly renderLoop: RenderLoop;
|
|
193
|
+
/**
|
|
194
|
+
* Our handler for device shaking.
|
|
195
|
+
*/
|
|
196
|
+
readonly shakeHandler: Shake;
|
|
197
|
+
/**
|
|
198
|
+
* The options for this sandbox.
|
|
199
|
+
*/
|
|
200
|
+
readonly sandboxOptions: Partial<CanvasSandboxOptions>;
|
|
192
201
|
/**
|
|
193
202
|
* Construct a new {@linkcode CanvasSandbox}.
|
|
194
203
|
* @param window - The window we're running inside.
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/* eslint-disable no-console */
|
|
2
|
+
import { Shake } from "../device/shake.js";
|
|
2
3
|
import { getDocumentElementTypeById } from "../dom/core.js";
|
|
3
4
|
import { nextPalette } from "./core.js";
|
|
4
5
|
import { RenderLoop } from "./render-loop.js";
|
|
@@ -42,7 +43,7 @@ export const CANVAS_SANDBOX_DEFAULT_CSS = /* PURE */ css `
|
|
|
42
43
|
}
|
|
43
44
|
}
|
|
44
45
|
body.lightMode {
|
|
45
|
-
background-color: #
|
|
46
|
+
background-color: #e6e6e6;
|
|
46
47
|
|
|
47
48
|
.credits a {
|
|
48
49
|
color: #606060;
|
|
@@ -170,6 +171,14 @@ export class CanvasSandbox {
|
|
|
170
171
|
* The render loop we use to control frame rendering.
|
|
171
172
|
*/
|
|
172
173
|
renderLoop;
|
|
174
|
+
/**
|
|
175
|
+
* Our handler for device shaking.
|
|
176
|
+
*/
|
|
177
|
+
shakeHandler;
|
|
178
|
+
/**
|
|
179
|
+
* The options for this sandbox.
|
|
180
|
+
*/
|
|
181
|
+
sandboxOptions;
|
|
173
182
|
/**
|
|
174
183
|
* The handle that keeps track of debouncing of `resize` events.
|
|
175
184
|
*/
|
|
@@ -189,6 +198,7 @@ export class CanvasSandbox {
|
|
|
189
198
|
this.document = window.document;
|
|
190
199
|
this.canvasNode = canvasNode;
|
|
191
200
|
this.canvas = new CanvasImpl(canvasNode);
|
|
201
|
+
this.sandboxOptions = sandboxOptions ?? {};
|
|
192
202
|
if (sandboxOptions?.injectDefaultCss ?? true) {
|
|
193
203
|
this.injectDefaultCss();
|
|
194
204
|
}
|
|
@@ -197,6 +207,7 @@ export class CanvasSandbox {
|
|
|
197
207
|
this.renderLoop = new RenderLoop(applicationOnDraw, this.canvas, {
|
|
198
208
|
drawFps: sandboxOptions?.devMode,
|
|
199
209
|
});
|
|
210
|
+
this.shakeHandler = new Shake();
|
|
200
211
|
this.#hookWindow();
|
|
201
212
|
this.#hookBody();
|
|
202
213
|
this.#hookCanvas();
|
|
@@ -225,7 +236,9 @@ export class CanvasSandbox {
|
|
|
225
236
|
* Run the sandbox.
|
|
226
237
|
*/
|
|
227
238
|
run() {
|
|
228
|
-
|
|
239
|
+
if (this.sandboxOptions.devMode) {
|
|
240
|
+
console.info("CanvasSandbox: Starting application with these options.", this.application.options);
|
|
241
|
+
}
|
|
229
242
|
this.application.start();
|
|
230
243
|
// In case the application doesn't maintain this state itself.
|
|
231
244
|
this.application.paused = false;
|
|
@@ -243,7 +256,11 @@ export class CanvasSandbox {
|
|
|
243
256
|
if (!this.document.fullscreenEnabled) {
|
|
244
257
|
return;
|
|
245
258
|
}
|
|
246
|
-
|
|
259
|
+
// Make canvas fullscreen.
|
|
260
|
+
if (!this.document.fullscreenElement && event.target === this.document.body) {
|
|
261
|
+
if (this.sandboxOptions.devMode) {
|
|
262
|
+
console.info("CanvasSandbox: Canvas is entering fullscreen mode...");
|
|
263
|
+
}
|
|
247
264
|
await this.canvasNode.requestFullscreen();
|
|
248
265
|
}
|
|
249
266
|
});
|
|
@@ -284,9 +301,13 @@ export class CanvasSandbox {
|
|
|
284
301
|
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
285
302
|
this.canvasNode.addEventListener("click", async (event) => {
|
|
286
303
|
if (this.document.fullscreenElement) {
|
|
304
|
+
if (this.sandboxOptions.devMode) {
|
|
305
|
+
console.info("CanvasSandbox: Exiting fullscreen mode...");
|
|
306
|
+
}
|
|
287
307
|
await document.exitFullscreen();
|
|
288
308
|
return;
|
|
289
309
|
}
|
|
310
|
+
// Run the next variation of the application.
|
|
290
311
|
nextPalette();
|
|
291
312
|
this.#reconfigureApplication({
|
|
292
313
|
seed: this.application.random.next().toString(),
|
|
@@ -298,6 +319,16 @@ export class CanvasSandbox {
|
|
|
298
319
|
* Create event listeners on the window we're running in.
|
|
299
320
|
*/
|
|
300
321
|
#hookWindow() {
|
|
322
|
+
this.shakeHandler
|
|
323
|
+
.start()
|
|
324
|
+
.then(() => {
|
|
325
|
+
this.shakeHandler.addEventListener("shake", () => {
|
|
326
|
+
console.info("CanvasSandbox: Shake detected. Reconfiguring application...");
|
|
327
|
+
this.application.reconfigure(this.canvas);
|
|
328
|
+
this.application.start();
|
|
329
|
+
});
|
|
330
|
+
})
|
|
331
|
+
.catch(console.error);
|
|
301
332
|
this.window
|
|
302
333
|
.matchMedia("(prefers-color-scheme: dark)")
|
|
303
334
|
.addEventListener("change", ({ matches }) => {
|
|
@@ -310,15 +341,19 @@ export class CanvasSandbox {
|
|
|
310
341
|
});
|
|
311
342
|
this.window.addEventListener("resize", event => {
|
|
312
343
|
if (this.#resizeDebounce !== null) {
|
|
313
|
-
|
|
344
|
+
return;
|
|
314
345
|
}
|
|
315
346
|
this.#resizeDebounce = this.window.setTimeout(() => {
|
|
316
|
-
this
|
|
317
|
-
this.canvas.refreshCanvasNode();
|
|
318
|
-
this.application.start();
|
|
319
|
-
// In case the application doesn't maintain this state itself.
|
|
320
|
-
this.application.paused = false;
|
|
347
|
+
this.#resizeDebounce = null;
|
|
321
348
|
}, 1000);
|
|
349
|
+
if (this.sandboxOptions.devMode) {
|
|
350
|
+
console.info(`CanvasSandbox: Window resized (${this.window.innerWidth}x${this.window.innerHeight}x${this.window.devicePixelRatio}). Reconfiguring application...`);
|
|
351
|
+
}
|
|
352
|
+
this.application.reconfigure(this.canvas);
|
|
353
|
+
this.canvas.refreshCanvasNode();
|
|
354
|
+
this.application.start();
|
|
355
|
+
// In case the application doesn't maintain this state itself.
|
|
356
|
+
this.application.paused = false;
|
|
322
357
|
});
|
|
323
358
|
}
|
|
324
359
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas-sandbox.js","sourceRoot":"","sources":["../../source/graphics/canvas-sandbox.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAG5D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,KAA2B,EAAU,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAE3E;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,UAAU,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDvD,CAAC;AAqFF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,MAAM,OAAO,aAAa;IAIxB;;OAEG;IACM,MAAM,CAAS;IAExB;;OAEG;IACM,QAAQ,CAAW;IAE5B;;OAEG;IACM,WAAW,CAAyD;IAE7E;;OAEG;IACM,UAAU,CAAoB;IAEvC;;;OAGG;IACM,MAAM,CAAU;IAEzB;;OAEG;IACM,UAAU,CAAa;IAEhC;;OAEG;IACH,eAAe,GAAkB,IAAI,CAAC;IAEtC;;;;;;;;;OASG;IACH,YACE,MAAc,EACd,UAA6B,EAC7B,UAA0D,EAC1D,WAS2D,EAC3D,OAA4B,EAC5B,cAA8C;QAE9C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"canvas-sandbox.js","sourceRoot":"","sources":["../../source/graphics/canvas-sandbox.ts"],"names":[],"mappings":"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"}
|
package/graphics/canvas2d.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { InvalidOperationError } from "../
|
|
1
|
+
import { InvalidOperationError } from "../error/InvalidOperationError.js";
|
|
2
2
|
import { mustExist } from "../nil.js";
|
|
3
3
|
import { Canvas } from "./canvas.js";
|
|
4
4
|
import { blend, blendAdditive, blendSubtractive, fromRGBA, getA, getB, getG, getR, } from "./core.js";
|
package/graphics/canvas2d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas2d.js","sourceRoot":"","sources":["../../source/graphics/canvas2d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"canvas2d.js","sourceRoot":"","sources":["../../source/graphics/canvas2d.ts"],"names":[],"mappings":"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"}
|