firewalk
Version:
A collection traversal library for Firestore
36 lines • 1.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.assert = assert;
exports.assertNever = assertNever;
exports.assertDefined = assertDefined;
exports.assertNonNull = assertNonNull;
exports.assertString = assertString;
exports.assertNull = assertNull;
class AssertionError extends Error {
constructor(message) {
super(`Assertion Error: ${message}`);
}
}
function assert(condition, message) {
if (!condition) {
throw new AssertionError(message !== null && message !== void 0 ? message : 'Assertion failed.');
}
}
function assertNever(val) {
throw new AssertionError(`Invalid value: ${JSON.stringify(val)}`);
}
function assertDefined(condition, identifier) {
if (condition === undefined) {
throw new AssertionError(`Expected '${identifier}' to be defined but got undefined.`);
}
}
function assertNonNull(val, identifier) {
assert(val !== null, `Expected '${identifier}' to be non-null but got null.`);
}
function assertString(val, identifier) {
assert(typeof val === 'string', `Expected '${identifier}' to be a string but got ${typeof val}.`);
}
function assertNull(val, identifier) {
assert(val === null, `Expected '${identifier}' to be null but got ${val === null ? 'null' : typeof val}.`);
}
//# sourceMappingURL=assert.js.map