@samiyev/guardian
Version:
Research-backed code quality guardian for AI-assisted development. Detects hardcodes, secrets, circular deps, framework leaks, entity exposure, and 9 architecture violations. Enforces Clean Architecture/DDD principles. Works with GitHub Copilot, Cursor, W
42 lines • 1.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Guards = void 0;
const constants_1 = require("../constants");
/**
* Type guard utilities for runtime type checking
*/
// eslint-disable-next-line @typescript-eslint/no-extraneous-class
class Guards {
static isNullOrUndefined(value) {
return value === null || value === undefined;
}
static isString(value) {
return typeof value === constants_1.TYPE_NAMES.STRING;
}
static isNumber(value) {
return typeof value === constants_1.TYPE_NAMES.NUMBER && !isNaN(value);
}
static isBoolean(value) {
return typeof value === constants_1.TYPE_NAMES.BOOLEAN;
}
static isObject(value) {
return typeof value === constants_1.TYPE_NAMES.OBJECT && value !== null && !Array.isArray(value);
}
static isArray(value) {
return Array.isArray(value);
}
static isEmpty(value) {
if (Guards.isNullOrUndefined(value)) {
return true;
}
if (Guards.isString(value) || Guards.isArray(value)) {
return value.length === 0;
}
if (Guards.isObject(value)) {
return Object.keys(value).length === 0;
}
return false;
}
}
exports.Guards = Guards;
//# sourceMappingURL=Guards.js.map