@phpsandbox/sdk 0.1.2 → 0.1.4
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/browser/phpsandbox-sdk.esm.js +97 -26
- package/dist/browser/phpsandbox-sdk.esm.min.js +7 -7
- package/dist/browser/phpsandbox-sdk.iife.js +97 -26
- package/dist/browser/phpsandbox-sdk.iife.min.js +7 -7
- package/dist/filesystem.d.ts +16 -0
- package/dist/filesystem.js +72 -0
- package/package.json +1 -1
|
@@ -12,6 +12,32 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
|
|
|
12
12
|
var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
|
|
13
13
|
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
14
14
|
|
|
15
|
+
// src/errors/index.ts
|
|
16
|
+
var PromiseTimeoutError = class extends Error {
|
|
17
|
+
constructor(message, time3) {
|
|
18
|
+
super(message);
|
|
19
|
+
this.time = time3;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
var SendTimeoutError = class _SendTimeoutError extends PromiseTimeoutError {
|
|
23
|
+
static fromPromiseTimeoutError(error51) {
|
|
24
|
+
return new _SendTimeoutError(error51.message, error51.time);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
var NotebookUnavailableError = class extends Error {
|
|
28
|
+
constructor(message = "Notebook is no longer available", raw = {}) {
|
|
29
|
+
super(message);
|
|
30
|
+
this.raw = raw;
|
|
31
|
+
this.name = "NotebookUnavailableError";
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
var UnsupportedRuntimeTransportError = class extends Error {
|
|
35
|
+
constructor(message) {
|
|
36
|
+
super(message);
|
|
37
|
+
this.name = "UnsupportedRuntimeTransportError";
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
|
|
15
41
|
// src/types.ts
|
|
16
42
|
var ErrorEvent = class extends Error {
|
|
17
43
|
constructor(code, message, raw = {}) {
|
|
@@ -226,6 +252,77 @@ var Filesystem = class {
|
|
|
226
252
|
}
|
|
227
253
|
});
|
|
228
254
|
}
|
|
255
|
+
follow(path, options = {}) {
|
|
256
|
+
if (this.okra.runtimeTransport === "rest") {
|
|
257
|
+
return new ReadableStream({
|
|
258
|
+
start(controller) {
|
|
259
|
+
controller.error(new UnsupportedRuntimeTransportError("Following files requires the realtime transport."));
|
|
260
|
+
}
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
const id = nanoid();
|
|
264
|
+
let disposable = null;
|
|
265
|
+
let abort = null;
|
|
266
|
+
let started = false;
|
|
267
|
+
let closed = false;
|
|
268
|
+
const stop = async () => {
|
|
269
|
+
if (closed) {
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
closed = true;
|
|
273
|
+
disposable?.dispose();
|
|
274
|
+
disposable = null;
|
|
275
|
+
if (abort && options.signal) {
|
|
276
|
+
options.signal.removeEventListener("abort", abort);
|
|
277
|
+
}
|
|
278
|
+
abort = null;
|
|
279
|
+
if (started) {
|
|
280
|
+
await this.okra.invoke("fs.cancelFollow", { id }).catch(() => false);
|
|
281
|
+
}
|
|
282
|
+
};
|
|
283
|
+
return new ReadableStream({
|
|
284
|
+
start: (controller) => {
|
|
285
|
+
disposable = this.okra.listen(`fs.follow.${id}`, (event) => {
|
|
286
|
+
if (!closed) {
|
|
287
|
+
controller.enqueue(event.data);
|
|
288
|
+
}
|
|
289
|
+
});
|
|
290
|
+
if (options.signal) {
|
|
291
|
+
abort = () => {
|
|
292
|
+
void stop().finally(() => controller.error(options.signal?.reason ?? new Error("Aborted")));
|
|
293
|
+
};
|
|
294
|
+
if (options.signal.aborted) {
|
|
295
|
+
abort();
|
|
296
|
+
return;
|
|
297
|
+
}
|
|
298
|
+
options.signal.addEventListener("abort", abort, { once: true });
|
|
299
|
+
}
|
|
300
|
+
started = true;
|
|
301
|
+
void this.okra.invoke("fs.follow", { id, path, lines: options.lines ?? 10 }).then(() => {
|
|
302
|
+
if (!closed) {
|
|
303
|
+
closed = true;
|
|
304
|
+
disposable?.dispose();
|
|
305
|
+
if (abort && options.signal) {
|
|
306
|
+
options.signal.removeEventListener("abort", abort);
|
|
307
|
+
}
|
|
308
|
+
abort = null;
|
|
309
|
+
controller.close();
|
|
310
|
+
}
|
|
311
|
+
}).catch((error51) => {
|
|
312
|
+
if (!closed) {
|
|
313
|
+
closed = true;
|
|
314
|
+
disposable?.dispose();
|
|
315
|
+
if (abort && options.signal) {
|
|
316
|
+
options.signal.removeEventListener("abort", abort);
|
|
317
|
+
}
|
|
318
|
+
abort = null;
|
|
319
|
+
controller.error(error51);
|
|
320
|
+
}
|
|
321
|
+
});
|
|
322
|
+
},
|
|
323
|
+
cancel: stop
|
|
324
|
+
});
|
|
325
|
+
}
|
|
229
326
|
find(query, options = {
|
|
230
327
|
useIgnoreFiles: false,
|
|
231
328
|
followSymlinks: false,
|
|
@@ -408,32 +505,6 @@ async function collectBytes(stream) {
|
|
|
408
505
|
return output;
|
|
409
506
|
}
|
|
410
507
|
|
|
411
|
-
// src/errors/index.ts
|
|
412
|
-
var PromiseTimeoutError = class extends Error {
|
|
413
|
-
constructor(message, time3) {
|
|
414
|
-
super(message);
|
|
415
|
-
this.time = time3;
|
|
416
|
-
}
|
|
417
|
-
};
|
|
418
|
-
var SendTimeoutError = class _SendTimeoutError extends PromiseTimeoutError {
|
|
419
|
-
static fromPromiseTimeoutError(error51) {
|
|
420
|
-
return new _SendTimeoutError(error51.message, error51.time);
|
|
421
|
-
}
|
|
422
|
-
};
|
|
423
|
-
var NotebookUnavailableError = class extends Error {
|
|
424
|
-
constructor(message = "Notebook is no longer available", raw = {}) {
|
|
425
|
-
super(message);
|
|
426
|
-
this.raw = raw;
|
|
427
|
-
this.name = "NotebookUnavailableError";
|
|
428
|
-
}
|
|
429
|
-
};
|
|
430
|
-
var UnsupportedRuntimeTransportError = class extends Error {
|
|
431
|
-
constructor(message) {
|
|
432
|
-
super(message);
|
|
433
|
-
this.name = "UnsupportedRuntimeTransportError";
|
|
434
|
-
}
|
|
435
|
-
};
|
|
436
|
-
|
|
437
508
|
// src/utils/promise.ts
|
|
438
509
|
var timeout = (prom, time3) => {
|
|
439
510
|
let timer;
|