@poe-platform/safe-bash 0.1.520 → 0.1.521

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.
@@ -0,0 +1,28 @@
1
+ import { type CommandContext, type FileStat } from "../contracts/index.js";
2
+ import { type ShellValue } from "../contracts/value.js";
3
+ export interface FindFormatEntry {
4
+ readonly display: string;
5
+ readonly root: string;
6
+ readonly relative: string;
7
+ readonly depth: number;
8
+ readonly stat: FileStat;
9
+ }
10
+ /** Invocation-wide limits apply across every format action and matched entry. */
11
+ export declare class FindFormatBudget {
12
+ readonly context: CommandContext;
13
+ private arguments;
14
+ private steps;
15
+ private bytes;
16
+ private untilYield;
17
+ exhausted: boolean;
18
+ constructor(context: CommandContext);
19
+ fail(label: string): never;
20
+ admitFormat(length: number): void;
21
+ step(count?: number): Promise<void>;
22
+ write(bytes: Uint8Array): Promise<void>;
23
+ admitOutput(length: number): void;
24
+ text(text: string): Promise<void>;
25
+ }
26
+ /** Linear scan in admitted format bytes; no native formatting or regexp engine. */
27
+ export declare function compileFindFormat(value: ShellValue, budget: FindFormatBudget): Promise<(entry: FindFormatEntry) => Promise<void>>;
28
+ //# sourceMappingURL=find-format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-format.d.ts","sourceRoot":"","sources":["../../src/commands/find-format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,cAAc,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAyC,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAI/F,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;CACzB;AAKD,iFAAiF;AACjF,qBAAa,gBAAgB;IAOf,QAAQ,CAAC,OAAO,EAAE,cAAc;IAN5C,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,UAAU,CAAQ;IAC1B,SAAS,UAAS;gBAEG,OAAO,EAAE,cAAc;IAE5C,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK;IAK1B,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK3B,IAAI,CAAC,KAAK,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9B,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAU7C,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI3B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAaxC;AAuBD,mFAAmF;AACnF,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CA2CvI"}
@@ -0,0 +1,168 @@
1
+ import { FsError } from "../contracts/index.js";
2
+ import { shellValueByteLength, shellValueBytes } from "../contracts/value.js";
3
+ import { yieldTurn } from "../contracts/yield.js";
4
+ import { output, UsageError } from "./internal.js";
5
+ const controls = { 97: 7, 98: 8, 102: 12, 110: 10, 114: 13, 116: 9, 118: 11, 92: 92 };
6
+ /** Invocation-wide limits apply across every format action and matched entry. */
7
+ export class FindFormatBudget {
8
+ context;
9
+ arguments = 0;
10
+ steps = 0;
11
+ bytes = 0;
12
+ untilYield = 4096;
13
+ exhausted = false;
14
+ constructor(context) {
15
+ this.context = context;
16
+ }
17
+ fail(label) {
18
+ this.exhausted = true;
19
+ throw new FsError("EFBIG", { message: `find printf ${label} limit exceeded` });
20
+ }
21
+ admitFormat(length) {
22
+ this.arguments += length;
23
+ if (this.arguments > 65536)
24
+ throw new UsageError("printf format byte limit exceeded (65536)");
25
+ }
26
+ async step(count = 1) {
27
+ this.context.signal.throwIfAborted();
28
+ this.steps += count;
29
+ if (this.steps > 32 * 1024 * 1024)
30
+ this.fail("work");
31
+ this.untilYield -= count;
32
+ if (this.untilYield <= 0) {
33
+ this.untilYield = 4096;
34
+ await yieldTurn(this.context.signal);
35
+ }
36
+ }
37
+ async write(bytes) {
38
+ this.admitOutput(bytes.length);
39
+ this.bytes += bytes.length;
40
+ for (let offset = 0; offset < bytes.length; offset += 4096) {
41
+ const chunk = bytes.subarray(offset, offset + 4096);
42
+ await this.step(chunk.length);
43
+ await output(this.context, chunk);
44
+ }
45
+ }
46
+ admitOutput(length) {
47
+ if (length > 8 * 1024 * 1024 - this.bytes)
48
+ this.fail("output");
49
+ }
50
+ async text(text) {
51
+ this.admitOutput(text.length);
52
+ // Bound each encoding allocation independently of the full pathname length.
53
+ for (let offset = 0; offset < text.length;) {
54
+ let end = Math.min(text.length, offset + 1024);
55
+ if (end < text.length && text.charCodeAt(end - 1) >= 0xd800 && text.charCodeAt(end - 1) <= 0xdbff)
56
+ end--;
57
+ const part = text.slice(offset, end);
58
+ const length = Buffer.byteLength(part);
59
+ this.admitOutput(length);
60
+ await this.write(Buffer.from(part));
61
+ offset = end;
62
+ }
63
+ }
64
+ }
65
+ async function field(entry, code, budget) {
66
+ if (code === "p")
67
+ return entry.display;
68
+ if (code === "P")
69
+ return entry.relative;
70
+ if (code === "H")
71
+ return entry.root;
72
+ if (code === "s")
73
+ return String(entry.stat.size);
74
+ if (code === "d")
75
+ return String(entry.depth);
76
+ if (code === "y")
77
+ return ({ file: "f", directory: "d", symlink: "l", character: "c" })[entry.stat.type];
78
+ let end = entry.display.length;
79
+ while (end > 1 && entry.display[end - 1] === "/") {
80
+ await budget.step();
81
+ end--;
82
+ }
83
+ let slash = end - 1;
84
+ while (slash >= 0 && entry.display[slash] !== "/") {
85
+ await budget.step();
86
+ slash--;
87
+ }
88
+ const start = code === "f" ? slash + 1 : 0;
89
+ const finish = code === "f" ? end : slash;
90
+ if (code === "f" && end === 1 && entry.display[0] === "/")
91
+ return "/";
92
+ if (code === "h" && slash < 0)
93
+ return ".";
94
+ budget.admitOutput(finish - start);
95
+ // Charge retained substring copying as well as the backwards component scan.
96
+ for (let offset = start; offset < finish; offset += 4096)
97
+ await budget.step(Math.min(4096, finish - offset));
98
+ return entry.display.slice(start, finish);
99
+ }
100
+ /** Linear scan in admitted format bytes; no native formatting or regexp engine. */
101
+ export async function compileFindFormat(value, budget) {
102
+ if (typeof value === "string" && value.length > 65536)
103
+ budget.admitFormat(value.length);
104
+ budget.admitFormat(shellValueByteLength(value));
105
+ const source = shellValueBytes(value);
106
+ const parts = [];
107
+ let literal = 0;
108
+ let index = 0;
109
+ const flush = () => { if (index > literal)
110
+ parts.push({ start: literal, end: index }); };
111
+ while (index < source.length) {
112
+ await budget.step();
113
+ const byte = source[index];
114
+ if (byte !== 37 && byte !== 92) {
115
+ index++;
116
+ continue;
117
+ }
118
+ flush();
119
+ const next = source[++index];
120
+ if (byte === 37) {
121
+ if (next === 37)
122
+ parts.push({ byte: 37 });
123
+ else if (next !== undefined && "pfhsdPHy".includes(String.fromCharCode(next)))
124
+ parts.push({ directive: String.fromCharCode(next) });
125
+ else
126
+ throw new UsageError("unsupported printf format directive or modifier");
127
+ index++;
128
+ }
129
+ else {
130
+ if (next === 99) {
131
+ literal = source.length;
132
+ break;
133
+ }
134
+ if (next !== undefined && Object.hasOwn(controls, next)) {
135
+ parts.push({ byte: controls[next] });
136
+ index++;
137
+ }
138
+ else if (next !== undefined && next >= 48 && next <= 55) {
139
+ let value = 0;
140
+ const end = Math.min(source.length, index + 3);
141
+ while (index < end && source[index] >= 48 && source[index] <= 55) {
142
+ await budget.step();
143
+ value = value * 8 + source[index++] - 48;
144
+ }
145
+ parts.push({ byte: value & 255 });
146
+ }
147
+ else
148
+ throw new UsageError("unsupported printf format escape");
149
+ }
150
+ literal = index;
151
+ }
152
+ if (literal < source.length && index > literal)
153
+ parts.push({ start: literal, end: index });
154
+ return async (entry) => {
155
+ for (const part of parts) {
156
+ await budget.step();
157
+ if ("directive" in part)
158
+ await budget.text(await field(entry, part.directive, budget));
159
+ else if ("byte" in part) {
160
+ budget.admitOutput(1);
161
+ await budget.write(Uint8Array.of(part.byte));
162
+ }
163
+ else
164
+ await budget.write(source.subarray(part.start, part.end));
165
+ }
166
+ };
167
+ }
168
+ //# sourceMappingURL=find-format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-format.js","sourceRoot":"","sources":["../../src/commands/find-format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAsC,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAmB,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAWnD,MAAM,QAAQ,GAAqC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAExH,iFAAiF;AACjF,MAAM,OAAO,gBAAgB;IAON;IANb,SAAS,GAAG,CAAC,CAAC;IACd,KAAK,GAAG,CAAC,CAAC;IACV,KAAK,GAAG,CAAC,CAAC;IACV,UAAU,GAAG,IAAI,CAAC;IAC1B,SAAS,GAAG,KAAK,CAAC;IAElB,YAAqB,OAAuB;QAAvB,YAAO,GAAP,OAAO,CAAgB;IAAG,CAAC;IAEhD,IAAI,CAAC,KAAa;QAChB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,eAAe,KAAK,iBAAiB,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,WAAW,CAAC,MAAc;QACxB,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC;QACzB,IAAI,IAAI,CAAC,SAAS,GAAG,KAAK;YAAE,MAAM,IAAI,UAAU,CAAC,2CAA2C,CAAC,CAAC;IAChG,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC;QAClB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QACrC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;QACpB,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAiB;QAC3B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;QAC3B,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC;YAC3D,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;YACpD,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC9B,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,WAAW,CAAC,MAAc;QACxB,IAAI,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY;QACrB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,4EAA4E;QAC5E,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC;YAC3C,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;YAC/C,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,MAAM;gBAAE,GAAG,EAAE,CAAC;YACzG,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACrC,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACzB,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACpC,MAAM,GAAG,GAAG,CAAC;QACf,CAAC;IACH,CAAC;CACF;AAED,KAAK,UAAU,KAAK,CAAC,KAAsB,EAAE,IAAY,EAAE,MAAwB;IACjF,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IACvC,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC,QAAQ,CAAC;IACxC,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC;IACpC,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7C,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxG,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;IAC/B,OAAO,GAAG,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAAC,GAAG,EAAE,CAAC;IAAC,CAAC;IACjF,IAAI,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;IACpB,OAAO,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QAAC,KAAK,EAAE,CAAC;IAAC,CAAC;IACpF,MAAM,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1C,IAAI,IAAI,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;QAAE,OAAO,GAAG,CAAC;IACtE,IAAI,IAAI,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAC1C,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;IACnC,6EAA6E;IAC7E,KAAK,IAAI,MAAM,GAAG,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,IAAI,IAAI;QAAE,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;IAC7G,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED,mFAAmF;AACnF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAAiB,EAAE,MAAwB;IACjF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,KAAK;QAAE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxF,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,KAAK,GAAG,GAAG,EAAE,GAAG,IAAI,KAAK,GAAG,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,OAAO,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAE,CAAC;QAC5B,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YAAC,KAAK,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QACtD,KAAK,EAAE,CAAC;QACR,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7B,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YAChB,IAAI,IAAI,KAAK,EAAE;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;iBACrC,IAAI,IAAI,KAAK,SAAS,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;gBAC/H,MAAM,IAAI,UAAU,CAAC,iDAAiD,CAAC,CAAC;YAC7E,KAAK,EAAE,CAAC;QACV,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;gBAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;gBAAC,MAAM;YAAC,CAAC;YACpD,IAAI,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;gBAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAE,EAAE,CAAC,CAAC;gBAAC,KAAK,EAAE,CAAC;YAAC,CAAC;iBACvG,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;gBACxD,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC/C,OAAO,KAAK,GAAG,GAAG,IAAI,MAAM,CAAC,KAAK,CAAE,IAAI,EAAE,IAAI,MAAM,CAAC,KAAK,CAAE,IAAI,EAAE,EAAE,CAAC;oBACnE,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,CAAE,GAAG,EAAE,CAAC;gBAC5C,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC;YACpC,CAAC;;gBAAM,MAAM,IAAI,UAAU,CAAC,kCAAkC,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,GAAG,KAAK,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,IAAI,KAAK,GAAG,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3F,OAAO,KAAK,EAAC,KAAK,EAAC,EAAE;QACnB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,WAAW,IAAI,IAAI;gBAAE,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;iBAClF,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBAAC,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAAC,CAAC;;gBAC5F,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACjE,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../src/commands/find.ts"],"names":[],"mappings":"AACA,OAAO,EAA0C,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAiB,MAAM,uBAAuB,CAAC;AAW3I,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAyNvG"}
1
+ {"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../src/commands/find.ts"],"names":[],"mappings":"AACA,OAAO,EAA0C,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAiB,MAAM,uBAAuB,CAAC;AAY3I,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,mBAAmB,CAAC,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAoOvG"}
@@ -6,6 +6,7 @@ import { escapeText } from "../escaping.js";
6
6
  import { createDirectoryReader } from "./directory-admission.js";
