UNPKG

@nerdware/ddb-single-table

Version:

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

14 lines (13 loc) 617 B
import { isFunction } from "@nerdware/ts-type-safety-utils"; import { ItemInputError } from "../utils/errors.js"; /** * This `IOAction` uses `modelSchemaOptions.validateItem` to validate an item in its entirety. * * @throws {ItemInputError} If the `validateItem` function returns `false`. */ export const validateItem = function (item, { modelName, schemaOptions: { validateItem } }) { // If schemaOptions has validateItem, pass the existing item into the fn if (isFunction(validateItem) && validateItem(item) === false) throw new ItemInputError(`Invalid ${modelName} item.`); return item; };