UNPKG

@nerdware/ddb-single-table

Version:

A schema-based DynamoDB modeling tool, high-level API, and type-generator built to supercharge single-table designs!⚡

18 lines (17 loc) 806 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateItem = void 0; const ts_type_safety_utils_1 = require("@nerdware/ts-type-safety-utils"); const errors_js_1 = require("../utils/errors.js"); /** * This `IOAction` uses `modelSchemaOptions.validateItem` to validate an item in its entirety. * * @throws {ItemInputError} If the `validateItem` function returns `false`. */ const validateItem = function (item, { modelName, schemaOptions: { validateItem } }) { // If schemaOptions has validateItem, pass the existing item into the fn if ((0, ts_type_safety_utils_1.isFunction)(validateItem) && validateItem(item) === false) throw new errors_js_1.ItemInputError(`Invalid ${modelName} item.`); return item; }; exports.validateItem = validateItem;