{"_id":"blank-object","_rev":"10-f036bca6dd229e4a51289fb2a6df6767","name":"blank-object","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"blank-object","version":"1.0.0","author":{"name":"Stefan Penner"},"license":"MIT","_id":"blank-object@1.0.0","maintainers":[{"name":"ember","email":"stefan.penner+ember@gmail.com"}],"dist":{"shasum":"6e3a4e3338284856c1d9f49a2eb5376d7e278a7f","tarball":"https://registry.npmjs.org/blank-object/-/blank-object-1.0.0.tgz","integrity":"sha512-vLLPJ8u6OOZFgqjcimWUtm8gH1CVF/EsSLrry+3nuvs66Bb0kwi3DNq1ef0k1s6/tXsxMKi2KMxjkmKZVmA3rg==","signatures":[{"sig":"MEUCIQC9CqwiopN4WQwRKn6lZrjS973I3qSHeLb9GTdjtyuU3gIgVF/MSX5eOSwO70KfmWnhjD1UFMg8EGx+7cCXr2vg9Vg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"6e3a4e3338284856c1d9f49a2eb5376d7e278a7f","gitHead":"65e4fcaef461e587889ce68d151bf6dd16dab693","scripts":{"test":"node test"},"_npmUser":{"name":"ember","email":"stefan.penner+ember@gmail.com"},"_npmVersion":"2.14.1","description":"A faster alternative to Object.create(null)","jsnext:main":"lib/index.js","_nodeVersion":"2.2.1","directories":{}},"1.0.1":{"name":"blank-object","version":"1.0.1","author":{"name":"Stefan Penner"},"license":"MIT","_id":"blank-object@1.0.1","maintainers":[{"name":"ember","email":"stefan.penner+ember@gmail.com"},{"name":"krisselden","email":"kris.selden@gmail.com"}],"homepage":"https://github.com/stefanpenner/blank-object#readme","bugs":{"url":"https://github.com/stefanpenner/blank-object/issues"},"dist":{"shasum":"0b8ed796374b9556097820f85b7d8adf868e26f6","tarball":"https://registry.npmjs.org/blank-object/-/blank-object-1.0.1.tgz","integrity":"sha512-rlDTz9gdNRsACCyCw+2Hc0jA76NSEm93tp8/wnh4nTB1fsbmC6z3os9ZeZkbB0EKMmVK9KEV4CWmkRPncCTHxw==","signatures":[{"sig":"MEUCIEXWQs04XtAJ/uqq7UpyqETSFc+5tyQVm+rXSHBinblCAiEAkzi2G+xn1moidBd+nNtnKQr0nF1WSFb/i4c7RtewJ9U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"0b8ed796374b9556097820f85b7d8adf868e26f6","gitHead":"e07ef6a54e8f6fe8c7c208ef8b11c090902aee6f","scripts":{"test":"node test","build":"rollup -f umd -n BlankObject -o index.js lib/index.js","prepublish":"npm run build"},"_npmUser":{"name":"krisselden","email":"kris.selden@gmail.com"},"repository":{"url":"git+https://github.com/stefanpenner/blank-object.git","type":"git"},"_npmVersion":"2.12.1","description":"A faster alternative to Object.create(null)","jsnext:main":"lib/index.js","_nodeVersion":"0.12.7","devDependencies":{"rollup":"^0.15.0"},"directories":{}},"1.0.2":{"name":"blank-object","version":"1.0.2","author":{"name":"Stefan Penner"},"license":"MIT","_id":"blank-object@1.0.2","maintainers":[{"name":"ember","email":"stefan.penner+ember@gmail.com"},{"name":"krisselden","email":"kris.selden@gmail.com"},{"name":"stefanpenner","email":"stefan.penner@gmail.com"}],"homepage":"https://github.com/stefanpenner/blank-object#readme","bugs":{"url":"https://github.com/stefanpenner/blank-object/issues"},"dist":{"shasum":"f990793fbe9a8c8dd013fb3219420bec81d5f4b9","tarball":"https://registry.npmjs.org/blank-object/-/blank-object-1.0.2.tgz","integrity":"sha512-kXQ19Xhoghiyw66CUiGypnuRpWlbHAzY/+NyvqTEdTfhfQGH1/dbEMYiXju7fYKIFePpzp/y9dsu5Cu/PkmawQ==","signatures":[{"sig":"MEYCIQCsRPdJo8dhd2JiOenfLLE80GPSwI3F95Ywue0xpoR++AIhAP5qDpeWavaWWDuvFmgDHDlHRgmlXep1JLOECIa+cQ/b","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","files":["index.js","lib/index.js"],"_shasum":"f990793fbe9a8c8dd013fb3219420bec81d5f4b9","gitHead":"4dbb2e165a918527b7b936dafffbe3ab6f128707","scripts":{"test":"node test","build":"rollup -f umd -n BlankObject -o index.js lib/index.js","prepublish":"npm run build"},"_npmUser":{"name":"krisselden","email":"kris.selden@gmail.com"},"repository":{"url":"git+https://github.com/stefanpenner/blank-object.git","type":"git"},"_npmVersion":"3.10.3","description":"A faster alternative to Object.create(null)","jsnext:main":"lib/index.js","_nodeVersion":"6.3.0","devDependencies":{"rollup":"^0.15.0"},"_npmOperationalInternal":{"tmp":"tmp/blank-object-1.0.2.tgz_1470513546135_0.26224198658019304","host":"packages-12-west.internal.npmjs.com"},"directories":{}}},"time":{"created":"2015-09-04T16:41:11.132Z","modified":"2024-12-05T21:50:43.376Z","1.0.0":"2015-09-04T16:41:11.132Z","1.0.1":"2015-09-04T17:29:48.717Z","1.0.2":"2016-08-06T19:59:06.370Z"},"bugs":{"url":"https://github.com/stefanpenner/blank-object/issues"},"author":{"name":"Stefan Penner"},"license":"MIT","homepage":"https://github.com/stefanpenner/blank-object#readme","repository":{"url":"git+https://github.com/stefanpenner/blank-object.git","type":"git"},"description":"A faster alternative to Object.create(null)","maintainers":[{"email":"stefan.penner@gmail.com","name":"stefanpenner"}],"readme":"# blank-object\n\nObject.create(null) turns out to be quite slow to alloc in v8, but instead if\nwe inherit from an ancestory with `proto = create(null)` we have nearly\nthe same functionallity but with dramatically faster alloc.\n\n```js\nvar BlankObject = require('blank-object');\n\nvar bo = new BlankObject();\n```\n\nThis is designed for a presence check `map[key] !== undefined` since `in` is also slow like `hasOwnProperty`, `delete` and `Object.create`.\n\n```js\nfunction UNDEFINED() {}\nexport default class Map {\n  constructor() {\n    this.store = new BlankObject();\n  }\n\n  has(key) {\n    return this.store[key] !== undefined;\n  }\n\n  get(key) {\n    let val = this.store[key];\n    return val === UNDEFINED ? undefined : val;\n  }\n\n  set(key, val) {\n    this.store[key] = val === undefined ? UNDEFINED : val;\n  }\n}\n```\n","readmeFilename":"README.md"}