guard.js 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.isDefined = isDefined;
  4. exports.isObject = isObject;
  5. exports.isStringArray = isStringArray;
  6. exports.isObjectArray = isObjectArray;
  7. exports.isStringRecord = isStringRecord;
  8. exports.isObjectRecord = isObjectRecord;
  9. function isDefined(val) {
  10. return val !== undefined;
  11. }
  12. function isObject(value) {
  13. return typeof value === 'object' && value !== null;
  14. }
  15. function isStringArray(value) {
  16. return Array.isArray(value) && value.every((v) => typeof v === 'string');
  17. }
  18. function isObjectArray(value) {
  19. return Array.isArray(value) && value.every(isObject);
  20. }
  21. function isStringRecord(value) {
  22. return (typeof value === 'object' &&
  23. value !== null &&
  24. Object.keys(value).every((k) => typeof k === 'string') &&
  25. Object.values(value).every((v) => typeof v === 'string'));
  26. }
  27. function isObjectRecord(value) {
  28. return (typeof value === 'object' &&
  29. value !== null &&
  30. Object.keys(value).every((k) => typeof k === 'string') &&
  31. Object.values(value).every((v) => typeof v === 'object' && v !== null));
  32. }