UNPKG

domain-objects

Version:

A simple, convenient way to represent domain objects, leverage domain knowledge, and add runtime validation in your code base.

18 lines 786 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isRefByUnique = void 0; const helpful_errors_1 = require("helpful-errors"); const type_fns_1 = require("type-fns"); const isRefByUnique = ({ of, }) => (ref) => { // get the unique key attributes const uniqueKeys = of.unique; if (!uniqueKeys) throw new helpful_errors_1.UnexpectedCodePathError('can not check isRefByUnique on a dobj which does not declare its .unique keys', { dobj: of.name, uniqueKeys }); // check that each key is defined const hasMissingKeys = uniqueKeys.some((key) => !(0, type_fns_1.isPresent)(ref[key])); if (hasMissingKeys) return false; return true; }; exports.isRefByUnique = isRefByUnique; //# sourceMappingURL=isRefByUnique.js.map