@phpsandbox/sdk 0.0.2
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 +718 -0
- package/dist/auth.d.ts +14 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +12 -0
- package/dist/auth.js.map +1 -0
- package/dist/beacon/index.d.ts +169 -0
- package/dist/beacon/index.d.ts.map +1 -0
- package/dist/beacon/index.js +537 -0
- package/dist/beacon/index.js.map +1 -0
- package/dist/beacon/navigator.d.ts +141 -0
- package/dist/beacon/navigator.d.ts.map +1 -0
- package/dist/beacon/navigator.js +246 -0
- package/dist/beacon/navigator.js.map +1 -0
- package/dist/beacon/types.d.ts +230 -0
- package/dist/beacon/types.d.ts.map +1 -0
- package/dist/beacon/types.js +2 -0
- package/dist/beacon/types.js.map +1 -0
- package/dist/browser/phpsandbox-sdk.esm.js +4755 -0
- package/dist/browser/phpsandbox-sdk.esm.js.map +7 -0
- package/dist/browser/phpsandbox-sdk.esm.min.js +27 -0
- package/dist/browser/phpsandbox-sdk.esm.min.js.map +7 -0
- package/dist/browser/phpsandbox-sdk.iife.js +4766 -0
- package/dist/browser/phpsandbox-sdk.iife.js.map +7 -0
- package/dist/browser/phpsandbox-sdk.iife.min.js +27 -0
- package/dist/browser/phpsandbox-sdk.iife.min.js.map +7 -0
- package/dist/composer.d.ts +45 -0
- package/dist/composer.d.ts.map +1 -0
- package/dist/composer.js +30 -0
- package/dist/composer.js.map +1 -0
- package/dist/container.d.ts +66 -0
- package/dist/container.d.ts.map +1 -0
- package/dist/container.js +56 -0
- package/dist/container.js.map +1 -0
- package/dist/events/index.d.ts +23 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +46 -0
- package/dist/events/index.js.map +1 -0
- package/dist/filesystem.d.ts +483 -0
- package/dist/filesystem.d.ts.map +1 -0
- package/dist/filesystem.js +244 -0
- package/dist/filesystem.js.map +1 -0
- package/dist/git.d.ts +42 -0
- package/dist/git.d.ts.map +1 -0
- package/dist/git.js +18 -0
- package/dist/git.js.map +1 -0
- package/dist/index.d.ts +167 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +265 -0
- package/dist/index.js.map +1 -0
- package/dist/laravel.d.ts +23 -0
- package/dist/laravel.d.ts.map +1 -0
- package/dist/laravel.js +12 -0
- package/dist/laravel.js.map +1 -0
- package/dist/log.d.ts +13 -0
- package/dist/log.d.ts.map +1 -0
- package/dist/log.js +12 -0
- package/dist/log.js.map +1 -0
- package/dist/lsp.d.ts +57 -0
- package/dist/lsp.d.ts.map +1 -0
- package/dist/lsp.js +69 -0
- package/dist/lsp.js.map +1 -0
- package/dist/repl.d.ts +41 -0
- package/dist/repl.d.ts.map +1 -0
- package/dist/repl.js +27 -0
- package/dist/repl.js.map +1 -0
- package/dist/shell.d.ts +29 -0
- package/dist/shell.d.ts.map +1 -0
- package/dist/shell.js +29 -0
- package/dist/shell.js.map +1 -0
- package/dist/socket/index.d.ts +229 -0
- package/dist/socket/index.d.ts.map +1 -0
- package/dist/socket/index.js +825 -0
- package/dist/socket/index.js.map +1 -0
- package/dist/terminal.d.ts +97 -0
- package/dist/terminal.d.ts.map +1 -0
- package/dist/terminal.js +87 -0
- package/dist/terminal.js.map +1 -0
- package/dist/types.d.ts +16 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +16 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/disposable.d.ts +7 -0
- package/dist/utils/disposable.d.ts.map +1 -0
- package/dist/utils/disposable.js +20 -0
- package/dist/utils/disposable.js.map +1 -0
- package/dist/utils/promise.d.ts +13 -0
- package/dist/utils/promise.d.ts.map +1 -0
- package/dist/utils/promise.js +21 -0
- package/dist/utils/promise.js.map +1 -0
- package/package.json +67 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Action, NotebookInstance } from './index.js';
|
|
2
|
+
export interface ComposerEvents {
|
|
3
|
+
'composer.log': string;
|
|
4
|
+
}
|
|
5
|
+
export interface Result {
|
|
6
|
+
exitCode: number;
|
|
7
|
+
output: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ComposerPackage {
|
|
10
|
+
name: string;
|
|
11
|
+
_installedVersion: string;
|
|
12
|
+
installationMode: 'require' | 'require-dev';
|
|
13
|
+
_installed: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface ComposerActions {
|
|
16
|
+
'composer.invoke': Action<{
|
|
17
|
+
command: ComposerCommand;
|
|
18
|
+
args: Argument;
|
|
19
|
+
options: Options;
|
|
20
|
+
}, Result>;
|
|
21
|
+
'composer.dump-autoload': Action<undefined, {
|
|
22
|
+
message: string;
|
|
23
|
+
success: boolean;
|
|
24
|
+
}>;
|
|
25
|
+
'composer.packages': Action<undefined, ComposerPackage[]>;
|
|
26
|
+
}
|
|
27
|
+
export type ComposerCommand = 'install' | 'update' | 'require' | 'remove' | 'search' | 'show';
|
|
28
|
+
export type Argument<Name extends string = string, Type extends string | string[] = string | string[]> = Record<Name, Type>;
|
|
29
|
+
export type Options<Name extends string = string, Type extends string | string[] | boolean = string | string[] | boolean> = Record<Name, Type>;
|
|
30
|
+
export default class Composer {
|
|
31
|
+
protected okra: NotebookInstance;
|
|
32
|
+
constructor(okra: NotebookInstance);
|
|
33
|
+
invoke(command: ComposerCommand, args?: Argument, options?: Options): Promise<Result>;
|
|
34
|
+
dumpAutoload(): Promise<{
|
|
35
|
+
message: string;
|
|
36
|
+
success: boolean;
|
|
37
|
+
}>;
|
|
38
|
+
install(options?: Options): Promise<Result>;
|
|
39
|
+
update(args: Argument<'packages'>, options?: Options): Promise<Result>;
|
|
40
|
+
require(packages: Argument<'packages'>, options?: Options): Promise<Result>;
|
|
41
|
+
remove(args: Argument<'packages'>, options?: Options): Promise<Result>;
|
|
42
|
+
stream(fn: (data: string) => void): import("./types.js").Disposable;
|
|
43
|
+
packages(): Promise<ComposerPackage[]>;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=composer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composer.d.ts","sourceRoot":"","sources":["../src/composer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEtD,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,SAAS,GAAG,aAAa,CAAC;IAC5C,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,iBAAiB,EAAE,MAAM,CAAC;QAAE,OAAO,EAAE,eAAe,CAAC;QAAC,IAAI,EAAE,QAAQ,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,EAAE,MAAM,CAAC,CAAC;IAClG,wBAAwB,EAAE,MAAM,CAAC,SAAS,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACnF,mBAAmB,EAAE,MAAM,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;CAC3D;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE9F,MAAM,MAAM,QAAQ,CAAC,IAAI,SAAS,MAAM,GAAG,MAAM,EAAE,IAAI,SAAS,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAE5H,MAAM,MAAM,OAAO,CACjB,IAAI,SAAS,MAAM,GAAG,MAAM,EAC5B,IAAI,SAAS,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,IACpE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAEvB,MAAM,CAAC,OAAO,OAAO,QAAQ;IACf,SAAS,CAAC,IAAI,EAAE,gBAAgB;gBAAtB,IAAI,EAAE,gBAAgB;IAErC,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,GAAE,QAAa,EAAE,OAAO,GAAE,OAAY;IAI3E,YAAY;iBApBoC,MAAM;iBAAW,OAAO;;IAwBxE,OAAO,CAAC,OAAO,GAAE,OAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/C,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAE,OAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1E,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAE,OAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAI/E,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAE,OAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1E,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI;IAIjC,QAAQ;CAGhB"}
|
package/dist/composer.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export default class Composer {
|
|
2
|
+
constructor(okra) {
|
|
3
|
+
this.okra = okra;
|
|
4
|
+
}
|
|
5
|
+
invoke(command, args = {}, options = {}) {
|
|
6
|
+
return this.okra.invoke('composer.invoke', { command, args, options });
|
|
7
|
+
}
|
|
8
|
+
dumpAutoload() {
|
|
9
|
+
return this.okra.invoke('composer.dump-autoload');
|
|
10
|
+
}
|
|
11
|
+
install(options = {}) {
|
|
12
|
+
return this.invoke('install', {}, options);
|
|
13
|
+
}
|
|
14
|
+
update(args, options = {}) {
|
|
15
|
+
return this.invoke('update', args, options);
|
|
16
|
+
}
|
|
17
|
+
require(packages, options = {}) {
|
|
18
|
+
return this.invoke('require', packages, options);
|
|
19
|
+
}
|
|
20
|
+
remove(args, options = {}) {
|
|
21
|
+
return this.invoke('remove', args, options);
|
|
22
|
+
}
|
|
23
|
+
stream(fn) {
|
|
24
|
+
return this.okra.listen('composer.log', fn);
|
|
25
|
+
}
|
|
26
|
+
packages() {
|
|
27
|
+
return this.okra.invoke('composer.packages');
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=composer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composer.js","sourceRoot":"","sources":["../src/composer.ts"],"names":[],"mappings":"AAiCA,MAAM,CAAC,OAAO,OAAO,QAAQ;IAC3B,YAAsB,IAAsB;QAAtB,SAAI,GAAJ,IAAI,CAAkB;IAAG,CAAC;IAEzC,MAAM,CAAC,OAAwB,EAAE,OAAiB,EAAE,EAAE,UAAmB,EAAE;QAChF,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;IACpD,CAAC;IAEM,OAAO,CAAC,UAAmB,EAAE;QAClC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAEM,MAAM,CAAC,IAA0B,EAAE,UAAmB,EAAE;QAC7D,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAEM,OAAO,CAAC,QAA8B,EAAE,UAAmB,EAAE;QAClE,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAEM,MAAM,CAAC,IAA0B,EAAE,UAAmB,EAAE;QAC7D,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAEM,MAAM,CAAC,EAA0B;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC;IAEM,QAAQ;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC/C,CAAC;CACF"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Action, Disposable, NotebookInstance } from './index.js';
|
|
2
|
+
interface Stat {
|
|
3
|
+
usage: number;
|
|
4
|
+
limit: number;
|
|
5
|
+
}
|
|
6
|
+
export interface ContainerStats {
|
|
7
|
+
cpu: Stat;
|
|
8
|
+
memory: Stat;
|
|
9
|
+
disk: Stat;
|
|
10
|
+
}
|
|
11
|
+
export declare enum NotebookState {
|
|
12
|
+
RUNNING = "running",
|
|
13
|
+
STOPPED = "stopped",
|
|
14
|
+
STARTING = "starting",
|
|
15
|
+
STOPPING = "stopping",
|
|
16
|
+
KILLED = "killed",
|
|
17
|
+
ERROR = "error",
|
|
18
|
+
PROVISIONING = "provisioning"
|
|
19
|
+
}
|
|
20
|
+
export interface ContainerEvents {
|
|
21
|
+
'container.stats': ContainerStats;
|
|
22
|
+
'container.ports': PortInfo[];
|
|
23
|
+
}
|
|
24
|
+
export interface PortInfo {
|
|
25
|
+
subdomain: string;
|
|
26
|
+
url: string;
|
|
27
|
+
default: boolean;
|
|
28
|
+
port: number;
|
|
29
|
+
}
|
|
30
|
+
export type TelemetryFeature = 'stats' | 'logs' | 'ports';
|
|
31
|
+
export interface ContainerActions {
|
|
32
|
+
'container.start': Action<{}, void>;
|
|
33
|
+
'container.stop': Action<{}, void>;
|
|
34
|
+
'container.state': Action<{}, {
|
|
35
|
+
state: NotebookState;
|
|
36
|
+
}>;
|
|
37
|
+
'container.opened-ports': Action<{}, PortInfo[]>;
|
|
38
|
+
'container.set-php': Action<{
|
|
39
|
+
version: string;
|
|
40
|
+
}, {
|
|
41
|
+
version: string;
|
|
42
|
+
}>;
|
|
43
|
+
'container.stream-telemetry': Action<{
|
|
44
|
+
features: TelemetryFeature[];
|
|
45
|
+
}, void>;
|
|
46
|
+
'container.stop-telemetry': Action<{}, void>;
|
|
47
|
+
}
|
|
48
|
+
export default class Container {
|
|
49
|
+
protected okra: NotebookInstance;
|
|
50
|
+
constructor(okra: NotebookInstance);
|
|
51
|
+
start(): Promise<void>;
|
|
52
|
+
stop(): Promise<void>;
|
|
53
|
+
state(): Promise<{
|
|
54
|
+
state: NotebookState;
|
|
55
|
+
}>;
|
|
56
|
+
openedPorts(): Promise<PortInfo[]>;
|
|
57
|
+
setPhp(version: string): Promise<{
|
|
58
|
+
version: string;
|
|
59
|
+
}>;
|
|
60
|
+
enableTelemetry(features: Set<TelemetryFeature>): Promise<void>;
|
|
61
|
+
stopTelemetry(): Promise<void>;
|
|
62
|
+
listen<T extends keyof ContainerEvents>(event: T, handler: (data: ContainerEvents[T]) => void): Disposable;
|
|
63
|
+
onPort(handler: (port: PortInfo, type: 'open' | 'close') => void): Disposable;
|
|
64
|
+
}
|
|
65
|
+
export {};
|
|
66
|
+
//# sourceMappingURL=container.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAElE,UAAU,IAAI;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,IAAI,CAAC;IACV,MAAM,EAAE,IAAI,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;CACZ;AAED,oBAAY,aAAa;IACvB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,YAAY,iBAAiB;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,iBAAiB,EAAE,cAAc,CAAC;IAClC,iBAAiB,EAAE,QAAQ,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;AAE1D,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACpC,gBAAgB,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACnC,iBAAiB,EAAE,MAAM,CAAC,EAAE,EAAE;QAAE,KAAK,EAAE,aAAa,CAAA;KAAE,CAAC,CAAC;IACxD,wBAAwB,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IACjD,mBAAmB,EAAE,MAAM,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtE,4BAA4B,EAAE,MAAM,CAAC;QAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAA;KAAE,EAAE,IAAI,CAAC,CAAC;IAC7E,0BAA0B,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;CAC9C;AAED,MAAM,CAAC,OAAO,OAAO,SAAS;IAChB,SAAS,CAAC,IAAI,EAAE,gBAAgB;gBAAtB,IAAI,EAAE,gBAAgB;IAErC,KAAK;IAIL,IAAI;IAIJ,KAAK;eAlB2B,aAAa;;IAsB7C,WAAW;IAIX,MAAM,CAAC,OAAO,EAAE,MAAM;iBAxB+B,MAAM;;IA4B3D,eAAe,CAAC,QAAQ,EAAE,GAAG,CAAC,gBAAgB,CAAC;IAI/C,aAAa;IAIb,MAAM,CAAC,CAAC,SAAS,MAAM,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI;IAI7F,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,KAAK,IAAI,GAAG,UAAU;CAiBrF"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export var NotebookState;
|
|
2
|
+
(function (NotebookState) {
|
|
3
|
+
NotebookState["RUNNING"] = "running";
|
|
4
|
+
NotebookState["STOPPED"] = "stopped";
|
|
5
|
+
NotebookState["STARTING"] = "starting";
|
|
6
|
+
NotebookState["STOPPING"] = "stopping";
|
|
7
|
+
NotebookState["KILLED"] = "killed";
|
|
8
|
+
NotebookState["ERROR"] = "error";
|
|
9
|
+
NotebookState["PROVISIONING"] = "provisioning";
|
|
10
|
+
})(NotebookState || (NotebookState = {}));
|
|
11
|
+
export default class Container {
|
|
12
|
+
constructor(okra) {
|
|
13
|
+
this.okra = okra;
|
|
14
|
+
}
|
|
15
|
+
start() {
|
|
16
|
+
return this.okra.invoke('container.start');
|
|
17
|
+
}
|
|
18
|
+
stop() {
|
|
19
|
+
return this.okra.invoke('container.stop');
|
|
20
|
+
}
|
|
21
|
+
state() {
|
|
22
|
+
return this.okra.invoke('container.state');
|
|
23
|
+
}
|
|
24
|
+
openedPorts() {
|
|
25
|
+
return this.okra.invoke('container.opened-ports');
|
|
26
|
+
}
|
|
27
|
+
setPhp(version) {
|
|
28
|
+
return this.okra.invoke('container.set-php', { version });
|
|
29
|
+
}
|
|
30
|
+
enableTelemetry(features) {
|
|
31
|
+
return this.okra.invoke('container.stream-telemetry', { features: Array.from(features) });
|
|
32
|
+
}
|
|
33
|
+
stopTelemetry() {
|
|
34
|
+
return this.okra.invoke('container.stop-telemetry');
|
|
35
|
+
}
|
|
36
|
+
listen(event, handler) {
|
|
37
|
+
return this.okra.listen(event, handler);
|
|
38
|
+
}
|
|
39
|
+
onPort(handler) {
|
|
40
|
+
let ports = [];
|
|
41
|
+
return this.listen('container.ports', (newPorts) => {
|
|
42
|
+
for (const port of newPorts) {
|
|
43
|
+
if (!ports.some((p) => p.port === port.port)) {
|
|
44
|
+
handler(port, 'open');
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
for (const port of ports) {
|
|
48
|
+
if (!newPorts.some((p) => p.port === port.port)) {
|
|
49
|
+
handler(port, 'close');
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
ports = newPorts;
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=container.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.js","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"AAaA,MAAM,CAAN,IAAY,aAQX;AARD,WAAY,aAAa;IACvB,oCAAmB,CAAA;IACnB,oCAAmB,CAAA;IACnB,sCAAqB,CAAA;IACrB,sCAAqB,CAAA;IACrB,kCAAiB,CAAA;IACjB,gCAAe,CAAA;IACf,8CAA6B,CAAA;AAC/B,CAAC,EARW,aAAa,KAAb,aAAa,QAQxB;AA0BD,MAAM,CAAC,OAAO,OAAO,SAAS;IAC5B,YAAsB,IAAsB;QAAtB,SAAI,GAAJ,IAAI,CAAkB;IAAG,CAAC;IAEzC,KAAK;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC7C,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC7C,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;IACpD,CAAC;IAEM,MAAM,CAAC,OAAe;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5D,CAAC;IAEM,eAAe,CAAC,QAA+B;QACpD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,4BAA4B,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC5F,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM,CAAkC,KAAQ,EAAE,OAA2C;QAClG,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAEM,MAAM,CAAC,OAAyD;QACrE,IAAI,KAAK,GAAe,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,QAAQ,EAAE,EAAE;YACjD,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7C,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChD,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;YACD,KAAK,GAAG,QAAQ,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface EventDispatcher {
|
|
2
|
+
listen: (event: any, callback: (data: any) => void, context?: any) => Disposable;
|
|
3
|
+
once: (event: any, callback: (data: any) => void, context?: any) => void;
|
|
4
|
+
emit: (event: any, ...args: any) => void;
|
|
5
|
+
removeListener: (event?: any, callbackSignature?: any) => void;
|
|
6
|
+
}
|
|
7
|
+
import { Emitter, EventHandlerMap, EventType, Handler } from 'mitt';
|
|
8
|
+
import { Disposable } from '../types.js';
|
|
9
|
+
export declare function mittWithOnce<Events extends Record<EventType, unknown>>(all?: EventHandlerMap<Events>): {
|
|
10
|
+
once<Key extends keyof Events>(type: Key, handler: Handler<Events[Key]>): void;
|
|
11
|
+
} & Emitter<Events>;
|
|
12
|
+
export default class EventManager implements EventDispatcher {
|
|
13
|
+
static instance: EventDispatcher;
|
|
14
|
+
listen(event: any, callback: (data: any) => void): Disposable;
|
|
15
|
+
emit(event: string, data: any): void;
|
|
16
|
+
once(event: any, callback: (data: any) => void): void;
|
|
17
|
+
static make(): EventDispatcher;
|
|
18
|
+
static refresh(): EventDispatcher;
|
|
19
|
+
removeListener(event?: any, callbackSignature?: any): void;
|
|
20
|
+
static createInstance(): EventDispatcher;
|
|
21
|
+
inspect(): any;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,UAAU,CAAC;IACjF,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACzE,IAAI,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IACzC,cAAc,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CAChE;AAED,OAAa,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,wBAAgB,YAAY,CAAC,MAAM,SAAS,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,GAOzE;IACxB,IAAI,CAAC,GAAG,SAAS,MAAM,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;CAChF,GAAG,OAAO,CAAC,MAAM,CAAC,CACpB;AAID,MAAM,CAAC,OAAO,OAAO,YAAa,YAAW,eAAe;IAC1D,OAAc,QAAQ,EAAE,eAAe,CAAC;IAEjC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,UAAU;IAU7D,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,IAAI;IAIpC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;WAI9C,IAAI,IAAI,eAAe;WAIvB,OAAO,IAAI,eAAe;IAOjC,cAAc,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE,GAAG,GAAG,IAAI;WAInD,cAAc,IAAI,eAAe;IAOxC,OAAO,IAAI,GAAG;CAGtB"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import mitt from 'mitt';
|
|
2
|
+
export function mittWithOnce(all) {
|
|
3
|
+
// @ts-expect-error
|
|
4
|
+
const inst = mitt(all);
|
|
5
|
+
inst.once = (type, fn) => {
|
|
6
|
+
inst.on(type, fn);
|
|
7
|
+
inst.on(type, inst.off.bind(inst, type, fn));
|
|
8
|
+
};
|
|
9
|
+
return inst;
|
|
10
|
+
}
|
|
11
|
+
let EE = mittWithOnce();
|
|
12
|
+
export default class EventManager {
|
|
13
|
+
listen(event, callback) {
|
|
14
|
+
const dispose = () => {
|
|
15
|
+
this.removeListener(event, callback);
|
|
16
|
+
};
|
|
17
|
+
EE.on(event, callback);
|
|
18
|
+
return { dispose };
|
|
19
|
+
}
|
|
20
|
+
emit(event, data) {
|
|
21
|
+
EE.emit(event, data);
|
|
22
|
+
}
|
|
23
|
+
once(event, callback) {
|
|
24
|
+
EE.once(event, callback);
|
|
25
|
+
}
|
|
26
|
+
static make() {
|
|
27
|
+
return EventManager.instance || (EventManager.instance = new EventManager());
|
|
28
|
+
}
|
|
29
|
+
static refresh() {
|
|
30
|
+
EE.all.clear();
|
|
31
|
+
EE = mittWithOnce();
|
|
32
|
+
return (EventManager.instance = new EventManager());
|
|
33
|
+
}
|
|
34
|
+
removeListener(event, callbackSignature) {
|
|
35
|
+
EE.off(event, callbackSignature);
|
|
36
|
+
}
|
|
37
|
+
static createInstance() {
|
|
38
|
+
EE = mittWithOnce();
|
|
39
|
+
EventManager.instance = new EventManager();
|
|
40
|
+
return EventManager.instance;
|
|
41
|
+
}
|
|
42
|
+
inspect() {
|
|
43
|
+
return EE.all;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAOA,OAAO,IAAsD,MAAM,MAAM,CAAC;AAG1E,MAAM,UAAU,YAAY,CAA4C,GAA6B;IACnG,mBAAmB;IACnB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACvB,IAAI,CAAC,IAAI,GAAG,CAAC,IAAkB,EAAE,EAAiC,EAAE,EAAE;QACpE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClB,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC;IACF,OAAO,IAEY,CAAC;AACtB,CAAC;AAED,IAAI,EAAE,GAAG,YAAY,EAAE,CAAC;AAExB,MAAM,CAAC,OAAO,OAAO,YAAY;IAGxB,MAAM,CAAC,KAAU,EAAE,QAA6B;QACrD,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACvC,CAAC,CAAC;QAEF,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAEvB,OAAO,EAAE,OAAO,EAAE,CAAC;IACrB,CAAC;IAEM,IAAI,CAAC,KAAa,EAAE,IAAS;QAClC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACvB,CAAC;IAEM,IAAI,CAAC,KAAU,EAAE,QAA6B;QACnD,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,IAAI;QAChB,OAAO,YAAY,CAAC,QAAQ,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC,CAAC;IAC/E,CAAC;IAEM,MAAM,CAAC,OAAO;QACnB,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACf,EAAE,GAAG,YAAY,EAAE,CAAC;QAEpB,OAAO,CAAC,YAAY,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC,CAAC;IACtD,CAAC;IAEM,cAAc,CAAC,KAAW,EAAE,iBAAuB;QACxD,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACnC,CAAC;IAEM,MAAM,CAAC,cAAc;QAC1B,EAAE,GAAG,YAAY,EAAE,CAAC;QACpB,YAAY,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QAE3C,OAAO,YAAY,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAEM,OAAO;QACZ,OAAO,EAAE,CAAC,GAAG,CAAC;IAChB,CAAC;CACF"}
|