@phpsandbox/sdk 0.0.14 → 0.0.16

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/README.md CHANGED
@@ -144,6 +144,26 @@ open(id: string): Promise<NotebookInstance>
144
144
  openFromData(data: NotebookData): Promise<NotebookInstance>
145
145
  ```
146
146
 
147
+ #### Create Notebook from GitHub Repository
148
+
149
+ ```typescript
150
+ const notebook = await client.notebook.create(
151
+ 'php',
152
+ {
153
+ title: 'Imported Repo',
154
+ import: {
155
+ provider: 'github',
156
+ repo: 'https://github.com/acme/private-repo.git',
157
+ branch: 'main',
158
+ auth: {
159
+ access_token: process.env.GITHUB_TOKEN!,
160
+ },
161
+ },
162
+ },
163
+ false
164
+ );
165
+ ```
166
+
147
167
  ### NotebookInstance
148
168
 
149
169
  The core class providing access to all development environment features.
@@ -561,6 +561,34 @@ var Filesystem = class {
561
561
  }
562
562
  };
563
563
 
564
+ // src/errors/index.ts
565
+ var PromiseTimeoutError = class extends Error {
566
+ constructor(message, time) {
567
+ super(message);
568
+ this.time = time;
569
+ }
570
+ };
571
+ var SendTimeoutError = class _SendTimeoutError extends PromiseTimeoutError {
572
+ static fromPromiseTimeoutError(error) {
573
+ return new _SendTimeoutError(error.message, error.time);
574
+ }
575
+ };
576
+
577
+ // src/utils/promise.ts
578
+ var timeout = (prom, time) => {
579
+ let timer;
580
+ return Promise.race([
581
+ prom,
582
+ new Promise(
583
+ (_r, rej) => timer = setTimeout(rej, time, new PromiseTimeoutError("Timeout before promise can resolve", time))
584
+ )
585
+ ]).finally(() => clearTimeout(timer));
586
+ };
587
+ var once = (fn) => {
588
+ let result = null;
589
+ return () => result || (result = fn());
590
+ };
591
+
564
592
  // src/terminal.ts
565
593
  var Terminal = class {
566
594
  constructor(okra) {
@@ -623,10 +651,10 @@ var Terminal = class {
623
651
  })
624
652
  );
625
653
  });
626
- const kill = () => {
654
+ const kill = once(() => {
627
655
  dispose();
628
656
  return this.okra.invoke("terminal.close", { id });
629
- };
657
+ });
630
658
  const resize = (dimensions) => {
631
659
  this.okra.invoke("terminal.resize", { id, width: dimensions.cols, height: dimensions.rows });
632
660
  };
@@ -2874,30 +2902,6 @@ var ReconnectingWebSocket = (
2874
2902
  );
2875
2903
  var reconnecting_websocket_mjs_default = ReconnectingWebSocket;
2876
2904
 
2877
- // src/errors/index.ts
2878
- var PromiseTimeoutError = class extends Error {
2879
- constructor(message, time) {
2880
- super(message);
2881
- this.time = time;
2882
- }
2883
- };
2884
- var SendTimeoutError = class _SendTimeoutError extends PromiseTimeoutError {
2885
- static fromPromiseTimeoutError(error) {
2886
- return new _SendTimeoutError(error.message, error.time);
2887
- }
2888
- };
2889
-
2890
- // src/utils/promise.ts
2891
- var timeout = (prom, time) => {
2892
- let timer;
2893
- return Promise.race([
2894
- prom,
2895
- new Promise(
2896
- (_r, rej) => timer = setTimeout(rej, time, new PromiseTimeoutError("Timeout before promise can resolve", time))
2897
- )
2898
- ]).finally(() => clearTimeout(timer));
2899
- };
2900
-
2901
2905
  // node_modules/isomorphic-ws/browser.js
2902
2906
  var ws = null;
2903
2907
  if (typeof WebSocket !== "undefined") {
@@ -3127,6 +3131,11 @@ var Transport = class {
3127
3131
  }
3128
3132
  listenOnce(event, listener, context) {
3129
3133
  this.eventEmitter.once(event, listener, context);
3134
+ this.disposables.add(`once_${event}_${nanoid()}`, {
3135
+ dispose: () => {
3136
+ this.eventEmitter.removeListener(event, listener);
3137
+ }
3138
+ });
3130
3139
  }
3131
3140
  emit(event, ...data) {
3132
3141
  this.eventEmitter.emit(event, ...data);
@@ -4771,6 +4780,7 @@ export {
4771
4780
  Transport,
4772
4781
  createBeacon,
4773
4782
  isBeaconSupported,
4783
+ once,
4774
4784
  timeout
4775
4785
  };
4776
4786
  /*! Bundled license information: