@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
package/base/lib/Effects.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { ActionId, ActionInput, ActionMetadata, SetMainStatus, DependencyRequirement, CheckDependenciesResult, SetHealth, BindParams, HostId, NetInfo, Host, ExportServiceInterfaceParams, ServiceInterface,
|
|
2
|
-
import { StorePath } from "./util/PathBuilder";
|
|
1
|
+
import { ActionId, ActionInput, ActionMetadata, SetMainStatus, DependencyRequirement, CheckDependenciesResult, SetHealth, BindParams, HostId, NetInfo, Host, ExportServiceInterfaceParams, ServiceInterface, CreateTaskParams, MainStatus, MountParams } from "./osBindings";
|
|
3
2
|
import { PackageId, Dependencies, ServiceInterfaceId, SmtpValue, ActionResult } from "./types";
|
|
4
3
|
/** Used to reach out from the pure js runtime */
|
|
5
4
|
export type Effects = {
|
|
5
|
+
child: (name: string) => Effects;
|
|
6
6
|
constRetry?: () => void;
|
|
7
|
+
isInContext: boolean;
|
|
8
|
+
onLeaveContext: (fn: () => void | null | undefined) => void;
|
|
7
9
|
clearCallbacks: (options: {
|
|
8
10
|
only: number[];
|
|
9
11
|
} | {
|
|
@@ -28,8 +30,8 @@ export type Effects = {
|
|
|
28
30
|
actionId: ActionId;
|
|
29
31
|
input?: Input;
|
|
30
32
|
}): Promise<ActionResult | null>;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
createTask(options: CreateTaskParams): Promise<null>;
|
|
34
|
+
clearTasks(options: {
|
|
33
35
|
only: string[];
|
|
34
36
|
} | {
|
|
35
37
|
except: string[];
|
|
@@ -57,21 +59,9 @@ export type Effects = {
|
|
|
57
59
|
packageIds?: PackageId[];
|
|
58
60
|
}): Promise<CheckDependenciesResult[]>;
|
|
59
61
|
/** mount a volume of a dependency */
|
|
60
|
-
mount(options:
|
|
61
|
-
location: string;
|
|
62
|
-
target: {
|
|
63
|
-
packageId: string;
|
|
64
|
-
volumeId: string;
|
|
65
|
-
subpath: string | null;
|
|
66
|
-
readonly: boolean;
|
|
67
|
-
};
|
|
68
|
-
}): Promise<string>;
|
|
62
|
+
mount(options: MountParams): Promise<string>;
|
|
69
63
|
/** Returns a list of the ids of all installed packages */
|
|
70
64
|
getInstalledPackages(): Promise<string[]>;
|
|
71
|
-
/** grants access to certain paths in the store to dependents */
|
|
72
|
-
exposeForDependents(options: {
|
|
73
|
-
paths: string[];
|
|
74
|
-
}): Promise<null>;
|
|
75
65
|
/** sets the result of a health check */
|
|
76
66
|
setHealth(o: SetHealth): Promise<null>;
|
|
77
67
|
subcontainer: {
|
|
@@ -141,25 +131,9 @@ export type Effects = {
|
|
|
141
131
|
hostnames: string[];
|
|
142
132
|
algorithm?: "ecdsa" | "ed25519";
|
|
143
133
|
}) => Promise<string>;
|
|
144
|
-
store: {
|
|
145
|
-
/** Get a value in a json like data, can be observed and subscribed */
|
|
146
|
-
get<Store = never, ExtractStore = unknown>(options: {
|
|
147
|
-
/** If there is no packageId it is assumed the current package */
|
|
148
|
-
packageId?: string;
|
|
149
|
-
/** The path defaults to root level, using the [JsonPath](https://jsonpath.com/) */
|
|
150
|
-
path: StorePath;
|
|
151
|
-
callback?: () => void;
|
|
152
|
-
}): Promise<ExtractStore>;
|
|
153
|
-
/** Used to store values that can be accessed and subscribed to */
|
|
154
|
-
set<Store = never, ExtractStore = unknown>(options: {
|
|
155
|
-
/** Sets the value for the wrapper at the path, it will override, using the [JsonPath](https://jsonpath.com/) */
|
|
156
|
-
path: StorePath;
|
|
157
|
-
value: ExtractStore;
|
|
158
|
-
}): Promise<null>;
|
|
159
|
-
};
|
|
160
134
|
/** sets the version that this service's data has been migrated to */
|
|
161
135
|
setDataVersion(options: {
|
|
162
|
-
version: string;
|
|
136
|
+
version: string | null;
|
|
163
137
|
}): Promise<null>;
|
|
164
138
|
/** returns the version that this service's data has been migrated to */
|
|
165
139
|
getDataVersion(): Promise<string | null>;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as T from "../types";
|
|
2
2
|
import * as IST from "../actions/input/inputSpecTypes";
|
|
3
|
-
import { Action } from "./setupActions";
|
|
4
|
-
import { ExtractInputSpecType } from "./input/builder/inputSpec";
|
|
3
|
+
import { Action, ActionInfo } from "./setupActions";
|
|
5
4
|
export type RunActionInput<Input> = Input | ((prev?: {
|
|
6
5
|
spec: IST.InputSpec;
|
|
7
6
|
value: Input | null;
|
|
@@ -11,31 +10,31 @@ export declare const runAction: <Input extends Record<string, unknown>>(options:
|
|
|
11
10
|
actionId: T.ActionId;
|
|
12
11
|
input?: RunActionInput<Input>;
|
|
13
12
|
}) => Promise<T.ActionResult | null>;
|
|
14
|
-
type GetActionInputType<A extends
|
|
15
|
-
type
|
|
13
|
+
type GetActionInputType<A extends ActionInfo<T.ActionId, any>> = A extends Action<T.ActionId, infer I> ? I : never;
|
|
14
|
+
type TaskBase = {
|
|
16
15
|
reason?: string;
|
|
17
16
|
replayId?: string;
|
|
18
17
|
};
|
|
19
|
-
type
|
|
18
|
+
type TaskInput<T extends ActionInfo<T.ActionId, any>> = {
|
|
20
19
|
kind: "partial";
|
|
21
|
-
value:
|
|
20
|
+
value: T.DeepPartial<GetActionInputType<T>>;
|
|
22
21
|
};
|
|
23
|
-
export type
|
|
24
|
-
when?: Exclude<T.
|
|
22
|
+
export type TaskOptions<T extends ActionInfo<T.ActionId, any>> = TaskBase & ({
|
|
23
|
+
when?: Exclude<T.TaskTrigger, {
|
|
25
24
|
condition: "input-not-matches";
|
|
26
25
|
}>;
|
|
27
|
-
input?:
|
|
26
|
+
input?: TaskInput<T>;
|
|
28
27
|
} | {
|
|
29
|
-
when: T.
|
|
28
|
+
when: T.TaskTrigger & {
|
|
30
29
|
condition: "input-not-matches";
|
|
31
30
|
};
|
|
32
|
-
input:
|
|
31
|
+
input: TaskInput<T>;
|
|
33
32
|
});
|
|
34
|
-
export declare const
|
|
33
|
+
export declare const createTask: <T extends ActionInfo<T.ActionId, any>>(options: {
|
|
35
34
|
effects: T.Effects;
|
|
36
35
|
packageId: T.PackageId;
|
|
37
36
|
action: T;
|
|
38
|
-
severity: T.
|
|
39
|
-
options?:
|
|
37
|
+
severity: T.TaskSeverity;
|
|
38
|
+
options?: TaskOptions<T>;
|
|
40
39
|
}) => Promise<null>;
|
|
41
40
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.createTask = exports.runAction = void 0;
|
|
4
4
|
const runAction = async (options) => {
|
|
5
5
|
if (options.input) {
|
|
6
6
|
if (options.input instanceof Function) {
|
|
@@ -34,7 +34,7 @@ const runAction = async (options) => {
|
|
|
34
34
|
};
|
|
35
35
|
exports.runAction = runAction;
|
|
36
36
|
const _validate = {};
|
|
37
|
-
const
|
|
37
|
+
const createTask = (options) => {
|
|
38
38
|
const request = options.options || {};
|
|
39
39
|
const actionId = options.action.id;
|
|
40
40
|
const req = {
|
|
@@ -46,7 +46,7 @@ const requestAction = (options) => {
|
|
|
46
46
|
replayId: request.replayId || `${options.packageId}:${actionId}`,
|
|
47
47
|
};
|
|
48
48
|
delete req.action;
|
|
49
|
-
return options.effects.action.
|
|
49
|
+
return options.effects.action.createTask(req);
|
|
50
50
|
};
|
|
51
|
-
exports.
|
|
51
|
+
exports.createTask = createTask;
|
|
52
52
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../base/lib/actions/index.ts"],"names":[],"mappings":";;;AASO,MAAM,SAAS,GAAG,KAAK,EAE5B,OAKD,EAAE,EAAE;IACH,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,OAAO,CAAC,KAAK,YAAY,QAAQ,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACjD,gCAAgC;gBAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC,CAAA;YACF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CACzB,IAAI;gBACF,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAqB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAc,EAAE;gBAClE,CAAC,CAAC,SAAS,CACd,CAAA;YACD,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;gBAChC,gCAAgC;gBAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,KAAK;aACN,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;gBAChC,gCAAgC;gBAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;YAChC,kCAAkC;YAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAA;AArCY,QAAA,SAAS,aAqCrB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../base/lib/actions/index.ts"],"names":[],"mappings":";;;AASO,MAAM,SAAS,GAAG,KAAK,EAE5B,OAKD,EAAE,EAAE;IACH,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,OAAO,CAAC,KAAK,YAAY,QAAQ,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACjD,gCAAgC;gBAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC,CAAA;YACF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CACzB,IAAI;gBACF,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAqB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAc,EAAE;gBAClE,CAAC,CAAC,SAAS,CACd,CAAA;YACD,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;gBAChC,gCAAgC;gBAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,KAAK;aACN,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;gBAChC,gCAAgC;gBAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;YAChC,kCAAkC;YAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAA;IACJ,CAAC;AACH,CAAC,CAAA;AArCY,QAAA,SAAS,aAqCrB;AAwBD,MAAM,SAAS,GAAW,EAIzB,CAAA;AAEM,MAAM,UAAU,GAAG,CAAwC,OAMjE,EAAE,EAAE;IACH,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAA;IACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAA;IAClC,MAAM,GAAG,GAAG;QACV,GAAG,OAAO;QACV,QAAQ;QACR,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,GAAG,OAAO,CAAC,SAAS,IAAI,QAAQ,EAAE;KACjE,CAAA;IACD,OAAO,GAAG,CAAC,MAAM,CAAA;IACjB,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AAC/C,CAAC,CAAA;AAnBY,QAAA,UAAU,cAmBtB"}
|
|
@@ -3,16 +3,16 @@ import { Value } from "./value";
|
|
|
3
3
|
import { Effects } from "../../../Effects";
|
|
4
4
|
import { Parser } from "ts-matches";
|
|
5
5
|
import { DeepPartial } from "../../../types";
|
|
6
|
-
export type LazyBuildOptions
|
|
6
|
+
export type LazyBuildOptions = {
|
|
7
7
|
effects: Effects;
|
|
8
8
|
};
|
|
9
|
-
export type LazyBuild<
|
|
10
|
-
export type ExtractInputSpecType<A extends
|
|
11
|
-
export type ExtractPartialInputSpecType<A extends Record<string, any> | InputSpec<Record<string, any
|
|
12
|
-
export type InputSpecOf<A extends Record<string, any
|
|
13
|
-
[K in keyof A]: Value<A[K]
|
|
9
|
+
export type LazyBuild<ExpectedOut> = (options: LazyBuildOptions) => Promise<ExpectedOut> | ExpectedOut;
|
|
10
|
+
export type ExtractInputSpecType<A extends InputSpec<Record<string, any>>> = A extends InputSpec<infer B> ? B : never;
|
|
11
|
+
export type ExtractPartialInputSpecType<A extends Record<string, any> | InputSpec<Record<string, any>>> = A extends InputSpec<infer B> ? DeepPartial<B> : DeepPartial<A>;
|
|
12
|
+
export type InputSpecOf<A extends Record<string, any>> = {
|
|
13
|
+
[K in keyof A]: Value<A[K]>;
|
|
14
14
|
};
|
|
15
|
-
export type MaybeLazyValues<A> = LazyBuild<
|
|
15
|
+
export type MaybeLazyValues<A> = LazyBuild<A> | A;
|
|
16
16
|
/**
|
|
17
17
|
* InputSpecs are the specs that are used by the os input specification form for this service.
|
|
18
18
|
* Here is an example of a simple input specification
|
|
@@ -69,27 +69,16 @@ export const addNodesSpec = InputSpec.of({ hostname: hostname, port: port });
|
|
|
69
69
|
|
|
70
70
|
```
|
|
71
71
|
*/
|
|
72
|
-
export declare class InputSpec<Type extends Record<string, any
|
|
72
|
+
export declare class InputSpec<Type extends Record<string, any>> {
|
|
73
73
|
private readonly spec;
|
|
74
|
-
validator: Parser<unknown, Type>;
|
|
75
74
|
private constructor();
|
|
76
75
|
_TYPE: Type;
|
|
77
76
|
_PARTIAL: DeepPartial<Type>;
|
|
78
|
-
build(options: LazyBuildOptions
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
name: "a",
|
|
86
|
-
required: false,
|
|
87
|
-
})
|
|
88
|
-
|
|
89
|
-
return InputSpec.of<Store>()({
|
|
90
|
-
myValue: a.withStore(),
|
|
91
|
-
})
|
|
92
|
-
```
|
|
93
|
-
*/
|
|
94
|
-
withStore<NewStore extends Store extends never ? any : Store>(): InputSpec<Type, NewStore>;
|
|
77
|
+
build(options: LazyBuildOptions): Promise<{
|
|
78
|
+
spec: {
|
|
79
|
+
[K in keyof Type]: ValueSpec;
|
|
80
|
+
};
|
|
81
|
+
validator: Parser<unknown, Type>;
|
|
82
|
+
}>;
|
|
83
|
+
static of<Spec extends Record<string, Value<any>>>(spec: Spec): InputSpec<{ [K in keyof Spec]: Spec[K] extends Value<infer T> ? T : never; }>;
|
|
95
84
|
}
|
|
@@ -59,43 +59,26 @@ export const addNodesSpec = InputSpec.of({ hostname: hostname, port: port });
|
|
|
59
59
|
```
|
|
60
60
|
*/
|
|
61
61
|
class InputSpec {
|
|
62
|
-
constructor(spec
|
|
62
|
+
constructor(spec) {
|
|
63
63
|
this.spec = spec;
|
|
64
|
-
this.validator = validator;
|
|
65
64
|
this._TYPE = null;
|
|
66
65
|
this._PARTIAL = null;
|
|
67
66
|
}
|
|
68
67
|
async build(options) {
|
|
69
68
|
const answer = {};
|
|
69
|
+
const validator = {};
|
|
70
70
|
for (const k in this.spec) {
|
|
71
|
-
|
|
71
|
+
const built = await this.spec[k].build(options);
|
|
72
|
+
answer[k] = built.spec;
|
|
73
|
+
validator[k] = built.validator;
|
|
72
74
|
}
|
|
73
|
-
return
|
|
75
|
+
return {
|
|
76
|
+
spec: answer,
|
|
77
|
+
validator: (0, ts_matches_1.object)(validator),
|
|
78
|
+
};
|
|
74
79
|
}
|
|
75
80
|
static of(spec) {
|
|
76
|
-
|
|
77
|
-
for (const key in spec) {
|
|
78
|
-
validatorObj[key] = spec[key].validator;
|
|
79
|
-
}
|
|
80
|
-
const validator = (0, ts_matches_1.object)(validatorObj);
|
|
81
|
-
return new InputSpec(spec, validator);
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Use this during the times that the input needs a more specific type.
|
|
85
|
-
* Used in types that the value/ variant/ list/ inputSpec is constructed somewhere else.
|
|
86
|
-
```ts
|
|
87
|
-
const a = InputSpec.text({
|
|
88
|
-
name: "a",
|
|
89
|
-
required: false,
|
|
90
|
-
})
|
|
91
|
-
|
|
92
|
-
return InputSpec.of<Store>()({
|
|
93
|
-
myValue: a.withStore(),
|
|
94
|
-
})
|
|
95
|
-
```
|
|
96
|
-
*/
|
|
97
|
-
withStore() {
|
|
98
|
-
return this;
|
|
81
|
+
return new InputSpec(spec);
|
|
99
82
|
}
|
|
100
83
|
}
|
|
101
84
|
exports.InputSpec = InputSpec;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputSpec.js","sourceRoot":"","sources":["../../../../../../base/lib/actions/input/builder/inputSpec.ts"],"names":[],"mappings":";;;AAIA,2CAA2C;
|
|
1
|
+
{"version":3,"file":"inputSpec.js","sourceRoot":"","sources":["../../../../../../base/lib/actions/input/builder/inputSpec.ts"],"names":[],"mappings":";;;AAIA,2CAA2C;AAwB3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,MAAa,SAAS;IACpB,YACmB,IAEhB;QAFgB,SAAI,GAAJ,IAAI,CAEpB;QAEI,UAAK,GAAS,IAAmB,CAAA;QACjC,aAAQ,GAAsB,IAAgC,CAAA;IAFlE,CAAC;IAGJ,KAAK,CAAC,KAAK,CAAC,OAAyB;QAMnC,MAAM,MAAM,GAAG,EAEd,CAAA;QACD,MAAM,SAAS,GAAG,EAEjB,CAAA;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAc,CAAC,CAAA;YACtD,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAA;YACtB,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAA;QAChC,CAAC;QACD,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,IAAA,mBAAM,EAAC,SAAS,CAAQ;SACpC,CAAA;IACH,CAAC;IAED,MAAM,CAAC,EAAE,CAA0C,IAAU;QAC3D,OAAO,IAAI,SAAS,CAEjB,IAAI,CAAC,CAAA;IACV,CAAC;CACF;AApCD,8BAoCC"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { InputSpec, LazyBuild } from "./inputSpec";
|
|
2
2
|
import { ListValueSpecText, Pattern, RandomString, UniqueBy, ValueSpecList } from "../inputSpecTypes";
|
|
3
3
|
import { Parser } from "ts-matches";
|
|
4
|
-
export declare class List<Type
|
|
5
|
-
build: LazyBuild<
|
|
6
|
-
|
|
4
|
+
export declare class List<Type> {
|
|
5
|
+
build: LazyBuild<{
|
|
6
|
+
spec: ValueSpecList;
|
|
7
|
+
validator: Parser<unknown, Type>;
|
|
8
|
+
}>;
|
|
7
9
|
private constructor();
|
|
10
|
+
readonly _TYPE: Type;
|
|
8
11
|
static text(a: {
|
|
9
12
|
name: string;
|
|
10
13
|
description?: string | null;
|
|
@@ -44,8 +47,8 @@ export declare class List<Type, Store> {
|
|
|
44
47
|
* @description Displays a button that will generate a random string according to the provided charset and len attributes.
|
|
45
48
|
*/
|
|
46
49
|
generate?: null | RandomString;
|
|
47
|
-
}): List<string[]
|
|
48
|
-
static dynamicText
|
|
50
|
+
}): List<string[]>;
|
|
51
|
+
static dynamicText(getA: LazyBuild<{
|
|
49
52
|
name: string;
|
|
50
53
|
description?: string | null;
|
|
51
54
|
warning?: string | null;
|
|
@@ -62,8 +65,8 @@ export declare class List<Type, Store> {
|
|
|
62
65
|
patterns?: Pattern[];
|
|
63
66
|
inputmode?: ListValueSpecText["inputmode"];
|
|
64
67
|
};
|
|
65
|
-
}>): List<string[]
|
|
66
|
-
static obj<Type extends Record<string, any
|
|
68
|
+
}>): List<string[]>;
|
|
69
|
+
static obj<Type extends Record<string, any>>(a: {
|
|
67
70
|
name: string;
|
|
68
71
|
description?: string | null;
|
|
69
72
|
warning?: string | null;
|
|
@@ -71,23 +74,8 @@ export declare class List<Type, Store> {
|
|
|
71
74
|
minLength?: number | null;
|
|
72
75
|
maxLength?: number | null;
|
|
73
76
|
}, aSpec: {
|
|
74
|
-
spec: InputSpec<Type
|
|
77
|
+
spec: InputSpec<Type>;
|
|
75
78
|
displayAs?: null | string;
|
|
76
79
|
uniqueBy?: null | UniqueBy;
|
|
77
|
-
}): List<Type[]
|
|
78
|
-
/**
|
|
79
|
-
* Use this during the times that the input needs a more specific type.
|
|
80
|
-
* Used in types that the value/ variant/ list/ inputSpec is constructed somewhere else.
|
|
81
|
-
```ts
|
|
82
|
-
const a = InputSpec.text({
|
|
83
|
-
name: "a",
|
|
84
|
-
required: false,
|
|
85
|
-
})
|
|
86
|
-
|
|
87
|
-
return InputSpec.of<Store>()({
|
|
88
|
-
myValue: a.withStore(),
|
|
89
|
-
})
|
|
90
|
-
```
|
|
91
|
-
*/
|
|
92
|
-
withStore<NewStore extends Store extends never ? any : Store>(): List<Type, NewStore>;
|
|
80
|
+
}): List<Type[]>;
|
|
93
81
|
}
|
|
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.List = void 0;
|
|
4
4
|
const ts_matches_1 = require("ts-matches");
|
|
5
5
|
class List {
|
|
6
|
-
constructor(build
|
|
6
|
+
constructor(build) {
|
|
7
7
|
this.build = build;
|
|
8
|
-
this.
|
|
8
|
+
this._TYPE = null;
|
|
9
9
|
}
|
|
10
10
|
static text(a, aSpec) {
|
|
11
11
|
return new List(() => {
|
|
@@ -31,8 +31,8 @@ class List {
|
|
|
31
31
|
...a,
|
|
32
32
|
spec,
|
|
33
33
|
};
|
|
34
|
-
return built;
|
|
35
|
-
}
|
|
34
|
+
return { spec: built, validator: (0, ts_matches_1.arrayOf)(ts_matches_1.string) };
|
|
35
|
+
});
|
|
36
36
|
}
|
|
37
37
|
static dynamicText(getA) {
|
|
38
38
|
return new List(async (options) => {
|
|
@@ -59,19 +59,19 @@ class List {
|
|
|
59
59
|
...a,
|
|
60
60
|
spec,
|
|
61
61
|
};
|
|
62
|
-
return built;
|
|
63
|
-
}
|
|
62
|
+
return { spec: built, validator: (0, ts_matches_1.arrayOf)(ts_matches_1.string) };
|
|
63
|
+
});
|
|
64
64
|
}
|
|
65
65
|
static obj(a, aSpec) {
|
|
66
66
|
return new List(async (options) => {
|
|
67
67
|
const { spec: previousSpecSpec, ...restSpec } = aSpec;
|
|
68
|
-
const
|
|
68
|
+
const built = await previousSpecSpec.build(options);
|
|
69
69
|
const spec = {
|
|
70
70
|
type: "object",
|
|
71
71
|
displayAs: null,
|
|
72
72
|
uniqueBy: null,
|
|
73
73
|
...restSpec,
|
|
74
|
-
spec:
|
|
74
|
+
spec: built.spec,
|
|
75
75
|
};
|
|
76
76
|
const value = {
|
|
77
77
|
spec,
|
|
@@ -79,32 +79,18 @@ class List {
|
|
|
79
79
|
...a,
|
|
80
80
|
};
|
|
81
81
|
return {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
82
|
+
spec: {
|
|
83
|
+
description: null,
|
|
84
|
+
warning: null,
|
|
85
|
+
minLength: null,
|
|
86
|
+
maxLength: null,
|
|
87
|
+
type: "list",
|
|
88
|
+
disabled: false,
|
|
89
|
+
...value,
|
|
90
|
+
},
|
|
91
|
+
validator: (0, ts_matches_1.arrayOf)(built.validator),
|
|
89
92
|
};
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Use this during the times that the input needs a more specific type.
|
|
94
|
-
* Used in types that the value/ variant/ list/ inputSpec is constructed somewhere else.
|
|
95
|
-
```ts
|
|
96
|
-
const a = InputSpec.text({
|
|
97
|
-
name: "a",
|
|
98
|
-
required: false,
|
|
99
|
-
})
|
|
100
|
-
|
|
101
|
-
return InputSpec.of<Store>()({
|
|
102
|
-
myValue: a.withStore(),
|
|
103
|
-
})
|
|
104
|
-
```
|
|
105
|
-
*/
|
|
106
|
-
withStore() {
|
|
107
|
-
return this;
|
|
93
|
+
});
|
|
108
94
|
}
|
|
109
95
|
}
|
|
110
96
|
exports.List = List;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../../base/lib/actions/input/builder/list.ts"],"names":[],"mappings":";;;AASA,2CAAoD;AAEpD,MAAa,IAAI;IACf,YACS,
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../../base/lib/actions/input/builder/list.ts"],"names":[],"mappings":"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"}
|