| 1234567891011121314151617181920212223242526272829303132333435 |
- /*!
- * Chai - getProperties utility
- * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
- * MIT Licensed
- */
- /**
- * ### .getProperties(object)
- *
- * This allows the retrieval of property names of an object, enumerable or not,
- * inherited or not.
- *
- * @param {Object} object
- * @returns {Array}
- * @name getProperties
- * @api public
- */
- module.exports = function getProperties(object) {
- var result = Object.getOwnPropertyNames(subject);
- function addProperty(property) {
- if (result.indexOf(property) === -1) {
- result.push(property);
- }
- }
- var proto = Object.getPrototypeOf(subject);
- while (proto !== null) {
- Object.getOwnPropertyNames(proto).forEach(addProperty);
- proto = Object.getPrototypeOf(proto);
- }
- return result;
- };
|