Fix StartOS 0.4 TypeScript packaging to match SDK API
This commit is contained in:
+22
@@ -0,0 +1,22 @@
|
||||
import * as T from '../types';
|
||||
export type RequiredDependenciesOf<Manifest extends T.SDKManifest> = {
|
||||
[K in keyof Manifest['dependencies']]: Exclude<Manifest['dependencies'][K], undefined>['optional'] extends false ? K : never;
|
||||
}[keyof Manifest['dependencies']];
|
||||
export type OptionalDependenciesOf<Manifest extends T.SDKManifest> = Exclude<keyof Manifest['dependencies'], RequiredDependenciesOf<Manifest>>;
|
||||
type DependencyRequirement = {
|
||||
kind: 'running';
|
||||
healthChecks: Array<T.HealthCheckId>;
|
||||
versionRange: string;
|
||||
} | {
|
||||
kind: 'exists';
|
||||
versionRange: string;
|
||||
};
|
||||
export type CurrentDependenciesResult<Manifest extends T.SDKManifest> = {
|
||||
[K in RequiredDependenciesOf<Manifest>]: DependencyRequirement;
|
||||
} & {
|
||||
[K in OptionalDependenciesOf<Manifest>]?: DependencyRequirement;
|
||||
};
|
||||
export declare function setupDependencies<Manifest extends T.SDKManifest>(fn: (options: {
|
||||
effects: T.Effects;
|
||||
}) => Promise<CurrentDependenciesResult<Manifest>>): (effects: T.Effects) => Promise<null>;
|
||||
export {};
|
||||
Reference in New Issue
Block a user