Files
start-sdk/lib/script/config/value.js
2023-02-27 10:38:56 -07:00

53 lines
1.2 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Value = void 0;
const builder_js_1 = require("./builder.js");
class Value extends builder_js_1.IBuilder {
static boolean(a) {
return new Value({
type: "boolean",
...a,
});
}
static string(a) {
return new Value({
type: "string",
...a,
});
}
static number(a) {
return new Value({
type: "number",
...a,
});
}
static enum(a) {
return new Value({
type: "enum",
...a,
});
}
static object(a) {
const { spec: previousSpec, ...rest } = a;
const spec = previousSpec.build();
return new Value({
type: "object",
...rest,
spec,
});
}
static union(a) {
const { variants: previousVariants, ...rest } = a;
const variants = previousVariants.build();
return new Value({
type: "union",
...rest,
variants,
});
}
static list(a) {
return new Value(a.build());
}
}
exports.Value = Value;