ts-guards
Version:
A collection of basic type guards.
38 lines • 1.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.areObjectPropertiesOf = exports.isObjectPropertyOf = exports.isArrayOf = exports.isArray = void 0;
const primitive_type_1 = require("./primitive-type");
/**
* Standard built-in objects
* See also https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects
*/
// Array
function isArray(x) {
return Array.isArray(x);
}
exports.isArray = isArray;
function isArrayOf(x, y) {
return isArray(x) && x.length > 0 && x.every(i => y(i));
}
exports.isArrayOf = isArrayOf;
// Object
function isObjectPropertyOf(x, property) {
if (!primitive_type_1.isObject(x)) {
return false;
}
return property in x;
}
exports.isObjectPropertyOf = isObjectPropertyOf;
function areObjectPropertiesOf(x, property) {
if (!primitive_type_1.isObject(x)) {
return false;
}
property.forEach(p => {
if (!(p in x)) {
return false;
}
});
return true;
}
exports.areObjectPropertiesOf = areObjectPropertiesOf;
//# sourceMappingURL=standard-object.js.map