@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
|
@@ -103,6 +103,32 @@ var PHPSandbox = (() => {
|
|
|
103
103
|
watchRuntimeTelemetry: () => watchRuntimeTelemetry
|
|
104
104
|
});
|
|
105
105
|
|
|
106
|
+
// src/errors/index.ts
|
|
107
|
+
var PromiseTimeoutError = class extends Error {
|
|
108
|
+
constructor(message, time3) {
|
|
109
|
+
super(message);
|
|
110
|
+
this.time = time3;
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
var SendTimeoutError = class _SendTimeoutError extends PromiseTimeoutError {
|
|
114
|
+
static fromPromiseTimeoutError(error51) {
|
|
115
|
+
return new _SendTimeoutError(error51.message, error51.time);
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
var NotebookUnavailableError = class extends Error {
|
|
119
|
+
constructor(message = "Notebook is no longer available", raw = {}) {
|
|
120
|
+
super(message);
|
|
121
|
+
this.raw = raw;
|
|
122
|
+
this.name = "NotebookUnavailableError";
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
var UnsupportedRuntimeTransportError = class extends Error {
|
|
126
|
+
constructor(message) {
|
|
127
|
+
super(message);
|
|
128
|
+
this.name = "UnsupportedRuntimeTransportError";
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
|
|
106
132
|
// src/types.ts
|
|
107
133
|
var ErrorEvent = class extends Error {
|
|
108
134
|
constructor(code, message, raw = {}) {
|
|
@@ -317,6 +343,77 @@ var PHPSandbox = (() => {
|
|
|
317
343
|
}
|
|
318
344
|
});
|
|
319
345
|
}
|
|
346
|
+
follow(path, options = {}) {
|
|
347
|
+
if (this.okra.runtimeTransport === "rest") {
|
|
348
|
+
return new ReadableStream({
|
|
349
|
+
start(controller) {
|
|
350
|
+
controller.error(new UnsupportedRuntimeTransportError("Following files requires the realtime transport."));
|
|
351
|
+
}
|
|
352
|
+
});
|
|
353
|
+
}
|
|
354
|
+
const id = nanoid();
|
|
355
|
+
let disposable = null;
|
|
356
|
+
let abort = null;
|
|
357
|
+
let started = false;
|
|
358
|
+
let closed = false;
|
|
359
|
+
const stop = async () => {
|
|
360
|
+
if (closed) {
|
|
361
|
+
return;
|
|
362
|
+
}
|
|
363
|
+
closed = true;
|
|
364
|
+
disposable?.dispose();
|
|
365
|
+
disposable = null;
|
|
366
|
+
if (abort && options.signal) {
|
|
367
|
+
options.signal.removeEventListener("abort", abort);
|
|
368
|
+
}
|
|
369
|
+
abort = null;
|
|
370
|
+
if (started) {
|
|
371
|
+
await this.okra.invoke("fs.cancelFollow", { id }).catch(() => false);
|
|
372
|
+
}
|
|
373
|
+
};
|
|
374
|
+
return new ReadableStream({
|
|
375
|
+
start: (controller) => {
|
|
376
|
+
disposable = this.okra.listen(`fs.follow.${id}`, (event) => {
|
|
377
|
+
if (!closed) {
|
|
378
|
+
controller.enqueue(event.data);
|
|
379
|
+
}
|
|
380
|
+
});
|
|
381
|
+
if (options.signal) {
|
|
382
|
+
abort = () => {
|
|
383
|
+
void stop().finally(() => controller.error(options.signal?.reason ?? new Error("Aborted")));
|
|
384
|
+
};
|
|
385
|
+
if (options.signal.aborted) {
|
|
386
|
+
abort();
|
|
387
|
+
return;
|
|
388
|
+
}
|
|
389
|
+
options.signal.addEventListener("abort", abort, { once: true });
|
|
390
|
+
}
|
|
391
|
+
started = true;
|
|
392
|
+
void this.okra.invoke("fs.follow", { id, path, lines: options.lines ?? 10 }).then(() => {
|
|
393
|
+
if (!closed) {
|
|
394
|
+
closed = true;
|
|
395
|
+
disposable?.dispose();
|
|
396
|
+
if (abort && options.signal) {
|
|
397
|
+
options.signal.removeEventListener("abort", abort);
|
|
398
|
+
}
|
|
399
|
+
abort = null;
|
|
400
|
+
controller.close();
|
|
401
|
+
}
|
|
402
|
+
}).catch((error51) => {
|
|
403
|
+
if (!closed) {
|
|
404
|
+
closed = true;
|
|
405
|
+
disposable?.dispose();
|
|
406
|
+
if (abort && options.signal) {
|
|
407
|
+
options.signal.removeEventListener("abort", abort);
|
|
408
|
+
}
|
|
409
|
+
abort = null;
|
|
410
|
+
controller.error(error51);
|
|
411
|
+
}
|
|
412
|
+
});
|
|
413
|
+
},
|
|
414
|
+
cancel: stop
|
|
415
|
+
});
|
|
416
|
+
}
|
|
320
417
|
find(query, options = {
|
|
321
418
|
useIgnoreFiles: false,
|
|
322
419
|
followSymlinks: false,
|
|
@@ -499,32 +596,6 @@ var PHPSandbox = (() => {
|
|
|
499
596
|
return output;
|
|
500
597
|
}
|
|
501
598
|
|
|
502
|
-
// src/errors/index.ts
|
|
503
|
-
var PromiseTimeoutError = class extends Error {
|
|
504
|
-
constructor(message, time3) {
|
|
505
|
-
super(message);
|
|
506
|
-
this.time = time3;
|
|
507
|
-
}
|
|
508
|
-
};
|
|
509
|
-
var SendTimeoutError = class _SendTimeoutError extends PromiseTimeoutError {
|
|
510
|
-
static fromPromiseTimeoutError(error51) {
|
|
511
|
-
return new _SendTimeoutError(error51.message, error51.time);
|
|
512
|
-
}
|
|
513
|
-
};
|
|
514
|
-
var NotebookUnavailableError = class extends Error {
|
|
515
|
-
constructor(message = "Notebook is no longer available", raw = {}) {
|
|
516
|
-
super(message);
|
|
517
|
-
this.raw = raw;
|
|
518
|
-
this.name = "NotebookUnavailableError";
|
|
519
|
-
}
|
|
520
|
-
};
|
|
521
|
-
var UnsupportedRuntimeTransportError = class extends Error {
|
|
522
|
-
constructor(message) {
|
|
523
|
-
super(message);
|
|
524
|
-
this.name = "UnsupportedRuntimeTransportError";
|
|
525
|
-
}
|
|
526
|
-
};
|
|
527
|
-
|
|
528
599
|
// src/utils/promise.ts
|
|
529
600
|
var timeout = (prom, time3) => {
|
|
530
601
|
let timer;
|