@technobuddha/library
Version:
A large library of useful functions
30 lines • 1.62 kB
JavaScript
/**
* Determines if the provided value is a {@link Rect}e.
*
* A value is considered a {@link Rect} if it is a non-null object
* that contains numeric `x`, `y`, 'width', and 'height' properties.
* @param object - The value to test for Rectangle structure.
* @returns `true` if the value is a Rectangle, otherwise `false`.
* @example
* ```typescript
* isRect({ x: 1, y: 2, width: 3, height: 4 }); // true
* isRect({ x: 1, y: 2, width: 3 }); // false
* isRect(null); // false
* isRect([1, 2, 3, 4]); // false
* ```
* @group Geometry
* @category Rectangle
*/
export function isRect(object) {
return (object != null &&
typeof object === 'object' &&
'x' in object &&
'y' in object &&
'width' in object &&
'height' in object &&
typeof object.x === 'number' &&
typeof object.y === 'number' &&
typeof object.width === 'number' &&
typeof object.height === 'number');
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtcmVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pcy1yZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBQ0gsTUFBTSxVQUFVLE1BQU0sQ0FBQyxNQUFlO0lBQ3BDLE9BQU8sQ0FDTCxNQUFNLElBQUksSUFBSTtRQUNkLE9BQU8sTUFBTSxLQUFLLFFBQVE7UUFDMUIsR0FBRyxJQUFJLE1BQU07UUFDYixHQUFHLElBQUksTUFBTTtRQUNiLE9BQU8sSUFBSSxNQUFNO1FBQ2pCLFFBQVEsSUFBSSxNQUFNO1FBQ2xCLE9BQVEsTUFBZSxDQUFDLENBQUMsS0FBSyxRQUFRO1FBQ3RDLE9BQVEsTUFBZSxDQUFDLENBQUMsS0FBSyxRQUFRO1FBQ3RDLE9BQVEsTUFBZSxDQUFDLEtBQUssS0FBSyxRQUFRO1FBQzFDLE9BQVEsTUFBZSxDQUFDLE1BQU0sS0FBSyxRQUFRLENBQzVDLENBQUM7QUFDSixDQUFDIn0=