You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.1 KiB
44 lines
1.1 KiB
export type InputTestValue = bigint | number | null | string | undefined; |
|
|
|
export type InputTestArgs = { |
|
compare?: InputTestValue; |
|
displayMax?: string; |
|
displayMin?: string; |
|
getCompare?: () => InputTestValue; |
|
getValue?: () => InputTestValue; |
|
max?: bigint | number; |
|
min?: bigint | number; |
|
value?: InputTestValue; |
|
}; |
|
|
|
export type MinimalInputTestArgs = Required< |
|
Omit<InputTestArgs, 'displayMax' | 'displayMin' | 'getCompare' | 'getValue'> |
|
>; |
|
|
|
export type InputTest = { |
|
onFailure?: (args: InputTestArgs) => void; |
|
onSuccess?: () => void; |
|
test: (args: MinimalInputTestArgs) => boolean; |
|
}; |
|
|
|
export type InputTestBatches = { |
|
[id: string]: { |
|
defaults?: InputTestArgs & { |
|
onSuccess?: () => void; |
|
}; |
|
onFinishBatch?: () => void; |
|
optionalTests?: Array<InputTest>; |
|
tests: Array<InputTest>; |
|
}; |
|
}; |
|
|
|
export type TestInputFunctionOptions = { |
|
inputs?: { |
|
[id: string]: Partial<InputTestArgs>; |
|
}; |
|
isContinueOnFailure?: boolean; |
|
isIgnoreOnCallbacks?: boolean; |
|
tests?: InputTestBatches; |
|
}; |
|
|
|
export type TestInputFunction = (options?: TestInputFunctionOptions) => boolean;
|
|
|