@matter/general 0.16.0-alpha.0-20251203-aaf94bca8 → 0.16.0-alpha.0-20251207-37e501b18
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/dist/cjs/MatterError.js +2 -2
- package/dist/cjs/MatterError.js.map +1 -1
- package/dist/cjs/codec/DerTypes.d.ts.map +1 -1
- package/dist/cjs/codec/DerTypes.js +2 -1
- package/dist/cjs/codec/DerTypes.js.map +1 -1
- package/dist/cjs/environment/Environment.d.ts +4 -1
- package/dist/cjs/environment/Environment.d.ts.map +1 -1
- package/dist/cjs/environment/Environment.js +83 -3
- package/dist/cjs/environment/Environment.js.map +1 -1
- package/dist/cjs/environment/RuntimeService.d.ts +3 -44
- package/dist/cjs/environment/RuntimeService.d.ts.map +1 -1
- package/dist/cjs/environment/RuntimeService.js +65 -10
- package/dist/cjs/environment/RuntimeService.js.map +2 -2
- package/dist/cjs/environment/Worker.d.ts +56 -0
- package/dist/cjs/environment/Worker.d.ts.map +1 -0
- package/dist/cjs/environment/Worker.js +44 -0
- package/dist/cjs/environment/Worker.js.map +6 -0
- package/dist/cjs/environment/index.d.ts +1 -0
- package/dist/cjs/environment/index.d.ts.map +1 -1
- package/dist/cjs/environment/index.js +1 -0
- package/dist/cjs/environment/index.js.map +1 -1
- package/dist/cjs/log/Diagnostic.d.ts +11 -1
- package/dist/cjs/log/Diagnostic.d.ts.map +1 -1
- package/dist/cjs/log/Diagnostic.js +3 -0
- package/dist/cjs/log/Diagnostic.js.map +1 -1
- package/dist/cjs/log/DiagnosticPresentation.d.ts +4 -0
- package/dist/cjs/log/DiagnosticPresentation.d.ts.map +1 -1
- package/dist/cjs/log/DiagnosticPresentation.js +3 -2
- package/dist/cjs/log/DiagnosticPresentation.js.map +1 -1
- package/dist/cjs/log/DiagnosticSource.d.ts +1 -1
- package/dist/cjs/log/DiagnosticSource.d.ts.map +1 -1
- package/dist/cjs/log/DiagnosticSource.js +5 -1
- package/dist/cjs/log/DiagnosticSource.js.map +1 -1
- package/dist/cjs/log/LogFormat.js +2 -2
- package/dist/cjs/log/LogFormat.js.map +1 -1
- package/dist/cjs/net/Channel.d.ts +1 -1
- package/dist/cjs/net/Channel.d.ts.map +1 -1
- package/dist/cjs/net/Channel.js +1 -1
- package/dist/cjs/net/Channel.js.map +1 -1
- package/dist/cjs/net/mock/MockUdpChannel.d.ts +1 -1
- package/dist/cjs/net/mock/MockUdpChannel.d.ts.map +1 -1
- package/dist/cjs/net/mock/NetworkSimulator.d.ts.map +1 -1
- package/dist/cjs/net/mock/NetworkSimulator.js +2 -1
- package/dist/cjs/net/mock/NetworkSimulator.js.map +1 -1
- package/dist/cjs/net/udp/UdpChannel.d.ts +5 -1
- package/dist/cjs/net/udp/UdpChannel.d.ts.map +1 -1
- package/dist/cjs/net/udp/UdpMulticastServer.d.ts +4 -6
- package/dist/cjs/net/udp/UdpMulticastServer.d.ts.map +1 -1
- package/dist/cjs/net/udp/UdpMulticastServer.js +114 -37
- package/dist/cjs/net/udp/UdpMulticastServer.js.map +1 -1
- package/dist/cjs/time/StandardTime.d.ts +38 -0
- package/dist/cjs/time/StandardTime.d.ts.map +1 -0
- package/dist/cjs/time/StandardTime.js +172 -0
- package/dist/cjs/time/StandardTime.js.map +6 -0
- package/dist/cjs/time/Time.d.ts +4 -23
- package/dist/cjs/time/Time.d.ts.map +1 -1
- package/dist/cjs/time/Time.js +12 -88
- package/dist/cjs/time/Time.js.map +1 -1
- package/dist/cjs/time/Timestamp.d.ts +5 -0
- package/dist/cjs/time/Timestamp.d.ts.map +1 -1
- package/dist/cjs/time/Timestamp.js +4 -0
- package/dist/cjs/time/Timestamp.js.map +1 -1
- package/dist/cjs/time/index.d.ts +1 -0
- package/dist/cjs/time/index.d.ts.map +1 -1
- package/dist/cjs/time/index.js +1 -0
- package/dist/cjs/time/index.js.map +1 -1
- package/dist/cjs/transaction/Transaction.d.ts +12 -4
- package/dist/cjs/transaction/Transaction.d.ts.map +1 -1
- package/dist/cjs/transaction/Transaction.js +4 -4
- package/dist/cjs/transaction/Transaction.js.map +1 -1
- package/dist/cjs/transaction/Tx.d.ts +2 -1
- package/dist/cjs/transaction/Tx.d.ts.map +1 -1
- package/dist/cjs/transaction/Tx.js +92 -6
- package/dist/cjs/transaction/Tx.js.map +1 -1
- package/dist/cjs/util/Abort.js +1 -1
- package/dist/cjs/util/Abort.js.map +1 -1
- package/dist/cjs/util/Construction.d.ts +2 -1
- package/dist/cjs/util/Construction.d.ts.map +1 -1
- package/dist/cjs/util/Construction.js +60 -16
- package/dist/cjs/util/Construction.js.map +2 -2
- package/dist/cjs/util/DataReadQueue.d.ts +1 -5
- package/dist/cjs/util/DataReadQueue.d.ts.map +1 -1
- package/dist/cjs/util/DataReadQueue.js +12 -11
- package/dist/cjs/util/DataReadQueue.js.map +1 -1
- package/dist/cjs/util/FormattedText.d.ts +1 -1
- package/dist/cjs/util/FormattedText.d.ts.map +1 -1
- package/dist/cjs/util/FormattedText.js +1 -3
- package/dist/cjs/util/FormattedText.js.map +1 -1
- package/dist/cjs/util/Lifetime.d.ts +97 -0
- package/dist/cjs/util/Lifetime.d.ts.map +1 -0
- package/dist/cjs/util/Lifetime.js +166 -0
- package/dist/cjs/util/Lifetime.js.map +6 -0
- package/dist/cjs/util/Multiplex.js +2 -2
- package/dist/cjs/util/Multiplex.js.map +1 -1
- package/dist/cjs/util/Observable.d.ts +27 -26
- package/dist/cjs/util/Observable.d.ts.map +1 -1
- package/dist/cjs/util/Observable.js +76 -35
- package/dist/cjs/util/Observable.js.map +2 -2
- package/dist/cjs/util/String.d.ts +5 -29
- package/dist/cjs/util/String.d.ts.map +1 -1
- package/dist/cjs/util/String.js +16 -158
- package/dist/cjs/util/String.js.map +2 -2
- package/dist/cjs/util/identifier-case.d.ts +19 -0
- package/dist/cjs/util/identifier-case.d.ts.map +1 -0
- package/dist/cjs/util/identifier-case.js +99 -0
- package/dist/cjs/util/identifier-case.js.map +6 -0
- package/dist/cjs/util/index.d.ts +3 -0
- package/dist/cjs/util/index.d.ts.map +1 -1
- package/dist/cjs/util/index.js +3 -0
- package/dist/cjs/util/index.js.map +1 -1
- package/dist/cjs/util/serialize.d.ts +25 -0
- package/dist/cjs/util/serialize.d.ts.map +1 -0
- package/dist/cjs/util/serialize.js +116 -0
- package/dist/cjs/util/serialize.js.map +6 -0
- package/dist/esm/MatterError.js +1 -1
- package/dist/esm/codec/DerTypes.d.ts.map +1 -1
- package/dist/esm/codec/DerTypes.js +2 -1
- package/dist/esm/codec/DerTypes.js.map +1 -1
- package/dist/esm/environment/Environment.d.ts +4 -1
- package/dist/esm/environment/Environment.d.ts.map +1 -1
- package/dist/esm/environment/Environment.js +83 -3
- package/dist/esm/environment/Environment.js.map +1 -1
- package/dist/esm/environment/RuntimeService.d.ts +3 -44
- package/dist/esm/environment/RuntimeService.d.ts.map +1 -1
- package/dist/esm/environment/RuntimeService.js +65 -10
- package/dist/esm/environment/RuntimeService.js.map +2 -2
- package/dist/esm/environment/Worker.d.ts +56 -0
- package/dist/esm/environment/Worker.d.ts.map +1 -0
- package/dist/esm/environment/Worker.js +24 -0
- package/dist/esm/environment/Worker.js.map +6 -0
- package/dist/esm/environment/index.d.ts +1 -0
- package/dist/esm/environment/index.d.ts.map +1 -1
- package/dist/esm/environment/index.js +1 -0
- package/dist/esm/environment/index.js.map +1 -1
- package/dist/esm/log/Diagnostic.d.ts +11 -1
- package/dist/esm/log/Diagnostic.d.ts.map +1 -1
- package/dist/esm/log/Diagnostic.js +3 -0
- package/dist/esm/log/Diagnostic.js.map +1 -1
- package/dist/esm/log/DiagnosticPresentation.d.ts +4 -0
- package/dist/esm/log/DiagnosticPresentation.d.ts.map +1 -1
- package/dist/esm/log/DiagnosticPresentation.js +3 -2
- package/dist/esm/log/DiagnosticPresentation.js.map +1 -1
- package/dist/esm/log/DiagnosticSource.d.ts +1 -1
- package/dist/esm/log/DiagnosticSource.d.ts.map +1 -1
- package/dist/esm/log/DiagnosticSource.js +5 -1
- package/dist/esm/log/DiagnosticSource.js.map +1 -1
- package/dist/esm/log/LogFormat.js +1 -1
- package/dist/esm/log/LogFormat.js.map +1 -1
- package/dist/esm/net/Channel.d.ts +1 -1
- package/dist/esm/net/Channel.d.ts.map +1 -1
- package/dist/esm/net/Channel.js +1 -1
- package/dist/esm/net/Channel.js.map +1 -1
- package/dist/esm/net/mock/MockUdpChannel.d.ts +1 -1
- package/dist/esm/net/mock/MockUdpChannel.d.ts.map +1 -1
- package/dist/esm/net/mock/NetworkSimulator.d.ts.map +1 -1
- package/dist/esm/net/mock/NetworkSimulator.js +2 -1
- package/dist/esm/net/mock/NetworkSimulator.js.map +1 -1
- package/dist/esm/net/udp/UdpChannel.d.ts +5 -1
- package/dist/esm/net/udp/UdpChannel.d.ts.map +1 -1
- package/dist/esm/net/udp/UdpMulticastServer.d.ts +4 -6
- package/dist/esm/net/udp/UdpMulticastServer.d.ts.map +1 -1
- package/dist/esm/net/udp/UdpMulticastServer.js +114 -37
- package/dist/esm/net/udp/UdpMulticastServer.js.map +1 -1
- package/dist/esm/time/StandardTime.d.ts +38 -0
- package/dist/esm/time/StandardTime.d.ts.map +1 -0
- package/dist/esm/time/StandardTime.js +152 -0
- package/dist/esm/time/StandardTime.js.map +6 -0
- package/dist/esm/time/Time.d.ts +4 -23
- package/dist/esm/time/Time.d.ts.map +1 -1
- package/dist/esm/time/Time.js +12 -88
- package/dist/esm/time/Time.js.map +1 -1
- package/dist/esm/time/Timestamp.d.ts +5 -0
- package/dist/esm/time/Timestamp.d.ts.map +1 -1
- package/dist/esm/time/Timestamp.js +4 -0
- package/dist/esm/time/Timestamp.js.map +1 -1
- package/dist/esm/time/index.d.ts +1 -0
- package/dist/esm/time/index.d.ts.map +1 -1
- package/dist/esm/time/index.js +1 -0
- package/dist/esm/time/index.js.map +1 -1
- package/dist/esm/transaction/Transaction.d.ts +12 -4
- package/dist/esm/transaction/Transaction.d.ts.map +1 -1
- package/dist/esm/transaction/Transaction.js +4 -4
- package/dist/esm/transaction/Transaction.js.map +1 -1
- package/dist/esm/transaction/Tx.d.ts +2 -1
- package/dist/esm/transaction/Tx.d.ts.map +1 -1
- package/dist/esm/transaction/Tx.js +92 -6
- package/dist/esm/transaction/Tx.js.map +1 -1
- package/dist/esm/util/Abort.js +1 -1
- package/dist/esm/util/Abort.js.map +1 -1
- package/dist/esm/util/Construction.d.ts +2 -1
- package/dist/esm/util/Construction.d.ts.map +1 -1
- package/dist/esm/util/Construction.js +60 -16
- package/dist/esm/util/Construction.js.map +2 -2
- package/dist/esm/util/DataReadQueue.d.ts +1 -5
- package/dist/esm/util/DataReadQueue.d.ts.map +1 -1
- package/dist/esm/util/DataReadQueue.js +12 -11
- package/dist/esm/util/DataReadQueue.js.map +1 -1
- package/dist/esm/util/FormattedText.d.ts +1 -1
- package/dist/esm/util/FormattedText.d.ts.map +1 -1
- package/dist/esm/util/FormattedText.js +2 -4
- package/dist/esm/util/FormattedText.js.map +1 -1
- package/dist/esm/util/Lifetime.d.ts +97 -0
- package/dist/esm/util/Lifetime.d.ts.map +1 -0
- package/dist/esm/util/Lifetime.js +146 -0
- package/dist/esm/util/Lifetime.js.map +6 -0
- package/dist/esm/util/Multiplex.js +2 -2
- package/dist/esm/util/Multiplex.js.map +1 -1
- package/dist/esm/util/Observable.d.ts +27 -26
- package/dist/esm/util/Observable.d.ts.map +1 -1
- package/dist/esm/util/Observable.js +76 -35
- package/dist/esm/util/Observable.js.map +2 -2
- package/dist/esm/util/String.d.ts +5 -29
- package/dist/esm/util/String.d.ts.map +1 -1
- package/dist/esm/util/String.js +16 -158
- package/dist/esm/util/String.js.map +2 -2
- package/dist/esm/util/identifier-case.d.ts +19 -0
- package/dist/esm/util/identifier-case.d.ts.map +1 -0
- package/dist/esm/util/identifier-case.js +79 -0
- package/dist/esm/util/identifier-case.js.map +6 -0
- package/dist/esm/util/index.d.ts +3 -0
- package/dist/esm/util/index.d.ts.map +1 -1
- package/dist/esm/util/index.js +3 -0
- package/dist/esm/util/index.js.map +1 -1
- package/dist/esm/util/serialize.d.ts +25 -0
- package/dist/esm/util/serialize.d.ts.map +1 -0
- package/dist/esm/util/serialize.js +96 -0
- package/dist/esm/util/serialize.js.map +6 -0
- package/package.json +2 -2
- package/src/MatterError.ts +1 -1
- package/src/codec/DerTypes.ts +2 -1
- package/src/environment/Environment.ts +29 -4
- package/src/environment/RuntimeService.ts +19 -55
- package/src/environment/Worker.ts +75 -0
- package/src/environment/index.ts +1 -0
- package/src/log/Diagnostic.ts +15 -1
- package/src/log/DiagnosticPresentation.ts +7 -2
- package/src/log/DiagnosticSource.ts +5 -1
- package/src/log/LogFormat.ts +1 -1
- package/src/net/Channel.ts +2 -2
- package/src/net/mock/MockUdpChannel.ts +1 -1
- package/src/net/mock/NetworkSimulator.ts +2 -1
- package/src/net/udp/UdpChannel.ts +6 -1
- package/src/net/udp/UdpMulticastServer.ts +72 -34
- package/src/time/StandardTime.ts +122 -0
- package/src/time/Time.ts +13 -105
- package/src/time/Timestamp.ts +8 -0
- package/src/time/index.ts +1 -0
- package/src/transaction/Transaction.ts +19 -6
- package/src/transaction/Tx.ts +49 -2
- package/src/util/Abort.ts +1 -1
- package/src/util/Construction.ts +76 -18
- package/src/util/DataReadQueue.ts +14 -12
- package/src/util/FormattedText.ts +1 -1
- package/src/util/Lifetime.ts +284 -0
- package/src/util/Multiplex.ts +2 -2
- package/src/util/Observable.ts +132 -53
- package/src/util/String.ts +14 -215
- package/src/util/identifier-case.ts +101 -0
- package/src/util/index.ts +3 -0
- package/src/util/serialize.ts +129 -0
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
|
|
2
|
+
var __typeError = (msg) => {
|
|
3
|
+
throw TypeError(msg);
|
|
4
|
+
};
|
|
5
|
+
var __using = (stack, value, async) => {
|
|
6
|
+
if (value != null) {
|
|
7
|
+
if (typeof value !== "object" && typeof value !== "function") __typeError("Object expected");
|
|
8
|
+
var dispose, inner;
|
|
9
|
+
if (async) dispose = value[__knownSymbol("asyncDispose")];
|
|
10
|
+
if (dispose === void 0) {
|
|
11
|
+
dispose = value[__knownSymbol("dispose")];
|
|
12
|
+
if (async) inner = dispose;
|
|
13
|
+
}
|
|
14
|
+
if (typeof dispose !== "function") __typeError("Object not disposable");
|
|
15
|
+
if (inner) dispose = function() {
|
|
16
|
+
try {
|
|
17
|
+
inner.call(this);
|
|
18
|
+
} catch (e) {
|
|
19
|
+
return Promise.reject(e);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
stack.push([async, dispose, value]);
|
|
23
|
+
} else if (async) {
|
|
24
|
+
stack.push([async]);
|
|
25
|
+
}
|
|
26
|
+
return value;
|
|
27
|
+
};
|
|
28
|
+
var __callDispose = (stack, error, hasError) => {
|
|
29
|
+
var E = typeof SuppressedError === "function" ? SuppressedError : function(e, s, m, _) {
|
|
30
|
+
return _ = Error(m), _.name = "SuppressedError", _.error = e, _.suppressed = s, _;
|
|
31
|
+
};
|
|
32
|
+
var fail = (e) => error = hasError ? new E(e, error, "An error was suppressed during disposal") : (hasError = true, e);
|
|
33
|
+
var next = (it) => {
|
|
34
|
+
while (it = stack.pop()) {
|
|
35
|
+
try {
|
|
36
|
+
var result = it[1] && it[1].call(it[2]);
|
|
37
|
+
if (it[0]) return Promise.resolve(result).then(next, (e) => (fail(e), next()));
|
|
38
|
+
} catch (e) {
|
|
39
|
+
fail(e);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (hasError) throw error;
|
|
43
|
+
};
|
|
44
|
+
return next();
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* @license
|
|
48
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
49
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
50
|
+
*/
|
|
51
|
+
import { ImplementationError } from "#MatterError.js";
|
|
52
|
+
import { Boot } from "#util/Boot.js";
|
|
53
|
+
import { decamelize } from "#util/identifier-case.js";
|
|
54
|
+
import { Lifetime } from "#util/Lifetime.js";
|
|
55
|
+
import { Time } from "./Time.js";
|
|
56
|
+
import { Instant } from "./TimeUnit.js";
|
|
57
|
+
class StandardTime extends Time {
|
|
58
|
+
getTimer(name, duration, callback) {
|
|
59
|
+
return new StandardTimer(name, duration, callback, false);
|
|
60
|
+
}
|
|
61
|
+
getPeriodicTimer(name, duration, callback) {
|
|
62
|
+
return new StandardTimer(name, duration, callback, true);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
class StandardTimer {
|
|
66
|
+
constructor(name, duration, callback, isPeriodic) {
|
|
67
|
+
this.name = name;
|
|
68
|
+
this.callback = callback;
|
|
69
|
+
this.isPeriodic = isPeriodic;
|
|
70
|
+
this.interval = duration;
|
|
71
|
+
}
|
|
72
|
+
#timerId;
|
|
73
|
+
#utility = false;
|
|
74
|
+
#interval = Instant;
|
|
75
|
+
// Real value installed in constructor
|
|
76
|
+
isRunning = false;
|
|
77
|
+
get systemId() {
|
|
78
|
+
return Number(this.#timerId);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* The timer's interval.
|
|
82
|
+
*
|
|
83
|
+
* You can change this value but changes have no effect until the timer restarts.
|
|
84
|
+
*/
|
|
85
|
+
set interval(interval) {
|
|
86
|
+
if (interval < 0 || interval > 2147483647) {
|
|
87
|
+
throw new ImplementationError(
|
|
88
|
+
`Invalid intervalMs: ${interval}. The value must be between 0 and 32-bit maximum value (2147483647)`
|
|
89
|
+
);
|
|
90
|
+
}
|
|
91
|
+
this.#interval = interval;
|
|
92
|
+
}
|
|
93
|
+
get interval() {
|
|
94
|
+
return this.#interval;
|
|
95
|
+
}
|
|
96
|
+
get utility() {
|
|
97
|
+
return this.#utility;
|
|
98
|
+
}
|
|
99
|
+
set utility(utility) {
|
|
100
|
+
if (utility === this.#utility) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
if (this.#timerId !== void 0) {
|
|
104
|
+
const timerId = this.#timerId;
|
|
105
|
+
if (utility) {
|
|
106
|
+
timerId.unref?.();
|
|
107
|
+
} else {
|
|
108
|
+
timerId.ref?.();
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
this.#utility = utility;
|
|
112
|
+
}
|
|
113
|
+
start() {
|
|
114
|
+
if (this.isRunning) this.stop();
|
|
115
|
+
Time.register(this);
|
|
116
|
+
this.isRunning = true;
|
|
117
|
+
this.#timerId = (this.isPeriodic ? setInterval : setTimeout)(() => {
|
|
118
|
+
var _stack = [];
|
|
119
|
+
try {
|
|
120
|
+
const lifetime = __using(_stack, Lifetime(decamelize(this.name, " ")));
|
|
121
|
+
if (!this.isPeriodic) {
|
|
122
|
+
Time.unregister(this);
|
|
123
|
+
this.isRunning = false;
|
|
124
|
+
}
|
|
125
|
+
this.callback(lifetime);
|
|
126
|
+
} catch (_) {
|
|
127
|
+
var _error = _, _hasError = true;
|
|
128
|
+
} finally {
|
|
129
|
+
__callDispose(_stack, _error, _hasError);
|
|
130
|
+
}
|
|
131
|
+
}, this.interval);
|
|
132
|
+
return this;
|
|
133
|
+
}
|
|
134
|
+
stop() {
|
|
135
|
+
(this.isPeriodic ? clearInterval : clearTimeout)(this.#timerId);
|
|
136
|
+
Time.unregister(this);
|
|
137
|
+
this.isRunning = false;
|
|
138
|
+
return this;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
Boot.init(() => {
|
|
142
|
+
Time.default = new StandardTime();
|
|
143
|
+
Time.startup.systemMs = Time.startup.processMs = Time.nowMs;
|
|
144
|
+
if (typeof MatterHooks !== "undefined") {
|
|
145
|
+
MatterHooks?.timeSetup?.(Time);
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
export {
|
|
149
|
+
StandardTime,
|
|
150
|
+
StandardTimer
|
|
151
|
+
};
|
|
152
|
+
//# sourceMappingURL=StandardTime.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/time/StandardTime.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,2BAA2B;AACpC,SAAS,YAAY;AACrB,SAAS,kBAAkB;AAC3B,SAAS,gBAAgB;AAEzB,SAAS,YAAmB;AAC5B,SAAS,eAAe;AAKjB,MAAM,qBAAqB,KAAK;AAAA,EAC1B,SAAS,MAAc,UAAoB,UAA0B;AAC1E,WAAO,IAAI,cAAc,MAAM,UAAU,UAAU,KAAK;AAAA,EAC5D;AAAA,EAES,iBAAiB,MAAc,UAAoB,UAA0B;AAClF,WAAO,IAAI,cAAc,MAAM,UAAU,UAAU,IAAI;AAAA,EAC3D;AACJ;AAKO,MAAM,cAA+B;AAAA,EAUxC,YACa,MACT,UACiB,UACR,YACX;AAJW;AAEQ;AACR;AAET,SAAK,WAAW;AAAA,EACpB;AAAA,EAhBA;AAAA,EACA,WAAW;AAAA,EACX,YAAY;AAAA;AAAA,EACZ,YAAY;AAAA,EAEZ,IAAI,WAAW;AACX,WAAO,OAAO,KAAK,QAAQ;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBA,IAAI,SAAS,UAAoB;AAC7B,QAAI,WAAW,KAAK,WAAW,YAAY;AACvC,YAAM,IAAI;AAAA,QACN,uBAAuB,QAAQ;AAAA,MACnC;AAAA,IACJ;AACA,SAAK,YAAY;AAAA,EACrB;AAAA,EAEA,IAAI,WAAW;AACX,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,UAAU;AACV,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,QAAQ,SAAkB;AAC1B,QAAI,YAAY,KAAK,UAAU;AAC3B;AAAA,IACJ;AAGA,QAAI,KAAK,aAAa,QAAW;AAC7B,YAAM,UAAU,KAAK;AACrB,UAAI,SAAS;AACT,gBAAQ,QAAQ;AAAA,MACpB,OAAO;AACH,gBAAQ,MAAM;AAAA,MAClB;AAAA,IACJ;AAEA,SAAK,WAAW;AAAA,EACpB;AAAA,EAEA,QAAQ;AACJ,QAAI,KAAK,UAAW,MAAK,KAAK;AAC9B,SAAK,SAAS,IAAI;AAClB,SAAK,YAAY;AACjB,SAAK,YAAY,KAAK,aAAa,cAAc,YAAY,MAAM;AAC/D;AAAA;AAAA,cAAM,WAAW,yBAAS,WAAW,KAAK,MAAM,GAAG,CAAC;AACpD,YAAI,CAAC,KAAK,YAAY;AAClB,eAAK,WAAW,IAAI;AACpB,eAAK,YAAY;AAAA,QACrB;AACA,aAAK,SAAS,QAAQ;AAAA,eALtB;AAAA;AAAA;AAAA;AAAA;AAAA,IAMJ,GAAG,KAAK,QAAQ;AAChB,WAAO;AAAA,EACX;AAAA,EAEA,OAAO;AACH,KAAC,KAAK,aAAa,gBAAgB,cAAc,KAAK,QAAyC;AAC/F,SAAK,WAAW,IAAI;AACpB,SAAK,YAAY;AACjB,WAAO;AAAA,EACX;AACJ;AAEA,KAAK,KAAK,MAAM;AACZ,OAAK,UAAU,IAAI,aAAa;AAEhC,OAAK,QAAQ,WAAW,KAAK,QAAQ,YAAY,KAAK;AAGtD,MAAI,OAAO,gBAAgB,aAAa;AACpC,iBAAa,YAAY,IAAI;AAAA,EACjC;AACJ,CAAC;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
package/dist/esm/time/Time.d.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { CancelablePromise } from "#util/Cancelable.js";
|
|
7
|
+
import type { Lifetime } from "#util/Lifetime.js";
|
|
7
8
|
import { Diagnostic } from "../log/Diagnostic.js";
|
|
8
9
|
import { Duration } from "./Duration.js";
|
|
9
10
|
import type { Timestamp } from "./Timestamp.js";
|
|
@@ -28,12 +29,12 @@ export declare class Time {
|
|
|
28
29
|
/**
|
|
29
30
|
* Create a timer that will call callback after durationMs has passed.
|
|
30
31
|
*/
|
|
31
|
-
getTimer(
|
|
32
|
+
getTimer(_name: string, _duration: Duration, _callback: Timer.Callback): Timer;
|
|
32
33
|
static readonly getTimer: (name: string, duration: Duration, callback: Timer.Callback) => Timer;
|
|
33
34
|
/**
|
|
34
35
|
* Create a timer that will periodically call callback at intervalMs intervals.
|
|
35
36
|
*/
|
|
36
|
-
getPeriodicTimer(
|
|
37
|
+
getPeriodicTimer(_name: string, _duration: Duration, _callback: Timer.Callback): Timer;
|
|
37
38
|
static readonly getPeriodicTimer: (name: string, duration: Duration, callback: Timer.Callback) => Timer;
|
|
38
39
|
/**
|
|
39
40
|
* Create a promise that resolves after a specific interval or when canceled, whichever comes first.
|
|
@@ -65,26 +66,6 @@ export interface Timer {
|
|
|
65
66
|
stop(): Timer;
|
|
66
67
|
}
|
|
67
68
|
export declare namespace Timer {
|
|
68
|
-
type Callback = () => any;
|
|
69
|
-
}
|
|
70
|
-
export declare class StandardTimer implements Timer {
|
|
71
|
-
#private;
|
|
72
|
-
readonly name: string;
|
|
73
|
-
private readonly callback;
|
|
74
|
-
readonly isPeriodic: boolean;
|
|
75
|
-
isRunning: boolean;
|
|
76
|
-
get systemId(): number;
|
|
77
|
-
constructor(name: string, duration: Duration, callback: Timer.Callback, isPeriodic: boolean);
|
|
78
|
-
/**
|
|
79
|
-
* The timer's interval.
|
|
80
|
-
*
|
|
81
|
-
* You can change this value but changes have no effect until the timer restarts.
|
|
82
|
-
*/
|
|
83
|
-
set interval(interval: Duration);
|
|
84
|
-
get interval(): Duration;
|
|
85
|
-
get utility(): boolean;
|
|
86
|
-
set utility(utility: boolean);
|
|
87
|
-
start(): this;
|
|
88
|
-
stop(): this;
|
|
69
|
+
type Callback = (lifetime: Lifetime) => any;
|
|
89
70
|
}
|
|
90
71
|
//# sourceMappingURL=Time.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Time.d.ts","sourceRoot":"","sources":["../../../src/time/Time.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"Time.d.ts","sourceRoot":"","sources":["../../../src/time/Time.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAIhD;;;;;GAKG;AACH,qBAAa,IAAI;IACb,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC;IAErB,MAAM,CAAC,OAAO;kBACK,SAAS;mBACR,SAAS;MAC3B;IAEF,IAAI,GAAG,SAEN;IACD,MAAM,KAAK,GAAG,SAEb;IAED,IAAI,KAAK,WAER;IACD,MAAM,KAAK,KAAK,IACiB,SAAS,CACzC;IAED,IAAI,KAAK,IAC4D,SAAS,CAC7E;IACD,MAAM,KAAK,KAAK,cAEf;IAED;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,GAAG,KAAK;IAG9E,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAI,MAAM,MAAM,EAAE,UAAU,QAAQ,EAAE,UAAU,KAAK,CAAC,QAAQ,KAAG,KAAK,CAC1C;IAEpD;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,GAAG,KAAK;IAGtF,MAAM,CAAC,QAAQ,CAAC,gBAAgB,GAAI,MAAM,MAAM,EAAE,UAAU,QAAQ,EAAE,UAAU,KAAK,CAAC,QAAQ,KAAG,KAAK,CAC1C;IAE5D;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,iBAAiB;IAgB1D,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAI7C,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK;IAK5B,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK;IAI9B,MAAM,KAAK,MAAM,eAEhB;CACJ;AAWD,MAAM,WAAW,KAAK;IAClB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IAEb,wEAAwE;IACxE,OAAO,EAAE,OAAO,CAAC;IAEjB,8BAA8B;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAElB,6BAA6B;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IAEnB,2CAA2C;IAC3C,UAAU,EAAE,OAAO,CAAC;IAEpB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC;IAE7B,wCAAwC;IACxC,SAAS,EAAE,OAAO,CAAC;IAEnB,oCAAoC;IACpC,KAAK,IAAI,KAAK,CAAC;IAEf,mCAAmC;IACnC,IAAI,IAAI,KAAK,CAAC;CACjB;AAED,yBAAiB,KAAK,CAAC;IACnB,KAAY,QAAQ,GAAG,CAAC,QAAQ,EAAE,QAAQ,KAAK,GAAG,CAAC;CACtD"}
|
package/dist/esm/time/Time.js
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
6
|
+
import { DiagnosticPresentation } from "#log/DiagnosticPresentation.js";
|
|
7
|
+
import { NoProviderError } from "#MatterError.js";
|
|
7
8
|
import { CancelablePromise } from "#util/Cancelable.js";
|
|
8
|
-
import { ImplementationError } from "../MatterError.js";
|
|
9
9
|
import { Diagnostic } from "../log/Diagnostic.js";
|
|
10
10
|
import { DiagnosticSource } from "../log/DiagnosticSource.js";
|
|
11
|
-
import {
|
|
11
|
+
import { Duration } from "./Duration.js";
|
|
12
12
|
const registry = /* @__PURE__ */ new Set();
|
|
13
13
|
class Time {
|
|
14
14
|
static default;
|
|
@@ -37,15 +37,15 @@ class Time {
|
|
|
37
37
|
/**
|
|
38
38
|
* Create a timer that will call callback after durationMs has passed.
|
|
39
39
|
*/
|
|
40
|
-
getTimer(
|
|
41
|
-
|
|
40
|
+
getTimer(_name, _duration, _callback) {
|
|
41
|
+
throw new NoProviderError();
|
|
42
42
|
}
|
|
43
43
|
static getTimer = (name, duration, callback) => Time.default.getTimer(name, duration, callback);
|
|
44
44
|
/**
|
|
45
45
|
* Create a timer that will periodically call callback at intervalMs intervals.
|
|
46
46
|
*/
|
|
47
|
-
getPeriodicTimer(
|
|
48
|
-
|
|
47
|
+
getPeriodicTimer(_name, _duration, _callback) {
|
|
48
|
+
throw new NoProviderError();
|
|
49
49
|
}
|
|
50
50
|
static getPeriodicTimer = (name, duration, callback) => Time.default.getPeriodicTimer(name, duration, callback);
|
|
51
51
|
/**
|
|
@@ -57,7 +57,7 @@ class Time {
|
|
|
57
57
|
return new CancelablePromise(
|
|
58
58
|
(resolve) => {
|
|
59
59
|
resolver = resolve;
|
|
60
|
-
timer = Time.getTimer(name, duration, resolve);
|
|
60
|
+
timer = Time.getTimer(name, duration, () => resolve());
|
|
61
61
|
timer.start();
|
|
62
62
|
},
|
|
63
63
|
() => {
|
|
@@ -87,98 +87,22 @@ if (!performance || typeof performance.now !== "function" || typeof performance.
|
|
|
87
87
|
}
|
|
88
88
|
});
|
|
89
89
|
}
|
|
90
|
-
class StandardTimer {
|
|
91
|
-
constructor(name, duration, callback, isPeriodic) {
|
|
92
|
-
this.name = name;
|
|
93
|
-
this.callback = callback;
|
|
94
|
-
this.isPeriodic = isPeriodic;
|
|
95
|
-
this.interval = duration;
|
|
96
|
-
}
|
|
97
|
-
#timerId;
|
|
98
|
-
#utility = false;
|
|
99
|
-
#interval = Instant;
|
|
100
|
-
// Real value installed in constructor
|
|
101
|
-
isRunning = false;
|
|
102
|
-
get systemId() {
|
|
103
|
-
return Number(this.#timerId);
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* The timer's interval.
|
|
107
|
-
*
|
|
108
|
-
* You can change this value but changes have no effect until the timer restarts.
|
|
109
|
-
*/
|
|
110
|
-
set interval(interval) {
|
|
111
|
-
if (interval < 0 || interval > 2147483647) {
|
|
112
|
-
throw new ImplementationError(
|
|
113
|
-
`Invalid intervalMs: ${interval}. The value must be between 0 and 32-bit maximum value (2147483647)`
|
|
114
|
-
);
|
|
115
|
-
}
|
|
116
|
-
this.#interval = interval;
|
|
117
|
-
}
|
|
118
|
-
get interval() {
|
|
119
|
-
return this.#interval;
|
|
120
|
-
}
|
|
121
|
-
get utility() {
|
|
122
|
-
return this.#utility;
|
|
123
|
-
}
|
|
124
|
-
set utility(utility) {
|
|
125
|
-
if (utility === this.#utility) {
|
|
126
|
-
return;
|
|
127
|
-
}
|
|
128
|
-
if (this.#timerId !== void 0) {
|
|
129
|
-
const timerId = this.#timerId;
|
|
130
|
-
if (utility) {
|
|
131
|
-
timerId.unref?.();
|
|
132
|
-
} else {
|
|
133
|
-
timerId.ref?.();
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
this.#utility = utility;
|
|
137
|
-
}
|
|
138
|
-
start() {
|
|
139
|
-
if (this.isRunning) this.stop();
|
|
140
|
-
Time.register(this);
|
|
141
|
-
this.isRunning = true;
|
|
142
|
-
this.#timerId = (this.isPeriodic ? setInterval : setTimeout)(() => {
|
|
143
|
-
if (!this.isPeriodic) {
|
|
144
|
-
Time.unregister(this);
|
|
145
|
-
this.isRunning = false;
|
|
146
|
-
}
|
|
147
|
-
this.callback();
|
|
148
|
-
}, this.interval);
|
|
149
|
-
return this;
|
|
150
|
-
}
|
|
151
|
-
stop() {
|
|
152
|
-
(this.isPeriodic ? clearInterval : clearTimeout)(this.#timerId);
|
|
153
|
-
Time.unregister(this);
|
|
154
|
-
this.isRunning = false;
|
|
155
|
-
return this;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
90
|
DiagnosticSource.add({
|
|
159
|
-
get [
|
|
91
|
+
get [DiagnosticPresentation.value]() {
|
|
160
92
|
return Diagnostic.node("\u23F1", "Timers", {
|
|
161
93
|
children: [...registry].map((timer) => [
|
|
162
94
|
timer.name,
|
|
163
95
|
Diagnostic.dict({
|
|
164
96
|
periodic: timer.isPeriodic,
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
97
|
+
up: timer.elapsed,
|
|
98
|
+
interval: Duration.format(timer.interval),
|
|
99
|
+
"system#": timer.systemId
|
|
168
100
|
})
|
|
169
101
|
])
|
|
170
102
|
});
|
|
171
103
|
}
|
|
172
104
|
});
|
|
173
|
-
Boot.init(() => {
|
|
174
|
-
Time.default = new Time();
|
|
175
|
-
Time.startup.systemMs = Time.startup.processMs = Time.nowMs;
|
|
176
|
-
if (typeof MatterHooks !== "undefined") {
|
|
177
|
-
MatterHooks?.timeSetup?.(Time);
|
|
178
|
-
}
|
|
179
|
-
});
|
|
180
105
|
export {
|
|
181
|
-
StandardTimer,
|
|
182
106
|
Time
|
|
183
107
|
};
|
|
184
108
|
//# sourceMappingURL=Time.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/time/Time.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,8BAA8B;AACvC,SAAS,uBAAuB;AAChC,SAAS,yBAAyB;AAElC,SAAS,kBAAkB;AAC3B,SAAS,wBAAwB;AACjC,SAAS,gBAAgB;AAGzB,MAAM,WAAW,oBAAI,IAAW;AAQzB,MAAM,KAAK;AAAA,EACd,OAAO;AAAA,EAEP,OAAO,UAAU;AAAA,IACb,UAAU;AAAA,IACV,WAAW;AAAA,EACf;AAAA,EAEA,IAAI,MAAM;AACN,WAAO,oBAAI,KAAK;AAAA,EACpB;AAAA,EACA,WAAW,MAAM;AACb,WAAO,KAAK,QAAQ;AAAA,EACxB;AAAA,EAEA,IAAI,QAAQ;AACR,WAAO,KAAK,IAAI;AAAA,EACpB;AAAA,EACA,WAAW,QAAQ;AACf,WAAO,KAAK,QAAQ;AAAA,EACxB;AAAA,EAEA,IAAI,QAAQ;AACR,WAAO,KAAK,MAAM,YAAY,IAAI,IAAI,YAAY,UAAU;AAAA,EAChE;AAAA,EACA,WAAW,QAAQ;AACf,WAAO,KAAK,QAAQ;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA,EAKA,SAAS,OAAe,WAAqB,WAAkC;AAC3E,UAAM,IAAI,gBAAgB;AAAA,EAC9B;AAAA,EACA,OAAgB,WAAW,CAAC,MAAc,UAAoB,aAC1D,KAAK,QAAQ,SAAS,MAAM,UAAU,QAAQ;AAAA;AAAA;AAAA;AAAA,EAKlD,iBAAiB,OAAe,WAAqB,WAAkC;AACnF,UAAM,IAAI,gBAAgB;AAAA,EAC9B;AAAA,EACA,OAAgB,mBAAmB,CAAC,MAAc,UAAoB,aAClE,KAAK,QAAQ,iBAAiB,MAAM,UAAU,QAAQ;AAAA;AAAA;AAAA;AAAA,EAK1D,MAAM,MAAc,UAAuC;AACvD,QAAI;AACJ,QAAI;AACJ,WAAO,IAAI;AAAA,MACP,aAAW;AACP,mBAAW;AACX,gBAAQ,KAAK,SAAS,MAAM,UAAU,MAAM,QAAQ,CAAC;AACrD,cAAM,MAAM;AAAA,MAChB;AAAA,MAEA,MAAM;AACF,cAAM,KAAK;AACX,iBAAS;AAAA,MACb;AAAA,IACJ;AAAA,EACJ;AAAA,EACA,OAAO,MAAM,MAAc,UAAoB;AAC3C,WAAO,KAAK,QAAQ,MAAM,MAAM,QAAQ;AAAA,EAC5C;AAAA,EAEA,OAAO,SAAS,OAAc;AAC1B,aAAS,IAAI,KAAK;AAClB,UAAM,UAAU,WAAW,QAAQ;AAAA,EACvC;AAAA,EAEA,OAAO,WAAW,OAAc;AAC5B,aAAS,OAAO,KAAK;AAAA,EACzB;AAAA,EAEA,WAAW,SAAS;AAChB,WAAO;AAAA,EACX;AACJ;AAGA,IAAI,CAAC,eAAe,OAAO,YAAY,QAAQ,cAAc,OAAO,YAAY,eAAe,UAAU;AACrG,SAAO,eAAe,KAAK,WAAW,SAAS;AAAA,IAC3C,MAAM;AACF,aAAO,KAAK;AAAA,IAChB;AAAA,EACJ,CAAC;AACL;AAmCA,iBAAiB,IAAI;AAAA,EACjB,KAAK,uBAAuB,KAAK,IAAI;AACjC,WAAO,WAAW,KAAK,UAAK,UAAU;AAAA,MAClC,UAAU,CAAC,GAAG,QAAQ,EAAE,IAAI,WAAS;AAAA,QACjC,MAAM;AAAA,QACN,WAAW,KAAK;AAAA,UACZ,UAAU,MAAM;AAAA,UAChB,IAAI,MAAM;AAAA,UACV,UAAU,SAAS,OAAO,MAAM,QAAQ;AAAA,UACxC,WAAW,MAAM;AAAA,QACrB,CAAC;AAAA,MACL,CAAC;AAAA,IACL,CAAC;AAAA,EACL;AACJ,CAAC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { UnexpectedDataError } from "#MatterError.js";
|
|
7
7
|
import { Branded } from "#util/Type.js";
|
|
8
|
+
import type { Duration } from "./Duration.js";
|
|
8
9
|
/**
|
|
9
10
|
* A UNIX epoch timestamp in milliseconds.
|
|
10
11
|
*
|
|
@@ -43,5 +44,9 @@ export declare namespace Timestamp {
|
|
|
43
44
|
* Obtain a {@link Date} for a {@link Timestamp}.
|
|
44
45
|
*/
|
|
45
46
|
function dateOf(timestamp: Timestamp): Date;
|
|
47
|
+
/**
|
|
48
|
+
* Compute the duration between two timestamps.
|
|
49
|
+
*/
|
|
50
|
+
function delta(from: Timestamp, to: Timestamp): Duration;
|
|
46
51
|
}
|
|
47
52
|
//# sourceMappingURL=Timestamp.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Timestamp.d.ts","sourceRoot":"","sources":["../../../src/time/Timestamp.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"Timestamp.d.ts","sourceRoot":"","sources":["../../../src/time/Timestamp.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;AAEzD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,CAAC,UAAU,EAChE,MAAM,EAAE,CAAC,GACV,CAAC,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CA4BzD;AAED;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,mBAAmB;CAAG;AAEhE,yBAAiB,SAAS,CAAC;IACvB;;OAEG;IACH,KAAY,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAEzD;;OAEG;IACH,SAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,UAEzC;IAED;;OAEG;IACH,SAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,aAKvD;IAED;;OAEG;IACI,MAAM,IAAI,WAAe,CAAC;IAEjC;;OAEG;IACH,SAAgB,MAAM,CAAC,SAAS,EAAE,SAAS,QAE1C;IAED;;OAEG;IACH,SAAgB,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,GAC1B,QAAQ,CACjC;CACJ"}
|
|
@@ -50,6 +50,10 @@ class TimestampFormatError extends UnexpectedDataError {
|
|
|
50
50
|
return new Date(timestamp);
|
|
51
51
|
}
|
|
52
52
|
Timestamp2.dateOf = dateOf;
|
|
53
|
+
function delta(from, to) {
|
|
54
|
+
return to - from;
|
|
55
|
+
}
|
|
56
|
+
Timestamp2.delta = delta;
|
|
53
57
|
})(Timestamp || (Timestamp = {}));
|
|
54
58
|
export {
|
|
55
59
|
Timestamp,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/time/Timestamp.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,2BAA2B;
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,2BAA2B;AAGpC,SAAS,YAAY;AAcd,SAAS,UACZ,QACuD;AACvD,MAAI,WAAW,QAAW;AACtB,WAAO,KAAK;AAAA,EAChB;AAEA,MAAI,OAAO,WAAW,UAAU;AAC5B,UAAM,OAAO,KAAK,MAAM,MAAM;AAC9B,QAAI,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,GAAG;AAClC,YAAM,IAAI,qBAAqB,0BAA0B;AAAA,IAC7D;AAAA,EACJ,WAAW,OAAO,WAAW,YAAY,WAAW,QAAQ,kBAAkB,MAAM;AAChF,QAAI,CAAC,OAAO,SAAS,OAAO,QAAQ,CAAC,GAAG;AACpC,YAAM,IAAI,qBAAqB,wDAAwD;AAAA,IAC3F;AACA,aAAS,OAAO,QAAQ;AAAA,EAC5B,WAAW,OAAO,WAAW,UAAU;AACnC,aAAS,OAAO,MAAM;AAAA,EAC1B;AAEA,MAAI,OAAO,WAAW,UAAU;AAC5B,QAAI,CAAC,OAAO,SAAS,MAAM,GAAG;AAC1B,YAAM,IAAI,qBAAqB,qCAAqC;AAAA,IACxE;AAAA,EACJ,OAAO;AACH,UAAM,IAAI,qBAAqB,uCAAuC,OAAO,MAAM,GAAG;AAAA,EAC1F;AAEA,SAAO;AACX;AAKO,MAAM,6BAA6B,oBAAoB;AAAC;AAAA,CAExD,CAAUA,eAAV;AASI,WAAS,YAAY,QAAgB;AACxC,WAAO,KAAK,MAAM,SAAS,GAAI;AAAA,EACnC;AAFO,EAAAA,WAAS;AAOT,WAAS,iBAAiB,QAAyB;AACtD,QAAI,OAAO,WAAW,UAAU;AAC5B,eAAS,OAAO,MAAM;AAAA,IAC1B;AACA,WAAOA,WAAU,SAAS,GAAI;AAAA,EAClC;AALO,EAAAA,WAAS;AAUT,EAAMA,WAAA,OAAOA,WAAU,CAAC;AAKxB,WAAS,OAAO,WAAsB;AACzC,WAAO,IAAI,KAAK,SAAS;AAAA,EAC7B;AAFO,EAAAA,WAAS;AAOT,WAAS,MAAM,MAAiB,IAAe;AAClD,WAAQ,KAAK;AAAA,EACjB;AAFO,EAAAA,WAAS;AAAA,GAtCH;",
|
|
5
5
|
"names": ["Timestamp"]
|
|
6
6
|
}
|
package/dist/esm/time/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/time/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/time/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
|
package/dist/esm/time/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/time/index.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { Lifetime } from "#util/Lifetime.js";
|
|
6
7
|
import { MaybePromise } from "#util/Promises.js";
|
|
7
8
|
import { Participant } from "./Participant.js";
|
|
8
9
|
import { Resource } from "./Resource.js";
|
|
@@ -24,7 +25,7 @@ import { Status } from "./Status.js";
|
|
|
24
25
|
*
|
|
25
26
|
* TODO - does prevent deadlock but we should probably add a timeout for resource locking
|
|
26
27
|
*/
|
|
27
|
-
export interface Transaction {
|
|
28
|
+
export interface Transaction extends Lifetime.Owner {
|
|
28
29
|
/**
|
|
29
30
|
* Diagnostic description of the transaction's source.
|
|
30
31
|
*/
|
|
@@ -125,6 +126,13 @@ export interface Transaction {
|
|
|
125
126
|
* After rollback an exclusive transaction becomes shared and data references refresh to the most recent value.
|
|
126
127
|
*/
|
|
127
128
|
rollback(): MaybePromise;
|
|
129
|
+
/**
|
|
130
|
+
* Destroy the transaction without proper commit or rollback.
|
|
131
|
+
*
|
|
132
|
+
* This guarantees a synchronous resolution but will result in an error if {@link Transaction#status} is not shared,
|
|
133
|
+
* read-only or destroyed.
|
|
134
|
+
*/
|
|
135
|
+
[Symbol.dispose](): void;
|
|
128
136
|
/**
|
|
129
137
|
* Wait for a set of transactions to complete.
|
|
130
138
|
*
|
|
@@ -147,7 +155,7 @@ export declare const Transaction: {
|
|
|
147
155
|
* The transaction is destroyed when {@link act} returns. You will receive an error if you access it after it is
|
|
148
156
|
* destroyed.
|
|
149
157
|
*/
|
|
150
|
-
act<T>(via: string, actor: (transaction: Transaction) => MaybePromise<T>): MaybePromise<T>;
|
|
158
|
+
act<T>(via: string, lifetime: Lifetime.Owner, actor: (transaction: Transaction) => MaybePromise<T>): MaybePromise<T>;
|
|
151
159
|
/**
|
|
152
160
|
* Create a transaction.
|
|
153
161
|
*
|
|
@@ -155,7 +163,7 @@ export declare const Transaction: {
|
|
|
155
163
|
*
|
|
156
164
|
* When closed the transaction commits automatically if exclusive.
|
|
157
165
|
*/
|
|
158
|
-
open(via: string, isolation?: Transaction.IsolationLevel): Transaction & Transaction.Finalization;
|
|
166
|
+
open(via: string, lifetime: Lifetime.Owner, isolation?: Transaction.IsolationLevel): Transaction & Transaction.Finalization;
|
|
159
167
|
Status: typeof Status;
|
|
160
168
|
Resource: typeof Resource;
|
|
161
169
|
[Symbol.toStringTag]: string;
|
|
@@ -170,7 +178,7 @@ export declare namespace Transaction {
|
|
|
170
178
|
}
|
|
171
179
|
interface Finalization {
|
|
172
180
|
/**
|
|
173
|
-
* Finish the transaction. If {@link result} is a promise this may result
|
|
181
|
+
* Finish the transaction. If {@link result} is a promise this may result in commit or rollback.
|
|
174
182
|
*/
|
|
175
183
|
resolve<T>(result: T): MaybePromise<Awaited<T>>;
|
|
176
184
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/Transaction.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../../../src/transaction/Transaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,8 +17,8 @@ const Transaction = {
|
|
|
17
17
|
* The transaction is destroyed when {@link act} returns. You will receive an error if you access it after it is
|
|
18
18
|
* destroyed.
|
|
19
19
|
*/
|
|
20
|
-
act(via, actor) {
|
|
21
|
-
const tx = open(via);
|
|
20
|
+
act(via, lifetime, actor) {
|
|
21
|
+
const tx = open(via, lifetime);
|
|
22
22
|
let result;
|
|
23
23
|
try {
|
|
24
24
|
result = actor(tx);
|
|
@@ -34,8 +34,8 @@ const Transaction = {
|
|
|
34
34
|
*
|
|
35
35
|
* When closed the transaction commits automatically if exclusive.
|
|
36
36
|
*/
|
|
37
|
-
open(via, isolation = "rw") {
|
|
38
|
-
return open(via, isolation);
|
|
37
|
+
open(via, lifetime, isolation = "rw") {
|
|
38
|
+
return open(via, lifetime, isolation);
|
|
39
39
|
},
|
|
40
40
|
Status,
|
|
41
41
|
Resource,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/transaction/Transaction.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AASA,SAAS,gBAAgB;AAEzB,SAAS,cAAc;AACvB,SAAS,YAAY;AA4Jd,MAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWvB,IACI,KACA,UACA,OACe;AACf,UAAM,KAAK,KAAK,KAAK,QAAQ;AAE7B,QAAI;AACJ,QAAI;AACA,eAAS,MAAM,EAAE;AAAA,IACrB,SAAS,GAAG;AACR,aAAO,GAAG,OAAO,CAAC;AAAA,IACtB;AAEA,WAAO,GAAG,QAAQ,MAAM;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,KAAK,KAAa,UAA0B,YAAwC,MAAM;AAEtF,WAAO,KAAK,KAAK,UAAU,SAAS;AAAA,EACxC;AAAA,EAEA;AAAA,EAEA;AAAA,EAEA,CAAC,OAAO,WAAW,GAAG;AAC1B;AAGA,YAAY,OAAO;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { Lifetime } from "#util/Lifetime.js";
|
|
6
7
|
import type { Transaction } from "./Transaction.js";
|
|
7
8
|
/**
|
|
8
9
|
* This is the only public interface to this file.
|
|
9
10
|
*/
|
|
10
|
-
export declare function open(via: string, isolation?: Transaction.IsolationLevel): Transaction & Transaction.Finalization;
|
|
11
|
+
export declare function open(via: string, lifetime: Lifetime.Owner, isolation?: Transaction.IsolationLevel): Transaction & Transaction.Finalization;
|
|
11
12
|
//# sourceMappingURL=Tx.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tx.d.ts","sourceRoot":"","sources":["../../../src/transaction/Tx.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"Tx.d.ts","sourceRoot":"","sources":["../../../src/transaction/Tx.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAS7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAUpD;;GAEG;AACH,wBAAgB,IAAI,CAChB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,QAAQ,CAAC,KAAK,EACxB,SAAS,GAAE,WAAW,CAAC,cAAqB,GAC7C,WAAW,GAAG,WAAW,CAAC,YAAY,CAExC"}
|