mirror of
https://github.com/Start9Labs/start-sdk.git
synced 2026-03-31 04:33:40 +00:00
wip: Creating an sdk builder that has all the generics we need in one place
This commit is contained in:
25
lib/config/configDependencies.ts
Normal file
25
lib/config/configDependencies.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import { SDKManifest } from "../manifest/ManifestTypes"
|
||||
import { Dependency } from "../types"
|
||||
|
||||
export type ConfigDependencies<T extends SDKManifest> = {
|
||||
exists(id: keyof T["dependencies"]): Dependency
|
||||
running(id: keyof T["dependencies"]): Dependency
|
||||
}
|
||||
|
||||
export const configDependenciesSet = <
|
||||
T extends SDKManifest,
|
||||
>(): ConfigDependencies<T> => ({
|
||||
exists(id: keyof T["dependencies"]) {
|
||||
return {
|
||||
id,
|
||||
kind: "exists",
|
||||
} as Dependency
|
||||
},
|
||||
|
||||
running(id: keyof T["dependencies"]) {
|
||||
return {
|
||||
id,
|
||||
kind: "running",
|
||||
} as Dependency
|
||||
},
|
||||
})
|
||||
Reference in New Issue
Block a user