{"_id":"@barbuza/kebakaran","_rev":"5-3d90302b7e4231a7b0f1b1f39db73aa7","name":"@barbuza/kebakaran","description":"strongly typed high level utilities for consuming data from firebase","dist-tags":{"latest":"2.4.0"},"versions":{"2.2.0":{"name":"@barbuza/kebakaran","version":"2.2.0","description":"strongly typed high level utilities for consuming data from firebase","main":"dist/lib/index.js","scripts":{"prepublish-only":"npm run build","lint":"tslint -p tsconfig.json","test":"jest","build":"rimraf lib && tsc && tslint -p tsconfig.json && jest --coverage && rimraf lib/__tests__"},"author":{"name":"Victor Kotseruba","url":"https://github.com/barbuza"},"license":"ISC","peerDependencies":{"immutable":"^3.8.1"},"devDependencies":{"@types/jest":"^20.0.6","@types/node":"^8.0.20","coveralls":"^2.13.1","firebase":"4.8.0","immutable":"^3.8.1","jest":"^20.0.4","rimraf":"^2.6.1","ts-jest":"^20.0.10","tslint":"^5.6.0"},"dependencies":{"@types/firebase":"^2.4.31","tslib":"^1.8.1","typescript":"^2.6.2"},"jest":{"moduleFileExtensions":["ts","js"],"moduleDirectories":["node_modules"],"roots":["<rootDir>"],"mapCoverage":true,"testRegex":"/__tests__/[^/]+-test\\.(ts|js)$","transform":{"\\.ts$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"collectCoverageFrom":["src/**/*.ts","!src/__tests__/**/*.ts"]},"gitHead":"3902bbcdd71754b5a51cc30a41ad11d18b213fc3","_id":"@barbuza/kebakaran@2.2.0","_npmVersion":"5.5.1","_nodeVersion":"9.3.0","_npmUser":{"name":"barbuza","email":"barbuzaster@gmail.com"},"dist":{"integrity":"sha512-egrEgeLIZXMkM9LMoWbBp88RFN3zTDMAwCAYeeLdJeB+db0wpgTI7QSn8GPamKys9xBZAGXHRcWVEWI9oxrrDQ==","shasum":"a291d88dc66663f3cc76098bf27fa7bf8de73f9e","tarball":"https://registry.npmjs.org/@barbuza/kebakaran/-/kebakaran-2.2.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB2lVZLVCec4v0bOdHdK8o1y3NQ8gG/OcItc1/rkIhCHAiALJ2yGG30kFgXfw+V72s+AAHFnRo4y+mSILuyhtyDVDw=="}]},"maintainers":[{"name":"barbuza","email":"barbuzaster@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kebakaran-2.2.0.tgz_1514074101088_0.946409999160096"}},"2.2.1":{"name":"@barbuza/kebakaran","version":"2.2.1","description":"strongly typed high level utilities for consuming data from firebase","main":"dist/lib/index.js","scripts":{"prepublish-only":"npm run build","lint":"tslint -p tsconfig.json","test":"jest","build":"rimraf lib && tsc && tslint -p tsconfig.json && jest --coverage && rimraf lib/__tests__"},"author":{"name":"Victor Kotseruba","url":"https://github.com/barbuza"},"license":"ISC","peerDependencies":{"immutable":"^3.8.1"},"devDependencies":{"@types/jest":"^20.0.6","@types/node":"^8.0.20","coveralls":"^2.13.1","firebase":"4.8.0","immutable":"^3.8.1","jest":"^20.0.4","rimraf":"^2.6.1","ts-jest":"^20.0.10","tslint":"^5.6.0","typescript":"^2.6.2"},"dependencies":{"tslib":"^1.8.1"},"jest":{"moduleFileExtensions":["ts","js"],"moduleDirectories":["node_modules"],"roots":["<rootDir>"],"mapCoverage":true,"testRegex":"/__tests__/[^/]+-test\\.(ts|js)$","transform":{"\\.ts$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"collectCoverageFrom":["src/**/*.ts","!src/__tests__/**/*.ts"]},"gitHead":"2bf9dd74defed1ac05e305a0e9793a5e3652ed48","_id":"@barbuza/kebakaran@2.2.1","_npmVersion":"5.5.1","_nodeVersion":"9.3.0","_npmUser":{"name":"barbuza","email":"barbuzaster@gmail.com"},"dist":{"integrity":"sha512-r3BWMCRDcN3HHuUgCGuVlTk8abFZzGanzjbE3RItb5wu8eaq0HOf3LTHtfyyCHbo4oH6fKvgg6V7dwM1xJ9vKw==","shasum":"86aba71118a806119148a3a7df0b532595da0b6f","tarball":"https://registry.npmjs.org/@barbuza/kebakaran/-/kebakaran-2.2.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC0sxMu/NE69Yx8QrGCcWZjXDu4lqd9WjxdkJSPuJt+nQIgSa8XYjJ5BMq3WMGANBgj8qF21ZMBxJc9XRI5l/Oml5g="}]},"maintainers":[{"name":"barbuza","email":"barbuzaster@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kebakaran-2.2.1.tgz_1514074251853_0.44938468956388533"}},"2.2.2":{"name":"@barbuza/kebakaran","version":"2.2.2","description":"strongly typed high level utilities for consuming data from firebase","main":"dist/lib/index.js","scripts":{"prepublish-only":"npm run build","lint":"tslint -p tsconfig.json","test":"jest","build":"rimraf lib && tsc && tslint -p tsconfig.json && jest --coverage && rimraf lib/__tests__"},"author":{"name":"Victor Kotseruba","url":"https://github.com/barbuza"},"license":"ISC","peerDependencies":{"immutable":"^3.8.1"},"devDependencies":{"@types/jest":"^20.0.6","@types/node":"^8.0.20","coveralls":"^2.13.1","firebase":"4.8.0","immutable":"^3.8.1","jest":"^20.0.4","rimraf":"^2.6.1","ts-jest":"^20.0.10","tslint":"^5.6.0","typescript":"^2.6.2"},"dependencies":{"tslib":"^1.8.1"},"jest":{"moduleFileExtensions":["ts","js"],"moduleDirectories":["node_modules"],"roots":["<rootDir>"],"mapCoverage":true,"testRegex":"/__tests__/[^/]+-test\\.(ts|js)$","transform":{"\\.ts$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"collectCoverageFrom":["src/**/*.ts","!src/__tests__/**/*.ts"]},"gitHead":"2bf9dd74defed1ac05e305a0e9793a5e3652ed48","_id":"@barbuza/kebakaran@2.2.2","_npmVersion":"5.5.1","_nodeVersion":"9.3.0","_npmUser":{"name":"barbuza","email":"barbuzaster@gmail.com"},"dist":{"integrity":"sha512-tm4RsSvZ3S1Z4ysLTKZ8R13SONqxTrQ85y44rfkg5GzQN9m5RNWGZHPZqwZyM1TCXjVG3y0xoD1M2HRNjl5/RQ==","shasum":"71e101c252594a24b2f779521572eb7046915d85","tarball":"https://registry.npmjs.org/@barbuza/kebakaran/-/kebakaran-2.2.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpDCr2nLOZogKr1m10qSIpFOaDCD59WvWS7Vx4YRkT0AIhAJXGjsAgmKdpPiZYVnLWmcR3cl5gbtptAFeAFmtGijaG"}]},"maintainers":[{"name":"barbuza","email":"barbuzaster@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kebakaran-2.2.2.tgz_1514074467016_0.43179179611615837"}},"2.3.0":{"name":"@barbuza/kebakaran","version":"2.3.0","description":"strongly typed high level utilities for consuming data from firebase","main":"dist/lib/index.js","scripts":{"prepublishOnly":"npm run build","lint":"tslint -p tsconfig.json","test":"jest","build":"rimraf lib && tsc && tslint -p tsconfig.json && jest --coverage && rimraf lib/__tests__"},"author":{"name":"Victor Kotseruba","url":"https://github.com/barbuza"},"license":"ISC","peerDependencies":{"immutable":"^3.8.1"},"devDependencies":{"@types/jest":"^20.0.6","@types/node":"^8.0.20","coveralls":"^2.13.1","firebase":"4.8.0","immutable":"^3.8.1","jest":"^20.0.4","rimraf":"^2.6.1","ts-jest":"^20.0.10","tslint":"^5.6.0","typescript":"^2.6.2"},"dependencies":{"tslib":"^1.8.1"},"jest":{"moduleFileExtensions":["ts","js"],"moduleDirectories":["node_modules"],"roots":["<rootDir>"],"mapCoverage":true,"testRegex":"/__tests__/[^/]+-test\\.(ts|js)$","transform":{"\\.ts$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"collectCoverageFrom":["src/**/*.ts","!src/__tests__/**/*.ts"]},"gitHead":"45ad88b97ef601cc29f55d51a4454e6730f4f561","_id":"@barbuza/kebakaran@2.3.0","_npmVersion":"5.5.1","_nodeVersion":"9.3.0","_npmUser":{"name":"barbuza","email":"barbuzaster@gmail.com"},"dist":{"integrity":"sha512-cOZkMbiUq51aqO7UvKlcMp2z+Zk5XmDHuuK2nzebgeO3E4IgrepuJmUzHn8Tcb29kmhlYw16TifCYb7gT7GqpA==","shasum":"79f569a61eb91822432d2f68014fa891966ecd62","tarball":"https://registry.npmjs.org/@barbuza/kebakaran/-/kebakaran-2.3.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDNCM4Dz2EPk5AjyUZhcDMZQ1QLlgFZ/973KElP+2Y5RgIgQW3gzh5kYEz/4XZYZnlWDyyBz1wSsPclxzNsj8EJIqE="}]},"maintainers":[{"name":"barbuza","email":"barbuzaster@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kebakaran-2.3.0.tgz_1514074825048_0.8660001640673727"}},"2.4.0":{"name":"@barbuza/kebakaran","version":"2.4.0","description":"strongly typed high level utilities for consuming data from firebase","main":"dist/lib/index.js","scripts":{"prepublishOnly":"npm run build","lint":"tslint -p tsconfig.json","test":"jest","build":"rimraf lib && tsc && tslint -p tsconfig.json && jest --coverage && rimraf lib/__tests__"},"author":{"name":"Victor Kotseruba","url":"https://github.com/barbuza"},"license":"ISC","peerDependencies":{"immutable":"^3.8.1"},"devDependencies":{"@types/jest":"^20.0.6","@types/node":"^8.0.20","coveralls":"^2.13.1","firebase":"4.8.0","immutable":"^3.8.1","jest":"^20.0.4","rimraf":"^2.6.1","ts-jest":"^20.0.10","tslint":"^5.6.0","typescript":"^2.6.2"},"dependencies":{"tslib":"^1.8.1"},"jest":{"moduleFileExtensions":["ts","js"],"moduleDirectories":["node_modules"],"roots":["<rootDir>"],"mapCoverage":true,"testRegex":"/__tests__/[^/]+-test\\.(ts|js)$","transform":{"\\.ts$":"<rootDir>/node_modules/ts-jest/preprocessor.js"},"collectCoverageFrom":["src/**/*.ts","!src/__tests__/**/*.ts"]},"gitHead":"008a91d4c78d8c2f8506ba9fe77577db14b2fda9","_id":"@barbuza/kebakaran@2.4.0","_npmVersion":"5.5.1","_nodeVersion":"9.3.0","_npmUser":{"name":"barbuza","email":"barbuzaster@gmail.com"},"dist":{"integrity":"sha512-YISYSeKful3wnvzGyjGqUWniiA7B2ZFSjD90mrqO//nRrrdlmvIUpM/I3wmtrAw4BUFKDaIWL8J2jzTHrCl36A==","shasum":"cb16b183042d25b0ec0d41d5bc9bb1c40ec8f5fc","tarball":"https://registry.npmjs.org/@barbuza/kebakaran/-/kebakaran-2.4.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICvA+rKgyBKUSHe7KgzN/kWNuVDH5O/pQrhlM9aOuxbSAiEAylkAYdAO9tUxyqIXJlcq6Uc1fxj/M3ZryNqTYBPee8I="}]},"maintainers":[{"name":"barbuza","email":"barbuzaster@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/kebakaran-2.4.0.tgz_1514467686489_0.6153446724638343"}}},"readme":"# kebakaran\n[![Build Status](https://img.shields.io/travis/barbuza/kebakaran2.svg?style=flat-square)](https://travis-ci.org/barbuza/kebakaran2)\n[![Coverage Status](https://img.shields.io/coveralls/barbuza/kebakaran2.svg?style=flat-square)](https://coveralls.io/github/barbuza/kebakaran2?branch=master)\n[![Npm package](https://img.shields.io/npm/v/kebakaran.svg?style=flat-square)](https://www.npmjs.com/package/kebakaran)\n\nstrongly typed high level utilities for consuming data from firebase\n\n## usage\n\nfollowing firebase data\n\n```json\n{\n  \"ages\": {\n    \"1\": 10,\n    \"2\": 20\n  },\n  \"names\": {\n    \"1\": \"foo\",\n    \"2\": \"bar\"\n  },\n  \"users\": {\n    \"1\": true,\n    \"2\": true\n  }\n}\n```\n\nmay be accessed like that\n\n### Struct\n\n```typescript\nimport { Struct, Transform } from \"kebakaran\";\n\nconst database = firebase.database();\n\ninterface IUserData {\n  age: number | undefined;\n  name: string | undefined;\n}\n\nconst struct = new Struct<IUserData>({\n  age: Transform.val(database.ref(\"ages\").child(\"1\")),\n  name: Transform.val(database.ref(\"names\").child(\"1\")),\n});\n\nstruct.on(\"value\", (value: IUserData) => {\n  // handle data\n});\n```\n\n### List\n\n```typescript\nimport { Emitter, List, Struct, Transform } from \"kebakaran\";\n\nconst database = firebase.database();\n\ninterface IUserData {\n  age: number | undefined;\n  name: string | undefined;\n}\n\ninterface IUser extends IUserData {\n  id: number;\n}\n\nfunction makeUserData(userId: string): Emitter<IUserData> {\n  return new Struct<IUserData>({\n    age: Transform.val(database.ref(\"ages\").child(userId)),\n    name: Transform.val(database.ref(\"names\").child(userId)),\n  });\n}\n\nfunction makeUser(userId: string): Emitter<IUser> {\n  return new Transform<IUserData, IUser>(makeUserData(userId), (userData) => ({\n    age: userData.age,\n    id: parseInt(userId, 10),\n    name: userData.name,\n  }));\n}\n\nconst userListRef = Transform.keys(database.ref(\"users\"));\nconst list = new List<string, IUser>(userListRef, makeUser);\n\nlist.on(\"value\", (value: IUser[]) => {\n  // handle data\n});\n```\n","maintainers":[{"name":"barbuza","email":"barbuzaster@gmail.com"}],"time":{"modified":"2022-04-04T17:43:13.611Z","created":"2017-12-24T00:08:22.146Z","2.2.0":"2017-12-24T00:08:22.146Z","2.2.1":"2017-12-24T00:10:53.240Z","2.2.2":"2017-12-24T00:14:28.124Z","2.3.0":"2017-12-24T00:20:25.600Z","2.4.0":"2017-12-28T13:28:07.421Z"},"author":{"name":"Victor Kotseruba","url":"https://github.com/barbuza"},"license":"ISC","readmeFilename":"README.md"}