mirror of
https://github.com/Start9Labs/start-sdk.git
synced 2026-03-30 12:21:57 +00:00
chore: New sdk things
This commit is contained in:
@@ -3,7 +3,7 @@ import { Config } from "./config";
|
||||
import { List } from "./list";
|
||||
import { Variants } from "./variants";
|
||||
import {
|
||||
ConfigSpec,
|
||||
InputSpec,
|
||||
UniqueBy,
|
||||
ValueSpec,
|
||||
ValueSpecList,
|
||||
@@ -80,7 +80,7 @@ export class Value<A extends ValueSpec> extends IBuilder<A> {
|
||||
A extends Description &
|
||||
NullableDefault<DefaultString> &
|
||||
Nullable &
|
||||
StringSpec
|
||||
StringSpec,
|
||||
>(a: A) {
|
||||
return new Value({
|
||||
type: "string" as const,
|
||||
@@ -88,7 +88,7 @@ export class Value<A extends ValueSpec> extends IBuilder<A> {
|
||||
} as ValueSpecString);
|
||||
}
|
||||
static number<
|
||||
A extends Description & NullableDefault<number> & Nullable & NumberSpec
|
||||
A extends Description & NullableDefault<number> & Nullable & NumberSpec,
|
||||
>(a: A) {
|
||||
return new Value({
|
||||
type: "number" as const,
|
||||
@@ -100,7 +100,7 @@ export class Value<A extends ValueSpec> extends IBuilder<A> {
|
||||
Default<string> & {
|
||||
values: readonly string[] | string[];
|
||||
"value-names": Record<string, string>;
|
||||
}
|
||||
},
|
||||
>(a: A) {
|
||||
return new Value({
|
||||
type: "enum" as const,
|
||||
@@ -115,9 +115,9 @@ export class Value<A extends ValueSpec> extends IBuilder<A> {
|
||||
default: null | { [k: string]: unknown };
|
||||
"display-as": null | string;
|
||||
"unique-by": null | string;
|
||||
spec: Config<ConfigSpec>;
|
||||
spec: Config<InputSpec>;
|
||||
"value-names": Record<string, string>;
|
||||
}
|
||||
},
|
||||
>(a: A) {
|
||||
const { spec: previousSpec, ...rest } = a;
|
||||
const spec = previousSpec.build() as BuilderExtract<A["spec"]>;
|
||||
@@ -139,11 +139,11 @@ export class Value<A extends ValueSpec> extends IBuilder<A> {
|
||||
[key: string]: string;
|
||||
};
|
||||
};
|
||||
variants: Variants<{ [key: string]: ConfigSpec }>;
|
||||
variants: Variants<{ [key: string]: InputSpec }>;
|
||||
"display-as": string | null;
|
||||
"unique-by": UniqueBy;
|
||||
},
|
||||
B extends string
|
||||
B extends string,
|
||||
>(a: A) {
|
||||
const { variants: previousVariants, ...rest } = a;
|
||||
const variants = previousVariants.build() as BuilderExtract<A["variants"]>;
|
||||
|
||||
Reference in New Issue
Block a user