@matter/general 0.16.0-alpha.0-20251205-dfb1e1556 → 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
|
@@ -3,6 +3,10 @@ var __defProp = Object.defineProperty;
|
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
|
|
7
|
+
var __typeError = (msg) => {
|
|
8
|
+
throw TypeError(msg);
|
|
9
|
+
};
|
|
6
10
|
var __export = (target, all) => {
|
|
7
11
|
for (var name in all)
|
|
8
12
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -16,6 +20,47 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
20
|
return to;
|
|
17
21
|
};
|
|
18
22
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
|
+
var __using = (stack, value, async) => {
|
|
24
|
+
if (value != null) {
|
|
25
|
+
if (typeof value !== "object" && typeof value !== "function") __typeError("Object expected");
|
|
26
|
+
var dispose, inner;
|
|
27
|
+
if (async) dispose = value[__knownSymbol("asyncDispose")];
|
|
28
|
+
if (dispose === void 0) {
|
|
29
|
+
dispose = value[__knownSymbol("dispose")];
|
|
30
|
+
if (async) inner = dispose;
|
|
31
|
+
}
|
|
32
|
+
if (typeof dispose !== "function") __typeError("Object not disposable");
|
|
33
|
+
if (inner) dispose = function() {
|
|
34
|
+
try {
|
|
35
|
+
inner.call(this);
|
|
36
|
+
} catch (e) {
|
|
37
|
+
return Promise.reject(e);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
stack.push([async, dispose, value]);
|
|
41
|
+
} else if (async) {
|
|
42
|
+
stack.push([async]);
|
|
43
|
+
}
|
|
44
|
+
return value;
|
|
45
|
+
};
|
|
46
|
+
var __callDispose = (stack, error, hasError) => {
|
|
47
|
+
var E = typeof SuppressedError === "function" ? SuppressedError : function(e, s, m, _) {
|
|
48
|
+
return _ = Error(m), _.name = "SuppressedError", _.error = e, _.suppressed = s, _;
|
|
49
|
+
};
|
|
50
|
+
var fail = (e) => error = hasError ? new E(e, error, "An error was suppressed during disposal") : (hasError = true, e);
|
|
51
|
+
var next = (it) => {
|
|
52
|
+
while (it = stack.pop()) {
|
|
53
|
+
try {
|
|
54
|
+
var result = it[1] && it[1].call(it[2]);
|
|
55
|
+
if (it[0]) return Promise.resolve(result).then(next, (e) => (fail(e), next()));
|
|
56
|
+
} catch (e) {
|
|
57
|
+
fail(e);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (hasError) throw error;
|
|
61
|
+
};
|
|
62
|
+
return next();
|
|
63
|
+
};
|
|
19
64
|
var UdpMulticastServer_exports = {};
|
|
20
65
|
__export(UdpMulticastServer_exports, {
|
|
21
66
|
UdpMulticastServer: () => UdpMulticastServer
|
|
@@ -23,6 +68,7 @@ __export(UdpMulticastServer_exports, {
|
|
|
23
68
|
module.exports = __toCommonJS(UdpMulticastServer_exports);
|
|
24
69
|
var import_MatterError = require("#MatterError.js");
|
|
25
70
|
var import_TimeUnit = require("#time/TimeUnit.js");
|
|
71
|
+
var import_Lifetime = require("#util/Lifetime.js");
|
|
26
72
|
var import_Logger = require("../../log/Logger.js");
|
|
27
73
|
var import_Cache = require("../../util/Cache.js");
|
|
28
74
|
var import_Error = require("../../util/Error.js");
|
|
@@ -35,46 +81,59 @@ var import_Network = require("../Network.js");
|
|
|
35
81
|
*/
|
|
36
82
|
const logger = import_Logger.Logger.get("UdpMulticastServer");
|
|
37
83
|
class UdpMulticastServer {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
84
|
+
#lifetime;
|
|
85
|
+
network;
|
|
86
|
+
netInterface;
|
|
87
|
+
#broadcastAddressIpv4;
|
|
88
|
+
#broadcastAddressIpv6;
|
|
89
|
+
#broadcastPort;
|
|
90
|
+
#serverIpv4;
|
|
91
|
+
#serverIpv6;
|
|
47
92
|
static async create({
|
|
48
93
|
netInterface,
|
|
49
94
|
broadcastAddressIpv4,
|
|
50
95
|
broadcastAddressIpv6,
|
|
51
96
|
listeningPort,
|
|
52
|
-
network
|
|
97
|
+
network,
|
|
98
|
+
lifetime: lifetimeOwner
|
|
53
99
|
}) {
|
|
54
|
-
|
|
55
|
-
|
|
100
|
+
const lifetime = (lifetimeOwner || import_Lifetime.Lifetime.process)?.join("multicast server");
|
|
101
|
+
try {
|
|
102
|
+
let ipv4UdpChannel = void 0;
|
|
103
|
+
if (broadcastAddressIpv4 !== void 0) {
|
|
104
|
+
try {
|
|
105
|
+
ipv4UdpChannel = await network.createUdpChannel({
|
|
106
|
+
lifetime,
|
|
107
|
+
type: "udp4",
|
|
108
|
+
netInterface,
|
|
109
|
+
listeningPort,
|
|
110
|
+
reuseAddress: true
|
|
111
|
+
});
|
|
112
|
+
await ipv4UdpChannel.addMembership(broadcastAddressIpv4);
|
|
113
|
+
} catch (error) {
|
|
114
|
+
import_Network.NoAddressAvailableError.accept(error);
|
|
115
|
+
logger.info(
|
|
116
|
+
`IPv4 UDP channel not created because IPv4 is not available: ${(0, import_Error.asError)(error).message}`
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
let ipv6UdpChannel;
|
|
56
121
|
try {
|
|
57
|
-
|
|
58
|
-
|
|
122
|
+
ipv6UdpChannel = await network.createUdpChannel({
|
|
123
|
+
lifetime,
|
|
124
|
+
type: "udp6",
|
|
59
125
|
netInterface,
|
|
60
126
|
listeningPort,
|
|
61
127
|
reuseAddress: true
|
|
62
128
|
});
|
|
63
|
-
await
|
|
129
|
+
await ipv6UdpChannel.addMembership(broadcastAddressIpv6);
|
|
64
130
|
} catch (error) {
|
|
65
131
|
import_Network.NoAddressAvailableError.accept(error);
|
|
66
|
-
logger.info(`
|
|
132
|
+
logger.info(`IPv6 UDP interface not created because IPv6 is not available, but required my Matter`);
|
|
133
|
+
throw error;
|
|
67
134
|
}
|
|
68
|
-
}
|
|
69
|
-
try {
|
|
70
|
-
const ipv6UdpChannel = await network.createUdpChannel({
|
|
71
|
-
type: "udp6",
|
|
72
|
-
netInterface,
|
|
73
|
-
listeningPort,
|
|
74
|
-
reuseAddress: true
|
|
75
|
-
});
|
|
76
|
-
await ipv6UdpChannel.addMembership(broadcastAddressIpv6);
|
|
77
135
|
return new UdpMulticastServer(
|
|
136
|
+
lifetime,
|
|
78
137
|
network,
|
|
79
138
|
broadcastAddressIpv4,
|
|
80
139
|
broadcastAddressIpv6,
|
|
@@ -84,8 +143,7 @@ class UdpMulticastServer {
|
|
|
84
143
|
netInterface
|
|
85
144
|
);
|
|
86
145
|
} catch (error) {
|
|
87
|
-
|
|
88
|
-
logger.info(`IPv6 UDP interface not created because IPv6 is not available, but required my Matter.`);
|
|
146
|
+
lifetime[Symbol.dispose]();
|
|
89
147
|
throw error;
|
|
90
148
|
}
|
|
91
149
|
}
|
|
@@ -95,17 +153,27 @@ class UdpMulticastServer {
|
|
|
95
153
|
(0, import_TimeUnit.Minutes)(5),
|
|
96
154
|
async (_netInterface, channel) => (await channel).close()
|
|
97
155
|
);
|
|
156
|
+
constructor(lifetime, network, broadcastAddressIpv4, broadcastAddressIpv6, broadcastPort, serverIpv4, serverIpv6, netInterface) {
|
|
157
|
+
this.#lifetime = lifetime;
|
|
158
|
+
this.network = network;
|
|
159
|
+
this.#broadcastAddressIpv4 = broadcastAddressIpv4;
|
|
160
|
+
this.#broadcastAddressIpv6 = broadcastAddressIpv6;
|
|
161
|
+
this.#broadcastPort = broadcastPort;
|
|
162
|
+
this.#serverIpv4 = serverIpv4;
|
|
163
|
+
this.#serverIpv6 = serverIpv6;
|
|
164
|
+
this.netInterface = netInterface;
|
|
165
|
+
}
|
|
98
166
|
get supportsIpv4() {
|
|
99
|
-
return this
|
|
167
|
+
return this.#serverIpv4 !== void 0;
|
|
100
168
|
}
|
|
101
169
|
onMessage(listener) {
|
|
102
|
-
this
|
|
170
|
+
this.#serverIpv4?.onData((netInterface, peerAddress, _port, message) => {
|
|
103
171
|
if (netInterface === void 0) {
|
|
104
172
|
return;
|
|
105
173
|
}
|
|
106
174
|
listener(message, peerAddress, netInterface);
|
|
107
175
|
});
|
|
108
|
-
this
|
|
176
|
+
this.#serverIpv6.onData((netInterface, peerAddress, _port, message) => {
|
|
109
177
|
if (netInterface === void 0) {
|
|
110
178
|
return;
|
|
111
179
|
}
|
|
@@ -116,7 +184,7 @@ class UdpMulticastServer {
|
|
|
116
184
|
netInterface = netInterface ?? this.netInterface;
|
|
117
185
|
if (uniCastTarget !== void 0 && netInterface !== void 0) {
|
|
118
186
|
try {
|
|
119
|
-
await (await this.broadcastChannels.get(netInterface, (0, import_Ip.isIPv4)(uniCastTarget))).send(uniCastTarget, this
|
|
187
|
+
await (await this.broadcastChannels.get(netInterface, (0, import_Ip.isIPv4)(uniCastTarget))).send(uniCastTarget, this.#broadcastPort, message);
|
|
120
188
|
} catch (error) {
|
|
121
189
|
logger.info(`${netInterface} ${uniCastTarget}: ${(0, import_Error.asError)(error).message}`);
|
|
122
190
|
}
|
|
@@ -133,12 +201,12 @@ class UdpMulticastServer {
|
|
|
133
201
|
await import_MatterError.MatterAggregateError.allSettled(
|
|
134
202
|
ips.map(async (ip) => {
|
|
135
203
|
const iPv4 = ipV4.includes(ip);
|
|
136
|
-
const broadcastTarget = iPv4 ? this
|
|
204
|
+
const broadcastTarget = iPv4 ? this.#broadcastAddressIpv4 : this.#broadcastAddressIpv6;
|
|
137
205
|
if (broadcastTarget === void 0) {
|
|
138
206
|
return;
|
|
139
207
|
}
|
|
140
208
|
try {
|
|
141
|
-
await (await this.broadcastChannels.get(netInterface2, iPv4)).send(broadcastTarget, this
|
|
209
|
+
await (await this.broadcastChannels.get(netInterface2, iPv4)).send(broadcastTarget, this.#broadcastPort, message);
|
|
142
210
|
} catch (error) {
|
|
143
211
|
logger.info(`${netInterface2}: ${(0, import_Error.asError)(error).message}`);
|
|
144
212
|
}
|
|
@@ -152,16 +220,25 @@ class UdpMulticastServer {
|
|
|
152
220
|
}
|
|
153
221
|
async createBroadcastChannel(netInterface, iPv4) {
|
|
154
222
|
return await this.network.createUdpChannel({
|
|
223
|
+
lifetime: this.#lifetime,
|
|
155
224
|
type: iPv4 ? "udp4" : "udp6",
|
|
156
|
-
listeningPort: this
|
|
225
|
+
listeningPort: this.#broadcastPort,
|
|
157
226
|
netInterface,
|
|
158
227
|
reuseAddress: true
|
|
159
228
|
});
|
|
160
229
|
}
|
|
161
230
|
async close() {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
231
|
+
var _stack = [];
|
|
232
|
+
try {
|
|
233
|
+
const _closing = __using(_stack, this.#lifetime.closing());
|
|
234
|
+
await this.#serverIpv4?.close();
|
|
235
|
+
await this.#serverIpv6.close();
|
|
236
|
+
await this.broadcastChannels.close();
|
|
237
|
+
} catch (_) {
|
|
238
|
+
var _error = _, _hasError = true;
|
|
239
|
+
} finally {
|
|
240
|
+
__callDispose(_stack, _error, _hasError);
|
|
241
|
+
}
|
|
165
242
|
}
|
|
166
243
|
}
|
|
167
244
|
//# sourceMappingURL=UdpMulticastServer.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/net/udp/UdpMulticastServer.ts"],
|
|
4
|
-
"mappings": "
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["netInterface"]
|
|
6
6
|
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Duration } from "./Duration.js";
|
|
7
|
+
import { Time, Timer } from "./Time.js";
|
|
8
|
+
/**
|
|
9
|
+
* A {@link Timer} implementation that uses standard JavaScript timers.
|
|
10
|
+
*/
|
|
11
|
+
export declare class StandardTime extends Time {
|
|
12
|
+
getTimer(name: string, duration: Duration, callback: Timer.Callback): StandardTimer;
|
|
13
|
+
getPeriodicTimer(name: string, duration: Duration, callback: Timer.Callback): StandardTimer;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* A {@link Timer} implementation that uses standard JavaScript functions.
|
|
17
|
+
*/
|
|
18
|
+
export declare class StandardTimer implements Timer {
|
|
19
|
+
#private;
|
|
20
|
+
readonly name: string;
|
|
21
|
+
private readonly callback;
|
|
22
|
+
readonly isPeriodic: boolean;
|
|
23
|
+
isRunning: boolean;
|
|
24
|
+
get systemId(): number;
|
|
25
|
+
constructor(name: string, duration: Duration, callback: Timer.Callback, isPeriodic: boolean);
|
|
26
|
+
/**
|
|
27
|
+
* The timer's interval.
|
|
28
|
+
*
|
|
29
|
+
* You can change this value but changes have no effect until the timer restarts.
|
|
30
|
+
*/
|
|
31
|
+
set interval(interval: Duration);
|
|
32
|
+
get interval(): Duration;
|
|
33
|
+
get utility(): boolean;
|
|
34
|
+
set utility(utility: boolean);
|
|
35
|
+
start(): this;
|
|
36
|
+
stop(): this;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=StandardTime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StandardTime.d.ts","sourceRoot":"","sources":["../../../src/time/StandardTime.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAGxC;;GAEG;AACH,qBAAa,YAAa,SAAQ,IAAI;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ;IAInE,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ;CAGvF;AAED;;GAEG;AACH,qBAAa,aAAc,YAAW,KAAK;;IAWnC,QAAQ,CAAC,IAAI,EAAE,MAAM;IAErB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,QAAQ,CAAC,UAAU,EAAE,OAAO;IAVhC,SAAS,UAAS;IAElB,IAAI,QAAQ,WAEX;gBAGY,IAAI,EAAE,MAAM,EACrB,QAAQ,EAAE,QAAQ,EACD,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAChC,UAAU,EAAE,OAAO;IAKhC;;;;OAIG;IACH,IAAI,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAO9B;IAED,IAAI,QAAQ,IATW,QAAQ,CAW9B;IAED,IAAI,OAAO,IAIU,OAAO,CAF3B;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,OAAO,EAgB3B;IAED,KAAK;IAeL,IAAI;CAMP"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
|
|
7
|
+
var __typeError = (msg) => {
|
|
8
|
+
throw TypeError(msg);
|
|
9
|
+
};
|
|
10
|
+
var __export = (target, all) => {
|
|
11
|
+
for (var name in all)
|
|
12
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
13
|
+
};
|
|
14
|
+
var __copyProps = (to, from, except, desc) => {
|
|
15
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
16
|
+
for (let key of __getOwnPropNames(from))
|
|
17
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
18
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
|
+
var __using = (stack, value, async) => {
|
|
24
|
+
if (value != null) {
|
|
25
|
+
if (typeof value !== "object" && typeof value !== "function") __typeError("Object expected");
|
|
26
|
+
var dispose, inner;
|
|
27
|
+
if (async) dispose = value[__knownSymbol("asyncDispose")];
|
|
28
|
+
if (dispose === void 0) {
|
|
29
|
+
dispose = value[__knownSymbol("dispose")];
|
|
30
|
+
if (async) inner = dispose;
|
|
31
|
+
}
|
|
32
|
+
if (typeof dispose !== "function") __typeError("Object not disposable");
|
|
33
|
+
if (inner) dispose = function() {
|
|
34
|
+
try {
|
|
35
|
+
inner.call(this);
|
|
36
|
+
} catch (e) {
|
|
37
|
+
return Promise.reject(e);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
stack.push([async, dispose, value]);
|
|
41
|
+
} else if (async) {
|
|
42
|
+
stack.push([async]);
|
|
43
|
+
}
|
|
44
|
+
return value;
|
|
45
|
+
};
|
|
46
|
+
var __callDispose = (stack, error, hasError) => {
|
|
47
|
+
var E = typeof SuppressedError === "function" ? SuppressedError : function(e, s, m, _) {
|
|
48
|
+
return _ = Error(m), _.name = "SuppressedError", _.error = e, _.suppressed = s, _;
|
|
49
|
+
};
|
|
50
|
+
var fail = (e) => error = hasError ? new E(e, error, "An error was suppressed during disposal") : (hasError = true, e);
|
|
51
|
+
var next = (it) => {
|
|
52
|
+
while (it = stack.pop()) {
|
|
53
|
+
try {
|
|
54
|
+
var result = it[1] && it[1].call(it[2]);
|
|
55
|
+
if (it[0]) return Promise.resolve(result).then(next, (e) => (fail(e), next()));
|
|
56
|
+
} catch (e) {
|
|
57
|
+
fail(e);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (hasError) throw error;
|
|
61
|
+
};
|
|
62
|
+
return next();
|
|
63
|
+
};
|
|
64
|
+
var StandardTime_exports = {};
|
|
65
|
+
__export(StandardTime_exports, {
|
|
66
|
+
StandardTime: () => StandardTime,
|
|
67
|
+
StandardTimer: () => StandardTimer
|
|
68
|
+
});
|
|
69
|
+
module.exports = __toCommonJS(StandardTime_exports);
|
|
70
|
+
var import_MatterError = require("#MatterError.js");
|
|
71
|
+
var import_Boot = require("#util/Boot.js");
|
|
72
|
+
var import_identifier_case = require("#util/identifier-case.js");
|
|
73
|
+
var import_Lifetime = require("#util/Lifetime.js");
|
|
74
|
+
var import_Time = require("./Time.js");
|
|
75
|
+
var import_TimeUnit = require("./TimeUnit.js");
|
|
76
|
+
/**
|
|
77
|
+
* @license
|
|
78
|
+
* Copyright 2022-2025 Matter.js Authors
|
|
79
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
80
|
+
*/
|
|
81
|
+
class StandardTime extends import_Time.Time {
|
|
82
|
+
getTimer(name, duration, callback) {
|
|
83
|
+
return new StandardTimer(name, duration, callback, false);
|
|
84
|
+
}
|
|
85
|
+
getPeriodicTimer(name, duration, callback) {
|
|
86
|
+
return new StandardTimer(name, duration, callback, true);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
class StandardTimer {
|
|
90
|
+
constructor(name, duration, callback, isPeriodic) {
|
|
91
|
+
this.name = name;
|
|
92
|
+
this.callback = callback;
|
|
93
|
+
this.isPeriodic = isPeriodic;
|
|
94
|
+
this.interval = duration;
|
|
95
|
+
}
|
|
96
|
+
#timerId;
|
|
97
|
+
#utility = false;
|
|
98
|
+
#interval = import_TimeUnit.Instant;
|
|
99
|
+
// Real value installed in constructor
|
|
100
|
+
isRunning = false;
|
|
101
|
+
get systemId() {
|
|
102
|
+
return Number(this.#timerId);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* The timer's interval.
|
|
106
|
+
*
|
|
107
|
+
* You can change this value but changes have no effect until the timer restarts.
|
|
108
|
+
*/
|
|
109
|
+
set interval(interval) {
|
|
110
|
+
if (interval < 0 || interval > 2147483647) {
|
|
111
|
+
throw new import_MatterError.ImplementationError(
|
|
112
|
+
`Invalid intervalMs: ${interval}. The value must be between 0 and 32-bit maximum value (2147483647)`
|
|
113
|
+
);
|
|
114
|
+
}
|
|
115
|
+
this.#interval = interval;
|
|
116
|
+
}
|
|
117
|
+
get interval() {
|
|
118
|
+
return this.#interval;
|
|
119
|
+
}
|
|
120
|
+
get utility() {
|
|
121
|
+
return this.#utility;
|
|
122
|
+
}
|
|
123
|
+
set utility(utility) {
|
|
124
|
+
if (utility === this.#utility) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
if (this.#timerId !== void 0) {
|
|
128
|
+
const timerId = this.#timerId;
|
|
129
|
+
if (utility) {
|
|
130
|
+
timerId.unref?.();
|
|
131
|
+
} else {
|
|
132
|
+
timerId.ref?.();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
this.#utility = utility;
|
|
136
|
+
}
|
|
137
|
+
start() {
|
|
138
|
+
if (this.isRunning) this.stop();
|
|
139
|
+
import_Time.Time.register(this);
|
|
140
|
+
this.isRunning = true;
|
|
141
|
+
this.#timerId = (this.isPeriodic ? setInterval : setTimeout)(() => {
|
|
142
|
+
var _stack = [];
|
|
143
|
+
try {
|
|
144
|
+
const lifetime = __using(_stack, (0, import_Lifetime.Lifetime)((0, import_identifier_case.decamelize)(this.name, " ")));
|
|
145
|
+
if (!this.isPeriodic) {
|
|
146
|
+
import_Time.Time.unregister(this);
|
|
147
|
+
this.isRunning = false;
|
|
148
|
+
}
|
|
149
|
+
this.callback(lifetime);
|
|
150
|
+
} catch (_) {
|
|
151
|
+
var _error = _, _hasError = true;
|
|
152
|
+
} finally {
|
|
153
|
+
__callDispose(_stack, _error, _hasError);
|
|
154
|
+
}
|
|
155
|
+
}, this.interval);
|
|
156
|
+
return this;
|
|
157
|
+
}
|
|
158
|
+
stop() {
|
|
159
|
+
(this.isPeriodic ? clearInterval : clearTimeout)(this.#timerId);
|
|
160
|
+
import_Time.Time.unregister(this);
|
|
161
|
+
this.isRunning = false;
|
|
162
|
+
return this;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
import_Boot.Boot.init(() => {
|
|
166
|
+
import_Time.Time.default = new StandardTime();
|
|
167
|
+
import_Time.Time.startup.systemMs = import_Time.Time.startup.processMs = import_Time.Time.nowMs;
|
|
168
|
+
if (typeof MatterHooks !== "undefined") {
|
|
169
|
+
MatterHooks?.timeSetup?.(import_Time.Time);
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
//# 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;AAAA;AAMA,yBAAoC;AACpC,kBAAqB;AACrB,6BAA2B;AAC3B,sBAAyB;AAEzB,kBAA4B;AAC5B,sBAAwB;AAZxB;AAAA;AAAA;AAAA;AAAA;AAiBO,MAAM,qBAAqB,iBAAK;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,qBAAK,SAAS,IAAI;AAClB,SAAK,YAAY;AACjB,SAAK,YAAY,KAAK,aAAa,cAAc,YAAY,MAAM;AAC/D;AAAA;AAAA,cAAM,WAAW,kDAAS,mCAAW,KAAK,MAAM,GAAG,CAAC;AACpD,YAAI,CAAC,KAAK,YAAY;AAClB,2BAAK,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,qBAAK,WAAW,IAAI;AACpB,SAAK,YAAY;AACjB,WAAO;AAAA,EACX;AACJ;AAEA,iBAAK,KAAK,MAAM;AACZ,mBAAK,UAAU,IAAI,aAAa;AAEhC,mBAAK,QAAQ,WAAW,iBAAK,QAAQ,YAAY,iBAAK;AAGtD,MAAI,OAAO,gBAAgB,aAAa;AACpC,iBAAa,YAAY,gBAAI;AAAA,EACjC;AACJ,CAAC;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
package/dist/cjs/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"}
|