UNPKG

@code-pushup/models

Version:

Model definitions and validators for the Code PushUp CLI

28 lines 1.04 kB
import { hasDuplicateStrings } from './utils.js'; export function createCheck(findErrorFn) { return ctx => { const error = findErrorFn(ctx.value); if (error) { // eslint-disable-next-line functional/immutable-data, no-param-reassign ctx.issues = [ ...ctx.issues, { code: 'custom', message: error.message, input: ctx.value, }, ]; } }; } export function createDuplicatesCheck(keyFn, errorMsgFn) { return createCheck(items => { const keys = items.map(keyFn); const duplicates = hasDuplicateStrings(keys); return duplicates && { message: errorMsgFn(duplicates) }; }); } export function createDuplicateSlugsCheck(name) { return createDuplicatesCheck(({ slug }) => slug, duplicates => `${name} slugs must be unique, but received duplicates: ${duplicates.map(slug => JSON.stringify(slug)).join(', ')}`); } //# sourceMappingURL=checks.js.map