{"_id":"geranium","_rev":"29-b072c3b47ef4f5243d82b3f8bc1a41cf","name":"geranium","description":"mvvm typescript framework","dist-tags":{"latest":"0.2.0"},"versions":{"0.9.7":{"name":"geranium","version":"0.9.7","description":"typescript MVVM framework","main":"geranium.js","author":{"name":"anete.anetes","email":"anete.anetes@gmail.com"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/anetegithub/dc.git"},"keywords":["mvvm-architecture","mvvm-framework","ioc-framework","ioc-container","frontend-framework","typescript","es6-javascript"],"license":"(GPL-2.0)","bugs":{"url":"https://github.com/anetegithub/geranium/issues"},"homepage":"https://github.com/anetegithub/geranium#readme","_id":"geranium@0.9.7","_shasum":"af74035f1825c81756e4254ab3ec243118543d4e","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.10.3","_npmUser":{"name":"anete.anetes","email":"anete.anetes@gmail.com"},"dist":{"shasum":"af74035f1825c81756e4254ab3ec243118543d4e","tarball":"https://registry.npmjs.org/geranium/-/geranium-0.9.7.tgz","integrity":"sha512-03XEXQErZIb9DQns389wfiMOdX7xszu92+00bcKRf+7FuaiP9sbTjKnVHIG1bOPTMrROTjyZlk6aQBRI8bBJ+w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFZnbiyMvmrF9aJBe1AAaHsB4RmJOH0dmo44dtO5uYIuAiEA6K1h9xJrPQhlE2h7tMy6s4qKOXkdiDMhGYmRETQNDXk="}]},"maintainers":[{"name":"anete.anetes","email":"anete.anetes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/geranium-0.9.7.tgz_1496044628352_0.031224890612065792"}},"0.0.6":{"name":"geranium","version":"0.0.6","description":"mvvm typescript framework","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/anetegithub/geranium.git"},"keywords":["mvvm","framework","typescript"],"author":{"name":"anete.anetes"},"license":"GPL-2.0","bugs":{"url":"https://github.com/anetegithub/geranium/issues"},"homepage":"https://github.com/anetegithub/geranium#readme","gitHead":"2ca8f7c22aa1ce0f6534cab03e28a861bd840f18","_id":"geranium@0.0.6","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"anete.anetes","email":"anete.anetes@gmail.com"},"dist":{"integrity":"sha512-E/uLkIs7mtYRhyWmnLkw5c442+kmCFeYdWJjGgSsjI6agKKH6T8FIiZfo4GXLR2ZLDZYgrC1trY6UAH4EpV0Mg==","shasum":"cc3294b52b1d2ecf30a0064a668e63adc9939570","tarball":"https://registry.npmjs.org/geranium/-/geranium-0.0.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEkWahR0o5/Cj6RCmpyBPOcUqG+A7rU1hxbdHldFPW9wAiEAkKSCPcPjgNc+dzSczmyH+xCquxQFnwJvMTpJj3GvuNI="}]},"maintainers":[{"name":"anete.anetes","email":"anete.anetes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/geranium-0.0.6.tgz_1512640483241_0.04593814141117036"}},"0.0.7":{"name":"geranium","version":"0.0.7","description":"mvvm typescript framework","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/anetegithub/geranium.git"},"keywords":["mvvm","framework","typescript"],"author":{"name":"anete.anetes"},"license":"GPL-2.0","bugs":{"url":"https://github.com/anetegithub/geranium/issues"},"homepage":"https://github.com/anetegithub/geranium#readme","gitHead":"4575bfb25929719e83121020a4d2e84cfce29438","_id":"geranium@0.0.7","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"anete.anetes","email":"anete.anetes@gmail.com"},"dist":{"integrity":"sha512-3lJoj7M0Z4OMOUslol3G4z+ElLMdZMfJ5TKKxKU0HueB6UEgk4GOlH830/XiupvwEC6ylDpaNOOWOWOvh28qmQ==","shasum":"8e1c50bb758216c55abc736b95814f753004f8cb","tarball":"https://registry.npmjs.org/geranium/-/geranium-0.0.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDNBkdGxw5ROXtaoszsQzflm1HqYdMuwr85RbpDyTdo7AIgOrskGLKLCKl2qQKniZZGImhey7Vr6EgE0qFn7fpFXYA="}]},"maintainers":[{"name":"anete.anetes","email":"anete.anetes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/geranium-0.0.7.tgz_1512710251047_0.18872761027887464"}},"0.0.8":{"name":"geranium","version":"0.0.8","description":"mvvm typescript framework","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/anetegithub/geranium.git"},"keywords":["mvvm","framework","typescript"],"author":{"name":"anete.anetes"},"license":"GPL-2.0","bugs":{"url":"https://github.com/anetegithub/geranium/issues"},"homepage":"https://github.com/anetegithub/geranium#readme","gitHead":"505a4e1597f07c21ae5aeb147e2a913aeeb13e53","_id":"geranium@0.0.8","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"anete.anetes","email":"anete.anetes@gmail.com"},"dist":{"integrity":"sha512-Lq39Lj+xN5AVSnbzP/6pTY02wclI0LyCC2Cy4tRnSoOfPGtS/NYoc5Z4VXiYYSse0iX5TbwpkiaRgz7n4cy1GA==","shasum":"a25896d73a266f6932cd8177db707fcfd298a767","tarball":"https://registry.npmjs.org/geranium/-/geranium-0.0.8.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/qRZSjGuw4nhrZp51MWyvt7ME6+L0ooRWirno5oaj+gIhANE7duImIY4MNVUeiF69F5Rep+ec80Qqpx0eYyMhbfdj"}]},"maintainers":[{"name":"anete.anetes","email":"anete.anetes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/geranium-0.0.8.tgz_1512715514180_0.24516290170140564"}},"0.0.9":{"name":"geranium","version":"0.0.9","description":"mvvm typescript framework","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/anetegithub/geranium.git"},"keywords":["mvvm","framework","typescript"],"author":{"name":"anete.anetes"},"license":"GPL-2.0","bugs":{"url":"https://github.com/anetegithub/geranium/issues"},"homepage":"https://github.com/anetegithub/geranium#readme","gitHead":"641d7526210faf5787a5bcd92265a9e44311a64b","_id":"geranium@0.0.9","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"anete.anetes","email":"anete.anetes@gmail.com"},"dist":{"integrity":"sha512-xpOL9aLKatGTfDPCFSxKAI6cgEaeP0drJhJ9zT8CC/eBw2rwjPOP05H2x0pBhev6KNbIosWeXPs797G6g/6nWA==","shasum":"70c05e5567db27675e3739ce9459e42018811ee9","tarball":"https://registry.npmjs.org/geranium/-/geranium-0.0.9.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICH8+Umn9D7c9gcyGdScDoJ9VB7SnD113MW3VPoUdIBtAiEAxp1AETDN5hLUlg9eZiRQFA3EOaTa8mndEgcpSo0zPR0="}]},"maintainers":[{"name":"anete.anetes","email":"anete.anetes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/geranium-0.0.9.tgz_1512717522974_0.08467724802903831"}},"0.1.0":{"name":"geranium","version":"0.1.0","description":"mvvm typescript framework","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/anetegithub/geranium.git"},"keywords":["mvvm","framework","typescript"],"author":{"name":"anete.anetes"},"license":"GPL-2.0","bugs":{"url":"https://github.com/anetegithub/geranium/issues"},"homepage":"https://github.com/anetegithub/geranium#readme","gitHead":"239386035b042f5be56963142be833faae4051df","_id":"geranium@0.1.0","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"anete.anetes","email":"anete.anetes@gmail.com"},"dist":{"integrity":"sha512-RqLYtFdecol93wl5lQq9C34Z9bXdTYwG2EUb3lg2au1X1peVb2cy5YqVIxK8lYYQYAB8XZeJ0rYIrfpaJd7E4w==","shasum":"bb81190caa99c387329763469abbc770af6a2f8e","tarball":"https://registry.npmjs.org/geranium/-/geranium-0.1.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDH9s0VpAmLKzI6w+9QHeVPo9sFYF+qJtyZvtRMbIzhbwIgEpJYFyCLZwEyGZVIRJOA6/MrVNlTCHWvpOO3zY3TrtM="}]},"maintainers":[{"name":"anete.anetes","email":"anete.anetes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/geranium-0.1.0.tgz_1512968526081_0.4869467921089381"}},"0.1.1":{"name":"geranium","version":"0.1.1","description":"mvvm typescript framework","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/anetegithub/geranium.git"},"keywords":["mvvm","framework","typescript"],"author":{"name":"anete.anetes"},"license":"GPL-2.0","bugs":{"url":"https://github.com/anetegithub/geranium/issues"},"homepage":"https://github.com/anetegithub/geranium#readme","gitHead":"b5c836bf98f3ce5cb49f1bcda7a3a7b548f17cd7","_id":"geranium@0.1.1","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"anete.anetes","email":"anete.anetes@gmail.com"},"dist":{"integrity":"sha512-uV0ITEl/+wVgqWiNDCHtwA2UBafvmauO1n7BR7TmvIXvz7xvslThOW3mvO8Jisxf0qui06ToIGcSWIbLCPxOsw==","shasum":"c4bfb81c2713cd592137302e9fabe34686b698fd","tarball":"https://registry.npmjs.org/geranium/-/geranium-0.1.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCrB9NuvF7exRIkRXI+zfRXuSE6fXkhmPNrq6skJ7qylwIgfIUxPJFvt36fhXg93OjtdVMXQaPovuw39LLOuZ5KKVk="}]},"maintainers":[{"name":"anete.anetes","email":"anete.anetes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/geranium-0.1.1.tgz_1512971562877_0.9110165855381638"}},"0.1.2":{"name":"geranium","version":"0.1.2","description":"mvvm typescript framework","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/anetegithub/geranium.git"},"keywords":["mvvm","framework","typescript"],"author":{"name":"anete.anetes"},"license":"GPL-2.0","bugs":{"url":"https://github.com/anetegithub/geranium/issues"},"homepage":"https://github.com/anetegithub/geranium#readme","gitHead":"3c448861783a4ec0cca521f111f651af28e690cc","_id":"geranium@0.1.2","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"anete.anetes","email":"anete.anetes@gmail.com"},"dist":{"integrity":"sha512-S1NQYNgTHNyK47NHJPTg5yTee78B3ruwUz1o0HErl3u5WSUp9XzBupXG9Ir0JMXfSvLFfBlbX5wd/I1pf0KNcg==","shasum":"0b0651bc73927208c2e671db9b9b1c22741e8ea3","tarball":"https://registry.npmjs.org/geranium/-/geranium-0.1.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGvQSh2WpRZCJchxUAAOoy/syb1YlURGe9S0Z9vvwSmQAiEAlXmjUOM+ahBgCHDwbLUcZchOYdddkabh4w/AeBWW6lg="}]},"maintainers":[{"name":"anete.anetes","email":"anete.anetes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/geranium-0.1.2.tgz_1512983181871_0.7492196480743587"}},"0.1.3":{"name":"geranium","version":"0.1.3","description":"mvvm typescript framework","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/anetegithub/geranium.git"},"keywords":["mvvm","framework","typescript"],"author":{"name":"anete.anetes"},"license":"GPL-2.0","bugs":{"url":"https://github.com/anetegithub/geranium/issues"},"homepage":"https://github.com/anetegithub/geranium#readme","gitHead":"f36f699561a2a7646260c49631c1fbe04702c735","_id":"geranium@0.1.3","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"anete.anetes","email":"anete.anetes@gmail.com"},"dist":{"integrity":"sha512-T+ZxPq7IZAIBBqFFDIoMBY5dOGZzPnyGpEB3qOHhpDqP4XJ4qIXL7YozxnYSq1vbLYWvQwflFnKshaJh1BZHBw==","shasum":"fd7fc48fa084cf0bbbe87d30815cb5ecf7b119aa","tarball":"https://registry.npmjs.org/geranium/-/geranium-0.1.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEEbeytd4MhB9zjNHt1NxJUQHiffyCPVR1/rThjyfUa+AiAbp4aYlrEW+jZRnRnNPqGGw8TwlFoIWoY47SScbLkAbA=="}]},"maintainers":[{"name":"anete.anetes","email":"anete.anetes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/geranium-0.1.3.tgz_1512984288156_0.7775494330562651"}},"0.1.4":{"name":"geranium","version":"0.1.4","description":"mvvm typescript framework","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/anetegithub/geranium.git"},"keywords":["mvvm","framework","typescript"],"author":{"name":"anete.anetes"},"license":"GPL-2.0","bugs":{"url":"https://github.com/anetegithub/geranium/issues"},"homepage":"https://github.com/anetegithub/geranium#readme","gitHead":"106c2adb49f6f20e758e0dbe59f74bc7ba6286b7","_id":"geranium@0.1.4","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"anete.anetes","email":"anete.anetes@gmail.com"},"dist":{"integrity":"sha512-3Kqx4L/MgRugO3F2PrCoO+qoWZgTmpqPhg0SPPQ1Im4mitiwubEI0nYLhr52kDDj8ArZW5Kgw0pQEgQj9VnkJQ==","shasum":"075ea229df4a13da078d95983348463385ae2310","tarball":"https://registry.npmjs.org/geranium/-/geranium-0.1.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCdlV2p4NHjuRD36gsX8Ydq66dGKvvHS2vOAd9mKQ85MAIgBgM00gK9Rb1q9tjkXskCbCW2XAwWI/hp32NgWaIzAug="}]},"maintainers":[{"name":"anete.anetes","email":"anete.anetes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/geranium-0.1.4.tgz_1513142494375_0.5722240896429867"}},"0.1.5":{"name":"geranium","version":"0.1.5","description":"mvvm typescript framework","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/anetegithub/geranium.git"},"keywords":["mvvm","framework","typescript"],"author":{"name":"anete.anetes"},"license":"GPL-2.0","bugs":{"url":"https://github.com/anetegithub/geranium/issues"},"homepage":"https://github.com/anetegithub/geranium#readme","gitHead":"3a9cfb990def3faa8731a00418135cd4589ce70e","_id":"geranium@0.1.5","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"anete.anetes","email":"anete.anetes@gmail.com"},"dist":{"integrity":"sha512-f1fUz9GNPaU4cJprYJoaHeQFbJhIFrl/WScIcj7Uoj210QRO9KBvw4L8AIouIUPmL+qU9Wfba4GEPdKxUFnzzg==","shasum":"af1393935a01d22969d3438ec67790c6ca66ae08","tarball":"https://registry.npmjs.org/geranium/-/geranium-0.1.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCUDtwzABHotgF3n03182HsKZpDH29++29YPyPalA6OHQIhAJ32g+iOb6QL0ARdGScgrtfjVS5IgDG5Igu+yFDWQ/TF"}]},"maintainers":[{"name":"anete.anetes","email":"anete.anetes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/geranium-0.1.5.tgz_1513143775457_0.8321978854946792"}},"0.1.6":{"name":"geranium","version":"0.1.6","description":"mvvm typescript framework","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/anetegithub/geranium.git"},"keywords":["mvvm","framework","typescript"],"author":{"name":"anete.anetes"},"license":"GPL-2.0","bugs":{"url":"https://github.com/anetegithub/geranium/issues"},"homepage":"https://github.com/anetegithub/geranium#readme","gitHead":"236eca343f6f9fbbda49466d89c76d54fda2f894","_id":"geranium@0.1.6","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"anete.anetes","email":"anete.anetes@gmail.com"},"dist":{"integrity":"sha512-b7ffb4qUSj2Dx1WKD7yzf+jnHYqDFws6aYO1Z9GUZl1qgpq4M1mGqj9H+c2BEiDD4MDF0gpsNdyJooILOTKNUw==","shasum":"93f88757cea330cf5e843b8eb501ea6adc6bd5fc","tarball":"https://registry.npmjs.org/geranium/-/geranium-0.1.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDtb+6OEkYcr9X4xbr5C7FVuAwrblc+VSGvTvu5EZD7cwIgc4LCxhycY3A+H55tN3Z6xmMWv7UoAFDCDn7rWQ0pfdY="}]},"maintainers":[{"name":"anete.anetes","email":"anete.anetes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/geranium-0.1.6.tgz_1513144056224_0.07489627972245216"}},"0.1.7":{"name":"geranium","version":"0.1.7","description":"mvvm typescript framework","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/anetegithub/geranium.git"},"keywords":["mvvm","framework","typescript"],"author":{"name":"anete.anetes"},"license":"GPL-2.0","bugs":{"url":"https://github.com/anetegithub/geranium/issues"},"homepage":"https://github.com/anetegithub/geranium#readme","gitHead":"d552e3916505c7c0a17566764c9dd34171a3a791","_id":"geranium@0.1.7","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"anete.anetes","email":"anete.anetes@gmail.com"},"dist":{"integrity":"sha512-ChwMRzVX+CuPa42gajRB+dSP/i1ikSyrZETGOb92BmMcYIGOZACYQqagjMnjG4I8MJHSImN9pLqplo6vU4LGsQ==","shasum":"c074c4b28aa4427cec57a86cfd97ef806ec5236e","tarball":"https://registry.npmjs.org/geranium/-/geranium-0.1.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAgHr1ZOe955K0JkysfBTYdVTHuICqwFwhNjm7CiNI54AiAnZ1j1F7PVlIyffkJqISPcjqaIeX2ZLjkLW96ULHwjZQ=="}]},"maintainers":[{"name":"anete.anetes","email":"anete.anetes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/geranium-0.1.7.tgz_1513146250214_0.9128183869179338"}},"0.1.8":{"name":"geranium","version":"0.1.8","description":"mvvm typescript framework","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/anetegithub/geranium.git"},"keywords":["mvvm","framework","typescript"],"author":{"name":"anete.anetes"},"license":"GPL-2.0","bugs":{"url":"https://github.com/anetegithub/geranium/issues"},"homepage":"https://github.com/anetegithub/geranium#readme","gitHead":"4dc6673a38a8a47c6a17130ba38f1538704dac9f","_id":"geranium@0.1.8","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"anete.anetes","email":"anete.anetes@gmail.com"},"dist":{"integrity":"sha512-B0NQk2y6Of040or1PsISTpdA/eq09RR1gFj9ypnj3tl9GTD/DMcbMhqFkbfGNTo3qIoFQK4uTJ/B+VDwVD+HXA==","shasum":"ab0db2e9af64d7908ac4c5ba3c0b62b92bb03ca8","tarball":"https://registry.npmjs.org/geranium/-/geranium-0.1.8.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGXMS07puGxLvycKgdQ4vg/+PDvsurp/BC0Q6bkRuVoQAiAmF/KH1TyTGycB3065e+v+YuLGJhpd0Qj7Rxocr8djMQ=="}]},"maintainers":[{"name":"anete.anetes","email":"anete.anetes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/geranium-0.1.8.tgz_1513146434083_0.9120624233037233"}},"0.1.9":{"name":"geranium","version":"0.1.9","description":"mvvm typescript framework","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/anetegithub/geranium.git"},"keywords":["mvvm","framework","typescript"],"author":{"name":"anete.anetes"},"license":"GPL-2.0","bugs":{"url":"https://github.com/anetegithub/geranium/issues"},"homepage":"https://github.com/anetegithub/geranium#readme","gitHead":"543513fe3f02474776b83fc3cebb1d1109c97e7c","_id":"geranium@0.1.9","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"anete.anetes","email":"anete.anetes@gmail.com"},"dist":{"integrity":"sha512-7ZAyLIxmTnm879DOJFMSQhNPYHZ+NooPL1Y/1i1wG9XmMsWJAnCtodcN+qDX8zshlk1UPadB293sJW3rg5yaig==","shasum":"dd9488ea1e1afc91b33b07d0724077412dad6462","tarball":"https://registry.npmjs.org/geranium/-/geranium-0.1.9.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDJgc3CbtAN/LZ6cldiZ6xJFAMPr+MiCapo/i4weaDzJAiEAutqBsejWwscG2EUtD06QqDE8a+AF5/2HnP/Obm02UBs="}]},"maintainers":[{"name":"anete.anetes","email":"anete.anetes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/geranium-0.1.9.tgz_1513166098156_0.7555621967185289"}},"0.1.10":{"name":"geranium","version":"0.1.10","description":"mvvm typescript framework","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/anetegithub/geranium.git"},"keywords":["mvvm","framework","typescript"],"author":{"name":"anete.anetes"},"license":"GPL-2.0","bugs":{"url":"https://github.com/anetegithub/geranium/issues"},"homepage":"https://github.com/anetegithub/geranium#readme","gitHead":"8bb7e4373deb023fc86251b45a75768b4bc27581","_id":"geranium@0.1.10","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"anete.anetes","email":"anete.anetes@gmail.com"},"dist":{"integrity":"sha512-PY5yV9c8xW4mFp+oe+7yiqKkteeQbg8by7YMZq6ud1ULi34v/JbCZ25C0RSmLlJBHYxA2wer/PoWnonUu2dLaQ==","shasum":"f02e4f9476f6f81b689bd0a30e95eaba144e5ecc","tarball":"https://registry.npmjs.org/geranium/-/geranium-0.1.10.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHx65MkbOXUywwdcdY1qjIP/JOKCfCrS/7CfU/XFHFdZAiEAmEfCgMsWD1CRDqSbZm3fx6jbB7Epoca0mPzfH6oHQEE="}]},"maintainers":[{"name":"anete.anetes","email":"anete.anetes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/geranium-0.1.10.tgz_1513232895729_0.2475006829481572"}},"0.1.11":{"name":"geranium","version":"0.1.11","description":"mvvm typescript framework","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/anetegithub/geranium.git"},"keywords":["mvvm","framework","typescript"],"author":{"name":"anete.anetes"},"license":"GPL-2.0","bugs":{"url":"https://github.com/anetegithub/geranium/issues"},"homepage":"https://github.com/anetegithub/geranium#readme","gitHead":"a5c63d308ec37f5e17047b881cf35024db002c03","_id":"geranium@0.1.11","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"anete.anetes","email":"anete.anetes@gmail.com"},"dist":{"integrity":"sha512-ql0gTxCIYZEP5hz+o6F7rtyQt85wokG8aIj+pgd2pR1h1VRBhKA5ev6SVhcayon5Vg1zjJpun87MQ8gUdeMtXQ==","shasum":"2998c8c01b5db4a7ab100794e20289b205d2510d","tarball":"https://registry.npmjs.org/geranium/-/geranium-0.1.11.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHMmLEZK8Ol+qP2YBfmBiuL5hlZPUUSeieG3KobO2jqbAiEAn1YHsZXjimRzSZpaZ6DpV/E5TylukriC/hXPeyIHp14="}]},"maintainers":[{"name":"anete.anetes","email":"anete.anetes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/geranium-0.1.11.tgz_1513233144450_0.3778018970042467"}},"0.1.12":{"name":"geranium","version":"0.1.12","description":"mvvm typescript framework","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/anetegithub/geranium.git"},"keywords":["mvvm","framework","typescript"],"author":{"name":"anete.anetes"},"license":"GPL-2.0","bugs":{"url":"https://github.com/anetegithub/geranium/issues"},"homepage":"https://github.com/anetegithub/geranium#readme","gitHead":"a7b233b97069d9044f875629b3237391d27061db","_id":"geranium@0.1.12","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"anete.anetes","email":"anete.anetes@gmail.com"},"dist":{"integrity":"sha512-KfBpkCEOK/JgPvRsiPNgdQt4Rw2wkO0CsJrAyEKMl9baTF+Ea8tIaF7Ctn6qAlV5wPQTfo6LuPBKMNEgLVCkDQ==","shasum":"bd6d70ad6005234a987fb39b64f491702f31ad84","tarball":"https://registry.npmjs.org/geranium/-/geranium-0.1.12.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGidgeimhiwO9mfIZF1ZMm/XLIzMR3OBxViOfpGJgaFxAiATmL33XLS5DPdgJ+eeCTlRMQhxwhXyq8DOXe2c6u+6Rg=="}]},"maintainers":[{"name":"anete.anetes","email":"anete.anetes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/geranium-0.1.12.tgz_1513235506227_0.35749983019195497"}},"0.1.13":{"name":"geranium","version":"0.1.13","description":"mvvm typescript framework","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/anetegithub/geranium.git"},"keywords":["mvvm","framework","typescript"],"author":{"name":"anete.anetes"},"license":"GPL-2.0","bugs":{"url":"https://github.com/anetegithub/geranium/issues"},"homepage":"https://github.com/anetegithub/geranium#readme","gitHead":"09c5fea60b284829c05ce64de86be52740069f27","_id":"geranium@0.1.13","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"anete.anetes","email":"anete.anetes@gmail.com"},"dist":{"integrity":"sha512-UD66URkrR0GdRNWwAnaFRc3DLbvp4rsqojsvRLm0yUulDYoZlAT+5zAe+sOaH28DZH4O73cXIEw9VC9SpcTTgQ==","shasum":"9bc06f18b26984e0a94d82058470bea86f2756c3","tarball":"https://registry.npmjs.org/geranium/-/geranium-0.1.13.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG7VCazwGaUQBvgSsywbe/+mnCXoDtppO1Ol7PXTCx59AiEA/C3hEIHqllYbPbwMJzmVlM+Cpvh65UsL2Iw6Fj04300="}]},"maintainers":[{"name":"anete.anetes","email":"anete.anetes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/geranium-0.1.13.tgz_1513319293133_0.00020267418585717678"}},"0.1.15":{"name":"geranium","version":"0.1.15","description":"mvvm typescript framework","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/anetegithub/geranium.git"},"keywords":["mvvm","framework","typescript"],"author":{"name":"anete.anetes"},"license":"GPL-2.0","bugs":{"url":"https://github.com/anetegithub/geranium/issues"},"homepage":"https://github.com/anetegithub/geranium#readme","gitHead":"a23b7bde7480e823342818ab482030d8a17b0e2f","_id":"geranium@0.1.15","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"anete.anetes","email":"anete.anetes@gmail.com"},"dist":{"integrity":"sha512-GhB9FHmqLZ5OdXddQOEj89zOnN30pEM3H16zDv2xCTPT2NltUc4q5skkaCr2xzNoFu1Sw+aC+tFYLnWyKAItew==","shasum":"26f0080a76fd087e1f1ba0ba193a1ea398f4fd13","tarball":"https://registry.npmjs.org/geranium/-/geranium-0.1.15.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCAgDUAuPJ9w9PQf7R7cI8g0PJ0B30GOgF8kLwHW41P3gIhAM4RaKo5x4+PaGUt+lXOkf4DV9T150RCapKFNmAG41V6"}]},"maintainers":[{"name":"anete.anetes","email":"anete.anetes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/geranium-0.1.15.tgz_1513661797682_0.5761403357610106"}},"0.1.16":{"name":"geranium","version":"0.1.16","description":"mvvm typescript framework","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/anetegithub/geranium.git"},"keywords":["mvvm","framework","typescript"],"author":{"name":"anete.anetes"},"license":"GPL-2.0","bugs":{"url":"https://github.com/anetegithub/geranium/issues"},"homepage":"https://github.com/anetegithub/geranium#readme","gitHead":"4eaae8267929799d8b2b81f973d77e3edd2cec21","_id":"geranium@0.1.16","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"anete.anetes","email":"anete.anetes@gmail.com"},"dist":{"integrity":"sha512-9zWPYgrQRnvyBWmAFrxhjzlUuqDbtaGO/yq68p70pxKSGS1OfZ+Gst/i7EZaJuPsddP4KLLMvU9YUpIcUGcUJQ==","shasum":"7d154b04dfc116074126774126917ea89970f56c","tarball":"https://registry.npmjs.org/geranium/-/geranium-0.1.16.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGjwpiUvMazcK7oNTtWoacKV+YzmsZv+7J8dQ16xpzmjAiByffJSmqazgd0oTC41u/y0wX5iKQ2EW/ifdc1As68s8w=="}]},"maintainers":[{"name":"anete.anetes","email":"anete.anetes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/geranium-0.1.16.tgz_1513662012205_0.5311141817364842"}},"0.1.17":{"name":"geranium","version":"0.1.17","description":"mvvm typescript framework","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/anetegithub/geranium.git"},"keywords":["mvvm","framework","typescript"],"author":{"name":"anete.anetes"},"license":"GPL-2.0","bugs":{"url":"https://github.com/anetegithub/geranium/issues"},"homepage":"https://github.com/anetegithub/geranium#readme","gitHead":"cacccfc6f526323b49edee06cd66ad482871fa8b","_id":"geranium@0.1.17","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"anete.anetes","email":"anete.anetes@gmail.com"},"dist":{"integrity":"sha512-ZX/Ul5ok/FqQOLPbnhPYcgXOpWzPsNSN35hmVrB/VAt9ekH9r+Fc6FBwJtAK2V0nvE/I70rsIjG/jnjNSonwnA==","shasum":"da2914a157e6704e9d7a07169a7562bcee1158dc","tarball":"https://registry.npmjs.org/geranium/-/geranium-0.1.17.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD9FPMZimrx1iBmAbhutlWN/1xWIBZ5WJHAhu6KYqZpYQIgFvqzToz0r6oqUoSlWXB/5T87uEVEEy2UHvC6wPNW8ow="}]},"maintainers":[{"name":"anete.anetes","email":"anete.anetes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/geranium-0.1.17.tgz_1513662297054_0.981519112130627"}},"0.1.20":{"name":"geranium","version":"0.1.20","description":"mvvm typescript framework","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/anetegithub/geranium.git"},"keywords":["mvvm","framework","typescript"],"author":{"name":"anete.anetes"},"license":"GPL-2.0","bugs":{"url":"https://github.com/anetegithub/geranium/issues"},"homepage":"https://github.com/anetegithub/geranium#readme","gitHead":"c1cc0be1c7ba30c3f1cd6eb02cacdb432f69c947","_id":"geranium@0.1.20","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"anete.anetes","email":"anete.anetes@gmail.com"},"dist":{"integrity":"sha512-I5VgTd6jZMX5J5pcADpK/p227ndXavbwPcplSKVS7g/G4xI9jcZwznL/ttVNTKyZMjDvj9GfX4L8p3rqUMqJNw==","shasum":"d752db0514a7eeff5c5d069a3dabc87e30be953f","tarball":"https://registry.npmjs.org/geranium/-/geranium-0.1.20.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCn9pPWTglO7pF9R09U/QbmsoYkM1m7OkjXQGLSb+xpBQIgK7rTaBigVvQFN2eAENSAysiCHWQOhF+shvEae3+9UuA="}]},"maintainers":[{"name":"anete.anetes","email":"anete.anetes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/geranium-0.1.20.tgz_1513680993382_0.9957463690079749"}},"0.1.25":{"name":"geranium","version":"0.1.25","description":"mvvm typescript framework","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/anetegithub/geranium.git"},"keywords":["mvvm","framework","typescript"],"author":{"name":"anete.anetes"},"license":"GPL-2.0","bugs":{"url":"https://github.com/anetegithub/geranium/issues"},"homepage":"https://github.com/anetegithub/geranium#readme","gitHead":"e578ce0869086fbf5b3dbbe1f6fb5e95d1532e00","_id":"geranium@0.1.25","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"anete.anetes","email":"anete.anetes@gmail.com"},"dist":{"integrity":"sha512-P0YOfCIW9Q8yegAWht8QMS/m9P1zLA0vbMR3pesq37G+4w8Ky+uQHSz3ApKuVA6OnTCRQRvDiO35Q9BYcZzjYA==","shasum":"579960d348c2424e590e9c5414ab5633e2e15573","tarball":"https://registry.npmjs.org/geranium/-/geranium-0.1.25.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCQySqvNLwvoAu1XensWyJxamvBJLhQ5dn6xN+5kXwcsAIhALO+UijqPouk4vC5aIjp5NwJIM3psvBmHdYctTvRPGy3"}]},"maintainers":[{"name":"anete.anetes","email":"anete.anetes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/geranium-0.1.25.tgz_1513748835201_0.8167687929235399"}},"0.1.27":{"name":"geranium","version":"0.1.27","description":"mvvm typescript framework","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/anetegithub/geranium.git"},"keywords":["mvvm","framework","typescript"],"author":{"name":"anete.anetes"},"license":"GPL-2.0","bugs":{"url":"https://github.com/anetegithub/geranium/issues"},"homepage":"https://github.com/anetegithub/geranium#readme","gitHead":"630ec0ef2890464ba7ef030ea0fe2a893e01098b","_id":"geranium@0.1.27","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"anete.anetes","email":"anete.anetes@gmail.com"},"dist":{"integrity":"sha512-w0SzYgpIZlzT6CcOPQNvnMX69G28bTEnvNGjBgsyN98vcvYFoNWjkdXY3y3QwQmRFUqWDH/nXZdbvxuzyoxcZQ==","shasum":"a7b8af8e974d35ba790e5dd9ef4d98c08fdeedd7","tarball":"https://registry.npmjs.org/geranium/-/geranium-0.1.27.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGA2+CE2VtPNQlWo/MS9MyqCPvVvYGtQwAY92186cuixAiANbxmkLvLtBYw/UGSc2RrsFPRGbyHLDljc/rHJf149Bw=="}]},"maintainers":[{"name":"anete.anetes","email":"anete.anetes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/geranium-0.1.27.tgz_1513769100838_0.9751281165517867"}},"0.1.30":{"name":"geranium","version":"0.1.30","description":"mvvm typescript framework","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/anetegithub/geranium.git"},"keywords":["mvvm","framework","typescript"],"author":{"name":"anete.anetes"},"license":"GPL-2.0","bugs":{"url":"https://github.com/anetegithub/geranium/issues"},"homepage":"https://github.com/anetegithub/geranium#readme","gitHead":"9a0b8e49bb8a9df455a6bf6c05337b219d955477","_id":"geranium@0.1.30","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"anete.anetes","email":"anete.anetes@gmail.com"},"dist":{"integrity":"sha512-ymYQAP199ftU2t1C4aQP7ud5+2yH6qSeIyVIkvA819EInHNdudB/f4BIzyi0hQyg6DbQUvq5cmYETcKk+CoN+g==","shasum":"629c85fbf3180becbbff687d37b3cbeeac190cdd","tarball":"https://registry.npmjs.org/geranium/-/geranium-0.1.30.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCGrI8q/Z3QEa8NM/0/FIBGFp0JvIUdUE1IVmywo6+XugIhAMjqZqkZmu9z0g+lumnpbaU9PyD5kwg5aGQgs7I1Zeu5"}]},"maintainers":[{"name":"anete.anetes","email":"anete.anetes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/geranium-0.1.30.tgz_1514188249818_0.3426012194249779"}},"0.2.0":{"name":"geranium","version":"0.2.0","description":"mvvm typescript framework","main":"index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"git+https://github.com/anetegithub/geranium.git"},"keywords":["mvvm","framework","typescript"],"author":{"name":"anete.anetes"},"license":"GPL-2.0","bugs":{"url":"https://github.com/anetegithub/geranium/issues"},"homepage":"https://github.com/anetegithub/geranium#readme","gitHead":"9a64c49d779cea72acb39c351bf2a6c278c3b95c","_id":"geranium@0.2.0","_npmVersion":"5.5.1","_nodeVersion":"9.2.0","_npmUser":{"name":"anete.anetes","email":"anete.anetes@gmail.com"},"dist":{"integrity":"sha512-lMYcm2H8Yonr1MKLkvwWnJyME7mKky4K2xAF7O2UYTZwMGNv0nLkdqEafXe9aF3xQ93AM4h700/ExkQ95noT0w==","shasum":"866aa00398cda353c88272594ce874060d2a7670","tarball":"https://registry.npmjs.org/geranium/-/geranium-0.2.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDd0M6b8YMU4R0Oaq4jMWGG8em7T5PpCYCTUtmojFmM7gIgYF96DatxXC3xm65cq9RyO1kEtVJ695jtscWWoJ+j0i0="}]},"maintainers":[{"name":"anete.anetes","email":"anete.anetes@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/geranium-0.2.0.tgz_1514273923071_0.9540461520664394"}}},"readme":"# Geranium\r\nModern conceptual MVVM framework is built on the principle of interchangeable modules. \r\n\r\n# Dependencies\r\nIt's full free of dependencies other packages. Can be used as npm-module from both server and client side, or a separate compiled js library. Truly, it can be used as separate ts files if you need only a part of full solution. It's free of ts-loader, or any other transpile technology (like Babel). Targeting to ES5 with ES6 modular-system.\r\n\r\n# Conceptual workflow\r\n\r\n* Design your model filled with business-logic and nested components\r\n* Mark up your View or multiple Views for this model\r\n* Configure advanced features such as routing / validation / registration\r\n\r\n# TL;DR Example\r\n\r\n````typescript\r\n//main application model\r\n\r\n@routed(\"/application/start\") //optional routing\r\nexport class App extends ViewModel {\r\n    // constructor params may be routed\r\n    constructor(routedParam1: string, routedParam2?: number) {\r\n        super();\r\n        //control of nested components initializing\r\n        this.title = routedParam1;\r\n        this.header.title = this.title;\r\n        this.body.headerclone = this.header;\r\n        this.body.btn = this.btns[0];\r\n    }\r\n\r\n    // nested components which can contains another components\r\n    header: Header = new Header();\r\n    body: Body = new Body();\r\n\r\n    // self fields\r\n    title: string;\r\n    nowYear = (new Date()).getFullYear();\r\n    btns: Array<CategoryButton> = [\r\n        new CategoryButton(\"Btn1\"),\r\n        new CategoryButton(\"Btn2\"),\r\n        new CategoryButton(\"Btn3\"),\r\n    ];\r\n\r\n    // optional changing current document title\r\n    documentTitle() {\r\n        return this.title;\r\n    }\r\n\r\n    // view provide method, can contains logic of screen size etc\r\n    view(): string | Constructor<View> | Constructor<ViewDOM> {\r\n        return AppView;\r\n    }\r\n}\r\n\r\n// header component\r\nclass Header extends ViewModel {\r\n    // view provide method can return three different view types\r\n    view(): string | Constructor<View> | Constructor<ViewDOM> {\r\n        return \"<h1>[title]</h1>\";\r\n    }\r\n\r\n    title: string;\r\n}\r\n\r\n// body component with clone of header\r\nclass Body extends ViewModel {\r\n    view(): string | Constructor<View> | Constructor<ViewDOM> {\r\n        return \"<div>[headerclone][btn]</div>\";\r\n    }\r\n\r\n    headerclone: Header;\r\n\r\n    btn: CategoryButton;\r\n}\r\n\r\n// main application view will be attached to the body.app\r\nclass AppView extends ViewDOM {\r\n    async DOM(): Promise<HTMLElement[]> {\r\n        return [document.querySelector(\".app\")];\r\n    }\r\n}\r\n\r\n// index.ts\r\nimport { App } from \"./components/app\";\r\nimport GeraniumApp from \"../node_modules/geranium/runtime/concrete/App\";\r\n\r\n// you can change default implementations of functional framework components\r\nGeraniumApp.start({});\r\nnew App(\"Demo title\");\r\n\r\n````\r\nApp model markup:\r\n\r\n````html\r\n<!DOCTYPE html>\r\n<html lang=\"en\">\r\n\r\n<head>\r\n    <title>Demo</title>\r\n</head>\r\n\r\n<body class=\"app\">\r\n    [header]\r\n    <div>[body]</div>\r\n    <script src=\"./dist/bundle.js\"></script>\r\n</body>\r\n\r\n</html>\r\n````\r\n\r\nWhat does it look like:\r\n![Rendered demo](https://raw.githubusercontent.com/anetegithub/geranium/master/docs/demorender.PNG)\r\n\r\n# Interchangeable modules\r\n* **ICoherenceContainer**, **IInjected**: *IoC* container for types. Default container store components in memory.\r\n* **ILogger**: component for additional logging of requests/view engine.\r\n* **IRequest**, **ICommunicator**: server-side interaction interfaces, using for model/state auto-updates\r\n* **ITemplateEngine**: template engine for your `View` and `string-View` representations. By default it's empty, but you free for use any of them.\r\n* **IValidationReporter**: report your model-forms errors.\r\n* **IHistory**: browser history provider for routing.\r\n* **IRouter**: default router for application. By default, any of implementations will store collection of existed routes of all components.\r\n* **IStorage**: you can store any data through container with this interface.\r\n* **IViewEngine**: interface for proicessing all your `ViewModel.render` function.\r\n* **IViewBinder**: you can change default view model bind process.\r\n* **IBinding**: concrete realizations of view model bindings.\r\n* **IViewPublisher**: publish binded view for representation.\r\n\r\n# Main extendable components\r\n* **State** - some objects which can be access and updates from any pieces of application \r\n* **Model** - object representation of your UI.\r\n* **ViewState** - state with UI representation.\r\n* **ViewModel** - models with user interactions, a.k.a. forms.\r\n\r\n# Extension Points\r\nThe main extension point for your components it's `Binding`'s and `ViewRenderers`. Bindings can be extended from `IBinding<T>` *interface* or `Binding<T>`/`BaseBinding`/`BaseByAttributeBinding` classes, rendereres can be extended from `IViewRenderer` interfaces. You can provide methods for searching needed elements in current DOM *zone*, bind your model for this DOM and clear template.\r\n#### Example:\r\n\r\n````typescript\r\nimport { BaseByAttributeBinding } from \"../../node_modules/geranium/binding/concrete/base/BaseByAttributeBinding\";\r\nimport * as Mustache from \"mustache\";\r\n\r\nexport class MustacheBind extends BaseByAttributeBinding {\r\n    attribute: string = \"data-templating-content\";\r\n    async binding(DOMObject: HTMLElement, model: any) {\r\n        const parsed = Mustache.render(DOMObject.innerHTML, model);\r\n        DOMObject.innerHTML = parsed;\r\n    }\r\n}\r\n````\r\nAfter that, you will only need to register in the main application container - `GeraniumApp`:\r\n````typescript\r\nimport GeraniumApp from \"../node_modules/geranium/runtime/concrete/App\";\r\nGeraniumApp.register(IBinding, new MustacheBind());\r\n````\r\n\r\n#### Other extension points:\r\nAny of **interchangeable modules** can be extension point of your application. Functional capability can be differents, like: **virtual dom** view engine, **JSX** binding, **SSR** templating, e.t.c.\r\n\r\n# Roadmap (0.5.0)\r\n- [x] PropertyBinding with inheritance components\r\n- [x] HtmlView: representation of component that can be lazy loaded from server\r\n- [ ] Two-way data-binding\r\n- [ ] Communicator/Synchronizer layer restructuring\r\n- [ ] Virtual DOM implementation of IViewPublisher\r\n- [ ] JSX IViewRenderer\r\n- [ ] TODO app demo\r\n- [ ] Perfomance demo\r\n- [ ] Docs","maintainers":[{"name":"anete.anetes","email":"anete.anetes@gmail.com"}],"time":{"modified":"2022-06-18T07:42:30.386Z","created":"2017-05-29T07:57:10.577Z","0.9.7":"2017-05-29T07:57:10.577Z","0.0.6":"2017-12-07T09:54:44.117Z","0.0.7":"2017-12-08T05:17:31.182Z","0.0.8":"2017-12-08T06:45:14.315Z","0.0.9":"2017-12-08T07:18:44.062Z","0.1.0":"2017-12-11T05:02:07.158Z","0.1.1":"2017-12-11T05:52:43.879Z","0.1.2":"2017-12-11T09:06:22.808Z","0.1.3":"2017-12-11T09:24:48.243Z","0.1.4":"2017-12-13T05:21:34.494Z","0.1.5":"2017-12-13T05:42:56.444Z","0.1.6":"2017-12-13T05:47:37.218Z","0.1.7":"2017-12-13T06:24:11.127Z","0.1.8":"2017-12-13T06:27:15.087Z","0.1.9":"2017-12-13T11:54:59.113Z","0.1.10":"2017-12-14T06:28:16.680Z","0.1.11":"2017-12-14T06:32:24.600Z","0.1.12":"2017-12-14T07:11:47.304Z","0.1.13":"2017-12-15T06:28:14.087Z","0.1.15":"2017-12-19T05:36:38.710Z","0.1.16":"2017-12-19T05:40:13.162Z","0.1.17":"2017-12-19T05:44:57.244Z","0.1.20":"2017-12-19T10:56:34.477Z","0.1.25":"2017-12-20T05:47:16.357Z","0.1.27":"2017-12-20T11:25:00.951Z","0.1.30":"2017-12-25T07:50:49.969Z","0.2.0":"2017-12-26T07:38:44.180Z"},"homepage":"https://github.com/anetegithub/geranium#readme","keywords":["mvvm","framework","typescript"],"repository":{"type":"git","url":"git+https://github.com/anetegithub/geranium.git"},"author":{"name":"anete.anetes"},"bugs":{"url":"https://github.com/anetegithub/geranium/issues"},"license":"GPL-2.0","readmeFilename":"README.md"}