@matter/cli-tool 0.17.0-alpha.0-20260507-059f7763b → 0.17.0-alpha.0-20260508-29ff5ae9e
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/package.json +9 -9
- package/dist/esm/cli.js +0 -79
- package/dist/esm/cli.js.map +0 -6
- package/dist/esm/commands/cat.js +0 -18
- package/dist/esm/commands/cat.js.map +0 -6
- package/dist/esm/commands/cd.js +0 -27
- package/dist/esm/commands/cd.js.map +0 -6
- package/dist/esm/commands/clear.js +0 -13
- package/dist/esm/commands/clear.js.map +0 -6
- package/dist/esm/commands/command.js +0 -185
- package/dist/esm/commands/command.js.map +0 -6
- package/dist/esm/commands/diff-spec.js +0 -87
- package/dist/esm/commands/diff-spec.js.map +0 -6
- package/dist/esm/commands/exit.js +0 -17
- package/dist/esm/commands/exit.js.map +0 -6
- package/dist/esm/commands/help.js +0 -88
- package/dist/esm/commands/help.js.map +0 -6
- package/dist/esm/commands/index.js +0 -16
- package/dist/esm/commands/index.js.map +0 -6
- package/dist/esm/commands/ls.js +0 -205
- package/dist/esm/commands/ls.js.map +0 -6
- package/dist/esm/commands/pwd.js +0 -14
- package/dist/esm/commands/pwd.js.map +0 -6
- package/dist/esm/commands/rm.js +0 -26
- package/dist/esm/commands/rm.js.map +0 -6
- package/dist/esm/commands/set.js +0 -30
- package/dist/esm/commands/set.js.map +0 -6
- package/dist/esm/domain.js +0 -354
- package/dist/esm/domain.js.map +0 -6
- package/dist/esm/errors.js +0 -51
- package/dist/esm/errors.js.map +0 -6
- package/dist/esm/globals.js +0 -16
- package/dist/esm/globals.js.map +0 -6
- package/dist/esm/location.js +0 -164
- package/dist/esm/location.js.map +0 -6
- package/dist/esm/package.json +0 -7
- package/dist/esm/parser.js +0 -176
- package/dist/esm/parser.js.map +0 -6
- package/dist/esm/providers/endpoint.js +0 -97
- package/dist/esm/providers/endpoint.js.map +0 -6
- package/dist/esm/providers/index.js +0 -9
- package/dist/esm/providers/index.js.map +0 -6
- package/dist/esm/providers/model.js +0 -40
- package/dist/esm/providers/model.js.map +0 -6
- package/dist/esm/providers/module.js +0 -26
- package/dist/esm/providers/module.js.map +0 -6
- package/dist/esm/repl.js +0 -378
- package/dist/esm/repl.js.map +0 -6
- package/dist/esm/stat.js +0 -69
- package/dist/esm/stat.js.map +0 -6
package/dist/esm/repl.js
DELETED
|
@@ -1,378 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { Domain } from "#domain.js";
|
|
7
|
-
import { isCommand } from "#parser.js";
|
|
8
|
-
import { Environment, Filesystem, InternalError, Millis, Observable, RuntimeService, Time } from "@matter/general";
|
|
9
|
-
import colors from "ansi-colors";
|
|
10
|
-
import { readFile } from "node:fs/promises";
|
|
11
|
-
import { dirname, join } from "node:path";
|
|
12
|
-
import { exit, stderr, stdout } from "node:process";
|
|
13
|
-
import { Recoverable, start } from "node:repl";
|
|
14
|
-
import "./commands/index.js";
|
|
15
|
-
import "./providers/index.js";
|
|
16
|
-
async function repl() {
|
|
17
|
-
const domain = await createDomain();
|
|
18
|
-
await domain.globalsLoaded;
|
|
19
|
-
stdout.write(`Welcome to ${domain.description}. Type ${colors.bold('"help"')} for help.
|
|
20
|
-
`);
|
|
21
|
-
const repl2 = createNodeRepl(domain);
|
|
22
|
-
configureInterruptHandling(repl2);
|
|
23
|
-
installEvaluationInputBuffer(repl2);
|
|
24
|
-
configureHistory(repl2);
|
|
25
|
-
addCompletionSupport(repl2);
|
|
26
|
-
instrumentReplToMaintainPrompt(repl2);
|
|
27
|
-
instrumentReplToAddLineProtector(repl2);
|
|
28
|
-
configureSpinner(repl2);
|
|
29
|
-
}
|
|
30
|
-
const SPINNER = "\u25D0\u25D3\u25D1\u25D2";
|
|
31
|
-
const SPINNER_INTERVAL = Millis(100);
|
|
32
|
-
const LINE_PROTECTOR_CHAR = "";
|
|
33
|
-
async function createDomain() {
|
|
34
|
-
const description = `${colors.bold("matter.js")} ${await readPackageVersion()}`;
|
|
35
|
-
const domain = await Domain({
|
|
36
|
-
description,
|
|
37
|
-
out(...text) {
|
|
38
|
-
stdout.write(text.join(""));
|
|
39
|
-
},
|
|
40
|
-
err(...text) {
|
|
41
|
-
let str = text.join("");
|
|
42
|
-
if (str.indexOf("\x1B") === -1) {
|
|
43
|
-
str = colors.red(str);
|
|
44
|
-
}
|
|
45
|
-
stdout.write(str);
|
|
46
|
-
},
|
|
47
|
-
get terminalWidth() {
|
|
48
|
-
return stdout.columns;
|
|
49
|
-
},
|
|
50
|
-
get colorize() {
|
|
51
|
-
return stdout.isTTY;
|
|
52
|
-
},
|
|
53
|
-
get env() {
|
|
54
|
-
return Environment.default;
|
|
55
|
-
}
|
|
56
|
-
});
|
|
57
|
-
domain.exitHandler = () => {
|
|
58
|
-
exit(0);
|
|
59
|
-
};
|
|
60
|
-
return domain;
|
|
61
|
-
}
|
|
62
|
-
async function readPackageVersion() {
|
|
63
|
-
let path = new URL(import.meta.url).pathname;
|
|
64
|
-
while (dirname(path) !== path) {
|
|
65
|
-
path = dirname(path);
|
|
66
|
-
try {
|
|
67
|
-
const pkg = await readFile(join(path, "package.json"));
|
|
68
|
-
const parsed = JSON.parse(pkg.toString());
|
|
69
|
-
if (typeof parsed.version === "string") {
|
|
70
|
-
return parsed.version;
|
|
71
|
-
}
|
|
72
|
-
} catch (e) {
|
|
73
|
-
if (e.code === "ENOENT") {
|
|
74
|
-
continue;
|
|
75
|
-
}
|
|
76
|
-
throw e;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
return "?";
|
|
80
|
-
}
|
|
81
|
-
function createNodeRepl(domain) {
|
|
82
|
-
const repl2 = start({
|
|
83
|
-
prompt: createPrompt(domain),
|
|
84
|
-
eval: evaluate,
|
|
85
|
-
ignoreUndefined: true,
|
|
86
|
-
historySize: domain.env.vars.integer("history.size", 1e4)
|
|
87
|
-
});
|
|
88
|
-
repl2.mdomain = domain;
|
|
89
|
-
repl2.evaluationModeChange = Observable();
|
|
90
|
-
repl2.keypressReceived = Observable();
|
|
91
|
-
repl2.keypressDelivering = Observable();
|
|
92
|
-
repl2.keypressDelivered = Observable();
|
|
93
|
-
repl2.outputDisplayed = Observable();
|
|
94
|
-
repl2.onNewline = true;
|
|
95
|
-
repl2.inMultilineCommand = repl2.updatingPrompt = false;
|
|
96
|
-
const onkeypress = repl2.input.listeners("keypress").find((listener) => listener.name === "onkeypress");
|
|
97
|
-
if (!onkeypress) {
|
|
98
|
-
throw new InternalError("Could not identify REPL keypress listener");
|
|
99
|
-
}
|
|
100
|
-
repl2.input.off("keypress", onkeypress);
|
|
101
|
-
repl2.deliverKeypress = (event) => {
|
|
102
|
-
repl2.keypressDelivering.emit(event);
|
|
103
|
-
onkeypress(event.str, event.key);
|
|
104
|
-
repl2.keypressDelivered.emit(event);
|
|
105
|
-
};
|
|
106
|
-
repl2.input.on("keypress", (str, key) => {
|
|
107
|
-
const event = { str, key };
|
|
108
|
-
if (repl2.keypressReceived.emit(event) === false) {
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
repl2.deliverKeypress(event);
|
|
112
|
-
});
|
|
113
|
-
return repl2;
|
|
114
|
-
}
|
|
115
|
-
function evaluate(evalCmd, _context, _file, cb) {
|
|
116
|
-
this.inMultilineCommand = false;
|
|
117
|
-
this.evaluationModeChange.emit(true);
|
|
118
|
-
evalCmd = evalCmd.replace(new RegExp(LINE_PROTECTOR_CHAR, "g"), "");
|
|
119
|
-
if (evalCmd.endsWith("\n")) {
|
|
120
|
-
evalCmd = evalCmd.slice(0, evalCmd.length - 1);
|
|
121
|
-
}
|
|
122
|
-
const result = this.mdomain.execute(evalCmd);
|
|
123
|
-
const finish = (err, result2) => {
|
|
124
|
-
cb(err, result2);
|
|
125
|
-
this.evaluationModeChange.emit(false);
|
|
126
|
-
};
|
|
127
|
-
const handleSuccess = (result2) => {
|
|
128
|
-
try {
|
|
129
|
-
this.setPrompt(createPrompt(this.mdomain));
|
|
130
|
-
if (result2 !== void 0) {
|
|
131
|
-
this.mdomain.out(`${this.mdomain.inspect(result2)}
|
|
132
|
-
`);
|
|
133
|
-
}
|
|
134
|
-
} finally {
|
|
135
|
-
finish(null, void 0);
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
|
-
const handleError = (error) => {
|
|
139
|
-
this.setPrompt(createPrompt(this.mdomain));
|
|
140
|
-
if (error.constructor.name === "IncompleteError") {
|
|
141
|
-
this.inMultilineCommand = true;
|
|
142
|
-
finish(new Recoverable(error.cause), void 0);
|
|
143
|
-
return;
|
|
144
|
-
}
|
|
145
|
-
const stack = error.stack;
|
|
146
|
-
if (stack !== void 0) {
|
|
147
|
-
const lines = stack.split("\n");
|
|
148
|
-
let specialLoc;
|
|
149
|
-
let specialLine;
|
|
150
|
-
if ("isCliError" in error) {
|
|
151
|
-
specialLine = 1;
|
|
152
|
-
} else {
|
|
153
|
-
specialLine = lines.findIndex((line) => {
|
|
154
|
-
const match = line.match(/at matter-cli-[a-z]+:(\d+:\d+)?/);
|
|
155
|
-
if (match) {
|
|
156
|
-
specialLoc = match[1];
|
|
157
|
-
return true;
|
|
158
|
-
}
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
if (specialLine === 1) {
|
|
162
|
-
if (specialLoc) {
|
|
163
|
-
error.message += ` (${specialLoc})`;
|
|
164
|
-
}
|
|
165
|
-
error.stack = `${error.constructor.name}: ${error.message}`;
|
|
166
|
-
} else if (specialLine !== -1) {
|
|
167
|
-
error.stack = lines.slice(0, specialLine + 1).join("\n");
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
this.mdomain.displayError(error);
|
|
171
|
-
finish(null, void 0);
|
|
172
|
-
};
|
|
173
|
-
result.then(handleSuccess, handleError);
|
|
174
|
-
}
|
|
175
|
-
function createPrompt(domain) {
|
|
176
|
-
return `${colors.dim("matter")} ${colors.yellow(domain.location.path)} \u276F `;
|
|
177
|
-
}
|
|
178
|
-
function configureInterruptHandling(repl2) {
|
|
179
|
-
repl2.keypressReceived.on((event) => {
|
|
180
|
-
if (!event.key.ctrl || event.key.name !== "c") {
|
|
181
|
-
return;
|
|
182
|
-
}
|
|
183
|
-
repl2.mdomain.env.get(RuntimeService).interrupt();
|
|
184
|
-
return false;
|
|
185
|
-
});
|
|
186
|
-
let evaluating = false;
|
|
187
|
-
repl2.evaluationModeChange.on((mode) => {
|
|
188
|
-
evaluating = mode;
|
|
189
|
-
});
|
|
190
|
-
repl2.mdomain.interrupted.on(() => {
|
|
191
|
-
if (evaluating || !repl2.inMultilineCommand && repl2.line === "") {
|
|
192
|
-
return;
|
|
193
|
-
}
|
|
194
|
-
repl2.inMultilineCommand = false;
|
|
195
|
-
repl2.clearBufferedCommand();
|
|
196
|
-
repl2.line = "";
|
|
197
|
-
repl2.updatingPrompt = true;
|
|
198
|
-
stdout.write("\n");
|
|
199
|
-
repl2.displayPrompt();
|
|
200
|
-
repl2.updatingPrompt = false;
|
|
201
|
-
return false;
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
|
-
function installEvaluationInputBuffer(repl2) {
|
|
205
|
-
let buffering = false;
|
|
206
|
-
const buffer = Array();
|
|
207
|
-
repl2.evaluationModeChange.on((mode) => {
|
|
208
|
-
if (mode) {
|
|
209
|
-
buffering = true;
|
|
210
|
-
} else {
|
|
211
|
-
for (let event = buffer.shift(); event; event = buffer.shift()) {
|
|
212
|
-
repl2.deliverKeypress(event);
|
|
213
|
-
}
|
|
214
|
-
buffering = false;
|
|
215
|
-
}
|
|
216
|
-
});
|
|
217
|
-
repl2.keypressReceived.on((event) => {
|
|
218
|
-
if (!buffering) {
|
|
219
|
-
return;
|
|
220
|
-
}
|
|
221
|
-
buffer.push(event);
|
|
222
|
-
return false;
|
|
223
|
-
});
|
|
224
|
-
}
|
|
225
|
-
function configureHistory(repl2) {
|
|
226
|
-
let historyPath = repl2.mdomain.env.vars.string("history.path");
|
|
227
|
-
if (historyPath === void 0) {
|
|
228
|
-
historyPath = join(repl2.mdomain.env.get(Filesystem).path, "cli-history");
|
|
229
|
-
}
|
|
230
|
-
repl2.setupHistory(historyPath, (error) => {
|
|
231
|
-
if (error) {
|
|
232
|
-
console.error(error);
|
|
233
|
-
exit(1);
|
|
234
|
-
}
|
|
235
|
-
});
|
|
236
|
-
}
|
|
237
|
-
function addCompletionSupport(repl2) {
|
|
238
|
-
const nodeCompleter = repl2.completer;
|
|
239
|
-
const complete = (line, callback) => {
|
|
240
|
-
findCompletions(line).then((result) => {
|
|
241
|
-
if (result) {
|
|
242
|
-
callback(null, result);
|
|
243
|
-
} else {
|
|
244
|
-
nodeCompleter.call(repl2, line, callback);
|
|
245
|
-
}
|
|
246
|
-
}, callback);
|
|
247
|
-
};
|
|
248
|
-
Object.defineProperty(repl2, "completer", { value: complete, configurable: true, writable: true });
|
|
249
|
-
async function findCompletions(line) {
|
|
250
|
-
if (line.endsWith("/") ? !isCommand(line.slice(0, line.length - 1)) : !isCommand(line)) {
|
|
251
|
-
return;
|
|
252
|
-
}
|
|
253
|
-
const possiblePath = line.replace(/^.*\s/u, "");
|
|
254
|
-
if (!possiblePath.match(/^[/0-9\p{L}$_%]*$/u)) {
|
|
255
|
-
return;
|
|
256
|
-
}
|
|
257
|
-
const pathsToSearch = Array();
|
|
258
|
-
const slashPos = possiblePath.lastIndexOf("/");
|
|
259
|
-
let partial;
|
|
260
|
-
if (slashPos === -1) {
|
|
261
|
-
pathsToSearch.push("");
|
|
262
|
-
pathsToSearch.push("/bin");
|
|
263
|
-
partial = possiblePath;
|
|
264
|
-
} else {
|
|
265
|
-
pathsToSearch.push(possiblePath.slice(0, slashPos));
|
|
266
|
-
partial = possiblePath.slice(slashPos + 1);
|
|
267
|
-
}
|
|
268
|
-
const completions = Array();
|
|
269
|
-
for (const path of pathsToSearch) {
|
|
270
|
-
const location = await repl2.mdomain.location.maybeAt(path);
|
|
271
|
-
if (location?.kind !== "directory") {
|
|
272
|
-
continue;
|
|
273
|
-
}
|
|
274
|
-
completions.push(...(await location.paths).filter((path2) => path2.startsWith(partial)));
|
|
275
|
-
}
|
|
276
|
-
return [completions.sort(), partial];
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
function instrumentReplToMaintainPrompt(repl2) {
|
|
280
|
-
if (!stdout.isTTY) {
|
|
281
|
-
return;
|
|
282
|
-
}
|
|
283
|
-
let evaluating = false;
|
|
284
|
-
let promptHidden = false;
|
|
285
|
-
let emitting = false;
|
|
286
|
-
instrumentStdStream(stdout);
|
|
287
|
-
instrumentStdStream(stderr);
|
|
288
|
-
repl2.keypressDelivering.on(() => {
|
|
289
|
-
repl2.updatingPrompt = true;
|
|
290
|
-
restorePrompt();
|
|
291
|
-
});
|
|
292
|
-
repl2.keypressDelivered.on(() => {
|
|
293
|
-
repl2.updatingPrompt = false;
|
|
294
|
-
});
|
|
295
|
-
repl2.evaluationModeChange.on((mode) => {
|
|
296
|
-
evaluating = mode;
|
|
297
|
-
});
|
|
298
|
-
function instrumentStdStream(stream) {
|
|
299
|
-
const actualWrite = stream.write.bind(stream);
|
|
300
|
-
stream.write = (payload, ...params) => {
|
|
301
|
-
repl2.onNewline = payload[payload.length - 1] === "\n" || payload[payload.length - 1] === "\r";
|
|
302
|
-
if (!evaluating && !promptHidden && !repl2.updatingPrompt && !emitting) {
|
|
303
|
-
promptHidden = true;
|
|
304
|
-
stdout.cursorTo(0);
|
|
305
|
-
stdout.clearLine(0);
|
|
306
|
-
queueMicrotask(restorePrompt);
|
|
307
|
-
repl2.onNewline = true;
|
|
308
|
-
}
|
|
309
|
-
if (!emitting) {
|
|
310
|
-
emitting = true;
|
|
311
|
-
try {
|
|
312
|
-
repl2.outputDisplayed.emit();
|
|
313
|
-
} finally {
|
|
314
|
-
emitting = false;
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
return actualWrite(payload, ...params);
|
|
318
|
-
};
|
|
319
|
-
}
|
|
320
|
-
function restorePrompt() {
|
|
321
|
-
if (!promptHidden) {
|
|
322
|
-
return;
|
|
323
|
-
}
|
|
324
|
-
if (!repl2.onNewline) {
|
|
325
|
-
stdout.write("\n");
|
|
326
|
-
}
|
|
327
|
-
repl2?.displayPrompt(true);
|
|
328
|
-
promptHidden = false;
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
function instrumentReplToAddLineProtector(repl2) {
|
|
332
|
-
const realEmit = repl2.emit;
|
|
333
|
-
repl2.emit = (event, ...args) => {
|
|
334
|
-
if (event === "line") {
|
|
335
|
-
args[0] = `${LINE_PROTECTOR_CHAR}${args[0]}`;
|
|
336
|
-
}
|
|
337
|
-
return realEmit.call(repl2, event, ...args);
|
|
338
|
-
};
|
|
339
|
-
}
|
|
340
|
-
function configureSpinner(repl2) {
|
|
341
|
-
let spinnerVisible = false;
|
|
342
|
-
let spinnerPhase = 0;
|
|
343
|
-
const spinner = Time.getPeriodicTimer("cli-spinner", SPINNER_INTERVAL, spin);
|
|
344
|
-
function spin() {
|
|
345
|
-
if (!repl2.onNewline) {
|
|
346
|
-
repl2.mdomain.out("\n");
|
|
347
|
-
}
|
|
348
|
-
if (spinnerVisible) {
|
|
349
|
-
stdout.cursorTo(0);
|
|
350
|
-
stdout.clearLine(0);
|
|
351
|
-
}
|
|
352
|
-
stdout.write(colors.yellow(" " + SPINNER[spinnerPhase % SPINNER.length]));
|
|
353
|
-
stdout.cursorTo(0);
|
|
354
|
-
repl2.onNewline = true;
|
|
355
|
-
spinnerPhase++;
|
|
356
|
-
spinnerVisible = true;
|
|
357
|
-
}
|
|
358
|
-
repl2.evaluationModeChange.on((mode) => {
|
|
359
|
-
if (mode) {
|
|
360
|
-
spinner.start();
|
|
361
|
-
} else {
|
|
362
|
-
spinner.stop();
|
|
363
|
-
spinnerVisible = false;
|
|
364
|
-
}
|
|
365
|
-
});
|
|
366
|
-
repl2.outputDisplayed.on(() => {
|
|
367
|
-
if (!spinnerVisible) {
|
|
368
|
-
return;
|
|
369
|
-
}
|
|
370
|
-
const onNewline = repl2.onNewline;
|
|
371
|
-
stdout.clearLine(1);
|
|
372
|
-
repl2.onNewline = onNewline;
|
|
373
|
-
});
|
|
374
|
-
}
|
|
375
|
-
export {
|
|
376
|
-
repl
|
|
377
|
-
};
|
|
378
|
-
//# sourceMappingURL=repl.js.map
|
package/dist/esm/repl.js.map
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/repl.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": ["repl", "result", "path"]
|
|
6
|
-
}
|
package/dist/esm/stat.js
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022-2026 Matter.js Authors
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { undefinedValue } from "#location.js";
|
|
7
|
-
import { Bytes } from "@matter/general";
|
|
8
|
-
function Directory(options) {
|
|
9
|
-
const { name, summary, id, tag, paths, definitionAt } = options;
|
|
10
|
-
return {
|
|
11
|
-
kind: "directory",
|
|
12
|
-
name,
|
|
13
|
-
summary,
|
|
14
|
-
id,
|
|
15
|
-
tag,
|
|
16
|
-
get paths() {
|
|
17
|
-
return paths();
|
|
18
|
-
},
|
|
19
|
-
definitionAt(path) {
|
|
20
|
-
return definitionAt(path);
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
const providers = Array();
|
|
25
|
-
var Stat;
|
|
26
|
-
((Stat2) => {
|
|
27
|
-
function of(definition) {
|
|
28
|
-
for (const provider of providers) {
|
|
29
|
-
const stat = provider(definition);
|
|
30
|
-
if (stat) {
|
|
31
|
-
return stat;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
if (isDirectory(definition)) {
|
|
35
|
-
return {
|
|
36
|
-
kind: "directory",
|
|
37
|
-
get paths() {
|
|
38
|
-
return Object.keys(definition);
|
|
39
|
-
},
|
|
40
|
-
definitionAt(path) {
|
|
41
|
-
if (Object.hasOwn(definition, path)) {
|
|
42
|
-
const value = definition[path];
|
|
43
|
-
if (value === void 0) {
|
|
44
|
-
return undefinedValue;
|
|
45
|
-
}
|
|
46
|
-
return value;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
return {
|
|
52
|
-
kind: "file"
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
Stat2.of = of;
|
|
56
|
-
function provide(provider) {
|
|
57
|
-
providers.push(provider);
|
|
58
|
-
}
|
|
59
|
-
Stat2.provide = provide;
|
|
60
|
-
function isDirectory(definition) {
|
|
61
|
-
return typeof definition === "object" && definition !== null && !Array.isArray(definition) && !Bytes.isBytes(definition) && !(definition instanceof Date) && !(definition.constructor.name === "BasicObservable");
|
|
62
|
-
}
|
|
63
|
-
Stat2.isDirectory = isDirectory;
|
|
64
|
-
})(Stat || (Stat = {}));
|
|
65
|
-
export {
|
|
66
|
-
Directory,
|
|
67
|
-
Stat
|
|
68
|
-
};
|
|
69
|
-
//# sourceMappingURL=stat.js.map
|
package/dist/esm/stat.js.map
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/stat.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,sBAAsB;AAC/B,SAAS,aAA2B;AAkB7B,SAAS,UAAU,SAOZ;AACV,QAAM,EAAE,MAAM,SAAS,IAAI,KAAK,OAAO,aAAa,IAAI;AACxD,SAAO;AAAA,IACH,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA,IAAI,QAAQ;AACR,aAAO,MAAM;AAAA,IACjB;AAAA,IAEA,aAAa,MAAc;AACvB,aAAO,aAAa,IAAI;AAAA,IAC5B;AAAA,EACJ;AACJ;AAWA,MAAM,YAAY,MAAoB;AAE/B,IAAU;AAAA,CAAV,CAAUA,UAAV;AAWI,WAAS,GAAG,YAA2B;AAC1C,eAAW,YAAY,WAAW;AAC9B,YAAM,OAAO,SAAS,UAAU;AAChC,UAAI,MAAM;AACN,eAAO;AAAA,MACX;AAAA,IACJ;AAEA,QAAI,YAAY,UAAU,GAAG;AACzB,aAAO;AAAA,QACH,MAAM;AAAA,QAEN,IAAI,QAAQ;AACR,iBAAO,OAAO,KAAK,UAAU;AAAA,QACjC;AAAA,QAEA,aAAa,MAAc;AACvB,cAAI,OAAO,OAAO,YAAY,IAAI,GAAG;AACjC,kBAAM,QAAQ,WAAW,IAAI;AAC7B,gBAAI,UAAU,QAAW;AACrB,qBAAO;AAAA,YACX;AACA,mBAAO;AAAA,UACX;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,MAAM;AAAA,IACV;AAAA,EACJ;AA/BO,EAAAA,MAAS;AAoCT,WAAS,QAAQ,UAAwB;AAC5C,cAAU,KAAK,QAAQ;AAAA,EAC3B;AAFO,EAAAA,MAAS;AAOT,WAAS,YAAY,YAA4D;AACpF,WACI,OAAO,eAAe,YACtB,eAAe,QACf,CAAC,MAAM,QAAQ,UAAU,KACzB,CAAC,MAAM,QAAQ,UAAU,KACzB,EAAE,sBAAsB,SACxB,EAAE,WAAW,YAAY,SAAS;AAAA,EAE1C;AATO,EAAAA,MAAS;AAAA,GAtDH;",
|
|
5
|
-
"names": ["Stat"]
|
|
6
|
-
}
|