{"_id":"abstractor","_rev":"39-5c837f5655e79c39d76e306feb476127","name":"abstractor","description":"Node.js abstraction layer and automation framework.","dist-tags":{"latest":"1.0.0-rc.4"},"versions":{"0.0.1":{"name":"abstractor","version":"0.0.1","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"dependencies":{"croner":"*","node-uuid":"*","qbus":"*"},"devDependencies":{},"license":"MIT","gitHead":"ec60ae229da09dafe2cfc3272a074f8d21eb8f42","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@0.0.1","scripts":{},"_shasum":"b5d4047e0226e80606fb1b8136f8f23b5a108d70","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.3.0","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"b5d4047e0226e80606fb1b8136f8f23b5a108d70","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-0.0.1.tgz","integrity":"sha512-ln7wBjH2zfTCUqSwgd9fv5vrSslR6PcWkJCiHq7yIc3Xe6V5mB+cD7hUvHpxw6Vof36hyMsZZmq7SiK1QzAQhg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH4V/jz0HifkK5JKHACv2Ll1f28Voky5VHSJ3rZPPmwsAiEAprn/eBzHlosXujlusUlSedkcnV20X+RMjmGn5gvKIO0="}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/abstractor-0.0.1.tgz_1474923776946_0.647855733288452"}},"0.0.2":{"name":"abstractor","version":"0.0.2","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"dependencies":{"croner":"*","node-uuid":"*","qbus":"*"},"devDependencies":{},"license":"MIT","gitHead":"5523677a23c7438399a3911ff65053669086dfe5","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@0.0.2","scripts":{},"_shasum":"45f4a680323d8218954e2455d730b5aee36c03f6","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.3.0","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"45f4a680323d8218954e2455d730b5aee36c03f6","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-0.0.2.tgz","integrity":"sha512-Yn5rO+0MeBAd+n1QM8DWtaXTbbRMuV6+o5fnRckPh1aRuY9Xach23vdQe6AyJwxFLDeVSxlXxlua0LTCiJprRw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDe9DPsKgZg+3aitPOLXq/U12FYlPZPcTiUP//QI2qaGwIhAPIRvBCpKcvuvXnKKkWARhRUbbgbzCJ+5JfplgLjeJI1"}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/abstractor-0.0.2.tgz_1475179144885_0.460591551149264"}},"0.0.3":{"name":"abstractor","version":"0.0.3","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"dependencies":{"croner":"*","node-uuid":"*","qbus":"*"},"devDependencies":{},"license":"MIT","gitHead":"67232fa0a3af7c10179b005f5b77c7cffc78c191","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@0.0.3","scripts":{},"_shasum":"6a3e4930f66fdf67c79fef09670a9bb16f7b15c3","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.3.0","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"6a3e4930f66fdf67c79fef09670a9bb16f7b15c3","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-0.0.3.tgz","integrity":"sha512-98z4RnK0C7xRdY2kh/0IZBK0u2i1RqVkw0s3weoERS8ylojg2DixLthgzwZibE5yI+5kygPnGc67QHad55SEGA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAmh9PzvriV0JThvhuo2PuqV+T4BODOGc+ZLruOeYr4hAiEAg7D3XTxxNkulrn533Ww9iGEafQwAIlcifxQZ96kvbfQ="}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/abstractor-0.0.3.tgz_1475186432973_0.07098166993819177"}},"0.0.4":{"name":"abstractor","version":"0.0.4","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"dependencies":{"croner":"*","node-uuid":"*","qbus":"*"},"devDependencies":{},"license":"MIT","gitHead":"bcd5f71abb3431fe1e67f979627aef4d49cc70e2","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@0.0.4","scripts":{},"_shasum":"cc760572bfcc0f7a2eb42b0a4c1d1f306197bec4","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.3.0","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"cc760572bfcc0f7a2eb42b0a4c1d1f306197bec4","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-0.0.4.tgz","integrity":"sha512-aTNyd1WQo/D9ekaod3AswjldVa0xFbXWvj3F03NYVb+kis6yjfKKvFo8tBLRuwdA5o1fFLMt4ra+R+r1tTRDdA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAqMMC8cxP1ZE5lRAMMq2x5OMbPqd2kBpnVlPhWLtiF7AiEAtz2MAQQ+w4Kbqu6lRU5MnxMkq0u4HVR8Jj+ymQ0x+rg="}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/abstractor-0.0.4.tgz_1475272933697_0.06470138276927173"}},"0.0.6":{"name":"abstractor","version":"0.0.6","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"dependencies":{"croner":"*","node-uuid":"*","qbus":"*"},"devDependencies":{},"license":"MIT","gitHead":"d05d8395a027b522856977145971e2da55863cec","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@0.0.6","scripts":{},"_shasum":"f18e1805887f55716333d1e63909b4ba522b6638","_from":".","_npmVersion":"3.3.12","_nodeVersion":"5.3.0","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"f18e1805887f55716333d1e63909b4ba522b6638","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-0.0.6.tgz","integrity":"sha512-cnKKUseIATsam1r7EDRv9IAWkXlpjAlhRZmlo7PEJNO3s9XQEjbkKVKGjKXde65CPvCiCU7T7DKXEBoLyNGpPQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDDPnRODvTnn0RAlTx8qOm8/pwbibDPEQCqv2gYa2MHpAIgF2Rq6J54Dc8WZ1pQi93L0OeyABZfz5UhmbfFSv0p8yI="}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/abstractor-0.0.6.tgz_1475275065822_0.7304648517165333"}},"0.0.7":{"name":"abstractor","version":"0.0.7","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"6bb7265be54a5897545ff995154417b27c834b1d","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@0.0.7","_shasum":"f0b7f855c73dff4c768442c92c2a049977d3fe8d","_from":".","_npmVersion":"2.14.4","_nodeVersion":"4.1.2","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"f0b7f855c73dff4c768442c92c2a049977d3fe8d","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-0.0.7.tgz","integrity":"sha512-dUKBx3HGjd7o2F8aa+/ByMDxGoVLElGBPehHvvesSCwYB5zRO38zv/4JPwmwlzXE7mysH2I7amZeirwdnAsx5w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHif3o/6NAngnrerLALHPrx94fbRLKADFIWIcuSEyQrgAiA8NYDDeJd0lVKwHRs0OuUX60bVNxzVAcWgaROI7StD8Q=="}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/abstractor-0.0.7.tgz_1475362431808_0.09434133558534086"}},"0.0.8":{"name":"abstractor","version":"0.0.8","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"7cd3c93bdbba7666d4f5fb3835711de3784f6c99","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@0.0.8","_shasum":"c9276fad1e7b85947f1f291ff35fecadfaf729eb","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"c9276fad1e7b85947f1f291ff35fecadfaf729eb","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-0.0.8.tgz","integrity":"sha512-gC+ySEkRt7oRe5nIDue/Miw7jTYSvsaw/Wlm3hUcIA9Ezdrcqp948cRWyAE6jdgGVorLUVutlJsm3RcRtA2LWA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDxKIiaD79g9TM4QWALiWcfQRsxtQwqS/A7szT2JwK43AiAmXZcOE8+a6HTLrAe1Fir2/yOciqvuBBea0yIwIin9bw=="}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/abstractor-0.0.8.tgz_1475438676175_0.7920970320701599"}},"0.0.9":{"name":"abstractor","version":"0.0.9","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"73afa51c584408e66b43bafe23692bc703d392ed","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@0.0.9","_shasum":"e8ce2a6217d4a145a8436369d6b6170baf3de7bc","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"e8ce2a6217d4a145a8436369d6b6170baf3de7bc","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-0.0.9.tgz","integrity":"sha512-Q3Nm0NvgN9Nu838qxjkR4Uu42QfTPm5inpjRWv3mLUGEW7QkxAYZXyg48OHafWPNtD075WRvbNslfj+b709jCA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGuQ7edOESakoiYui3MB+pNKoZohmjUX2mKrmxnd46QkAiEA/pp8mcysE5Ob9sfy6ig1WNvm57RPNk5+1V9YjtjUpyg="}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/abstractor-0.0.9.tgz_1475441575037_0.9949897283222526"}},"0.0.10":{"name":"abstractor","version":"0.0.10","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"785cdac5091303e069f2e21b7fd28f9d36c4626b","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@0.0.10","_shasum":"3b4b1cbe81015f6fcbe2e2db1da17a546a7cb029","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"3b4b1cbe81015f6fcbe2e2db1da17a546a7cb029","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-0.0.10.tgz","integrity":"sha512-PMg5JQpq8uO1DSd1EDoM34jZ4LS+LuCRir9vUzlVYmA2WRNANGmc0JsbpE0zqfdCF+IOdc/JMrq91f4t7TTcUA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE2u8rIMijmT7uDa+J2LzdcFj4EPErRlB7asembBnBEiAiBHx3tH+vXWODT2Q2qxi/S0slWDS9g/jcbZbFrMtSlLMw=="}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/abstractor-0.0.10.tgz_1475442501140_0.5563951858785003"}},"0.0.11":{"name":"abstractor","version":"0.0.11","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"aa4d0ec4bed1326ec9cdfd1d4d23d139a13f1c7c","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@0.0.11","_shasum":"e587e41116ce780c0f386c7d205fc08a3cdb9cbb","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"e587e41116ce780c0f386c7d205fc08a3cdb9cbb","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-0.0.11.tgz","integrity":"sha512-nxnoW5KQXjbYFL/gJ3FG8OeLBScwfW09zh55q5TEIpfnQc43Vu3F0dlAJf5yaQmy0pHQrEvva4U+PPCCRfUeCw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDOJrI4I5RgGEGGtIR3B1VYAHYaYD6CnHL1ibyqRGbWvQIgFvO4/5oNR6FJDa9MOcR4akBjxbDzOiYdrbGhW7byBww="}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/abstractor-0.0.11.tgz_1475531818636_0.31436563981696963"}},"0.0.12":{"name":"abstractor","version":"0.0.12","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"f0fbbbeb57f818993764ab75bdc3fac6c2fa89e4","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@0.0.12","_shasum":"1fb267d37b967ac3396581836fe842d380041a65","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"1fb267d37b967ac3396581836fe842d380041a65","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-0.0.12.tgz","integrity":"sha512-9sYAr0eHtmMp1/xBSITtuxH1nF8RKSvp08L8PK8Tq9ra+ke0KopzZ7L3xkGY4Rf1gchTMsm/kUDMPTP2Trfpcw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB47ETRqCghE8/nvGsWRWNNvnvFpDFq0ZgNyxNcIOQihAiEAz8yulIiqd7x53UYrj/uK9hTEPWbWqhoUGmhvnbARz6c="}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/abstractor-0.0.12.tgz_1475608876012_0.8534192924853414"}},"0.0.13":{"name":"abstractor","version":"0.0.13","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*","suncalc":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"1d3a7cd81cd6f762c80365e453fbcfef2f66c071","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@0.0.13","_shasum":"79c08125d17a90b096d585ff853dc96a2671d572","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"79c08125d17a90b096d585ff853dc96a2671d572","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-0.0.13.tgz","integrity":"sha512-/qLMijg/HAehTqrj8zGQ+kOBIWrEFwaA9YJ1tRM7yoyJGJm7AO19rbEHwpGIzhZvK0ZxRRImBZ2H1sr4ScCFyw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHtDu5gmZqAkYUoKQD56A4s7/Q3lJiUsXaLdWRj6K3LfAiEAkwLvbcWVS0j5/TNUPOk5+0WwUkr1CsBs1qm1CNDLJaw="}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/abstractor-0.0.13.tgz_1475614939909_0.7160833517555147"}},"0.0.14":{"name":"abstractor","version":"0.0.14","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*","suncalc":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"d1de41c979c60dc8cda83607d577283d593b02de","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@0.0.14","_shasum":"42f70fd10ee790297a393cb998795ffca9c692e0","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"42f70fd10ee790297a393cb998795ffca9c692e0","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-0.0.14.tgz","integrity":"sha512-Im7dLTGngIUV0lpYyo4YBLExaDrz2rViJGB1Ze6jazwmICap0vut5ZXpb/2vV0MMd3x4DpeZd679ACAZOeX18w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCiUtrAPmhQIktJuYyRdLoC1pLP2Ydd+hRJp3iUfq2DVQIgLXo/jnTt5Xpl5wrnCOe226VEsXRWj/jEcVww7BzCUYE="}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/abstractor-0.0.14.tgz_1475617595116_0.47783096926286817"}},"0.0.15":{"name":"abstractor","version":"0.0.15","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*","suncalc":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"16e89f1b80c28f5c1f2c76df5266bcd32b76d62c","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@0.0.15","_shasum":"742d0f0fab0c5b78a582e5932ea2f63773ad1df3","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"742d0f0fab0c5b78a582e5932ea2f63773ad1df3","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-0.0.15.tgz","integrity":"sha512-r/g6sZ054F+AYiwIYDMBm+KjNMUWhtHfYDZZE9/zYePCc2MeiQ48by6lrvdyJPwurfZ4H0KvR5oCknInkPsn/Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFQevS29f+lBosErZJZSl5PRXK+ZaauBKIegqDdwJIxhAiEA3GrbXbNFWtHzNswc/kkEkthmDKvU/bTFgPaEdYIe/Xo="}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/abstractor-0.0.15.tgz_1475697184273_0.16133270249702036"}},"0.0.16":{"name":"abstractor","version":"0.0.16","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*","suncalc":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"1d59dd4b0a719bfaa3be2a7bdc0fb394590832eb","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@0.0.16","_shasum":"c30c491e2b204d578c5ab40b0cbfb5ebca67db7b","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"c30c491e2b204d578c5ab40b0cbfb5ebca67db7b","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-0.0.16.tgz","integrity":"sha512-RVeIrF4xoaE475HC+Yob2eX6y7ed0yRQUsOy4r/jaCGQJhnspHBl6D9ipogSZsG2egg4feI8XcZU72wJSJlGnA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCic4hz6BwgOdSCIz0Q9tuspXFo/fdDjl/MD+BZ239bcwIhAP3SJo7evIHRTXryN6Ifbol6YbjkT+WM6RuaO/EZtN17"}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/abstractor-0.0.16.tgz_1475703774945_0.404815026326105"}},"0.0.17":{"name":"abstractor","version":"0.0.17","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*","suncalc":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"839bb8054038325b3656ceaee636c4946f41d1e4","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@0.0.17","_shasum":"fb407f28af776e7d1d98bc3e651ffafff8099c83","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"fb407f28af776e7d1d98bc3e651ffafff8099c83","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-0.0.17.tgz","integrity":"sha512-a6zbPFQoAp+H34d23uyUn1UzXM0K89NPKc+5cOy+hHfMINg3uHAVYwU6ygrebNfQ4fFKEnZNjcg4gbJHD9OOJA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDtQ6tiHvIXaMJNwCrCi7II69S1t+5EA5I41APVisba7AIhAKyNDQWBHog0w7Sa7fDxJ8bBsjyMlTKHen/glYEqQ/gP"}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/abstractor-0.0.17.tgz_1475704628396_0.8503002196084708"}},"0.0.18":{"name":"abstractor","version":"0.0.18","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*","suncalc":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"a69bf1333cb7986158090da5f096c9e67adac0e5","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@0.0.18","_shasum":"0b030061b571318d0b2ab545ac7785105f9f534e","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"0b030061b571318d0b2ab545ac7785105f9f534e","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-0.0.18.tgz","integrity":"sha512-mc50KFSyY/cbULDHpzkIyy0PCF1n54BJLbBBJpgyBWm1KMBL2mcAHJ5VFSlogMDK+G9LXK6MLh3WvfyvcN7q7A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDTUS3LdttCr8QBkgnniRrLWY8L+diUbwsgYOx5ui/ShQIhAPlhP/53qLjvxLji21ojxLuUZpy4joOYKEmKooM2diy2"}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/abstractor-0.0.18.tgz_1475782390102_0.7514138920232654"}},"0.0.19":{"name":"abstractor","version":"0.0.19","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*","suncalc":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"81696b5542acc0f19748d79399e035fd80b9ef71","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@0.0.19","_shasum":"6f65b3145c6f1612247c1a295581d3051842dcb2","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"6f65b3145c6f1612247c1a295581d3051842dcb2","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-0.0.19.tgz","integrity":"sha512-escOAohmPvPpcMZPNAzFPSgL0RmwTX3g5lLui6ZYhuQ8qeOWlYI/tW333AbcO2js+56yrLTsfhtiXSAtrIma7A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFTqmHNx+T9rdPJ6qTdXHdAYXad6kXmSAkJKNApqm3kxAiBKpqtl+vh6BkFa1ufTziEoLIi7Qb3S0f4bTqVvN8yO0Q=="}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/abstractor-0.0.19.tgz_1475784575547_0.2889595152810216"}},"0.0.20":{"name":"abstractor","version":"0.0.20","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*","suncalc":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"4130c1a0d17266216fc0cea557dc8c24e80edb65","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@0.0.20","_shasum":"f7abe53908fa720b10293cac3366a8835f482d2f","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"f7abe53908fa720b10293cac3366a8835f482d2f","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-0.0.20.tgz","integrity":"sha512-NgKJhXi5Vxcx8a22KJn2yUoO9WyG/vGq6QdOXwoy3XDdGqMD9Zp/9ErMWn0yaFSRi4eWsZjx0/+j8Eoz/bOn1g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGckJiWy5fHOSv+qxzU/Q0zFsnFwa8BH6Ureb7xXQZLGAiEAiEfw8rUspZS4tR1QGOkBtpOHbHBuqOZBisPDYZLr8hY="}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/abstractor-0.0.20.tgz_1475787873158_0.9209959097206593"}},"0.0.21":{"name":"abstractor","version":"0.0.21","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*","suncalc":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"4fdf4ec5ef4581a309437b9a412324d74b747e53","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@0.0.21","_shasum":"af57e51e9217918c9e13a4c293631bb4b0c0ddba","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"af57e51e9217918c9e13a4c293631bb4b0c0ddba","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-0.0.21.tgz","integrity":"sha512-lACzGuepzejkVgg48mAm3ro9dJlxT9uT5wdTefWHtXiXXz5Iok0ZuXZUhVbTEeg9mbQ2bLWxPSEIJXXYGZXzXA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIErHIkiAmDGhQvuVYiCCQuKW6v3L+DpbjxTPXuUvzbZyAiA5yJv8fBWBsnLtWFaLOCaslOhM3PXZ2/zcHZSxqK4oLw=="}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/abstractor-0.0.21.tgz_1475789783225_0.7946964574512094"}},"0.0.22":{"name":"abstractor","version":"0.0.22","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*","suncalc":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"aea5802f10b174f251d6cb673db5c130e3e44d2e","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@0.0.22","_shasum":"915dde5d86cdc3acf8d38ea98d23e07c2bffe7b7","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"915dde5d86cdc3acf8d38ea98d23e07c2bffe7b7","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-0.0.22.tgz","integrity":"sha512-RTCQaHk1irKYp7/yow/4DdUXUMUzXE4MRGCjVJP6IBC6CyL9JHSSjQDfcXrFMFFzg4I7X4a2Rm3ZRrukgWTHZA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFhryPweJNok+A4Nz/J4EAlvGRDYGOdLeUpU64gEdmAQAiB4zan/iPVtRywntXI5Ur8DrjQhN4dDaH8nmshZE0RYOw=="}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/abstractor-0.0.22.tgz_1475879743193_0.17369845160283148"}},"0.0.23":{"name":"abstractor","version":"0.0.23","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*","suncalc":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"aea5802f10b174f251d6cb673db5c130e3e44d2e","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@0.0.23","_shasum":"8a2b3580380f7cef4f4f43e5e4c4ea8e987765b7","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"8a2b3580380f7cef4f4f43e5e4c4ea8e987765b7","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-0.0.23.tgz","integrity":"sha512-zcdyGkQV+TcO/jJSsf9JDE8rDNJTJgYI6QpzdCwL424Nb+JDYyUyM8+zIiSck/blHD3fubz+eWh95UrG9XntQQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDKS+dXoRlrqYTaK/DUylnz1FVl3AIt8eQdinRUnD9BrgIgc3aYRewR9BGncteWo4pSzZKa1AxJN6GlSe7oqBor0+U="}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/abstractor-0.0.23.tgz_1475880311574_0.5353421773761511"}},"0.0.24":{"name":"abstractor","version":"0.0.24","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*","suncalc":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"07b27e9d6690ebf4d9c95562f1c95b69db67cc23","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@0.0.24","_shasum":"06e00fa207a730c03b0f801088e94918aad5efa0","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"06e00fa207a730c03b0f801088e94918aad5efa0","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-0.0.24.tgz","integrity":"sha512-R9bB86D3UxxBeVpjZKVWk5WIOz9ZcSpGE2pyvCfcFarg+OEUiMQbjDC+HWeSqCd3EqkrX+FzxtG4tKorecAAxg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDjvsKNAS0ewqqM5vUtkKqqO1vzdR5HACL9GYIjl2W4/QIhANImbJgMFzuIVqs+d3TRD3FyU9tAy8r3RdP+Igk1tEQY"}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/abstractor-0.0.24.tgz_1475969736820_0.6529636757913977"}},"0.0.25":{"name":"abstractor","version":"0.0.25","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*","suncalc":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"07b27e9d6690ebf4d9c95562f1c95b69db67cc23","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@0.0.25","_shasum":"7a3d4ce92f70d5780f8e71cdd5f64ba13a2fffa1","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"7a3d4ce92f70d5780f8e71cdd5f64ba13a2fffa1","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-0.0.25.tgz","integrity":"sha512-Uj+ieF41+cSFYshCzvjDJpuHbLrl1K1ebbkaepUSr0b3LB8yVkWUtAZ14cFVXDXEWCaWaVtKiTSAczPNcCDy+g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDJRy39wj+/9tOp4haN7NRVTOtaPwz/aylW7d5R2/OxmAiBOzd430Hwsd3Pk5kW/Gsr/UIBJRpRi+hCUKsznzwkZXQ=="}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/abstractor-0.0.25.tgz_1475970021155_0.1046316355932504"}},"0.0.26":{"name":"abstractor","version":"0.0.26","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*","suncalc":"*","colors":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"77e1f44e772cbd14fe14e19b17d5d7df63443399","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@0.0.26","_shasum":"59e29391cc7510298470ec27177eec1184a93b7b","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"59e29391cc7510298470ec27177eec1184a93b7b","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-0.0.26.tgz","integrity":"sha512-Y3Ewa16mQFl26EPF4PeiPrMT6l3wK7Ajn1WueGcaztDAqfFL3343i46DxpPsRtkiK4hfsPkBTKTJyiGg9EVqKA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAkGcwOc6ha97DvdQlXLROuZPX/TlQjAhX8iMhHN8N+sAiEAnSFkR+DLlGx6U+wgldjyLrZmeK3pqezZb+Kzbv6dQXc="}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/abstractor-0.0.26.tgz_1476052258889_0.021877677645534277"}},"0.0.27":{"name":"abstractor","version":"0.0.27","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*","suncalc":"*","colors":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"ee9eb4b68fe0e69f670c63c7edf542c085236afe","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@0.0.27","_shasum":"9273e5a12eba09c58d18d4109d2b15277ee9febb","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"9273e5a12eba09c58d18d4109d2b15277ee9febb","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-0.0.27.tgz","integrity":"sha512-d6F6v7tk8YjlBmsVBH8cS6F4yrdWDUJzG3Yj4v/zM3AWlgBdmQ42ddjeHdmv35crv97mYRo/4Ta+wvzjevB5YA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCHgNDn3aJ0dbx0NhP2w7PdwiGY/W/dAhUG+NBHTlwKKwIgNVcWac6Kc77ceYsXOA+/aniv+NbywBchNS9NdDKB/v4="}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/abstractor-0.0.27.tgz_1476127786721_0.2871510707773268"}},"0.0.28":{"name":"abstractor","version":"0.0.28","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*","suncalc":"*","colors":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"49389ab788f32d15088e39d513ab695121d28ce4","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@0.0.28","_shasum":"9692d3bd303757f9833dc4c34838363db1168606","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"9692d3bd303757f9833dc4c34838363db1168606","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-0.0.28.tgz","integrity":"sha512-5XKlO4fHpmvmBfOIfxPv374yE4t4q7WDBp5qFhnfJBChFCl57uMAk78Tk3Bj239NbHpZ+1uBIwuQMsiaymx48A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID0ywt9jmXF/0Y3i/vvrG1/1PgouBM15ePUabaZcRmBOAiAK55I9Ev1caYHpuiWPoYK76IjNhjmGmEpWrzQa4x6Vpw=="}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/abstractor-0.0.28.tgz_1476136297956_0.7121134113986045"}},"1.0.0-beta.0":{"name":"abstractor","version":"1.0.0-beta.0","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*","suncalc":"*","colors":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"b05a57d54e161d077b162c7db3a165646e2919d4","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@1.0.0-beta.0","_shasum":"ccde98447ef028d9c0881efa59e80d1026a39713","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"ccde98447ef028d9c0881efa59e80d1026a39713","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-1.0.0-beta.0.tgz","integrity":"sha512-Dd9V98DJhltucOBhFVEVGOqSbX7KdMdrIrYnBE/KKuNPClnjczMeo4NLuR9IugLrEoQpf2gz7hazlcptSg2rug==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDGHuIpjuiezjF/6U4pEcydsY9NLch3mzJA8rzZuBJ8LAIhAID9oEEYioX8ykhgdU6uTL0KXj39JeTagl8NyXpDUgFp"}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/abstractor-1.0.0-beta.0.tgz_1476305509572_0.2919012561906129"}},"1.0.0-beta.1":{"name":"abstractor","version":"1.0.0-beta.1","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*","suncalc":"*","colors":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"0b0f3bfc316bfb9e57687a5a18afb97ebf9d4cfc","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@1.0.0-beta.1","_shasum":"551a325df06ac4f8bb77123ab4de3d39172c3092","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"551a325df06ac4f8bb77123ab4de3d39172c3092","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-1.0.0-beta.1.tgz","integrity":"sha512-kvPukUrbMFfEj+WInM+dLW8RTzss8I01SA6NfoIpIpUKgEnTqkCQk5z0bI3vsYIsQbf2O0C1AAfHEUSwFTZWnA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAfWQOH5ak10BGMejiYS6zafjxn98Xfp4rBXYPaHqkSBAiAv0/RxBqORDsMabtaDYm2oYYR9j1g0V73toGKbQ1HO1g=="}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/abstractor-1.0.0-beta.1.tgz_1476339986261_0.4897246689070016"}},"1.0.0-beta.2":{"name":"abstractor","version":"1.0.0-beta.2","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*","suncalc":"*","colors":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"33c64008847aa9dc83f814888ec50b12451a018d","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@1.0.0-beta.2","_shasum":"4a77cefc30ee1b091fb358504d3b06b719069e2c","_from":".","_npmVersion":"2.14.7","_nodeVersion":"4.2.1","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"4a77cefc30ee1b091fb358504d3b06b719069e2c","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-1.0.0-beta.2.tgz","integrity":"sha512-yOQZ1+1bpitlBT9aoDTu5WRZRIL/kgu+TsTPhkZd7Iz7S2jm508+v94KAY4cOnA+XDhiRr3EBMwSIw4JC4e6AA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA7QqFWgJTEyfmv1K+VIiEr7N4FBsLalN3riGMVa3xNBAiB51VlE+T1UIFl3/cScyW1UClzddOcux4ZJiYK0z0eJkQ=="}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/abstractor-1.0.0-beta.2.tgz_1476347775961_0.5915352841839194"}},"1.0.0-beta.3":{"name":"abstractor","version":"1.0.0-beta.3","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*","suncalc":"*","colors":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"e9dbaa84f98ff9cc4f10688eb4132280b2103e57","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@1.0.0-beta.3","_shasum":"7ad0e9e6aa97717ba7fea4f16a63c4a8108f9b17","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"7ad0e9e6aa97717ba7fea4f16a63c4a8108f9b17","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-1.0.0-beta.3.tgz","integrity":"sha512-WjQkaZ7NEnLdRVRnmNu9zqA7SiXLuMNgYTxYafgAZXz63DJvrnl6MSnPQ9TheiFtEWqQMnWI+BzkUL6McrMZaQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAkwUXyuhd1qbnOuihEKPc7vR6LL4cyBnGyn6paefrUoAiBw90pqEjylW1g51m6gJK07QEzdjWFELpvqAn2vQxO+CQ=="}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/abstractor-1.0.0-beta.3.tgz_1476397694980_0.6443294021300972"}},"1.0.0-beta.4":{"name":"abstractor","version":"1.0.0-beta.4","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*","suncalc":"*","colors":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"f1539918b21856feedfb8e460a991d02e5b9a70c","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@1.0.0-beta.4","_shasum":"ff484a959db581cbfbaf6504d59cdc83692ad5d1","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"ff484a959db581cbfbaf6504d59cdc83692ad5d1","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-1.0.0-beta.4.tgz","integrity":"sha512-DxiOw+KWOl259/4wj9AWJP6BMqn2B/PltwU4CwuxB7jQZ/hCa8bUYq1b4H775gfAMyscEr3Bgd5RSgH3URj+DA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG2j3GU9Jpau80chEXI2ZFxofmFnOkjAteDhP2OTW+YcAiAbs2tfxQrzBQhehcISFIyfbC346n4IgsallC9oMKx2Dg=="}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/abstractor-1.0.0-beta.4.tgz_1476562558550_0.6812065385747701"}},"1.0.0-rc.1":{"name":"abstractor","version":"1.0.0-rc.1","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*","suncalc":"*","colors":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"d7f1e765ad68f26d535f606e6a1d1f4f94221fe0","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@1.0.0-rc.1","_shasum":"88ebd2c24903ba730d43f91f8dc70010a9ba0b1d","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"88ebd2c24903ba730d43f91f8dc70010a9ba0b1d","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-1.0.0-rc.1.tgz","integrity":"sha512-Z/VeUo05VIjYcedOOea5sx6R9R/cUY4ffqwwyOtT736HNpWLwWLMwtoWO2sGHeGs6Fre+hoFwmFALyoLbx7TWg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICtGYiMN8V+z2IruT5IVr1QMzT1ScP453O5XvqrRgVyEAiB7HZxajz3pHVD3c+3nmWIYqUuqzYl7fRzwBh/FZBfFyQ=="}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/abstractor-1.0.0-rc.1.tgz_1476815754372_0.6309880979824811"}},"1.0.0-rc.2":{"name":"abstractor","version":"1.0.0-rc.2","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"croner":"*","node-uuid":"*","qbus":"*","suncalc":"*","colors":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"cecf377090899a713ca2efcd30f87ce7e47fb178","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@1.0.0-rc.2","_shasum":"ece0e112985c818786a0c44f3592e80b6612cd6f","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"ece0e112985c818786a0c44f3592e80b6612cd6f","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-1.0.0-rc.2.tgz","integrity":"sha512-ijSLConpCAoLbDSsG8GLT/uHg2l7rN2LTwnpuRh0IQj6pL2m7yNy1lFSgTKcJuNmzK+93MHOdPD3j6mUkb9/wQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDJDziBFhDfTe+cjwucKu3LqNU5fa3953sJDBq26ua+5gIhALBGUWoZAmthl/aHnDZdr9tf5q+TCPdMqSFdD6QLVlaM"}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/abstractor-1.0.0-rc.2.tgz_1477951426704_0.506496220594272"}},"1.0.0-rc.3":{"name":"abstractor","version":"1.0.0-rc.3","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"colors":"*","croner":"*","qbus":"*","suncalc":"*","uuid":"^3.0.0"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"2f9275cc04c49f9b4ccd7e89701902caeef93d6c","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@1.0.0-rc.3","_shasum":"7182cbab3f81270d7846b0b57a8a1371bd35148a","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"7182cbab3f81270d7846b0b57a8a1371bd35148a","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-1.0.0-rc.3.tgz","integrity":"sha512-41fBkDh65Ojn/MWVK7kVrWtJjDiJXxGJY3xBpAAFCCCrRVFb/lo4wnjXeAWMV51CuGWRuUUVcYSsgsivY+i0QQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDyNBasOL1G8p+055WXxw0NPSFVG0VOTs81DglXwE5UOQIhAKFMfYc2E2z5lfqTIZuPn9cPbQlqjZYouOTnCA6VQWUp"}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/abstractor-1.0.0-rc.3.tgz_1480024634735_0.9118447205983102"}},"1.0.0-rc.4":{"name":"abstractor","version":"1.0.0-rc.4","description":"Node.js abstraction layer and automation framework.","author":{"name":"Hexagon","email":"github.com/hexagon"},"contributors":[],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"scripts":{"test":"mocha"},"dependencies":{"colors":"*","croner":"*","qbus":"*","suncalc":"*","uuid":"^3.0.0","klon":"*"},"devDependencies":{"mocha":"*","should":"*","fast-csv":"*"},"engines":{"node":">=4.0.0"},"license":"MIT","gitHead":"2f9275cc04c49f9b4ccd7e89701902caeef93d6c","homepage":"https://github.com/hexagon/abstractor#readme","_id":"abstractor@1.0.0-rc.4","_shasum":"1413f271cb2ec2673ac54482226326c5f58e3c0e","_from":".","_npmVersion":"2.14.12","_nodeVersion":"4.2.4","_npmUser":{"name":"hexagon","email":"robinnilsson@gmail.com"},"dist":{"shasum":"1413f271cb2ec2673ac54482226326c5f58e3c0e","tarball":"https://registry.npmjs.org/abstractor/-/abstractor-1.0.0-rc.4.tgz","integrity":"sha512-uYk5LaNFV4zYwLwA/jrKBJWYz3fa7vEomeExtgnmmUJCJsXjBRPYN8DaAyPZKVI0Dwa+xYxP7VHgh/l27CAPtw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCW2hEq6QDc2B4mdk96TuqlU3sNhwjSqtT1DiucaJ/gsAIgTaFm2kk+4iag3i1QEQyxULhrD0eUpQ8SUnie0vORqVE="}]},"maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/abstractor-1.0.0-rc.4.tgz_1480029998619_0.6459160170052201"}}},"readme":"\r\n# Abstractor\r\n\r\n[![Build status](https://travis-ci.org/Hexagon/abstractor.svg)](https://travis-ci.org/Hexagon/abstractor) [![npm version](https://badge.fury.io/js/abstractor.svg)](https://badge.fury.io/js/abstractor)\r\n[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](https://img.shields.io/badge/license-MIT-blue.svg)\r\n\r\nNode.js abstraction layer and automation framework.\r\n\r\n * [Introduction](#introduction)\r\n   * [Messages](#messages)\r\n   * [Nodes](#nodes)\r\n   * [Examples](#examples)\r\n   * [Installation](#installation)\r\n     * [Dependencies](#dependencies)\r\n   * [Debugging](#debugging)\r\n * [Documentation](#documentation)\r\n   * [Built in nodes](#built-in-nodes)\r\n     * [Cache](#cache)\r\n     * [Cron](#cron)\r\n     * [CSV](#csv)\r\n     * [Delay](#delay)\r\n     * [Exec](#exec)\r\n     * [File-read](#file-read)\r\n     * [File-watch](#file-watch)\r\n     * [File-write](#file-write)\r\n     * [Generic](#generic)\r\n     * [Heartbeat](#heartbeat)\r\n     * [HTML Parser](#html-parser)\r\n     * [HTTP Client](#http-client)\r\n     * [HTTP Server](#http-server)\r\n     * [JSON](#json)\r\n     * [Junction](#junction)\r\n     * [Kill](#kill)\r\n     * [Mail](#mail)\r\n     * [Map](#map)\r\n     * [MQTT](#map)\r\n     * [MSSQL](#mssql)\r\n     * [MySQL](#mysql)\r\n     * [Retry](#retry)\r\n     * [Split](#split)\r\n     * [Strip](#strip)\r\n     * [Sun](#sun)\r\n     * [Telldus device](#telldus-device)\r\n     * [Telldus sensor](#telldus-sensor)\r\n     * [Template](#template)\r\n     * [Websocket Server](#websocket-server)\r\n     * [Websocket Client](#websocket-client)\r\n     * [Queue](#queue)\r\n   * [Third party nodes](#third-party-nodes)\r\n * [License](#license)\r\n\r\n# Introduction\r\n\r\nThe basic idea behind abstractor is that more or less standardised [messages](#messages) is passed between [nodes](#nodes) to form an application.\r\n\r\n## Messages\r\n\r\nA message normally consist of a topic and a payload, but can have any number of additional attributes depending on which node it has passed, or will pass. \r\n\r\nWhen writing simple applications, you won't have to fiddle with messages manually. They will silently pass between the nodes you set up.\r\n\r\nAs an example, a message originating from the MQTT-node will look something like this ...\r\n\r\n```javascript\r\n{\r\n\ttopic: \"indoor/livingroom/roof/lights\",\r\n\tpayload: \"on\",\r\n\tqos: 2,\r\n\tretain: false\r\n}\r\n```\r\n\r\n... and a message on it's way to the file-write node will look like this ...\r\n\r\n```javascript\r\n{\r\n\tpath: \"~/abstractor.log\",\r\n\tflag: \"a\", \t\t\t// \"a\" == append, \"w\" == overwrite\r\n\tpayload: \"This will be appended to abstractor.log\"\r\n}\r\n```\r\n\r\nBoth path and flag can be set at [node](#nodes) level too, see next section.\r\n\r\n## Nodes\r\n\r\nNodes are essentially customized functions, which are designed to execute a specific task as efficiently and transparent as possible.\r\n\r\nSome nodes can both receive and emit messages. One such example is the json node, which converts the payload to a json string if it is a javascript object and vice versa.\r\n\r\nThe nodes connect to each other through pre-defined events, most nodes emit \"success\" or \"failure\" on completion. See the documentation for information on what each node can emit.\r\n\r\n## Examples\r\n\r\nTo put it all together, an example that continously tail a file on changes and output the last 10 rows to the console.\r\n\r\n```javascript\r\nvar\r\n\r\n    // Initialize abstractor\r\n    abstractor = require(\"abstractor\"),\r\n\t\r\n    // Create node factory\r\n    factory = abstractor()\r\n\r\n    // Create nodes\r\n    \r\n    // - Create instance of file-watch node, tell the node to monitor `/var/log/syslog`\r\n    //   This node will emit \"success\" every time the file changes\r\n    watchNode = \tfactory( \"file-watch\", { path: '/var/log/syslog' }),\r\n    \r\n    // - Create a file-read node, tell it to only read the last 10 rows.\r\n    //   On completion, \"success\" will be emitted.\r\n    readNode = \t\tfactory( \"file-read\", { tail: 10 }),\r\n    \r\n    // - In this example, we create a generic node (function wrapper) that just print the payload\r\n    //   to the console.\r\n    outputNode = \tfactory( \"generic\", function (msg) { console.log(msg.payload); });\r\n\r\n// Ok, the building blocks is ready, we just got to stack them up.\r\nwatchNode.on(\"success\", readNode);\r\nreadNode.on(\"success\", outputNode);\r\n```\r\n\r\nMore examples available at [/examples](examples/)\r\n\r\n## Installation\r\n\r\nThe simplest way to get Abstractor is through npm. Simply run the following in your command line from your project folder.\r\n\r\n```npm install abstractor```\r\n\r\n### Dependencies\r\n\r\nAbstractor itself has very few dependencies. However, certain embedded modules dynamically includes third party libraries. As an example, The telldus modules need http://github.com/hexagon/telldus to work.\r\n\r\nThe framework will raise an run time error if it is missing an dependency.\r\n\r\n\r\n## Debugging\r\n\r\n### logLevel\r\n\r\nThe logger has 5 levels of verbosity\r\n\r\n * 0 = Silent\r\n * 1 = adds errors\r\n * 2 = adds warnings\r\n * 3 = adds logs\r\n * 4 = adds notices (default)\r\n * 5 = adds full message for each invoke\r\n\r\nDefault mode (4) outputs a timestamped log everytime a node triggers a message.\r\n\r\n```javascript\r\nvar\r\n\r\n\t// Initialize abstractor\r\n\tfactory = require('abstractor')({logLevel: 4}),\r\n\r\n// ...\r\n```\r\n\r\nWill result in something like ...\r\n\r\n```\r\n[2016-10-02 21:50:12] CORE > Abstractor ready\r\n[2016-10-02 21:50:12] CORE > Imported node json on the fly.\r\n[2016-10-02 21:50:12] CORE > Imported node file-write on the fly.\r\n[2016-10-02 21:50:12] CORE > Imported node file-read on the fly.\r\n[2016-10-02 21:50:12] JSON > success\r\n[2016-10-02 21:50:12] FILEWRITE > success\r\n```\r\n\r\n\r\nFor more; see examples/ folder. \r\n\r\n# Documentation\r\n\r\nBelow is just a brief description of each of the nodes. For in-depth documentation, see the source files at [/lib/nodes/](lib/nodes/).\r\n\r\n## Built in nodes\r\n\r\n### Cache\r\n\r\nIn memory key/value storage, great for storing the last payload\r\nof a specific topic.\r\n\r\n[more](lib/nodes/cache.js) ...\r\n    \r\n### Cron\r\n\r\nCompetent cron-like scheduler based on croner (github.com/hexagon/croner)\r\n\r\n[more](lib/nodes/cron.js) ...\r\n\r\n\r\n**Related examples:**\r\n * [examples/heartbeat.js](examples/heartbeat.js)\r\n\r\n### CSV\r\n\r\nCSV parser and generator. Parser uses fast-csv.\r\n\r\nIf input payload is an array width objects, the contained objects are\r\nconverted to CSV rows.\r\n\r\nIf input payload is a string, the string is parsed to an array of objects.\r\n\r\n[more](lib/nodes/csv.js) ...\r\n\r\n### Delay\r\n\r\nWaits for x milliseconds before passing the message.\r\n\r\n[more](lib/nodes/delay.js) ...\r\n\r\n### Exec\r\n\r\nExecutes a command, returns exit code, stdout and stderr.\r\n\r\n[more](lib/nodes/exec.js) ...\r\n\r\n**Related examples:**\r\n * [examples/ping.js](examples/ping.js)\r\n\r\n### File-Read\r\n\r\nReads a file, capable of reading first/last x rows and first/last x \r\ncharacters.\r\n\r\n[more](lib/nodes/file-read.js) ...\r\n\r\n**Related examples:**\r\n * [examples/json.js](examples/json.js)\r\n * [examples/tail.js](examples/tail.js)\r\n \r\n### File-Watch\r\n\r\nWatches a file for changes, emits a message on change.\r\n\r\n[more](lib/nodes/file-watch.js) ...\r\n\r\n\r\n**Related examples:**\r\n * [examples/tail.js](examples/tail.js)\r\n\r\n### File-Write\r\n\r\nWrites payload (string/buffer) to a file, encoding and flag are configurable.\r\n\r\nPossible flags:\r\n   a  = append\r\n   w  = overwrite\r\n\r\n[more](lib/nodes/file-write.js) ...\r\n\r\n**Related examples:**\r\n * [examples/json.js](examples/json.js)\r\n\r\n### Generic\r\n\r\nConverts a regular function to a abstractor node.\r\n\r\n[more](lib/nodes/generic.js) ...\r\n\r\n**Related examples:**\r\n * [examples/batchcollect.js](examples/batchcollect.js)\r\n * [examples/mqttwsbridge.js](examples/mqttwsbridge.js)\r\n * [examples/ping.js](examples/ping.js)\r\n * [examples/tail.js](examples/tail.js)\r\n \r\n \r\n### Heartbeat\r\n\r\nMonitors the frequency of messages received, outputs \"timeout\" when no \r\nmessage has arrived in x ms.\r\n\r\n[more](lib/nodes/heartbeat.js) ...\r\n\r\n**Related examples:**\r\n * [examples/heartbeat.js](examples/heartbeat.js)\r\n\r\n### HTML Parser\r\n\r\nParses the payload HTML and outputs an object representing the html.\r\n\r\nThe get-parameter can contain any of these: \r\n  object    - Object representation of the selected element\r\n  attribute - Gets the value of a specific attribute \r\n\t      (specified by attribute option)\r\n  value     - Value of certain nodes (input, textarea select)\r\n  text      - Text contained in selected element\r\n  html      - ?\r\n  array     - Array of objects representing matched elements\r\n\r\n[more](lib/nodes/html.js) ...\r\n\r\n### HTTP Client\r\n\r\nGets the response code, body and response headers from an url.\r\nDoes follow redirects.\r\n\r\n[more](lib/nodes/http-client.js) ...\r\n\r\n### HTTP Server\r\n\r\nSimple HTTP server, triggers both \"request\" and \"/requested/url\" on \r\nincoming requests.\r\n\r\nExample: \r\n\r\nListen on all requests\r\n```javascript\r\nhttpNode.on(\"request\", handlerNode);\t// Receive message, pass to handler\r\nhandlerNode.on(\"success\", httpNode);\t// Handle message, pass back\r\n```\r\n\r\nListen on request to /api/enable/lamp\r\n```javascript\r\nhttpNode.on(\"/api/enable/lamp\", handlerNode);\r\n```\r\n\r\nListen on requests to /api/<wildcard>/on\r\n```javascript\r\nhttpNode.on(\"/api/:device/on\", handlerNode);\r\n```\r\n\r\nIn this case, handlerNode need to be a generic function that takes an extra \r\nparameter (the wildcard).\r\n```javascript\r\nrequestHandler = flow( \"generic\", function(msg, device) { \r\n    msg.payload = 'turning on ' + device;\r\n    return msg;  \r\n});\r\n```\r\n\r\nThe server responds to a request when it gets the message back. See first\r\nexample above.\r\n\r\n[more](lib/nodes/http-server.js) ...\r\n\r\n**Related examples:**\r\n * [examples/httpserver.js](examples/httpserver.js)\r\n * [examples/ping.js](examples/ping.js)\r\n\r\n### JSON\r\n\r\nJSON parser and stringifier. When feeded with an object, payload is \r\nstringified to JSON and vice versa.\r\n\r\n[more](lib/nodes/json.js) ...\r\n\r\n**Related examples:**\r\n * [examples/json.js](examples/json.js)\r\n\r\n### Junction\r\n \r\nEmits messages with incoming topic as event name.\r\n\r\n```javascript\r\n{ \r\n    topic: \"hellu\", \r\n    payload: <data>\r\n}\r\n```\r\n\r\nWill be passed with\r\n\r\n```javascript\r\njunctionNode.on( \"hellu\", <receiver> );\r\n```\r\n\r\n[more](lib/nodes/junction.js) ...\r\n\r\n**Related examples:**\r\n * [examples/junction.js](examples/junction.js)\r\n\r\n### Kill\r\n\r\nKills the current process when receiving a message. Exit code is configurable\r\nthrough node config (exitCode), or through message property (also exitCode).\r\n\r\n[more](lib/nodes/kill.js) ...\r\n\r\n### Mail\r\n\r\nSends mail using nodemailer. Options are passed as is, see: \r\n\r\nhttps://github.com/nodemailer/nodemailer#set-up-smtp\r\n\r\n[more](lib/nodes/mail.js) ...\r\n\r\n### Map\r\n\r\nReplaces the values of configured column in a dataset with another value.\r\n\r\nThe first time the node is invoked, it expects a map (key-valye object or\r\narray of key->value arrays) to be passed as message.payload.\r\n\r\n[more](lib/nodes/map.js) ...\r\n\r\n### MQTT\r\n\r\nSubscribe to topics, and send messages to a MQTT network. Supports \r\nsetting/getting qos and retain flag.\r\n\r\n[more](lib/nodes/mqtt.js) ...\r\n\r\n**Related examples:**\r\n * [examples/mqttwsbridge.js](examples/mqttwsbridge.js)\r\n\r\n### MSSQL\r\n\r\nQuery can be set with <node options>.query OR msg.query OR msg.topic, \r\nprioritized in that order.\r\n\r\nParameters can be set with <node options>.parameters OR msg.parameters.\r\n\r\n{\r\n    topic: \"SELECT @mystring as greeting, * FROM table WHERE id = @id\",\r\n    parameters: {\r\n        id: 1531512,\r\n        mystring: \"Hellu\"\r\n    }\r\n}\r\n\r\n[more](lib/nodes/mssql.js) ...\r\n\r\n### MySQL\r\n\r\nMySQL client node.\r\n\r\nQuery can be set with <node options>.query OR msg.query OR msg.topic, \r\nprioritized in that order.\r\n\r\nParameters can be set with <node options>.parameters OR msg.parameters.\r\n\r\n{\r\n    topic: \"SELECT :mystring as greeting, * FROM table WHERE id = :id\",\r\n    parameters: {\r\n        id: 1531512,\r\n        mystring: \"Hellu\"\r\n    }\r\n}\r\n\r\n[more](lib/nodes/mysql.js) ...\r\n\r\n\r\n### Retry\r\n\r\nVery simple node that clear process.exitCode and emit success. \r\n\r\nUseful when you need to retry an action that have emitted error.\r\n\r\nNumber of retry is set in node config\r\n\r\n```javascript\r\n\r\n// ...\r\n\r\ndelay = f( \"delay\", { delay: 5000 });\r\nretry = f( \"retry\", { retries: 5 }s);\r\n\r\n// ...\r\n\r\n// If MySQL emit error, retry after 5 seconds\r\nmysql.on(\"error\", \r\n    retry.on(\"success\", \r\n      delay.on(\"success\", mysql)));\r\n\r\n```\r\n\r\n[more](lib/nodes/retry.js) ...\r\n\r\n### Split\r\n\r\nSplits an incoming array and emits one separate \"item\" message per item.\r\n\r\n[more](lib/nodes/split.js) ...\r\n\r\n**Related examples:**\r\n * [examples/queue.js](examples/queue.js)\r\n\r\n### Strip\r\n\r\nRemoved unwanted properties before apssing the message firther.\r\n\r\n[more](lib/nodes/strip.js) ...\r\n\r\n### Sun\r\n\r\nEmits a message on sun events.\r\n\r\nPossible triggers:\r\n * sunrise\r\n * sunset\r\n * dusk\r\n * night\r\n * dawn\r\n\r\n[more](lib/nodes/sun.js) ...\r\n\r\n**Related examples:**\r\n * [examples/sun.js](examples/sun.js)\r\n\r\n### Telldus device\r\n\r\nListens for status changes, and sets status of a configured telldus device.\r\n\r\n[more](lib/nodes/telldus-device.js) ...\r\n\r\n### Telldus sensor\r\n\r\nListens for sensor updates in telldus network.\r\n\r\n[more](lib/nodes/telldus-sensor.js) ...\r\n\r\n### Template\r\n\r\nDynamic template module using version 2 of [ant](https://github.com/unkelpehr/ant).\r\n\r\nThis module allows for {{ message.payload }}, and also {{# js code }}.\r\nThe full message is accessible within template through message.property.\r\n\r\nTemplate can be set either through node config.template, or message.template.\r\n\r\nExample template:\r\n\r\n\tWelcome, {{ message.name }}!\r\n\r\n\t<ul>\r\n\r\n\t{{# message.payload.forEach(function(link) { }}\r\n\t\t<li><a href=\"{{ link.url }}\">{{ link.text }} </a></li>\r\n\t{{# } }}\r\n\r\n\t</ul>\r\n\r\n[more (@github.com/unkelpehr/ant)](https://github.com/unkelpehr/ant) ...\r\n\r\n**Related examples:**\r\n * [examples/template.js](examples/template.js)\r\n\r\n### Websocket Server\r\n\r\nSimple WS server.\r\n\r\n[more](lib/nodes/ws-server.js) ...\r\n\r\n**Related examples:**\r\n * [examples/mqttwsbridge.js](examples/mqttwsbridge.js)\r\n\r\n### Websocket Client\r\n\r\nReconnecting websocket client.\r\n\r\n[more](lib/nodes/wsclient.js) ...\r\n\r\n**Related examples:**\r\n * [examples/wsclient.js](examples/wsclient.js)\r\n\r\n### Queue\r\n\r\nSynchronous message queue. \r\n\r\nPasses next message by emitting \"item\" when the previous has\r\nreturned. Emits \"drained\" whenever queue becomes empty.\r\n\r\nThe default is to process the queue synchronously, is is however possible to \r\nallow concurrency by increasing \"concurrency\" option above the default of 1.\r\n\r\n[more](lib/nodes/queue.js) ...\r\n\r\n**Related examples:**\r\n * [examples/queue.js](examples/queue.js)\r\n\r\n## Third party nodes\r\n\r\nIt's up to you, see [lib/modules/](/lib/modules/) for inspiration.\r\n\r\n# License\r\n\r\nMIT\r\n","maintainers":[{"name":"hexagon","email":"robinnilsson@gmail.com"}],"time":{"modified":"2022-06-13T02:20:36.224Z","created":"2016-09-26T21:02:58.339Z","0.0.1":"2016-09-26T21:02:58.339Z","0.0.2":"2016-09-29T19:59:05.848Z","0.0.3":"2016-09-29T22:00:34.829Z","0.0.4":"2016-09-30T22:02:14.882Z","0.0.6":"2016-09-30T22:37:47.020Z","0.0.7":"2016-10-01T22:53:53.259Z","0.0.8":"2016-10-02T20:04:38.278Z","0.0.9":"2016-10-02T20:52:56.492Z","0.0.10":"2016-10-02T21:08:23.089Z","0.0.11":"2016-10-03T21:57:00.174Z","0.0.12":"2016-10-04T19:21:17.994Z","0.0.13":"2016-10-04T21:02:21.717Z","0.0.14":"2016-10-04T21:46:37.010Z","0.0.15":"2016-10-05T19:53:06.500Z","0.0.16":"2016-10-05T21:42:56.774Z","0.0.17":"2016-10-05T21:57:10.638Z","0.0.18":"2016-10-06T19:33:12.155Z","0.0.19":"2016-10-06T20:09:38.096Z","0.0.20":"2016-10-06T21:04:35.043Z","0.0.21":"2016-10-06T21:36:25.011Z","0.0.22":"2016-10-07T22:35:43.925Z","0.0.23":"2016-10-07T22:45:13.599Z","0.0.24":"2016-10-08T23:35:38.987Z","0.0.25":"2016-10-08T23:40:21.795Z","0.0.26":"2016-10-09T22:31:00.914Z","0.0.27":"2016-10-10T19:29:48.741Z","0.0.28":"2016-10-10T21:51:39.808Z","1.0.0-beta.0":"2016-10-12T20:51:50.497Z","1.0.0-beta.1":"2016-10-13T06:26:28.178Z","1.0.0-beta.2":"2016-10-13T08:36:16.966Z","1.0.0-beta.3":"2016-10-13T22:28:16.745Z","1.0.0-beta.4":"2016-10-15T20:16:00.217Z","1.0.0-rc.1":"2016-10-18T18:35:56.311Z","1.0.0-rc.2":"2016-10-31T22:03:47.363Z","1.0.0-rc.3":"2016-11-24T21:57:16.775Z","1.0.0-rc.4":"2016-11-24T23:26:40.729Z"},"homepage":"https://github.com/hexagon/abstractor#readme","keywords":["abstractor","automation","tellstick","nexa","telldus","abstraction","framework","node","node-red"],"repository":{"type":"git","url":"git+https://github.com/hexagon/abstractor.git"},"contributors":[],"author":{"name":"Hexagon","email":"github.com/hexagon"},"bugs":{"url":"https://github.com/hexagon/abstractor/issues"},"license":"MIT","readmeFilename":"README.md","users":{"hexagon":true}}