{"_id":"mirror-creator","_rev":"5-17b7cd216627a5658fb5bf7b03455570","name":"mirror-creator","description":"Another way to create an object with values equal to its key names","dist-tags":{"latest":"1.1.0"},"versions":{"0.0.1":{"name":"mirror-creator","version":"0.0.1","description":"Another way to create an object with values equal to its key names","author":{"name":"Alex Fedoseev","email":"alex.fedoseev@gmail.com","url":"https://github.com/alexfedoseev"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/alexfedoseev/mirror-creator.git"},"bugs":{"url":"https://github.com/alexfedoseev/mirror-creator/issues"},"keywords":["flux","react","redux"],"main":"./lib/mirrorCreator.js","scripts":{"clean":"scripts/clean","build":"scripts/build","lint":"scripts/lint","test":"scripts/test","check":"npm run lint && npm run test","prerelease":"npm run check && npm run clean && npm run build","release:patch":"scripts/release patch","release:minor":"scripts/release minor","release:major":"scripts/release major"},"devDependencies":{"babel":"^5.8.23","babel-eslint":"^4.1.3","chai":"^3.3.0","eslint":"^1.7.1","eslint-plugin-babel":"^2.1.1","mocha":"^2.3.3"},"gitHead":"59a2daf713c66003d877b2720e9fbe6358af5754","homepage":"https://github.com/alexfedoseev/mirror-creator#readme","_id":"mirror-creator@0.0.1","_shasum":"fd19cf91180dee85cfb8bf52e792b9ba338c4b30","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.0","_npmUser":{"name":"alex.fedoseev","email":"alex.fedoseev@gmail.com"},"dist":{"shasum":"fd19cf91180dee85cfb8bf52e792b9ba338c4b30","tarball":"https://registry.npmjs.org/mirror-creator/-/mirror-creator-0.0.1.tgz","integrity":"sha512-+n/oiNDvz4ABbAc/yO8n4ZHbcXSOYbFBKYtEyzVPU7+VO47xirVZDJfp6sdPFcRDl3gySI+ojmq3jwfICuorWg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDitM12OxdDeo9roK4+Y6oqJVyoEfM7vP839Cs2Ymu2OAIhAKYrJpv4LWr/mN/mQ15CbgIMJsVMdgDKiH9Nkt/eRy48"}]},"maintainers":[{"name":"alex.fedoseev","email":"alex.fedoseev@gmail.com"}]},"1.0.0":{"name":"mirror-creator","version":"1.0.0","description":"Another way to create an object with values equal to its key names","author":{"name":"Alex Fedoseev","email":"alex.fedoseev@gmail.com","url":"https://github.com/alexfedoseev"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/shakacode/mirror-creator.git"},"bugs":{"url":"https://github.com/shakacode/mirror-creator/issues"},"keywords":["flux","react","redux"],"main":"./lib/mirrorCreator.js","scripts":{"clean":"scripts/clean","build":"scripts/build","lint":"scripts/lint","test":"scripts/test","check":"npm run lint && npm test","prerelease":"npm run check && npm run clean && npm run build","preversion":"npm run prerelease","prepublish":"npm run prerelease","release:patch":"scripts/release patch","release:minor":"scripts/release minor","release:major":"scripts/release major"},"devDependencies":{"babel":"^5.8.23","babel-eslint":"^4.1.3","chai":"^3.3.0","eslint":"^1.7.1","eslint-plugin-babel":"^2.1.1","mocha":"^2.3.3"},"gitHead":"df543f6c3cbb005f9a95df6382b9125e1d57b2dc","homepage":"https://github.com/shakacode/mirror-creator#readme","_id":"mirror-creator@1.0.0","_shasum":"9f9cf9a7c4519e7849a94a7d6a708509bbadd61f","_from":".","_npmVersion":"3.5.3","_nodeVersion":"5.1.0","_npmUser":{"name":"alex.fedoseev","email":"alex.fedoseev@gmail.com"},"dist":{"shasum":"9f9cf9a7c4519e7849a94a7d6a708509bbadd61f","tarball":"https://registry.npmjs.org/mirror-creator/-/mirror-creator-1.0.0.tgz","integrity":"sha512-Axq5R22nZJfCdVVk119+BTsJmDBdmx4GMXpPJKDFhqI2jVDbDC7zaotTk8/O2FQcFiMMW5NgjnEbqN0OgMRvWg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID000miHwcTvf/kr+Tq0fG9/RqLWqT8VGZzBbTlEOnnRAiAigVZIQXMf+vFBfaY3LyJPjfkO39nQh2NKTecjTURg7A=="}]},"maintainers":[{"name":"alex.fedoseev","email":"alex.fedoseev@gmail.com"}]},"1.1.0":{"name":"mirror-creator","version":"1.1.0","description":"Another way to create an object with values equal to its key names","author":{"name":"Alex Fedoseev","email":"alex.fedoseev@gmail.com","url":"https://github.com/alexfedoseev"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/shakacode/mirror-creator.git"},"bugs":{"url":"https://github.com/shakacode/mirror-creator/issues"},"keywords":["flux","react","redux"],"main":"./lib/mirrorCreator.js","scripts":{"clean":"scripts/clean","build":"scripts/build","lint":"scripts/lint","test":"scripts/test","check":"npm run lint && npm test","prerelease":"npm run check && npm run clean && npm run build","preversion":"npm run prerelease","prepublish":"npm run prerelease","release:patch":"scripts/release patch","release:minor":"scripts/release minor","release:major":"scripts/release major"},"devDependencies":{"babel":"^5.8.23","babel-eslint":"^4.1.3","chai":"^3.3.0","eslint":"^1.7.1","eslint-plugin-babel":"^2.1.1","mocha":"^2.3.3"},"gitHead":"240d206a8999837bd9a2673797dddc49d569860c","homepage":"https://github.com/shakacode/mirror-creator#readme","_id":"mirror-creator@1.1.0","_shasum":"170cc74d0ff244449177204716cbbe555d68d69a","_from":".","_npmVersion":"3.6.0","_nodeVersion":"5.5.0","_npmUser":{"name":"alex.fedoseev","email":"alex.fedoseev@gmail.com"},"dist":{"shasum":"170cc74d0ff244449177204716cbbe555d68d69a","tarball":"https://registry.npmjs.org/mirror-creator/-/mirror-creator-1.1.0.tgz","integrity":"sha512-BmoCJxp2f31N08k9RMWuUcedmmhs/BCw7uHKZtzk4qyvbwo1UjygFdXt2TlSOcc7bCMVL6184kcNPXakmez5xg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCGYKI1MfllboFJgudCczVf++HCHmKMYw96qQRPwlkIVgIgDnIq7l77PeWX76JEYDXWOb2YdzvFj2FljUgl5hI/Kso="}]},"maintainers":[{"name":"alex.fedoseev","email":"alex.fedoseev@gmail.com"}],"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/mirror-creator-1.1.0.tgz_1455529089838_0.16761872149072587"}}},"readme":"# mirror-creator\n\nOne more way to create an object with values equal to its key names.\n\n[![npm version](https://img.shields.io/npm/v/mirror-creator.svg?style=flat-square)](https://www.npmjs.com/package/mirror-creator)\n[![build status](https://img.shields.io/travis/shakacode/mirror-creator/master.svg?style=flat-square)](https://travis-ci.org/shakacode/mirror-creator)\n[![dependencies status](https://img.shields.io/gemnasium/shakacode/mirror-creator.svg?style=flat-square)](https://gemnasium.com/shakacode/mirror-creator)\n[![license](https://img.shields.io/npm/l/mirror-creator.svg?style=flat-square)](https://www.npmjs.com/package/mirror-creator)\n\n## Install\n\nGet it via `npm`:\n\n```\nnpm install --save mirror-creator\n```\n\n## Usage\n\n```javascript\n// actionTypes.js\nimport mirrorCreator from 'mirror-creator';\n\nexport default mirrorCreator([\n  'SOME_ACTION_TYPE',\n  'ANOTHER_ACTION_TYPE',\n  'ONE_MORE_ACTION_TYPE',\n]);\n\n// Or you can specify prefix to avoid type name conflicts\nexport default mirrorCreator([\n  'SOME_ACTION_TYPE',\n  'ANOTHER_ACTION_TYPE',\n  'ONE_MORE_ACTION_TYPE',\n], { prefix: 'mydomain/' });\n\n// actionCreator.js\nimport actionTypes from 'actionTypes';\n\ndispatch({ type: actionTypes.SOME_ACTION_TYPE });\n```\n\n**Pros**: DRY & clean.  \n**Cons**: If you use Closure Compiler advanced mode for JS minification — keys are not optimized. Use [`keyMirror`](https://github.com/STRML/keyMirror) instead. [Details](https://github.com/facebook/react/issues/1639#issuecomment-45188026).\n\n\n## Why\n\nUse it if you don't like native or `keyMirror` ways of defining constants in flux / redux apps.\n\nNative way:\n\n```javascript\n// actionTypes.js\nexport const SOME_ACTION_TYPE     = 'SOME_ACTION_TYPE';\nexport const ANOTHER_ACTION_TYPE  = 'ANOTHER_ACTION_TYPE';\nexport const ONE_MORE_ACTION_TYPE = 'ONE_MORE_ACTION_TYPE';\n\n// actionCreator.js\nimport * as actionTypes from 'actionTypes';\n\ndispatch({ type: actionTypes.SOME_ACTION_TYPE });\n```\n\n**Pros**: No third-party lib required.  \n**Cons**: Duplications. Noisy.\n\n\n`keyMirror` way:\n\n```javascript\n// actionTypes.js\nimport keyMirror from 'keyMirror';\n\nexport default keyMirror({\n  SOME_ACTION_TYPE    : null,\n  ANOTHER_ACTION_TYPE : null,\n  ONE_MORE_ACTION_TYPE: null,\n});\n\n// actionCreator.js\nimport actionTypes from 'actionTypes';\n\ndispatch({ type: actionTypes.SOME_ACTION_TYPE });\n```\n\n**Pros**: DRY. If Closure Compiler advanced mode is used — keys are optimized.  \n**Cons**: `null` noise.\n","maintainers":[{"name":"alex.fedoseev","email":"alex.fedoseev@gmail.com"}],"time":{"modified":"2022-06-19T22:14:22.076Z","created":"2015-10-18T09:34:27.285Z","0.0.1":"2015-10-18T09:34:27.285Z","1.0.0":"2016-01-25T05:42:43.707Z","1.1.0":"2016-02-15T09:38:13.474Z"},"homepage":"https://github.com/shakacode/mirror-creator#readme","keywords":["flux","react","redux"],"repository":{"type":"git","url":"git+https://github.com/shakacode/mirror-creator.git"},"author":{"name":"Alex Fedoseev","email":"alex.fedoseev@gmail.com","url":"https://github.com/alexfedoseev"},"bugs":{"url":"https://github.com/shakacode/mirror-creator/issues"},"license":"MIT","readmeFilename":"README.md"}