{"_id":"@aardito2/realm","_rev":"8-7e3429381c7a661fee3ed842db0c738b","name":"@aardito2/realm","description":"Redux implementation using Elm for state and updates","dist-tags":{"latest":"0.2.2"},"versions":{"0.1.0":{"name":"@aardito2/realm","version":"0.1.0","description":"Redux implementation using Elm for state and updates","browser":"dist/realm.js","main":"lib/index.js","module":"es/index.js","jsnext:main":"es/index.js","files":["dist","lib","es","src"],"scripts":{"lint:src":"eslint src build","check:src":"npm run lint:src","clean":"rimraf lib dist es coverage","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","build:umd":"cross-env BABEL_ENV=commonjs NODE_ENV=development webpack src/index.js dist/realm.js","build:umd:min":"cross-env BABEL_ENV=commonjs NODE_ENV=production webpack src/index.js dist/realm.min.js","build":"npm run build:commonjs && npm run build:es && npm run build:umd && npm run build:umd:min","prepublish":"npm run clean && npm run check:src && npm run build && check-es3-syntax lib/ dist/ --kill --print","babel":"babel ./example/example.js --out-file ./example/example-build.js"},"keywords":["redux","elm","state","functional","immutable","flux","predictable"],"author":{"name":"Anthony Ardito","url":"https://github.com/aardito2"},"license":"MIT","bugs":{"url":"https://github.com/aardito2/realm/issues"},"devDependencies":{"babel-cli":"^6.18.0","babel-core":"^6.18.2","babel-eslint":"^7.1.1","babel-loader":"^6.2.9","babel-plugin-check-es2015-constants":"^6.8.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-class-properties":"^6.19.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-es2015-arrow-functions":"^6.8.0","babel-plugin-transform-es2015-block-scoped-functions":"^6.8.0","babel-plugin-transform-es2015-block-scoping":"^6.18.0","babel-plugin-transform-es2015-classes":"^6.18.0","babel-plugin-transform-es2015-computed-properties":"^6.8.0","babel-plugin-transform-es2015-destructuring":"^6.19.0","babel-plugin-transform-es2015-for-of":"^6.18.0","babel-plugin-transform-es2015-function-name":"^6.9.0","babel-plugin-transform-es2015-literals":"^6.8.0","babel-plugin-transform-es2015-modules-commonjs":"^6.18.0","babel-plugin-transform-es2015-object-super":"^6.8.0","babel-plugin-transform-es2015-parameters":"^6.18.0","babel-plugin-transform-es2015-shorthand-properties":"^6.18.0","babel-plugin-transform-es2015-spread":"^6.8.0","babel-plugin-transform-es2015-sticky-regex":"^6.8.0","babel-plugin-transform-es2015-template-literals":"^6.8.0","babel-plugin-transform-es2015-unicode-regex":"^6.11.0","babel-plugin-transform-es3-member-expression-literals":"^6.8.0","babel-plugin-transform-es3-property-literals":"^6.8.0","babel-plugin-transform-object-rest-spread":"^6.19.0","babel-plugin-transform-react-display-name":"^6.8.0","babel-plugin-transform-react-jsx":"^6.8.0","check-es3-syntax-cli":"^0.1.3","cross-env":"^3.1.3","eslint":"^3.12.0","eslint-config-airbnb":"^13.0.0","eslint-plugin-import":"^2.2.0","eslint-plugin-jsx-a11y":"^2.2.3","eslint-plugin-react":"^6.8.0","react-dom":"^15.4.1","react-redux":"^4.4.6","redux":"^3.6.0","rimraf":"^2.5.4","webpack":"^1.14.0"},"dependencies":{"lodash":"^4.17.2","lodash-es":"^4.17.2","loose-envify":"^1.3.0"},"browserify":{"transform":["loose-envify"]},"npmName":"realm","npmFileMap":[{"basePath":"/dist/","files":["*.js"]}],"gitHead":"e689f39985b1b982aefab56f95bfca051176876c","_id":"@aardito2/realm@0.1.0","_shasum":"22e758ebeef70fbeb79e714768f39607cbd98ff7","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"aardito2","email":"anthony.ardito@gmail.com"},"dist":{"shasum":"22e758ebeef70fbeb79e714768f39607cbd98ff7","tarball":"https://registry.npmjs.org/@aardito2/realm/-/realm-0.1.0.tgz","integrity":"sha512-dbb3+kIVwPv74rrahq457c0g9NT2KELE2Mf+DGWKjX7i7pvwTaNQyhpgR6zrchbxWqAQv2U78Saz+JNG1ki9UA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCNMLOspC+IQczsX5h98jPXc+AOeQrYPbJ4LfUk+9nrNgIhAKez2RRxE508/29eZbQh7Ybol1/2EI+KpPnj39FVcJ2Z"}]},"maintainers":[{"name":"aardito2","email":"anthony.ardito@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/realm-0.1.0.tgz_1481401981091_0.8083904960658401"}},"0.1.1":{"name":"@aardito2/realm","version":"0.1.1","description":"Redux implementation using Elm for state and updates","browser":"dist/realm.js","main":"lib/index.js","module":"es/index.js","jsnext:main":"es/index.js","files":["dist","lib","es","src"],"scripts":{"lint:src":"eslint src build","check:src":"npm run lint:src","clean":"rimraf lib dist es coverage","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","build:umd":"cross-env BABEL_ENV=commonjs NODE_ENV=development webpack src/index.js dist/realm.js","build:umd:min":"cross-env BABEL_ENV=commonjs NODE_ENV=production webpack src/index.js dist/realm.min.js","build":"npm run build:commonjs && npm run build:es && npm run build:umd && npm run build:umd:min","prepublish":"npm run clean && npm run check:src && npm run build && check-es3-syntax lib/ dist/ --kill --print","babel":"babel ./example/example.js --out-file ./example/example-build.js"},"keywords":["redux","elm","state","functional","immutable","flux","predictable"],"author":{"name":"Anthony Ardito","url":"https://github.com/aardito2"},"license":"MIT","bugs":{"url":"https://github.com/aardito2/realm/issues"},"devDependencies":{"babel-cli":"^6.18.0","babel-core":"^6.18.2","babel-eslint":"^7.1.1","babel-loader":"^6.2.9","babel-plugin-check-es2015-constants":"^6.8.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-class-properties":"^6.19.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-es2015-arrow-functions":"^6.8.0","babel-plugin-transform-es2015-block-scoped-functions":"^6.8.0","babel-plugin-transform-es2015-block-scoping":"^6.18.0","babel-plugin-transform-es2015-classes":"^6.18.0","babel-plugin-transform-es2015-computed-properties":"^6.8.0","babel-plugin-transform-es2015-destructuring":"^6.19.0","babel-plugin-transform-es2015-for-of":"^6.18.0","babel-plugin-transform-es2015-function-name":"^6.9.0","babel-plugin-transform-es2015-literals":"^6.8.0","babel-plugin-transform-es2015-modules-commonjs":"^6.18.0","babel-plugin-transform-es2015-object-super":"^6.8.0","babel-plugin-transform-es2015-parameters":"^6.18.0","babel-plugin-transform-es2015-shorthand-properties":"^6.18.0","babel-plugin-transform-es2015-spread":"^6.8.0","babel-plugin-transform-es2015-sticky-regex":"^6.8.0","babel-plugin-transform-es2015-template-literals":"^6.8.0","babel-plugin-transform-es2015-unicode-regex":"^6.11.0","babel-plugin-transform-es3-member-expression-literals":"^6.8.0","babel-plugin-transform-es3-property-literals":"^6.8.0","babel-plugin-transform-object-rest-spread":"^6.19.0","babel-plugin-transform-react-display-name":"^6.8.0","babel-plugin-transform-react-jsx":"^6.8.0","check-es3-syntax-cli":"^0.1.3","cross-env":"^3.1.3","eslint":"^3.12.0","eslint-config-airbnb":"^13.0.0","eslint-plugin-import":"^2.2.0","eslint-plugin-jsx-a11y":"^2.2.3","eslint-plugin-react":"^6.8.0","react-dom":"^15.4.1","react-redux":"^4.4.6","redux":"^3.6.0","rimraf":"^2.5.4","webpack":"^1.14.0"},"dependencies":{"lodash":"^4.17.2","lodash-es":"^4.17.2","loose-envify":"^1.3.0"},"browserify":{"transform":["loose-envify"]},"npmName":"realm","npmFileMap":[{"basePath":"/dist/","files":["*.js"]}],"gitHead":"de2ea08d1086e88c67ebb9b0258be1d9ad896b61","_id":"@aardito2/realm@0.1.1","_shasum":"fd1dde475b59dcacc4dab5722d4ce276efe3e85a","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"aardito2","email":"anthony.ardito@gmail.com"},"dist":{"shasum":"fd1dde475b59dcacc4dab5722d4ce276efe3e85a","tarball":"https://registry.npmjs.org/@aardito2/realm/-/realm-0.1.1.tgz","integrity":"sha512-z0rJ5Ffcloe8txmZg5YvmvJ/cktMJNm//zlVuA28kCpCyInwD0GecHKgS37pRRueGq0LWueKfm5PXbOLxPO5Mg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICKls8KUSM63A7ssBaRyfiHEAQ6PbirIEfSARnCSfn9+AiEAlgWiGIrWaTDkLgGK8L8XYi3q9nREyx6NHbqHlVLZekU="}]},"maintainers":[{"name":"aardito2","email":"anthony.ardito@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/realm-0.1.1.tgz_1481403109249_0.3150266665033996"}},"0.2.1":{"name":"@aardito2/realm","version":"0.2.1","description":"Redux implementation using Elm for state and updates","browser":"dist/realm.js","main":"lib/index.js","module":"es/index.js","jsnext:main":"es/index.js","files":["dist","lib","es","src"],"repository":{"type":"git","url":"git+https://github.com/aardito2/realm.git"},"scripts":{"lint:src":"eslint src build","check:src":"npm run lint:src","clean":"rimraf lib dist es coverage","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","build:umd":"cross-env BABEL_ENV=commonjs NODE_ENV=development webpack src/index.js dist/realm.js","build:umd:min":"cross-env BABEL_ENV=commonjs NODE_ENV=production webpack src/index.js dist/realm.min.js","build":"npm run build:commonjs && npm run build:es && npm run build:umd && npm run build:umd:min","prepublish":"npm run clean && npm run check:src && npm run build && check-es3-syntax lib/ dist/ --kill --print","babel":"babel ./example/example.js --out-file ./example/example-build.js"},"keywords":["redux","elm","state","functional","immutable","flux","predictable"],"author":{"name":"Anthony Ardito","url":"https://github.com/aardito2"},"license":"MIT","bugs":{"url":"https://github.com/aardito2/realm/issues"},"devDependencies":{"babel-cli":"^6.18.0","babel-core":"^6.18.2","babel-eslint":"^7.1.1","babel-loader":"^6.2.9","babel-plugin-check-es2015-constants":"^6.8.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-class-properties":"^6.19.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-es2015-arrow-functions":"^6.8.0","babel-plugin-transform-es2015-block-scoped-functions":"^6.8.0","babel-plugin-transform-es2015-block-scoping":"^6.18.0","babel-plugin-transform-es2015-classes":"^6.18.0","babel-plugin-transform-es2015-computed-properties":"^6.8.0","babel-plugin-transform-es2015-destructuring":"^6.19.0","babel-plugin-transform-es2015-for-of":"^6.18.0","babel-plugin-transform-es2015-function-name":"^6.9.0","babel-plugin-transform-es2015-literals":"^6.8.0","babel-plugin-transform-es2015-modules-commonjs":"^6.18.0","babel-plugin-transform-es2015-object-super":"^6.8.0","babel-plugin-transform-es2015-parameters":"^6.18.0","babel-plugin-transform-es2015-shorthand-properties":"^6.18.0","babel-plugin-transform-es2015-spread":"^6.8.0","babel-plugin-transform-es2015-sticky-regex":"^6.8.0","babel-plugin-transform-es2015-template-literals":"^6.8.0","babel-plugin-transform-es2015-unicode-regex":"^6.11.0","babel-plugin-transform-es3-member-expression-literals":"^6.8.0","babel-plugin-transform-es3-property-literals":"^6.8.0","babel-plugin-transform-object-rest-spread":"^6.19.0","babel-plugin-transform-react-display-name":"^6.8.0","babel-plugin-transform-react-jsx":"^6.8.0","check-es3-syntax-cli":"^0.1.3","cross-env":"^3.1.3","eslint":"^3.12.0","eslint-config-airbnb":"^13.0.0","eslint-plugin-import":"^2.2.0","eslint-plugin-jsx-a11y":"^2.2.3","eslint-plugin-react":"^6.8.0","react-dom":"^15.4.1","react-redux":"^4.4.6","rimraf":"^2.5.4","webpack":"^1.14.0"},"dependencies":{"lodash":"^4.17.2","lodash-es":"^4.17.2","loose-envify":"^1.3.0","redux":"^3.6.0"},"browserify":{"transform":["loose-envify"]},"npmName":"realm","npmFileMap":[{"basePath":"/dist/","files":["*.js"]}],"gitHead":"c8454e71483ffadb6d53ac943a127c86b4cacf7b","homepage":"https://github.com/aardito2/realm#readme","_id":"@aardito2/realm@0.2.1","_shasum":"dd922b403e33f9691d5ad5d1212da5c4f1a6c94e","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"aardito2","email":"anthony.ardito@gmail.com"},"dist":{"shasum":"dd922b403e33f9691d5ad5d1212da5c4f1a6c94e","tarball":"https://registry.npmjs.org/@aardito2/realm/-/realm-0.2.1.tgz","integrity":"sha512-+EdOtFKWeJ1ZLJWRSEXDQcGeHR0nPwxA1fSwRZv9A7NVLzZhTeGl3To048rt8E2B572IZZikWSnDxeKYPaCd2g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCZ5NqFsESt7ECGJIMrhN7I7LLb9injNvN0TETN8ClBkwIgVctrSgTPADGuX3s56Cu0S58sE2g4ofmWdeidvvoT8gw="}]},"maintainers":[{"name":"aardito2","email":"anthony.ardito@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/realm-0.2.1.tgz_1481474835690_0.10452716355212033"}},"0.2.2":{"name":"@aardito2/realm","version":"0.2.2","description":"Redux implementation using Elm for state and updates","browser":"dist/realm.js","main":"lib/index.js","module":"es/index.js","jsnext:main":"es/index.js","files":["dist","lib","es","src"],"repository":{"type":"git","url":"git+https://github.com/aardito2/realm.git"},"scripts":{"lint:src":"eslint src build","check:src":"npm run lint:src","clean":"rimraf lib dist es coverage","build:commonjs":"cross-env BABEL_ENV=commonjs babel src --out-dir lib","build:es":"cross-env BABEL_ENV=es babel src --out-dir es","build:umd":"cross-env BABEL_ENV=commonjs NODE_ENV=development webpack src/index.js dist/realm.js","build:umd:min":"cross-env BABEL_ENV=commonjs NODE_ENV=production webpack src/index.js dist/realm.min.js","build":"npm run build:commonjs && npm run build:es && npm run build:umd && npm run build:umd:min","prepublish":"npm run clean && npm run check:src && npm run build && check-es3-syntax lib/ dist/ --kill --print","babel":"babel ./example/example.js --out-file ./example/example-build.js"},"keywords":["redux","elm","state","functional","immutable","flux","predictable"],"author":{"name":"Anthony Ardito","url":"https://github.com/aardito2"},"license":"MIT","bugs":{"url":"https://github.com/aardito2/realm/issues"},"devDependencies":{"babel-cli":"^6.18.0","babel-core":"^6.18.2","babel-eslint":"^7.1.1","babel-loader":"^6.2.9","babel-plugin-check-es2015-constants":"^6.8.0","babel-plugin-syntax-jsx":"^6.18.0","babel-plugin-transform-class-properties":"^6.19.0","babel-plugin-transform-decorators-legacy":"^1.3.4","babel-plugin-transform-es2015-arrow-functions":"^6.8.0","babel-plugin-transform-es2015-block-scoped-functions":"^6.8.0","babel-plugin-transform-es2015-block-scoping":"^6.18.0","babel-plugin-transform-es2015-classes":"^6.18.0","babel-plugin-transform-es2015-computed-properties":"^6.8.0","babel-plugin-transform-es2015-destructuring":"^6.19.0","babel-plugin-transform-es2015-for-of":"^6.18.0","babel-plugin-transform-es2015-function-name":"^6.9.0","babel-plugin-transform-es2015-literals":"^6.8.0","babel-plugin-transform-es2015-modules-commonjs":"^6.18.0","babel-plugin-transform-es2015-object-super":"^6.8.0","babel-plugin-transform-es2015-parameters":"^6.18.0","babel-plugin-transform-es2015-shorthand-properties":"^6.18.0","babel-plugin-transform-es2015-spread":"^6.8.0","babel-plugin-transform-es2015-sticky-regex":"^6.8.0","babel-plugin-transform-es2015-template-literals":"^6.8.0","babel-plugin-transform-es2015-unicode-regex":"^6.11.0","babel-plugin-transform-es3-member-expression-literals":"^6.8.0","babel-plugin-transform-es3-property-literals":"^6.8.0","babel-plugin-transform-object-rest-spread":"^6.19.0","babel-plugin-transform-react-display-name":"^6.8.0","babel-plugin-transform-react-jsx":"^6.8.0","check-es3-syntax-cli":"^0.1.3","cross-env":"^3.1.3","eslint":"^3.12.0","eslint-config-airbnb":"^13.0.0","eslint-plugin-import":"^2.2.0","eslint-plugin-jsx-a11y":"^2.2.3","eslint-plugin-react":"^6.8.0","react-dom":"^15.4.1","react-redux":"^4.4.6","rimraf":"^2.5.4","webpack":"^1.14.0"},"dependencies":{"lodash":"^4.17.2","lodash-es":"^4.17.2","loose-envify":"^1.3.0","redux":"^3.6.0"},"browserify":{"transform":["loose-envify"]},"npmName":"realm","npmFileMap":[{"basePath":"/dist/","files":["*.js"]}],"gitHead":"c5e16d1e262c5d91fd448e2c637e236afa128324","homepage":"https://github.com/aardito2/realm#readme","_id":"@aardito2/realm@0.2.2","_shasum":"7576f28fd46f5c95eba661de33ed72ae0f3050f4","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"aardito2","email":"anthony.ardito@gmail.com"},"dist":{"shasum":"7576f28fd46f5c95eba661de33ed72ae0f3050f4","tarball":"https://registry.npmjs.org/@aardito2/realm/-/realm-0.2.2.tgz","integrity":"sha512-LgpIxWmdmQdHH9J8y/WkXyWa2zhwP0zY/4d/+DowvchNpQ8kcyuBkuhIfDkZg+pGH1jOW26ZoX+Xnxjzk44Kjw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3up+NcOD43e72x9FljsL2UZ3aBHVJVkavJdCYtqLWNAIhAKkhrU5gmiPyZchf9SIUnkMaeTFON5lV3VDHCAKj4lCP"}]},"maintainers":[{"name":"aardito2","email":"anthony.ardito@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/realm-0.2.2.tgz_1481560706895_0.199698745040223"}}},"readme":"# realm\r\n> Realm is an alternate implementation of Redux using Elm. Actions are created in JavaScript with a payload, which is sent through ports into your Elm store. Elm performs the role of a reducer in Redux, and sends the new state back to JavaScript.\r\n\r\n## Usage\r\n\r\n### JavaScript\r\n```shell\r\nnpm install @aardito2/realm\r\n```\r\n\r\n#### createStore(elmStore, initialState = {}, enhancer)\r\n```javascript\r\n// using elm-webpack-loader\r\nimport elmStore from './store.elm';\r\n\r\nconst initialState = {};\r\nconst store = createStore(elmStore.Store, initialState);\r\n```\r\n\r\n#### applyMiddleware\r\nSee <a href=\"https://github.com/reactjs/redux/blob/master/docs/api/applyMiddleware.md\">Redux docs</a>.\r\n\r\n#### createAction(actionType) => payload => action\r\n```javascript\r\nconst INCREMENT = 'increment';\r\nconst increment = createAction(INCREMENT);\r\n\r\nconst SET_STRING = 'set_string';\r\nconst setString = createAction(SET_STRING);\r\n```\r\n#### store.dispatch(action)\r\n```javascript\r\ndispatch(increment());\r\ndispatch(setString('foo'));\r\n```\r\n\r\n### Elm\r\n```shell\r\nelm-package install @aardito2/realm\r\n```\r\n\r\nYour Elm file should be a `Platform.programWithFlags`. In main, your update should use `Realm.updateState`, which takes an outgoing port and an update function and returns a new update function which will automatically send your updated state back to JavaScript.\r\n\r\nYour outgoing port will have the signature `model -> Cmd msg`.\r\n*This port must be named nextState!*\r\n\r\nFor each action used in JavaScript, two things are required:\r\n\r\n1) An incoming port with the same name as the action type.\r\n\r\n2) A subscription to the above port which converts the incoming action into a Msg to be handled by your update function.\r\n\r\nSee <a href=\"https://github.com/aardito2/realm/blob/master/example/store.elm\">store.elm</a> for a full example of the structure of the store in Elm.\r\n","maintainers":[{"name":"aardito2","email":"anthony.ardito@gmail.com"}],"time":{"modified":"2022-06-12T14:13:36.016Z","created":"2016-12-10T20:33:03.344Z","0.1.0":"2016-12-10T20:33:03.344Z","0.1.1":"2016-12-10T20:51:49.878Z","0.2.1":"2016-12-11T16:47:17.736Z","0.2.2":"2016-12-12T16:38:28.967Z"},"keywords":["redux","elm","state","functional","immutable","flux","predictable"],"author":{"name":"Anthony Ardito","url":"https://github.com/aardito2"},"bugs":{"url":"https://github.com/aardito2/realm/issues"},"license":"MIT","readmeFilename":"README.md","homepage":"https://github.com/aardito2/realm#readme","repository":{"type":"git","url":"git+https://github.com/aardito2/realm.git"}}