7
7
  import { assertCommandRequirements } from "../contracts/command-requirements.js";
8
8
  import { filesystemCommandRequirements } from "./filesystem-requirements.js";
9
+ import { compileFindFormat, FindFormatBudget } from "./find-format.js";
9
10
  export function findCommands(execute, maxDirectoryEntries) {
10
11
  const readDirectory = createDirectoryReader(maxDirectoryEntries);
11
12
  return [define("find", async (context) => {
@@ -53,7 +54,7 @@ export function findCommands(execute, maxDirectoryEntries) {
53
54
  args.splice(index, 1);
54
55
  values.splice(index, 1);
55
56
  }
56
- else if (["-name", "-iname", "-path", "-ipath", "-type", "-size", "-mtime", "-mmin", "-newer"].includes(args[index]))
57
+ else if (["-name", "-iname", "-path", "-ipath", "-type", "-size", "-mtime", "-mmin", "-newer", "-printf"].includes(args[index]))
57
58
  index += 2;
58
59
  else
59
60
  index++;
@@ -65,6 +66,8 @@ export function findCommands(execute, maxDirectoryEntries) {
65
66
  let prunes = false;
66
67
  const references = new Map();
67
68
  const flushes = [];
69
+ const formats = [];
70
+ const formatBudget = new FindFormatBudget(context);
68
71
  const primary = () => {
69
72
  const token = args[offset++];
70
73
  if (token === undefined)
@@ -170,6 +173,15 @@ export function findCommands(execute, maxDirectoryEntries) {
170
173
  explicitAction = true;
171
174
  return async (entry) => { await output(context, token === "-print0" ? `${entry.display}\0` : `${escapeText(entry.display, "display")}\n`); return true; };
172
175
  }
176
+ if (token === "-printf") {
177
+ if (args[offset] === undefined)
178
+ throw new UsageError("-printf requires a format");
179
+ const operand = values[offset++];
180
+ let render;
181
+ formats.push(async () => { render = await compileFindFormat(operand, formatBudget); });
182
+ explicitAction = true;
183
+ return async (entry) => { await render(entry); return true; };
184
+ }
173
185
  if (token === "-exec") {
174
186
  explicitAction = true;
175
187
  const command = [];
@@ -236,6 +248,8 @@ export function findCommands(execute, maxDirectoryEntries) {
236
248
  const evaluate = args.length ? disjunction() : async () => true;
237
249
  if (offset !== args.length)
238
250
  throw new UsageError(`unexpected expression '${args[offset]}'`);
251
+ for (const prepare of formats)
252
+ await prepare();
239
253
  if (deletes && prunes && !explicitDepth)
240
254
  throw new PublicDiagnostic("-delete implies -depth; -prune is ineffective unless -depth is explicitly supplied");
241
255
  for (const reference of references.keys()) {
@@ -254,7 +268,7 @@ export function findCommands(execute, maxDirectoryEntries) {
254
268
  context.signal.throwIfAborted();
255
269
  references.set(reference, stat.mtimeMs);
256
270
  }
257
- const visit = async (display, depth, ancestors) => {
271
+ const visit = async (display, depth, ancestors, root, relative) => {
258
272
  context.signal.throwIfAborted();
259
273
  const path = pathOf(context, display);
260
274
  try {
@@ -271,7 +285,7 @@ export function findCommands(execute, maxDirectoryEntries) {
271
285
  throw error;
272
286
  }
273
287
  }
274
- const entry = { path, display, stat, symlink, depth, prune: false };
288
+ const entry = { path, display, stat, symlink, depth, root, relative, prune: false };
275
289
  const apply = async () => { if (depth >= minDepth && await evaluate(entry) && !explicitAction)
276
290
  await output(context, `${escapeText(display, "display")}\n`); };
277
291
  if (!depthFirst)
@@ -283,18 +297,20 @@ export function findCommands(execute, maxDirectoryEntries) {
283
297
  const next = new Set(ancestors).add(physical);
284
298
  const children = await readDirectory(context, path, true);
285
299
  for (const child of children)
286
- await visit(`${display.replace(/\/$/u, "")}/${child.name}`, depth + 1, next);
300
+ await visit(`${display.replace(/\/$/u, "")}/${child.name}`, depth + 1, next, root, relative ? `${relative}/${child.name}` : child.name);
287
301
  }
288
302
  if (depthFirst)
289
303
  await apply();
290
304
  }
291
305
  catch (error) {
306
+ if (formatBudget.exhausted)
307
+ throw error;
292
308
  await diagnostic(context, error);
293
309
  exitCode = 1;
294
310
  }
295
311
  };
296
312
  for (const root of roots)
297
- await visit(root, 0, new Set());
313
+ await visit(root, 0, new Set(), root, "");
298
314
  for (const flush of flushes)
299
315
  await flush();
300
316
  return { exitCode };
@@ -1 +1 @@
1
- {"version":3,"file":"find.js","sourceRoot":"","sources":["../../src/commands/find.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"find.js","sourceRoot":"","sources":["../../src/commands/find.ts"],"names":[],"mappings":"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"}