From f661106423d517d079b3cf809671871b9f1c2d9d Mon Sep 17 00:00:00 2001 From: BluJ Date: Fri, 12 May 2023 14:10:32 -0600 Subject: [PATCH] feat: File --- lib/config/builder/value.ts | 44 +++++++++++++++++++++++++++++++++++++ package-lock.json | 4 ++-- 2 files changed, 46 insertions(+), 2 deletions(-) diff --git a/lib/config/builder/value.ts b/lib/config/builder/value.ts index 315e378..7a2bf16 100644 --- a/lib/config/builder/value.ts +++ b/lib/config/builder/value.ts @@ -628,6 +628,50 @@ export class Value { } }, previousSpec.validator) } + static file(a: { + name: string + description?: string | null + warning?: string | null + extensions: string[] + required: Required + }) { + const buildValue = { + type: "file" as const, + description: null, + warning: null, + ...a, + } + if (a.required) { + return new Value(() => buildValue, string) + } + return new Value( + () => buildValue, + string.optional(), + ) + } + static dynamicFile( + a: LazyBuild< + Store, + Vault, + { + name: string + description?: string | null + warning?: string | null + extensions: string[] + required: Required + } + >, + ) { + return new Value( + async (options) => ({ + type: "file" as const, + description: null, + warning: null, + ...(await a(options)), + }), + string.optional(), + ) + } static union, Type, Store, Vault>( a: { name: string diff --git a/package-lock.json b/package-lock.json index 2788e93..7adf0f3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@start9labs/start-sdk", - "version": "0.4.0-rev0.lib0.rc1", + "version": "0.4.0-rev0.lib0.rc2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@start9labs/start-sdk", - "version": "0.4.0-rev0.lib0.rc1", + "version": "0.4.0-rev0.lib0.rc2", "license": "MIT", "dependencies": { "@iarna/toml": "^2.2.5",