import { Nullable } from 'vest-utils'; import { IsolateKeys } from './IsolateKeys'; import { IsolateStatus } from './IsolateStatus'; export type IsolateKey = Nullable; export type TIsolate

= { [IsolateKeys.AllowReorder]?: boolean; [IsolateKeys.Transient]?: boolean; [IsolateKeys.Parent]: Nullable; [IsolateKeys.Type]: string; [IsolateKeys.Keys]: Nullable>; [IsolateKeys.Data]: DataOnly

; [IsolateKeys.Status]: IsolateStatus; [IsolateKeys.AbortController]: Nullable; children: Nullable; key: IsolateKey; output: any; } & UsedFeaturesOnly

; type DataOnly

= Omit; type UsedFeaturesOnly

= Pick< P, keyof IsolateFeatures >; export type IsolatePayload

> = P & IsolateFeatures; export type IsolateFeatures = { [IsolateKeys.AllowReorder]?: boolean; [IsolateKeys.Transient]?: boolean; [IsolateKeys.Status]?: IsolateStatus; };