@start9labs/start-sdk 0.4.0-beta.3 → 0.4.0-beta.31
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/base/lib/Effects.d.ts +8 -34
- package/base/lib/actions/index.d.ts +13 -14
- package/base/lib/actions/index.js +4 -4
- package/base/lib/actions/index.js.map +1 -1
- package/base/lib/actions/input/builder/inputSpec.d.ts +15 -26
- package/base/lib/actions/input/builder/inputSpec.js +10 -27
- package/base/lib/actions/input/builder/inputSpec.js.map +1 -1
- package/base/lib/actions/input/builder/list.d.ts +12 -24
- package/base/lib/actions/input/builder/list.js +19 -33
- package/base/lib/actions/input/builder/list.js.map +1 -1
- package/base/lib/actions/input/builder/value.d.ts +331 -70
- package/base/lib/actions/input/builder/value.js +505 -188
- package/base/lib/actions/input/builder/value.js.map +1 -1
- package/base/lib/actions/input/builder/variants.d.ts +11 -23
- package/base/lib/actions/input/builder/variants.js +16 -26
- package/base/lib/actions/input/builder/variants.js.map +1 -1
- package/base/lib/actions/input/inputSpecConstants.d.ts +6 -6
- package/base/lib/actions/input/inputSpecConstants.js +29 -26
- package/base/lib/actions/input/inputSpecConstants.js.map +1 -1
- package/base/lib/actions/setupActions.d.ts +19 -15
- package/base/lib/actions/setupActions.js +37 -14
- package/base/lib/actions/setupActions.js.map +1 -1
- package/base/lib/dependencies/dependencies.d.ts +2 -2
- package/base/lib/dependencies/dependencies.js +23 -15
- package/base/lib/dependencies/dependencies.js.map +1 -1
- package/base/lib/dependencies/setupDependencies.d.ts +1 -3
- package/base/lib/dependencies/setupDependencies.js +3 -12
- package/base/lib/dependencies/setupDependencies.js.map +1 -1
- package/base/lib/index.d.ts +1 -0
- package/base/lib/index.js +2 -1
- package/base/lib/index.js.map +1 -1
- package/base/lib/inits/index.d.ts +2 -0
- package/base/lib/inits/index.js +19 -0
- package/base/lib/inits/index.js.map +1 -0
- package/base/lib/inits/setupInit.d.ts +9 -0
- package/base/lib/inits/setupInit.js +40 -0
- package/base/lib/inits/setupInit.js.map +1 -0
- package/base/lib/inits/setupUninit.d.ts +25 -0
- package/base/lib/inits/setupUninit.js +24 -0
- package/base/lib/inits/setupUninit.js.map +1 -0
- package/base/lib/interfaces/Host.js +18 -6
- package/base/lib/interfaces/Host.js.map +1 -1
- package/base/lib/interfaces/Origin.d.ts +2 -2
- package/base/lib/interfaces/Origin.js +3 -3
- package/base/lib/interfaces/Origin.js.map +1 -1
- package/base/lib/interfaces/ServiceInterfaceBuilder.d.ts +2 -2
- package/base/lib/interfaces/setupInterfaces.d.ts +2 -4
- package/base/lib/interfaces/setupInterfaces.js +8 -19
- package/base/lib/interfaces/setupInterfaces.js.map +1 -1
- package/base/lib/osBindings/AddCategoryParams.d.ts +0 -2
- package/base/lib/osBindings/AddPackageToCategoryParams.d.ts +5 -0
- package/base/lib/osBindings/AddPackageToCategoryParams.js +3 -0
- package/base/lib/osBindings/AddPackageToCategoryParams.js.map +1 -0
- package/base/lib/osBindings/AttachParams.d.ts +1 -0
- package/base/lib/osBindings/Category.d.ts +0 -2
- package/base/lib/osBindings/Category.js +1 -0
- package/base/lib/osBindings/Category.js.map +1 -1
- package/base/lib/osBindings/CheckDependenciesResult.d.ts +3 -3
- package/base/lib/osBindings/ClearTasksParams.d.ts +5 -0
- package/base/lib/osBindings/{UnsetPublicParams.js → ClearTasksParams.js} +1 -1
- package/base/lib/osBindings/ClearTasksParams.js.map +1 -0
- package/base/lib/osBindings/CreateTaskParams.d.ts +15 -0
- package/base/lib/osBindings/CreateTaskParams.js +3 -0
- package/base/lib/osBindings/CreateTaskParams.js.map +1 -0
- package/base/lib/osBindings/FileType.d.ts +1 -0
- package/base/lib/osBindings/{NetworkInterfaceSetPublicParams.js → FileType.js} +1 -1
- package/base/lib/osBindings/FileType.js.map +1 -0
- package/base/lib/osBindings/GetOsVersionParams.d.ts +3 -3
- package/base/lib/osBindings/GetPackageParams.d.ts +1 -1
- package/base/lib/osBindings/MainStatus.d.ts +0 -2
- package/base/lib/osBindings/Manifest.d.ts +1 -0
- package/base/lib/osBindings/MountTarget.d.ts +2 -0
- package/base/lib/osBindings/PackageDataEntry.d.ts +4 -5
- package/base/lib/osBindings/Progress.d.ts +2 -0
- package/base/lib/osBindings/Progress.js +0 -1
- package/base/lib/osBindings/Progress.js.map +1 -1
- package/base/lib/osBindings/ProgressUnits.d.ts +1 -0
- package/base/lib/osBindings/ProgressUnits.js +4 -0
- package/base/lib/osBindings/ProgressUnits.js.map +1 -0
- package/base/lib/osBindings/Proxies.d.ts +4 -0
- package/base/lib/osBindings/Proxies.js +3 -0
- package/base/lib/osBindings/Proxies.js.map +1 -0
- package/base/lib/osBindings/ProxyInfo.d.ts +4 -0
- package/base/lib/osBindings/ProxyInfo.js +4 -0
- package/base/lib/osBindings/ProxyInfo.js.map +1 -0
- package/base/lib/osBindings/RemoveAdminParams.d.ts +4 -0
- package/base/lib/osBindings/RemoveAdminParams.js +3 -0
- package/base/lib/osBindings/RemoveAdminParams.js.map +1 -0
- package/base/lib/osBindings/RemoveAssetParams.d.ts +4 -0
- package/base/lib/osBindings/RemoveAssetParams.js +4 -0
- package/base/lib/osBindings/RemoveAssetParams.js.map +1 -0
- package/base/lib/osBindings/RemovePackageFromCategoryParams.d.ts +5 -0
- package/base/lib/osBindings/RemovePackageFromCategoryParams.js +3 -0
- package/base/lib/osBindings/RemovePackageFromCategoryParams.js.map +1 -0
- package/base/lib/osBindings/RemovePackageParams.d.ts +6 -0
- package/base/lib/osBindings/RemovePackageParams.js +3 -0
- package/base/lib/osBindings/RemovePackageParams.js.map +1 -0
- package/base/lib/osBindings/ServerInfo.d.ts +1 -0
- package/base/lib/osBindings/SetupExecuteParams.d.ts +1 -0
- package/base/lib/osBindings/Task.d.ts +13 -0
- package/base/lib/osBindings/Task.js +3 -0
- package/base/lib/osBindings/Task.js.map +1 -0
- package/base/lib/osBindings/TaskCondition.d.ts +1 -0
- package/base/lib/osBindings/TaskCondition.js +4 -0
- package/base/lib/osBindings/TaskCondition.js.map +1 -0
- package/base/lib/osBindings/TaskEntry.d.ts +5 -0
- package/base/lib/osBindings/TaskEntry.js +3 -0
- package/base/lib/osBindings/TaskEntry.js.map +1 -0
- package/base/lib/osBindings/TaskInput.d.ts +4 -0
- package/base/lib/osBindings/TaskInput.js +4 -0
- package/base/lib/osBindings/TaskInput.js.map +1 -0
- package/base/lib/osBindings/TaskSeverity.d.ts +1 -0
- package/base/lib/osBindings/TaskSeverity.js +4 -0
- package/base/lib/osBindings/TaskSeverity.js.map +1 -0
- package/base/lib/osBindings/TaskTrigger.d.ts +5 -0
- package/base/lib/osBindings/TaskTrigger.js +3 -0
- package/base/lib/osBindings/TaskTrigger.js.map +1 -0
- package/base/lib/osBindings/index.d.ts +15 -11
- package/base/lib/s9pk/index.js +5 -7
- package/base/lib/s9pk/index.js.map +1 -1
- package/base/lib/types.d.ts +22 -33
- package/base/lib/types.js +13 -0
- package/base/lib/types.js.map +1 -1
- package/base/lib/util/GetSystemSmtp.d.ts +4 -0
- package/base/lib/util/GetSystemSmtp.js +32 -2
- package/base/lib/util/GetSystemSmtp.js.map +1 -1
- package/base/lib/util/getServiceInterface.d.ts +14 -0
- package/base/lib/util/getServiceInterface.js +70 -1
- package/base/lib/util/getServiceInterface.js.map +1 -1
- package/base/lib/util/getServiceInterfaces.d.ts +4 -0
- package/base/lib/util/getServiceInterfaces.js +34 -1
- package/base/lib/util/getServiceInterfaces.js.map +1 -1
- package/base/lib/util/index.d.ts +0 -1
- package/base/lib/util/index.js +1 -3
- package/base/lib/util/index.js.map +1 -1
- package/package/lib/StartSdk.d.ts +108 -570
- package/package/lib/StartSdk.js +112 -428
- package/package/lib/StartSdk.js.map +1 -1
- package/package/lib/backup/Backups.d.ts +15 -3
- package/package/lib/backup/Backups.js +44 -28
- package/package/lib/backup/Backups.js.map +1 -1
- package/package/lib/backup/setupBackups.d.ts +5 -2
- package/package/lib/backup/setupBackups.js +7 -5
- package/package/lib/backup/setupBackups.js.map +1 -1
- package/package/lib/health/HealthCheck.d.ts +0 -1
- package/package/lib/health/HealthCheck.js +1 -7
- package/package/lib/health/HealthCheck.js.map +1 -1
- package/package/lib/health/checkFns/runHealthScript.d.ts +2 -1
- package/package/lib/health/checkFns/runHealthScript.js +1 -1
- package/package/lib/health/checkFns/runHealthScript.js.map +1 -1
- package/package/lib/index.d.ts +0 -3
- package/package/lib/index.js +1 -8
- package/package/lib/index.js.map +1 -1
- package/package/lib/inits/index.d.ts +2 -3
- package/package/lib/inits/index.js +16 -3
- package/package/lib/inits/index.js.map +1 -1
- package/package/lib/inits/setupInit.d.ts +7 -13
- package/package/lib/inits/setupInit.js +22 -48
- package/package/lib/inits/setupInit.js.map +1 -1
- package/package/lib/inits/setupInstall.d.ts +10 -10
- package/package/lib/inits/setupInstall.js.map +1 -1
- package/package/lib/inits/setupUninit.d.ts +7 -0
- package/package/lib/inits/setupUninit.js +14 -0
- package/package/lib/inits/setupUninit.js.map +1 -0
- package/package/lib/inits/setupUninstall.d.ts +5 -5
- package/package/lib/inits/setupUninstall.js.map +1 -1
- package/package/lib/mainFn/CommandController.d.ts +6 -24
- package/package/lib/mainFn/CommandController.js +72 -48
- package/package/lib/mainFn/CommandController.js.map +1 -1
- package/package/lib/mainFn/Daemon.d.ts +15 -22
- package/package/lib/mainFn/Daemon.js +56 -13
- package/package/lib/mainFn/Daemon.js.map +1 -1
- package/package/lib/mainFn/Daemons.d.ts +72 -49
- package/package/lib/mainFn/Daemons.js +87 -23
- package/package/lib/mainFn/Daemons.js.map +1 -1
- package/package/lib/mainFn/HealthDaemon.d.ts +8 -7
- package/package/lib/mainFn/HealthDaemon.js +79 -38
- package/package/lib/mainFn/HealthDaemon.js.map +1 -1
- package/package/lib/mainFn/Mounts.d.ts +38 -43
- package/package/lib/mainFn/Mounts.js +19 -48
- package/package/lib/mainFn/Mounts.js.map +1 -1
- package/package/lib/mainFn/Oneshot.d.ts +12 -0
- package/package/lib/mainFn/Oneshot.js +23 -0
- package/package/lib/mainFn/Oneshot.js.map +1 -0
- package/package/lib/mainFn/index.d.ts +1 -1
- package/package/lib/manifest/setupManifest.js +2 -0
- package/package/lib/manifest/setupManifest.js.map +1 -1
- package/package/lib/store/getStore.js +7 -2
- package/package/lib/store/getStore.js.map +1 -1
- package/package/lib/test/host.test.js +1 -1
- package/package/lib/test/host.test.js.map +1 -1
- package/package/lib/test/inputSpecBuilder.test.js +152 -156
- package/package/lib/test/inputSpecBuilder.test.js.map +1 -1
- package/package/lib/test/output.d.ts +2 -113
- package/package/lib/test/output.js +41 -40
- package/package/lib/test/output.js.map +1 -1
- package/package/lib/test/output.sdk.d.ts +235 -901
- package/package/lib/test/output.sdk.js +0 -1
- package/package/lib/test/output.sdk.js.map +1 -1
- package/package/lib/test/output.test.js +12 -8
- package/package/lib/test/output.test.js.map +1 -1
- package/package/lib/util/Drop.d.ts +4 -2
- package/package/lib/util/Drop.js +32 -8
- package/package/lib/util/Drop.js.map +1 -1
- package/package/lib/util/GetSslCertificate.d.ts +4 -0
- package/package/lib/util/GetSslCertificate.js +34 -2
- package/package/lib/util/GetSslCertificate.js.map +1 -1
- package/package/lib/util/SubContainer.d.ts +164 -45
- package/package/lib/util/SubContainer.js +223 -100
- package/package/lib/util/SubContainer.js.map +1 -1
- package/package/lib/util/fileHelper.d.ts +46 -17
- package/package/lib/util/fileHelper.js +112 -41
- package/package/lib/util/fileHelper.js.map +1 -1
- package/package/lib/version/VersionGraph.d.ts +26 -5
- package/package/lib/version/VersionGraph.js +88 -22
- package/package/lib/version/VersionGraph.js.map +1 -1
- package/package/package.json +63 -0
- package/package/scripts/oldSpecToBuilder.js +5 -4
- package/package/scripts/oldSpecToBuilder.js.map +1 -1
- package/package.json +7 -8
- package/base/lib/osBindings/NetworkInterfaceSetPublicParams.d.ts +0 -4
- package/base/lib/osBindings/NetworkInterfaceSetPublicParams.js.map +0 -1
- package/base/lib/osBindings/UnsetPublicParams.d.ts +0 -3
- package/base/lib/osBindings/UnsetPublicParams.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.sdk.js","sourceRoot":"","sources":["../../../../package/lib/test/output.sdk.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"output.sdk.js","sourceRoot":"","sources":["../../../../package/lib/test/output.sdk.ts"],"names":[],"mappings":";;;AAAA,0CAAsC;AACtC,6DAAyD;AAI5C,QAAA,GAAG,GAAG,mBAAQ,CAAC,EAAE,EAAE;KAC7B,YAAY,CACX,IAAA,6BAAa,EAAC;IACZ,EAAE,EAAE,YAAY;IAChB,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,EAAE;IACX,QAAQ,EAAE,EAAE;IACZ,WAAW,EAAE,EAAE;IACf,YAAY,EAAE,EAAE;IAChB,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,EAAE;IACjB,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE;QACX,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,EAAE;KACT;IACD,UAAU,EAAE,EAAE;IACd,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,MAAM,EAAE;gBACN,SAAS,EAAE,oBAAoB;aAChC;YACD,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;YAC3B,gBAAgB,EAAE,SAAS;SAC5B;KACF;IACD,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,EAAE;IACV,MAAM,EAAE;QACN,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,IAAI;QACX,IAAI,EAAE,IAAI;KACX;IACD,YAAY,EAAE;QACZ,aAAa,EAAE;YACb,WAAW,EAAE,EAAE;YACf,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,sCAAsC;SAC7C;KACF;CACF,CAAC,CACH;KACA,KAAK,CAAC,IAAI,CAAC,CAAA"}
|
|
@@ -78,18 +78,22 @@ describe("Inputs", () => {
|
|
|
78
78
|
bloomfilters: { peerbloomfilters: false },
|
|
79
79
|
},
|
|
80
80
|
};
|
|
81
|
-
test("test valid input", () => {
|
|
82
|
-
const
|
|
81
|
+
test("test valid input", async () => {
|
|
82
|
+
const { validator } = await output_1.inputSpecSpec.build({});
|
|
83
|
+
const output = validator.unsafeCast(validInput);
|
|
83
84
|
expect(output).toEqual(validInput);
|
|
84
85
|
});
|
|
85
|
-
test("test no longer care about the conversion of min/max and validating", () => {
|
|
86
|
-
|
|
86
|
+
test("test no longer care about the conversion of min/max and validating", async () => {
|
|
87
|
+
const { validator } = await output_1.inputSpecSpec.build({});
|
|
88
|
+
validator.unsafeCast((0, util_1.deepMerge)({}, validInput, { rpc: { advanced: { threads: 0 } } }));
|
|
87
89
|
});
|
|
88
|
-
test("test errors should throw for number in string", () => {
|
|
89
|
-
|
|
90
|
+
test("test errors should throw for number in string", async () => {
|
|
91
|
+
const { validator } = await output_1.inputSpecSpec.build({});
|
|
92
|
+
expect(() => validator.unsafeCast((0, util_1.deepMerge)({}, validInput, { rpc: { enable: 2 } }))).toThrowError();
|
|
90
93
|
});
|
|
91
|
-
test("Test that we set serialversion to something not segwit or non-segwit", () => {
|
|
92
|
-
|
|
94
|
+
test("Test that we set serialversion to something not segwit or non-segwit", async () => {
|
|
95
|
+
const { validator } = await output_1.inputSpecSpec.build({});
|
|
96
|
+
expect(() => validator.unsafeCast((0, util_1.deepMerge)({}, validInput, {
|
|
93
97
|
rpc: { advanced: { serialversion: "testing" } },
|
|
94
98
|
}))).toThrowError();
|
|
95
99
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.test.js","sourceRoot":"","sources":["../../../../package/lib/test/output.test.ts"],"names":[],"mappings":";;AAOA,gCAEC;AATD,
|
|
1
|
+
{"version":3,"file":"output.test.js","sourceRoot":"","sources":["../../../../package/lib/test/output.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,12 @@ export declare abstract class Drop {
|
|
|
2
2
|
private static weak;
|
|
3
3
|
private static registry;
|
|
4
4
|
private static idCtr;
|
|
5
|
-
private
|
|
6
|
-
private
|
|
5
|
+
private dropId?;
|
|
6
|
+
private dropRef?;
|
|
7
7
|
protected constructor();
|
|
8
|
+
protected register(): void;
|
|
8
9
|
protected weak(): this;
|
|
9
10
|
abstract onDrop(): void;
|
|
10
11
|
drop(): void;
|
|
12
|
+
leak(): this;
|
|
11
13
|
}
|
package/package/lib/util/Drop.js
CHANGED
|
@@ -3,26 +3,50 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Drop = void 0;
|
|
4
4
|
class Drop {
|
|
5
5
|
constructor() {
|
|
6
|
-
this.
|
|
7
|
-
this.
|
|
8
|
-
|
|
9
|
-
Drop.
|
|
6
|
+
this.dropId = Drop.idCtr++;
|
|
7
|
+
this.dropRef = { id: this.dropId };
|
|
8
|
+
const weak = this.weak();
|
|
9
|
+
Drop.weak[this.dropId] = weak;
|
|
10
|
+
Drop.registry.register(this.dropRef, this.dropId, this.dropRef);
|
|
11
|
+
return new Proxy(this, {
|
|
12
|
+
set(target, prop, value) {
|
|
13
|
+
if (prop === "dropRef" || prop == "dropId")
|
|
14
|
+
return false;
|
|
15
|
+
target[prop] = value;
|
|
16
|
+
weak[prop] = value;
|
|
17
|
+
return true;
|
|
18
|
+
},
|
|
19
|
+
});
|
|
10
20
|
}
|
|
21
|
+
register() { }
|
|
11
22
|
weak() {
|
|
12
23
|
const weak = Object.assign(Object.create(Object.getPrototypeOf(this)), this);
|
|
13
|
-
|
|
24
|
+
if (this.dropRef)
|
|
25
|
+
weak.ref = new WeakRef(this.dropRef);
|
|
14
26
|
return weak;
|
|
15
27
|
}
|
|
16
28
|
drop() {
|
|
29
|
+
if (!this.dropRef || !this.dropId)
|
|
30
|
+
return;
|
|
17
31
|
this.onDrop();
|
|
18
|
-
|
|
19
|
-
|
|
32
|
+
this.leak();
|
|
33
|
+
}
|
|
34
|
+
leak() {
|
|
35
|
+
if (!this.dropRef || !this.dropId)
|
|
36
|
+
return this;
|
|
37
|
+
Drop.registry.unregister(this.dropRef);
|
|
38
|
+
delete Drop.weak[this.dropId];
|
|
39
|
+
delete this.dropRef;
|
|
40
|
+
delete this.dropId;
|
|
41
|
+
return this;
|
|
20
42
|
}
|
|
21
43
|
}
|
|
22
44
|
exports.Drop = Drop;
|
|
23
45
|
Drop.weak = {};
|
|
24
46
|
Drop.registry = new FinalizationRegistry((id) => {
|
|
25
|
-
Drop.weak[id]
|
|
47
|
+
const weak = Drop.weak[id];
|
|
48
|
+
if (weak)
|
|
49
|
+
weak.drop();
|
|
26
50
|
});
|
|
27
51
|
Drop.idCtr = 0;
|
|
28
52
|
//# sourceMappingURL=Drop.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Drop.js","sourceRoot":"","sources":["../../../../package/lib/util/Drop.ts"],"names":[],"mappings":";;;AAAA,MAAsB,IAAI;
|
|
1
|
+
{"version":3,"file":"Drop.js","sourceRoot":"","sources":["../../../../package/lib/util/Drop.ts"],"names":[],"mappings":";;;AAAA,MAAsB,IAAI;IASxB;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC1B,IAAI,CAAC,OAAO,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAA;QAC7B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAE/D,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE;YACrB,GAAG,CAAC,MAAW,EAAE,IAAI,EAAE,KAAK;gBAC1B,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,IAAI,QAAQ;oBAAE,OAAO,KAAK,CAAA;gBACxD,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CACnB;gBAAC,IAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;gBAC5B,OAAO,IAAI,CAAA;YACb,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;IACS,QAAQ,KAAI,CAAC;IACb,IAAI;QACZ,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QAC5E,IAAI,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,GAAG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAM;QACzC,IAAI,CAAC,MAAM,EAAE,CAAA;QACb,IAAI,CAAC,IAAI,EAAE,CAAA;IACb,CAAC;IACD,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QAC9C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAA;QACnB,OAAO,IAAI,CAAC,MAAM,CAAA;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;;AA5CH,oBA6CC;AA5CgB,SAAI,GAA2B,EAAE,CAAA;AACjC,aAAQ,GAAG,IAAI,oBAAoB,CAAC,CAAC,EAAU,EAAE,EAAE;IAChE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC1B,IAAI,IAAI;QAAE,IAAI,CAAC,IAAI,EAAE,CAAA;AACvB,CAAC,CAAC,CAAA;AACa,UAAK,GAAW,CAAC,CAAA"}
|
|
@@ -21,4 +21,8 @@ export declare class GetSslCertificate {
|
|
|
21
21
|
* Watches the SSL Certificate for the given hostnames if permitted. Takes a custom callback function to run whenever it changes
|
|
22
22
|
*/
|
|
23
23
|
onChange(callback: (value: [string, string, string] | null, error?: Error) => void | Promise<void>): void;
|
|
24
|
+
/**
|
|
25
|
+
* Watches the SSL Certificate for the given hostnames if permitted. Returns when the predicate is true
|
|
26
|
+
*/
|
|
27
|
+
waitFor(pred: (value: [string, string, string] | null) => boolean): Promise<[string, string, string] | null>;
|
|
24
28
|
}
|
|
@@ -31,10 +31,15 @@ class GetSslCertificate {
|
|
|
31
31
|
* Watches the SSL Certificate for the given hostnames if permitted. Returns an async iterator that yields whenever the value changes
|
|
32
32
|
*/
|
|
33
33
|
async *watch() {
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
const resolveCell = { resolve: () => { } };
|
|
35
|
+
this.effects.onLeaveContext(() => {
|
|
36
|
+
resolveCell.resolve();
|
|
37
|
+
});
|
|
38
|
+
while (this.effects.isInContext) {
|
|
39
|
+
let callback = () => { };
|
|
36
40
|
const waitForNext = new Promise((resolve) => {
|
|
37
41
|
callback = resolve;
|
|
42
|
+
resolveCell.resolve = resolve;
|
|
38
43
|
});
|
|
39
44
|
yield await this.effects.getSslCertificate({
|
|
40
45
|
hostnames: this.hostnames,
|
|
@@ -62,6 +67,33 @@ class GetSslCertificate {
|
|
|
62
67
|
.catch((e) => callback(null, e))
|
|
63
68
|
.catch((e) => console.error("callback function threw an error @ GetSslCertificate.onChange", e));
|
|
64
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Watches the SSL Certificate for the given hostnames if permitted. Returns when the predicate is true
|
|
72
|
+
*/
|
|
73
|
+
async waitFor(pred) {
|
|
74
|
+
const resolveCell = { resolve: () => { } };
|
|
75
|
+
this.effects.onLeaveContext(() => {
|
|
76
|
+
resolveCell.resolve();
|
|
77
|
+
});
|
|
78
|
+
while (this.effects.isInContext) {
|
|
79
|
+
let callback = () => { };
|
|
80
|
+
const waitForNext = new Promise((resolve) => {
|
|
81
|
+
callback = resolve;
|
|
82
|
+
resolveCell.resolve = resolve;
|
|
83
|
+
});
|
|
84
|
+
const res = await this.effects.getSslCertificate({
|
|
85
|
+
hostnames: this.hostnames,
|
|
86
|
+
algorithm: this.algorithm,
|
|
87
|
+
callback: () => callback(),
|
|
88
|
+
});
|
|
89
|
+
if (pred(res)) {
|
|
90
|
+
resolveCell.resolve();
|
|
91
|
+
return res;
|
|
92
|
+
}
|
|
93
|
+
await waitForNext;
|
|
94
|
+
}
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
65
97
|
}
|
|
66
98
|
exports.GetSslCertificate = GetSslCertificate;
|
|
67
99
|
//# sourceMappingURL=GetSslCertificate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GetSslCertificate.js","sourceRoot":"","sources":["../../../../package/lib/util/GetSslCertificate.ts"],"names":[],"mappings":";;;AAGA,MAAa,iBAAiB;IAC5B,YACW,OAAgB,EAChB,SAAmB,EACnB,SAAuB;QAFvB,YAAO,GAAP,OAAO,CAAS;QAChB,cAAS,GAAT,SAAS,CAAU;QACnB,cAAS,GAAT,SAAS,CAAc;IAC/B,CAAC;IAEJ;;OAEG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;YACpC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EACN,IAAI,CAAC,OAAO,CAAC,UAAU;gBACvB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;SAC/D,CAAC,CAAA;IACJ,CAAC;IACD;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;YACpC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,CAAC,KAAK;QACV,OAAO,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"GetSslCertificate.js","sourceRoot":"","sources":["../../../../package/lib/util/GetSslCertificate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,84 +1,200 @@
|
|
|
1
1
|
import * as T from "../../../base/lib/types";
|
|
2
2
|
import * as cp from "child_process";
|
|
3
3
|
import { Buffer } from "node:buffer";
|
|
4
|
+
import { Drop } from "./Drop";
|
|
5
|
+
import { Mounts } from "../mainFn/Mounts";
|
|
6
|
+
import { BackupEffects } from "../backup/Backups";
|
|
4
7
|
export declare const execFile: typeof cp.execFile.__promisify__;
|
|
5
|
-
type ExecResults = {
|
|
6
|
-
exitCode: number | null;
|
|
7
|
-
exitSignal: NodeJS.Signals | null;
|
|
8
|
-
stdout: string | Buffer;
|
|
9
|
-
stderr: string | Buffer;
|
|
10
|
-
};
|
|
11
8
|
export type ExecOptions = {
|
|
12
9
|
input?: string | Buffer;
|
|
13
10
|
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
11
|
+
export interface SubContainer<Manifest extends T.SDKManifest, Effects extends T.Effects = T.Effects> extends Drop {
|
|
12
|
+
readonly imageId: keyof Manifest["images"] & T.ImageId;
|
|
13
|
+
readonly rootfs: string;
|
|
14
|
+
readonly guid: T.Guid;
|
|
15
|
+
mount(mounts: Effects extends BackupEffects ? Mounts<Manifest, {
|
|
16
|
+
subpath: string | null;
|
|
17
|
+
mountpoint: string;
|
|
18
|
+
}> : Mounts<Manifest, never>): Promise<this>;
|
|
19
|
+
destroy: () => Promise<null>;
|
|
20
|
+
/**
|
|
21
|
+
* @description run a command inside this subcontainer
|
|
22
|
+
* DOES NOT THROW ON NONZERO EXIT CODE (see execFail)
|
|
23
|
+
* @param commands an array representing the command and args to execute
|
|
24
|
+
* @param options
|
|
25
|
+
* @param timeoutMs how long to wait before killing the command in ms
|
|
26
|
+
* @returns
|
|
27
|
+
*/
|
|
28
|
+
exec(command: string[], options?: CommandOptions & ExecOptions, timeoutMs?: number | null, abort?: AbortController): Promise<{
|
|
29
|
+
throw: () => {
|
|
30
|
+
stdout: string | Buffer;
|
|
31
|
+
stderr: string | Buffer;
|
|
32
|
+
};
|
|
33
|
+
exitCode: number | null;
|
|
34
|
+
exitSignal: NodeJS.Signals | null;
|
|
35
|
+
stdout: string | Buffer;
|
|
36
|
+
stderr: string | Buffer;
|
|
37
|
+
}>;
|
|
38
|
+
/**
|
|
39
|
+
* @description run a command inside this subcontainer, throwing on non-zero exit status
|
|
40
|
+
* @param commands an array representing the command and args to execute
|
|
41
|
+
* @param options
|
|
42
|
+
* @param timeoutMs how long to wait before killing the command in ms
|
|
43
|
+
* @returns
|
|
44
|
+
*/
|
|
45
|
+
execFail(command: string[], options?: CommandOptions & ExecOptions, timeoutMs?: number | null, abort?: AbortController): Promise<{
|
|
46
|
+
stdout: string | Buffer;
|
|
47
|
+
stderr: string | Buffer;
|
|
48
|
+
}>;
|
|
49
|
+
launch(command: string[], options?: CommandOptions): Promise<cp.ChildProcessWithoutNullStreams>;
|
|
23
50
|
spawn(command: string[], options?: CommandOptions & StdioOptions): Promise<cp.ChildProcess>;
|
|
51
|
+
rc(): SubContainerRc<Manifest, Effects>;
|
|
52
|
+
isOwned(): this is SubContainerOwned<Manifest, Effects>;
|
|
24
53
|
}
|
|
25
54
|
/**
|
|
26
55
|
* Want to limit what we can do in a container, so we want to launch a container with a specific image and the mounts.
|
|
27
|
-
*
|
|
28
|
-
* Implements:
|
|
29
|
-
* @see {@link ExecSpawnable}
|
|
30
56
|
*/
|
|
31
|
-
export declare class
|
|
32
|
-
readonly effects:
|
|
33
|
-
readonly imageId: T.ImageId;
|
|
57
|
+
export declare class SubContainerOwned<Manifest extends T.SDKManifest, Effects extends T.Effects = T.Effects> extends Drop implements SubContainer<Manifest, Effects> {
|
|
58
|
+
readonly effects: Effects;
|
|
59
|
+
readonly imageId: keyof Manifest["images"] & T.ImageId;
|
|
34
60
|
readonly rootfs: string;
|
|
35
61
|
readonly guid: T.Guid;
|
|
36
|
-
private
|
|
37
|
-
|
|
62
|
+
private destroyed;
|
|
63
|
+
rcs: number;
|
|
38
64
|
private leader;
|
|
39
65
|
private leaderExited;
|
|
40
66
|
private waitProc;
|
|
41
67
|
private constructor();
|
|
42
|
-
static of(effects:
|
|
43
|
-
imageId: T.ImageId;
|
|
68
|
+
static of<Manifest extends T.SDKManifest, Effects extends T.Effects>(effects: Effects, image: {
|
|
69
|
+
imageId: keyof Manifest["images"] & T.ImageId;
|
|
44
70
|
sharedRun?: boolean;
|
|
45
|
-
},
|
|
46
|
-
|
|
47
|
-
|
|
71
|
+
}, mounts: (Effects extends BackupEffects ? Mounts<Manifest, {
|
|
72
|
+
subpath: string | null;
|
|
73
|
+
mountpoint: string;
|
|
74
|
+
}> : Mounts<Manifest, never>) | null, name: string): Promise<SubContainerOwned<Manifest, Effects>>;
|
|
75
|
+
static withTemp<Manifest extends T.SDKManifest, T, Effects extends T.Effects>(effects: Effects, image: {
|
|
76
|
+
imageId: keyof Manifest["images"] & T.ImageId;
|
|
48
77
|
sharedRun?: boolean;
|
|
49
|
-
}, mounts: {
|
|
50
|
-
|
|
78
|
+
}, mounts: (Effects extends BackupEffects ? Mounts<Manifest, {
|
|
79
|
+
subpath: string | null;
|
|
80
|
+
mountpoint: string;
|
|
81
|
+
}> : Mounts<Manifest, never>) | null, name: string, fn: (subContainer: SubContainer<Manifest, Effects>) => Promise<T>): Promise<T>;
|
|
82
|
+
mount(mounts: Effects extends BackupEffects ? Mounts<Manifest, {
|
|
83
|
+
subpath: string | null;
|
|
51
84
|
mountpoint: string;
|
|
52
|
-
}
|
|
53
|
-
mount(options: MountOptions, path: string): Promise<SubContainer>;
|
|
85
|
+
}> : Mounts<Manifest, never>): Promise<this>;
|
|
54
86
|
private killLeader;
|
|
55
87
|
get destroy(): () => Promise<null>;
|
|
56
|
-
|
|
88
|
+
onDrop(): void;
|
|
89
|
+
/**
|
|
90
|
+
* @description run a command inside this subcontainer
|
|
91
|
+
* DOES NOT THROW ON NONZERO EXIT CODE (see execFail)
|
|
92
|
+
* @param commands an array representing the command and args to execute
|
|
93
|
+
* @param options
|
|
94
|
+
* @param timeoutMs how long to wait before killing the command in ms
|
|
95
|
+
* @returns
|
|
96
|
+
*/
|
|
97
|
+
exec(command: string[], options?: CommandOptions & ExecOptions, timeoutMs?: number | null, abort?: AbortController): Promise<{
|
|
98
|
+
throw: () => {
|
|
99
|
+
stdout: string | Buffer;
|
|
100
|
+
stderr: string | Buffer;
|
|
101
|
+
};
|
|
57
102
|
exitCode: number | null;
|
|
58
103
|
exitSignal: NodeJS.Signals | null;
|
|
59
104
|
stdout: string | Buffer;
|
|
60
105
|
stderr: string | Buffer;
|
|
61
106
|
}>;
|
|
107
|
+
/**
|
|
108
|
+
* @description run a command inside this subcontainer, throwing on non-zero exit status
|
|
109
|
+
* @param commands an array representing the command and args to execute
|
|
110
|
+
* @param options
|
|
111
|
+
* @param timeoutMs how long to wait before killing the command in ms
|
|
112
|
+
* @returns
|
|
113
|
+
*/
|
|
114
|
+
execFail(command: string[], options?: CommandOptions & ExecOptions, timeoutMs?: number | null, abort?: AbortController): Promise<{
|
|
115
|
+
stdout: string | Buffer;
|
|
116
|
+
stderr: string | Buffer;
|
|
117
|
+
}>;
|
|
62
118
|
launch(command: string[], options?: CommandOptions): Promise<cp.ChildProcessWithoutNullStreams>;
|
|
63
119
|
spawn(command: string[], options?: CommandOptions & StdioOptions): Promise<cp.ChildProcess>;
|
|
120
|
+
rc(): SubContainerRc<Manifest, Effects>;
|
|
121
|
+
isOwned(): this is SubContainerOwned<Manifest, Effects>;
|
|
64
122
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
123
|
+
export declare class SubContainerRc<Manifest extends T.SDKManifest, Effects extends T.Effects = T.Effects> extends Drop implements SubContainer<Manifest, Effects> {
|
|
124
|
+
private readonly subcontainer;
|
|
125
|
+
get imageId(): keyof Manifest["images"] & string;
|
|
126
|
+
get rootfs(): string;
|
|
127
|
+
get guid(): string;
|
|
128
|
+
private destroyed;
|
|
129
|
+
constructor(subcontainer: SubContainerOwned<Manifest, Effects>);
|
|
130
|
+
static of<Manifest extends T.SDKManifest, Effects extends T.Effects>(effects: Effects, image: {
|
|
131
|
+
imageId: keyof Manifest["images"] & T.ImageId;
|
|
132
|
+
sharedRun?: boolean;
|
|
133
|
+
}, mounts: (Effects extends BackupEffects ? Mounts<Manifest, {
|
|
134
|
+
subpath: string | null;
|
|
135
|
+
mountpoint: string;
|
|
136
|
+
}> : Mounts<Manifest, never>) | null, name: string): Promise<SubContainerRc<Manifest, Effects>>;
|
|
137
|
+
static withTemp<Manifest extends T.SDKManifest, T, Effects extends T.Effects>(effects: Effects, image: {
|
|
138
|
+
imageId: keyof Manifest["images"] & T.ImageId;
|
|
139
|
+
sharedRun?: boolean;
|
|
140
|
+
}, mounts: (Effects extends BackupEffects ? Mounts<Manifest, {
|
|
141
|
+
subpath: string | null;
|
|
142
|
+
mountpoint: string;
|
|
143
|
+
}> : Mounts<Manifest, never>) | null, name: string, fn: (subContainer: SubContainer<Manifest, Effects>) => Promise<T>): Promise<T>;
|
|
144
|
+
mount(mounts: Effects extends BackupEffects ? Mounts<Manifest, {
|
|
145
|
+
subpath: string | null;
|
|
146
|
+
mountpoint: string;
|
|
147
|
+
}> : Mounts<Manifest, never>): Promise<this>;
|
|
148
|
+
get destroy(): () => Promise<null>;
|
|
149
|
+
onDrop(): void;
|
|
150
|
+
/**
|
|
151
|
+
* @description run a command inside this subcontainer
|
|
152
|
+
* DOES NOT THROW ON NONZERO EXIT CODE (see execFail)
|
|
153
|
+
* @param commands an array representing the command and args to execute
|
|
154
|
+
* @param options
|
|
155
|
+
* @param timeoutMs how long to wait before killing the command in ms
|
|
156
|
+
* @returns
|
|
157
|
+
*/
|
|
158
|
+
exec(command: string[], options?: CommandOptions & ExecOptions, timeoutMs?: number | null, abort?: AbortController): Promise<{
|
|
159
|
+
throw: () => {
|
|
160
|
+
stdout: string | Buffer;
|
|
161
|
+
stderr: string | Buffer;
|
|
162
|
+
};
|
|
163
|
+
exitCode: number | null;
|
|
164
|
+
exitSignal: NodeJS.Signals | null;
|
|
165
|
+
stdout: string | Buffer;
|
|
166
|
+
stderr: string | Buffer;
|
|
167
|
+
}>;
|
|
168
|
+
/**
|
|
169
|
+
* @description run a command inside this subcontainer, throwing on non-zero exit status
|
|
170
|
+
* @param commands an array representing the command and args to execute
|
|
171
|
+
* @param options
|
|
172
|
+
* @param timeoutMs how long to wait before killing the command in ms
|
|
173
|
+
* @returns
|
|
174
|
+
*/
|
|
175
|
+
execFail(command: string[], options?: CommandOptions & ExecOptions, timeoutMs?: number | null, abort?: AbortController): Promise<{
|
|
176
|
+
stdout: string | Buffer;
|
|
177
|
+
stderr: string | Buffer;
|
|
178
|
+
}>;
|
|
179
|
+
launch(command: string[], options?: CommandOptions): Promise<cp.ChildProcessWithoutNullStreams>;
|
|
75
180
|
spawn(command: string[], options?: CommandOptions & StdioOptions): Promise<cp.ChildProcess>;
|
|
181
|
+
rc(): SubContainerRc<Manifest, Effects>;
|
|
182
|
+
isOwned(): this is SubContainerOwned<Manifest, Effects>;
|
|
76
183
|
}
|
|
77
184
|
export type CommandOptions = {
|
|
185
|
+
/**
|
|
186
|
+
* Environment variables to set for this command
|
|
187
|
+
*/
|
|
78
188
|
env?: {
|
|
79
189
|
[variable: string]: string;
|
|
80
190
|
};
|
|
191
|
+
/**
|
|
192
|
+
* the working directory to run this command in
|
|
193
|
+
*/
|
|
81
194
|
cwd?: string;
|
|
195
|
+
/**
|
|
196
|
+
* the user to run this command as
|
|
197
|
+
*/
|
|
82
198
|
user?: string;
|
|
83
199
|
};
|
|
84
200
|
export type StdioOptions = {
|
|
@@ -87,13 +203,15 @@ export type StdioOptions = {
|
|
|
87
203
|
export type MountOptions = MountOptionsVolume | MountOptionsAssets | MountOptionsPointer | MountOptionsBackup;
|
|
88
204
|
export type MountOptionsVolume = {
|
|
89
205
|
type: "volume";
|
|
90
|
-
|
|
206
|
+
volumeId: string;
|
|
91
207
|
subpath: string | null;
|
|
92
208
|
readonly: boolean;
|
|
209
|
+
filetype: "file" | "directory" | "infer";
|
|
93
210
|
};
|
|
94
211
|
export type MountOptionsAssets = {
|
|
95
212
|
type: "assets";
|
|
96
213
|
subpath: string | null;
|
|
214
|
+
filetype: "file" | "directory" | "infer";
|
|
97
215
|
};
|
|
98
216
|
export type MountOptionsPointer = {
|
|
99
217
|
type: "pointer";
|
|
@@ -101,10 +219,12 @@ export type MountOptionsPointer = {
|
|
|
101
219
|
volumeId: string;
|
|
102
220
|
subpath: string | null;
|
|
103
221
|
readonly: boolean;
|
|
222
|
+
filetype: "file" | "directory" | "infer";
|
|
104
223
|
};
|
|
105
224
|
export type MountOptionsBackup = {
|
|
106
225
|
type: "backup";
|
|
107
226
|
subpath: string | null;
|
|
227
|
+
filetype: "file" | "directory" | "infer";
|
|
108
228
|
};
|
|
109
229
|
export declare class ExitError extends Error {
|
|
110
230
|
readonly command: string;
|
|
@@ -121,4 +241,3 @@ export declare class ExitError extends Error {
|
|
|
121
241
|
stderr: string | Buffer;
|
|
122
242
|
});
|
|
123
243
|
}
|
|
124
|
-
export {};
|