{"_id":"promised-handlebars","_rev":"26-07b11fe9c050ddacf5f9a564e0118f24","name":"promised-handlebars","description":"Wrapper for Handlebars that allows helpers returning promises","dist-tags":{"latest":"2.0.1"},"versions":{"0.1.0":{"name":"promised-handlebars","version":"0.1.0","description":"Wrapper for Handlebars that allows helpers returning promises","repository":{"type":"git","url":"git+https://github.com/nknapp/promised-handlebars.git"},"author":{"name":"Nils Knappmeier","email":"npm@knappi.org","url":"https://github.com/nknapp"},"bugs":{"url":"https://github.com/nknapp/promised-handlebars/issues"},"main":"index.js","license":"MIT","scripts":{"pretest":"npm list --depth=0 -g standard || npm -g install standard","test":"mocha && standard","preformat":"npm list --depth=0 -g standard || npm -g install standard","format":"standard --format","thought":"thought run -a","prethoughtcheck":"npm list --depth=0 -g thought || npm -g install thought","thoughtcheck":"thought check-engines","version":"npm run thought","preversion":"npm run thoughtcheck"},"dependencies":{},"standard":{"ignore":["spec/fixtures/**"]},"keywords":[],"devDependencies":{"chai":"^3.2.0","handlebars":"^3.0.3","mocha":"^2.2.5"},"paths":{"relative":"package.json","absolute":"/home/nknappmeier/privat/node-libraries/promised-handlebars/package.json"},"gitHead":"a0840e6fbbaafa1fb7bd51c7c3d4235c2ef4ee9c","homepage":"https://github.com/nknapp/promised-handlebars#readme","_id":"promised-handlebars@0.1.0","_shasum":"a21881766dffd0d3a49af5a4dffd5b2ad29af6e9","_from":".","_npmVersion":"2.13.0","_nodeVersion":"0.12.0","_npmUser":{"name":"knappi","email":"npm@knappi.org"},"maintainers":[{"name":"knappi","email":"npm@knappi.org"}],"dist":{"shasum":"a21881766dffd0d3a49af5a4dffd5b2ad29af6e9","tarball":"https://registry.npmjs.org/promised-handlebars/-/promised-handlebars-0.1.0.tgz","integrity":"sha512-k0VEbRTotZokwZFz/f7mx/cSawNKsFz/iDzEfXk3GEEP20Ecmrt1n6WiI6626SwtIXOBn50tsru9EcExWlYMSg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCRGjRv7gJXNBOJVivZ49QkK2tTI9v0/vemjqyLyQr6DwIgIHZ1eptqNiyFKN81q16MOlh9bHGKt3U4G+UGhCrHY40="}]}},"0.1.1":{"name":"promised-handlebars","version":"0.1.1","description":"Wrapper for Handlebars that allows helpers returning promises","repository":{"type":"git","url":"git+https://github.com/nknapp/promised-handlebars.git"},"author":{"name":"Nils Knappmeier","email":"npm@knappi.org","url":"https://github.com/nknapp"},"bugs":{"url":"https://github.com/nknapp/promised-handlebars/issues"},"main":"index.js","license":"MIT","scripts":{"pretest":"npm list --depth=0 -g standard || npm -g install standard","test":"mocha && standard","preformat":"npm list --depth=0 -g standard || npm -g install standard","format":"standard --format","thought":"thought run -a","prethoughtcheck":"npm list --depth=0 -g thought || npm -g install thought","thoughtcheck":"thought check-engines","version":"npm run thought","preversion":"npm run thoughtcheck"},"dependencies":{},"standard":{"ignore":["spec/fixtures/**"]},"keywords":[],"devDependencies":{"chai":"^3.2.0","handlebars":"^3.0.3","mocha":"^2.2.5"},"paths":{"relative":"package.json","absolute":"/home/nknappmeier/privat/node-libraries/promised-handlebars/package.json"},"gitHead":"5db7ef7ee0fbc9ce9a352c3e57a1cab2adcb4e61","homepage":"https://github.com/nknapp/promised-handlebars#readme","_id":"promised-handlebars@0.1.1","_shasum":"19826ab7f4defc5e6a95737ff5c212880a8899db","_from":".","_npmVersion":"2.13.0","_nodeVersion":"0.12.0","_npmUser":{"name":"knappi","email":"npm@knappi.org"},"maintainers":[{"name":"knappi","email":"npm@knappi.org"}],"dist":{"shasum":"19826ab7f4defc5e6a95737ff5c212880a8899db","tarball":"https://registry.npmjs.org/promised-handlebars/-/promised-handlebars-0.1.1.tgz","integrity":"sha512-J0vfCoLOyY+vpw7NdPPa2eP6ZjP5SOFAdidY9wVNOdN9u8foXQLMatjysZJb96wb8iKDtDXk4VV1vlgdW9gOJw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDoezKIiDGfp+hy4cuOs/kzT+hch5eqi9RP/ZUbigJE7AIgA1rR9bsAHFv7pJw8aUNks9BtaKd0V2Wh+SzlEhU5mPc="}]}},"0.1.2":{"name":"promised-handlebars","version":"0.1.2","description":"Wrapper for Handlebars that allows helpers returning promises","repository":{"type":"git","url":"git+https://github.com/nknapp/promised-handlebars.git"},"author":{"name":"Nils Knappmeier","email":"npm@knappi.org","url":"https://github.com/nknapp"},"bugs":{"url":"https://github.com/nknapp/promised-handlebars/issues"},"main":"index.js","license":"MIT","scripts":{"pretest":"npm list --depth=0 -g standard || npm -g install standard","test":"mocha && standard","preformat":"npm list --depth=0 -g standard || npm -g install standard","format":"standard --format","thought":"thought run -a","prethoughtcheck":"npm list --depth=0 -g thought || npm -g install thought","thoughtcheck":"thought check-engines","version":"npm run thought","preversion":"npm run thoughtcheck"},"dependencies":{},"standard":{"ignore":["spec/fixtures/**"]},"keywords":[],"devDependencies":{"chai":"^3.2.0","chai-as-promised":"^5.1.0","handlebars":"^3.0.3","mocha":"^2.2.5"},"paths":{"relative":"package.json","absolute":"/home/nknappmeier/privat/node-libraries/promised-handlebars/package.json"},"gitHead":"31b65ab2bd7240c86654edc0bd2d5c5675ea191f","homepage":"https://github.com/nknapp/promised-handlebars#readme","_id":"promised-handlebars@0.1.2","_shasum":"822f98b1402ef921ac53bdb0528676bba3a2b8ff","_from":".","_npmVersion":"2.13.0","_nodeVersion":"0.12.0","_npmUser":{"name":"knappi","email":"npm@knappi.org"},"maintainers":[{"name":"knappi","email":"npm@knappi.org"}],"dist":{"shasum":"822f98b1402ef921ac53bdb0528676bba3a2b8ff","tarball":"https://registry.npmjs.org/promised-handlebars/-/promised-handlebars-0.1.2.tgz","integrity":"sha512-b3kxNwP1LJ09gGB0YtW/CsL4iZxWKl2fwW+Jv9NVlk41GfgwkxNXHoNz4Aj94qhKknRTZ6RRLxMpbQ97IN6+Ew==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE00gk0gpqY5pQYm4jAHrz6VKIKsv9q8HQ4GrVDQr7RXAiAL4Yci6wUSG8iuWp9wxgUENs/yGGYq+hfyIAtw3VXNlg=="}]}},"0.2.0":{"name":"promised-handlebars","version":"0.2.0","description":"Wrapper for Handlebars that allows helpers returning promises","repository":{"type":"git","url":"git+https://github.com/nknapp/promised-handlebars.git"},"author":{"name":"Nils Knappmeier","email":"npm@knappi.org","url":"https://github.com/nknapp"},"bugs":{"url":"https://github.com/nknapp/promised-handlebars/issues"},"main":"index.js","license":"MIT","scripts":{"pretest":"npm list --depth=0 -g standard || npm -g install standard","test":"mocha && standard","preformat":"npm list --depth=0 -g standard || npm -g install standard","format":"standard --format","thought":"thought run -a","prethoughtcheck":"npm list --depth=0 -g thought || npm -g install thought","thoughtcheck":"thought check-engines","version":"npm run thought","preversion":"npm run thoughtcheck"},"dependencies":{},"standard":{"ignore":["spec/fixtures/**"]},"keywords":[],"devDependencies":{"chai":"^3.2.0","chai-as-promised":"^5.1.0","get-promise":"^1.4.0","handlebars":"^3.0.3","mocha":"^2.2.5"},"peerDependencies":{"handlebars":"^3.0.3"},"paths":{"relative":"package.json","absolute":"/home/nknappmeier/privat/node-libraries/promised-handlebars/package.json"},"gitHead":"8e4d4ba5ba001c4d8619a598206cb0ed5d4402e1","homepage":"https://github.com/nknapp/promised-handlebars#readme","_id":"promised-handlebars@0.2.0","_shasum":"34b1c69b419a8c8d189e0fdffec70319337f07d9","_from":".","_npmVersion":"2.13.0","_nodeVersion":"0.12.0","_npmUser":{"name":"knappi","email":"npm@knappi.org"},"maintainers":[{"name":"knappi","email":"npm@knappi.org"}],"dist":{"shasum":"34b1c69b419a8c8d189e0fdffec70319337f07d9","tarball":"https://registry.npmjs.org/promised-handlebars/-/promised-handlebars-0.2.0.tgz","integrity":"sha512-8RKAt6z405lf4eoVuLxIe0kqxIl81ZRZCOt9/6RFhDBBtLm435oirytwGBBoPK9FS9ox/49TUxNAJFZRo+7o8A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH6KP7sz2mZl/ID0B0dy0B68fbi3dih4UkVO8cxNKECxAiEAs7k6vsTpEOC1LER9/WEQyueDx1zjCBaaoZc4QfIgPm4="}]}},"0.2.1":{"name":"promised-handlebars","version":"0.2.1","description":"Wrapper for Handlebars that allows helpers returning promises","repository":{"type":"git","url":"git+https://github.com/nknapp/promised-handlebars.git"},"author":{"name":"Nils Knappmeier","email":"npm@knappi.org","url":"https://github.com/nknapp"},"bugs":{"url":"https://github.com/nknapp/promised-handlebars/issues"},"main":"index.js","license":"MIT","scripts":{"pretest":"npm list --depth=0 -g standard || npm -g install standard","test":"mocha && standard","preformat":"npm list --depth=0 -g standard || npm -g install standard","format":"standard --format","thought":"thought run -a","prethoughtcheck":"npm list --depth=0 -g thought || npm -g install thought","thoughtcheck":"thought check-engines","version":"npm run thought","preversion":"npm run thoughtcheck"},"dependencies":{},"standard":{"ignore":["spec/fixtures/**"]},"keywords":[],"devDependencies":{"chai":"^3.2.0","chai-as-promised":"^5.1.0","get-promise":"^1.4.0","handlebars":"^3.0.3","mocha":"^2.2.5"},"peerDependencies":{"handlebars":"^3.0.3"},"paths":{"relative":"package.json","absolute":"/home/nknappmeier/privat/node-libraries/promised-handlebars/package.json"},"gitHead":"0e499f398ba60c745c43feb5af15f89d91a37ee6","homepage":"https://github.com/nknapp/promised-handlebars#readme","_id":"promised-handlebars@0.2.1","_shasum":"fd5031a5fb98615473743d63130c2d926b1e2197","_from":".","_npmVersion":"2.13.0","_nodeVersion":"0.12.0","_npmUser":{"name":"knappi","email":"npm@knappi.org"},"maintainers":[{"name":"knappi","email":"npm@knappi.org"}],"dist":{"shasum":"fd5031a5fb98615473743d63130c2d926b1e2197","tarball":"https://registry.npmjs.org/promised-handlebars/-/promised-handlebars-0.2.1.tgz","integrity":"sha512-aYNG4z8qRk1XdT0glwLdgIsl2jazHwhbgPdYp5FEk0FWBnyGkuWSWaJp5CKpGSjGcLBqTrMFiNUFW8AJUhh9XA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEcV/nhbI3NUJw3oRJyBKqMnqShXrRxd4WtvgoQ1/PzTAiEA2Z64b3YIxZpTR26nt7izYiWgOeSUEu/TN7oX/cuAe20="}]}},"0.3.0":{"name":"promised-handlebars","version":"0.3.0","description":"Wrapper for Handlebars that allows helpers returning promises","repository":{"type":"git","url":"git+https://github.com/nknapp/promised-handlebars.git"},"author":{"name":"Nils Knappmeier","email":"npm@knappi.org","url":"https://github.com/nknapp"},"bugs":{"url":"https://github.com/nknapp/promised-handlebars/issues"},"main":"index.js","license":"MIT","scripts":{"pretest":"npm list --depth=0 -g standard || npm -g install standard","test":"mocha && standard","preformat":"npm list --depth=0 -g standard || npm -g install standard","format":"standard --format","thought":"thought run -a","prethoughtcheck":"npm list --depth=0 -g thought || npm -g install thought","thoughtcheck":"thought check-engines","version":"npm run thought","preversion":"npm run thoughtcheck"},"dependencies":{},"standard":{"ignore":["spec/fixtures/**"]},"keywords":[],"devDependencies":{"chai":"^3.2.0","chai-as-promised":"^5.1.0","get-promise":"^1.4.0","handlebars":"^3.0.3","mocha":"^2.2.5"},"peerDependencies":{"handlebars":"^3.0.3"},"paths":{"relative":"package.json","absolute":"/home/nknappmeier/privat/node-libraries/promised-handlebars/package.json"},"gitHead":"760188dc1a219fd2f35e6661a4b41a73e3795304","homepage":"https://github.com/nknapp/promised-handlebars#readme","_id":"promised-handlebars@0.3.0","_shasum":"22da0884b07adccdda5804c5a0d3386091d92fc5","_from":".","_npmVersion":"2.13.0","_nodeVersion":"0.12.0","_npmUser":{"name":"knappi","email":"npm@knappi.org"},"maintainers":[{"name":"knappi","email":"npm@knappi.org"}],"dist":{"shasum":"22da0884b07adccdda5804c5a0d3386091d92fc5","tarball":"https://registry.npmjs.org/promised-handlebars/-/promised-handlebars-0.3.0.tgz","integrity":"sha512-ixE4p2bRBNo53EypK6GoyPZhaREo37oBGz/iDk9sOAHUzFAHZVQpIyB+JDuTMae0pcUNBq2a2S280yvWX81rCw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCL7qwl8/xItkJLFWNk4GGbazPHwk3RiWMiDH4iwipNdQIhAJflxHEqoyfbFUMwCx1y/bA7AFp5N0YnBM9OS4OV9sAu"}]}},"0.3.1":{"name":"promised-handlebars","version":"0.3.1","description":"Wrapper for Handlebars that allows helpers returning promises","repository":{"type":"git","url":"git+https://github.com/nknapp/promised-handlebars.git"},"author":{"name":"Nils Knappmeier","email":"npm@knappi.org","url":"https://github.com/nknapp"},"bugs":{"url":"https://github.com/nknapp/promised-handlebars/issues"},"main":"index.js","license":"MIT","scripts":{"pretest":"npm list --depth=0 -g standard || npm -g install standard","test":"mocha && standard","preformat":"npm list --depth=0 -g standard || npm -g install standard","format":"standard --format","thought":"thought run -a","prethoughtcheck":"npm list --depth=0 -g thought || npm -g install thought","thoughtcheck":"thought check-engines","version":"npm run thought","preversion":"npm run thoughtcheck"},"dependencies":{},"standard":{"ignore":["spec/fixtures/**"]},"keywords":[],"devDependencies":{"chai":"^3.2.0","chai-as-promised":"^5.1.0","get-promise":"^1.4.0","handlebars":"^3.0.3","mocha":"^2.2.5"},"peerDependencies":{"handlebars":"^3.0.3"},"paths":{"relative":"package.json","absolute":"/home/nknappmeier/privat/node-libraries/promised-handlebars/package.json"},"gitHead":"9e324af40828ed680680ba1e91168540d29253e3","homepage":"https://github.com/nknapp/promised-handlebars#readme","_id":"promised-handlebars@0.3.1","_shasum":"2b80ddbd8e9f655424bbb522afca152b1ae7dfd8","_from":".","_npmVersion":"2.13.0","_nodeVersion":"0.12.0","_npmUser":{"name":"knappi","email":"npm@knappi.org"},"maintainers":[{"name":"knappi","email":"npm@knappi.org"}],"dist":{"shasum":"2b80ddbd8e9f655424bbb522afca152b1ae7dfd8","tarball":"https://registry.npmjs.org/promised-handlebars/-/promised-handlebars-0.3.1.tgz","integrity":"sha512-o+G4x9Y1e6oP6Eu36sxDaaphOr7xHSUbKnK93K9NEnRNgZN6SzrSZTwqEdjQZGXO6foF5jY4eisz6H39+dXTzw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDqZj9MW93WxpDzueAnzHZRXiALapAAuyRwXIajldf9qAIhAP2W10myyHQope9LFaGz5XVzb7Ol8UmbZlp9L41iDdOT"}]}},"0.3.2":{"name":"promised-handlebars","version":"0.3.2","description":"Wrapper for Handlebars that allows helpers returning promises","repository":{"type":"git","url":"git+https://github.com/nknapp/promised-handlebars.git"},"author":{"name":"Nils Knappmeier","email":"npm@knappi.org","url":"https://github.com/nknapp"},"bugs":{"url":"https://github.com/nknapp/promised-handlebars/issues"},"main":"index.js","license":"MIT","scripts":{"pretest":"npm list --depth=0 -g standard || npm -g install standard","test":"mocha && standard","preformat":"npm list --depth=0 -g standard || npm -g install standard","format":"standard --format","thought":"thought run -a","prethoughtcheck":"npm list --depth=0 -g thought || npm -g install thought","thoughtcheck":"thought check-engines","version":"npm run thought","preversion":"npm run thoughtcheck"},"dependencies":{"q":"^1.4.1"},"standard":{"ignore":["spec/fixtures/**"]},"keywords":[],"devDependencies":{"chai":"^3.2.0","chai-as-promised":"^5.1.0","get-promise":"^1.4.0","handlebars":"^3.0.3","mocha":"^2.2.5","q-io":"^1.13.1"},"peerDependencies":{"handlebars":"^3.0.3"},"paths":{"relative":"package.json","absolute":"/home/nknappmeier/privat/node-libraries/promised-handlebars/package.json"},"gitHead":"5d282b022e7e3fa5f50249ea6bd3ebcfeb579907","homepage":"https://github.com/nknapp/promised-handlebars#readme","_id":"promised-handlebars@0.3.2","_shasum":"6f0eca7166ed241add75462031da64be639ce0c0","_from":".","_npmVersion":"2.13.0","_nodeVersion":"0.12.0","_npmUser":{"name":"knappi","email":"npm@knappi.org"},"maintainers":[{"name":"knappi","email":"npm@knappi.org"}],"dist":{"shasum":"6f0eca7166ed241add75462031da64be639ce0c0","tarball":"https://registry.npmjs.org/promised-handlebars/-/promised-handlebars-0.3.2.tgz","integrity":"sha512-P766Qw05COmSRTmBwbCnLjiwS8l8DJb2Iplua8xnv/E9wR9GIaHxzAYly8Obe1md4p38qpp22/aEkGEv3udaKg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQv1ysz7V6yIvDCvUaR+McLROh3vELlbBTloi9owWznQIhANLQ6nrLzbQ9qumCtghbpMBnugDaxrgMbbBKXxBu9LZq"}]}},"0.3.3":{"name":"promised-handlebars","version":"0.3.3","description":"Wrapper for Handlebars that allows helpers returning promises","repository":{"type":"git","url":"git+https://github.com/nknapp/promised-handlebars.git"},"author":{"name":"Nils Knappmeier","email":"npm@knappi.org","url":"https://github.com/nknapp"},"bugs":{"url":"https://github.com/nknapp/promised-handlebars/issues"},"main":"index.js","license":"MIT","scripts":{"pretest":"npm list --depth=0 -g standard || npm -g install standard","test":"mocha && standard","preformat":"npm list --depth=0 -g standard || npm -g install standard","format":"standard --format","thought":"thought run -a","prethoughtcheck":"npm list --depth=0 -g thought || npm -g install thought","thoughtcheck":"thought check-engines","version":"npm run thought","preversion":"npm run thoughtcheck"},"dependencies":{"q":"^1.4.1"},"standard":{"ignore":["spec/fixtures/**"]},"keywords":[],"devDependencies":{"chai":"^3.2.0","chai-as-promised":"^5.1.0","get-promise":"^1.4.0","handlebars":"^3.0.3","mocha":"^2.2.5","q-io":"^1.13.1"},"peerDependencies":{"handlebars":"^3.0.3"},"paths":{"relative":"package.json","absolute":"/home/nknappmeier/privat/node-libraries/promised-handlebars/package.json"},"gitHead":"6fd20422f7f9edc429381fa4825cb62c43612942","homepage":"https://github.com/nknapp/promised-handlebars#readme","_id":"promised-handlebars@0.3.3","_shasum":"a74fd6985dd8d796d38c6e65dc78913ed66ad963","_from":".","_npmVersion":"2.13.0","_nodeVersion":"0.12.0","_npmUser":{"name":"knappi","email":"npm@knappi.org"},"maintainers":[{"name":"knappi","email":"npm@knappi.org"}],"dist":{"shasum":"a74fd6985dd8d796d38c6e65dc78913ed66ad963","tarball":"https://registry.npmjs.org/promised-handlebars/-/promised-handlebars-0.3.3.tgz","integrity":"sha512-hYukEQf95nBLiIykGMRUK/JM2RBvIkG8hjK2m+fhNPP/NIv7NTnXPwtk/742OiQmzw0YStDaAIwHO3LIpgKT8g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDc/CJPx2civhkBuT77EwnKUZYRCEDgyCV8tpWmd6wBoQIhAODnpV6R3kMHlwGMLThkIkqUGx5ELsXtEpE1rmYjP6zj"}]}},"0.4.0":{"name":"promised-handlebars","version":"0.4.0","description":"Wrapper for Handlebars that allows helpers returning promises","repository":{"type":"git","url":"git+https://github.com/nknapp/promised-handlebars.git"},"author":{"name":"Nils Knappmeier","email":"npm@knappi.org","url":"https://github.com/nknapp"},"bugs":{"url":"https://github.com/nknapp/promised-handlebars/issues"},"main":"index.js","license":"MIT","scripts":{"pretest":"npm list --depth=0 -g standard || npm -g install standard","test":"mocha && standard","preformat":"npm list --depth=0 -g standard || npm -g install standard","format":"standard --format","thought":"thought run -a","prethoughtcheck":"npm list --depth=0 -g thought || npm -g install thought","thoughtcheck":"thought check-engines","version":"npm run thought","preversion":"npm run thoughtcheck"},"dependencies":{"q":"^1.4.1","q-deep":"^1.0.1"},"standard":{"ignore":["spec/fixtures/**"]},"keywords":[],"devDependencies":{"chai":"^3.2.0","chai-as-promised":"^5.1.0","get-promise":"^1.4.0","handlebars":"^3.0.3","mocha":"^2.2.5","q-io":"^1.13.1"},"peerDependencies":{"handlebars":"^3.0.3"},"paths":{"relative":"package.json","absolute":"/home/nknappmeier/privat/node-libraries/promised-handlebars/package.json"},"gitHead":"416405e2071efb715eee076bbeb93668187a4117","homepage":"https://github.com/nknapp/promised-handlebars#readme","_id":"promised-handlebars@0.4.0","_shasum":"3a06bd568d4d4825b1b80345a0074934c0a38107","_from":".","_npmVersion":"2.13.0","_nodeVersion":"0.12.0","_npmUser":{"name":"knappi","email":"npm@knappi.org"},"maintainers":[{"name":"knappi","email":"npm@knappi.org"}],"dist":{"shasum":"3a06bd568d4d4825b1b80345a0074934c0a38107","tarball":"https://registry.npmjs.org/promised-handlebars/-/promised-handlebars-0.4.0.tgz","integrity":"sha512-SF4gED6TZFFpgs1raPUcqqe+8a3b296tMqhGf88SO+AEQRus7+cokdEDlAq2dbWz7VtSxgO6ajUyQbo8sq+dEg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3odbot7DcNyso/hkr0MlAs2zYKltTCiCdcOsx/yNzLQIgFCcRwOQj2iObynW4Of0TRuUCb4fEk7Xr8RjuCYd0Aa0="}]}},"0.4.1":{"name":"promised-handlebars","version":"0.4.1","description":"Wrapper for Handlebars that allows helpers returning promises","repository":{"type":"git","url":"git+https://github.com/nknapp/promised-handlebars.git"},"author":{"name":"Nils Knappmeier","email":"npm@knappi.org","url":"https://github.com/nknapp"},"bugs":{"url":"https://github.com/nknapp/promised-handlebars/issues"},"main":"index.js","license":"MIT","scripts":{"pretest":"npm list --depth=0 -g standard || npm -g install standard","test":"mocha && standard","preformat":"npm list --depth=0 -g standard || npm -g install standard","format":"standard --format","thought":"thought run -a","prethoughtcheck":"npm list --depth=0 -g thought || npm -g install thought","thoughtcheck":"thought check-engines","version":"npm run thought","preversion":"npm run thoughtcheck"},"dependencies":{"q":"^1.4.1"},"standard":{"ignore":["spec/fixtures/**"]},"keywords":[],"devDependencies":{"chai":"^3.2.0","chai-as-promised":"^5.1.0","get-promise":"^1.4.0","handlebars":"^3.0.3","mocha":"^2.2.5","q-io":"^1.13.1"},"peerDependencies":{"handlebars":"^3.0.3"},"gitHead":"8a1c4f780a51d270c92cf82063200543c688d01f","homepage":"https://github.com/nknapp/promised-handlebars#readme","_id":"promised-handlebars@0.4.1","_shasum":"542baab2c42c2453a041a8c267bbbff43042be0e","_from":".","_npmVersion":"2.13.0","_nodeVersion":"0.12.0","_npmUser":{"name":"knappi","email":"npm@knappi.org"},"maintainers":[{"name":"knappi","email":"npm@knappi.org"}],"dist":{"shasum":"542baab2c42c2453a041a8c267bbbff43042be0e","tarball":"https://registry.npmjs.org/promised-handlebars/-/promised-handlebars-0.4.1.tgz","integrity":"sha512-QZ8u8BUsISFoxQForuzEecb4bFBf5bws4TXmbpIvCxxabIno2IXJRVKu85ETK7qzQPAB8/r2wLVLY6ZzFlOwiQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBpvhD2jXi+cbfB85n/bbDMwZd196Ku3VtqWKFomfBRwAiACwrGcOHbNR5IJ0wbmB30Ad3KJ8MjX4z6ADHesnXB5mQ=="}]}},"0.4.2":{"name":"promised-handlebars","version":"0.4.2","description":"Wrapper for Handlebars that allows helpers returning promises","repository":{"type":"git","url":"git+https://github.com/nknapp/promised-handlebars.git"},"author":{"name":"Nils Knappmeier","email":"npm@knappi.org","url":"https://github.com/nknapp"},"bugs":{"url":"https://github.com/nknapp/promised-handlebars/issues"},"main":"index.js","license":"MIT","scripts":{"pretest":"npm list --depth=0 -g standard || npm -g install standard","test":"mocha && standard","preformat":"npm list --depth=0 -g standard || npm -g install standard","format":"standard --format","thought":"thought run -a","prethoughtcheck":"npm list --depth=0 -g thought || npm -g install thought","thoughtcheck":"thought check-engines","version":"npm run thought","preversion":"npm run thoughtcheck"},"dependencies":{"q":"^1.4.1"},"standard":{"ignore":["spec/fixtures/**"]},"keywords":[],"devDependencies":{"chai":"^3.2.0","chai-as-promised":"^5.1.0","get-promise":"^1.4.0","handlebars":"^3.0.3","mocha":"^2.2.5","q-io":"^1.13.1"},"peerDependencies":{"handlebars":"^3.0.3"},"gitHead":"ae8502a9ddc1a21f0ad1a0c9770995b0ef1a74d9","homepage":"https://github.com/nknapp/promised-handlebars#readme","_id":"promised-handlebars@0.4.2","_shasum":"c674ae255b61b0c43f7b7e9182fec887d803adc8","_from":".","_npmVersion":"2.13.0","_nodeVersion":"0.12.0","_npmUser":{"name":"knappi","email":"npm@knappi.org"},"maintainers":[{"name":"knappi","email":"npm@knappi.org"}],"dist":{"shasum":"c674ae255b61b0c43f7b7e9182fec887d803adc8","tarball":"https://registry.npmjs.org/promised-handlebars/-/promised-handlebars-0.4.2.tgz","integrity":"sha512-W5s9QKwk/HaPpQysM9n8q7JzqshSMcvzWp4GFI5u4L6C1dFoDBPJ3inQL0O0z5C/1MSoL5rVAya2NUa5jSSu8A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID6v68hr2u0qnTEXeZxfuItC4gagqKMbARDIzrjOMg32AiEA2Po/6cdaSMv09fdRK7azwC0uwLm2QJHtJs7bEpk0L0U="}]}},"1.0.0":{"name":"promised-handlebars","version":"1.0.0","description":"Wrapper for Handlebars that allows helpers returning promises","repository":{"type":"git","url":"git+https://github.com/nknapp/promised-handlebars.git"},"author":{"name":"Nils Knappmeier","email":"npm@knappi.org","url":"https://github.com/nknapp"},"bugs":{"url":"https://github.com/nknapp/promised-handlebars/issues"},"main":"index.js","license":"MIT","scripts":{"pretest":"npm list --depth=0 -g standard || npm -g install standard","test":"mocha && standard","preformat":"npm list --depth=0 -g standard || npm -g install standard","format":"standard --format","thought":"thought run -a","prethoughtcheck":"npm list --depth=0 -g thought || npm -g install thought","thoughtcheck":"thought check-engines","version":"npm run thought","preversion":"npm run thoughtcheck"},"dependencies":{"q":"^1.4.1"},"standard":{"ignore":["spec/fixtures/**"]},"keywords":[],"devDependencies":{"chai":"^3.2.0","chai-as-promised":"^5.1.0","get-promise":"^1.4.0","handlebars":"^3.0.3","mocha":"^2.2.5","q-io":"^1.13.1"},"peerDependencies":{"handlebars":"^3.0.3"},"gitHead":"c4cb7dee6a49f73b63c2b0f64fe8c2c18e858d4d","homepage":"https://github.com/nknapp/promised-handlebars#readme","_id":"promised-handlebars@1.0.0","_shasum":"0cebd22362e182ece008563129fb65aa66ddf17b","_from":".","_npmVersion":"2.13.0","_nodeVersion":"0.12.0","_npmUser":{"name":"knappi","email":"npm@knappi.org"},"maintainers":[{"name":"knappi","email":"npm@knappi.org"}],"dist":{"shasum":"0cebd22362e182ece008563129fb65aa66ddf17b","tarball":"https://registry.npmjs.org/promised-handlebars/-/promised-handlebars-1.0.0.tgz","integrity":"sha512-/PhSaDMbl8vacx+dWy1tZuaBD5RTiSPKAwuAB25TLKLtSQ3FEkaYe/hk7q1OIm4zMvjOSsnWaN9gr8GkEzYH3w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpfzySiaD6cikCBzKzTbLMM/pYHwh4r+s8JbTyo5bMLwIhAJhrZRCfbdgrXvD8HpjAK8t6pWfzCemidQLO3kLEVVFr"}]}},"1.0.1":{"name":"promised-handlebars","version":"1.0.1","description":"Wrapper for Handlebars that allows helpers returning promises","repository":{"type":"git","url":"git+https://github.com/nknapp/promised-handlebars.git"},"author":{"name":"Nils Knappmeier","email":"npm@knappi.org","url":"https://github.com/nknapp"},"bugs":{"url":"https://github.com/nknapp/promised-handlebars/issues"},"main":"index.js","license":"MIT","scripts":{"pretest":"standard --version || npm -g install standard","test":"mocha && standard","preformat":"standard --version || npm -g install standard","format":"standard --format","thought":"thought run -a","prethoughtcheck":"thought --version || npm -g install thought","thoughtcheck":"thought check-engines","version":"npm run thought","preversion":"npm run thoughtcheck"},"dependencies":{"q":"^1.4.1"},"standard":{"ignore":["spec/fixtures/**"]},"keywords":[],"devDependencies":{"chai":"^3.2.0","chai-as-promised":"^5.1.0","get-promise":"^1.4.0","handlebars":"^3||^4","mocha":"^2.2.5","q-io":"^1.13.1"},"peerDependencies":{"handlebars":"3||4"},"gitHead":"3ffce4bd9bc7a5f4e7c029a0a8d795e8ed91bb98","homepage":"https://github.com/nknapp/promised-handlebars#readme","_id":"promised-handlebars@1.0.1","_shasum":"b2d02d29fd1f5595432120c15a2b4dbf22bab0a0","_from":".","_npmVersion":"3.3.10","_nodeVersion":"4.1.0","_npmUser":{"name":"knappi","email":"npm@knappi.org"},"maintainers":[{"name":"knappi","email":"npm@knappi.org"}],"dist":{"shasum":"b2d02d29fd1f5595432120c15a2b4dbf22bab0a0","tarball":"https://registry.npmjs.org/promised-handlebars/-/promised-handlebars-1.0.1.tgz","integrity":"sha512-/qBjqCsJwlREd7yiVShFob2+xG/yApkAAeKDZ4PFT6XOvxf5RCJb0PxbFYZo+FQT6Y3xgUb5R+C9e4lity9DCQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGGiCzzbKakgDqAMep3kYr4TiEM52Xt+jAJsBJ+fQ2loAiEAoq2hzWmgEKAhHXhBR9KPiZREXkQAMw/Hnkb7It9jpF4="}]}},"1.0.2":{"name":"promised-handlebars","version":"1.0.2","description":"Wrapper for Handlebars that allows helpers returning promises","repository":{"type":"git","url":"git+https://github.com/nknapp/promised-handlebars.git"},"author":{"name":"Nils Knappmeier","email":"npm@knappi.org","url":"https://github.com/nknapp"},"bugs":{"url":"https://github.com/nknapp/promised-handlebars/issues"},"main":"index.js","license":"MIT","scripts":{"pretest":"standard --version || npm -g install standard","test":"mocha && standard","preformat":"standard --version || npm -g install standard","format":"standard --format","thought":"thought run -a","prethoughtcheck":"thought --version || npm -g install thought","thoughtcheck":"thought check-engines","version":"npm run thought","preversion":"npm run thoughtcheck"},"dependencies":{"q":"^1.4.1"},"standard":{"ignore":["spec/fixtures/**"]},"keywords":[],"devDependencies":{"chai":"^3.2.0","chai-as-promised":"^5.1.0","get-promise":"^1.4.0","handlebars":"^3||^4","mocha":"^2.2.5","q-io":"^1.13.1"},"peerDependencies":{"handlebars":"3||4"},"gitHead":"2937d871c8179c53373a3bd7a4ec1af936fd26f0","homepage":"https://github.com/nknapp/promised-handlebars#readme","_id":"promised-handlebars@1.0.2","_shasum":"256822b0a12dd024fa91aabc33b495ed72aeb521","_from":".","_npmVersion":"3.3.10","_nodeVersion":"4.1.0","_npmUser":{"name":"knappi","email":"npm@knappi.org"},"maintainers":[{"name":"knappi","email":"npm@knappi.org"}],"dist":{"shasum":"256822b0a12dd024fa91aabc33b495ed72aeb521","tarball":"https://registry.npmjs.org/promised-handlebars/-/promised-handlebars-1.0.2.tgz","integrity":"sha512-Qx3NuBExBZUvqz3jFqNB+VsRrttMUDAZkno/KGCA3eLYA1jILoIQhV+41uRv5KOsd5sfOhgQ2udMwYh4nkJ9fQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDEJguMrjH6NIi2/AkEftTzdQ3XKvLlaCfVIvHttbd1bAiBBr024n/3nz2VgPR74dk4oubpxY/FKf6Z5/SWwSoN/AA=="}]}},"1.0.3":{"name":"promised-handlebars","version":"1.0.3","description":"Wrapper for Handlebars that allows helpers returning promises","repository":{"type":"git","url":"git+https://github.com/nknapp/promised-handlebars.git"},"author":{"name":"Nils Knappmeier","email":"npm@knappi.org","url":"https://github.com/nknapp"},"bugs":{"url":"https://github.com/nknapp/promised-handlebars/issues"},"main":"index.js","license":"MIT","scripts":{"pretest":"standard --version || npm -g install standard","test":"mocha && standard","preformat":"standard --version || npm -g install standard","format":"standard --format","thought":"thought run -a","prethoughtcheck":"thought --version || npm -g install thought","thoughtcheck":"thought check-engines","version":"npm run thought","preversion":"npm run thoughtcheck"},"dependencies":{"q":"^1.4.1"},"standard":{"ignore":["spec/fixtures/**"]},"keywords":[],"devDependencies":{"chai":"^3.2.0","chai-as-promised":"^5.1.0","get-promise":"^1.4.0","handlebars":"^3||^4","mocha":"^2.2.5","q-io":"^1.13.1"},"peerDependencies":{"handlebars":"3||4"},"config":{"ghooks":{"pre-commit":"thoughtful precommit && standard --format"}},"gitHead":"73d798a1c696fb32bcef322244be80ed9302ece0","homepage":"https://github.com/nknapp/promised-handlebars#readme","_id":"promised-handlebars@1.0.3","_shasum":"68a20fb937371f53a17ba00502a357a72a844812","_from":".","_npmVersion":"3.5.2","_nodeVersion":"4.1.0","_npmUser":{"name":"knappi","email":"npm@knappi.org"},"maintainers":[{"name":"knappi","email":"npm@knappi.org"}],"dist":{"shasum":"68a20fb937371f53a17ba00502a357a72a844812","tarball":"https://registry.npmjs.org/promised-handlebars/-/promised-handlebars-1.0.3.tgz","integrity":"sha512-7xSwUPzGzdxozXBeEXB8itzOmCW8aycxk1N5h79QWC6lRiJ1exRkmhbW6NF2bF+T3WVlZhhBJ/l0vw71HciMrQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFq58qHneMKiA0gi1AXyo7wvwnpHVIwXOQp+9ukptyxRAiBJ0grHewj+NG4WeyIcLqvZFoYSraZpFYxiYuW+u+YDIA=="}]}},"1.0.4":{"name":"promised-handlebars","version":"1.0.4","description":"Wrapper for Handlebars that allows helpers returning promises","repository":{"type":"git","url":"git+https://github.com/nknapp/promised-handlebars.git"},"author":{"name":"Nils Knappmeier","email":"npm@knappi.org","url":"https://github.com/nknapp"},"bugs":{"url":"https://github.com/nknapp/promised-handlebars/issues"},"main":"index.js","license":"MIT","scripts":{"pretest":"standard --version || npm -g install standard","test":"mocha && standard","preformat":"standard-format --version || npm -g install standard-format","format":"standard-format -w","thought":"thought run -a","prethoughtcheck":"thought --version || npm -g install thought","thoughtcheck":"thought check-engines","version":"thoughtful changelog -o -a && npm run thought","preversion":"npm run thoughtcheck"},"dependencies":{"deep-aplus":"^1.0.2","q":"^1.4.1"},"standard":{"ignore":["spec/fixtures/**"]},"keywords":["handlebars","async","helpers","promise","q"],"files":["index.js"],"devDependencies":{"chai":"^3.2.0","chai-as-promised":"^5.1.0","get-promise":"^1.4.0","handlebars":"^3||^4","mocha":"^2.2.5","q-io":"^1.13.1","thoughtful-release":"^0.3.0"},"peerDependencies":{"handlebars":"3||4"},"gitHead":"ccfbc2bbcee8b105ca5a4f6941e1f455960b6850","homepage":"https://github.com/nknapp/promised-handlebars#readme","_id":"promised-handlebars@1.0.4","_shasum":"5cc93c43eeaa0cec214483de1932e50b42d4520f","_from":".","_npmVersion":"3.9.5","_nodeVersion":"4.1.0","_npmUser":{"name":"knappi","email":"npm@knappi.org"},"maintainers":[{"name":"knappi","email":"npm@knappi.org"}],"dist":{"shasum":"5cc93c43eeaa0cec214483de1932e50b42d4520f","tarball":"https://registry.npmjs.org/promised-handlebars/-/promised-handlebars-1.0.4.tgz","integrity":"sha512-wHMznFvFCU6feBOhb3GAAXmloMYIno/3LA7Yal6CjMwUR1WJMa1P/aZ3lFvovisiCx4Z59mVZI0SY4a+TZ50rA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBBr5LaLiQTbtVmmZt0VO4B+wf3fJHJVzBcNSdSdfDLOAiBp4zyhnr0HlPDUJmR4/aY1lKv61hNDa6cdOLXWUnoouA=="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/promised-handlebars-1.0.4.tgz_1468668269583_0.44355569453909993"}},"1.0.5":{"name":"promised-handlebars","version":"1.0.5","description":"Wrapper for Handlebars that allows helpers returning promises","repository":{"type":"git","url":"git+https://github.com/nknapp/promised-handlebars.git"},"author":{"name":"Nils Knappmeier","email":"npm@knappi.org","url":"https://github.com/nknapp"},"bugs":{"url":"https://github.com/nknapp/promised-handlebars/issues"},"main":"index.js","license":"MIT","scripts":{"pretest":"standard --version || npm -g install standard","test":"mocha && standard","preformat":"standard --version || npm -g install standard","format":"standard --format","thought":"thought run -a","prethoughtcheck":"thought --version || npm -g install thought","thoughtcheck":"thought check-engines","version":"npm run thought","preversion":"npm run thoughtcheck"},"dependencies":{"q":"^1.4.1"},"standard":{"ignore":["spec/fixtures/**"]},"keywords":[],"devDependencies":{"chai":"^3.2.0","chai-as-promised":"^5.1.0","get-promise":"^1.4.0","handlebars":"^3||^4","mocha":"^2.2.5","q-io":"^1.13.1"},"peerDependencies":{"handlebars":"3||4"},"config":{"ghooks":{"pre-commit":"thoughtful precommit && standard --format"}},"gitHead":"73d798a1c696fb32bcef322244be80ed9302ece0","homepage":"https://github.com/nknapp/promised-handlebars#readme","_id":"promised-handlebars@1.0.5","_shasum":"0526b11e816667b043cb9c18addf047e4c1c76fe","_from":".","_npmVersion":"3.8.9","_nodeVersion":"6.2.0","_npmUser":{"name":"knappi","email":"npm@knappi.org"},"maintainers":[{"name":"knappi","email":"npm@knappi.org"}],"dist":{"shasum":"0526b11e816667b043cb9c18addf047e4c1c76fe","tarball":"https://registry.npmjs.org/promised-handlebars/-/promised-handlebars-1.0.5.tgz","integrity":"sha512-VvzYH4ggT/kBZaur1n4nHWe7dJa+0kts03hnw86Q2GPbKp/Zm73GsCB6vN9nXYrTH8asqZ1tfXN4ZTVdyLGafg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHPStaMDZ/eM776T2nmwZd3SE6PAEkXfrrJsgUVr8/p0AiEAzovMrMCOHpKMpBh59EA4RIPY66FOdZKVGmiIn1ztU1s="}]},"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/promised-handlebars-1.0.5.tgz_1468964812873_0.341987781226635"}},"1.0.6":{"name":"promised-handlebars","version":"1.0.6","description":"Wrapper for Handlebars that allows helpers returning promises","repository":{"type":"git","url":"git+https://github.com/nknapp/promised-handlebars.git"},"author":{"name":"Nils Knappmeier","email":"npm@knappi.org","url":"https://github.com/nknapp"},"bugs":{"url":"https://github.com/nknapp/promised-handlebars/issues"},"main":"index.js","license":"MIT","scripts":{"pretest":"standard --version || npm -g install standard","test":"mocha && standard","preformat":"standard-format --version || npm -g install standard-format","format":"standard-format -w","thought":"thought run -a","prethoughtcheck":"thought --version || npm -g install thought","thoughtcheck":"thought check-engines","version":"thoughtful changelog -o -a && npm run thought","preversion":"npm run thoughtcheck"},"dependencies":{"deep-aplus":"^1.0.2","q":"^1.4.1"},"standard":{"ignore":["spec/fixtures/**"]},"keywords":["handlebars","async","helpers","promise","q"],"files":["index.js"],"devDependencies":{"chai":"^3.2.0","chai-as-promised":"^5.1.0","get-promise":"^1.4.0","handlebars":"^3||^4","mocha":"^2.2.5","q-io":"^1.13.1","thoughtful-release":"^0.3.0"},"peerDependencies":{"handlebars":"3||4"},"gitHead":"89b6ee068fc319f68afabdf70caed3ca7f4da422","homepage":"https://github.com/nknapp/promised-handlebars#readme","_id":"promised-handlebars@1.0.6","_shasum":"d997e0943b03f63fe82ff23cb904b27acfc050d8","_from":".","_npmVersion":"2.15.1","_nodeVersion":"0.10.46","_npmUser":{"name":"knappi","email":"npm@knappi.org"},"dist":{"shasum":"d997e0943b03f63fe82ff23cb904b27acfc050d8","tarball":"https://registry.npmjs.org/promised-handlebars/-/promised-handlebars-1.0.6.tgz","integrity":"sha512-gVH5cQTEuYbqEZeD0T110/vqggeOeZteZVkwwjB70derxoXr+7d8rb3n3RtfxIe1myMDQiKbx4cPEpw4OXQMsw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC7msGWn/RHlEBf/ieEC703T9dIU1pdcI1ZF10EtBar5gIhAKJNsWhHbc6y1eGUGhomH9LOe3I2EdFqRaG043avfLzc"}]},"maintainers":[{"name":"knappi","email":"npm@knappi.org"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/promised-handlebars-1.0.6.tgz_1469133204395_0.9090250474400818"}},"2.0.0":{"name":"promised-handlebars","version":"2.0.0","description":"Wrapper for Handlebars that allows helpers returning promises","repository":{"type":"git","url":"git+https://github.com/nknapp/promised-handlebars.git"},"author":{"name":"Nils Knappmeier","email":"npm@knappi.org","url":"https://github.com/nknapp"},"bugs":{"url":"https://github.com/nknapp/promised-handlebars/issues"},"main":"index.js","license":"MIT","scripts":{"pretest":"standard --version || npm -g install standard","test":"mocha && standard","preformat":"standard-format --version || npm -g install standard-format","format":"standard-format -w","thought":"thought run -a","prethoughtcheck":"thought --version || npm -g install thought","thoughtcheck":"thought check-engines","version":"thoughtful changelog -o -a && npm run thought","preversion":"npm run thoughtcheck"},"dependencies":{"deep-aplus":"^1.0.2"},"standard":{"ignore":["spec/fixtures/**"]},"keywords":["handlebars","async","helpers","promise","q"],"files":["index.js"],"devDependencies":{"q":"^1.4.1","bluebird":"^3.4.1","chai":"^3.2.0","chai-as-promised":"^5.1.0","es6-promise":"^3.2.1","get-promise":"^1.4.0","handlebars":"^3||^4","mocha":"^2.2.5","q-io":"^1.13.1","thoughtful-release":"^0.3.0"},"peerDependencies":{"handlebars":"3||4"},"gitHead":"d43ae4b2794bccf89e163d910d0914a5bd0dd055","homepage":"https://github.com/nknapp/promised-handlebars#readme","_id":"promised-handlebars@2.0.0","_shasum":"fe932572e24dda45bc0d30c3aa1c0b676485b1e4","_from":".","_npmVersion":"2.15.1","_nodeVersion":"0.10.46","_npmUser":{"name":"knappi","email":"npm@knappi.org"},"dist":{"shasum":"fe932572e24dda45bc0d30c3aa1c0b676485b1e4","tarball":"https://registry.npmjs.org/promised-handlebars/-/promised-handlebars-2.0.0.tgz","integrity":"sha512-k7RI6s1KXhzxKIcObvuQR6tzyrYkVRNVIKFE/tBLt/78oTh29fZveNdDP+AG75tHmGPCKQUQOp0WTv6xY2P54w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCRNgVoCluiyPlULCdJyh8eGDbIzVydHdiZ9BWr4u+TkAIhAN6T150p4gT1UBf1RLozUdrZcA+uCPGEkTEEN6Uk09Nl"}]},"maintainers":[{"name":"knappi","email":"npm@knappi.org"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/promised-handlebars-2.0.0.tgz_1469749883735_0.7487690353300422"}},"2.0.1":{"name":"promised-handlebars","version":"2.0.1","description":"Wrapper for Handlebars that allows helpers returning promises","repository":{"type":"git","url":"git+https://github.com/nknapp/promised-handlebars.git"},"author":{"name":"Nils Knappmeier","email":"npm@knappi.org","url":"https://github.com/nknapp"},"bugs":{"url":"https://github.com/nknapp/promised-handlebars/issues"},"main":"index.js","license":"MIT","scripts":{"pretest":"standard --version || npm -g install standard","test":"mocha && standard","preformat":"standard-format --version || npm -g install standard-format","format":"standard-format -w","thought":"thought run -a","prethoughtcheck":"thought --version || npm -g install thought","thoughtcheck":"thought check-engines","version":"thoughtful changelog -o -a && npm run thought","preversion":"npm run thoughtcheck"},"dependencies":{"deep-aplus":"^1.0.2"},"standard":{"ignore":["spec/fixtures/**"]},"keywords":["handlebars","async","helpers","promise","q"],"files":["index.js","lib"],"devDependencies":{"q":"^1.4.1","bluebird":"^3.4.1","chai":"^3.2.0","chai-as-promised":"^5.1.0","es6-promise":"^3.2.1","get-promise":"^1.4.0","handlebars":"^3||^4","mocha":"^2.2.5","q-io":"^1.13.1","thoughtful-release":"^0.3.0"},"peerDependencies":{"handlebars":"3||4"},"gitHead":"363e88bdcc25d2d29e6b691329833e4310c99c7d","homepage":"https://github.com/nknapp/promised-handlebars#readme","_id":"promised-handlebars@2.0.1","_shasum":"a662a4278895b4c13f815ecf223691ac3ca7fdca","_from":".","_npmVersion":"3.9.5","_nodeVersion":"4.1.0","_npmUser":{"name":"knappi","email":"npm@knappi.org"},"dist":{"shasum":"a662a4278895b4c13f815ecf223691ac3ca7fdca","tarball":"https://registry.npmjs.org/promised-handlebars/-/promised-handlebars-2.0.1.tgz","integrity":"sha512-idhuCYZulsjgBssopKqsV6lpJXFEzK+vjoCa+bDmbUG7lUz9kO+25GgcZKw+xbXrPfJxV8PwKrS5CIPmhbLgBg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCmPaA/stZPjIuRHptgi3TeARfmeEd4UkRBqpG4v8xw8wIgVfWIhPvVMF8zxt4SW4ucCNPY5Wp05NF3+kBpMMfGKyU="}]},"maintainers":[{"name":"knappi","email":"npm@knappi.org"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/promised-handlebars-2.0.1.tgz_1472591551140_0.7616473454982042"}}},"readme":"# promised-handlebars \n\n[![NPM version](https://badge.fury.io/js/promised-handlebars.svg)](http://badge.fury.io/js/promised-handlebars)\n[![Travis Build Status](https://travis-ci.org/nknapp/promised-handlebars.svg?branch=master)](https://travis-ci.org/nknapp/promised-handlebars)\n[![Coverage Status](https://img.shields.io/coveralls/nknapp/promised-handlebars.svg)](https://coveralls.io/r/nknapp/promised-handlebars)\n\n\n> Wrapper for Handlebars that allows helpers returning promises\n\n\n# Installation\n\n```\nnpm install promised-handlebars\n```\n\n## Usage\n\n`promised-handlebars` creates a new a Handlebars-instance with wrapped\n`compile`-method and `registerHelper`-method to allow \nhelpers that return promises.\n\nAs a side-effect (in order to allow asynchronous template execution)\nthe compiled template-function itself always returns a promise instead\nof a string.\n\n### Simple helpers\n\nSimple helpers can just return promises.\n\n```js\nvar promisedHandlebars = require('promised-handlebars')\nvar Q = require('q')\nvar Handlebars = promisedHandlebars(require('handlebars'), { Promise: Q.Promise })\n\n// Register a helper that returns a promise\n// Helpers do not have to return a promise of the sane\nHandlebars.registerHelper('helper', function (value) {\n  return Q.delay(100).then(function () {\n    return value\n  })\n})\n\nvar template = Handlebars.compile('123{{helper a}}456{{helper b}}')\n\n// The whole compiled function returns a promise as well\ntemplate({\n  a: 'abc',\n  b: 'xyz'\n}).done(console.log)\n```\n\nThis will generate the following output: \n`123abc456xyz`\n\n\n### Block helpers\n\nIf a block-helper, calls the helper-contents (`options.fn`) and the else-block \n(`options.inverse`) asynchronously, i.e. from within a promise chain those functions \nmay return a promise. \n\nWhen those methods is called synchronously they return the value as they do in default Handlebars.  \nThis means that helper-libraries written for Handlebars will still work, but you can also write\nblock-helpers that do some asynchronous work before evaluating the block contents, such as:\n\n```js\nvar promisedHandlebars = require('promised-handlebars')\nvar Handlebars = promisedHandlebars(require('handlebars'), { Promise: require('q').Promise })\nvar httpGet = require('get-promise')\n\n// A block helper (retrieve github.com user data for a given username)\n// Execute the helper-block with the user data when it resolves\nHandlebars.registerHelper('github-user', function (value, options) {\n  var url = 'https://api.github.com/users/' + value\n  return httpGet(url, { headers: { 'User-Agent': 'Node' } })\n    .get('data')\n    .then(JSON.parse)\n    .then(function (data) {\n      // `options.fn` returns a promise. Wrapping brackets must be added after resolving\n      return options.fn(data)\n    })\n})\n\nvar template = Handlebars.compile('{{username}}: {{#github-user username}}{{{name}}}{{/github-user}}')\n\n// The whole compiled function returns a promise as well\ntemplate({\n  username: 'nknapp'\n}).done(console.log)\n```\n\nThis will generate the following output: \n`nknapp: Nils Knappmeier`\n\n### Usage with other promise libraries\n\nStarting with `v2.x`, `promised-handlebars`, no longer depends on\n[`Q`](https://github.com/kriskowal/q). Instead, you will need to ensure\nthat a [`Promises/A+`](https://promisesaplus.com/) implementation is provided.\nYou can do this by passing the promise implementation of your choice in the options.\n\n```js\nvar promisedHandlebars = require('promised-handlebars')\nvar Q = require('q')\n// Pass Q.Promise to promisedHandlebars in the options.Promise\nvar Handlebars = promisedHandlebars(require('handlebars'), { Promise: Q.Promise })\n```\n\n`promised-handlebars` will default to using the global Promise object, so if your environment provides it (e.g if you are using `node@^4.x` or a [modern web browser](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise#Browser_compatibility))\nor if you are using a promise library as `global.Promise`, you will not need to pass the Promise constructor\nin the options.\n\n```js\nglobal.Promise = require('bluebird')\nvar promisedHandlebars = require('promised-handlebars')\n// By default promisedHandlebars uses global.Promise,\nvar Handlebars = promisedHandlebars(require('handlebars'))\n```\n\n#### Mixed Promises/A+\n\nWhen writing helper functions that return promises, it is not necessary to return the same sort of promises that you used when invoking `promisedHelper()`.\n\n```js\nvar promisedHandlebars = require('promised-handlebars')\nvar Handlebars = promisedHandlebars(require('handlebars'))\n\nvar Q = require('q')\n\n// Register a helper that returns a promise\n// Helpers can use any A+ promises type\nHandlebars.registerHelper('helper', function (value) {\n  return Q.delay(100).then(function () {\n    return value\n  })\n})\n\nvar template = Handlebars.compile('ABC{{helper a}}XYZ{{helper b}}')\n\n// The whole compiled function returns a promise as well\ntemplate({\n  a: '123',\n  b: '456'\n}).then(console.log)\n```\n\nThis works and generates\n`ABC123XYZ456`\n\n\n## How it works\n\nHandlebars allows you to register helper functions and that can be called \nfrom the template. The template itself is compiled into the function that \ncan be called to render a JSON.\n\nThis module wraps the compiled template function and helpers register with \n`registerHelper` in order to do the following:\n\n* In case the helper returns an object that is `isPromiseAlike` (i.e. it is a non-`null` object with a \n  function method `then()`), the value is inserted into a temporary `promises-array`.\n\n* The `.toString` method of the helper-return value is modified to return\n  a concatenated string of\n  * A placeholder-character that is not supposed to occur in the template (currently `\\u0001`).\n    The placeholder may also not occur in the output generated by helpers.\n  * The index of the inserted value within the `promises-array` (as stringified digits)\n  * A `>` character that is used to detect whether the helper output was be escaped.\n\n* After the execution of the compiled template, a combined promise of all\n  helper return values is created with `Q.all()` and returned when this \n  promise (i.e. all helper-return-values) are resolved, all placeholder \n  characters in the template output are replaced by the actual resolved values.\n  The inserted `>`-character is now used to determine whether to escape the helper output.\n  (If it is was converted to `&gt;`, it is escaped, otherwise not) \n\nThe result is a promise for the finalized template output.\n\n### Edge-cases\n\nThere are things to think about that are covered by this module:\n\n* The promise-array only exists during one execution of the javascript event-loop.\n  It will be reset to `null` once the template-execution is done and the `Q.all()` function\n  is called. Otherwise there would be serious concurrency problems when the template\n  is executed several times at the same time.\n\n* Registered partials in are compiled by Handlebars with the same `compile` function\n  as the template itself. However, they may not return a promise, because the caller-code\n  is not expecting that.\n  \n  Since the `partial`-function is called from somewhere within the `template`-function, the\n  promise-array already exists. Thus, the solution is, to call the `partial`-function directly\n  if the promise-array already exists. This will then return a string instead of a promise.\n\n* A block-helper may call `options.fn` and `option.inverse` from the `.then` function\n  of a promise. The promise-array is already reset to `null` when those functions are executed,\n  which means that they cannot insert any more promises. We solve this problem by wrapping\n  those functions with the same mechanism as the `template`- and `partial`-functions:\n  If the function is called in the same event-loop-cycle as the `template`-function, no\n  wrapper is applied and the return value is passed on as-is.\n\n  If the functions are called asynchronously from within a promise-`.then` function, the wrapper\n  will be applied and a promise will be returned instead of the actual return value.\n  The side-effect is that synchronous helper-libraries can still be used, while asynchronous\n  block helpers are possible, but must handle the promise return-value correctly.\n* Helper arguments (like in `{{helper (promise-helper arg) hashArg=(promise-helper arg2)}}`)\n  need to be resolved before running the actual helper.\n\n* Builtin-helpers must be wrapped as well to allow something like `{{#each (promise-helper arg)}}abc{{/each}}`\n\n### Caveats  / TODOs\n\n**Customizable placeholder:** The algorithm currently uses the char `\\u0001` as placeholder in the \ntemplate. It may happen that the placeholder-sequence occurs in the template, a partial, the input data \nor that it is generated by helpers. In such a case, it will replaced by a promise result at some point.\n\nThis can be ommited by passing an other character in the `options` parameter, but this is not a complete solution.\n\n**Known problems:** Although many edge-cases are handled by this module, there are some cases that \ncannot be handled properly.\nThe following example uses a synchronous block-helper `{{#trim}}...{{trim}}` to remove whitespace\nfrom both ends of the enclosed block and a asynchronous helper `{{promise-helper}}` that returns a\npromise for a boolean value:\n\n```js\nvar promisedHandlebars = require('promised-handlebars')\nvar Q = require('q')\nvar Handlebars = promisedHandlebars(require('handlebars'), { Promise: Q.Promise })\n\nHandlebars.registerHelper({\n  // Returns a promise for `true`\n  'eventually-true': function () {\n    return Q.delay(1).then(function () {\n      return true\n    })\n  },\n  // Trim whitespaces from block-content result.\n  'trim': function (options) {\n    return String(options.fn()).trim()\n  }\n})\n\nvar template = Handlebars.compile('{{#trim}}{{#if (eventually-true)}}   abc   {{/if}}{{/trim}}')\n\n// We would expect \"abc\", but...\ntemplate({}).then(JSON.stringify).done(console.log)\n```\n\nThe output of the example still contains the surrounding spaces, so the `{{#trim}}` helper\nappearently did not work:\n\n`\"   abc   \"`\n\nThe problem is, that the `{{#if}}`-helper cannot be executed until the result of `{{eventually-true}}`\nis resolved. This means, that the `{{#if}}`-helper must return a promise instead of the actual string.\nReturning a promise means inserting a placeholder, but calling `.trim()` on the placeholder does not return\nthe whitespaces around the resolved result. \n\nIf you are writing the `{{#trim}}`-helper yourself, you can adjust it so that it uses promises:\n\n```js\n'trim': function (options) {\n    return Q()\n      .then(function () {\n        return options.fn()\n      })\n      .then(function (contents) {\n        return contents.trim()\n      })\n  }\n```\n\nThen, the output will be correct: `\"abc\"`\n \nIf you cannot easily adapt the `{{#trim}}`-helper, you have a problem.\n**Suggestions welcome**.\n\n\nSee [open issues](https://github.com/nknapp/promised-handlebars/issues) for possible other problems.\n\n### Other solutions for async-handlebars\n\n* The problem of async-helpers was discussed in \n  [this issue in the Handlebars project on github](https://github.com/wycats/handlebars.js/issues/141).\n  Some solutions are discussed there. The implementation of this module is similar to one of them.  \n\n* There is a [handlebars-async](https://www.npmjs.com/package/handlebars-async)-package on npm, which\n  works with callbacks instead of promises. It's version is currently 0.0.3 and the last release is \n  two years ago (as of July 2015), which is why I did not take a closer look. But it seems to use \n  uuids to mark insertion-points for promise-results.\n\n  \n\n## License\n\n`promised-handlebars` is published under the MIT-license. \nSee [LICENSE.md](LICENSE.md) for details.\n\n## Release-Notes\n \nFor release notes, see [CHANGELOG.md](CHANGELOG.md)\n \n## Contributing guidelines\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md).","maintainers":[{"name":"knappi","email":"npm@knappi.org"}],"time":{"modified":"2022-06-24T19:26:08.527Z","created":"2015-07-24T23:08:09.724Z","0.1.0":"2015-07-24T23:08:09.724Z","0.1.1":"2015-07-25T15:13:40.280Z","0.1.2":"2015-07-26T05:33:52.018Z","0.2.0":"2015-07-26T20:22:53.402Z","0.2.1":"2015-07-26T20:51:12.339Z","0.3.0":"2015-07-27T22:23:05.789Z","0.3.1":"2015-07-28T04:36:34.704Z","0.3.2":"2015-07-29T23:55:24.432Z","0.3.3":"2015-08-01T14:30:57.480Z","0.3.4":"2015-08-06T10:53:58.600Z","0.4.0":"2015-08-16T14:01:49.809Z","0.4.1":"2015-08-16T22:45:42.577Z","0.4.2":"2015-08-16T22:48:38.446Z","1.0.0":"2015-09-15T04:34:23.551Z","1.0.1":"2015-10-30T21:07:48.824Z","1.0.2":"2015-10-30T21:20:39.794Z","1.0.3":"2016-01-10T22:16:02.487Z","1.0.4":"2016-07-16T11:24:32.186Z","1.0.5":"2016-07-19T21:46:55.054Z","1.0.6":"2016-07-21T20:33:26.070Z","2.0.0":"2016-07-28T23:51:25.845Z","2.0.1":"2016-08-30T21:12:32.797Z"},"homepage":"https://github.com/nknapp/promised-handlebars#readme","keywords":["handlebars","async","helpers","promise","q"],"repository":{"type":"git","url":"git+https://github.com/nknapp/promised-handlebars.git"},"author":{"name":"Nils Knappmeier","email":"npm@knappi.org","url":"https://github.com/nknapp"},"bugs":{"url":"https://github.com/nknapp/promised-handlebars/issues"},"license":"MIT","readmeFilename":"README.md","users":{"antixrist":true}}