@k8ts/instruments 0.1.0
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/LICENSE.md +7 -0
- package/README.md +3 -0
- package/dist/_embedder/base.d.ts +11 -0
- package/dist/_embedder/base.d.ts.map +1 -0
- package/dist/_embedder/base.js +39 -0
- package/dist/_embedder/base.js.map +1 -0
- package/dist/_embedder/index.d.ts +2 -0
- package/dist/_embedder/index.d.ts.map +1 -0
- package/dist/_embedder/index.js +18 -0
- package/dist/_embedder/index.js.map +1 -0
- package/dist/_string/index.d.ts +6 -0
- package/dist/_string/index.d.ts.map +1 -0
- package/dist/_string/index.js +22 -0
- package/dist/_string/index.js.map +1 -0
- package/dist/_string/markers.d.ts +3 -0
- package/dist/_string/markers.d.ts.map +1 -0
- package/dist/_string/markers.js +48 -0
- package/dist/_string/markers.js.map +1 -0
- package/dist/_string/post-processor.d.ts +7 -0
- package/dist/_string/post-processor.d.ts.map +1 -0
- package/dist/_string/post-processor.js +30 -0
- package/dist/_string/post-processor.js.map +1 -0
- package/dist/_string/pretty-objects.d.ts +27 -0
- package/dist/_string/pretty-objects.d.ts.map +1 -0
- package/dist/_string/pretty-objects.js +192 -0
- package/dist/_string/pretty-objects.js.map +1 -0
- package/dist/_string/pretty-print.d.ts +2 -0
- package/dist/_string/pretty-print.d.ts.map +1 -0
- package/dist/_string/pretty-print.js +27 -0
- package/dist/_string/pretty-print.js.map +1 -0
- package/dist/_string/super-script.d.ts +2 -0
- package/dist/_string/super-script.d.ts.map +1 -0
- package/dist/_string/super-script.js +20 -0
- package/dist/_string/super-script.js.map +1 -0
- package/dist/api-kind/index.d.ts +43 -0
- package/dist/api-kind/index.d.ts.map +1 -0
- package/dist/api-kind/index.js +102 -0
- package/dist/api-kind/index.js.map +1 -0
- package/dist/cmd/cli-command.d.ts +23 -0
- package/dist/cmd/cli-command.d.ts.map +1 -0
- package/dist/cmd/cli-command.js +73 -0
- package/dist/cmd/cli-command.js.map +1 -0
- package/dist/cmd/cli-term.d.ts +25 -0
- package/dist/cmd/cli-term.d.ts.map +1 -0
- package/dist/cmd/cli-term.js +55 -0
- package/dist/cmd/cli-term.js.map +1 -0
- package/dist/cmd/index.d.ts +3 -0
- package/dist/cmd/index.d.ts.map +1 -0
- package/dist/cmd/index.js +7 -0
- package/dist/cmd/index.js.map +1 -0
- package/dist/cmd/types.d.ts +5 -0
- package/dist/cmd/types.d.ts.map +1 -0
- package/dist/cmd/types.js +3 -0
- package/dist/cmd/types.js.map +1 -0
- package/dist/displayers/displayers.d.ts +33 -0
- package/dist/displayers/displayers.d.ts.map +1 -0
- package/dist/displayers/displayers.js +129 -0
- package/dist/displayers/displayers.js.map +1 -0
- package/dist/displayers/index.d.ts +2 -0
- package/dist/displayers/index.d.ts.map +1 -0
- package/dist/displayers/index.js +18 -0
- package/dist/displayers/index.js.map +1 -0
- package/dist/env/env.d.ts +20 -0
- package/dist/env/env.d.ts.map +1 -0
- package/dist/env/env.js +68 -0
- package/dist/env/env.js.map +1 -0
- package/dist/env/index.d.ts +3 -0
- package/dist/env/index.d.ts.map +1 -0
- package/dist/env/index.js +7 -0
- package/dist/env/index.js.map +1 -0
- package/dist/env/types.d.ts +4 -0
- package/dist/env/types.d.ts.map +1 -0
- package/dist/env/types.js +3 -0
- package/dist/env/types.js.map +1 -0
- package/dist/env/validate-name.d.ts +2 -0
- package/dist/env/validate-name.d.ts.map +1 -0
- package/dist/env/validate-name.js +12 -0
- package/dist/env/validate-name.js.map +1 -0
- package/dist/error.d.ts +8 -0
- package/dist/error.d.ts.map +1 -0
- package/dist/error.js +20 -0
- package/dist/error.js.map +1 -0
- package/dist/forward-exports/delayed-exports.d.ts +18 -0
- package/dist/forward-exports/delayed-exports.d.ts.map +1 -0
- package/dist/forward-exports/delayed-exports.js +119 -0
- package/dist/forward-exports/delayed-exports.js.map +1 -0
- package/dist/forward-exports/index.d.ts +2 -0
- package/dist/forward-exports/index.d.ts.map +1 -0
- package/dist/forward-exports/index.js +18 -0
- package/dist/forward-exports/index.js.map +1 -0
- package/dist/graph/base-node.d.ts +34 -0
- package/dist/graph/base-node.d.ts.map +1 -0
- package/dist/graph/base-node.js +102 -0
- package/dist/graph/base-node.js.map +1 -0
- package/dist/graph/base-origin-entity.d.ts +19 -0
- package/dist/graph/base-origin-entity.d.ts.map +1 -0
- package/dist/graph/base-origin-entity.js +105 -0
- package/dist/graph/base-origin-entity.js.map +1 -0
- package/dist/graph/dependencies.d.ts +12 -0
- package/dist/graph/dependencies.d.ts.map +1 -0
- package/dist/graph/dependencies.js +82 -0
- package/dist/graph/dependencies.js.map +1 -0
- package/dist/graph/index.d.ts +7 -0
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js +23 -0
- package/dist/graph/index.js.map +1 -0
- package/dist/graph/origin-node.d.ts +32 -0
- package/dist/graph/origin-node.d.ts.map +1 -0
- package/dist/graph/origin-node.js +161 -0
- package/dist/graph/origin-node.js.map +1 -0
- package/dist/graph/relations.d.ts +26 -0
- package/dist/graph/relations.d.ts.map +1 -0
- package/dist/graph/relations.js +38 -0
- package/dist/graph/relations.js.map +1 -0
- package/dist/graph/resource-node.d.ts +28 -0
- package/dist/graph/resource-node.d.ts.map +1 -0
- package/dist/graph/resource-node.js +144 -0
- package/dist/graph/resource-node.js.map +1 -0
- package/dist/image/family.d.ts +26 -0
- package/dist/image/family.d.ts.map +1 -0
- package/dist/image/family.js +63 -0
- package/dist/image/family.js.map +1 -0
- package/dist/image/index.d.ts +2 -0
- package/dist/image/index.d.ts.map +1 -0
- package/dist/image/index.js +9 -0
- package/dist/image/index.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -0
- package/dist/kind-map/index.d.ts +44 -0
- package/dist/kind-map/index.d.ts.map +1 -0
- package/dist/kind-map/index.js +123 -0
- package/dist/kind-map/index.js.map +1 -0
- package/dist/manifest/index.d.ts +46 -0
- package/dist/manifest/index.d.ts.map +1 -0
- package/dist/manifest/index.js +21 -0
- package/dist/manifest/index.js.map +1 -0
- package/dist/manifest/manifest-builder.d.ts +45 -0
- package/dist/manifest/manifest-builder.d.ts.map +1 -0
- package/dist/manifest/manifest-builder.js +66 -0
- package/dist/manifest/manifest-builder.js.map +1 -0
- package/dist/ports/error.d.ts +5 -0
- package/dist/ports/error.d.ts.map +1 -0
- package/dist/ports/error.js +13 -0
- package/dist/ports/error.js.map +1 -0
- package/dist/ports/index.d.ts +7 -0
- package/dist/ports/index.d.ts.map +1 -0
- package/dist/ports/index.js +13 -0
- package/dist/ports/index.js.map +1 -0
- package/dist/ports/map.d.ts +13 -0
- package/dist/ports/map.d.ts.map +1 -0
- package/dist/ports/map.js +38 -0
- package/dist/ports/map.js.map +1 -0
- package/dist/ports/set.d.ts +18 -0
- package/dist/ports/set.d.ts.map +1 -0
- package/dist/ports/set.js +60 -0
- package/dist/ports/set.js.map +1 -0
- package/dist/ports/tools/entry.d.ts +6 -0
- package/dist/ports/tools/entry.d.ts.map +1 -0
- package/dist/ports/tools/entry.js +36 -0
- package/dist/ports/tools/entry.js.map +1 -0
- package/dist/ports/tools/parse.d.ts +3 -0
- package/dist/ports/tools/parse.d.ts.map +1 -0
- package/dist/ports/tools/parse.js +35 -0
- package/dist/ports/tools/parse.js.map +1 -0
- package/dist/ports/types.d.ts +37 -0
- package/dist/ports/types.d.ts.map +1 -0
- package/dist/ports/types.js +3 -0
- package/dist/ports/types.js.map +1 -0
- package/dist/producer/index.d.ts +2 -0
- package/dist/producer/index.d.ts.map +1 -0
- package/dist/producer/index.js +18 -0
- package/dist/producer/index.js.map +1 -0
- package/dist/producer/producer.d.ts +6 -0
- package/dist/producer/producer.d.ts.map +1 -0
- package/dist/producer/producer.js +13 -0
- package/dist/producer/producer.js.map +1 -0
- package/dist/ref-key/index.d.ts +2 -0
- package/dist/ref-key/index.d.ts.map +1 -0
- package/dist/ref-key/index.js +18 -0
- package/dist/ref-key/index.js.map +1 -0
- package/dist/ref-key/ref-key.d.ts +23 -0
- package/dist/ref-key/ref-key.d.ts.map +1 -0
- package/dist/ref-key/ref-key.js +67 -0
- package/dist/ref-key/ref-key.js.map +1 -0
- package/dist/reference/forward-ref.d.ts +22 -0
- package/dist/reference/forward-ref.d.ts.map +1 -0
- package/dist/reference/forward-ref.js +126 -0
- package/dist/reference/forward-ref.js.map +1 -0
- package/dist/reference/index.d.ts +4 -0
- package/dist/reference/index.d.ts.map +1 -0
- package/dist/reference/index.js +8 -0
- package/dist/reference/index.js.map +1 -0
- package/dist/reference/refable.d.ts +12 -0
- package/dist/reference/refable.d.ts.map +1 -0
- package/dist/reference/refable.js +3 -0
- package/dist/reference/refable.js.map +1 -0
- package/dist/resources/index.d.ts +3 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +19 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/resources/objects.d.ts +22 -0
- package/dist/resources/objects.d.ts.map +1 -0
- package/dist/resources/objects.js +93 -0
- package/dist/resources/objects.js.map +1 -0
- package/dist/resources/parser.d.ts +4 -0
- package/dist/resources/parser.d.ts.map +1 -0
- package/dist/resources/parser.js +21 -0
- package/dist/resources/parser.js.map +1 -0
- package/dist/resources/types.d.ts +18 -0
- package/dist/resources/types.d.ts.map +1 -0
- package/dist/resources/types.js +3 -0
- package/dist/resources/types.js.map +1 -0
- package/dist/src.tsbuildinfo +1 -0
- package/dist/test.tsbuildinfo +1 -0
- package/dist/tracing/git.d.ts +19 -0
- package/dist/tracing/git.d.ts.map +1 -0
- package/dist/tracing/git.js +45 -0
- package/dist/tracing/git.js.map +1 -0
- package/dist/tracing/index.d.ts +4 -0
- package/dist/tracing/index.d.ts.map +1 -0
- package/dist/tracing/index.js +20 -0
- package/dist/tracing/index.js.map +1 -0
- package/dist/tracing/trace.d.ts +11 -0
- package/dist/tracing/trace.d.ts.map +1 -0
- package/dist/tracing/trace.js +27 -0
- package/dist/tracing/trace.js.map +1 -0
- package/dist/tracing/traced.d.ts +4 -0
- package/dist/tracing/traced.d.ts.map +1 -0
- package/dist/tracing/traced.js +6 -0
- package/dist/tracing/traced.js.map +1 -0
- package/dist/units/index.d.ts +3 -0
- package/dist/units/index.d.ts.map +1 -0
- package/dist/units/index.js +22 -0
- package/dist/units/index.js.map +1 -0
- package/dist/units/unit-parser.d.ts +19 -0
- package/dist/units/unit-parser.d.ts.map +1 -0
- package/dist/units/unit-parser.js +53 -0
- package/dist/units/unit-parser.js.map +1 -0
- package/dist/units/units.d.ts +37 -0
- package/dist/units/units.d.ts.map +1 -0
- package/dist/units/units.js +36 -0
- package/dist/units/units.js.map +1 -0
- package/package.json +89 -0
- package/src/_embedder/base.ts +42 -0
- package/src/_embedder/index.ts +1 -0
- package/src/_string/index.ts +5 -0
- package/src/_string/markers.ts +47 -0
- package/src/_string/post-processor.ts +25 -0
- package/src/_string/pretty-objects.ts +65 -0
- package/src/_string/pretty-print.ts +24 -0
- package/src/_string/super-script.ts +17 -0
- package/src/api-kind/index.ts +134 -0
- package/src/cmd/cli-command.ts +89 -0
- package/src/cmd/cli-term.ts +60 -0
- package/src/cmd/index.ts +2 -0
- package/src/cmd/types.ts +4 -0
- package/src/displayers/displayers.ts +147 -0
- package/src/displayers/index.ts +1 -0
- package/src/env/env.ts +74 -0
- package/src/env/index.ts +2 -0
- package/src/env/types.ts +7 -0
- package/src/env/validate-name.ts +10 -0
- package/src/error.ts +15 -0
- package/src/forward-exports/delayed-exports.ts +155 -0
- package/src/forward-exports/index.ts +1 -0
- package/src/graph/base-node.ts +125 -0
- package/src/graph/base-origin-entity.ts +44 -0
- package/src/graph/dependencies.ts +27 -0
- package/src/graph/index.ts +6 -0
- package/src/graph/origin-node.ts +118 -0
- package/src/graph/relations.ts +62 -0
- package/src/graph/resource-node.ts +104 -0
- package/src/image/family.ts +71 -0
- package/src/image/index.ts +1 -0
- package/src/index.ts +18 -0
- package/src/kind-map/index.ts +150 -0
- package/src/manifest/index.ts +53 -0
- package/src/manifest/manifest-builder.ts +98 -0
- package/src/ports/error.ts +8 -0
- package/src/ports/index.ts +8 -0
- package/src/ports/map.ts +41 -0
- package/src/ports/set.ts +79 -0
- package/src/ports/tools/entry.ts +43 -0
- package/src/ports/tools/parse.ts +40 -0
- package/src/ports/types.ts +42 -0
- package/src/producer/index.ts +1 -0
- package/src/producer/producer.ts +18 -0
- package/src/ref-key/index.ts +1 -0
- package/src/ref-key/ref-key.ts +76 -0
- package/src/reference/forward-ref.ts +122 -0
- package/src/reference/index.ts +3 -0
- package/src/reference/refable.ts +11 -0
- package/src/resources/index.ts +2 -0
- package/src/resources/objects.ts +99 -0
- package/src/resources/parser.ts +24 -0
- package/src/resources/types.ts +23 -0
- package/src/tracing/git.ts +51 -0
- package/src/tracing/index.ts +3 -0
- package/src/tracing/trace.ts +31 -0
- package/src/tracing/traced.ts +4 -0
- package/src/tsconfig.json +10 -0
- package/src/units/index.ts +2 -0
- package/src/units/unit-parser.ts +63 -0
- package/src/units/units.ts +53 -0
- package/tsconfig.json +15 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Kind = void 0;
|
|
4
|
+
exports.kinded = kinded;
|
|
5
|
+
const immutable_1 = require("immutable");
|
|
6
|
+
const error_1 = require("../error");
|
|
7
|
+
var Kind;
|
|
8
|
+
(function (Kind_1) {
|
|
9
|
+
class Identifier {
|
|
10
|
+
constructor(name, parent) {
|
|
11
|
+
this.name = name;
|
|
12
|
+
this.parent = parent;
|
|
13
|
+
this.toString = () => this.text;
|
|
14
|
+
}
|
|
15
|
+
get text() {
|
|
16
|
+
return [this.parent?.text, this.name].filter(Boolean).join("/");
|
|
17
|
+
}
|
|
18
|
+
equals(other) {
|
|
19
|
+
if (typeof other !== "object" || !other) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
if (!(other instanceof Identifier)) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
return this.text === other.text;
|
|
26
|
+
}
|
|
27
|
+
hashCode() {
|
|
28
|
+
return (0, immutable_1.hash)(this.text);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
Kind_1.Identifier = Identifier;
|
|
32
|
+
class Group extends Identifier {
|
|
33
|
+
constructor(name) {
|
|
34
|
+
super(name, null);
|
|
35
|
+
this.name = name;
|
|
36
|
+
}
|
|
37
|
+
version(apiVersion) {
|
|
38
|
+
return new Version(apiVersion, this);
|
|
39
|
+
}
|
|
40
|
+
child(name) {
|
|
41
|
+
if (!name.startsWith("v")) {
|
|
42
|
+
throw new error_1.InstrumentsError(`Invalid version name "${name}". Version name must start with "v".`);
|
|
43
|
+
}
|
|
44
|
+
return this.version(name);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
Kind_1.Group = Group;
|
|
48
|
+
class Version extends Identifier {
|
|
49
|
+
kind(kind) {
|
|
50
|
+
return new Kind(kind, this);
|
|
51
|
+
}
|
|
52
|
+
get group() {
|
|
53
|
+
return this.parent;
|
|
54
|
+
}
|
|
55
|
+
child(name) {
|
|
56
|
+
return this.kind(name);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
Kind_1.Version = Version;
|
|
60
|
+
class Kind extends Identifier {
|
|
61
|
+
get version() {
|
|
62
|
+
return this.parent;
|
|
63
|
+
}
|
|
64
|
+
get group() {
|
|
65
|
+
return this.parent?.parent;
|
|
66
|
+
}
|
|
67
|
+
subkind(subkind) {
|
|
68
|
+
return new SubKind(subkind, this);
|
|
69
|
+
}
|
|
70
|
+
child(name) {
|
|
71
|
+
return this.subkind(name);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
Kind_1.Kind = Kind;
|
|
75
|
+
class SubKind extends Identifier {
|
|
76
|
+
constructor(name, parent) {
|
|
77
|
+
super(name, parent);
|
|
78
|
+
}
|
|
79
|
+
subkind(subkind) {
|
|
80
|
+
throw new error_1.InstrumentsError(`SubKind "${this.text}" cannot have subkind "${subkind}".`);
|
|
81
|
+
}
|
|
82
|
+
child(name) {
|
|
83
|
+
return this.subkind(name);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
Kind_1.SubKind = SubKind;
|
|
87
|
+
function group(apiGroup) {
|
|
88
|
+
return new Group(apiGroup);
|
|
89
|
+
}
|
|
90
|
+
Kind_1.group = group;
|
|
91
|
+
function version(apiVersion) {
|
|
92
|
+
return new Version(apiVersion, group(""));
|
|
93
|
+
}
|
|
94
|
+
Kind_1.version = version;
|
|
95
|
+
})(Kind || (exports.Kind = Kind = {}));
|
|
96
|
+
function kinded(kind) {
|
|
97
|
+
return (ctor) => {
|
|
98
|
+
ctor.prototype.kind = kind;
|
|
99
|
+
return ctor;
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api-kind/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { List } from "immutable";
|
|
2
|
+
import { type CliTerm, type ValueTermJoiner } from "./cli-term";
|
|
3
|
+
import type { CliArgsMapping, CliKey } from "./types";
|
|
4
|
+
export interface CliCommandBuilderOptions {
|
|
5
|
+
joiner: ValueTermJoiner;
|
|
6
|
+
}
|
|
7
|
+
export declare class CmdBuilder {
|
|
8
|
+
readonly executable: string;
|
|
9
|
+
private readonly _terms;
|
|
10
|
+
private readonly _options;
|
|
11
|
+
protected constructor(executable: string, _terms: List<CliTerm>, _options: CliCommandBuilderOptions);
|
|
12
|
+
private _withArgs;
|
|
13
|
+
private _withOptions;
|
|
14
|
+
flag(...flags: CliKey[]): CmdBuilder;
|
|
15
|
+
verbatim(...values: string[]): CmdBuilder;
|
|
16
|
+
option(args: CliArgsMapping): CmdBuilder;
|
|
17
|
+
joiner(joiner: ValueTermJoiner): CmdBuilder;
|
|
18
|
+
toArray(): string[];
|
|
19
|
+
toString(): string;
|
|
20
|
+
static make(executable: string, options: CliCommandBuilderOptions): CmdBuilder;
|
|
21
|
+
}
|
|
22
|
+
export declare function Cmd(executable: string, options?: Partial<CliCommandBuilderOptions>): CmdBuilder;
|
|
23
|
+
//# sourceMappingURL=cli-command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-command.d.ts","sourceRoot":"","sources":["../../src/cmd/cli-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAO,MAAM,WAAW,CAAA;AAErC,OAAO,EAIH,KAAK,OAAO,EACZ,KAAK,eAAe,EACvB,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAErD,MAAM,WAAW,wBAAwB;IACrC,MAAM,EAAE,eAAe,CAAA;CAC1B;AAED,qBAAa,UAAU;IAEf,QAAQ,CAAC,UAAU,EAAE,MAAM;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAH7B,SAAS,aACI,UAAU,EAAE,MAAM,EACV,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,EACrB,QAAQ,EAAE,wBAAwB;IAGvD,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,YAAY;IAIpB,IAAI,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE;IAKvB,QAAQ,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE;IAK5B,MAAM,CAAC,IAAI,EAAE,cAAc;IAiB3B,MAAM,CAAC,MAAM,EAAE,eAAe;IAI9B,OAAO;IAWP,QAAQ;IAIR,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB;CAGpE;AAMD,wBAAgB,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,cAGlF"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CmdBuilder = void 0;
|
|
4
|
+
exports.Cmd = Cmd;
|
|
5
|
+
const immutable_1 = require("immutable");
|
|
6
|
+
const lodash_1 = require("lodash");
|
|
7
|
+
const cli_term_1 = require("./cli-term");
|
|
8
|
+
class CmdBuilder {
|
|
9
|
+
constructor(executable, _terms, _options) {
|
|
10
|
+
this.executable = executable;
|
|
11
|
+
this._terms = _terms;
|
|
12
|
+
this._options = _options;
|
|
13
|
+
}
|
|
14
|
+
_withArgs(f) {
|
|
15
|
+
return new CmdBuilder(this.executable, f(this._terms), this._options);
|
|
16
|
+
}
|
|
17
|
+
_withOptions(f) {
|
|
18
|
+
return new CmdBuilder(this.executable, this._terms, f(this._options));
|
|
19
|
+
}
|
|
20
|
+
flag(...flags) {
|
|
21
|
+
const flagTerms = flags.map(flag => new cli_term_1.CliFlag(flag));
|
|
22
|
+
return this._withArgs(terms => terms.concat(flagTerms));
|
|
23
|
+
}
|
|
24
|
+
verbatim(...values) {
|
|
25
|
+
const verbatimTerms = values.map(value => new cli_term_1.VerbatimTerm(value));
|
|
26
|
+
return this._withArgs(terms => terms.concat(verbatimTerms));
|
|
27
|
+
}
|
|
28
|
+
option(args) {
|
|
29
|
+
const map = (0, immutable_1.Map)(args);
|
|
30
|
+
const optionTerms = map.entrySeq().map(([key, value]) => {
|
|
31
|
+
let joiner;
|
|
32
|
+
const lastChar = key.at(-1);
|
|
33
|
+
if (lastChar === "=") {
|
|
34
|
+
joiner = "=";
|
|
35
|
+
key = key.slice(0, -1);
|
|
36
|
+
}
|
|
37
|
+
else if (lastChar === " ") {
|
|
38
|
+
joiner = " ";
|
|
39
|
+
key = key.slice(0, -1);
|
|
40
|
+
}
|
|
41
|
+
return new cli_term_1.CliOptionValue(key, joiner, value);
|
|
42
|
+
});
|
|
43
|
+
return this._withArgs(terms => terms.concat(optionTerms));
|
|
44
|
+
}
|
|
45
|
+
joiner(joiner) {
|
|
46
|
+
return this._withOptions(options => (0, lodash_1.merge)({}, options, { joiner: joiner }));
|
|
47
|
+
}
|
|
48
|
+
toArray() {
|
|
49
|
+
const terms = this._terms
|
|
50
|
+
.filter(x => !x.isMissing)
|
|
51
|
+
.map(term => term.str(this._options.joiner))
|
|
52
|
+
.toArray();
|
|
53
|
+
if (this.executable !== "") {
|
|
54
|
+
terms.unshift(this.executable);
|
|
55
|
+
}
|
|
56
|
+
return terms;
|
|
57
|
+
}
|
|
58
|
+
toString() {
|
|
59
|
+
return this.toArray().join(" ");
|
|
60
|
+
}
|
|
61
|
+
static make(executable, options) {
|
|
62
|
+
return new CmdBuilder(executable, (0, immutable_1.List)(), options);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.CmdBuilder = CmdBuilder;
|
|
66
|
+
const defaultOptions = {
|
|
67
|
+
joiner: " "
|
|
68
|
+
};
|
|
69
|
+
function Cmd(executable, options) {
|
|
70
|
+
options = (0, lodash_1.defaultsDeep)({}, options, defaultOptions);
|
|
71
|
+
return CmdBuilder.make(executable, options);
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=cli-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-command.js","sourceRoot":"","sources":["../../src/cmd/cli-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { CliValue } from "./types";
|
|
2
|
+
export declare class CliFlag {
|
|
3
|
+
readonly key: string;
|
|
4
|
+
constructor(key: string);
|
|
5
|
+
str(joiner: string): string;
|
|
6
|
+
get isMissing(): boolean;
|
|
7
|
+
}
|
|
8
|
+
export type ValueTermJoiner = "=" | " ";
|
|
9
|
+
export declare class CliOptionValue {
|
|
10
|
+
private readonly key;
|
|
11
|
+
private readonly overrideTermJoiner;
|
|
12
|
+
private readonly value;
|
|
13
|
+
constructor(key: string, overrideTermJoiner: string | undefined, value: CliValue);
|
|
14
|
+
get isMissing(): boolean;
|
|
15
|
+
private _valueStr;
|
|
16
|
+
str(joiner: string): string;
|
|
17
|
+
}
|
|
18
|
+
export declare class VerbatimTerm {
|
|
19
|
+
readonly value: string;
|
|
20
|
+
constructor(value: string);
|
|
21
|
+
str(joiner: string): string;
|
|
22
|
+
get isMissing(): boolean;
|
|
23
|
+
}
|
|
24
|
+
export type CliTerm = CliFlag | CliOptionValue | VerbatimTerm;
|
|
25
|
+
//# sourceMappingURL=cli-term.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-term.d.ts","sourceRoot":"","sources":["../../src/cmd/cli-term.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAEvC,qBAAa,OAAO;IACJ,QAAQ,CAAC,GAAG,EAAE,MAAM;gBAAX,GAAG,EAAE,MAAM;IAEhC,GAAG,CAAC,MAAM,EAAE,MAAM;IAIlB,IAAI,SAAS,YAEZ;CACJ;AAED,MAAM,MAAM,eAAe,GAAG,GAAG,GAAG,GAAG,CAAA;AAEvC,qBAAa,cAAc;IAEnB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAFL,GAAG,EAAE,MAAM,EACX,kBAAkB,EAAE,MAAM,GAAG,SAAS,EACtC,KAAK,EAAE,QAAQ;IAGpC,IAAI,SAAS,YAEZ;IAED,OAAO,CAAC,SAAS;IAUjB,GAAG,CAAC,MAAM,EAAE,MAAM;CAOrB;AAED,qBAAa,YAAY;IACT,QAAQ,CAAC,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;IAElC,GAAG,CAAC,MAAM,EAAE,MAAM;IAIlB,IAAI,SAAS,YAEZ;CACJ;AAED,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,cAAc,GAAG,YAAY,CAAA"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VerbatimTerm = exports.CliOptionValue = exports.CliFlag = void 0;
|
|
4
|
+
const error_1 = require("../error");
|
|
5
|
+
class CliFlag {
|
|
6
|
+
constructor(key) {
|
|
7
|
+
this.key = key;
|
|
8
|
+
}
|
|
9
|
+
str(joiner) {
|
|
10
|
+
return this.key;
|
|
11
|
+
}
|
|
12
|
+
get isMissing() {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.CliFlag = CliFlag;
|
|
17
|
+
class CliOptionValue {
|
|
18
|
+
constructor(key, overrideTermJoiner, value) {
|
|
19
|
+
this.key = key;
|
|
20
|
+
this.overrideTermJoiner = overrideTermJoiner;
|
|
21
|
+
this.value = value;
|
|
22
|
+
}
|
|
23
|
+
get isMissing() {
|
|
24
|
+
return this.value === null;
|
|
25
|
+
}
|
|
26
|
+
_valueStr() {
|
|
27
|
+
if (this.value === null) {
|
|
28
|
+
throw new Error("Shouldn't be here");
|
|
29
|
+
}
|
|
30
|
+
if (this.value === "") {
|
|
31
|
+
return `""`;
|
|
32
|
+
}
|
|
33
|
+
return `${this.value}`;
|
|
34
|
+
}
|
|
35
|
+
str(joiner) {
|
|
36
|
+
if (this.value === undefined) {
|
|
37
|
+
throw new error_1.InstrumentsError("CliOptionValue cannot be undefined, use null instead");
|
|
38
|
+
}
|
|
39
|
+
return [this.key, this._valueStr()].join(this.overrideTermJoiner ?? joiner);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.CliOptionValue = CliOptionValue;
|
|
43
|
+
class VerbatimTerm {
|
|
44
|
+
constructor(value) {
|
|
45
|
+
this.value = value;
|
|
46
|
+
}
|
|
47
|
+
str(joiner) {
|
|
48
|
+
return this.value;
|
|
49
|
+
}
|
|
50
|
+
get isMissing() {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.VerbatimTerm = VerbatimTerm;
|
|
55
|
+
//# sourceMappingURL=cli-term.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-term.js","sourceRoot":"","sources":["../../src/cmd/cli-term.ts"],"names":[],"mappings":";;;AAAA,oCAA2C;AAG3C,MAAa,OAAO;IAChB,YAAqB,GAAW;QAAX,QAAG,GAAH,GAAG,CAAQ;IAAG,CAAC;IAEpC,GAAG,CAAC,MAAc;QACd,OAAO,IAAI,CAAC,GAAG,CAAA;IACnB,CAAC;IAED,IAAI,SAAS;QACT,OAAO,KAAK,CAAA;IAChB,CAAC;CACJ;AAVD,0BAUC;AAID,MAAa,cAAc;IACvB,YACqB,GAAW,EACX,kBAAsC,EACtC,KAAe;QAFf,QAAG,GAAH,GAAG,CAAQ;QACX,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,UAAK,GAAL,KAAK,CAAU;IACjC,CAAC;IAEJ,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,KAAK,KAAK,IAAI,CAAA;IAC9B,CAAC;IAEO,SAAS;QACb,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;QACxC,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;YACpB,OAAO,IAAI,CAAA;QACf,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;IAC1B,CAAC;IAED,GAAG,CAAC,MAAc;QACd,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,wBAAgB,CAAC,sDAAsD,CAAC,CAAA;QACtF,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,MAAM,CAAC,CAAA;IAC/E,CAAC;CACJ;AA5BD,wCA4BC;AAED,MAAa,YAAY;IACrB,YAAqB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAEtC,GAAG,CAAC,MAAc;QACd,OAAO,IAAI,CAAC,KAAK,CAAA;IACrB,CAAC;IAED,IAAI,SAAS;QACT,OAAO,KAAK,CAAA;IAChB,CAAC;CACJ;AAVD,oCAUC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cmd/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CmdBuilder = exports.Cmd = void 0;
|
|
4
|
+
var cli_command_1 = require("./cli-command");
|
|
5
|
+
Object.defineProperty(exports, "Cmd", { enumerable: true, get: function () { return cli_command_1.Cmd; } });
|
|
6
|
+
Object.defineProperty(exports, "CmdBuilder", { enumerable: true, get: function () { return cli_command_1.CmdBuilder; } });
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cmd/index.ts"],"names":[],"mappings":";;;AAAA,6CAA+C;AAAtC,kGAAA,GAAG,OAAA;AAAE,yGAAA,UAAU,OAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export type CliKey = `-${string}` | `--${string}`;
|
|
2
|
+
export type InputCliKey = `${CliKey}=` | `${CliKey} ` | CliKey;
|
|
3
|
+
export type CliValue = string | number | boolean | null | `${string}` | ` ${string}`;
|
|
4
|
+
export type CliArgsMapping = Record<InputCliKey, CliValue>;
|
|
5
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cmd/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,GAAG,KAAK,MAAM,EAAE,CAAA;AACjD,MAAM,MAAM,WAAW,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,MAAM,CAAA;AAC9D,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,GAAG,MAAM,EAAE,GAAG,IAAI,MAAM,EAAE,CAAA;AACpF,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cmd/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export type KnownFormats = "local" | "global" | undefined;
|
|
2
|
+
export declare namespace Displayers {
|
|
3
|
+
interface Out {
|
|
4
|
+
default: (format?: string) => string;
|
|
5
|
+
simple: (format?: KnownFormats | string) => string;
|
|
6
|
+
pretty: (format?: KnownFormats | string) => string;
|
|
7
|
+
prefix?: () => string;
|
|
8
|
+
}
|
|
9
|
+
type In<Target extends object = object> = {
|
|
10
|
+
simple?: (this: Out, self: Target, format?: string) => string | object;
|
|
11
|
+
pretty?: (this: Out, self: Target, format?: string) => string | object;
|
|
12
|
+
prefix?: (this: Out, self: Target) => string;
|
|
13
|
+
};
|
|
14
|
+
type Modes = keyof In;
|
|
15
|
+
}
|
|
16
|
+
declare class DisplayerDecorator {
|
|
17
|
+
private _system;
|
|
18
|
+
private _lastMode;
|
|
19
|
+
private _withLastMode;
|
|
20
|
+
implement(ctor: abstract new (...args: any[]) => object, input: Displayers.In): void;
|
|
21
|
+
wrapRecursiveFallback(out: Displayers.Out): Displayers.Out;
|
|
22
|
+
tryGet(target: any): Displayers.Out | undefined;
|
|
23
|
+
get(target: object): Displayers.Out;
|
|
24
|
+
get decorator(): (<Target extends abstract new (...args: any[]) => object, Impl extends Displayers.In<InstanceType<Target>>>(input: Impl) => (ctor: Target) => Target) & {
|
|
25
|
+
get: (target: object) => Displayers.Out;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export declare const Displayers: DisplayerDecorator;
|
|
29
|
+
export declare const displayers: (<Target extends abstract new (...args: any[]) => object, Impl extends Displayers.In<InstanceType<Target>>>(input: Impl) => (ctor: Target) => Target) & {
|
|
30
|
+
get: (target: object) => Displayers.Out;
|
|
31
|
+
};
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=displayers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"displayers.d.ts","sourceRoot":"","sources":["../../src/displayers/displayers.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAA;AACzD,yBAAiB,UAAU,CAAC;IACxB,UAAiB,GAAG;QAChB,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;QACpC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,KAAK,MAAM,CAAA;QAClD,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,MAAM,KAAK,MAAM,CAAA;QAClD,MAAM,CAAC,EAAE,MAAM,MAAM,CAAA;KACxB;IACD,KAAY,EAAE,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;QAC7C,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAA;QACtE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAA;QACtE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;KAC/C,CAAA;IACD,KAAY,KAAK,GAAG,MAAM,EAAE,CAAA;CAC/B;AAID,cAAM,kBAAkB;IACpB,OAAO,CAAC,OAAO,CAAoD;IACnE,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,aAAa;IASrB,SAAS,CAAC,IAAI,EAAE,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,EAAE;IAkB7E,qBAAqB,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG;IAiCzC,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,UAAU,CAAC,GAAG,GAAG,SAAS;IAmC/C,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG;IAKnC,IAAI,SAAS,MAGD,MAAM,SAAS,QAAQ,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,EACtD,IAAI,SAAS,UAAU,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,SAEzC,IAAI,YAEG,MAAM;sBAMN,MAAM,KAAG,UAAU,CAAC,GAAG;MAKhD;CACJ;AACD,eAAO,MAAM,UAAU,oBAA2B,CAAA;AAClD,eAAO,MAAM,UAAU,IAnBP,MAAM,gCAAgC,GAAG,EAAE,KAAK,MAAM,EACtD,IAAI;kBAUU,MAAM,KAAG,UAAU,CAAC,GAAG;CAQP,CAAA"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.displayers = exports.Displayers = void 0;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const _embedder_1 = require("../_embedder");
|
|
9
|
+
const chalkNoColor = new chalk_1.default.Instance({
|
|
10
|
+
level: 0
|
|
11
|
+
});
|
|
12
|
+
class DisplayerDecorator {
|
|
13
|
+
constructor() {
|
|
14
|
+
this._system = new _embedder_1.Embedder("displayers");
|
|
15
|
+
this._lastMode = "simple";
|
|
16
|
+
}
|
|
17
|
+
_withLastMode(mode, fn) {
|
|
18
|
+
return (...args) => {
|
|
19
|
+
const oldMode = this._lastMode;
|
|
20
|
+
this._lastMode = mode;
|
|
21
|
+
const result = fn(...args);
|
|
22
|
+
this._lastMode = oldMode;
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
implement(ctor, input) {
|
|
27
|
+
this._system.set(ctor.prototype, input);
|
|
28
|
+
const decorator = this;
|
|
29
|
+
Object.defineProperties(ctor.prototype, {
|
|
30
|
+
[Symbol.toStringTag]: {
|
|
31
|
+
get() {
|
|
32
|
+
const a = decorator.get(this);
|
|
33
|
+
return a.default();
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
toString: {
|
|
37
|
+
value() {
|
|
38
|
+
return this[Symbol.toStringTag];
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
wrapRecursiveFallback(out) {
|
|
44
|
+
const oAny = out;
|
|
45
|
+
const self = this;
|
|
46
|
+
for (const k in out) {
|
|
47
|
+
const orig = oAny[k];
|
|
48
|
+
if (typeof orig === "function") {
|
|
49
|
+
oAny[k] = function (...args) {
|
|
50
|
+
const oldMode = self._lastMode;
|
|
51
|
+
if (k === "simple" || k === "pretty") {
|
|
52
|
+
self._lastMode = k;
|
|
53
|
+
}
|
|
54
|
+
try {
|
|
55
|
+
let result = orig.call(oAny, ...args);
|
|
56
|
+
if (!Array.isArray(result)) {
|
|
57
|
+
result = [result];
|
|
58
|
+
}
|
|
59
|
+
const terms = result.map((x) => {
|
|
60
|
+
const sndDisplayers = exports.Displayers.tryGet(x);
|
|
61
|
+
if (sndDisplayers) {
|
|
62
|
+
return sndDisplayers[k].call(sndDisplayers, x, ...args);
|
|
63
|
+
}
|
|
64
|
+
return x;
|
|
65
|
+
});
|
|
66
|
+
return terms.join(" ");
|
|
67
|
+
}
|
|
68
|
+
finally {
|
|
69
|
+
this._lastMode = oldMode;
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return out;
|
|
75
|
+
}
|
|
76
|
+
tryGet(target) {
|
|
77
|
+
if (typeof target !== "object") {
|
|
78
|
+
return undefined;
|
|
79
|
+
}
|
|
80
|
+
const input = this._system.get(target);
|
|
81
|
+
if (!input) {
|
|
82
|
+
return undefined;
|
|
83
|
+
}
|
|
84
|
+
const o = {
|
|
85
|
+
default: (format) => {
|
|
86
|
+
const lastMode = this._lastMode;
|
|
87
|
+
const result = o[lastMode]?.call(o, format) ?? o.simple(format);
|
|
88
|
+
return result;
|
|
89
|
+
},
|
|
90
|
+
simple: format => {
|
|
91
|
+
const result = input.simple?.call(o, target, format);
|
|
92
|
+
if (!result) {
|
|
93
|
+
const pretty = input.pretty?.call(o, target, format);
|
|
94
|
+
if (typeof pretty === "string") {
|
|
95
|
+
return chalkNoColor(pretty);
|
|
96
|
+
}
|
|
97
|
+
return "?!!?";
|
|
98
|
+
}
|
|
99
|
+
return result;
|
|
100
|
+
},
|
|
101
|
+
prefix: input.prefix && (() => input.prefix.call(o, target)),
|
|
102
|
+
pretty: format => {
|
|
103
|
+
return (input.pretty?.call(o, target, format) ??
|
|
104
|
+
input.simple?.call(o, target, format) ??
|
|
105
|
+
"?!?");
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
return this.wrapRecursiveFallback(o);
|
|
109
|
+
}
|
|
110
|
+
get(target) {
|
|
111
|
+
this._system.get(target); // error if not there
|
|
112
|
+
return this.tryGet(target);
|
|
113
|
+
}
|
|
114
|
+
get decorator() {
|
|
115
|
+
return Object.assign((input) => {
|
|
116
|
+
return (ctor) => {
|
|
117
|
+
this.implement(ctor, input);
|
|
118
|
+
return ctor;
|
|
119
|
+
};
|
|
120
|
+
}, {
|
|
121
|
+
get: (target) => {
|
|
122
|
+
return this.get(target);
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
exports.Displayers = new DisplayerDecorator();
|
|
128
|
+
exports.displayers = exports.Displayers.decorator;
|
|
129
|
+
//# sourceMappingURL=displayers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"displayers.js","sourceRoot":"","sources":["../../src/displayers/displayers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/displayers/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./displayers"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/displayers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type MapOf } from "immutable";
|
|
2
|
+
import type { InputEnv, InputEnvMapping } from "./types";
|
|
3
|
+
type _EnvBuilderMap = MapOf<InputEnvMapping>;
|
|
4
|
+
export declare class EnvBuilder {
|
|
5
|
+
private readonly _env;
|
|
6
|
+
constructor(_env: _EnvBuilderMap);
|
|
7
|
+
get values(): _EnvBuilderMap;
|
|
8
|
+
private _withEnv;
|
|
9
|
+
add(name: string, value: string): EnvBuilder;
|
|
10
|
+
add(input: InputEnvMapping): EnvBuilder;
|
|
11
|
+
overwrite(name: string, value: string): EnvBuilder;
|
|
12
|
+
overwrite(input: InputEnvMapping): EnvBuilder;
|
|
13
|
+
toObject(): {
|
|
14
|
+
[key: string]: string;
|
|
15
|
+
};
|
|
16
|
+
static make(env?: InputEnv): EnvBuilder;
|
|
17
|
+
}
|
|
18
|
+
export declare function Env(env?: InputEnvMapping): EnvBuilder;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/env/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,KAAK,EAAE,MAAM,WAAW,CAAA;AAE3C,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAGxD,KAAK,cAAc,GAAG,KAAK,CAAC,eAAe,CAAC,CAAA;AAC5C,qBAAa,UAAU;IACP,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,cAAc;IAUjD,IAAI,MAAM,mBAET;IAED,OAAO,CAAC,QAAQ;IAIhB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU;IAC5C,GAAG,CAAC,KAAK,EAAE,eAAe,GAAG,UAAU;IAgBvC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,UAAU;IAClD,SAAS,CAAC,KAAK,EAAE,eAAe,GAAG,UAAU;IAU7C,QAAQ;;;IAOR,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ;CAS7B;AAED,wBAAgB,GAAG,CAAC,GAAG,CAAC,EAAE,eAAe,cAExC"}
|
package/dist/env/env.js
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EnvBuilder = void 0;
|
|
4
|
+
exports.Env = Env;
|
|
5
|
+
const immutable_1 = require("immutable");
|
|
6
|
+
const error_1 = require("../error");
|
|
7
|
+
const validate_name_1 = require("./validate-name");
|
|
8
|
+
class EnvBuilder {
|
|
9
|
+
constructor(_env) {
|
|
10
|
+
this._env = _env;
|
|
11
|
+
for (const key of _env.keys()) {
|
|
12
|
+
if (!(0, validate_name_1.isValidEnvVarName)(key)) {
|
|
13
|
+
throw new error_1.InstrumentsError("Invalid environment variable name", {
|
|
14
|
+
key: key
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
get values() {
|
|
20
|
+
return this._env;
|
|
21
|
+
}
|
|
22
|
+
_withEnv(f) {
|
|
23
|
+
return new EnvBuilder(f(this._env));
|
|
24
|
+
}
|
|
25
|
+
add(a, b) {
|
|
26
|
+
const pairs = typeof a === "string" ? [[a, b]] : Object.entries(a);
|
|
27
|
+
const map = (0, immutable_1.Map)(pairs);
|
|
28
|
+
const existingKeys = map
|
|
29
|
+
.keySeq()
|
|
30
|
+
.filter(k => this._env.has(k))
|
|
31
|
+
.toList();
|
|
32
|
+
if (existingKeys.size > 0) {
|
|
33
|
+
throw new error_1.InstrumentsError("Cannot overwrite existing keys using add", {
|
|
34
|
+
keys: existingKeys.toArray()
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
return this._withEnv(env => env.merge(map));
|
|
38
|
+
}
|
|
39
|
+
overwrite(a, b) {
|
|
40
|
+
if (typeof a === "string") {
|
|
41
|
+
return this._withEnv(env => env.set(a, b));
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
const map = (0, immutable_1.Map)(a);
|
|
45
|
+
return this._withEnv(env => env.merge(map));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
toObject() {
|
|
49
|
+
return this._env
|
|
50
|
+
.filter(v => v != null)
|
|
51
|
+
.map(x => `${x}`)
|
|
52
|
+
.toObject();
|
|
53
|
+
}
|
|
54
|
+
static make(env) {
|
|
55
|
+
if (!env) {
|
|
56
|
+
return new EnvBuilder((0, immutable_1.Map)({}));
|
|
57
|
+
}
|
|
58
|
+
if (env instanceof EnvBuilder) {
|
|
59
|
+
return env;
|
|
60
|
+
}
|
|
61
|
+
return new EnvBuilder((0, immutable_1.Map)(env ?? {}).filter(v => v != null));
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.EnvBuilder = EnvBuilder;
|
|
65
|
+
function Env(env) {
|
|
66
|
+
return EnvBuilder.make(env);
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=env.js.map
|