manageos 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/README.md +142 -0
  2. package/dist/audio.d.ts +38 -0
  3. package/dist/audio.d.ts.map +1 -0
  4. package/dist/audio.js +178 -0
  5. package/dist/audio.js.map +1 -0
  6. package/dist/clipboard.d.ts +16 -0
  7. package/dist/clipboard.d.ts.map +1 -0
  8. package/dist/clipboard.js +56 -0
  9. package/dist/clipboard.js.map +1 -0
  10. package/dist/encryption.d.ts +16 -0
  11. package/dist/encryption.d.ts.map +1 -0
  12. package/dist/encryption.js +53 -0
  13. package/dist/encryption.js.map +1 -0
  14. package/dist/filesystem.d.ts +2 -0
  15. package/dist/filesystem.d.ts.map +1 -1
  16. package/dist/filesystem.js +40 -15
  17. package/dist/filesystem.js.map +1 -1
  18. package/dist/firewall.d.ts +39 -0
  19. package/dist/firewall.d.ts.map +1 -0
  20. package/dist/firewall.js +116 -0
  21. package/dist/firewall.js.map +1 -0
  22. package/dist/index.d.ts +22 -2
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +37 -11
  25. package/dist/index.js.map +1 -1
  26. package/dist/network.d.ts +82 -0
  27. package/dist/network.d.ts.map +1 -0
  28. package/dist/network.js +355 -0
  29. package/dist/network.js.map +1 -0
  30. package/dist/notification.d.ts +81 -0
  31. package/dist/notification.d.ts.map +1 -0
  32. package/dist/notification.js +146 -0
  33. package/dist/notification.js.map +1 -0
  34. package/dist/power.d.ts +18 -0
  35. package/dist/power.d.ts.map +1 -0
  36. package/dist/power.js +65 -0
  37. package/dist/power.js.map +1 -0
  38. package/dist/regedit.js +38 -2
  39. package/dist/regedit.js.map +1 -1
  40. package/dist/screen.d.ts +11 -0
  41. package/dist/screen.d.ts.map +1 -0
  42. package/dist/screen.js +13 -0
  43. package/dist/screen.js.map +1 -0
  44. package/dist/services.d.ts +60 -0
  45. package/dist/services.d.ts.map +1 -0
  46. package/dist/services.js +322 -0
  47. package/dist/services.js.map +1 -0
  48. package/dist/systeminfo.js +21 -15
  49. package/dist/systeminfo.js.map +1 -1
  50. package/dist/taskmgr.js +11 -8
  51. package/dist/taskmgr.js.map +1 -1
  52. package/dist/uac.d.ts +28 -0
  53. package/dist/uac.d.ts.map +1 -0
  54. package/dist/uac.js +69 -0
  55. package/dist/uac.js.map +1 -0
  56. package/dist/{usermanager.d.ts → users.d.ts} +2 -2
  57. package/dist/users.d.ts.map +1 -0
  58. package/dist/{usermanager.js → users.js} +7 -4
  59. package/dist/users.js.map +1 -0
  60. package/package.json +11 -1
  61. package/dist/usermanager.d.ts.map +0 -1
  62. package/dist/usermanager.js.map +0 -1
