{"_id":"is-descriptor","_rev":"23-9a2f8c8dbb0286cd8b742a55164a667e","name":"is-descriptor","description":"Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.","dist-tags":{"latest":"3.1.1","v1-backport":"1.0.3","v0-backport":"0.1.7"},"versions":{"0.1.0":{"name":"is-descriptor","description":"Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.","version":"0.1.0","homepage":"https://github.com/jonschlinkert/is-descriptor","author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"repository":{"type":"git","url":"git+https://github.com/jonschlinkert/is-descriptor.git"},"bugs":{"url":"https://github.com/jonschlinkert/is-descriptor/issues"},"license":"MIT","files":["index.js"],"main":"index.js","engines":{"node":">=0.10.0"},"scripts":{"test":"mocha"},"dependencies":{"is-accessor-descriptor":"^0.1.0","is-data-descriptor":"^0.1.0","kind-of":"^2.0.1"},"devDependencies":{"mocha":"*","should":"*"},"keywords":["accessor","check","data","descriptor","get","getter","is","keys","object","properties","property","set","setter","type","valid","value"],"verb":{"related":{"list":["is-descriptor","is-data-descriptor","is-accessor-descriptor","isobject"]}},"gitHead":"b5d8c39843c98588b67069325a4e6455beb8aef3","_id":"is-descriptor@0.1.0","_shasum":"fc69a5b16b538f61b708e91bc9d9370a7d95830d","_from":".","_npmVersion":"2.10.1","_nodeVersion":"0.12.4","_npmUser":{"name":"jonschlinkert","email":"github@sellside.com"},"maintainers":[{"name":"jonschlinkert","email":"github@sellside.com"}],"dist":{"shasum":"fc69a5b16b538f61b708e91bc9d9370a7d95830d","tarball":"https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.0.tgz","integrity":"sha512-WU6v/ZkEGQvWux0gvi6FolSe29Vi0SdwFNnBz9QnkqTN9b54s6g45SDOTnMkLUDg1W/v7vUfoILUMXfa9PYQgw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCW4Tygn6IiGC2GYXE3cFbjkE5NtnWvdV/S//elMfaLHgIhAPx45R5trCiX77zD80zqy2KvnustiVrIE1coV5QMsqzw"}]},"directories":{}},"0.1.1":{"name":"is-descriptor","description":"Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.","version":"0.1.1","homepage":"https://github.com/jonschlinkert/is-descriptor","author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"repository":{"type":"git","url":"git+https://github.com/jonschlinkert/is-descriptor.git"},"bugs":{"url":"https://github.com/jonschlinkert/is-descriptor/issues"},"license":"MIT","files":["index.js"],"main":"index.js","engines":{"node":">=0.10.0"},"scripts":{"test":"mocha"},"dependencies":{"is-accessor-descriptor":"^0.1.0","is-data-descriptor":"^0.1.0","kind-of":"^2.0.1","lazy-cache":"^0.2.3"},"devDependencies":{"mocha":"*","should":"*"},"keywords":["accessor","check","data","descriptor","get","getter","is","keys","object","properties","property","set","setter","type","valid","value"],"verb":{"related":{"list":["is-descriptor","is-data-descriptor","is-accessor-descriptor","isobject"]}},"gitHead":"dd9c4315dd61be73f42d07bc71ddb97414dfdbcf","_id":"is-descriptor@0.1.1","_shasum":"c3b0dcde084c854af9bd09ad83d2310abec08648","_from":".","_npmVersion":"2.14.4","_nodeVersion":"4.1.1","_npmUser":{"name":"jonschlinkert","email":"github@sellside.com"},"maintainers":[{"name":"jonschlinkert","email":"github@sellside.com"}],"dist":{"shasum":"c3b0dcde084c854af9bd09ad83d2310abec08648","tarball":"https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.1.tgz","integrity":"sha512-JSigLv7YqiSXYdudowJvSYq3TY4uFFcbnGHqUN3H2123REqyORIOODGm7pijveLHmiWG89GYxk+DwXQ2dmOzOw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCnXcxNajaj/078sz5/DQcwmYQ1Z0VRIn4bF3T5a1KxRQIgCBge4K1tqOPO3mGuXxrCbMe0LY7umKbjPigdQ2Bns4k="}]},"directories":{}},"0.1.2":{"name":"is-descriptor","description":"Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.","version":"0.1.2","homepage":"https://github.com/jonschlinkert/is-descriptor","author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"repository":{"type":"git","url":"git+https://github.com/jonschlinkert/is-descriptor.git"},"bugs":{"url":"https://github.com/jonschlinkert/is-descriptor/issues"},"license":"MIT","files":["index.js","utils.js"],"main":"index.js","engines":{"node":">=0.10.0"},"scripts":{"test":"mocha"},"dependencies":{"is-accessor-descriptor":"^0.1.0","is-data-descriptor":"^0.1.0","kind-of":"^2.0.1","lazy-cache":"^0.2.3"},"devDependencies":{"mocha":"*","should":"*"},"keywords":["accessor","check","data","descriptor","get","getter","is","keys","object","properties","property","set","setter","type","valid","value"],"verb":{"related":{"list":["is-descriptor","is-data-descriptor","is-accessor-descriptor","isobject"]}},"gitHead":"3aaf1ce8483bdee217e2f18b293937a09634a33b","_id":"is-descriptor@0.1.2","_shasum":"7b42058e4c9bb52909d1cb326a9a6d68942b0e40","_from":".","_npmVersion":"2.14.4","_nodeVersion":"4.1.1","_npmUser":{"name":"jonschlinkert","email":"github@sellside.com"},"maintainers":[{"name":"jonschlinkert","email":"github@sellside.com"}],"dist":{"shasum":"7b42058e4c9bb52909d1cb326a9a6d68942b0e40","tarball":"https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.2.tgz","integrity":"sha512-+mh2aoR4Mvjt7HKsnSPLfufEGuPL5IAVLBzw6cT3mzT0wIMX4sqN3+KGohfXrVdmWcO8xAzHmOjvY/y+FW8aWA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF8JjBmEV+POZ7Z8Ny6R/HjoRHCln/Lc3lKWl9BrtPatAiAO2u5aF0hKwYWNtosWnTXPntiq8TS2+ovCuUgkU9zR7A=="}]},"directories":{}},"0.1.3":{"name":"is-descriptor","description":"Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.","version":"0.1.3","homepage":"https://github.com/jonschlinkert/is-descriptor","author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"repository":{"type":"git","url":"git+https://github.com/jonschlinkert/is-descriptor.git"},"bugs":{"url":"https://github.com/jonschlinkert/is-descriptor/issues"},"license":"MIT","files":["index.js","utils.js"],"main":"index.js","engines":{"node":">=0.10.0"},"scripts":{"test":"mocha"},"dependencies":{"is-accessor-descriptor":"^0.1.4","is-data-descriptor":"^0.1.3","kind-of":"^3.0.2","lazy-cache":"^1.0.3"},"devDependencies":{"mocha":"*","should":"*"},"keywords":["accessor","check","data","descriptor","get","getter","is","keys","object","properties","property","set","setter","type","valid","value"],"verb":{"related":{"list":["is-accessor-descriptor","is-data-descriptor","is-descriptor","isobject"]},"plugins":["gulp-format-md"]},"gitHead":"8e6c159cfa23b357dbac8f977c3a9421172aafeb","_id":"is-descriptor@0.1.3","_shasum":"e23fd4be1bd3f82bba664596a776ab497ea4c10a","_from":".","_npmVersion":"3.3.6","_nodeVersion":"5.0.0","_npmUser":{"name":"jonschlinkert","email":"github@sellside.com"},"maintainers":[{"name":"jonschlinkert","email":"github@sellside.com"}],"dist":{"shasum":"e23fd4be1bd3f82bba664596a776ab497ea4c10a","tarball":"https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.3.tgz","integrity":"sha512-yRyUESAbwe2aH5NytcEKCI+n355D0Tgy6gzC00vR3R7EC8uSefMq6N6oCVL1Lj5grQNqUgnHx5M+SdQfbztV4Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD0kGrfPRSgXDZvntqsVHUEa0qYvM06/6Vpju+qXlSiMQIgCwLSODnlj2eT2+qmxUvhFY8irGR26vbpfHkohGuANRk="}]},"directories":{}},"0.1.4":{"name":"is-descriptor","description":"Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.","version":"0.1.4","homepage":"https://github.com/jonschlinkert/is-descriptor","author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"repository":{"type":"git","url":"git+https://github.com/jonschlinkert/is-descriptor.git"},"bugs":{"url":"https://github.com/jonschlinkert/is-descriptor/issues"},"license":"MIT","files":["index.js","utils.js"],"main":"index.js","engines":{"node":">=0.10.0"},"scripts":{"test":"mocha"},"dependencies":{"is-accessor-descriptor":"^0.1.6","is-data-descriptor":"^0.1.4","kind-of":"^3.0.2","lazy-cache":"^1.0.3"},"devDependencies":{"mocha":"*"},"keywords":["accessor","check","data","descriptor","get","getter","is","keys","object","properties","property","set","setter","type","valid","value"],"verb":{"related":{"list":["is-accessor-descriptor","is-data-descriptor","is-descriptor","isobject"]},"plugins":["gulp-format-md"]},"gitHead":"161400d896ae3bd216fdaaf7565e16e544a43aa6","_id":"is-descriptor@0.1.4","_shasum":"c2cfa0d85099a90df94af5b7eb7ee1c7e1413186","_from":".","_npmVersion":"3.3.6","_nodeVersion":"5.0.0","_npmUser":{"name":"jonschlinkert","email":"github@sellside.com"},"maintainers":[{"name":"jonschlinkert","email":"github@sellside.com"}],"dist":{"shasum":"c2cfa0d85099a90df94af5b7eb7ee1c7e1413186","tarball":"https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.4.tgz","integrity":"sha512-4WUsnPld1Ru4mzik3m6olH36oZ1wMB0BDsPXvFSdKqzit/OFsaCmJkrAcD9NOiXJYTBTcsy2YKqDGNzdNLv7JA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDvIXmRULeaFa6wPWdOlK1L/R+l0vlTK2KpcKyv8ns+bAiBLLRCsoFjMByOf1uni7CHzKP+lEGni48Wskn5roeeKfw=="}]},"directories":{}},"0.1.5":{"name":"is-descriptor","description":"Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.","version":"0.1.5","homepage":"https://github.com/jonschlinkert/is-descriptor","author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"contributors":[{"email":"wtgtybhertgeghgtwtg@gmail.com","url":"https://github.com/wtgtybhertgeghgtwtg"},{"name":"Brian Woodward","email":"brian.woodward@gmail.com","url":"https://github.com/doowb"},{"name":"Jon Schlinkert","email":"jon.schlinkert@sellside.com","url":"http://twitter.com/jonschlinkert"}],"repository":{"type":"git","url":"git+https://github.com/jonschlinkert/is-descriptor.git"},"bugs":{"url":"https://github.com/jonschlinkert/is-descriptor/issues"},"license":"MIT","files":["index.js","utils.js"],"main":"index.js","engines":{"node":">=0.10.0"},"scripts":{"test":"mocha"},"dependencies":{"is-accessor-descriptor":"^0.1.6","is-data-descriptor":"^0.1.4","kind-of":"^3.0.2","lazy-cache":"^2.0.2"},"devDependencies":{"gulp-format-md":"^0.1.11","mocha":"*"},"keywords":["accessor","check","data","descriptor","get","getter","is","keys","object","properties","property","set","setter","type","valid","value"],"verb":{"related":{"list":["is-accessor-descriptor","is-data-descriptor","is-descriptor","isobject"]},"plugins":["gulp-format-md"],"toc":false,"layout":"default","tasks":["readme"],"lint":{"reflinks":true}},"gitHead":"bc3cf6915686d4a964997ae7585bf65005bbf955","_id":"is-descriptor@0.1.5","_shasum":"e3fb8b4ab65f3a37373388e18b401d78c58cbea7","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.5.0","_npmUser":{"name":"jonschlinkert","email":"github@sellside.com"},"maintainers":[{"name":"jonschlinkert","email":"github@sellside.com"}],"dist":{"shasum":"e3fb8b4ab65f3a37373388e18b401d78c58cbea7","tarball":"https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.5.tgz","integrity":"sha512-1G5K54oA7tS1uLuAgwA9urEJ6Z6jXGhfgYvdUeXhOD3bCO+M/8XY6lZ4YUfaKgiNqktrof22r84mLqjyQXZrvg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAHJotgFKVyHvvEM8YYJCyiFoPtUjCZNWB7DOutnANNqAiEAhLJZrXaNPXalokvNIqIACkASWCLO3s6lVxnTqhaIojA="}]},"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/is-descriptor-0.1.5.tgz_1488061797811_0.4672183636575937"},"directories":{}},"1.0.0":{"name":"is-descriptor","description":"Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.","version":"1.0.0","homepage":"https://github.com/jonschlinkert/is-descriptor","author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"contributors":[{"email":"wtgtybhertgeghgtwtg@gmail.com","url":"https://github.com/wtgtybhertgeghgtwtg"},{"name":"Brian Woodward","email":"brian.woodward@gmail.com","url":"https://github.com/doowb"},{"name":"Jon Schlinkert","email":"jon.schlinkert@sellside.com","url":"http://twitter.com/jonschlinkert"}],"repository":{"type":"git","url":"git+https://github.com/jonschlinkert/is-descriptor.git"},"bugs":{"url":"https://github.com/jonschlinkert/is-descriptor/issues"},"license":"MIT","files":["index.js","utils.js"],"main":"index.js","engines":{"node":">=0.10.0"},"scripts":{"test":"mocha"},"dependencies":{"is-accessor-descriptor":"^0.1.6","is-data-descriptor":"^0.1.4","kind-of":"^3.0.2","lazy-cache":"^2.0.2"},"devDependencies":{"gulp-format-md":"^0.1.11","mocha":"*"},"keywords":["accessor","check","data","descriptor","get","getter","is","keys","object","properties","property","set","setter","type","valid","value"],"verb":{"related":{"list":["is-accessor-descriptor","is-data-descriptor","is-descriptor","isobject"]},"plugins":["gulp-format-md"],"toc":false,"layout":"default","tasks":["readme"],"lint":{"reflinks":true}},"gitHead":"bdcab7a7977b417da073c2ade5203a0deac47fe3","_id":"is-descriptor@1.0.0","_shasum":"d6ec686f238f6b02f23757abe12cf6b2ea2790f9","_from":".","_npmVersion":"4.1.2","_nodeVersion":"7.5.0","_npmUser":{"name":"jonschlinkert","email":"github@sellside.com"},"maintainers":[{"name":"jonschlinkert","email":"github@sellside.com"}],"dist":{"shasum":"d6ec686f238f6b02f23757abe12cf6b2ea2790f9","tarball":"https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.0.tgz","integrity":"sha512-3Uy7Mb8/e6bfQCAuRoKHquL5wFrutTvER9dhrz26F8zfh1ygOpeRnppG0m0Jt0yRszwdqMY92c8N3m6uJSdKKQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICaQLmc48Mt/yehbIcJxuwuJBZFkEfD5z4BDT1seNwc7AiEA1P6MWBu5FhH3uzI6JhGF1L/xPQJ+O5b6cTNvKdjv830="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/is-descriptor-1.0.0.tgz_1488061824742_0.7234284023288637"},"directories":{}},"1.0.1":{"name":"is-descriptor","description":"Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.","version":"1.0.1","homepage":"https://github.com/jonschlinkert/is-descriptor","author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"contributors":[{"name":"Brian Woodward","url":"https://twitter.com/doowb"},{"name":"Jon Schlinkert","url":"http://twitter.com/jonschlinkert"},{"url":"https://github.com/wtgtybhertgeghgtwtg"}],"repository":{"type":"git","url":"git+https://github.com/jonschlinkert/is-descriptor.git"},"bugs":{"url":"https://github.com/jonschlinkert/is-descriptor/issues"},"license":"MIT","files":["index.js"],"main":"index.js","engines":{"node":">=0.10.0"},"scripts":{"test":"mocha"},"dependencies":{"is-accessor-descriptor":"^0.1.6","is-data-descriptor":"^0.1.4","kind-of":"^5.0.0"},"devDependencies":{"gulp-format-md":"^1.0.0","mocha":"^3.4.2"},"keywords":["accessor","check","data","descriptor","get","getter","is","keys","object","properties","property","set","setter","type","valid","value"],"verb":{"related":{"list":["is-accessor-descriptor","is-data-descriptor","is-descriptor","isobject"]},"plugins":["gulp-format-md"],"toc":false,"layout":"default","tasks":["readme"],"lint":{"reflinks":true}},"gitHead":"2b58af6426d0700607419b096766829aff27f642","_id":"is-descriptor@1.0.1","_npmVersion":"5.3.0","_nodeVersion":"7.7.3","_npmUser":{"name":"jonschlinkert","email":"github@sellside.com"},"maintainers":[{"name":"jonschlinkert","email":"github@sellside.com"}],"dist":{"integrity":"sha512-G3fFVFTqfaqu7r4YuSBHKBAuOaLz8Sy7ekklUpFEliaLMP1Y2ZjoN9jS62YWCAPQrQpMUQSitRlrzibbuCZjdA==","shasum":"2c6023599bde2de9d5d2c8b9a9d94082036b6ef2","tarball":"https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCFbpHX5EzS3APnVvjEEDrxL917I3gLV7v/1TzknKWlOgIhAMPaHtwmbT0xG+bWujyaBuhD+1Rfh8DSipazvw7EOqDK"}]},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/is-descriptor-1.0.1.tgz_1500738534279_0.7674877592362463"},"directories":{}},"0.1.6":{"name":"is-descriptor","description":"Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.","version":"0.1.6","homepage":"https://github.com/jonschlinkert/is-descriptor","author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"contributors":[{"name":"Brian Woodward","url":"https://twitter.com/doowb"},{"name":"Jon Schlinkert","url":"http://twitter.com/jonschlinkert"},{"url":"https://github.com/wtgtybhertgeghgtwtg"}],"repository":{"type":"git","url":"git+https://github.com/jonschlinkert/is-descriptor.git"},"bugs":{"url":"https://github.com/jonschlinkert/is-descriptor/issues"},"license":"MIT","files":["index.js"],"main":"index.js","engines":{"node":">=0.10.0"},"scripts":{"test":"mocha"},"dependencies":{"is-accessor-descriptor":"^0.1.6","is-data-descriptor":"^0.1.4","kind-of":"^5.0.0"},"devDependencies":{"gulp-format-md":"^1.0.0","mocha":"^3.4.2"},"keywords":["accessor","check","data","descriptor","get","getter","is","keys","object","properties","property","set","setter","type","valid","value"],"verb":{"related":{"list":["is-accessor-descriptor","is-data-descriptor","is-descriptor","isobject"]},"plugins":["gulp-format-md"],"toc":false,"layout":"default","tasks":["readme"],"lint":{"reflinks":true}},"gitHead":"7559403830553097fcdd56ae93fe69d4ef2b21db","_id":"is-descriptor@0.1.6","_npmVersion":"5.3.0","_nodeVersion":"7.7.3","_npmUser":{"name":"jonschlinkert","email":"github@sellside.com"},"maintainers":[{"name":"jonschlinkert","email":"github@sellside.com"}],"dist":{"integrity":"sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==","shasum":"366d8240dde487ca51823b1ab9f07a10a78251ca","tarball":"https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD6uQlesmIDzf1Xwyp8/Fa/NF9d4gxNiHiuKciBCxGZ6QIgCyAqUJMAlubdYbBktJuMgXyjmWY8AxNvnpJFHTk677I="}]},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/is-descriptor-0.1.6.tgz_1500744018543_0.5760307745076716"},"directories":{}},"1.0.2":{"name":"is-descriptor","description":"Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.","version":"1.0.2","homepage":"https://github.com/jonschlinkert/is-descriptor","author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"contributors":[{"name":"Brian Woodward","url":"https://twitter.com/doowb"},{"name":"Jon Schlinkert","url":"http://twitter.com/jonschlinkert"},{"url":"https://github.com/wtgtybhertgeghgtwtg"}],"repository":{"type":"git","url":"git+https://github.com/jonschlinkert/is-descriptor.git"},"bugs":{"url":"https://github.com/jonschlinkert/is-descriptor/issues"},"license":"MIT","files":["index.js"],"main":"index.js","engines":{"node":">=0.10.0"},"scripts":{"test":"mocha"},"dependencies":{"is-accessor-descriptor":"^1.0.0","is-data-descriptor":"^1.0.0","kind-of":"^6.0.2"},"devDependencies":{"gulp-format-md":"^1.0.0","mocha":"^3.5.3"},"keywords":["accessor","check","data","descriptor","get","getter","is","keys","object","properties","property","set","setter","type","valid","value"],"verb":{"related":{"list":["is-accessor-descriptor","is-data-descriptor","is-descriptor","isobject"]},"plugins":["gulp-format-md"],"toc":false,"layout":"default","tasks":["readme"],"lint":{"reflinks":true}},"gitHead":"324635c990dc7f1e6d169deecd19769dea72114c","_id":"is-descriptor@1.0.2","_npmVersion":"5.6.0","_nodeVersion":"9.1.0","_npmUser":{"name":"jonschlinkert","email":"github@sellside.com"},"dist":{"integrity":"sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==","shasum":"3b159746a66604b04f8c81524ba365c5f14d86ec","tarball":"https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCaTy6SLTnJ1sook8ki8DTdJ5LgXSkBregYMhLL6z2PpwIgUxHkz4O+D2B2xz1KeLhBEh3q2sEXu2jeAUS9Zyct5Pw="}]},"maintainers":[{"name":"jonschlinkert","email":"github@sellside.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/is-descriptor-1.0.2.tgz_1514502694043_0.9101065774448216"},"directories":{}},"3.0.0":{"name":"is-descriptor","description":"Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.","version":"3.0.0","homepage":"https://github.com/jonschlinkert/is-descriptor","author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"contributors":[{"url":"https://github.com/wtgtybhertgeghgtwtg"},{"name":"Brian Woodward","url":"https://twitter.com/doowb"},{"name":"Jon Schlinkert","url":"http://twitter.com/jonschlinkert"}],"repository":{"type":"git","url":"git+https://github.com/jonschlinkert/is-descriptor.git"},"bugs":{"url":"https://github.com/jonschlinkert/is-descriptor/issues"},"license":"MIT","main":"index.js","engines":{"node":">=6"},"scripts":{"test":"mocha"},"devDependencies":{"gulp-format-md":"^2.0.0","mocha":"^5.2.0"},"keywords":["accessor","check","data","descriptor","get","getter","is","keys","object","properties","property","set","setter","type","valid","value"],"verb":{"related":{"list":["is-accessor-descriptor","is-data-descriptor","is-descriptor","isobject"]},"plugins":["gulp-format-md"],"toc":false,"layout":"default","tasks":["readme"],"lint":{"reflinks":true}},"gitHead":"7f7e2c865674526424f5cd1fb98f0ed7811a67f9","_id":"is-descriptor@3.0.0","_npmVersion":"6.4.1","_nodeVersion":"11.4.0","_npmUser":{"name":"jonschlinkert","email":"github@sellside.com"},"dist":{"integrity":"sha512-ulS4dmaxyKmco18hEL9EfipAUTiDH8M/hqEqsGf3kc7F1JWsvOR8daPmela52pc/p6PDo03Lsy6gR7Pf5JwITg==","shasum":"5fca20996d4bb12111f4e0e9fdf0ab770927e6e9","tarball":"https://registry.npmjs.org/is-descriptor/-/is-descriptor-3.0.0.tgz","fileCount":4,"unpackedSize":10393,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcEyzoCRA9TVsSAnZWagAA4RkP/3OE8qFhsXFk3Svm3J7b\neTfwD2x6//lq5oLlDOage4JF+zNrmx/tee+fri0QM3woMrtrO1mbf7IqKdTn\nHqwZMtll3ecwvpCr8ksUB25JwTtA4vXWl87NRmjS2AjWn10IPjvTiqK+/OTn\nywP8puihBJZfk+qEUZBy/5b4d6n3qPIFYsl2A945SNwjvErx72kXIOj3h64/\neK4U9w3v4a/Yb6SpgzIAaD0UM8WDNbiyvs6Ir0QTxjUsnVmq9qpWc4BkTyxC\nDk7A5AINYIQyhx8xbqGOHK2mXqhY7PxsU/2lGLKkn2ZScIexSvJ35PdwzCMo\nVfTDKE2G4Ua9hoCUyC/khCnGB4X7bmIukktjASBBc1lpWsyo0uZ/+ZiBgVPM\nrvvnY8MtiwhtJk3v5F11HEAeIc8J034NLN0SGnykfDAfgWw9Pc4bMipD1Jrx\n/S2cUmad9lCFyuQ+DQd9AHu6n+CMoFQTxQGuPJFBOVdKw2y4BWWjnEXU67gM\n/7IKV4T0HqrzcjeNjjc9W6YWMD13qJVJU6fkIeFFKbxxKV7B3YIlyMmx5rl+\nXJZ8uGHF8GHKoGZjShH3BcYxwVaVBVZemsNyUazIlqingstCEHGCFSDIc6ZF\nJTx4Urhm4jUv+AP5q0uApXdF3ePI6KUerQoH+s36+QIAeNG+4Gt009R1T1Ob\nM2Gh\r\n=aBTR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDukEliHuWHAOYaq0XyN36XfY90qpU+xauFJBPGa1D+0gIhAL6pPZ3apKMapw0Yezpfm6AMQUsundmarg0akvwUIxJt"}]},"maintainers":[{"name":"jonschlinkert","email":"github@sellside.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/is-descriptor_3.0.0_1544760552055_0.5067295331188355"},"_hasShrinkwrap":false},"3.1.0":{"name":"is-descriptor","version":"3.1.0","description":"Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.","main":"index.js","exports":{".":"./index.js","./package.json":"./package.json"},"scripts":{"prepack":"npmignore --auto --commentLines=autogenerated","prepublishOnly":"safe-publish-latest","prepublish":"not-in-publish || npm run prepublishOnly","lint":"eslint --ext=js,mjs .","pretest":"npm run lint","tests-only":"nyc tape 'test/**/*.js'","test":"npm run tests-only","posttest":"aud --production","prelint-disabled":"evalmd README.md","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"repository":{"type":"git","url":"git+https://github.com/inspect-js/is-descriptor.git"},"keywords":["accessor","check","data","descriptor","get","getter","is","keys","object","properties","property","set","setter","type","valid","value"],"author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"license":"MIT","bugs":{"url":"https://github.com/inspect-js/is-descriptor/issues"},"homepage":"https://github.com/inspect-js/is-descriptor","contributors":[{"url":"https://github.com/wtgtybhertgeghgtwtg"},{"name":"Brian Woodward","url":"https://twitter.com/doowb"},{"name":"Jon Schlinkert","url":"https://twitter.com/jonschlinkert"}],"devDependencies":{"@ljharb/eslint-config":"^21.0.1","aud":"^2.0.2","auto-changelog":"^2.4.0","eslint":"=8.8.0","evalmd":"^0.0.19","in-publish":"^2.0.1","npmignore":"^0.3.0","nyc":"^10.3.2","safe-publish-latest":"^2.0.0","tape":"^5.6.3"},"engines":{"node":">=0.4"},"auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true},"publishConfig":{"ignore":[".github/workflows"]},"gitHead":"ac0118e8355815c34cfd43cece7e6948b3740945","_id":"is-descriptor@3.1.0","_nodeVersion":"20.0.0","_npmVersion":"9.6.4","dist":{"integrity":"sha512-f7f+QipyxU7Y8+P29bG81jdEof42qyOLv/pauICY1iqt2woHSHT+jxdAxyowhLTfbUezCMmmk6Olh69pmdEvIA==","shasum":"709641039a80de4fcd3717febd621e46f38ae912","tarball":"https://registry.npmjs.org/is-descriptor/-/is-descriptor-3.1.0.tgz","fileCount":11,"unpackedSize":20707,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDaufBlU5IJMRsv0YWCHm55E9hg0SjxhFs4cTHpQWo+LAiAhw82gyfvclQPmrJmkcZvuaulnybw82uYqUtVp0tNuwQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkUKcWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpkuBAAg2KmAu+GEeAaUKNxFR+fAGNcCJRokju5JKanckmLdOKN1/Zn\r\nID0QQyeg4PhI++T5Bx33bUUAWMO4972MgT1rr1H4rWgS8bQBL+Hgv5PHsdP/\r\n3x56V2aqqXP1+gjH07+kiE81BQwa9EtNQ9tEGPcsJyqlYlOxJbgnnEoCbhIx\r\nQKQi1lpPgcRLcsy3ksOAY8x4hXo7XwuB0bDlAhYpNniif5wi/eR8enTZx0p1\r\n+lOS/z6Ljf3sBU6F3n1q1bqwMPaODTRPuHjNG9hlIhWxS6LmpyqJf+OMGHf3\r\nv4EYGALp5KKzxQP1slBpH67APdjljOi5I+SiVNkjcT5frjILFO79RO6AxKwY\r\n3zOLp+ppg77oJY4JXL+cLFys0E31O9LYQNzsxItV9xAoDj8YwqgF4ZbbQxDy\r\n7c+f1+F65UsszU0FqSap50qsABhpTwBjrgmEr6WBu/Uw1utUc2pczuQmeyBJ\r\nOjbj8fR6RCdZXkzn9WzElTGrSWZkQNBLJ2ITuGgaVbKbA1zD+W007z3Sde8N\r\nk8m6BDQym8s800whtJFZn58XzG8Sn+SO7BRkRGHGWVBt8wal8H/Jval4BSm4\r\nAg2qQSiN8A9Vuj2KevYn6y5pinDqKI65abwc/A8uiMV4iLf9o4Mo8xEdhL9u\r\n+BCwHLzxdmkG/EnCg90N8eexRaqTaLoQKhM=\r\n=NaCD\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"directories":{},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"},{"name":"jonschlinkert","email":"github@sellside.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/is-descriptor_3.1.0_1683007254446_0.9831755029144884"},"_hasShrinkwrap":false},"1.0.3":{"name":"is-descriptor","version":"1.0.3","description":"Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.","main":"index.js","exports":{".":"./index.js","./package.json":"./package.json"},"scripts":{"prepack":"npmignore --auto --commentLines=autogenerated","prepublishOnly":"safe-publish-latest","prepublish":"not-in-publish || npm run prepublishOnly","prelint":"evalmd README.md","lint":"eslint --ext=js,mjs .","pretest":"npm run lint","tests-only":"nyc tape 'test/**/*.js'","test":"npm run tests-only","posttest":"aud --production","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"repository":{"type":"git","url":"git+https://github.com/inspect-js/is-descriptor.git"},"keywords":["accessor","check","data","descriptor","get","getter","is","keys","object","properties","property","set","setter","type","valid","value"],"author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"license":"MIT","bugs":{"url":"https://github.com/inspect-js/is-descriptor/issues"},"homepage":"https://github.com/inspect-js/is-descriptor","contributors":[{"name":"Brian Woodward","url":"https://twitter.com/doowb"},{"name":"Jon Schlinkert","url":"http://twitter.com/jonschlinkert"},{"url":"https://github.com/wtgtybhertgeghgtwtg"}],"dependencies":{"is-accessor-descriptor":"^1.0.1","is-data-descriptor":"^1.0.1"},"devDependencies":{"@ljharb/eslint-config":"^21.1.0","aud":"^2.0.3","auto-changelog":"^2.4.0","eslint":"=8.8.0","evalmd":"^0.0.19","in-publish":"^2.0.1","npmignore":"^0.3.0","nyc":"^10.3.2","safe-publish-latest":"^2.0.0","tape":"^5.7.2"},"engines":{"node":">= 0.4"},"auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true},"publishConfig":{"ignore":[".github/workflows"]},"_id":"is-descriptor@1.0.3","readme":"# is-descriptor [![Version Badge][npm-version-svg]][package-url]\n\n[![github actions][actions-image]][actions-url]\n[![coverage][codecov-image]][codecov-url]\n[![License][license-image]][license-url]\n[![Downloads][downloads-image]][downloads-url]\n\n[![npm badge][npm-badge-png]][package-url]\n\n> Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.\n\n## Usage\n\n```js\nconst isDescriptor = require('is-descriptor');\nconst assert = require('assert');\n\nassert.equal(isDescriptor({ value: 'foo' }), true);\nassert.equal(isDescriptor({ get() {}, set() {} }), true);\nassert.equal(isDescriptor({ get: 'foo', set() {} }), false);\n```\n\nYou may also check for a descriptor by passing an object as the first argument and property name (`string`) as the second argument.\n\n```js\nconst obj = { foo: 'abc' };\n\nObject.defineProperty(obj, 'bar', {\n value: 'xyz'\n});\n\nassert.equal(isDescriptor(obj, 'foo'), true);\nassert.equal(isDescriptor(obj, 'bar'), true);\n```\n\n## Examples\n\n### value type\n\n`false` when not an object\n\n```js\nassert.equal(isDescriptor('a'), false);\nassert.equal(isDescriptor(null), false);\nassert.equal(isDescriptor([]), false);\n```\n\n### data descriptor\n\n`true` when the object has valid properties with valid values.\n\n```js\nassert.equal(isDescriptor({ value: 'foo' }), true);\nassert.equal(isDescriptor({ value() {} }), true);\n```\n\n`false` when the object has invalid properties\n\n```js\nassert.equal(isDescriptor({ value: 'foo', enumerable: 'baz' }), false);\nassert.equal(isDescriptor({ value: 'foo', configurable: 'baz' }), false);\nassert.equal(isDescriptor({ value: 'foo', get() {} }), false);\nassert.equal(isDescriptor({ get() {}, value() {} }), false);\n```\n\n`false` when a value is not the correct type\n\n```js\nassert.equal(isDescriptor({ value: 'foo', enumerable: 'foo' }), false);\nassert.equal(isDescriptor({ value: 'foo', configurable: 'foo' }), false);\nassert.equal(isDescriptor({ value: 'foo', writable: 'foo' }), false);\n```\n\n### accessor descriptor\n\n`true` when the object has valid properties with valid values.\n\n```js\nassert.equal(isDescriptor({ get() {}, set() {} }), true);\nassert.equal(isDescriptor({ get() {} }), true);\nassert.equal(isDescriptor({ set() {} }), true);\n```\n\n`false` when the object has invalid properties\n\n```js\nassert.equal(isDescriptor({ get() {}, set() {}, enumerable: 'baz' }), false);\nassert.equal(isDescriptor({ get() {}, writable: true }), false);\nassert.equal(isDescriptor({ get() {}, value: true }), false);\n```\n\n`false` when an accessor is not a function\n\n```js\nassert.equal(isDescriptor({ get() {}, set: 'baz' }), false);\nassert.equal(isDescriptor({ get: 'foo', set() {} }), false);\nassert.equal(isDescriptor({ get: 'foo', bar: 'baz' }), false);\nassert.equal(isDescriptor({ get: 'foo', set: 'baz' }), false);\n```\n\n`false` when a value is not the correct type\n\n```js\nassert.equal(isDescriptor({ get() {}, set() {}, enumerable: 'foo' }), false);\nassert.equal(isDescriptor({ set() {}, configurable: 'foo' }), false);\nassert.equal(isDescriptor({ get() {}, configurable: 'foo' }), false);\n```\n\n### Related projects\n\nYou might also be interested in these projects:\n\n* [is-accessor-descriptor](https://www.npmjs.com/package/is-accessor-descriptor): Returns true if a value has the characteristics of a valid JavaScript accessor descriptor.\n* [is-data-descriptor](https://www.npmjs.com/package/is-data-descriptor): Returns true if a value has the characteristics of a valid JavaScript data descriptor.\n* [is-object](https://www.npmjs.com/package/is-object): Returns true if the value is an object and not an array or null.\n\n## Tests\nSimply clone the repo, `npm install`, and run `npm test`\n\n[package-url]: https://npmjs.org/package/is-descriptor\n[npm-version-svg]: https://versionbadg.es/inspect-js/is-descriptor.svg\n[deps-svg]: https://david-dm.org/inspect-js/is-descriptor.svg\n[deps-url]: https://david-dm.org/inspect-js/is-descriptor\n[dev-deps-svg]: https://david-dm.org/inspect-js/is-descriptor/dev-status.svg\n[dev-deps-url]: https://david-dm.org/inspect-js/is-descriptor#info=devDependencies\n[npm-badge-png]: https://nodei.co/npm/is-descriptor.png?downloads=true&stars=true\n[license-image]: https://img.shields.io/npm/l/is-descriptor.svg\n[license-url]: LICENSE\n[downloads-image]: https://img.shields.io/npm/dm/is-descriptor.svg\n[downloads-url]: https://npm-stat.com/charts.html?package=is-descriptor\n[codecov-image]: https://codecov.io/gh/inspect-js/is-descriptor/branch/main/graphs/badge.svg\n[codecov-url]: https://app.codecov.io/gh/inspect-js/is-descriptor/\n[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/is-descriptor\n[actions-url]: https://github.com/inspect-js/is-descriptor/actions\n","readmeFilename":"README.md","gitHead":"ad08ba5a0d0359777a11e04952992e1a65963c64","_nodeVersion":"21.0.0","_npmVersion":"10.2.0","dist":{"integrity":"sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==","shasum":"92d27cb3cd311c4977a4db47df457234a13cb306","tarball":"https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz","fileCount":11,"unpackedSize":20626,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDwk/NnEhHIIgEbhYLVrcA+1InmEpkuCcdp0/ywFmxK8QIgKV58uM1mLa0QIfI0p/K0dpMZV2E4i6qlR3Gde9mNdSA="}]},"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"directories":{},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"},{"name":"jonschlinkert","email":"github@sellside.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/is-descriptor_1.0.3_1698369740356_0.5718983478092727"},"_hasShrinkwrap":false},"0.1.7":{"name":"is-descriptor","version":"0.1.7","description":"Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.","main":"index.js","exports":{".":"./index.js","./package.json":"./package.json"},"scripts":{"prepack":"npmignore --auto --commentLines=autogenerated","prepublishOnly":"safe-publish-latest","prepublish":"not-in-publish || npm run prepublishOnly","prelint":"evalmd README.md","lint":"eslint --ext=js,mjs .","pretest":"npm run lint","tests-only":"nyc tape 'test/**/*.js'","test":"npm run tests-only","posttest":"aud --production","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"repository":{"type":"git","url":"git+https://github.com/inspect-js/is-descriptor.git"},"keywords":["accessor","check","data","descriptor","get","getter","is","keys","object","properties","property","set","setter","type","valid","value"],"author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"license":"MIT","bugs":{"url":"https://github.com/inspect-js/is-descriptor/issues"},"homepage":"https://github.com/inspect-js/is-descriptor","contributors":[{"name":"Brian Woodward","url":"https://twitter.com/doowb"},{"name":"Jon Schlinkert","url":"http://twitter.com/jonschlinkert"},{"url":"https://github.com/wtgtybhertgeghgtwtg"}],"dependencies":{"is-accessor-descriptor":"^1.0.1","is-data-descriptor":"^1.0.1"},"devDependencies":{"@ljharb/eslint-config":"^21.1.0","aud":"^2.0.3","auto-changelog":"^2.4.0","eslint":"=8.8.0","evalmd":"^0.0.19","in-publish":"^2.0.1","npmignore":"^0.3.0","nyc":"^10.3.2","safe-publish-latest":"^2.0.0","tape":"^5.7.2"},"engines":{"node":">= 0.4"},"auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true},"publishConfig":{"ignore":[".github/workflows"]},"_id":"is-descriptor@0.1.7","readme":"# is-descriptor [![Version Badge][npm-version-svg]][package-url]\n\n[![github actions][actions-image]][actions-url]\n[![coverage][codecov-image]][codecov-url]\n[![License][license-image]][license-url]\n[![Downloads][downloads-image]][downloads-url]\n\n[![npm badge][npm-badge-png]][package-url]\n\n> Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.\n\n## Usage\n\n```js\nconst isDescriptor = require('is-descriptor');\nconst assert = require('assert');\n\nassert.equal(isDescriptor({ value: 'foo' }), true);\nassert.equal(isDescriptor({ get() {}, set() {} }), true);\nassert.equal(isDescriptor({ get: 'foo', set() {} }), false);\n```\n\nYou may also check for a descriptor by passing an object as the first argument and property name (`string`) as the second argument.\n\n```js\nconst obj = { foo: 'abc' };\n\nObject.defineProperty(obj, 'bar', {\n value: 'xyz'\n});\n\nassert.equal(isDescriptor(obj, 'foo'), true);\nassert.equal(isDescriptor(obj, 'bar'), true);\n```\n\n## Examples\n\n### value type\n\n`false` when not an object\n\n```js\nassert.equal(isDescriptor('a'), false);\nassert.equal(isDescriptor(null), false);\nassert.equal(isDescriptor([]), false);\n```\n\n### data descriptor\n\n`true` when the object has valid properties with valid values.\n\n```js\nassert.equal(isDescriptor({ value: 'foo' }), true);\nassert.equal(isDescriptor({ value() {} }), true);\n```\n\n`false` when the object has invalid properties\n\n```js\nassert.equal(isDescriptor({ value: 'foo', enumerable: 'baz' }), false);\nassert.equal(isDescriptor({ value: 'foo', configurable: 'baz' }), false);\nassert.equal(isDescriptor({ value: 'foo', get() {} }), false);\nassert.equal(isDescriptor({ get() {}, value() {} }), false);\n```\n\n`false` when a value is not the correct type\n\n```js\nassert.equal(isDescriptor({ value: 'foo', enumerable: 'foo' }), false);\nassert.equal(isDescriptor({ value: 'foo', configurable: 'foo' }), false);\nassert.equal(isDescriptor({ value: 'foo', writable: 'foo' }), false);\n```\n\n### accessor descriptor\n\n`true` when the object has valid properties with valid values.\n\n```js\nassert.equal(isDescriptor({ get() {}, set() {} }), true);\nassert.equal(isDescriptor({ get() {} }), true);\nassert.equal(isDescriptor({ set() {} }), true);\n```\n\n`false` when the object has invalid properties\n\n```js\nassert.equal(isDescriptor({ get() {}, set() {}, enumerable: 'baz' }), false);\nassert.equal(isDescriptor({ get() {}, writable: true }), false);\nassert.equal(isDescriptor({ get() {}, value: true }), false);\n```\n\n`false` when an accessor is not a function\n\n```js\nassert.equal(isDescriptor({ get() {}, set: 'baz' }), false);\nassert.equal(isDescriptor({ get: 'foo', set() {} }), false);\nassert.equal(isDescriptor({ get: 'foo', bar: 'baz' }), false);\nassert.equal(isDescriptor({ get: 'foo', set: 'baz' }), false);\n```\n\n`false` when a value is not the correct type\n\n```js\nassert.equal(isDescriptor({ get() {}, set() {}, enumerable: 'foo' }), false);\nassert.equal(isDescriptor({ set() {}, configurable: 'foo' }), false);\nassert.equal(isDescriptor({ get() {}, configurable: 'foo' }), false);\n```\n\n### Related projects\n\nYou might also be interested in these projects:\n\n* [is-accessor-descriptor](https://www.npmjs.com/package/is-accessor-descriptor): Returns true if a value has the characteristics of a valid JavaScript accessor descriptor.\n* [is-data-descriptor](https://www.npmjs.com/package/is-data-descriptor): Returns true if a value has the characteristics of a valid JavaScript data descriptor.\n* [is-object](https://www.npmjs.com/package/is-object): Returns true if the value is an object and not an array or null.\n\n## Tests\nSimply clone the repo, `npm install`, and run `npm test`\n\n[package-url]: https://npmjs.org/package/is-descriptor\n[npm-version-svg]: https://versionbadg.es/inspect-js/is-descriptor.svg\n[deps-svg]: https://david-dm.org/inspect-js/is-descriptor.svg\n[deps-url]: https://david-dm.org/inspect-js/is-descriptor\n[dev-deps-svg]: https://david-dm.org/inspect-js/is-descriptor/dev-status.svg\n[dev-deps-url]: https://david-dm.org/inspect-js/is-descriptor#info=devDependencies\n[npm-badge-png]: https://nodei.co/npm/is-descriptor.png?downloads=true&stars=true\n[license-image]: https://img.shields.io/npm/l/is-descriptor.svg\n[license-url]: LICENSE\n[downloads-image]: https://img.shields.io/npm/dm/is-descriptor.svg\n[downloads-url]: https://npm-stat.com/charts.html?package=is-descriptor\n[codecov-image]: https://codecov.io/gh/inspect-js/is-descriptor/branch/main/graphs/badge.svg\n[codecov-url]: https://app.codecov.io/gh/inspect-js/is-descriptor/\n[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/is-descriptor\n[actions-url]: https://github.com/inspect-js/is-descriptor/actions\n","readmeFilename":"README.md","gitHead":"839ee8f13f3e6e53226132d8828073d8c2b4a543","_nodeVersion":"21.0.0","_npmVersion":"10.2.0","dist":{"integrity":"sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==","shasum":"2727eb61fd789dcd5bdf0ed4569f551d2fe3be33","tarball":"https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz","fileCount":11,"unpackedSize":22882,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHh7R9hQ2n3AmYzmK3qjp3VSN4zPWEMN068reHhkOg2bAiEA4j/S25lKEwp/Wgkvfq2wYUusVG0ZSjgHpZPRtEGa458="}]},"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"directories":{},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"},{"name":"jonschlinkert","email":"github@sellside.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/is-descriptor_0.1.7_1698382146081_0.47166455843042976"},"_hasShrinkwrap":false},"3.1.1":{"name":"is-descriptor","version":"3.1.1","description":"Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for data descriptors and accessor descriptors.","main":"index.js","exports":{".":"./index.js","./package.json":"./package.json"},"scripts":{"prepack":"npmignore --auto --commentLines=autogenerated","prepublishOnly":"safe-publish-latest","prepublish":"not-in-publish || npm run prepublishOnly","prelint-disabled":"evalmd README.md # https://github.com/reggi/evalmd/issues/27","lint":"eslint --ext=js,mjs .","pretest":"npm run lint","tests-only":"nyc tape 'test/**/*.js'","test":"npm run tests-only","posttest":"aud --production","version":"auto-changelog && git add CHANGELOG.md","postversion":"auto-changelog && git add CHANGELOG.md && git commit --no-edit --amend && git tag -f \"v$(node -e \"console.log(require('./package.json').version)\")\""},"repository":{"type":"git","url":"git+https://github.com/inspect-js/is-descriptor.git"},"keywords":["accessor","check","data","descriptor","get","getter","is","keys","object","properties","property","set","setter","type","valid","value"],"author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"license":"MIT","bugs":{"url":"https://github.com/inspect-js/is-descriptor/issues"},"homepage":"https://github.com/inspect-js/is-descriptor","contributors":[{"name":"Brian Woodward","url":"https://twitter.com/doowb"},{"name":"Jon Schlinkert","url":"http://twitter.com/jonschlinkert"},{"url":"https://github.com/wtgtybhertgeghgtwtg"}],"dependencies":{"gopd":"^1.0.1","hasown":"^2.0.0","is-accessor-descriptor":"^3.0.5","is-data-descriptor":"^2.1.3"},"devDependencies":{"@ljharb/eslint-config":"^21.1.0","aud":"^2.0.3","auto-changelog":"^2.4.0","eslint":"=8.8.0","evalmd":"^0.0.19","in-publish":"^2.0.1","npmignore":"^0.3.0","nyc":"^10.3.2","safe-publish-latest":"^2.0.0","tape":"^5.7.2"},"engines":{"node":">= 0.4"},"auto-changelog":{"output":"CHANGELOG.md","template":"keepachangelog","unreleased":false,"commitLimit":false,"backfillLimit":false,"hideCredit":true},"publishConfig":{"ignore":[".github/workflows"]},"_id":"is-descriptor@3.1.1","gitHead":"7188dcb3b3b419079cdac6b85e59dec5b486df24","_nodeVersion":"21.0.0","_npmVersion":"10.2.0","dist":{"integrity":"sha512-rU+K9V2l2XMVdMusqr1X9NYgtDI1dYMe+IPiuthfFyu+GdRg8KnS+n4c1YxsdNSo6P+BJ7LhMQxlabWcticfJA==","shasum":"8b055332b49ff3aabc68c706b7b03d8af1d2828a","tarball":"https://registry.npmjs.org/is-descriptor/-/is-descriptor-3.1.1.tgz","fileCount":11,"unpackedSize":27862,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAchxXeqrSCkXYDgPXyaens12EWjJgqlp4Bycis8KZHWAiEA9R0oqkvZXf8TzU8EWAmXWcuCKstQjrD4iQ5kSyI/pC0="}]},"_npmUser":{"name":"ljharb","email":"ljharb@gmail.com"},"directories":{},"maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"},{"name":"jonschlinkert","email":"github@sellside.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/is-descriptor_3.1.1_1698470504000_0.2196619348194675"},"_hasShrinkwrap":false}},"readme":"# is-descriptor [![Version Badge][npm-version-svg]][package-url]\n\n[![github actions][actions-image]][actions-url]\n[![coverage][codecov-image]][codecov-url]\n[![License][license-image]][license-url]\n[![Downloads][downloads-image]][downloads-url]\n\n[![npm badge][npm-badge-png]][package-url]\n\n> Returns true if a value has the characteristics of a valid JavaScript descriptor. Works for fully completed data descriptors and accessor descriptors.\n\n## Usage\n\n```js\nconst isDescriptor = require('is-descriptor');\nconst assert = require('assert');\n\nconst defaults = { configurable: false, enumerable: false };\nconst dataDefaults = { ...defaults, writable: false};\n\nassert.ok(isDescriptor({ ...dataDefaults, value: 'foo' }));\nassert.ok(isDescriptor({ ...defaults, get() {}, set() {} }));\nassert.ok(!isDescriptor({ ...defaults, get: 'foo', set() {} }));\n```\n\nYou may also check for a descriptor by passing an object as the first argument and property name (`string`) as the second argument.\n\n```js\nconst obj = { foo: 'abc' };\n\nObject.defineProperty(obj, 'bar', { value: 'xyz' });\nReflect.defineProperty(obj, 'baz', { value: 'xyz' });\n\nassert.equal(isDescriptor(obj, 'foo'), true);\nassert.equal(isDescriptor(obj, 'bar'), true);\nassert.equal(isDescriptor(obj, 'baz'), true);\n```\n\n## Examples\n\n### value type\n\nReturns `false` when not an object\n\n```js\nassert.equal(isDescriptor('a'), false);\nassert.equal(isDescriptor(null), false);\nassert.equal(isDescriptor([]), false);\n```\n\n### data descriptor\n\nReturns `true` when the object has valid properties with valid values.\n\n```js\nassert.equal(isDescriptor({ ...dataDefaults, value: 'foo' }), true);\nassert.equal(isDescriptor({ ...dataDefaults, value() {} }), true);\n```\n\nReturns `false` when the object has invalid properties\n\n```js\nassert.equal(isDescriptor({ ...dataDefaults, value: 'foo', bar: 'baz' }), false);\nassert.equal(isDescriptor({ ...dataDefaults, value: 'foo', bar: 'baz' }), false);\nassert.equal(isDescriptor({ ...dataDefaults, value: 'foo', enumerable: 'baz' }), false);\nassert.equal(isDescriptor({ ...dataDefaults, value: 'foo', configurable: 'baz' }), false);\nassert.equal(isDescriptor({ ...dataDefaults, value: 'foo', get() {} }), false);\nassert.equal(isDescriptor({ ...dataDefaults, get() {}, value() {} }), false);\n```\n\n`false` when a value is not the correct type\n\n```js\nassert.equal(isDescriptor({ ...dataDefaults, value: 'foo', enumerable: 'foo' }), false);\nassert.equal(isDescriptor({ ...dataDefaults, value: 'foo', configurable: 'foo' }), false);\nassert.equal(isDescriptor({ ...dataDefaults, value: 'foo', writable: 'foo' }), false);\n```\n\n### accessor descriptor\n\n`true` when the object has valid properties with valid values.\n\n```js\nassert.equal(isDescriptor({ ...defaults, get() {}, set() {} }), true);\nassert.equal(isDescriptor({ ...defaults, get() {} }), true);\nassert.equal(isDescriptor({ ...defaults, set() {} }), true);\n```\n\n`false` when the object has invalid properties\n\n```js\nassert.equal(isDescriptor({ ...defaults, get() {}, set() {}, bar: 'baz' }), false);\nassert.equal(isDescriptor({ ...defaults, get() {}, set() {}, enumerable: 'baz' }), false);\nassert.equal(isDescriptor({ ...defaults, get() {}, writable: true }), false);\nassert.equal(isDescriptor({ ...defaults, get() {}, value: true }), false);\n```\n\nReturns `false` when an accessor is not a function\n\n```js\nassert.equal(isDescriptor({ ...defaults, get() {}, set: 'baz' }), false);\nassert.equal(isDescriptor({ ...defaults, get: 'foo', set() {} }), false);\nassert.equal(isDescriptor({ ...defaults, get: 'foo', bar: 'baz' }), false);\nassert.equal(isDescriptor({ ...defaults, get: 'foo', set: 'baz' }), false);\n```\n\nReturns `false` when a value is not the correct type\n\n```js\nassert.equal(isDescriptor({ ...defaults, get() {}, set() {}, enumerable: 'foo' }), false);\nassert.equal(isDescriptor({ ...defaults, set() {}, configurable: 'foo' }), false);\nassert.equal(isDescriptor({ ...defaults, get() {}, configurable: 'foo' }), false);\n```\n\n### Related projects\n\nYou might also be interested in these projects:\n\n* [is-accessor-descriptor](https://www.npmjs.com/package/is-accessor-descriptor): Returns true if a value has the characteristics of a valid JavaScript accessor descriptor.\n* [is-data-descriptor](https://www.npmjs.com/package/is-data-descriptor): Returns true if a value has the characteristics of a valid JavaScript data descriptor.\n* [is-object](https://www.npmjs.com/package/is-object): Returns true if the value is an object and not an array or null.\n\n## Tests\nSimply clone the repo, `npm install`, and run `npm test`\n\n[package-url]: https://npmjs.org/package/is-descriptor\n[npm-version-svg]: https://versionbadg.es/inspect-js/is-descriptor.svg\n[deps-svg]: https://david-dm.org/inspect-js/is-descriptor.svg\n[deps-url]: https://david-dm.org/inspect-js/is-descriptor\n[dev-deps-svg]: https://david-dm.org/inspect-js/is-descriptor/dev-status.svg\n[dev-deps-url]: https://david-dm.org/inspect-js/is-descriptor#info=devDependencies\n[npm-badge-png]: https://nodei.co/npm/is-descriptor.png?downloads=true&stars=true\n[license-image]: https://img.shields.io/npm/l/is-descriptor.svg\n[license-url]: LICENSE\n[downloads-image]: https://img.shields.io/npm/dm/is-descriptor.svg\n[downloads-url]: https://npm-stat.com/charts.html?package=is-descriptor\n[codecov-image]: https://codecov.io/gh/inspect-js/is-descriptor/branch/main/graphs/badge.svg\n[codecov-url]: https://app.codecov.io/gh/inspect-js/is-descriptor/\n[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/inspect-js/is-descriptor\n[actions-url]: https://github.com/inspect-js/is-descriptor/actions\n","maintainers":[{"name":"ljharb","email":"ljharb@gmail.com"},{"name":"jonschlinkert","email":"github@sellside.com"}],"time":{"modified":"2023-10-28T05:21:44.343Z","created":"2015-08-31T06:08:04.328Z","0.1.0":"2015-08-31T06:08:04.328Z","0.1.1":"2015-10-04T19:01:06.566Z","0.1.2":"2015-10-04T19:02:29.180Z","0.1.3":"2015-12-20T12:03:22.950Z","0.1.4":"2015-12-28T09:44:36.366Z","0.1.5":"2017-02-25T22:29:58.564Z","1.0.0":"2017-02-25T22:30:26.909Z","1.0.1":"2017-07-22T15:48:55.348Z","0.1.6":"2017-07-22T17:20:19.515Z","1.0.2":"2017-12-28T23:11:35.031Z","3.0.0":"2018-12-14T04:09:12.183Z","3.1.0":"2023-05-02T06:00:54.726Z","1.0.3":"2023-10-27T01:22:20.533Z","0.1.7":"2023-10-27T04:49:06.311Z","3.1.1":"2023-10-28T05:21:44.174Z"},"homepage":"https://github.com/inspect-js/is-descriptor","keywords":["accessor","check","data","descriptor","get","getter","is","keys","object","properties","property","set","setter","type","valid","value"],"repository":{"type":"git","url":"git+https://github.com/inspect-js/is-descriptor.git"},"author":{"name":"Jon Schlinkert","url":"https://github.com/jonschlinkert"},"bugs":{"url":"https://github.com/inspect-js/is-descriptor/issues"},"license":"MIT","readmeFilename":"README.md","contributors":[{"name":"Brian Woodward","url":"https://twitter.com/doowb"},{"name":"Jon Schlinkert","url":"http://twitter.com/jonschlinkert"},{"url":"https://github.com/wtgtybhertgeghgtwtg"}]}