{"_id":"relay-helpers","_rev":"39-46bc6a3699eb73067946547d99b676c0","name":"relay-helpers","description":"Helpers to simplify and enhance Relay","dist-tags":{"latest":"2.0.6","alpha":"1.0.0-alpha","beta":"2.0.7-0"},"versions":{"0.0.1":{"name":"relay-helpers","version":"0.0.1","description":"Helpers to simplify and enhance Relay","repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"main":"lib/index.js","scripts":{"lint":"BABEL_ENV=test eslint --config=.eslintrc.js . --max-warnings=0","lint-fix":"BABEL_ENV=test eslint --config=.eslintrc.js . --fix","test":"BABEL_ENV=test jest --config=jest.config.json","test-watch":"BABEL_ENV=test jest --config=jest.config.json --watch --onlyChanged","flow":"flow .","compile":"BABEL_ENV=build babel --ignore __tests__,__mocks__ --out-dir lib/ src/","prepublish":"npm run compile"},"files":["LICENSE","README.md","lib/"],"keywords":["graphql","relay","react"],"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"license":"MIT","dependencies":{"hoist-non-react-statics":"^1.0.3","react-relay":"0.10.0"},"devDependencies":{"babel":"^6.23.0","babel-cli":"^6.23.0","babel-eslint":"^7.1.1","babel-jest":"^19.0.0","babel-plugin-react-require":"^3.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","babel-preset-stage-0":"^6.22.0","babel-relay-plugin":"^0.11.0","enzyme":"^2.7.1","eslint":"^3.16.1","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-header":"^1.0.0","eslint-plugin-react":"^6.10.0","flow-bin":"^0.40.0","jest":"^19.0.2","jest-jasmine2":"^19.0.2","react-addons-test-utils":"^15.4.2","react-dom":"^15.4.2"},"peerDependencies":{"react":"0.14.x || 15.* || ^15.0.0"},"gitHead":"ac1c7d0dcaca139f3febdda4f6688a23362b5965","bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","_id":"relay-helpers@0.0.1","_shasum":"8f77322662773a177b1d129b0dcc81f42ca1c8c2","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sdcooke","email":"sam.cooke@xylate.com"},"dist":{"shasum":"8f77322662773a177b1d129b0dcc81f42ca1c8c2","tarball":"https://registry.npmjs.org/relay-helpers/-/relay-helpers-0.0.1.tgz","integrity":"sha512-rhKh2tR7A3Q+YDLwodE5zKPgFmNHda96tg0cIlSoKnIP34eJXUVf5PwQ6G+Y40GP2GS0+EchUOugQuamk5jxlg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD492AzFn03HRLwOTpSA26nccaUV4PNDDeD5oNERgD1fwIgH3I4vVubFYj6ZvQKcfmNlQyCvU27ZbbL3RJImZd4UWc="}]},"maintainers":[{"name":"sdcooke","email":"sam.cooke@xylate.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/relay-helpers-0.0.1.tgz_1488474783061_0.09241366805508733"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.2":{"name":"relay-helpers","version":"0.0.2","description":"Helpers to simplify and enhance Relay","repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"main":"lib/index.js","scripts":{"lint":"BABEL_ENV=test eslint --config=.eslintrc.js . --max-warnings=0","lint-fix":"BABEL_ENV=test eslint --config=.eslintrc.js . --fix","test":"BABEL_ENV=test jest --config=jest.config.json","test-watch":"BABEL_ENV=test jest --config=jest.config.json --watch --onlyChanged","flow":"flow .","compile":"BABEL_ENV=build babel --ignore __tests__,__mocks__ --out-dir lib/ src/","prepublish":"npm run compile"},"files":["LICENSE","README.md","lib/","src/"],"keywords":["graphql","relay","react"],"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"license":"MIT","dependencies":{"hoist-non-react-statics":"^1.0.3","react-relay":"0.10.0"},"devDependencies":{"babel":"^6.23.0","babel-cli":"^6.23.0","babel-eslint":"^7.1.1","babel-jest":"^19.0.0","babel-plugin-react-require":"^3.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","babel-preset-stage-0":"^6.22.0","babel-relay-plugin":"^0.11.0","enzyme":"^2.7.1","eslint":"^3.16.1","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-header":"^1.0.0","eslint-plugin-react":"^6.10.0","flow-bin":"^0.40.0","jest":"^19.0.2","jest-jasmine2":"^19.0.2","react-addons-test-utils":"^15.4.2","react-dom":"^15.4.2"},"peerDependencies":{"react":"0.14.x || 15.* || ^15.0.0"},"gitHead":"e3d7df97aa4ca2da9e823f9f387ae424280f47e1","bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","_id":"relay-helpers@0.0.2","_shasum":"4a1a15b957d64e911171236117832dd3d2c79ee4","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sdcooke","email":"sam.cooke@xylate.com"},"dist":{"shasum":"4a1a15b957d64e911171236117832dd3d2c79ee4","tarball":"https://registry.npmjs.org/relay-helpers/-/relay-helpers-0.0.2.tgz","integrity":"sha512-2OXd0Ft4qoolpV+HN2tfl8PDCyBuPlELw1FUjF+zV8rDhQltj6Az/NTQh/bouNOJC9AXoYzgGrphH8dVo3GbGQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDe0vhPs12Swswzy2MtPTXXEXxKVSkW9GF5A0Yf5Ua49gIhAPwge7j6yfSOe5fh1Y6eqWQtJ8i/tEoEMnRfPODAN+mP"}]},"maintainers":[{"name":"sdcooke","email":"sam.cooke@xylate.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/relay-helpers-0.0.2.tgz_1488475519153_0.36357023660093546"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.3":{"name":"relay-helpers","version":"0.0.3","description":"Helpers to simplify and enhance Relay","repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"main":"lib/index.js","scripts":{"lint":"BABEL_ENV=test eslint --config=.eslintrc.js . --max-warnings=0","lint-fix":"BABEL_ENV=test eslint --config=.eslintrc.js . --fix","test":"BABEL_ENV=test jest --config=jest.config.json","test-watch":"BABEL_ENV=test jest --config=jest.config.json --watch --onlyChanged","flow":"flow .","compile":"BABEL_ENV=build babel --ignore __tests__,__mocks__ --out-dir lib/ src/","prepublish":"npm run compile"},"files":["LICENSE","README.md","lib/","src/"],"keywords":["graphql","relay","react"],"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"license":"MIT","dependencies":{"hoist-non-react-statics":"^1.0.3","react-relay":"0.10.0"},"devDependencies":{"babel":"^6.23.0","babel-cli":"^6.23.0","babel-eslint":"^7.1.1","babel-jest":"^19.0.0","babel-plugin-react-require":"^3.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","babel-preset-stage-0":"^6.22.0","babel-relay-plugin":"^0.11.0","enzyme":"^2.7.1","eslint":"^3.16.1","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-header":"^1.0.0","eslint-plugin-react":"^6.10.0","flow-bin":"^0.40.0","jest":"^19.0.2","jest-jasmine2":"^19.0.2","react-addons-test-utils":"^15.4.2","react-dom":"^15.4.2"},"peerDependencies":{"react":"0.14.x || 15.* || ^15.0.0"},"gitHead":"1f20666705ed3b7b3181d34fb55b43746c7239a8","bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","_id":"relay-helpers@0.0.3","_shasum":"309475146204294067288f51bddc8d84f761e00c","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sdcooke","email":"sam.cooke@xylate.com"},"dist":{"shasum":"309475146204294067288f51bddc8d84f761e00c","tarball":"https://registry.npmjs.org/relay-helpers/-/relay-helpers-0.0.3.tgz","integrity":"sha512-u+o/OkxSTZSVpmT5sQo+sq6eOPfYSNlysv56cqiWQPPETtuJdPRbawEwW4DI//u1/Y6NfuwmZhHhdAaGrr/VUQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCHWvPWc8jkl0TzhvbPLbr0842kapw3F0OJxoPi/4KjnAIgAhoC0YaaUuZYeU52ScTr7/uRS+BuufGDTpKouEI7XBY="}]},"maintainers":[{"name":"sdcooke","email":"sam.cooke@xylate.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/relay-helpers-0.0.3.tgz_1488993389251_0.2745995121076703"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.4":{"name":"relay-helpers","version":"0.0.4","description":"Helpers to simplify and enhance Relay","repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"main":"lib/index.js","scripts":{"lint":"BABEL_ENV=test eslint --config=.eslintrc.js . --max-warnings=0","lint-fix":"BABEL_ENV=test eslint --config=.eslintrc.js . --fix","test":"BABEL_ENV=test jest --config=jest.config.json","test-watch":"BABEL_ENV=test jest --config=jest.config.json --watch --onlyChanged","flow":"flow .","compile":"BABEL_ENV=build babel --ignore __tests__,__mocks__ --out-dir lib/ src/","prepublish":"npm run compile"},"files":["LICENSE","README.md","lib/","src/"],"keywords":["graphql","relay","react"],"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"license":"MIT","dependencies":{"hoist-non-react-statics":"^1.0.3","react-relay":"0.10.0"},"devDependencies":{"babel":"^6.23.0","babel-cli":"^6.23.0","babel-eslint":"^7.1.1","babel-jest":"^19.0.0","babel-plugin-react-require":"^3.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","babel-preset-stage-0":"^6.22.0","babel-relay-plugin":"^0.11.0","enzyme":"^2.7.1","eslint":"^3.16.1","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-header":"^1.0.0","eslint-plugin-react":"^6.10.0","flow-bin":"^0.40.0","jest":"^19.0.2","jest-jasmine2":"^19.0.2","react-addons-test-utils":"^15.4.2","react-dom":"^15.4.2"},"peerDependencies":{"react":"0.14.x || 15.* || ^15.0.0"},"gitHead":"fcc212b6fcb2ef21506a60799e5fd80bfc03efbd","bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","_id":"relay-helpers@0.0.4","_shasum":"dd8f0132ea73781b3e904218bdeaf60a9447c553","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sdcooke","email":"sam.cooke@xylate.com"},"dist":{"shasum":"dd8f0132ea73781b3e904218bdeaf60a9447c553","tarball":"https://registry.npmjs.org/relay-helpers/-/relay-helpers-0.0.4.tgz","integrity":"sha512-DaxYyuJOPEFEH00vDQw6XW0mE5fzUB/BReROXbDHQhvf9eOtRMx+WKaHhShAPM36Hk/gZ0+KsINcDx26FJsy8w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDrX2dw3B8uLetcUGhc4D4yTj3UlBFXE8xAU0F3vWCd0AIgSONrFAPX3WX2y5WlJEb4YHmRn8gSYoOWHYmS0ZfKnY8="}]},"maintainers":[{"name":"sdcooke","email":"sam.cooke@xylate.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/relay-helpers-0.0.4.tgz_1489147760354_0.4728897358290851"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.5":{"name":"relay-helpers","version":"0.0.5","description":"Helpers to simplify and enhance Relay","repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"main":"lib/index.js","scripts":{"lint":"BABEL_ENV=test eslint --config=.eslintrc.js . --max-warnings=0","lint-fix":"BABEL_ENV=test eslint --config=.eslintrc.js . --fix","test":"BABEL_ENV=test jest --config=jest.config.json","test-watch":"BABEL_ENV=test jest --config=jest.config.json --watch --onlyChanged","flow":"flow .","compile":"BABEL_ENV=build babel --ignore __tests__,__mocks__ --out-dir lib/ src/","prepublish":"npm run compile"},"files":["LICENSE","README.md","lib/","src/"],"keywords":["graphql","relay","react"],"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"license":"MIT","dependencies":{"deep-equal":"^1.0.1","hoist-non-react-statics":"^1.0.3","react-relay":"0.10.0"},"devDependencies":{"babel":"^6.23.0","babel-cli":"^6.23.0","babel-eslint":"^7.1.1","babel-jest":"^19.0.0","babel-plugin-react-require":"^3.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","babel-preset-stage-0":"^6.22.0","babel-relay-plugin":"^0.11.0","enzyme":"^2.7.1","eslint":"^3.16.1","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-header":"^1.0.0","eslint-plugin-react":"^6.10.0","flow-bin":"^0.40.0","jest":"^19.0.2","jest-jasmine2":"^19.0.2","react-addons-test-utils":"^15.4.2","react-dom":"^15.4.2"},"peerDependencies":{"react":"0.14.x || 15.* || ^15.0.0"},"gitHead":"a88174d088fdb570f7285498d543bae8f74b579f","bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","_id":"relay-helpers@0.0.5","_shasum":"bc8c8e4563b400d7c722d3e498cf0893df4f1fce","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sdcooke","email":"sam.cooke@xylate.com"},"dist":{"shasum":"bc8c8e4563b400d7c722d3e498cf0893df4f1fce","tarball":"https://registry.npmjs.org/relay-helpers/-/relay-helpers-0.0.5.tgz","integrity":"sha512-4n9DszhJzXsMNYQ+qAptPvrAmH9nUt8K5yR1ELqnUsTZRRkMoMyOhvTkLYu59zDK4vrWpE6Hs/e2dERgRageog==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAaM0BuQF215rgSQqESaVfN9lB9VLambNinP2Tl6cOk3AiEAgeR3LQUX9vQ0nCRnUeQCUrXaueZDFmGSoyFCPrbV1ms="}]},"maintainers":[{"name":"sdcooke","email":"sam.cooke@xylate.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/relay-helpers-0.0.5.tgz_1489165295288_0.28767493553459644"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.6":{"name":"relay-helpers","version":"0.0.6","description":"Helpers to simplify and enhance Relay","repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"main":"lib/index.js","scripts":{"lint":"BABEL_ENV=test eslint --config=.eslintrc.js . --max-warnings=0","lint-fix":"BABEL_ENV=test eslint --config=.eslintrc.js . --fix","test":"BABEL_ENV=test jest --config=jest.config.json","test-watch":"BABEL_ENV=test jest --config=jest.config.json --watch --onlyChanged","flow":"flow .","compile":"BABEL_ENV=build babel --ignore __tests__,__mocks__ --out-dir lib/ src/","prepublish":"npm run compile"},"files":["LICENSE","README.md","lib/","src/"],"keywords":["graphql","relay","react"],"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"license":"MIT","dependencies":{"deep-equal":"^1.0.1","hoist-non-react-statics":"^1.0.3","react-relay":"0.10.0"},"devDependencies":{"babel":"^6.23.0","babel-cli":"^6.23.0","babel-eslint":"^7.1.1","babel-jest":"^19.0.0","babel-plugin-react-require":"^3.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","babel-preset-stage-0":"^6.22.0","babel-relay-plugin":"^0.11.0","enzyme":"^2.7.1","eslint":"^3.16.1","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-header":"^1.0.0","eslint-plugin-react":"^6.10.0","flow-bin":"^0.40.0","jest":"^19.0.2","jest-jasmine2":"^19.0.2","react-addons-test-utils":"^15.4.2","react-dom":"^15.4.2"},"peerDependencies":{"react":"0.14.x || 15.* || ^15.0.0"},"gitHead":"1e0d3fad1b576febd8b05609e2db0d6cfdd82df0","bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","_id":"relay-helpers@0.0.6","_shasum":"d151328f1ba99ca6f45587b5637696d41a09864d","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sdcooke","email":"sam.cooke@xylate.com"},"dist":{"shasum":"d151328f1ba99ca6f45587b5637696d41a09864d","tarball":"https://registry.npmjs.org/relay-helpers/-/relay-helpers-0.0.6.tgz","integrity":"sha512-n2lFpe9pDgz1QHyDGHebj5go2dIL8vilZCSEkv271N+am+2QJW5rMBNvv0u12MONF8jeQqNI4BokARKc+a3O3A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFu6J4XhY92bC88Jo8Xu8RNkpIsH1sef9NJA46t6P1AEAiAD5gnVPRM9kDPx36rQ7+3e8ziSKihNed3ZaW5mbf29SA=="}]},"maintainers":[{"name":"sdcooke","email":"sam.cooke@xylate.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/relay-helpers-0.0.6.tgz_1489748635268_0.20082940603606403"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.7":{"name":"relay-helpers","version":"0.0.7","description":"Helpers to simplify and enhance Relay","repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"main":"lib/index.js","scripts":{"lint":"BABEL_ENV=test eslint --config=.eslintrc.js . --max-warnings=0","lint-fix":"BABEL_ENV=test eslint --config=.eslintrc.js . --fix","test":"BABEL_ENV=test jest --config=jest.config.json","test-watch":"BABEL_ENV=test jest --config=jest.config.json --watch --onlyChanged","flow":"flow .","compile":"BABEL_ENV=build babel --ignore __tests__,__mocks__ --out-dir lib/ src/","prepublish":"npm run compile"},"files":["LICENSE","README.md","lib/","src/"],"keywords":["graphql","relay","react"],"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"license":"MIT","dependencies":{"deep-equal":"^1.0.1","hoist-non-react-statics":"^1.0.3","react-relay":"0.10.0"},"devDependencies":{"babel":"^6.23.0","babel-cli":"^6.23.0","babel-eslint":"^7.1.1","babel-jest":"^19.0.0","babel-plugin-react-require":"^3.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","babel-preset-stage-0":"^6.22.0","babel-relay-plugin":"^0.11.0","enzyme":"^2.7.1","eslint":"^3.16.1","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-header":"^1.0.0","eslint-plugin-react":"^6.10.0","flow-bin":"^0.40.0","jest":"^19.0.2","jest-jasmine2":"^19.0.2","react-addons-test-utils":"^15.4.2","react-dom":"^15.4.2"},"peerDependencies":{"react":"0.14.x || 15.* || ^15.0.0"},"gitHead":"945467fab18332376b40c696161eaf18df29b479","bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","_id":"relay-helpers@0.0.7","_shasum":"d3068c050b8b9054aa3a9b3e4df11db75e06b141","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sdcooke","email":"sam.cooke@xylate.com"},"dist":{"shasum":"d3068c050b8b9054aa3a9b3e4df11db75e06b141","tarball":"https://registry.npmjs.org/relay-helpers/-/relay-helpers-0.0.7.tgz","integrity":"sha512-Tao0t4KNrSE3KcrQHWc5CxrfXyBZrjM4YF0A1blPzBsOwQT+HKCa0k/exrTax46CMq8eNsKIM0+8yogUZxxFpg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDBAi3bq67Vhx6Qk6NFAe15YdhqvPdShNJvwc828uBLngIgNnInZKf1zMTLYF2s8wc77Z/DeTkTA8Qm/BR40If6jOs="}]},"maintainers":[{"name":"sdcooke","email":"sam.cooke@xylate.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/relay-helpers-0.0.7.tgz_1490265954618_0.19818176748231053"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.8":{"name":"relay-helpers","version":"0.0.8","description":"Helpers to simplify and enhance Relay","repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"main":"lib/index.js","scripts":{"lint":"BABEL_ENV=test eslint --config=.eslintrc.js . --max-warnings=0","lint-fix":"BABEL_ENV=test eslint --config=.eslintrc.js . --fix","test":"BABEL_ENV=test jest --config=jest.config.json","test-watch":"BABEL_ENV=test jest --config=jest.config.json --watch --onlyChanged","flow":"flow .","compile":"BABEL_ENV=build babel --ignore __tests__,__mocks__ --out-dir lib/ src/","prepublish":"npm run compile"},"files":["LICENSE","README.md","lib/","src/"],"keywords":["graphql","relay","react"],"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"license":"MIT","dependencies":{"deep-equal":"^1.0.1","hoist-non-react-statics":"^1.0.3","react-relay":"0.10.0"},"devDependencies":{"babel":"^6.23.0","babel-cli":"^6.23.0","babel-eslint":"^7.1.1","babel-jest":"^19.0.0","babel-plugin-react-require":"^3.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","babel-preset-stage-0":"^6.22.0","babel-relay-plugin":"^0.11.0","enzyme":"^2.7.1","eslint":"^3.16.1","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-header":"^1.0.0","eslint-plugin-react":"^6.10.0","flow-bin":"^0.40.0","jest":"^19.0.2","jest-jasmine2":"^19.0.2","react-addons-test-utils":"^15.4.2","react-dom":"^15.4.2"},"peerDependencies":{"react":"0.14.x || 15.* || ^15.0.0"},"gitHead":"3294108873d8007b326be965dd851f0d95cb1205","bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","_id":"relay-helpers@0.0.8","_shasum":"0a4525128dbe883c1008254e5ff65459a5559eaf","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sdcooke","email":"sam.cooke@xylate.com"},"dist":{"shasum":"0a4525128dbe883c1008254e5ff65459a5559eaf","tarball":"https://registry.npmjs.org/relay-helpers/-/relay-helpers-0.0.8.tgz","integrity":"sha512-oEqP+pjPkYh8iAypljjIhkESXmeA74B2eWzlcmXOd7+FCg/FvwUj2vD9OT3nZ4GVSXzV0IVO7FaDD8lthr3WDg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDbcktxybKkkiURUYWDEpCHZk63AryH+JFFt4TEPyHQfAIgFDsikrvMtvZuEw6WPpMjBS3cd0rRNk59QmY/aSDolsw="}]},"maintainers":[{"name":"sdcooke","email":"sam.cooke@xylate.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/relay-helpers-0.0.8.tgz_1491229238321_0.2818196408916265"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.9":{"name":"relay-helpers","version":"0.0.9","description":"Helpers to simplify and enhance Relay","repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"main":"lib/index.js","scripts":{"lint":"BABEL_ENV=test eslint --config=.eslintrc.js . --max-warnings=0","lint-fix":"BABEL_ENV=test eslint --config=.eslintrc.js . --fix","test":"BABEL_ENV=test jest --config=jest.config.json","test-watch":"BABEL_ENV=test jest --config=jest.config.json --watch --onlyChanged","flow":"flow .","compile":"BABEL_ENV=build babel --ignore __tests__,__mocks__ --out-dir lib/ src/","prepublish":"npm run compile"},"files":["LICENSE","README.md","lib/","src/"],"keywords":["graphql","relay","react"],"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"license":"MIT","dependencies":{"deep-equal":"^1.0.1","hoist-non-react-statics":"^1.0.3","react-relay":"0.10.0"},"devDependencies":{"babel":"^6.23.0","babel-cli":"^6.23.0","babel-eslint":"^7.1.1","babel-jest":"^19.0.0","babel-plugin-react-require":"^3.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","babel-preset-stage-0":"^6.22.0","babel-relay-plugin":"^0.11.0","enzyme":"^2.7.1","eslint":"^3.16.1","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-header":"^1.0.0","eslint-plugin-react":"^6.10.0","flow-bin":"^0.40.0","jest":"^19.0.2","jest-jasmine2":"^19.0.2","react-addons-test-utils":"^15.4.2","react-dom":"^15.4.2"},"peerDependencies":{"react":"0.14.x || 15.* || ^15.0.0"},"gitHead":"9da9a8f279f8dd689daa533b05b7c3b94dcf8931","bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","_id":"relay-helpers@0.0.9","_shasum":"32d1c8175a18e1f1ea089a1cba65ade855921a9f","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sdcooke","email":"sam.cooke@xylate.com"},"dist":{"shasum":"32d1c8175a18e1f1ea089a1cba65ade855921a9f","tarball":"https://registry.npmjs.org/relay-helpers/-/relay-helpers-0.0.9.tgz","integrity":"sha512-NMZ/jHm59j5WS7lYrqxVJ1AfqV1lv69tTV+csqN17D10S5/RndpOez0K/Bj2Sp7q6CtHsNZAHlnkY/9U/3Kc7A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDu6EOAsxISrSvZvut2qclYdfj5SDTewaFYVduxMXIqKwIhAK7wPD3gWpGZwm0sPMN5AvULmeQRCqHjXcxCrBjNHrE2"}]},"maintainers":[{"name":"sdcooke","email":"sam.cooke@xylate.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/relay-helpers-0.0.9.tgz_1491565783542_0.1586498764809221"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.0.10":{"name":"relay-helpers","version":"0.0.10","description":"Helpers to simplify and enhance Relay","repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"main":"lib/index.js","scripts":{"lint":"BABEL_ENV=test eslint --config=.eslintrc.js . --max-warnings=0","lint-fix":"BABEL_ENV=test eslint --config=.eslintrc.js . --fix","test":"BABEL_ENV=test jest --config=jest.config.json","test-watch":"BABEL_ENV=test jest --config=jest.config.json --watch --onlyChanged","flow":"flow .","compile":"BABEL_ENV=build babel --ignore __tests__,__mocks__ --out-dir lib/ src/","prepublish":"npm run compile"},"files":["LICENSE","README.md","lib/","src/"],"keywords":["graphql","relay","react"],"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"license":"MIT","dependencies":{"deep-equal":"^1.0.1","hoist-non-react-statics":"^1.0.3","react-relay":"0.10.0"},"devDependencies":{"babel":"^6.23.0","babel-cli":"^6.23.0","babel-eslint":"^7.1.1","babel-jest":"^19.0.0","babel-plugin-react-require":"^3.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","babel-preset-stage-0":"^6.22.0","babel-relay-plugin":"^0.11.0","enzyme":"^2.7.1","eslint":"^3.16.1","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-header":"^1.0.0","eslint-plugin-react":"^6.10.0","flow-bin":"^0.40.0","jest":"^19.0.2","jest-jasmine2":"^19.0.2","react-addons-test-utils":"^15.4.2","react-dom":"^15.4.2"},"peerDependencies":{"react":"0.14.x || 15.* || ^15.0.0"},"gitHead":"03b58b610b55b1f3e45420016fef191ee4a10b9a","bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","_id":"relay-helpers@0.0.10","_shasum":"b0d0bef3e8c5d04722ef5040f7832541287385be","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sdcooke","email":"sam.cooke@xylate.com"},"dist":{"shasum":"b0d0bef3e8c5d04722ef5040f7832541287385be","tarball":"https://registry.npmjs.org/relay-helpers/-/relay-helpers-0.0.10.tgz","integrity":"sha512-9iDhI9qheB4HOIjGiQlgBOLyOF9HRMjkcvRGIwNivB0GHgoWyTJCzFgZvZ5Ia/vpxLlNqxZdGm6BY6xaA7JFSQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDcfOAHozo+B3+OVVn6zjRP5Tx4UogDI1r+NFsuludniAIhAIbHBwrbOjugHcLlmjC+axYjmGbucWu0BdDb9AQQbzWt"}]},"maintainers":[{"name":"sdcooke","email":"sam.cooke@xylate.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/relay-helpers-0.0.10.tgz_1494427081250_0.5503858143929392"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.0-alpha":{"name":"relay-helpers","version":"1.0.0-alpha","description":"Helpers to simplify and enhance Relay","repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"main":"lib/index.js","scripts":{"lint":"BABEL_ENV=test eslint --config=.eslintrc.js . --max-warnings=0","lint-fix":"BABEL_ENV=test eslint --config=.eslintrc.js . --fix","test":"BABEL_ENV=test jest --config=jest.config.json","test-watch":"BABEL_ENV=test jest --config=jest.config.json --watch --onlyChanged","flow":"flow .","compile":"BABEL_ENV=build babel --ignore __tests__,__mocks__ --out-dir lib/ src/","prepublish":"npm run compile"},"files":["LICENSE","README.md","lib/","src/"],"keywords":["graphql","relay","react"],"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"license":"MIT","dependencies":{"deep-equal":"^1.0.1","hoist-non-react-statics":"^1.0.3","react-relay":"1.1.0"},"devDependencies":{"babel":"^6.23.0","babel-cli":"^6.23.0","babel-eslint":"^7.1.1","babel-jest":"^19.0.0","babel-plugin-react-require":"^3.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","babel-preset-stage-0":"^6.22.0","babel-relay-plugin":"^0.11.0","enzyme":"^2.7.1","eslint":"^3.16.1","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-header":"^1.0.0","eslint-plugin-react":"^6.10.0","flow-bin":"^0.40.0","jest":"^19.0.2","jest-jasmine2":"^19.0.2","react-addons-test-utils":"^15.4.2","react-dom":"^15.4.2"},"peerDependencies":{"react":"0.14.x || 15.* || ^15.0.0"},"gitHead":"8c8bb53ade45ae097aa03621fcdff27dae9d0ec1","bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","_id":"relay-helpers@1.0.0-alpha","_shasum":"400345e75af22189fd5559556021b9b62a16bb86","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sdcooke","email":"sam.cooke@xylate.com"},"dist":{"shasum":"400345e75af22189fd5559556021b9b62a16bb86","tarball":"https://registry.npmjs.org/relay-helpers/-/relay-helpers-1.0.0-alpha.tgz","integrity":"sha512-m5JalyOaeLM5rOoSJ1/WwnN7KwO2rZBLPqo9+BaZ7P8gI+UpFFoIbTXOW0g5w6R/fSNO15OSVufyYh/eZREpsA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDrkvw4w7aZOeQdL4ug98ZRyi4BRGikcsEFeYQQ/kcLwAiB11ZbKyj0mZ14a6hnZkb1pQMZsRgxly4TjJ6A5vfdiJw=="}]},"maintainers":[{"name":"sdcooke","email":"sam.cooke@xylate.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/relay-helpers-1.0.0-alpha.tgz_1499094780937_0.9759195873048156"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.0":{"name":"relay-helpers","version":"1.0.0","description":"Helpers to simplify and enhance Relay","repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"main":"lib/index.js","scripts":{"lint":"BABEL_ENV=test eslint --config=.eslintrc.js . --max-warnings=0","lint-fix":"BABEL_ENV=test eslint --config=.eslintrc.js . --fix","test":"BABEL_ENV=test jest --config=jest.config.json","test-watch":"BABEL_ENV=test jest --config=jest.config.json --watch --onlyChanged","flow":"flow .","compile":"BABEL_ENV=build babel --ignore __tests__,__mocks__ --out-dir lib/ src/","prepublish":"npm run compile"},"files":["LICENSE","README.md","lib/","src/"],"keywords":["graphql","relay","react"],"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"license":"MIT","dependencies":{"deep-equal":"^1.0.1","hoist-non-react-statics":"^1.0.3","react-relay":"1.1.0"},"devDependencies":{"babel":"^6.23.0","babel-cli":"^6.23.0","babel-eslint":"^7.1.1","babel-jest":"^19.0.0","babel-plugin-react-require":"^3.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","babel-preset-stage-0":"^6.22.0","babel-relay-plugin":"^0.11.0","enzyme":"^2.7.1","eslint":"^3.16.1","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-header":"^1.0.0","eslint-plugin-react":"^6.10.0","flow-bin":"^0.40.0","jest":"^19.0.2","jest-jasmine2":"^19.0.2","react-addons-test-utils":"^15.4.2","react-dom":"^15.4.2"},"peerDependencies":{"react":"0.14.x || 15.* || ^15.0.0"},"gitHead":"09b593768b9e2fff6e3d3adb9e2d1a904494581f","bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","_id":"relay-helpers@1.0.0","_shasum":"b18ae5f321caca7bdfdf6fa19342dcea61411aff","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sdcooke","email":"sam.cooke@xylate.com"},"dist":{"shasum":"b18ae5f321caca7bdfdf6fa19342dcea61411aff","tarball":"https://registry.npmjs.org/relay-helpers/-/relay-helpers-1.0.0.tgz","integrity":"sha512-9vFJOYp7N7gN+Fr/dSG06igEZ6v3kMmck9oPDVYhpN8TYoqdNDlQyL2NU6108T20yDCB7aswXJhf7WLryTJxsw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDdF4fB0968DnOW0Mk8HGco8LLLvYs650NTVcVr7fVWgQIhAPIFdK2+wQRMtDnSUkyF1mhL/Z1UhCpyNh955OOEKi+L"}]},"maintainers":[{"name":"sdcooke","email":"sam.cooke@xylate.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/relay-helpers-1.0.0.tgz_1499097125135_0.7212072752881795"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.1":{"name":"relay-helpers","version":"1.0.1","description":"Helpers to simplify and enhance Relay","repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"main":"lib/index.js","scripts":{"lint":"BABEL_ENV=test eslint --config=.eslintrc.js . --max-warnings=0","lint-fix":"BABEL_ENV=test eslint --config=.eslintrc.js . --fix","test":"BABEL_ENV=test jest --config=jest.config.json","test-watch":"BABEL_ENV=test jest --config=jest.config.json --watch --onlyChanged","flow":"flow .","compile":"BABEL_ENV=build babel --ignore __tests__,__mocks__ --out-dir lib/ src/","prepublish":"npm run compile"},"files":["LICENSE","README.md","lib/","src/"],"keywords":["graphql","relay","react"],"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"license":"MIT","dependencies":{"deep-equal":"^1.0.1","hoist-non-react-statics":"^1.0.3","react-relay":"1.1.0"},"devDependencies":{"babel":"^6.23.0","babel-cli":"^6.23.0","babel-eslint":"^7.1.1","babel-jest":"^19.0.0","babel-plugin-react-require":"^3.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","babel-preset-stage-0":"^6.22.0","babel-relay-plugin":"^0.11.0","enzyme":"^2.9.1","eslint":"^3.16.1","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-header":"^1.0.0","eslint-plugin-react":"^6.10.0","flow-bin":"^0.40.0","jest":"^19.0.2","jest-jasmine2":"^19.0.2","react":"15.5.1","react-dom":"15.5.1","react-test-renderer":"^15.5.1"},"peerDependencies":{"react":"^15.5.1","react-dom":"^15.5.1"},"gitHead":"9f6115619556e3031634a7519225117ef4dd4d2d","bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","_id":"relay-helpers@1.0.1","_shasum":"98097ddb4eac7cfaa25cca346c2cd5c816c12a51","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sdcooke","email":"sam.cooke@xylate.com"},"dist":{"shasum":"98097ddb4eac7cfaa25cca346c2cd5c816c12a51","tarball":"https://registry.npmjs.org/relay-helpers/-/relay-helpers-1.0.1.tgz","integrity":"sha512-0NVXGWN+b11oLvs8V07BdzkNrNBuZuUXCUEbOWsC1HHQbzrNw/dwVAlDJlfIxkqkgpbnNoLod6j5Jv9bC+etow==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGEL4GD6O9Nf20SV7ORIIVTkkGS/xEA1s2Ls117qgrTmAiAcEcKESQOqfyWq8f2pKSvagyIzmPpdnfUSPm6FlNQ+tA=="}]},"maintainers":[{"name":"sdcooke","email":"sam.cooke@xylate.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/relay-helpers-1.0.1.tgz_1499419682202_0.14803124265745282"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.0.2":{"name":"relay-helpers","version":"1.0.2","description":"Helpers to simplify and enhance Relay","repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"main":"lib/index.js","scripts":{"lint":"BABEL_ENV=test eslint --config=.eslintrc.js . --max-warnings=0","lint-fix":"BABEL_ENV=test eslint --config=.eslintrc.js . --fix","test":"BABEL_ENV=test jest --config=jest.config.json","test-watch":"BABEL_ENV=test jest --config=jest.config.json --watch --onlyChanged","flow":"flow .","compile":"BABEL_ENV=build babel --ignore __tests__,__mocks__ --out-dir lib/ src/","prepublish":"npm run compile"},"files":["LICENSE","README.md","lib/","src/"],"keywords":["graphql","relay","react"],"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"license":"MIT","dependencies":{"deep-equal":"^1.0.1","hoist-non-react-statics":"^1.0.3","react-relay":"1.1.0"},"devDependencies":{"babel":"^6.23.0","babel-cli":"^6.23.0","babel-eslint":"^7.1.1","babel-jest":"^19.0.0","babel-plugin-react-require":"^3.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","babel-preset-stage-0":"^6.22.0","babel-relay-plugin":"^0.11.0","enzyme":"^2.9.1","eslint":"^3.16.1","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-header":"^1.0.0","eslint-plugin-react":"^6.10.0","flow-bin":"^0.40.0","jest":"^19.0.2","jest-jasmine2":"^19.0.2","react-test-renderer":"^15.5.1"},"peerDependencies":{"react":"15.5.1","react-dom":"15.5.1"},"gitHead":"83f23b6a036db5a889a94fc9b7997f11648691ad","bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","_id":"relay-helpers@1.0.2","_shasum":"1736c24b63bec28aff71d6fe3c377997d362fdbd","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sdcooke","email":"sam.cooke@xylate.com"},"dist":{"shasum":"1736c24b63bec28aff71d6fe3c377997d362fdbd","tarball":"https://registry.npmjs.org/relay-helpers/-/relay-helpers-1.0.2.tgz","integrity":"sha512-7Z5Wp0njAvMho9jzi0hsPYdxD8rM/svz5ADzxSuehY0ng3ZOtdcJJdqp6kAmeAwwURfcSlcVAGveJD8Pzus+7Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCBcyRG+3WFQbJi2b6F7HvXXC4OO7f9PpCt43itC/L9rQIgd8xPajhQVa+3FDlLhm+aYjOWHFtqh3RYkAolWckFG7c="}]},"maintainers":[{"name":"sdcooke","email":"sam.cooke@xylate.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/relay-helpers-1.0.2.tgz_1499419981956_0.5147092682309449"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.0":{"name":"relay-helpers","version":"1.1.0","description":"Helpers to simplify and enhance Relay","repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"main":"lib/index.js","scripts":{"lint":"BABEL_ENV=test eslint --config=.eslintrc.js . --max-warnings=0","lint-fix":"BABEL_ENV=test eslint --config=.eslintrc.js . --fix","test":"BABEL_ENV=test jest --config=jest.config.json","test-watch":"BABEL_ENV=test jest --config=jest.config.json --watch --onlyChanged","flow":"flow .","compile":"BABEL_ENV=build babel --ignore __tests__,__mocks__ --out-dir lib/ src/","prepublish":"npm run compile","local-watch":" BABEL_ENV=build babel -w --ignore __tests__,__mocks__ --out-dir ../mixcloud/website/js/node_modules/relay-helpers/lib/ src"},"files":["LICENSE","README.md","lib/","src/"],"keywords":["graphql","relay","react"],"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"license":"MIT","dependencies":{"deep-equal":"^1.0.1","hoist-non-react-statics":"^1.0.3","react-relay":"1.1.0"},"devDependencies":{"babel-cli":"^6.23.0","babel-eslint":"^7.1.1","babel-jest":"^19.0.0","babel-plugin-react-require":"^3.0.0","babel-plugin-transform-builtin-extend":"1.1.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","babel-preset-stage-0":"^6.22.0","babel-relay-plugin":"^0.11.0","enzyme":"^2.9.1","eslint":"^3.16.1","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-header":"^1.0.0","eslint-plugin-react":"^6.10.0","flow-bin":"^0.40.0","jest":"^19.0.2","jest-jasmine2":"^19.0.2","react-test-renderer":"^15.5.1"},"peerDependencies":{"react":"15.6.1","react-dom":"15.6.1"},"gitHead":"491a68e3e121bdf0783a711388611e21559c90a6","bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","_id":"relay-helpers@1.1.0","_shasum":"4a45299725004a68d46fd8297d3182e5496ea823","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sdcooke","email":"sam.cooke@xylate.com"},"dist":{"shasum":"4a45299725004a68d46fd8297d3182e5496ea823","tarball":"https://registry.npmjs.org/relay-helpers/-/relay-helpers-1.1.0.tgz","integrity":"sha512-wWA5pEt+bGQ+7+tXmX7/Ii2Jub+++ewVQasa9lhbYfegi/1rZC7maFwjRyV5838RAAWE3ECw4ermMOLjbAQE2g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDX756M1RO9c7tgmKObBgq+M7pv3euK2TsYd4s7+B1U/AiEA8ZmjKuO5XRU1ruiuWfeU6Fckq5e+RcvRwucrfwuFbKs="}]},"maintainers":[{"name":"sdcooke","email":"sam.cooke@xylate.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/relay-helpers-1.1.0.tgz_1500388086495_0.6842854076530784"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.1":{"name":"relay-helpers","version":"1.1.1","description":"Helpers to simplify and enhance Relay","repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"main":"lib/index.js","scripts":{"lint":"BABEL_ENV=test eslint --config=.eslintrc.js . --max-warnings=0","lint-fix":"BABEL_ENV=test eslint --config=.eslintrc.js . --fix","test":"BABEL_ENV=test jest --config=jest.config.json","test-watch":"BABEL_ENV=test jest --config=jest.config.json --watch --onlyChanged","flow":"flow .","compile":"BABEL_ENV=build babel --ignore __tests__,__mocks__ --out-dir lib/ src/","prepublish":"npm run compile","local-watch":" BABEL_ENV=build babel -w --ignore __tests__,__mocks__ --out-dir ../mixcloud/website/js/node_modules/relay-helpers/lib/ src"},"files":["LICENSE","README.md","lib/","src/"],"keywords":["graphql","relay","react"],"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"license":"MIT","dependencies":{"deep-equal":"^1.0.1","hoist-non-react-statics":"^1.0.3","react-relay":"1.1.0"},"devDependencies":{"babel-cli":"^6.23.0","babel-eslint":"^7.1.1","babel-jest":"^19.0.0","babel-plugin-react-require":"^3.0.0","babel-plugin-transform-builtin-extend":"1.1.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","babel-preset-stage-0":"^6.22.0","babel-relay-plugin":"^0.11.0","enzyme":"^2.9.1","eslint":"^3.16.1","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-header":"^1.0.0","eslint-plugin-react":"^6.10.0","flow-bin":"^0.40.0","jest":"^19.0.2","jest-jasmine2":"^19.0.2","react-test-renderer":"^15.5.1"},"peerDependencies":{"react":"15.6.1","react-dom":"15.6.1"},"gitHead":"4c7975348b52000b083d9e82f664180f23ae3667","bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","_id":"relay-helpers@1.1.1","_shasum":"02fcf0bc87f2897fd2c849bb874bf9b5452a1546","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sdcooke","email":"sam.cooke@xylate.com"},"dist":{"shasum":"02fcf0bc87f2897fd2c849bb874bf9b5452a1546","tarball":"https://registry.npmjs.org/relay-helpers/-/relay-helpers-1.1.1.tgz","integrity":"sha512-6SI6AK00prkHqfPF8tHxzXQ4cbmjdahWDNSQ4vhxYRiFUs7oC2EDxnTV0fi/rmJGWeSmatVN3eeaOl/6d3b99Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID/rAxJNBbg7wn8+bPhmVs5XDjGFUixdTLwI8jaIkd/KAiEAwws5dFU1z9kDQVTwDpxJA0hw6ALRKzI+vuuXWeGBhpA="}]},"maintainers":[{"name":"sdcooke","email":"sam.cooke@xylate.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/relay-helpers-1.1.1.tgz_1500390552460_0.7993215778842568"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.2":{"name":"relay-helpers","version":"1.1.2","description":"Helpers to simplify and enhance Relay","repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"main":"lib/index.js","scripts":{"lint":"BABEL_ENV=test eslint --config=.eslintrc.js . --max-warnings=0","lint-fix":"BABEL_ENV=test eslint --config=.eslintrc.js . --fix","test":"BABEL_ENV=test jest --config=jest.config.json","test-watch":"BABEL_ENV=test jest --config=jest.config.json --watch --onlyChanged","flow":"flow .","compile":"BABEL_ENV=build babel --ignore __tests__,__mocks__ --out-dir lib/ src/","prepublish":"npm run compile","local-watch":" BABEL_ENV=build babel -w --ignore __tests__,__mocks__ --out-dir ../mixcloud/website/js/node_modules/relay-helpers/lib/ src"},"files":["LICENSE","README.md","lib/","src/"],"keywords":["graphql","relay","react"],"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"license":"MIT","dependencies":{"deep-equal":"^1.0.1","hoist-non-react-statics":"^1.0.3","react-relay":"1.1.0"},"devDependencies":{"babel-cli":"^6.23.0","babel-eslint":"^7.1.1","babel-jest":"^19.0.0","babel-plugin-react-require":"^3.0.0","babel-plugin-transform-builtin-extend":"1.1.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","babel-preset-stage-0":"^6.22.0","babel-relay-plugin":"^0.11.0","enzyme":"^2.9.1","eslint":"^3.16.1","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-header":"^1.0.0","eslint-plugin-react":"^6.10.0","flow-bin":"^0.40.0","jest":"^19.0.2","jest-jasmine2":"^19.0.2","react-test-renderer":"^15.5.1"},"peerDependencies":{"react":"15.6.1","react-dom":"15.6.1"},"gitHead":"b56d2f6652c90555def62f1a8924fef9a17b5adc","bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","_id":"relay-helpers@1.1.2","_shasum":"f43f5f7d76da7d4c93ba6a88ffd22f9c0e5ec55b","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sdcooke","email":"sam.cooke@xylate.com"},"dist":{"shasum":"f43f5f7d76da7d4c93ba6a88ffd22f9c0e5ec55b","tarball":"https://registry.npmjs.org/relay-helpers/-/relay-helpers-1.1.2.tgz","integrity":"sha512-KL46tRVYi+s9I9Ak6r4lE076YgxR9FK+wL46fSoufrPJ6aAOwFSR4IptmO4e7UEy+RfOpF87rKGsaPWVb6rJGA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCBvQK7lGI4m7qMd9eTgl8Ze+qme1RehhQy5zekV6Jt/wIhAPKs8gtX0E6hktCSmq4DIf+TBZvCuVSp/9oO8uBruwhB"}]},"maintainers":[{"name":"sdcooke","email":"sam.cooke@xylate.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/relay-helpers-1.1.2.tgz_1500397491253_0.9506162581965327"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.3":{"name":"relay-helpers","version":"1.1.3","description":"Helpers to simplify and enhance Relay","repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"main":"lib/index.js","scripts":{"lint":"BABEL_ENV=test eslint --config=.eslintrc.js . --max-warnings=0","lint-fix":"BABEL_ENV=test eslint --config=.eslintrc.js . --fix","test":"BABEL_ENV=test jest --config=jest.config.json","test-watch":"BABEL_ENV=test jest --config=jest.config.json --watch --onlyChanged","flow":"flow .","compile":"BABEL_ENV=build babel --ignore __tests__,__mocks__ --out-dir lib/ src/","prepublish":"npm run compile","local-watch":" BABEL_ENV=build babel -w --ignore __tests__,__mocks__ --out-dir ../mixcloud/website/js/node_modules/relay-helpers/lib/ src"},"files":["LICENSE","README.md","lib/","src/"],"keywords":["graphql","relay","react"],"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"license":"MIT","dependencies":{"deep-equal":"^1.0.1","hoist-non-react-statics":"^1.0.3","react-relay":"1.1.0"},"devDependencies":{"babel-cli":"^6.23.0","babel-eslint":"^7.1.1","babel-jest":"^19.0.0","babel-plugin-react-require":"^3.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","babel-preset-stage-0":"^6.22.0","babel-relay-plugin":"^0.11.0","enzyme":"^2.9.1","eslint":"^3.16.1","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-header":"^1.0.0","eslint-plugin-react":"^6.10.0","flow-bin":"^0.40.0","jest":"^19.0.2","jest-jasmine2":"^19.0.2","react-test-renderer":"^15.5.1"},"peerDependencies":{"react":"15.6.1","react-dom":"15.6.1"},"gitHead":"5095a1f3fc7215765c33e406635c9945a67fefd1","bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","_id":"relay-helpers@1.1.3","_shasum":"4780f95edb8fe82fe6e2496ba6e4b42d85239989","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sdcooke","email":"sam.cooke@xylate.com"},"dist":{"shasum":"4780f95edb8fe82fe6e2496ba6e4b42d85239989","tarball":"https://registry.npmjs.org/relay-helpers/-/relay-helpers-1.1.3.tgz","integrity":"sha512-lAtv9JPjeM0FsvDVQYxuJRc67uaNiMdzp1TCFIAxYKrV/xS2Nyi7iQ/VqQVmYoVAAF9R+zymA/ni1Vq44qNqPg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG7NkLcpio3l+i9IdW8G2ADSfLypW5qPqytMuYaAccGIAiEAgxcarKUgeQmj6odKHaU1ZbTUVlaQ6mmU6WciRaQlAj8="}]},"maintainers":[{"name":"sdcooke","email":"sam.cooke@xylate.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/relay-helpers-1.1.3.tgz_1500557769712_0.30974302208051085"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.4":{"name":"relay-helpers","version":"1.1.4","description":"Helpers to simplify and enhance Relay","repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"main":"lib/index.js","scripts":{"lint":"BABEL_ENV=test eslint --config=.eslintrc.js . --max-warnings=0","lint-fix":"BABEL_ENV=test eslint --config=.eslintrc.js . --fix","test":"BABEL_ENV=test jest --config=jest.config.json","test-watch":"BABEL_ENV=test jest --config=jest.config.json --watch --onlyChanged","flow":"flow .","compile":"BABEL_ENV=build babel --ignore __tests__,__mocks__ --out-dir lib/ src/","prepublish":"npm run compile","local-watch":" BABEL_ENV=build babel -w --ignore __tests__,__mocks__ --out-dir ../mixcloud/website/js/node_modules/relay-helpers/lib/ src"},"files":["LICENSE","README.md","lib/","src/"],"keywords":["graphql","relay","react"],"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"license":"MIT","dependencies":{"deep-equal":"^1.0.1","hoist-non-react-statics":"^1.0.3","react-relay":"1.1.0"},"devDependencies":{"babel-cli":"^6.23.0","babel-eslint":"^7.1.1","babel-jest":"^19.0.0","babel-plugin-react-require":"^3.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","babel-preset-stage-0":"^6.22.0","babel-relay-plugin":"^0.11.0","enzyme":"^2.9.1","eslint":"^3.16.1","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-header":"^1.0.0","eslint-plugin-react":"^6.10.0","flow-bin":"^0.40.0","jest":"^19.0.2","jest-jasmine2":"^19.0.2","react-test-renderer":"^15.5.1"},"peerDependencies":{"react":"15.6.1","react-dom":"15.6.1"},"gitHead":"eecdbb861b41891a2427a4d6f3f5e3c30e4419e6","bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","_id":"relay-helpers@1.1.4","_shasum":"b7b0582c3eaa31a303249c7d581dec76c25a0ca0","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sdcooke","email":"sam.cooke@xylate.com"},"dist":{"shasum":"b7b0582c3eaa31a303249c7d581dec76c25a0ca0","tarball":"https://registry.npmjs.org/relay-helpers/-/relay-helpers-1.1.4.tgz","integrity":"sha512-VJ8EVTIqFvWkXRWz/itxZ6Kg046KmL9bOU9ravaJI7ABF2/uy9kwqui/aPjkFe+/Z/pA2+yPCHRtIy2YpL30kw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHuw3n9YjJ9RqT2GWEwihg5IwhUsgi4fFZF8WWMJ/GyuAiEA1yEjjOz/DwqJDPTouJWxBLjIkXF5Qg8sdrrUjwAIGug="}]},"maintainers":[{"name":"sdcooke","email":"sam.cooke@xylate.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/relay-helpers-1.1.4.tgz_1500998176787_0.7454655526671559"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"1.1.5":{"name":"relay-helpers","version":"1.1.5","description":"Helpers to simplify and enhance Relay","repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"main":"lib/index.js","scripts":{"lint":"BABEL_ENV=test eslint --config=.eslintrc.js . --max-warnings=0","lint-fix":"BABEL_ENV=test eslint --config=.eslintrc.js . --fix","test":"BABEL_ENV=test jest --config=jest.config.json","test-watch":"BABEL_ENV=test jest --config=jest.config.json --watch --onlyChanged","flow":"flow .","compile":"BABEL_ENV=build babel --ignore __tests__,__mocks__ --out-dir lib/ src/","prepublish":"npm run compile","local-watch":" BABEL_ENV=build babel -w --ignore __tests__,__mocks__ --out-dir ../mixcloud/website/js/node_modules/relay-helpers/lib/ src"},"files":["LICENSE","README.md","lib/","src/"],"keywords":["graphql","relay","react"],"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"license":"MIT","dependencies":{"deep-equal":"^1.0.1","hoist-non-react-statics":"^1.0.3","react-relay":"1.1.0"},"devDependencies":{"babel-cli":"^6.23.0","babel-eslint":"^7.1.1","babel-jest":"^19.0.0","babel-plugin-react-require":"^3.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","babel-preset-stage-0":"^6.22.0","babel-relay-plugin":"^0.11.0","enzyme":"^2.9.1","eslint":"^3.16.1","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-header":"^1.0.0","eslint-plugin-react":"^6.10.0","flow-bin":"^0.40.0","jest":"^19.0.2","jest-jasmine2":"^19.0.2","react-test-renderer":"^15.5.1"},"peerDependencies":{"react":"15.6.1","react-dom":"15.6.1"},"gitHead":"e4f5e3b22bd5f98895704c8edf54c8d4227de4f2","bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","_id":"relay-helpers@1.1.5","_shasum":"9539aba0dbbeda03bc5fa59800d8d22e198e908f","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sdcooke","email":"sam.cooke@xylate.com"},"dist":{"shasum":"9539aba0dbbeda03bc5fa59800d8d22e198e908f","tarball":"https://registry.npmjs.org/relay-helpers/-/relay-helpers-1.1.5.tgz","integrity":"sha512-TWlA3gsYIxJv3OYN24W0BI9y6w9FCTIlRB5sv5K+lNzruhp85N6eycM7oZkwm0OT/Xrq1kvRxV6YtvBj10121g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDxfgVsEtfoDh4EP8srsRdwykf9/WG1PhkJdh9Bqx0X4gIhAJRN/51ON/jLBqdAR4nE0NW5IK30j7Qvcf1CBCzSbYWa"}]},"maintainers":[{"name":"sdcooke","email":"sam.cooke@xylate.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/relay-helpers-1.1.5.tgz_1501240649035_0.9040870913304389"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.0.0":{"name":"relay-helpers","version":"2.0.0","description":"Helpers to simplify and enhance Relay","repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"main":"lib/index.js","scripts":{"lint":"BABEL_ENV=test eslint --config=.eslintrc.js . --max-warnings=0","lint-fix":"BABEL_ENV=test eslint --config=.eslintrc.js . --fix","test":"BABEL_ENV=test jest --config=jest.config.json","test-watch":"BABEL_ENV=test jest --config=jest.config.json --watch --onlyChanged","flow":"flow .","compile":"BABEL_ENV=build babel --ignore __tests__,__mocks__ --out-dir lib/ src/","prepublish":"npm run compile","local-watch":" BABEL_ENV=build babel -w --ignore __tests__,__mocks__ --out-dir ../mixcloud/website/js/node_modules/relay-helpers/lib/ src"},"files":["LICENSE","README.md","lib/","src/"],"keywords":["graphql","relay","react"],"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"license":"MIT","dependencies":{"deep-equal":"^1.0.1","hoist-non-react-statics":"^1.0.3","react-relay":"1.1.0"},"devDependencies":{"babel-cli":"^6.23.0","babel-eslint":"^7.1.1","babel-jest":"^19.0.0","babel-plugin-react-require":"^3.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","babel-preset-stage-0":"^6.22.0","babel-relay-plugin":"^0.11.0","enzyme":"^2.9.1","eslint":"^3.16.1","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-header":"^1.0.0","eslint-plugin-react":"^6.10.0","flow-bin":"^0.40.0","jest":"^19.0.2","jest-jasmine2":"^19.0.2","react-test-renderer":"^15.5.1"},"peerDependencies":{"react":"15.6.1","react-dom":"15.6.1"},"gitHead":"1a400cf07b3c014deed5da140426fe0fc238dd72","bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","_id":"relay-helpers@2.0.0","_shasum":"584a478bb7d578352e44e3b1a42313fd3d07a6f1","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sdcooke","email":"sam.cooke@xylate.com"},"dist":{"shasum":"584a478bb7d578352e44e3b1a42313fd3d07a6f1","tarball":"https://registry.npmjs.org/relay-helpers/-/relay-helpers-2.0.0.tgz","integrity":"sha512-JM88gcD6PgBsqo7yDQ+TJCevfrFAGpRj0FlcF51nT3cq90uAIDTpU19bFx+vVOMUdVU3o8TpxP+yCe5R5dP/kg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIChyUqAheXA79m15UykpZdeEL1CqT/wks0ADq9LvfFd1AiEAjmgY3ghzhxpd/8KnbBsLJ0ev9/SqWrCh0Fuh50rgPRw="}]},"maintainers":[{"name":"sdcooke","email":"sam.cooke@xylate.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/relay-helpers-2.0.0.tgz_1502364945741_0.05495227198116481"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.0.1":{"name":"relay-helpers","version":"2.0.1","description":"Helpers to simplify and enhance Relay","repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"main":"lib/index.js","scripts":{"lint":"BABEL_ENV=test eslint --config=.eslintrc.js . --max-warnings=0","lint-fix":"BABEL_ENV=test eslint --config=.eslintrc.js . --fix","test":"BABEL_ENV=test jest --config=jest.config.json","test-watch":"BABEL_ENV=test jest --config=jest.config.json --watch --onlyChanged","flow":"flow .","compile":"BABEL_ENV=build babel --ignore __tests__,__mocks__ --out-dir lib/ src/","prepublish":"npm run compile","local-watch":" BABEL_ENV=build babel -w --ignore __tests__,__mocks__ --out-dir ../mixcloud/website/js/node_modules/relay-helpers/lib/ src"},"files":["LICENSE","README.md","lib/","src/"],"keywords":["graphql","relay","react"],"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"license":"MIT","dependencies":{"deep-equal":"^1.0.1","hoist-non-react-statics":"^1.0.3","react-relay":"1.1.0"},"devDependencies":{"babel-cli":"^6.23.0","babel-eslint":"^7.1.1","babel-jest":"^19.0.0","babel-plugin-react-require":"^3.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","babel-preset-stage-0":"^6.22.0","babel-relay-plugin":"^0.11.0","enzyme":"^2.9.1","eslint":"^3.16.1","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-header":"^1.0.0","eslint-plugin-react":"^6.10.0","flow-bin":"^0.40.0","jest":"^19.0.2","jest-jasmine2":"^19.0.2","react-test-renderer":"^15.5.1"},"peerDependencies":{"react":"15.6.1","react-dom":"15.6.1"},"gitHead":"5865faf73138fb1cbbe24dd3b636ffc8980aa98d","bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","_id":"relay-helpers@2.0.1","_shasum":"1465d0238c4a27b0a6fe50ba8d6098822a7780fe","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sdcooke","email":"sam.cooke@xylate.com"},"dist":{"shasum":"1465d0238c4a27b0a6fe50ba8d6098822a7780fe","tarball":"https://registry.npmjs.org/relay-helpers/-/relay-helpers-2.0.1.tgz","integrity":"sha512-KnEWD1VWayOTpT+j07pHGLDxAsGxKuqe81zK01qS5pRes6MeH77JxJMwHuwuFzl+pq7l9DdwjSpc8G+ckiwrSg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCVJNK6DEMhOhQsr24rWIY4k67hzx+axJJjzLl8NYYqigIhAJCPHtvRBtG0aJjGbS0fMf+u0VOoDGa5eduChc+r4xxh"}]},"maintainers":[{"name":"sdcooke","email":"sam.cooke@xylate.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/relay-helpers-2.0.1.tgz_1502460346385_0.25612863805145025"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.0.2":{"name":"relay-helpers","version":"2.0.2","description":"Helpers to simplify and enhance Relay","repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"main":"lib/index.js","scripts":{"lint":"BABEL_ENV=test eslint --config=.eslintrc.js . --max-warnings=0","lint-fix":"BABEL_ENV=test eslint --config=.eslintrc.js . --fix","test":"BABEL_ENV=test jest --config=jest.config.json","test-watch":"BABEL_ENV=test jest --config=jest.config.json --watch --onlyChanged","flow":"flow .","compile":"BABEL_ENV=build babel --ignore __tests__,__mocks__ --out-dir lib/ src/","prepublish":"npm run compile","local-watch":" BABEL_ENV=build babel -w --ignore __tests__,__mocks__ --out-dir ../mixcloud/website/js/node_modules/relay-helpers/lib/ src"},"files":["LICENSE","README.md","lib/","src/"],"keywords":["graphql","relay","react"],"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"license":"MIT","dependencies":{"deep-equal":"^1.0.1","hoist-non-react-statics":"^1.0.3","react-relay":"1.1.0"},"devDependencies":{"babel-cli":"^6.23.0","babel-eslint":"^7.1.1","babel-jest":"^19.0.0","babel-plugin-react-require":"^3.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","babel-preset-stage-0":"^6.22.0","babel-relay-plugin":"^0.11.0","enzyme":"^2.9.1","eslint":"^3.16.1","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-header":"^1.0.0","eslint-plugin-react":"^6.10.0","flow-bin":"^0.40.0","jest":"^19.0.2","jest-jasmine2":"^19.0.2","react-test-renderer":"^15.5.1"},"peerDependencies":{"react":"15.6.1","react-dom":"15.6.1"},"gitHead":"04c47f1b46c5b09933c78635cba6b910528e19fd","bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","_id":"relay-helpers@2.0.2","_shasum":"ed1b8dd0cbbf049a58a94ec7c00b3bf6a165e702","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sdcooke","email":"sam.cooke@xylate.com"},"dist":{"shasum":"ed1b8dd0cbbf049a58a94ec7c00b3bf6a165e702","tarball":"https://registry.npmjs.org/relay-helpers/-/relay-helpers-2.0.2.tgz","integrity":"sha512-XAPeI319gdYXQtBX3ooJcC4pAOAgcgdGa7ZR8w0LhHUAE0cW492q9rnjwX5c5lfusLn/bjvgmFXgtewGjuybNw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID6soAxtpwNaTV/W9ZbBpQp8Sb7un+7BkbKwSq3vFu1lAiEAnhZUU/sQ0V/hIQLhO1GiPaatfHhwhHKzBx5+CCViKN0="}]},"maintainers":[{"name":"sdcooke","email":"sam.cooke@xylate.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/relay-helpers-2.0.2.tgz_1502473479923_0.4975210602860898"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.0.3":{"name":"relay-helpers","version":"2.0.3","description":"Helpers to simplify and enhance Relay","repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"main":"lib/index.js","scripts":{"lint":"BABEL_ENV=test eslint --config=.eslintrc.js . --max-warnings=0","lint-fix":"BABEL_ENV=test eslint --config=.eslintrc.js . --fix","test":"BABEL_ENV=test jest --config=jest.config.json","test-watch":"BABEL_ENV=test jest --config=jest.config.json --watch --onlyChanged","flow":"flow .","compile":"BABEL_ENV=build babel --ignore __tests__,__mocks__ --out-dir lib/ src/","prepublish":"npm run compile","local-watch":" BABEL_ENV=build babel -w --ignore __tests__,__mocks__ --out-dir ../mixcloud/website/js/node_modules/relay-helpers/lib/ src"},"files":["LICENSE","README.md","lib/","src/"],"keywords":["graphql","relay","react"],"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"license":"MIT","dependencies":{"deep-equal":"^1.0.1","hoist-non-react-statics":"^1.0.3","react-relay":"1.1.0"},"devDependencies":{"babel-cli":"^6.23.0","babel-eslint":"^7.1.1","babel-jest":"^19.0.0","babel-plugin-react-require":"^3.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","babel-preset-stage-0":"^6.22.0","babel-relay-plugin":"^0.11.0","enzyme":"^2.9.1","eslint":"^3.16.1","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-header":"^1.0.0","eslint-plugin-react":"^6.10.0","flow-bin":"^0.40.0","jest":"^19.0.2","jest-jasmine2":"^19.0.2","react-test-renderer":"^15.5.1"},"peerDependencies":{"react":"15.6.1","react-dom":"15.6.1"},"gitHead":"611f8a1c5e11cf80b47465d5a56f98407c870625","bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","_id":"relay-helpers@2.0.3","_shasum":"7e4a257e1b6377599bc39eb1a0bffee7d49086ea","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sdcooke","email":"sam.cooke@xylate.com"},"dist":{"shasum":"7e4a257e1b6377599bc39eb1a0bffee7d49086ea","tarball":"https://registry.npmjs.org/relay-helpers/-/relay-helpers-2.0.3.tgz","integrity":"sha512-eG3vpQYMmU2EqCpq5QNGYWK5r4RiLuqfHvvlxKwY711IzQuZ3JUlnUUVWiKJlxN6QSpq9Lh4cBDu/FWJhdez8g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCiPy+9iveJ0jmDrodldqBi7n18+pIb3F00Vbr+XhMsjgIhAN938BcKdCxSwL/Xh7WpdDjJsZztugfNjIL5sx9122xt"}]},"maintainers":[{"name":"sdcooke","email":"sam.cooke@xylate.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/relay-helpers-2.0.3.tgz_1502714217032_0.7637134208343923"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.0.4":{"name":"relay-helpers","version":"2.0.4","description":"Helpers to simplify and enhance Relay","repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"main":"lib/index.js","scripts":{"lint":"BABEL_ENV=test eslint --config=.eslintrc.js . --max-warnings=0","lint-fix":"BABEL_ENV=test eslint --config=.eslintrc.js . --fix","test":"BABEL_ENV=test jest --config=jest.config.json","test-watch":"BABEL_ENV=test jest --config=jest.config.json --watch --onlyChanged","flow":"flow .","compile":"BABEL_ENV=build babel --ignore __tests__,__mocks__ --out-dir lib/ src/","prepublish":"npm run compile","local-watch":" BABEL_ENV=build babel -w --ignore __tests__,__mocks__ --out-dir ../mixcloud/website/js/node_modules/relay-helpers/lib/ src"},"files":["LICENSE","README.md","lib/","src/"],"keywords":["graphql","relay","react"],"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"license":"MIT","dependencies":{"deep-equal":"^1.0.1","hoist-non-react-statics":"^1.0.3","react-relay":"1.1.0"},"devDependencies":{"babel-cli":"^6.23.0","babel-eslint":"^7.1.1","babel-jest":"^19.0.0","babel-plugin-react-require":"^3.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","babel-preset-stage-0":"^6.22.0","babel-relay-plugin":"^0.11.0","enzyme":"^2.9.1","eslint":"^3.16.1","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-header":"^1.0.0","eslint-plugin-react":"^6.10.0","flow-bin":"^0.40.0","jest":"^19.0.2","jest-jasmine2":"^19.0.2","react-test-renderer":"^15.5.1"},"peerDependencies":{"react":"15.6.1","react-dom":"15.6.1"},"gitHead":"cc3b2379f2e8b39c0f3562228fc8bb27deb7509e","bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","_id":"relay-helpers@2.0.4","_shasum":"a5c9b2c4a5588c6329da472df51b2287f7ea8511","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sdcooke","email":"sam.cooke@xylate.com"},"dist":{"shasum":"a5c9b2c4a5588c6329da472df51b2287f7ea8511","tarball":"https://registry.npmjs.org/relay-helpers/-/relay-helpers-2.0.4.tgz","integrity":"sha512-lrBwBz5j0zwGbO9Ueu2WIQxv01yCPD1y4xsXA5qPNKsGuDNgfLbIiaAueAMx2v51b9PfdHYQg52QKJUuUzn7Gg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBibG3hCnRe0tkluF7/73LXuTjntWG4ldoR6PTn2xGNhAiA9biRGPx/peOhA4Sb7pzpo0juV4Z5xMwjMYdsGjPQwoA=="}]},"maintainers":[{"name":"sdcooke","email":"sam.cooke@xylate.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/relay-helpers-2.0.4.tgz_1502874810422_0.5656532945577055"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.0.5":{"name":"relay-helpers","version":"2.0.5","description":"Helpers to simplify and enhance Relay","repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"main":"lib/index.js","scripts":{"lint":"BABEL_ENV=test eslint --config=.eslintrc.js . --max-warnings=0","lint-fix":"BABEL_ENV=test eslint --config=.eslintrc.js . --fix","test":"BABEL_ENV=test jest --config=jest.config.json","test-watch":"BABEL_ENV=test jest --config=jest.config.json --watch --onlyChanged","flow":"flow .","compile":"BABEL_ENV=build babel --ignore __tests__,__mocks__ --out-dir lib/ src/","prepublish":"npm run compile","local-watch":" BABEL_ENV=build babel -w --ignore __tests__,__mocks__ --out-dir ../mixcloud/website/js/node_modules/relay-helpers/lib/ src"},"files":["LICENSE","README.md","lib/","src/"],"keywords":["graphql","relay","react"],"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"license":"MIT","dependencies":{"deep-equal":"^1.0.1","hoist-non-react-statics":"^1.0.3","react-relay":"1.1.0"},"devDependencies":{"babel-cli":"^6.23.0","babel-eslint":"^7.1.1","babel-jest":"^19.0.0","babel-plugin-react-require":"^3.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","babel-preset-stage-0":"^6.22.0","babel-relay-plugin":"^0.11.0","enzyme":"^2.9.1","eslint":"^3.16.1","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-header":"^1.0.0","eslint-plugin-react":"^6.10.0","flow-bin":"^0.40.0","jest":"^19.0.2","jest-jasmine2":"^19.0.2","react-test-renderer":"^15.5.1"},"peerDependencies":{"react":"15.6.1","react-dom":"15.6.1"},"gitHead":"bd68cff366295540cd53f5c35754a4191c00f3c9","bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","_id":"relay-helpers@2.0.5","_shasum":"145bfc279be13c22a68d16538b350195eeca9171","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sdcooke","email":"sam.cooke@xylate.com"},"dist":{"shasum":"145bfc279be13c22a68d16538b350195eeca9171","tarball":"https://registry.npmjs.org/relay-helpers/-/relay-helpers-2.0.5.tgz","integrity":"sha512-XbO4ecBg++t0NWzDxKi3aeA99a1Fr90IQo6mRNyn0cZKhu655ZvS+6GEZyj8c4gnyCVt2hnr80721ahYXA4w8w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC10luVuT1VdkjrT2HsSENNqOxyLZ13BSM6AqyblBKUxQIgXm8MjUn8wbfs19rfRo6cGzVrRkKFTKki/qTrGRUIzmw="}]},"maintainers":[{"name":"sdcooke","email":"sam.cooke@xylate.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/relay-helpers-2.0.5.tgz_1503569911122_0.8462316705845296"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.0.6":{"name":"relay-helpers","version":"2.0.6","description":"Helpers to simplify and enhance Relay","repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"main":"lib/index.js","scripts":{"lint":"BABEL_ENV=test eslint --config=.eslintrc.js . --max-warnings=0","lint-fix":"BABEL_ENV=test eslint --config=.eslintrc.js . --fix","test":"BABEL_ENV=test jest --config=jest.config.json","test-watch":"BABEL_ENV=test jest --config=jest.config.json --watch --onlyChanged","flow":"flow .","compile":"BABEL_ENV=build babel --ignore __tests__,__mocks__ --out-dir lib/ src/","prepublish":"npm run compile","local-watch":" BABEL_ENV=build babel -w --ignore __tests__,__mocks__ --out-dir ../mixcloud/website/js/node_modules/relay-helpers/lib/ src"},"files":["LICENSE","README.md","lib/","src/"],"keywords":["graphql","relay","react"],"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"license":"MIT","dependencies":{"deep-equal":"^1.0.1","hoist-non-react-statics":"^1.0.3","react-relay":"1.1.0"},"devDependencies":{"babel-cli":"^6.23.0","babel-eslint":"^7.1.1","babel-jest":"^19.0.0","babel-plugin-react-require":"^3.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","babel-preset-stage-0":"^6.22.0","babel-relay-plugin":"^0.11.0","enzyme":"^2.9.1","eslint":"^3.16.1","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-header":"^1.0.0","eslint-plugin-react":"^6.10.0","flow-bin":"^0.40.0","jest":"^19.0.2","jest-jasmine2":"^19.0.2","react-test-renderer":"^15.5.1"},"peerDependencies":{"react":"15.6.1","react-dom":"15.6.1"},"gitHead":"c9b4779da7f727731fd6fab21474902d7965d115","bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","_id":"relay-helpers@2.0.6","_shasum":"e8845aed85cb0cf579b006e06d4f2ae16d263599","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sdcooke","email":"sam.cooke@xylate.com"},"dist":{"shasum":"e8845aed85cb0cf579b006e06d4f2ae16d263599","tarball":"https://registry.npmjs.org/relay-helpers/-/relay-helpers-2.0.6.tgz","npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh25mSCRA9TVsSAnZWagAA+wgP/0+wF5Wq7PoBVgwegRBf\n2MNqgKOhFknFs36nvAhzmHwSLIolL99q4JyrAa1sr2qruJ/swrGXciPWnFOB\ndgcNDJGIWXwEFXYfZNFJMdqLI5qF8o2lRe6PzZgtjAhODShHlIPx8kXDQvSV\n0pezpIP5q16zmLBOl1Q7E0SS8+8chYQcs6VjcJJ49uVxDGaNpa4hDzhE5AkZ\nSyRrbzt9UNxk/cvELMWHEvGbogdwAqf+CFGlVUV5CW077KAofzxgFjerPyRU\nkiQ073BKmzo9gGnXvB2Gf+FtOIDi3tDEpqg9jLSpvBd2FvXVLs5yG5FBfSHv\nB09sfdNTl0P8sYHsH+SKQbtBEe8tAt44iIoRkvDnUXX3h6rxglRLA5MihRrc\nLWb8tIzcwgUg4PZ6r7sVUTrgqFShieXVgk8bADBpnoV9PNy9i3dTFjGs0Piu\nW2P1Z4I39suQ53Z82+tTi5ydXJqopE+mkgUDsCW9OeL3UHv7xTIrjetmpxd/\n51uVOnLA+sV+SfT/Rnk+FFUe5ZGotGeTS4GxqcEdEVUDZ+O6wAWMwNptxCpD\naKUttZlqUJiDYBmdfhUCtYwVlvqsTR519NDaDVkuNFXPBgo22WYnvgbHCUYz\nW1A3O9W0Nr4JpbeaWq1jteG2gTfPQYVsQ/DLT6L5mSXsKYpFKCwliHdppplh\n2aNE\r\n=WYKw\r\n-----END PGP SIGNATURE-----\r\n","integrity":"sha512-2Fw6zi9eI3wR7qPLP8owldtyWPxGWntKF5wNt4uRHoiJTzXmvjKfPhxSOaRAW3AbKAf7ZMZTfsEj+k3fPh0ucQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDy/RwZMCXu1v60e2CouVK1j79x0cllgP2Kw5GKrOXBvAIhAMrJ/sJLBbERx6qRw8xUmHRh/F/HLlwLZgtZ36fTCS0/"}]},"maintainers":[{"name":"sdcooke","email":"sam.cooke@xylate.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/relay-helpers-2.0.6.tgz_1505395495092_0.9515294427983463"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"2.0.7-0":{"name":"relay-helpers","version":"2.0.7-0","description":"Helpers to simplify and enhance Relay","repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"main":"lib/index.js","scripts":{"lint":"BABEL_ENV=test eslint --config=.eslintrc.js . --max-warnings=0","lint-fix":"BABEL_ENV=test eslint --config=.eslintrc.js . --fix","test":"BABEL_ENV=test jest --config=jest.config.json","test-watch":"BABEL_ENV=test jest --config=jest.config.json --watch --onlyChanged","flow":"flow .","compile":"BABEL_ENV=build babel --ignore __tests__,__mocks__ --out-dir lib/ src/","prepublish":"npm run compile","local-watch":" BABEL_ENV=build babel -w --ignore __tests__,__mocks__ --out-dir ../mixcloud/website/js/node_modules/relay-helpers/lib/ src"},"files":["LICENSE","README.md","lib/","src/"],"keywords":["graphql","relay","react"],"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"license":"MIT","dependencies":{"deep-equal":"^1.0.1","hoist-non-react-statics":"^1.0.3","react-relay":"1.4.1"},"devDependencies":{"babel-cli":"^6.23.0","babel-eslint":"^7.1.1","babel-jest":"^19.0.0","babel-plugin-react-require":"^3.0.0","babel-plugin-transform-flow-strip-types":"^6.22.0","babel-preset-es2015":"^6.22.0","babel-preset-react":"^6.23.0","babel-preset-stage-0":"^6.22.0","babel-relay-plugin":"^0.11.0","enzyme":"^2.9.1","eslint":"^3.16.1","eslint-plugin-flowtype":"^2.30.0","eslint-plugin-header":"^1.0.0","eslint-plugin-react":"^6.10.0","flow-bin":"^0.40.0","jest":"^19.0.2","jest-jasmine2":"^19.0.2","react-test-renderer":"^15.5.1"},"peerDependencies":{"react":"15.6.1","react-dom":"15.6.1"},"gitHead":"4d36e28e3e4032eb8048e5bfb94be0783a35f625","bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","_id":"relay-helpers@2.0.7-0","_shasum":"d19a6219016b21a9ecb7ee9fd5eaa1a2e6b4520d","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.7.0","_npmUser":{"name":"sdcooke","email":"sam.cooke@xylate.com"},"dist":{"shasum":"d19a6219016b21a9ecb7ee9fd5eaa1a2e6b4520d","tarball":"https://registry.npmjs.org/relay-helpers/-/relay-helpers-2.0.7-0.tgz","integrity":"sha512-1XTI4Y+OwMkZdYlHDTHLy357+V8yw7rBMkA6Z1n5l8V2apaw2mQyOy2S9iF0N6hHslitXGxo38LprtIJqGIg3g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDNViBhzLFsAprCQJ/cerFcLyhhrhunujl7J0muRIIfAgIgCFfua6AryKJu7U1DKRn4II9Cts6/06fl1tsm5ruBznw="}]},"maintainers":[{"name":"sdcooke","email":"sam.cooke@xylate.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/relay-helpers-2.0.7-0.tgz_1506597342675_0.7916255756281316"},"directories":{},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."}},"readme":"# Relay Helpers \n\n[ ![Codeship Status for mixcloud/relay-helpers](https://app.codeship.com/projects/f98f46c0-e185-0134-6c99-0215fb10e28e/status?branch=master)](https://app.codeship.com/projects/205541)\n\nHelpers to simplify and enhance Relay (https://facebook.github.io/relay/) including:\n\n * Decorators to simplify the Renderer and Mutation APIs\n * TTL on queries\n * Simple way to reset the Relay store\n * Simple server side rendering\n\nand more!\n\n## Why?\n\nWe're waiting for Relay 2 but in the meantime we wanted to fill some gaps in the features and tidy up the API a bit.\n\n## We're hiring!\n\nIf you like working with React and GraphQL and you're interested in building the future of radio check out https://www.mixcloud.com/jobs/\n\n## Installation\n\n```\nnpm install relay-helpers\n```\n\n## RelayEnvProvider\n\n`RelayEnvProvider` is a component that provides the Relay Environment on context. It is used by everything else in\n`relay-helpers`.\n\n```javascript\nimport Relay from 'react-relay/classic';\nimport {RelayEnvProvider} from 'relay-helpers';\n\n\nconst env = new Relay.Environment();\n\n\nclass App extends React.Component {\n    render() {\n        return (\n            <RelayEnvProvider initialEnv={env}>\n                {/* ... the rest of your app ... */}\n            </RelayEnvProvider>\n        );\n    }\n}\n```\n\n### Resetting the store\n\nUnder some circumstances you will want to reset the entire store (e.g. log in or log out). The context provided by\n`RelayEnvProvider` has a `reset()` method:\n\n```javascript\nimport Relay from 'react-relay/classic';\nimport {RelayEnvProvider, RelayEnvContextType} from 'relay-helpers';\n\n\nclass LogoutButton extends React.Component {\n    static contextTypes = {relayEnv: RelayEnvContextType};\n    \n    onClick = () => {\n        // Log out...\n        \n        // This will create a new relay environment and refresh any renderers on the page that were created using\n        // withRelayRenderer or withRelayQuery\n        this.context.relayEnv.reset();\n    };\n    \n    render() {\n        return <div onClick={this.onClick}>Logout</div>;\n    }\n}\n\n\nclass App extends React.Component {\n    render() {\n        // Pass a `createEnv` prop to RelayEnvProvider that will be called on init and when `reset()` is called\n        return (\n            <RelayEnvProvider createEnv={() => new Relay.Environment()}>\n                <LogoutButton />\n            </RelayEnvProvider>\n        );\n    }\n}\n```\n\n## Higher Order Components\n\n### createRelayContainer\n\nA simple wrapper for `Relay.createContainer` so that it can be used like other higher order components and with tools\nsuch as recompose.\n\ne.g.\n```javascript\nimport {createRelayContainer} from 'relay-helpers';\nimport {connect} from 'react-redux';\nimport compose from 'recompose/compose';\n\n\nconst MyContainer = createRelayContainer({fragments: {...}})(MyComponent);\n\n\nconst MyWrappedComponent = compose(\n    createRelayContainer({\n        initialVariables: {count: 10},\n        fragments: {\n            user: () => Relay.QL`...`\n        }\n    }),\n    connect(),\n    // ... other higher order components\n)(MyComponent);\n```\n\n### withRelayRenderer\n\n`withRelayRenderer` can be used to simplify the process of creating a Relay.Renderer. Instead of needing a Renderer\nand a Route you can just decorate the component. In most circumstances you can probably use `withRelayQuery` - this\nis provided as a lower level alternative.\n\nNote: `withRelayQuery` or `withRelayRenderer` must be used if you want to make use of `context.relayEnv.reset()`.\n\n```javascript\nimport {withRelayRenderer} from 'relay-helpers';\n\n\nfunction Username({loading, error, offline, user}) {\n    // Note: unlike Relay.Renderer, withRelayRenderer will render your component\n    // with `loading`, `error`, and `offline` props.\n    // If this is not the behaviour you want a higher order component that only renders if !loading && !error\n    if (loading) {\n        return <div>Loading...</div>;\n    }\n    \n    // `offline` is true if error is a TypeError with message \"Network request failed\"\n    // the error is still passed in as `error`\n    if (offline) {\n        return <div>Check your internet connection...</div>;\n    }\n    \n    if (error) {\n        return <div>Something went wrong...</div>;\n    }\n    \n    // Data props passed is as usual\n    return <div>{user.username}</div>;\n}\n\n\nUsername = compose(\n    // withRelayRenderer wraps a Relay Container\n    withRelayRenderer({\n        // like a Relay Route\n        queryConfig: {\n            name: 'UsernameQuery',\n            queries: {\n                user: () => Relay.QL`\n                    query {\n                        user(id: $userId)\n                    }\n                `\n            },\n            // params will be taken from props\n            // PropTypes are generated to ensure required params aren't missed\n            params: {\n                userId: {required: true}\n            }\n        },\n        // forceFetch on mount if we haven't seen a success from this query in the past hour (optional)\n        ttl: 1000 * 60 * 60 * 1,\n        // always forceFetch this component (optional)\n        forceFetch: true\n    }),\n    createRelayContainer({\n        fragments: {\n            user: () => Relay.QL`\n                fragment on User {\n                    username\n                }\n            `\n        }\n    })\n)(Username);\n    \n    \nfunction App() {\n    // params are taken from props\n    return <Username userId=\"user1\" />;\n}\n```\n\n#### Changing the query based on props\n\nInstead of providing a `queryConfig` object you can provide a function:\n\n```javascript\nqueryConfig: (props, Container) => {\n    return {\n        name: 'UsernameQuery',\n        queries: {\n            user: () => Relay.QL`\n                query {\n                    user(id: $userId)\n                }\n            `\n        },\n        params: {\n            userId: props.myUserIdParam\n        }\n    };\n}\n```\n\nThis will be called every time props changes.\n\n### withRelayQuery\n\n`withRelayQuery` is a higher level higher order component that enables you to create a component with a query\nvery quickly.\n\n```javascript\nimport {withRelayQuery} from 'relay-helpers';\n\nfunction Username({loading, ...as before\n\n// Note: createContainer is not required\nUsername = withRelayQuery({\n    query: Relay.QL`\n        query {\n            user(id: $userId) {\n                username\n            }\n        }\n    `,\n    params: {\n        userId: {required: true}\n    }\n})(Username);\n```\n\n#### Options\n\n * `query` EITHER a Relay.QL of a full query (not separated into queries and fragments) OR an array of Relay.QL (if you have more than one root) \n * `name` (optional) name the query - by default the component name will be used\n * `params` EITHER param definitions OR a function: `(props) => ({paramName: 'value', ...})`\n * `initialVariables` as you would provide to Relay.createContainer\n * `withHelpers` optionally wrap in the `withRelayHelpers` higher order component\n * `forceFetch` and `ttl` (same as `withRelayRenderer`)\n \n#### How it works\n\n`withRelayQuery` splits the Relay.QL into the parts required for the route and fragments. This might not work in all\ncircumstances.\n\n#### Note about fragment variables\n\nIt is possible to have variables that aren't params (in the same way as you can with separate Route and Container) and\nit is possible to set those variable values from props. For example:\n\n```javascript\nconst Wrapper = withRelayQuery({\n    query: Relay.QL`\n        query {\n            user(id: $userId) {\n                todos(limit: $limit) {\n                    title\n                }\n            }\n        }\n    `,\n    params: ({userId}) => ({userId, limit: 5}),  // Or params: {userId: {required: true}}\n    initialVariables: {limit: null}  // Note: this is still necessary\n})(TestComponent);\n```\n\n### withRelayHelpers\n\nProvides `setVariables` and `forceFetch` props equivalent to `props.relay.setVariables` and `props.relay.forceFetch`\nthat return promises instead of taking callbacks.\n\n```javascript\nimport {withRelayHelpers} from 'relay-helpers';\n\nfunction MyComponent({setVariables, relay}) {\n    function onClick() {\n        setVariables({count: relay.variables.count}).then(() => {\n            // Done\n        });\n    }\n    return <div onClick={onClick}>Load more</div>;\n}\n\nMyComponent = compose(\n    createRelayContainer(...),\n    withRelayHelpers()    \n)(MyComponent);\n```\n\n## Mutations\n\n`context.relayEnv` provides a `mutate` function that wraps `Relay.GraphQLMutation`:\n\n```javascript\ncontext.relayEnv.mutate({\n    query: Relay.QL`\n        mutation {\n            ...\n        }\n    `,\n    variables: {...},\n    files: {...},\n    optimisticResponse: {...},\n    configs: [...]\n}).then(() => {\n    // success!\n});\n```\n\n### `withRelayMutations`\n\nIf you define mutation functions like so:\n\n```javascript\nconst myMutation = mutate => (arg1, arg2) => mutate({\n    query: Relay.QL`...`\n    ... other relayEnv.mutate options\n});\n```\nYou can use `withRelayMutations` to provide the mutation as a prop to the component:\n\n```javascript\nimport {withRelayMutations} from 'relay-helpers';\n\n\nfunction MyComponent({myMutation}) {\n    function onClick() {\n        myMutation('arg1', 'arg2').then(() => {\n            // success!\n        });\n    }\n    \n    return <div onClick={onClick}>Click Me!</div>;\n}\n\n// myMutation from above\nMyComponent = withRelayMutations({myMutation})(MyComponent);\n```\n\n## Server side (isomorphic) rendering\n\nServer and Client Relay Environments are provided that, combined with `RelayEnvProvider` and\n`withRelayRenderer`/`withRelayQuery`, can enable isomorphic rendering.\n\n    Note: you can provide an `isomorphic: false` option to `withRelayRenderer` and `withRelayQuery` if you do not want them to be included in server side rendering\n\nOn the server:\n```javascript\nimport {ServerEnvironment} from 'relay-helpers';\n\n// Provide a function to get graphql query responses\n// getQueryResponse = (query: {query: string, variables: Object}) => Promise<{errors?: Array<Object>, data?: Object}>\n\nconst env = new ServerEnvironment(getQueryResponse);\n\nfunction MyApp() {\n    return (\n        <RelayEnvProvider initialEnv={env}>\n            {/* the rest of the app */}\n        </RelayEnvProvider>\n    );\n}\n\n// This will recursively find queries and run them\nenv.isomorphicGetData(<MyApp />).then((markup) => {\n    // markup = ReactDOMServer.renderToString(<MyApp />);\n    \n    // query data is ready\n    const relayData = env.isomorphicClientData;\n    \n    // return the markup to the user and include relayData somehow\n    // (probably JSON.strinfigy and put in a hidden DOM element)\n});\n\n```\n\nOn the client:\n```javascript\nimport {ClientEnvironment} from 'relay-helpers';\n\n\nconst env = new ClientEnvironment();\n\n// env.injectNetworkLayer ... etc\n\nfunction MyApp() {\n    return (\n        <RelayEnvProvider initialEnv={env}>\n            {/* the rest of the app */}\n        </RelayEnvProvider>\n    );\n}\n\n\nconst serverData = ...  // Get the data from the server (probably from the hidden DOM element)\n\nenv.isomorphicInjectServerData(serverData).then(() => {\n    // Data has been injected into Relay store\n    ReactDOM.render(<MyApp />, ...);\n});\n```\n\n## Caching\n\n### `querySubscriberDecorator`\n\n`querySubscriberDecorator` is a helper that can be used, for example, to create an offline cache for Relay.\n\nUsage:\n\n```javascript\nvar env = new Relay.Environment();\n\n// A simple cache example - this could be persisted to localStorage, for example\nvar cache = {};\n\n\n// We listen for all queries\nenv.addNetworkSubscriber(querySubscriberDecorator((queryName, variables, result) => {\n    // The helper converts Relay's QueryRequest into something a bit more useful\n    \n    // Selectively choose what you want to cache\n    if (queryName === 'UserProfile') {\n        const cacheKey = `${queryName}|${JSON.stringify(variables)}`;\n        cache[cacheKey] = result;\n    }\n}));\n```\n\nThe `result` that `querySubscriberDecorator` passes in is compatible with the `ServerData` used for isomorphic rendering. They\ncan be injected into the store in the same way (whether you are using server side rendering or not):\n\n```javascript\nvar env = new ClientEnvironment();\n\n// \"cache\" from the code above - for example loaded from localStorage \nconst localResults = Object.keys(cache).map(key => cache[key]);\n\n// Concatenating serverData and localResults - just pass localResults if you're not using isomorphic rendering\nenv.isomorphicInjectServerData([...serverData, ...localResults]).then(() => {\n    // render...\n});\n\n```\n\n## Tests\n\nSome helpers are provided for testing.\n\n### Relay.Renderer mock\n\n```javascript\n// Either\nimport {MockRelayRenderer} from 'relay-helpers/lib/tests/mocks';\n// or\nimport {Relay as MockedRelay} from 'relay-helpers/lib/tests/mocks';\n```\n\nUsage (example using jest, but jest isn't required):\n\n```javascript\nimport Relay from 'react-relay/classic';\n\njest.mock('react-relay/classic', () => {\n    return require('relay-helpers/lib/tests/mocks').Relay;\n});\n\ndescribe('test', () => {\n    it('should render loading state', () => {\n        Relay.Renderer.nextRenderResult = {};\n        // render a component that has a relay renderer in it\n    });\n    \n    it('should render ready state', () => {\n        Relay.Renderer.nextRenderResult = {\n            props: {\n                user: {...}\n            }\n        };\n        // render a component that has a relay renderer in it\n    });\n});\n```\n\n### `createMockRelayEnv`\n\nThis requires jest but will provide a mocked relayEnv context.\n\n### `expect(relayEnvContext).toHaveMutated`\n\nAlso requires jest.\n\n```javascript\nconst relayEnv = createMockRelayEnv();\nexpect(relayEnv).not.toHaveMutated();\n\nconst wrapper = shallow(<MyComponent />, {context: {relayEnv}});\n\n// ... do something that causes a mutation such as:\nrelayEnv.mutate({\n    query: {name: 'MyQueryName'},\n    variables: {my: 'variable'}\n});\n\nexpect(relayEnv).toHaveMutated();\nexpect(relayEnv).toHaveMutated('MyQueryName', {my: 'variable'});\nexpect(relayEnv).toHaveMutated('MyQueryName', {my: jasmine.any(String)});\n```\n","maintainers":[{"email":"gregory.collett@live.co.uk","name":"gcollett"},{"email":"mat@mixcloud.com","name":"matclayton"},{"email":"sam.cooke@xylate.com","name":"sdcooke"}],"time":{"modified":"2022-09-01T09:29:20.838Z","created":"2017-03-02T17:13:05.154Z","0.0.1":"2017-03-02T17:13:05.154Z","0.0.2":"2017-03-02T17:25:21.136Z","0.0.3":"2017-03-08T17:16:31.474Z","0.0.4":"2017-03-10T12:09:22.429Z","0.0.5":"2017-03-10T17:01:36.331Z","0.0.6":"2017-03-17T11:03:57.287Z","0.0.7":"2017-03-23T10:45:56.800Z","0.0.8":"2017-04-03T14:20:40.393Z","0.0.9":"2017-04-07T11:49:44.385Z","0.0.10":"2017-05-10T14:38:03.276Z","1.0.0-alpha":"2017-07-03T15:13:01.950Z","1.0.0":"2017-07-03T15:52:06.524Z","1.0.1":"2017-07-07T09:28:03.323Z","1.0.2":"2017-07-07T09:33:03.184Z","1.1.0":"2017-07-18T14:28:07.554Z","1.1.1":"2017-07-18T15:09:13.593Z","1.1.2":"2017-07-18T17:04:52.442Z","1.1.3":"2017-07-20T13:36:11.066Z","1.1.4":"2017-07-25T15:56:17.810Z","1.1.5":"2017-07-28T11:17:30.058Z","2.0.0":"2017-08-10T11:35:46.869Z","2.0.1":"2017-08-11T14:05:47.482Z","2.0.2":"2017-08-11T17:44:41.987Z","2.0.3":"2017-08-14T12:36:58.162Z","2.0.4":"2017-08-16T09:13:31.621Z","2.0.5":"2017-08-24T10:18:32.228Z","2.0.6":"2017-09-14T13:24:56.167Z","2.0.7-0":"2017-09-28T11:15:43.749Z"},"homepage":"https://github.com/mixcloud/relay-helpers#readme","keywords":["graphql","relay","react"],"repository":{"type":"git","url":"git://github.com/mixcloud/relay-helpers.git"},"author":{"name":"Sam Cooke","email":"sam@mixcloud.com"},"bugs":{"url":"https://github.com/mixcloud/relay-helpers/issues"},"license":"MIT","readmeFilename":"README.md"}