optionsMatches.mjs 547 B

1234567891011121314151617181920
  1. import matchesStringOrRegExp from './matchesStringOrRegExp.mjs';
  2. /**
  3. * Check if an options object's propertyName contains a user-defined string or
  4. * regex that matches the passed in input.
  5. *
  6. * @param {{ [x: string]: any; }} options
  7. * @param {string} propertyName
  8. * @param {unknown} input
  9. *
  10. * @returns {boolean}
  11. */
  12. export default function optionsMatches(options, propertyName, input) {
  13. return Boolean(
  14. options &&
  15. options[propertyName] &&
  16. typeof input === 'string' &&
  17. matchesStringOrRegExp(input, options[propertyName]),
  18. );
  19. }