@@ -0,0 +1,355 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const child_process_1 = require("child_process");
7
+ const ping_1 = __importDefault(require("ping"));
8
+ const deasync_1 = __importDefault(require("deasync"));
9
+ function parseWifiProfile(output) {
10
+ const lines = output
11
+ .split(/\r?\n/)
12
+ .map((l) => l.trim())
13
+ .filter(Boolean);
14
+ const result = {};
15
+ function normalizeValue(value) {
16
+ const v = value.toLowerCase();
17
+ if (["yes", "present", "enabled"].includes(v))
18
+ return true;
19
+ if (["no", "not present", "disabled"].includes(v))
20
+ return false;
21
+ if (!isNaN(Number(value)))
22
+ return Number(value);
23
+ return value;
24
+ }
25
+ for (const line of lines) {
26
+ const match = line.match(/^(.+?)\s*:\s*(.*)$/);
27
+ if (match) {
28
+ const key = match[1]
29
+ .trim()
30
+ .replace(/\s+/g, " ")
31
+ .replace(/[- ]+([a-zA-Z0-9])/g, (_, c) => c.toUpperCase())
32
+ .replace(/^([A-Z])/, (m) => m.toLowerCase());
33
+ const value = match[2].trim().replace(/^"|"$/g, "");
34
+ result[key] = normalizeValue(value);
35
+ }
36
+ }
37
+ return {
38
+ name: result.name ?? null,
39
+ ssid: result.ssidName ?? result.sSIDName ?? null,
40
+ networkType: result.networkType ?? null,
41
+ radioType: result.radioType ?? null,
42
+ authentication: result.authentication ?? null,
43
+ cipher: result.cipher ?? null,
44
+ keyContent: result.keyContent ?? null,
45
+ raw: result,
46
+ };
47
+ }
48
+ function parsePingOutput(output) {
49
+ const lines = output
50
+ .split(/\r?\n/)
51
+ .map((line) => line.trim())
52
+ .filter((line) => line);
53
+ let stats = {};
54
+ for (let line of lines) {
55
+ if (line.toLowerCase().startsWith("packets:")) {
56
+ const match = line.match(/Sent\s*=\s*(\d+),\s*Received\s*=\s*(\d+),\s*Lost\s*=\s*(\d+)/i);
57
+ if (match) {
58
+ stats.packets = {
59
+ sent: Number(match[1]),
60
+ received: Number(match[2]),
61
+ lost: Number(match[3]),
62
+ };
63
+ }
64
+ }
65
+ if (line.toLowerCase().startsWith("minimum =")) {
66
+ const match = line.match(/Minimum\s*=\s*(\d+)ms,\s*Maximum\s*=\s*(\d+)ms,\s*Average\s*=\s*(\d+)ms/i);
67
+ if (match) {
68
+ stats.times = {
69
+ min: Number(match[1]),
70
+ max: Number(match[2]),
71
+ avg: Number(match[3]),
72
+ };
73
+ }
74
+ }
75
+ }
76
+ return stats;
77
+ }
78
+ function convertPingResultToJson(res) {
79
+ if (!res || !res.alive) {
80
+ return {
81
+ host: res?.host || null,
82
+ alive: false,
83
+ time: null,
84
+ numeric_host: res?.numeric_host || null,
85
+ details: null,
86
+ };
87
+ }
88
+ const stats = parsePingOutput(res.output);
89
+ return {
90
+ host: res.host,
91
+ alive: res.alive,
92
+ time: Number(res.time) || null,
93
+ numeric_host: res.numeric_host,
94
+ details: stats,
95
+ };
96
+ }
97
+ function parseWifiNetworks(output) {
98
+ const lines = output.split(/\r?\n/);
99
+ const networks = [];
100
+ let currentNetwork = null;
101
+ let currentBSSID = null;
102
+ const trimKey = (key) => key
103
+ .replace(/\.+/g, "")
104
+ .replace(/\s+/g, " ")
105
+ .trim()
106
+ .replace(/[- ]+([a-zA-Z0-9])/g, (_, chr) => chr.toUpperCase())
107
+ .replace(/^([A-Z])/, (m) => m.toLowerCase());
108
+ for (let line of lines) {
109
+ line = line.trim();
110
+ if (!line)
111
+ continue;
112
+ const ssidMatch = line.match(/^SSID\s+\d+\s+:\s+(.*)$/i);
113
+ if (ssidMatch) {
114
+ if (currentNetwork)
115
+ networks.push(currentNetwork);
116
+ currentNetwork = { ssid: ssidMatch[1], bssids: [] };
117
+ currentBSSID = null;
118
+ continue;
119
+ }
120
+ const interfaceMatch = line.match(/^Interface name\s+:\s+(.*)$/i);
121
+ if (interfaceMatch) {
122
+ if (currentNetwork)
123
+ networks.push(currentNetwork);
124
+ currentNetwork = { interfaceName: interfaceMatch[1], bssids: [] };
125
+ currentBSSID = null;
126
+ continue;
127
+ }
128
+ const bssidMatch = line.match(/^BSSID\s+\d+\s+:\s+(.*)$/i);
129
+ if (bssidMatch && currentNetwork) {
130
+ currentBSSID = { bssid: bssidMatch[1] };
131
+ currentNetwork.bssids.push(currentBSSID);
132
+ continue;
133
+ }
134
+ const kvMatch = line.match(/^(.+?)\s+:\s+(.*)$/);
135
+ if (kvMatch) {
136
+ const key = trimKey(kvMatch[1]);
137
+ const value = kvMatch[2].trim();
138
+ if (currentBSSID) {
139
+ currentBSSID[key] = value;
140
+ }
141
+ else if (currentNetwork) {
142
+ currentNetwork[key] = value;
143
+ }
144
+ }
145
+ }
146
+ if (currentNetwork)
147
+ networks.push(currentNetwork);
148
+ return networks;
149
+ }
150
+ function toCamelCase(str) {
151
+ return str
152
+ .replace(/\.+/g, "")
153
+ .replace(/\s+/g, " ")
154
+ .trim()
155
+ .replace(/[- ]+([a-zA-Z0-9])/g, (_, chr) => chr.toUpperCase())
156
+ .replace(/^([A-Z])/, (m) => m.toLowerCase());
157
+ }
158
+ function parseIpconfig(output) {
159
+ const lines = output.split(/\r?\n/);
160
+ const adapters = [];
161
+ let currentAdapter = null;
162
+ for (let line of lines) {
163
+ line = line.trim();
164
+ if (!line)
165
+ continue;
166
+ if (/adapter/i.test(line)) {
167
+ if (currentAdapter)
168
+ adapters.push(currentAdapter);
169
+ currentAdapter = { name: line.replace(":", "") };
170
+ }
171
+ else if (currentAdapter) {
172
+ const match = line.match(/^(.+?)\s*:\s*(.*)$/);
173
+ if (match) {
174
+ const key = toCamelCase(match[1]);
175
+ const value = match[2].trim();
176
+ if (currentAdapter[key]) {
177
+ if (Array.isArray(currentAdapter[key])) {
178
+ currentAdapter[key].push(value);
179
+ }
180
+ else {
181
+ currentAdapter[key] = [currentAdapter[key], value];
182
+ }
183
+ }
184
+ else {
185
+ currentAdapter[key] = value;
186
+ }
187
+ }
188
+ }
189
+ }
190
+ if (currentAdapter)
191
+ adapters.push(currentAdapter);
192
+ return adapters;
193
+ }
194
+ class Sync {
195
+ static connectWifi(profileName, interfaceName = "Wi‑Fi") {
196
+ try {
197
+ (0, child_process_1.execSync)(`netsh wlan connect name="${profileName}" interface="${interfaceName}"`, { stdio: "ignore" });
198
+ return { success: true };
199
+ }
200
+ catch (err) {
201
+ return { success: false, error: err.message };
202
+ }
203
+ }
204
+ static disconnectWifi() {
205
+ try {
206
+ (0, child_process_1.execSync)(`netsh wlan disconnect`, { stdio: "ignore" });
207
+ return true;
208
+ }
209
+ catch (err) {
210
+ return false;
211
+ }
212
+ }
213
+ static wifiProfile(ssid) {
214
+ try {
215
+ const stdout = (0, child_process_1.execSync)(`netsh wlan show profile name="${ssid}" key=clear`, { encoding: "utf8" });
216
+ return parseWifiProfile(stdout);
217
+ }
218
+ catch (err) {
219
+ return null;
220
+ }
221
+ }
222
+ static interfaces() {
223
+ try {
224
+ const raw = (0, child_process_1.execSync)("ipconfig /all", {
225
+ encoding: "utf8",
226
+ });
227
+ return parseIpconfig(raw);
228
+ }
229
+ catch {
230
+ return [];
231
+ }
232
+ }
233
+ static ping(hosts, callback) {
234
+ const hostList = Array.isArray(hosts) ? hosts : [hosts];
235
+ const results = [];
236
+ hostList.forEach((host) => {
237
+ let result = null;
238
+ let done = false;
239
+ ping_1.default.promise
240
+ .probe(host, { timeout: 5 })
241
+ .then((res) => {
242
+ result = res;
243
+ done = true;
244
+ })
245
+ .catch(() => {
246
+ result = {
247
+ host,
248
+ alive: false,
249
+ time: null,
250
+ output: "",
251
+ numeric_host: null,
252
+ error: "Ping failed",
253
+ };
254
+ done = true;
255
+ });
256
+ while (!done) {
257
+ deasync_1.default.sleep(100);
258
+ }
259
+ const jsonResult = convertPingResultToJson(result);
260
+ callback(jsonResult);
261
+ results.push(jsonResult);
262
+ });
263
+ return results;
264
+ }
265
+ static wifiNetworks() {
266
+ try {
267
+ const raw = (0, child_process_1.execSync)("netsh wlan show networks mode=bssid", {
268
+ encoding: "utf8",
269
+ });
270
+ return parseWifiNetworks(raw);
271
+ }
272
+ catch {
273
+ return [];
274
+ }
275
+ }
276
+ }
277
+ class Async {
278
+ static connectWifi(profileName, interfaceName = "Wi‑Fi") {
279
+ return new Promise((resolve) => {
280
+ (0, child_process_1.exec)(`netsh wlan connect name="${profileName}" interface="${interfaceName}"`, { encoding: "utf8" }, (err) => {
281
+ if (err) {
282
+ return resolve({ success: false, error: err.message });
283
+ }
284
+ resolve({ success: true });
285
+ });
286
+ });
287
+ }
288
+ static disconnectWifi() {
289
+ return new Promise((resolve) => {
290
+ (0, child_process_1.exec)(`netsh wlan disconnect`, { encoding: "utf8" }, (err) => {
291
+ resolve(!err);
292
+ });
293
+ });
294
+ }
295
+ static async wifiProfile(ssid) {
296
+ return new Promise((resolve) => {
297
+ (0, child_process_1.exec)(`netsh wlan show profile name="${ssid}" key=clear`, { encoding: "utf8" }, (err, stdout) => {
298
+ if (err) {
299
+ return resolve(null);
300
+ }
301
+ resolve(parseWifiProfile(stdout));
302
+ });
303
+ });
304
+ }
305
+ static interfaces() {
306
+ return new Promise((resolve, reject) => {
307
+ (0, child_process_1.exec)("ipconfig /all", (err, stdout) => {
308
+ if (err)
309
+ return reject(err);
310
+ resolve(parseIpconfig(stdout));
311
+ });
312
+ });
313
+ }
314
+ static async ping(hosts, callback) {
315
+ const hostList = Array.isArray(hosts) ? hosts : [hosts];
316
+ const results = await Promise.all(hostList.map(async (host) => {
317
+ try {
318
+ const res = await ping_1.default.promise.probe(host, { timeout: 5 });
319
+ const jsonResult = convertPingResultToJson(res);
320
+ if (callback)
321
+ callback(jsonResult);
322
+ return jsonResult;
323
+ }
324
+ catch {
325
+ const failed = {
326
+ host,
327
+ alive: false,
328
+ time: null,
329
+ numeric_host: null,
330
+ details: null,
331
+ error: "Ping failed",
332
+ };
333
+ if (callback)
334
+ callback(failed);
335
+ return failed;
336
+ }
337
+ }));
338
+ return results;
339
+ }
340
+ static wifiNetworks() {
341
+ return new Promise((resolve, reject) => {
342
+ (0, child_process_1.exec)("netsh wlan show networks mode=bssid", (err, stdout) => {
343
+ if (err)
344
+ return reject(err);
345
+ resolve(parseWifiNetworks(stdout));
346
+ });
347
+ });
348
+ }
349
+ }
350
+ class Network {
351
+ static sync = Sync;
352
+ static async = Async;
353
+ }
354
+ exports.default = Network;
355
+ //# sourceMappingURL=network.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../src/network.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ import { Notification as NotifierNotification } from "node-notifier";
2
+ type NotificationOptions = NotifierNotification & {
3
+ iconPath?: string;
4
+ title?: string;
5
+ message?: string;
6
+ subtitle?: string;
7
+ sound?: boolean | string;
8
+ wait?: boolean;
9
+ timeout?: number;
10
+ closeLabel?: string;
11
+ actions?: string[];
12
+ dropdownLabel?: string;
13
+ reply?: boolean;
14
+ id?: number;
15
+ open?: string;
16
+ url?: string;
17
+ contentImage?: string;
18
+ launch?: string;
19
+ type?: string;
20
+ appID?: string;
21
+ };
22
+ /**
23
+ * Notification result type
24
+ */
25
+ type NotificationResult = {
26
+ success: boolean;
27
+ error?: Error;
28
+ };
29
+ declare class Async {
30
+ /**
31
+ * Send a fully customizable native desktop notification asynchronously
32
+ */
33
+ static sendNotification(options: NotificationOptions): Promise<NotificationResult>;
34
+ /**
35
+ * Send a notification with a callback asynchronously
36
+ */
37
+ static sendNotificationWithCallback(options: NotificationOptions): Promise<{
38
+ error: Error | null;
39
+ response: string;
40
+ }>;
41
+ /**
42
+ * Listen to notifier events (click, timeout, etc.) asynchronously
43
+ */
44
+ static on(event: "click" | "timeout" | string, listener: (...args: any[]) => void): Promise<void>;
45
+ /**
46
+ * Remove a specific listener for an event asynchronously
47
+ */
48
+ static off(event: "click" | "timeout" | string, listener: (...args: any[]) => void): Promise<void>;
49
+ /**
50
+ * Remove all listeners for an event asynchronously
51
+ */
52
+ static removeAllListeners(event?: string): Promise<void>;
53
+ }
54
+ declare class Sync {
55
+ /**
56
+ * Send a fully customizable native desktop notification
57
+ */
58
+ static sendNotification(options: NotificationOptions): NotificationResult;
59
+ /**
60
+ * Send a notification with a callback
61
+ */
62
+ static sendNotificationWithCallback(options: NotificationOptions, callback: (error: Error | null, response: string) => void): void;
63
+ /**
64
+ * Listen to notifier events (click, timeout, etc.)
65
+ */
66
+ static on(event: "click" | "timeout" | string, listener: (...args: any[]) => void): void;
67
+ /**
68
+ * Remove a specific listener for an event
69
+ */
70
+ static off(event: "click" | "timeout" | string, listener: (...args: any[]) => void): void;
71
+ /**
72
+ * Remove all listeners for an event
73
+ */
74
+ static removeAllListeners(event?: string): void;
75
+ }
76
+ export default class Notification {
77
+ readonly Sync: typeof Sync;
78
+ readonly Async: typeof Async;
79
+ }
80
+ export {};
81
+ //# sourceMappingURL=notification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification.d.ts","sourceRoot":"","sources":["../src/notification.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const node_notifier_1 = __importDefault(require("node-notifier"));
7
+ const path_1 = __importDefault(require("path"));
8
+ class Async {
9
+ /**
10
+ * Send a fully customizable native desktop notification asynchronously
11
+ */
12
+ static async sendNotification(options) {
13
+ return new Promise((resolve) => {
14
+ try {
15
+ if (options.iconPath) {
16
+ options.icon = path_1.default.resolve(options.iconPath);
17
+ }
18
+ node_notifier_1.default.notify(options, (err) => {
19
+ resolve({
20
+ success: !err,
21
+ error: err instanceof Error
22
+ ? err
23
+ : err
24
+ ? new Error(String(err))
25
+ : undefined,
26
+ });
27
+ });
28
+ }
29
+ catch (error) {
30
+ resolve({
31
+ success: false,
32
+ error: error instanceof Error ? error : new Error(String(error)),
33
+ });
34
+ }
35
+ });
36
+ }
37
+ /**
38
+ * Send a notification with a callback asynchronously
39
+ */
40
+ static async sendNotificationWithCallback(options) {
41
+ return new Promise((resolve) => {
42
+ try {
43
+ if (options.iconPath) {
44
+ options.icon = path_1.default.resolve(options.iconPath);
45
+ }
46
+ node_notifier_1.default.notify(options, (err, response) => {
47
+ resolve({
48
+ error: err instanceof Error ? err : err ? new Error(String(err)) : null,
49
+ response: response || "",
50
+ });
51
+ });
52
+ }
53
+ catch (error) {
54
+ resolve({
55
+ error: error instanceof Error ? error : new Error(String(error)),
56
+ response: "",
57
+ });
58
+ }
59
+ });
60
+ }
61
+ /**
62
+ * Listen to notifier events (click, timeout, etc.) asynchronously
63
+ */
64
+ static async on(event, listener) {
65
+ return new Promise((resolve) => {
66
+ node_notifier_1.default.on(event, listener);
67
+ resolve();
68
+ });
69
+ }
70
+ /**
71
+ * Remove a specific listener for an event asynchronously
72
+ */
73
+ static async off(event, listener) {
74
+ return new Promise((resolve) => {
75
+ node_notifier_1.default.removeListener(event, listener);
76
+ resolve();
77
+ });
78
+ }
79
+ /**
80
+ * Remove all listeners for an event asynchronously
81
+ */
82
+ static async removeAllListeners(event) {
83
+ return new Promise((resolve) => {
84
+ node_notifier_1.default.removeAllListeners(event);
85
+ resolve();
86
+ });
87
+ }
88
+ }
89
+ class Sync {
90
+ /**
91
+ * Send a fully customizable native desktop notification
92
+ */
93
+ static sendNotification(options) {
94
+ try {
95
+ if (options.iconPath) {
96
+ options.icon = path_1.default.resolve(options.iconPath);
97
+ }
98
+ node_notifier_1.default.notify(options);
99
+ return { success: true };
100
+ }
101
+ catch (error) {
102
+ return {
103
+ success: false,
104
+ error: error instanceof Error ? error : new Error(String(error)),
105
+ };
106
+ }
107
+ }
108
+ /**
109
+ * Send a notification with a callback
110
+ */
111
+ static sendNotificationWithCallback(options, callback) {
112
+ try {
113
+ if (options.iconPath) {
114
+ options.icon = path_1.default.resolve(options.iconPath);
115
+ }
116
+ node_notifier_1.default.notify(options, callback);
117
+ }
118
+ catch (error) {
119
+ callback(error instanceof Error ? error : new Error(String(error)), "");
120
+ }
121
+ }
122
+ /**
123
+ * Listen to notifier events (click, timeout, etc.)
124
+ */
125
+ static on(event, listener) {
126
+ node_notifier_1.default.on(event, listener);
127
+ }
128
+ /**
129
+ * Remove a specific listener for an event
130
+ */
131
+ static off(event, listener) {
132
+ node_notifier_1.default.removeListener(event, listener);
133
+ }
134
+ /**
135
+ * Remove all listeners for an event
136
+ */
137
+ static removeAllListeners(event) {
138
+ node_notifier_1.default.removeAllListeners(event);
139
+ }
140
+ }
141
+ class Notification {
142
+ Sync = Sync;
143
+ Async = Async;
144
+ }
145
+ exports.default = Notification;
146
+ //# sourceMappingURL=notification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"notification.js","sourceRoot":"","sources":["../src/notification.ts"],"names":[],"mappings":";;;;;AAAA,kEAA+E;AAC/E,gDAAwB;AA+BxB,MAAM,KAAK;IACT;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAC3B,OAA4B;QAE5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC;gBACH,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACrB,OAAO,CAAC,IAAI,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAChD,CAAC;gBACD,uBAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;oBAC/B,OAAO,CAAC;wBACN,OAAO,EAAE,CAAC,GAAG;wBACb,KAAK,EACH,GAAG,YAAY,KAAK;4BAClB,CAAC,CAAC,GAAG;4BACL,CAAC,CAAC,GAAG;gCACL,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gCACxB,CAAC,CAAC,SAAS;qBAChB,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC;oBACN,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;iBACjE,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,4BAA4B,CACvC,OAA4B;QAE5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC;gBACH,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACrB,OAAO,CAAC,IAAI,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAChD,CAAC;gBACD,uBAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;oBACzC,OAAO,CAAC;wBACN,KAAK,EACH,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;wBAClE,QAAQ,EAAE,QAAQ,IAAI,EAAE;qBACzB,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC;oBACN,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAChE,QAAQ,EAAE,EAAE;iBACb,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,EAAE,CACb,KAAmC,EACnC,QAAkC;QAElC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,uBAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC7B,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,CACd,KAAmC,EACnC,QAAkC;QAElC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,uBAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACzC,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAc;QAC5C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,uBAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACnC,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,IAAI;IACR;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,OAA4B;QAClD,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,OAAO,CAAC,IAAI,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAChD,CAAC;YACD,uBAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACzB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACjE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,4BAA4B,CACjC,OAA4B,EAC5B,QAAyD;QAEzD,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,OAAO,CAAC,IAAI,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAChD,CAAC;YACD,uBAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,EAAE,CACP,KAAmC,EACnC,QAAkC;QAElC,uBAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,GAAG,CACR,KAAmC,EACnC,QAAkC;QAElC,uBAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,KAAc;QACtC,uBAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;CACF;AAED,MAAqB,YAAY;IACf,IAAI,GAAG,IAAI,CAAC;IACZ,KAAK,GAAG,KAAK,CAAC;CAC/B;AAHD,+BAGC"}
@@ -0,0 +1,18 @@
1
+ declare class Async {
2
+ static lock(): Promise<void>;
3
+ static restart(): Promise<void>;
4
+ static sleep(): Promise<void>;
5
+ static shutdown(): Promise<void>;
6
+ }
7
+ declare class Sync {
8
+ static lock(): void;
9
+ static restart(): void;
10
+ static sleep(): void;
11
+ static shutdown(): void;
12
+ }
13
+ export default class Power {
14
+ readonly Sync: typeof Sync;
15
+ readonly Async: typeof Async;
16
+ }
17
+ export {};
18
+ //# sourceMappingURL=power.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"power.d.ts","sourceRoot":"","sources":["../src/power.ts"],"names":[],"mappings":"AAEA,cAAM,KAAK;IACT,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAS5B,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAS/B,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAS7B,MAAM,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAQjC;AAED,cAAM,IAAI;IACR,MAAM,CAAC,IAAI,IAAI,IAAI;IAInB,MAAM,CAAC,OAAO,IAAI,IAAI;IAItB,MAAM,CAAC,KAAK,IAAI,IAAI;IAIpB,MAAM,CAAC,QAAQ,IAAI,IAAI;CAGxB;AAED,MAAM,CAAC,OAAO,OAAO,KAAK;IACxB,SAAgB,IAAI,cAAQ;IAC5B,SAAgB,KAAK,eAAS;CAC/B"}