{"_id":"create-inferno-context","_rev":"5-0f6af6ed2f878bf73fc02c31fa210ded","name":"create-inferno-context","dist-tags":{"latest":"0.2.4"},"versions":{"0.2.1":{"name":"create-inferno-context","version":"0.2.1","description":"Polyfill for the proposed Inferno context API","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/kurdin/create-inferno-context.git"},"author":{"name":"Sergey Kurdin","email":"skurdin@yahoo.com"},"license":"MIT","keywords":["inferno","context","contextTypes","polyfill","ponyfill"],"files":["lib"],"scripts":{"test":"jest","flow":"flow","format":"prettier --write '**/*.{js,md,json,js.flow,d.ts}'","build":"babel src -d lib --copy-files --ignore __tests__","prepublish":"yarn build","commit":"lint-staged"},"dependencies":{"enzyme-adapter-inferno":"^1.2.0","fbjs":"^0.8.0","gud":"^1.0.0","inferno-server":"^5.0.3","webpack":"^4.5.0","webpack-dev-server":"^3.1.3"},"peerDependencies":{"prop-types":"^15.0.0","inferno":"^5.0.1"},"devDependencies":{"babel-cli":"^6.26.0","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-class-properties":"^6.24.1","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","babel-preset-react":"^6.24.1","enzyme":"^3.2.0","enzyme-adapter-react-16":"^1.1.0","enzyme-to-json":"^3.2.2","flow-bin":"^0.60.1","husky":"^0.14.3","jest":"^21.2.1","lint-staged":"^6.0.0","prettier":"^1.9.1","prop-types":"^15.6.0","raf":"^3.4.0","webpack-cli":"^2.0.14"},"lint-staged":{"*.{js,md,json,js.flow,d.ts}":["prettier --write","git add"]},"jest":{"snapshotSerializers":["enzyme-to-json/serializer"]},"gitHead":"db471ccd097039293c1ea2f693ad35700771546b","bugs":{"url":"https://github.com/kurdin/create-inferno-context/issues"},"homepage":"https://github.com/kurdin/create-inferno-context#readme","_id":"create-inferno-context@0.2.1","_npmVersion":"5.7.1","_nodeVersion":"8.9.4","_npmUser":{"name":"kurdin","email":"skurdin@yahoo.com"},"dist":{"integrity":"sha512-WuNtiznigJTf/bhd1x5pFCh+eoLCs5NSxf4lKFrAFHabD+nAkzpsMtxTSSIAQQR0g/xfmBeL2/qFEc11JlNppQ==","shasum":"3c40f34fca18a72cd65e405e1a384d616be51da3","tarball":"https://registry.npmjs.org/create-inferno-context/-/create-inferno-context-0.2.1.tgz","fileCount":7,"unpackedSize":13733,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFPgT+ZFVzb4Bpc23+Btg4JEZ/lnHOeYAuFKgbK3D1KHAiBG0Rkk30kGtMQ4KQ9eEFGRsTdbfBCHpDJ3w/oKP3BJcg=="}]},"maintainers":[{"name":"kurdin","email":"skurdin@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/create-inferno-context_0.2.1_1523392825725_0.7634291237844011"},"_hasShrinkwrap":false},"0.2.2":{"name":"create-inferno-context","version":"0.2.2","description":"Polyfill for the proposed Inferno context API","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/kurdin/create-inferno-context.git"},"author":{"name":"Sergey Kurdin","email":"skurdin@yahoo.com"},"license":"MIT","keywords":["inferno","context","contextTypes","polyfill","ponyfill"],"files":["lib"],"scripts":{"test":"jest","flow":"flow","format":"prettier --write '**/*.{js,md,json,js.flow,d.ts}'","build":"babel src -d lib --copy-files --ignore __tests__","prepublish":"yarn build","commit":"lint-staged"},"dependencies":{"fbjs":"^0.8.0","gud":"^1.0.0"},"peerDependencies":{"prop-types":"^15.0.0","inferno":"^5.0.1"},"devDependencies":{"babel-cli":"^6.26.0","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-class-properties":"^6.24.1","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","babel-preset-react":"^6.24.1","enzyme":"^3.2.0","enzyme-adapter-react-16":"^1.1.0","enzyme-to-json":"^3.2.2","flow-bin":"^0.60.1","husky":"^0.14.3","jest":"^21.2.1","lint-staged":"^6.0.0","prettier":"^1.9.1","prop-types":"^15.6.0","raf":"^3.4.0","webpack-cli":"^2.0.14","inferno-server":"^5.0.3","webpack":"^3.5.0","webpack-dev-server":"^3.1.3"},"lint-staged":{"*.{js,md,json,js.flow,d.ts}":["prettier --write","git add"]},"jest":{"snapshotSerializers":["enzyme-to-json/serializer"]},"gitHead":"f4252107d3af95e2a8b3b7e82a534e6d3c752153","bugs":{"url":"https://github.com/kurdin/create-inferno-context/issues"},"homepage":"https://github.com/kurdin/create-inferno-context#readme","_id":"create-inferno-context@0.2.2","_npmVersion":"5.7.1","_nodeVersion":"8.9.4","_npmUser":{"name":"kurdin","email":"skurdin@yahoo.com"},"dist":{"integrity":"sha512-ET4xM/t6TpEREZid73CE2SlIFkKNmvg6BsTilN6YfA3QzoQP/y6YIDys5mmIorkdO0iIrETIR9IUSKBplEkKNQ==","shasum":"2ce851974de0d36f07be05448f6061848a06dc73","tarball":"https://registry.npmjs.org/create-inferno-context/-/create-inferno-context-0.2.2.tgz","fileCount":7,"unpackedSize":13697,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCE0nnFRgXp/OJfZSRVFAskKtFsH+KhJHoniZWXDw7ocgIgKRgOGSQ4jb216a13aci8BRv3aqAKeO3GZ/pzY2qp9nE="}]},"maintainers":[{"name":"kurdin","email":"skurdin@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/create-inferno-context_0.2.2_1523393770640_0.9818163963897726"},"_hasShrinkwrap":false},"0.2.3":{"name":"create-inferno-context","version":"0.2.3","description":"Polyfill for the proposed Inferno context API","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/kurdin/create-inferno-context.git"},"author":{"name":"Sergey Kurdin","email":"skurdin@yahoo.com"},"license":"MIT","keywords":["inferno","context","contextTypes","polyfill","ponyfill"],"files":["lib"],"scripts":{"test":"jest","flow":"flow","format":"prettier --write '**/*.{js,md,json,js.flow,d.ts}'","build":"babel src -d lib --copy-files --ignore __tests__","prepublish":"yarn build","commit":"lint-staged"},"dependencies":{"fbjs":"^0.8.0","gud":"^1.0.0"},"peerDependencies":{"prop-types":"^15.0.0","inferno":"^5.0.1"},"devDependencies":{"babel-cli":"^6.26.0","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-class-properties":"^6.24.1","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","babel-preset-react":"^6.24.1","enzyme":"^3.2.0","enzyme-adapter-react-16":"^1.1.0","enzyme-to-json":"^3.2.2","flow-bin":"^0.60.1","husky":"^0.14.3","jest":"^21.2.1","lint-staged":"^6.0.0","prettier":"^1.9.1","prop-types":"^15.6.0","raf":"^3.4.0","webpack-cli":"^2.0.14","inferno-server":"^5.0.3","webpack":"^3.5.0","webpack-dev-server":"^3.1.3"},"lint-staged":{"*.{js,md,json,js.flow,d.ts}":["prettier --write","git add"]},"jest":{"snapshotSerializers":["enzyme-to-json/serializer"]},"gitHead":"32802c1d0ec951b629d317b162755ecfbe29fcc2","bugs":{"url":"https://github.com/kurdin/create-inferno-context/issues"},"homepage":"https://github.com/kurdin/create-inferno-context#readme","_id":"create-inferno-context@0.2.3","_npmVersion":"5.7.1","_nodeVersion":"8.9.4","_npmUser":{"name":"kurdin","email":"skurdin@yahoo.com"},"dist":{"integrity":"sha512-L5JcXmwEgfW6P2N/zgN2uU01oP3xpys95fg7ORUxeYZE9lrinGde4UHQ3XMKc37BeJCHR8pd9IRle8DfU6nbOg==","shasum":"b1b506249d247546a9a6b871c329d54c37255d2b","tarball":"https://registry.npmjs.org/create-inferno-context/-/create-inferno-context-0.2.3.tgz","fileCount":7,"unpackedSize":13697,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNoDLT1Q8Wz7fWPukbd1TJ3VoNSo4mRpLd+P4A40CrjQIhAMR+rRVESEXbJqjMBEx6Yv7wS7yjdHGnlRZF6p76gDLq"}]},"maintainers":[{"name":"kurdin","email":"skurdin@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/create-inferno-context_0.2.3_1523393818324_0.7590106117549287"},"_hasShrinkwrap":false},"0.2.4":{"name":"create-inferno-context","version":"0.2.4","description":"Polyfill for the proposed Inferno context API","main":"lib/index.js","repository":{"type":"git","url":"git+https://github.com/kurdin/create-inferno-context.git"},"author":{"name":"Sergey Kurdin","email":"skurdin@yahoo.com"},"license":"MIT","keywords":["inferno","context","contextTypes","polyfill","ponyfill"],"files":["lib"],"scripts":{"test":"jest","flow":"flow","format":"prettier --write '**/*.{js,md,json,js.flow,d.ts}'","build":"babel src -d lib --copy-files --ignore __tests__","prepublish":"yarn build","commit":"lint-staged"},"dependencies":{"fbjs":"^0.8.0","gud":"^1.0.0"},"peerDependencies":{"prop-types":"^15.0.0","inferno":"^5.0.1"},"devDependencies":{"babel-cli":"^6.26.0","babel-plugin-add-module-exports":"^0.2.1","babel-plugin-transform-class-properties":"^6.24.1","babel-preset-env":"^1.6.1","babel-preset-flow":"^6.23.0","babel-preset-react":"^6.24.1","enzyme":"^3.2.0","enzyme-adapter-react-16":"^1.1.0","enzyme-to-json":"^3.2.2","flow-bin":"^0.60.1","husky":"^0.14.3","jest":"^21.2.1","lint-staged":"^6.0.0","prettier":"^1.9.1","prop-types":"^15.6.0","raf":"^3.4.0","webpack-cli":"^2.0.14","inferno-server":"^5.0.3","webpack":"^3.5.0","webpack-dev-server":"^3.1.3"},"lint-staged":{"*.{js,md,json,js.flow,d.ts}":["prettier --write","git add"]},"jest":{"snapshotSerializers":["enzyme-to-json/serializer"]},"gitHead":"a7b2a6236c32d9d3e7e48ca80f77fac402b90848","bugs":{"url":"https://github.com/kurdin/create-inferno-context/issues"},"homepage":"https://github.com/kurdin/create-inferno-context#readme","_id":"create-inferno-context@0.2.4","_npmVersion":"5.7.1","_nodeVersion":"8.9.4","_npmUser":{"name":"kurdin","email":"skurdin@yahoo.com"},"dist":{"integrity":"sha512-Qdo9CLtKe6CcGymFX5yVVU1RumQd9AliphlwbOg0n8PUruWLArUT6p0gRQtjhdY3BuzqBXaZ5n1y96rROuR3yg==","shasum":"c8f8f8548183013ef104b25b7d365888f84b653f","tarball":"https://registry.npmjs.org/create-inferno-context/-/create-inferno-context-0.2.4.tgz","fileCount":7,"unpackedSize":13634,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCJgobyTPa6ks8PKwE3ARiU7OATDXO+z4rwvM5Jaq2pagIhANJlYRuFPIiCoafa72xHhAGFY+dnrpZXW6F9/TR7ZNuq"}]},"maintainers":[{"name":"kurdin","email":"skurdin@yahoo.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/create-inferno-context_0.2.4_1523449604372_0.5292579814608636"},"_hasShrinkwrap":false}},"time":{"created":"2018-04-10T20:40:25.725Z","0.2.1":"2018-04-10T20:40:26.029Z","modified":"2022-04-27T20:37:25.392Z","0.2.2":"2018-04-10T20:56:10.734Z","0.2.3":"2018-04-10T20:56:58.622Z","0.2.4":"2018-04-11T12:26:44.472Z"},"maintainers":[{"name":"kurdin","email":"skurdin@yahoo.com"}],"description":"Polyfill for the proposed Inferno context API","homepage":"https://github.com/kurdin/create-inferno-context#readme","keywords":["inferno","context","contextTypes","polyfill","ponyfill"],"repository":{"type":"git","url":"git+https://github.com/kurdin/create-inferno-context.git"},"author":{"name":"Sergey Kurdin","email":"skurdin@yahoo.com"},"bugs":{"url":"https://github.com/kurdin/create-inferno-context/issues"},"license":"MIT","readme":"# create-inferno-context\n\n> Polyfill for Inferno [proposed React context API](https://github.com/reactjs/rfcs/pull/2)\n\n## Install\n\n```sh\nnpm i create-inferno-context --save\n```\n\nYou'll need to also have `inferno` and `prop-types` installed.\n\n## API\n\n```js\nconst Context = createInfernoContext(defaultValue);\n// <Context.Provider value={providedValue}>{children}</Context.Provider>\n// ...\n// <Context.Consumer>{value => children}</Context.Consumer>\n```\n\n## Example\n\n```js\nimport { Component, render } from 'inferno';\nimport createInfernoContext from './lib/';\n\n// Pass a default theme to ensure type correctness\nconst ThemeContext = createInfernoContext('light');\n\nclass ThemeToggler extends Component {\n  state = { theme: 'light' };\n  render() {\n    return (\n      // Pass the current context value to the Provider's `value` prop.\n      // Changes are detected using strict comparison (Object.is)\n      <ThemeContext.Provider value={this.state.theme}>\n        <div>\n        <button\n          onClick={() => {\n            this.setState(state => ({\n              theme: state.theme === 'light' ? 'dark' : 'light'\n            }));\n          }}\n        >\n          Toggle theme\n        </button>\n        {this.props.children}\n        </div>\n      </ThemeContext.Provider>\n    );\n  }\n}\n\nclass Title extends Component {\n  render() {\n    return (\n      // The Consumer uses a render prop API. Avoids conflicts in the\n      // props namespace.\n      <ThemeContext.Consumer>\n        {theme => (\n          <h1 style={{ color: theme === 'light' ? '#000' : '#fff' }}>\n            {this.props.children}\n          </h1>\n        )}\n      </ThemeContext.Consumer>\n    );\n  }\n}\n\nclass Emoji extends Component {\n  render() {\n    return (\n      <ThemeContext.Consumer>\n        {theme => (\n          <div\n            style={{\n              fontSize: '35px',\n              background: 'white',\n              height: '40px',\n              width: '40px'\n            }}\n          >\n            {theme === 'light' ? '⚡️' : '🕶'}\n          </div>\n        )}\n      </ThemeContext.Consumer>\n    );\n  }\n}\n\nfunction App() {\n  return (\n    <ThemeToggler>\n      <div>\n        <Title>Really cool context</Title>\n        <Emoji />\n      </div>\n    </ThemeToggler>\n  );\n}\n\nlet container = document.getElementById('container');\n\nif (!container) {\n  throw new Error('missing #container');\n}\n\nrender(<App />, container);\n```\n\n## Compatibility\n\nYou cannot pass children types aren't valid Inferno vNode:\n\n```js\n<Context.Provider>\n  <div/>\n  <div/>\n</Context.Provider>\n```\n\n\n","readmeFilename":"README.md"}