@rickosborne/rebound
Version:
Rick Osborne's utilities for working with bounded numbers
31 lines (30 loc) • 1.09 kB
JavaScript
var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
import { lowerFirst } from "@rickosborne/foundation";
import { scrubStackTrace } from "@rickosborne/guard";
import { addTypedProperties } from "./typed-function.mjs";
function boundedFromNumber(guard, errorProvider, ifPresent, value, name) {
if (value != null && guard(value)) {
return value;
}
if (value == null && ifPresent) {
return void 0;
}
const error = errorProvider(value, name);
throw scrubStackTrace(error, "boundedFromNumber");
}
__name(boundedFromNumber, "boundedFromNumber");
function fromNumberForBounds(guard, errorProvider, ifPresent, fnName = `${lowerFirst(guard.typeName)}FromNumber${ifPresent ? "IfPresent" : ""}`) {
return addTypedProperties(
boundedFromNumber.bind(void 0, guard, errorProvider, ifPresent),
guard,
guard.typeName,
fnName
);
}
__name(fromNumberForBounds, "fromNumberForBounds");
export {
boundedFromNumber,
fromNumberForBounds
};
//# sourceMappingURL=from-number-bounded.mjs.map