UNPKG

@equinor/fusion-framework-cli

Version:

--- title: Fusion Framework CLI ---

28 lines 1.1 kB
import assert, { AssertionError } from 'node:assert'; export { assert, AssertionError }; export function assertNumber(value, message) { assert(!Number.isNaN(value), new AssertionError({ message, actual: value, expected: '<number>', })); } export function assertObject(value, message) { assert(typeof value === 'object', message); } function assertObjectEntryValue(value, prop, message) { assert(!!value, message ?? `missing value of property ${prop}`); } export function assertObjectEntries( // extends Record<string, unknown> = unknown>( value, options) { const preMessage = options?.preMessage ?? ''; assert(typeof value === 'object', `${preMessage} to be an <object>`); const assertion = options?.assertion ?? assertObjectEntryValue; const props = options?.props ?? Object.keys(value); for (const prop of props) { assert(prop in value, `${preMessage} to have property [${String(prop)}]`); assertion(value[prop], prop, `${preMessage} property [${String(prop)}] to have value`); } } //# sourceMappingURL=assert.js.map