UNPKG

valirator

Version:

Powerful javascript by schema validation tool

36 lines (28 loc) 592 B
import { isDefined } from '../utils'; /** * * @param value * @param uniqueItems * @returns {boolean} */ export default function uniqueItemsRule(value, uniqueItems) { if (!isDefined(value)) { return true; } if (!uniqueItems) { return true; } const hash = {}; let i = 0, ln = value.length; for (; i < ln; i++) { const key = JSON.stringify(value[i]); if (hash[key]) { return false; } hash[key] = true; } return true; } uniqueItemsRule.ruleName = 'uniqueItems'; uniqueItemsRule.defaultMessage = 'must hold an unique set of values';