dynamodb-toolbox
Version:
Lightweight and type-safe query builder for DynamoDB and TypeScript.
25 lines (24 loc) • 1.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isValidPrimitive = void 0;
const isBigInt_js_1 = require("./isBigInt.js");
const isBinary_js_1 = require("./isBinary.js");
const isBoolean_js_1 = require("./isBoolean.js");
const isNull_js_1 = require("./isNull.js");
const isNumber_js_1 = require("./isNumber.js");
const isString_js_1 = require("./isString.js");
const isValidPrimitive = (schema, candidate) => {
switch (schema.type) {
case 'null':
return (0, isNull_js_1.isNull)(candidate);
case 'boolean':
return (0, isBoolean_js_1.isBoolean)(candidate);
case 'number':
return (0, isNumber_js_1.isNumber)(candidate) || Boolean(schema.props.big && (0, isBigInt_js_1.isBigInt)(candidate));
case 'string':
return (0, isString_js_1.isString)(candidate);
case 'binary':
return (0, isBinary_js_1.isBinary)(candidate);
}
};
exports.isValidPrimitive = isValidPrimitive;