{"_id":"template-tag-common","_rev":"28-560f7a1ec5ce15bac96dbaf2a97f2ab7","name":"template-tag-common","description":"Simplifies authoring JS template tags like foo`...`","dist-tags":{"latest":"5.0.2"},"versions":{"1.0.1":{"name":"template-tag-common","description":"Simplifies authoring JS template tags like foo`...`","version":"1.0.1","main":"index.js","files":["index.js"],"dependencies":{},"scripts":{"test":"standard && ./node_modules/.bin/eslint . && ./node_modules/.bin/mocha"},"author":{"name":"@mikesamuel"},"license":"Apache-2.0","devDependencies":{"chai":">=4.1.2","eslint":">=4.15.0","eslint-config-strict":"*","eslint-config-standard":"*","mocha":">=4.0.1","standard":"*"},"eslintConfig":{"extends":["strict","standard"]},"gitHead":"7d9aabf8f6f8dc95002ad6b0c9d228073bac1391","_id":"template-tag-common@1.0.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"mikesamuel","email":"mikesamuel@gmail.com"},"dist":{"integrity":"sha512-cIfqg7HyzUNF+qsGVtkfSUi8zSo/4q2DNYnGM/sJuDfJqiBaBlpc2GO4bote6J/7tdTNaarT3XwwStvBFuJF6Q==","shasum":"7cb5532167716bb476c18c2482caca3ee1577808","tarball":"https://registry.npmjs.org/template-tag-common/-/template-tag-common-1.0.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCy7ND9FmW14S0Oes4xLgzqM2xzPNQySbI8ay72/watPAIhAMrUvcPqyfzMsEptinZMZsb9jRNLcvgqVnXrz+h91M9u"}]},"maintainers":[{"name":"mikesamuel","email":"mikesamuel@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/template-tag-common-1.0.1.tgz_1516639220493_0.6942479307763278"},"directories":{}},"1.0.2":{"name":"template-tag-common","description":"Simplifies authoring JS template tags like foo`...`","version":"1.0.2","keywords":["template-tag","string-template","sec-roadmap"],"main":"index.js","files":["index.js"],"dependencies":{},"scripts":{"test":"standard && ./node_modules/.bin/eslint . && ./node_modules/.bin/mocha"},"author":{"name":"@mikesamuel"},"license":"Apache-2.0","devDependencies":{"chai":">=4.1.2","eslint":">=4.15.0","eslint-config-strict":"*","eslint-config-standard":"*","mocha":">=4.0.1","standard":"*"},"eslintConfig":{"extends":["strict","standard"]},"gitHead":"9ee84c01838a946cbd4f9726ac0393b4eef071b4","_id":"template-tag-common@1.0.2","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"mikesamuel","email":"mikesamuel@gmail.com"},"dist":{"integrity":"sha512-/AO6T1+IXap6HfQhd+kdtvujgCail9OnjMCPaPWCiUqfJv/xUKw94EC4eSUyiWDsz2tnLwwGQyLo/9iO1F5oLw==","shasum":"191f28f11301f3dfdcea7dfea8946e5b85b22633","tarball":"https://registry.npmjs.org/template-tag-common/-/template-tag-common-1.0.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDSIp2INc48om1LrSYZ+CSeQS/JY2PTjSehVX2nU4aY+AiBzlzfty6TecTYeu+l2WMzzk39bZcTEtONzxGUfvusLwQ=="}]},"maintainers":[{"name":"mikesamuel","email":"mikesamuel@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/template-tag-common-1.0.2.tgz_1516639580629_0.6187275252304971"},"directories":{}},"1.0.3":{"name":"template-tag-common","description":"Simplifies authoring JS template tags like foo`...`","version":"1.0.3","keywords":["template-tag","string-template","sec-roadmap","es6"],"main":"index.js","files":["index.js"],"dependencies":{},"scripts":{"test":"standard && ./node_modules/.bin/eslint . && ./node_modules/.bin/mocha"},"author":{"name":"@mikesamuel"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/mikesamuel/template-tag-common.git"},"bugs":{"url":"https://github.com/mikesamuel/template-tag-common/issues"},"devDependencies":{"chai":">=4.1.2","eslint":">=4.15.0","eslint-config-strict":"*","eslint-config-standard":"*","mocha":">=4.0.1","standard":"*"},"eslintConfig":{"extends":["strict","standard"]},"gitHead":"6286ef6c440b12ee3070a0a35827908cc6169561","homepage":"https://github.com/mikesamuel/template-tag-common#readme","_id":"template-tag-common@1.0.3","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"mikesamuel","email":"mikesamuel@gmail.com"},"dist":{"integrity":"sha512-2DdkFLafpC6u6QoSffHfq0tBzCZhVoCLjei6eODGWVDG0TP0vEWTrzWViT1W77ZAZDMZhn21rjssezTTYSzxjg==","shasum":"07bbf3f44622903d6c55cccc791a2bfc0ccb7dfc","tarball":"https://registry.npmjs.org/template-tag-common/-/template-tag-common-1.0.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD1KbHi6jOPrSsrocDtpWdPu+X++45pPlJz88RQXP9bmgIgUoTzAKSl6rmJYlX30EBrCojO6nqlARzTg8TqeED4NS0="}]},"maintainers":[{"name":"mikesamuel","email":"mikesamuel@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/template-tag-common-1.0.3.tgz_1516676281980_0.617375896545127"},"directories":{}},"1.0.4":{"name":"template-tag-common","description":"Simplifies authoring JS template tags like foo`...`","version":"1.0.4","keywords":["template-tag","string-template","sec-roadmap","es6"],"main":"index.js","files":["index.js","images/logo.svg"],"dependencies":{},"scripts":{"test":"standard && ./node_modules/.bin/eslint . && ./node_modules/.bin/mocha"},"author":{"name":"@mikesamuel"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/mikesamuel/template-tag-common.git"},"bugs":{"url":"https://github.com/mikesamuel/template-tag-common/issues"},"devDependencies":{"chai":">=4.1.2","eslint":">=4.15.0","eslint-config-strict":"*","eslint-config-standard":"*","mocha":">=4.0.1","standard":"*"},"eslintConfig":{"extends":["strict","standard"]},"gitHead":"e426e8eacdee6e842b1f4c5f613cb12f243d5ff9","homepage":"https://github.com/mikesamuel/template-tag-common#readme","_id":"template-tag-common@1.0.4","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"mikesamuel","email":"mikesamuel@gmail.com"},"dist":{"integrity":"sha512-tHaPnLXlzTkWtFOPwj25Guw6SVhnlLZoVv/ayftd6GzP/p9vMzUgpFiuR3QpLU2+2X3+4rsDoQL9kzGqU6wdRA==","shasum":"a2b45d5ecb2692fa7bef70cf67e007feabdddf40","tarball":"https://registry.npmjs.org/template-tag-common/-/template-tag-common-1.0.4.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4aN3NFtmDIPflO0XLFDUv1+7nRziTigAc2sNNMs26HQIgUNTfwxrd5VUHmHzua0dJ+HQ06BIXCw+nK2QFIh+nWgU="}]},"maintainers":[{"name":"mikesamuel","email":"mikesamuel@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/template-tag-common-1.0.4.tgz_1516721869011_0.5488657851237804"},"directories":{}},"1.0.5":{"name":"template-tag-common","description":"Simplifies authoring JS template tags like foo`...`","version":"1.0.5","keywords":["template-tag","string-template","sec-roadmap","es6"],"main":"index.js","files":["index.js"],"dependencies":{},"scripts":{"test":"standard && ./node_modules/.bin/eslint . && ./node_modules/.bin/mocha"},"author":{"name":"@mikesamuel"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/mikesamuel/template-tag-common.git"},"bugs":{"url":"https://github.com/mikesamuel/template-tag-common/issues"},"devDependencies":{"chai":">=4.1.2","eslint":">=4.15.0","eslint-config-strict":"*","eslint-config-standard":"*","mocha":">=4.0.1","standard":"*"},"eslintConfig":{"extends":["strict","standard"]},"gitHead":"15af8f356373fc23246df86d641f9cff5b7963a5","homepage":"https://github.com/mikesamuel/template-tag-common#readme","_id":"template-tag-common@1.0.5","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"mikesamuel","email":"mikesamuel@gmail.com"},"dist":{"integrity":"sha512-Uc9vH8sedyMCulhTns/t02PD7v2Sb5XFnvcPEWrmIQr5n2t5kdCNxo0D9W5sJTS9PTRUosovpe47c+3jf/Hsxw==","shasum":"60c69d19c1734f07fb025aa08c460fe417073f50","tarball":"https://registry.npmjs.org/template-tag-common/-/template-tag-common-1.0.5.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCgf3w11uRa21lzMPVC8sokx77YAVws+sPFPasjkr6xKgIgcA9ZyiR0OBxpVZAIyepDOOCE+46iRooahVXrtKOoMDs="}]},"maintainers":[{"name":"mikesamuel","email":"mikesamuel@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/template-tag-common-1.0.5.tgz_1516722309768_0.7386396846268326"},"directories":{}},"1.0.6":{"name":"template-tag-common","description":"Simplifies authoring JS template tags like foo`...`","version":"1.0.6","keywords":["template-tag","string-template","sec-roadmap","es6"],"main":"index.js","files":["index.js"],"dependencies":{},"scripts":{"test":"standard && ./node_modules/.bin/eslint . && ./node_modules/.bin/mocha"},"author":{"name":"@mikesamuel"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/mikesamuel/template-tag-common.git"},"bugs":{"url":"https://github.com/mikesamuel/template-tag-common/issues"},"devDependencies":{"chai":">=4.1.2","eslint":">=4.15.0","eslint-config-strict":"*","eslint-config-standard":"*","mocha":">=4.0.1","standard":"*"},"eslintConfig":{"extends":["strict","standard"]},"gitHead":"aea1e70c92731e3ad0febd99b7cb01dc0e1ed86f","homepage":"https://github.com/mikesamuel/template-tag-common#readme","_id":"template-tag-common@1.0.6","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"mikesamuel","email":"mikesamuel@gmail.com"},"dist":{"integrity":"sha512-tqHwpxZzyC+n+ZTIDsx32n5y2jDkw9j0dRt9YOD1yshMO4YHOZA9ZIJJK5isZy6ilTGAWvKjV9YurpZDPADq0A==","shasum":"5f0fc804cf2d0fceecb0123371463196c6177f47","tarball":"https://registry.npmjs.org/template-tag-common/-/template-tag-common-1.0.6.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC1lSBo9Gi65huPFCTBlyb6n61tPMnLZK8SXbrqcHmvFQIgPZpWk304WLWOZoq96UoDQS3gUELQBA+pXlXeNSqj7YQ="}]},"maintainers":[{"name":"mikesamuel","email":"mikesamuel@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/template-tag-common-1.0.6.tgz_1516722885331_0.7967373044230044"},"directories":{}},"1.0.7":{"name":"template-tag-common","description":"Simplifies authoring JS template tags like foo`...`","version":"1.0.7","keywords":["template-tag","string-template","sec-roadmap","es6"],"main":"index.js","files":["index.js"],"dependencies":{},"scripts":{"test":"standard && ./node_modules/.bin/eslint . && ./node_modules/.bin/mocha"},"author":{"name":"@mikesamuel"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/mikesamuel/template-tag-common.git"},"bugs":{"url":"https://github.com/mikesamuel/template-tag-common/issues"},"devDependencies":{"chai":">=4.1.2","eslint":">=4.15.0","eslint-config-strict":"*","eslint-config-standard":"*","mocha":">=4.0.1","standard":"*"},"eslintConfig":{"extends":["strict","standard"]},"gitHead":"13a5bd6b5d9b3dc6ec7eb6de74be9e503bb07f59","homepage":"https://github.com/mikesamuel/template-tag-common#readme","_id":"template-tag-common@1.0.7","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"mikesamuel","email":"mikesamuel@gmail.com"},"dist":{"integrity":"sha512-BuV+9NxCgCpmpJBgnTu2qv9vLaDiIIOUDH2sk+v7ZJOjtH7rRLU56GTuIHmIC9SGVyb/+6cj7uSiGUOtxwsXfw==","shasum":"88980b354183516828eff98c82900e4fc620b544","tarball":"https://registry.npmjs.org/template-tag-common/-/template-tag-common-1.0.7.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCFxqXfG16yxYNu0DlCW+cKuwl+DrxX9iJI5scU69xDhQIhAIwNaomjwQFtAR1XsBvFAM2k/go9LwMYSKN9JnI6pEvb"}]},"maintainers":[{"name":"mikesamuel","email":"mikesamuel@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/template-tag-common-1.0.7.tgz_1516723213579_0.7144434314686805"},"directories":{}},"1.0.8":{"name":"template-tag-common","description":"Simplifies authoring JS template tags like foo`...`","version":"1.0.8","keywords":["template-tag","string-template","sec-roadmap","es6"],"main":"index.js","files":["index.js"],"dependencies":{},"scripts":{"test":"standard && ./node_modules/.bin/eslint . && ./node_modules/.bin/mocha"},"author":{"name":"@mikesamuel"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/mikesamuel/template-tag-common.git"},"bugs":{"url":"https://github.com/mikesamuel/template-tag-common/issues"},"devDependencies":{"chai":">=4.1.2","eslint":">=4.15.0","eslint-config-strict":"*","eslint-config-standard":"*","mocha":">=4.0.1","standard":"*"},"eslintConfig":{"extends":["strict","standard"]},"gitHead":"99cf3b80c45cabf41527b625a85feb18f16044bd","homepage":"https://github.com/mikesamuel/template-tag-common#readme","_id":"template-tag-common@1.0.8","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"mikesamuel","email":"mikesamuel@gmail.com"},"dist":{"integrity":"sha512-Sh/T9PePD7cO9/TlKAnwOuHpgLVV1gcL2STt8goS3T+3aiElUwBIygoZJocpey0y8vP/UubfNVluEXC4tspSGQ==","shasum":"6f8da472a76df5d57579bc65cb7b624c1f4b0fd6","tarball":"https://registry.npmjs.org/template-tag-common/-/template-tag-common-1.0.8.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDYQjMd+XGQ9yO0vOdMdU2tsj/zONjjvvueo0wKMxw+dwIhALKGbEv1SvmanExT4EfkNPspZdvxYCxovmdq45iAUBio"}]},"maintainers":[{"name":"mikesamuel","email":"mikesamuel@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/template-tag-common-1.0.8.tgz_1516724252827_0.1119618327356875"},"directories":{}},"2.0.0":{"name":"template-tag-common","description":"Simplifies authoring JS template tags like foo`...`","version":"2.0.0","keywords":["template-tag","string-template","sec-roadmap","es6"],"main":"index.js","files":["index.js"],"dependencies":{},"scripts":{"test":"standard && ./node_modules/.bin/eslint . && ./node_modules/.bin/mocha"},"author":{"name":"@mikesamuel"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/mikesamuel/template-tag-common.git"},"bugs":{"url":"https://github.com/mikesamuel/template-tag-common/issues"},"devDependencies":{"chai":">=4.1.2","eslint":">=4.15.0","eslint-config-strict":"*","eslint-config-standard":"*","mocha":">=4.0.1","standard":"*"},"eslintConfig":{"extends":["strict","standard"]},"gitHead":"10b1e7a4e05af3bb82d8819b28ed6cc92461ce16","homepage":"https://github.com/mikesamuel/template-tag-common#readme","_id":"template-tag-common@2.0.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"mikesamuel","email":"mikesamuel@gmail.com"},"dist":{"integrity":"sha512-ey12SnlSXkbt27MU3Gn49yznw9Cn8fl72Rp0MKuqj4KcZYJNehgESH9pZyWc/np7svKVgQg63a8liYsehEm6Aw==","shasum":"98a173816a28d8c6689ad092c44f552ef3b4497a","tarball":"https://registry.npmjs.org/template-tag-common/-/template-tag-common-2.0.0.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDEyGmgP0rZQiZRpFhDaeMV1kXucKwP88IW1D5hL+7sbgIhAPXtvz1WkDKyLl21qzORGqF3R2sTiARQfP9Y4yD3xBcW"}]},"maintainers":[{"name":"mikesamuel","email":"mikesamuel@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/template-tag-common-2.0.0.tgz_1517085372095_0.41897855303250253"},"directories":{}},"2.0.1":{"name":"template-tag-common","description":"Simplifies authoring JS template tags like foo`...`","version":"2.0.1","keywords":["template-tag","string-template","sec-roadmap","es6"],"main":"index.js","files":["index.js"],"dependencies":{},"scripts":{"test":"standard && ./node_modules/.bin/eslint . && ./node_modules/.bin/mocha"},"author":{"name":"@mikesamuel"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/mikesamuel/template-tag-common.git"},"bugs":{"url":"https://github.com/mikesamuel/template-tag-common/issues"},"devDependencies":{"chai":">=4.1.2","eslint":">=4.15.0","eslint-config-strict":"*","eslint-config-standard":"*","mocha":">=4.0.1","standard":"*"},"eslintConfig":{"extends":["strict","standard"]},"gitHead":"af1e77b20a50f9c0796e03333dd2a91f11f756d1","homepage":"https://github.com/mikesamuel/template-tag-common#readme","_id":"template-tag-common@2.0.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"mikesamuel","email":"mikesamuel@gmail.com"},"dist":{"integrity":"sha512-mYPFtDEzyRxo3zEQkzv5I1SUXmcRNKgeZp3DWdCQN9oz+IUQYLuMX9R/GSAq56cjMCMT/Zref91QiPb9ibEcFw==","shasum":"7c07419ea294b6061258164ff650b6de139d948c","tarball":"https://registry.npmjs.org/template-tag-common/-/template-tag-common-2.0.1.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCIqFb5jNU7qu0oU+I8dz/+kVQI6JidzEVyEH18qku6dAIhAJMX2VaKkMhpqjkYQzMeIDC/SCUPfMXmrBtGpHv6pDMT"}]},"maintainers":[{"name":"mikesamuel","email":"mikesamuel@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/template-tag-common-2.0.1.tgz_1517246633117_0.442117340862751"},"directories":{}},"3.0.0":{"name":"template-tag-common","description":"Simplifies authoring JS template tags like foo`...`","version":"3.0.0","keywords":["template-tag","string-template","sec-roadmap","es6"],"main":"index.js","files":["index.js"],"scripts":{"cover":"istanbul cover _mocha","coveralls":"npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls","lint":"standard && ./node_modules/.bin/eslint .","test":"mocha"},"author":{"name":"@mikesamuel"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/mikesamuel/template-tag-common.git"},"bugs":{"url":"https://github.com/mikesamuel/template-tag-common/issues"},"dependencies":{"an-lru-cache":">=1.0.4","node-sec-patterns":">=1.0.1"},"devDependencies":{"chai":">=4.1.2","coveralls":"^3.0.0","eslint":">=4.15.0","eslint-config-standard":"*","eslint-config-strict":"*","istanbul":"^0.4.5","mocha":">=4.0.1","mocha-lcov-reporter":"^1.3.0","standard":"*"},"eslintConfig":{"extends":["strict","standard"]},"gitHead":"bee6a8afc5cb32aaeec4fa786127950e7f4f1114","homepage":"https://github.com/mikesamuel/template-tag-common#readme","_id":"template-tag-common@3.0.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"mikesamuel","email":"mikesamuel@gmail.com"},"dist":{"integrity":"sha512-gnZ2j9b289cGNCdkUi2mIc099Fftptrx6LC47mqMFIyGOB7G3ntR9eDhT076V92x8D7rTT96vYTkLV49tHP8wQ==","shasum":"adcef6c0f3f712bf1c1686770d0ee70f410b0ca2","tarball":"https://registry.npmjs.org/template-tag-common/-/template-tag-common-3.0.0.tgz","fileCount":4,"unpackedSize":36360,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3gUuvlMcusdA65qme5y77OaZjxh9Jb3jEVStpbd7pYgIhAJO7Kmbmg79iZspJaOX0JI0jMITCf+zasm3ELIoE1bgq"}]},"maintainers":[{"name":"mikesamuel","email":"mikesamuel@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/template-tag-common_3.0.0_1518814546726_0.534869430196643"},"_hasShrinkwrap":false},"3.0.1":{"name":"template-tag-common","description":"Simplifies authoring JS template tags like foo`...`","version":"3.0.1","keywords":["template-tag","string-template","sec-roadmap","es6"],"main":"index.js","files":["index.js"],"scripts":{"cover":"istanbul cover _mocha","coveralls":"npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls","lint":"standard && ./node_modules/.bin/eslint .","test":"mocha"},"author":{"name":"@mikesamuel"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/mikesamuel/template-tag-common.git"},"bugs":{"url":"https://github.com/mikesamuel/template-tag-common/issues"},"dependencies":{"an-lru-cache":">=1.0.4","node-sec-patterns":">=1.0.1"},"devDependencies":{"chai":">=4.1.2","coveralls":"^3.0.0","eslint":">=4.15.0","eslint-config-standard":"*","eslint-config-strict":"*","istanbul":"^0.4.5","mocha":">=4.0.1","mocha-lcov-reporter":"^1.3.0","standard":"*"},"eslintConfig":{"extends":["strict","standard"]},"gitHead":"44c49110c296c9c39308e3bc711302f7b9c40f81","homepage":"https://github.com/mikesamuel/template-tag-common#readme","_id":"template-tag-common@3.0.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"mikesamuel","email":"mikesamuel@gmail.com"},"dist":{"integrity":"sha512-1PjLrxctQVM/syrgpE3sCecmR3Div7ett1bIJ8/S1acTTC39S2wv3svWQs4tHhViRJmUtXTkxIsBObEgpyFp3w==","shasum":"7c429598feb4010738d1a0f6b3fdc3197f3ea2a5","tarball":"https://registry.npmjs.org/template-tag-common/-/template-tag-common-3.0.1.tgz","fileCount":4,"unpackedSize":36503,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDpxhl12589vsH1WXxGbEtXySg9UzqvZK0Nmf2oYrulGQIhAOzGiNAjH2cwovYb/IAIQWeQNUBClaA7retklIF7PIfU"}]},"maintainers":[{"name":"mikesamuel","email":"mikesamuel@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/template-tag-common_3.0.1_1518815019652_0.9317754227819781"},"_hasShrinkwrap":false},"3.0.2":{"name":"template-tag-common","description":"Simplifies authoring JS template tags like foo`...`","version":"3.0.2","keywords":["template-tag","string-template","sec-roadmap","es6"],"main":"index.js","files":["index.js"],"scripts":{"cover":"istanbul cover _mocha","coveralls":"npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls","lint":"standard && ./node_modules/.bin/eslint .","test":"mocha"},"author":{"name":"@mikesamuel"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/mikesamuel/template-tag-common.git"},"bugs":{"url":"https://github.com/mikesamuel/template-tag-common/issues"},"dependencies":{"an-lru-cache":">=1.0.4","node-sec-patterns":">=1.0.2"},"devDependencies":{"chai":">=4.1.2","coveralls":"^3.0.0","eslint":">=4.15.0","eslint-config-standard":"*","eslint-config-strict":"*","istanbul":"^0.4.5","mocha":">=4.0.1","mocha-lcov-reporter":"^1.3.0","standard":"*"},"eslintConfig":{"extends":["strict","standard"]},"gitHead":"fbd26a520b6f86aeb77c15f1b701e8150a2d11be","homepage":"https://github.com/mikesamuel/template-tag-common#readme","_id":"template-tag-common@3.0.2","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"mikesamuel","email":"mikesamuel@gmail.com"},"dist":{"integrity":"sha512-Jv24EiA/jPBS2Ishvs4zvRAM8h5QsiRGXmLmR+j7sdXqIz8BrEZj6r4ywYyQ2zaqse/HIXWYrmkuG5b9aNVbdw==","shasum":"baa580d38ce20e88504fa5f5ba09a1bca1221b33","tarball":"https://registry.npmjs.org/template-tag-common/-/template-tag-common-3.0.2.tgz","fileCount":4,"unpackedSize":36503,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDo8IGYS/WEijS+s25JRONDpLLzgILWArvdqbUE9Cl3VgIhAISid+ZKTptJV72xP7dJl3T13syCkqZLebAmUZTBaZlT"}]},"maintainers":[{"name":"mikesamuel","email":"mikesamuel@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/template-tag-common_3.0.2_1518996283471_0.3015135327450009"},"_hasShrinkwrap":false},"3.0.3":{"name":"template-tag-common","description":"Simplifies authoring JS template tags like foo`...`","version":"3.0.3","keywords":["template-tag","string-template","sec-roadmap","es6"],"main":"index.js","files":["index.js"],"scripts":{"cover":"istanbul cover _mocha","coveralls":"npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls","lint":"standard && ./node_modules/.bin/eslint .","test":"mocha"},"author":{"name":"@mikesamuel"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/mikesamuel/template-tag-common.git"},"bugs":{"url":"https://github.com/mikesamuel/template-tag-common/issues"},"dependencies":{"an-lru-cache":"^1.0.4","node-sec-patterns":"^1.0.3"},"devDependencies":{"chai":"^4.1.2","coveralls":"^3.0.0","eslint":"^4.15.0","eslint-config-standard":"*","eslint-config-strict":"*","istanbul":"^0.4.5","mocha":"^4.0.1","mocha-lcov-reporter":"^1.3.0","standard":"*"},"eslintConfig":{"extends":["strict","standard"]},"gitHead":"08f3d355101a43841e95aa2b5ef9f945dbeeef17","homepage":"https://github.com/mikesamuel/template-tag-common#readme","_id":"template-tag-common@3.0.3","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"mikesamuel","email":"mikesamuel@gmail.com"},"dist":{"integrity":"sha512-vSKLftLrLa2ADNy7Ky16ebZL90SE5ofamhm3JW03KcSsDNeLqrb1bMHNbGm8ph+kw6PPm2axdUCkoitHim0wJA==","shasum":"aac5f9fc6595915ab3e5cf0c63bdecb69f07c132","tarball":"https://registry.npmjs.org/template-tag-common/-/template-tag-common-3.0.3.tgz","fileCount":4,"unpackedSize":36498,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDNMou3a5+nWaHcjbcVgUkBFRCbMtg1SenEJZzYvnidWwIhAPTb4XjPsmWx9iY01Ntf5OC+qBK9bc3SDliQIF9DAyHX"}]},"maintainers":[{"name":"mikesamuel","email":"mikesamuel@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/template-tag-common_3.0.3_1519503310665_0.8090480379728984"},"_hasShrinkwrap":false},"3.0.4":{"name":"template-tag-common","description":"Simplifies authoring JS template tags like foo`...`","version":"3.0.4","keywords":["template-tag","string-template","sec-roadmap","es6"],"main":"index.js","files":["index.js"],"scripts":{"cover":"istanbul cover _mocha","coveralls":"npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls","lint":"standard && ./node_modules/.bin/eslint .","test":"mocha"},"author":{"name":"@mikesamuel"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/mikesamuel/template-tag-common.git"},"bugs":{"url":"https://github.com/mikesamuel/template-tag-common/issues"},"dependencies":{"an-lru-cache":"1.0.4","node-sec-patterns":"1.0.3"},"devDependencies":{"chai":"^4.1.2","coveralls":"^3.0.0","eslint":"^4.15.0","eslint-config-standard":"*","eslint-config-strict":"*","istanbul":"^0.4.5","mocha":"^4.0.1","mocha-lcov-reporter":"^1.3.0","standard":"*"},"eslintConfig":{"extends":["strict","standard"]},"gitHead":"8c075a7eacdf84dae0aa77bf3f6e2ee545291d5a","homepage":"https://github.com/mikesamuel/template-tag-common#readme","_id":"template-tag-common@3.0.4","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"mikesamuel","email":"mikesamuel@gmail.com"},"dist":{"integrity":"sha512-7g+PN3UOJzrOAztFOCvoyqCGzOkEySsKEL+AHqNYhCdaXqbxq/SeYvUS1uPp/gJAyeRx1D/yIf6YEd+IjmACWA==","shasum":"4337dbf4f4f316da8299cdac4630e6cdf9e571ba","tarball":"https://registry.npmjs.org/template-tag-common/-/template-tag-common-3.0.4.tgz","fileCount":4,"unpackedSize":36496,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDb/WrT3SalFq8AJ2gIUc7Me+QWZrfNUBPDaFpqda54FAiEAv44XWbNBc2OMhYzdWILCSGVJkwpXo+aphFOG7Noj7cs="}]},"maintainers":[{"name":"mikesamuel","email":"mikesamuel@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/template-tag-common_3.0.4_1519675790029_0.9882809996791473"},"_hasShrinkwrap":false},"4.0.0":{"name":"template-tag-common","description":"Simplifies authoring JS template tags like foo`...`","version":"4.0.0","keywords":["template-tag","string-template","sec-roadmap","es6"],"main":"index.js","files":["index.js"],"scripts":{"cover":"istanbul cover _mocha","coveralls":"npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls","lint":"standard && ./node_modules/.bin/eslint .","prepack":"npm run lint && npm test","test":"mocha"},"pre-commit":["prepack"],"author":{"name":"@mikesamuel"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/mikesamuel/template-tag-common.git"},"bugs":{"url":"https://github.com/mikesamuel/template-tag-common/issues"},"dependencies":{"an-lru-cache":"1.0.4","module-keys":"1.0.4","node-sec-patterns":"2.0.0"},"devDependencies":{"chai":"^4.1.2","coveralls":"^3.0.1","eslint":"^4.19.1","eslint-config-standard":"*","eslint-config-strict":"*","istanbul":"^0.4.5","mocha":"^4.0.1","mocha-lcov-reporter":"^1.3.0","pre-commit":"^1.2.2","standard":"*"},"eslintConfig":{"extends":["strict","standard"]},"gitHead":"8849c1aa4c740d89a2b24d0cd29262f6fcda8675","homepage":"https://github.com/mikesamuel/template-tag-common#readme","_id":"template-tag-common@4.0.0","_npmVersion":"6.0.0","_nodeVersion":"11.0.0-pre","_npmUser":{"name":"mikesamuel","email":"mikesamuel@gmail.com"},"dist":{"integrity":"sha512-N14oWBJc/bNLdlErerRq02xXuea17thayYuqNCVlnqdnPgfn4GVtlE2nu9CwHIxrOtj5NLLK8c31LwcC7GUe4A==","shasum":"a2c3290bd6d97478f11541b48624814d8bd0bbf2","tarball":"https://registry.npmjs.org/template-tag-common/-/template-tag-common-4.0.0.tgz","fileCount":4,"unpackedSize":37280,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbHsaUCRA9TVsSAnZWagAAb4EP/ArgUE9TlNCewm68nEay\nUqioDQm/+8buvz0SvE1yTA77KMe33cWtRTIanur2G+u+jnGYHOuUY/HPAGAs\ndVc3vFPRlr/raOzqEt4vomDMgJ0krBmvt93xJWtaIkqTNmh1ItcflYGK4gFp\nLkJRJY2VFths+md0MpsvoGr9MZPhpgUrGueW0vfIRHw74R6z5WYKwSOxDNko\nE7fXhn9CeEn/aQzr1vbpoUdp7GMQ9kuil2wft/XsxQMRYxQTEaSxNZuUFKoD\nPoBlBDRpq75yAYCPfyx+qB7DuPc4LDeVRrxsvbQ3NRpf9rKcmnOlXe0z8cFx\nNIUWiwAiO8ya0ogKxiMVGynDdDOT5nBlyU0drwXXocjP+KQUFt9OCaWYzC8o\n6QGoh6CYgpGoPnzTiQJyt46MIxjdAtIoOPAuf5yyFcXOhd0m0KBeptblDjyA\n31XvFK91Z2X99cFL/Uxr7/kFq67U50SYlk9sAauHHP7wTwk0IqN0ryjCI73P\nfGPOb4BbAKunAf5AKDYHR9Qws7YvErm3ea+7CruvCCMT7/nPA0Aq8qgp5EMz\n1tEokTLW9ejzZYwz5ng3yxIvI+aWpy23HUzOKJQ9YFRyFrMioN6CHrEecqy/\nAQP8dliha3b0rZelgtbvA8lkoYQdbiSOEf3sWUPTkmY5VwUbldo0b8/tQVXE\nmESe\r\n=q/bx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDM/ywVedXdjCu/ANJNi9U0zwYNygA28I+ZoPG6YjvXHgIgEmFTOqxK+3JDkl1A/iHJthijxHRFYFoXxM3koM9jFuk="}]},"maintainers":[{"name":"mikesamuel","email":"mikesamuel@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/template-tag-common_4.0.0_1528743570620_0.48008124500842"},"_hasShrinkwrap":false},"4.0.1":{"name":"template-tag-common","description":"Simplifies authoring JS template tags like foo`...`","version":"4.0.1","keywords":["template-tag","string-template","sec-roadmap","es6"],"main":"index.js","files":["index.js"],"scripts":{"cover":"istanbul cover _mocha","coveralls":"npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls","lint":"standard && ./node_modules/.bin/eslint .","prepack":"npm run lint && npm test","test":"mocha"},"pre-commit":["prepack"],"author":{"name":"@mikesamuel"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/mikesamuel/template-tag-common.git"},"bugs":{"url":"https://github.com/mikesamuel/template-tag-common/issues"},"dependencies":{"an-lru-cache":"1.0.4","module-keys":"1.0.4","node-sec-patterns":"2.0.0"},"devDependencies":{"chai":"^4.1.2","coveralls":"^3.0.1","eslint":"^4.19.1","eslint-config-standard":"*","eslint-config-strict":"*","istanbul":"^0.4.5","mocha":"^4.0.1","mocha-lcov-reporter":"^1.3.0","pre-commit":"^1.2.2","standard":"*"},"eslintConfig":{"extends":["strict","standard"]},"gitHead":"0107fd762650e27bdb36340c715ade4f934d1c44","homepage":"https://github.com/mikesamuel/template-tag-common#readme","_id":"template-tag-common@4.0.1","_npmVersion":"6.0.0","_nodeVersion":"11.0.0-pre","_npmUser":{"name":"mikesamuel","email":"mikesamuel@gmail.com"},"dist":{"integrity":"sha512-7mV9PBxK7xlCZFQpeJUIP2FqFM6h3p38V12kwTOHmk/AliHDHrOfBJqrvNydqN9ImV7FWn3XGfj3Gn3rvKyyRQ==","shasum":"414fac2f5bbd32b6638d9f7ef790948e5db70b49","tarball":"https://registry.npmjs.org/template-tag-common/-/template-tag-common-4.0.1.tgz","fileCount":4,"unpackedSize":37280,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbHsqoCRA9TVsSAnZWagAAkpoQAJbEZqdSgCFtIFgIw+KM\npqVrIRG6ud4CM9j6n1Z3AILza39wpCBo0nPRhcFO5GkdG+5WmRkqXi9gpVJY\nI+/pVhaJRPkp/PmsfjmSW+7xj3Qr/hp8d+7YzbhbwOJ9x19iRB1N895cGCTc\nqbtHhxE2gcLb14I2hxv0UPBftnJzMvL5u8JoYd7DPJiDNeTKg6gztAQCR0j5\n2/cevq2Fox0eb7kVg/qVHZqT8lK3vWypSnZdB5w+8tqK/npNuw8vFt6/839L\nAO/pEuHH4yTYjI8tmwXsxgkYqJQ8+JwnwFA01neBeOiGlUSm7ejNy7ttDXee\nnCzFfO/TPCiFxFc2qTje0757OgiGPREWGplZfP3gZfU6v2XOWKmeoV5egTXZ\n+bjDhWORLYdY2JeBLd3jsIe26PHkLdFS/9JMS0/XrWgf8/lZ1JHkiBJD7siO\nF0Ev/jrk7EfiTEXwCnF4/F7FIrKEo7kA6ubfQdB8p0nWR/1g5l/M9q+R7DR3\nkqKojKaSPJhVKbFzEd6G5pOa+fZQWjvXfwR0yTwYaMX96UzpZfQ9Z3J2VLCc\nyI9wLQXqnAbDtCPDTTVZbgjHH927rQ6cOzGUJALQZbtE66B7kWMg1SvFIQkx\n4AwZSP6t5dNyoR4yLXkMUvOc9WOUq5r6H3ctAr7t+iX37UW+NCpFfMIEquNC\nTAqh\r\n=D3JD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCMFsdS3LlhUueCp5yVsnAiae9jsTOFkLkOuPRqbxskCQIgZyc976ejjTf72jWdp0fS0NIa83BVmW1S/Q+Xh+AutT0="}]},"maintainers":[{"name":"mikesamuel","email":"mikesamuel@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/template-tag-common_4.0.1_1528744614622_0.6125392709939228"},"_hasShrinkwrap":false},"4.0.2":{"name":"template-tag-common","description":"Simplifies authoring JS template tags like foo`...`","version":"4.0.2","keywords":["template-tag","string-template","sec-roadmap","es6"],"main":"index.js","scripts":{"cover":"istanbul cover _mocha","coveralls":"npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls","lint":"standard && ./node_modules/.bin/eslint .","prepack":"npm run lint && npm test","test":"mocha"},"pre-commit":["prepack"],"author":{"name":"@mikesamuel"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/mikesamuel/template-tag-common.git"},"bugs":{"url":"https://github.com/mikesamuel/template-tag-common/issues"},"dependencies":{"an-lru-cache":"^1.0.4","module-keys":"^1.0.4","node-sec-patterns":"^2.0.3"},"devDependencies":{"chai":"^4.1.2","coveralls":"^3.0.1","eslint":"^4.19.1","eslint-config-standard":"*","eslint-config-strict":"*","istanbul":"^0.4.5","mocha":"^4.0.1","mocha-lcov-reporter":"^1.3.0","pre-commit":"^1.2.2","standard":"*"},"eslintConfig":{"extends":["strict","standard"]},"gitHead":"b62111b15e0e96f8626cf8ba126a9cebf8be366b","homepage":"https://github.com/mikesamuel/template-tag-common#readme","_id":"template-tag-common@4.0.2","_npmVersion":"6.0.0","_nodeVersion":"8.11.1","_npmUser":{"name":"mikesamuel","email":"mikesamuel@gmail.com"},"dist":{"integrity":"sha512-dWQ1ycSAaCX0bzAFZfYF+gAspH2mu0iqbUAIUSTo1d1g7Vgw9W12Iw6dMWkofuTuTrnmUNA59yXLvPCbEtOMrQ==","shasum":"b5e4a23ffeccf675a7e9f61e936aa68e3349fb8d","tarball":"https://registry.npmjs.org/template-tag-common/-/template-tag-common-4.0.2.tgz","fileCount":4,"unpackedSize":37283,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJboBI6CRA9TVsSAnZWagAAnBgQAKEEjiHnQI20iF1roqON\n7Z2rVTs/yJn6o1wsS3lwb+THuKntKkdaAK+5HmKLo+2YBa2i3vpPc6gssyGe\nx33muAV3CVAZZoJoSDgklILq44WXQJ2rOOEjKsWBymtIdD1pd8RTLd9P3kqb\n5R33KpW2O2/+0Ux08m4GX6WhsxjAEAoquOt+wEC5LIXinSF27NRQCmpq7zo9\nrd9K1ClqamPDcHPMjU1C030QFI0ZeCQGYShIrj65RKMcyctnzhFT3+5ftDs5\n3fk+8qeNDo2kcSyfjHKnXiql0VK+AClaJ3RYWmE5mQYBehuJAjTZMJQHhsBL\ny++792NCya2J0SQKm9n8CWUytqJFRxPA+jpIJeSNIuWOe8thPKDV+BGi9ajm\nAUsmUwVwN3lB0be7lIEommfyKi0aFBqQlVUYJCROUOmJGgtuFz+MIStyHCJ4\naHcnNVa6rV0wy+77TtHbSUUVP9R5MTq728Tt0fxLTXqrogXfrsWXR/j+wFOW\nyoOR+8wBOvlOW5JBzjORvZy24vbSJL59Rh/DeguUKkvONsnATgSKSqGX++Bb\nxVsNVeDNzyZsqeB9EU2zr0sYw2OmsouHxnYvMRDqGdu3XTQ063fl/PLibM4L\nmNNUfRlhrNue8xzr/inSSMUhyqSgjwu6napq2b+4eG8Gbhur8crXDlYMjiYy\nOcZx\r\n=MoRV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD3Y0QjKVOXq3fQkh4jE0KdX5h5Hi2HWYmnhoL6ydk8jQIgfo6Mbr6tkErFWNSnquMv6LcJ0hNGlKqAJYy+IuOBHiw="}]},"maintainers":[{"name":"mikesamuel","email":"mikesamuel@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/template-tag-common_4.0.2_1537217081582_0.885809044378391"},"_hasShrinkwrap":false},"4.0.3":{"name":"template-tag-common","description":"Simplifies authoring JS template tags like foo`...`","version":"4.0.3","keywords":["template-tag","string-template","sec-roadmap","es6"],"main":"index.js","scripts":{"cover":"istanbul cover _mocha","coveralls":"npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls","lint":"standard && ./node_modules/.bin/eslint .","prepack":"npm run lint && npm test","test":"mocha"},"pre-commit":["prepack"],"author":{"name":"@mikesamuel"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/mikesamuel/template-tag-common.git"},"bugs":{"url":"https://github.com/mikesamuel/template-tag-common/issues"},"dependencies":{"an-lru-cache":"^1.0.4","module-keys":"^1.0.7","node-sec-patterns":"^2.0.4"},"devDependencies":{"babel":"^6.23.0","babel-cli":"^6.26.0","chai":"^4.1.2","coveralls":"^3.0.0","eslint":"^4.15.0","eslint-config-standard":"^11.0.0","eslint-config-strict":"*","istanbul":"^0.4.5","mocha":"^4.0.1","mocha-lcov-reporter":"^1.3.0","pre-commit":"^1.2.2","standard":"^11.0.1"},"eslintConfig":{"extends":["strict","standard"]},"gitHead":"ed18086159340482fd2bb2e5ec57175176b2cee1","homepage":"https://github.com/mikesamuel/template-tag-common#readme","_id":"template-tag-common@4.0.3","_npmVersion":"6.0.0","_nodeVersion":"8.11.1","_npmUser":{"name":"mikesamuel","email":"mikesamuel@gmail.com"},"dist":{"integrity":"sha512-xtNHUAXV4HdGBH6pCRzHaRI9N9QUOGBUujKfUYNid6Dl1OnabH8gPnJea+BHRRx9MnaqLZxVQqJAf/4wIjHWrg==","shasum":"b3faa8ef8eb7eb805eabe6948216819e56b0eec9","tarball":"https://registry.npmjs.org/template-tag-common/-/template-tag-common-4.0.3.tgz","fileCount":4,"unpackedSize":37312,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbvjwKCRA9TVsSAnZWagAAGcoP/0LBesl1D7QMR6njXOW1\nxJuQauFtekkzIUIlNhbqarfBeDo94tGdTW5cfpPif5bx7vEPAAIjxE5u8d81\nlj4f4Fhn/MvXTkKersPZdEoQ3zRZAqW4Db/pRf6kDU7M3fI0PmRLPV0AqKc5\nxjHtrJMB9BRhib7hdKPBdZWOG/dG1fbEq9pExDlEbbNPQ6FVamCVsYkGDioG\nhraun+0oX5Z+SumPnCDglIgbscJkDpkoQdFZz4u9LYFjcl0kKZUiAnoS4KOv\nPttX/klZR2fTAdFBkGKBHjODpfJyoSgqr1Y/CP+eNzZM2HV4UCUsp+KxK+yx\nRgRGEhiAutr0JObRxKds2VNnQbTY0sJ8M3xWkY1RnWCMh3Bpr5GRvzOuNoBw\nJnVKSVO+ziSCEewOPhnjvEN+cu3LelJjT+4hkJWtJLB42izvKQEjTmueLW7u\n9ZdWAoIiUxZ2clJo0int3HMLqUhKUJQN4ahs3G45cNhlrGfHrfL3nfqn1ltn\nsRGrEQhx1o/zLRf8izYgFW0ZbrlwSNUquSkZIn7yhvf3svwDHTcgDQQJmxgV\nRiob84hRyO5imiuKWnYQcXRuBcBqfpYDt/xTzmiHkS2XpGB04IUoUZcJrhPT\nW5skfPM9i/lTUpXjft+cz60dBWnqvqZej1PeIcHLFJAsHE8C7PpYsGQgMNEe\nGKX0\r\n=aSaV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDj2q1kOuK7H4dF074VSSGxI9RlWC+kNnsqpSGzmwrA/AiEA/u3OPnT2J8CfVvyiXdF3XmmA4azhzBdcpYEV7PWGWns="}]},"maintainers":[{"name":"mikesamuel","email":"mikesamuel@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/template-tag-common_4.0.3_1539193865702_0.7718134533180179"},"_hasShrinkwrap":false},"4.0.4":{"name":"template-tag-common","description":"Simplifies authoring JS template tags like foo`...`","version":"4.0.4","keywords":["template-tag","string-template","sec-roadmap","es6"],"main":"index.js","scripts":{"cover":"istanbul cover _mocha","coveralls":"npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls","lint":"standard && ./node_modules/.bin/eslint .","prepack":"npm run lint && npm test","test":"mocha"},"pre-commit":["prepack"],"author":{"name":"@mikesamuel"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/mikesamuel/template-tag-common.git"},"bugs":{"url":"https://github.com/mikesamuel/template-tag-common/issues"},"dependencies":{"an-lru-cache":"^1.0.5","module-keys":"^1.0.9","node-sec-patterns":"^2.0.6"},"devDependencies":{"babel":"^6.23.0","babel-cli":"^6.26.0","chai":"^4.1.2","coveralls":"^3.0.0","eslint":"^4.15.0","eslint-config-standard":"^11.0.0","eslint-config-strict":"*","istanbul":"^0.4.5","mocha":"^4.0.1","mocha-lcov-reporter":"^1.3.0","pre-commit":"^1.2.2","standard":"^11.0.1"},"eslintConfig":{"extends":["strict","standard"]},"gitHead":"acfabcacbbee9526ba7ae17d7c24bddf3b56d922","homepage":"https://github.com/mikesamuel/template-tag-common#readme","_id":"template-tag-common@4.0.4","_npmVersion":"6.0.0","_nodeVersion":"8.11.1","_npmUser":{"name":"mikesamuel","email":"mikesamuel@gmail.com"},"dist":{"integrity":"sha512-aKhi85UsodYVaqcMrJv9eKMrBK3CvFUb61Tg01nmNQ+5iFpbbrIrWyNtlN8c3Di411MFad5nK++RbkqyvbM+5w==","shasum":"ef47f25e337c01540c5a855ef9a01744f63fec2c","tarball":"https://registry.npmjs.org/template-tag-common/-/template-tag-common-4.0.4.tgz","fileCount":4,"unpackedSize":37312,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbv4hVCRA9TVsSAnZWagAAWN8P/i2FzVYtJNIYa7INqmFs\nSF7Mrj2n9eWoCu1SF85mPafh2w5OHMWIiVI6wEiyo9+IPu0cbnE2dTUDfZ+Q\nv7BV9D/wtIUI08Rc1um2esz6xtKJpIEapeeXFXfrhOJJs9KUY1TdQ9w44IZL\nM8uXwp9rCKAkYsE+wdsbVyF0krA4NEfdZtneCuaLcmZJqV0MSsd/muMh+0r2\nTcpZWx7fE8v++8kCNjPBhlmL6xigQTe8dz3YwkucCHId/ne7ibLkRX9gowqn\n9WrHz2RM+cqtB8vjh3L58kFp+Gcggnz9X4T/3KVj4lxcFYI+DS6vloupRJ+F\n4dCuLZ9Ev6IcaXSG7n+y3jmzcMiwtgGkTBEr9RZlW4NKpPBtnT4TS7pNxkLc\nG0QVw4gEEwSYERJnN7KSxx17tTw2ouTjeUCUs3NAFLB4zeX5qxyuKnVb0Zgv\n/gM0ddPpIgv8B63RJYVyOZoHF4rIa872DOpPZj1GpR6yW1hr+W+IuuT5PxHP\nqh7UZ/yH36Prvj+740fNX3ANkF1FO7bClmIxyfowYE5s0gLjw4pJNS+PeTsO\ngh//BL8oNgHCTArU+RXipnaZA2sPNKCP6aReETZRgHEn/uHHWTOqYGwZbuTH\nSoxI1YLM802KZ4Aek4IQJD7GuOUtlNrxO1huNe8j0oDgDTXt9ddnHbanphbq\nyInl\r\n=FPrf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHH8LboD81WzQ9V88I9RupeW8JiI5eZYPHEtlbxR44Y6AiBKk7nFBvsUUanAeVKe/LYWoN3eCMbSeihe5zjSL0s0EQ=="}]},"maintainers":[{"name":"mikesamuel","email":"mikesamuel@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/template-tag-common_4.0.4_1539278932514_0.6618285046828172"},"_hasShrinkwrap":false},"4.0.5":{"name":"template-tag-common","description":"Simplifies authoring JS template tags like foo`...`","version":"4.0.5","keywords":["template-tag","string-template","sec-roadmap","es6"],"main":"index.js","scripts":{"cover":"istanbul cover _mocha","coveralls":"npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls","lint":"standard && ./node_modules/.bin/eslint .","prepack":"npm run lint && npm test","test":"mocha"},"pre-commit":["prepack"],"author":{"name":"@mikesamuel"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/mikesamuel/template-tag-common.git"},"bugs":{"url":"https://github.com/mikesamuel/template-tag-common/issues"},"dependencies":{"an-lru-cache":"^1.0.5","module-keys":"^1.0.9","node-sec-patterns":"^2.0.7"},"devDependencies":{"babel":"^6.23.0","babel-cli":"^6.26.0","chai":"^4.1.2","coveralls":"^3.0.0","eslint":"^4.15.0","eslint-config-standard":"^11.0.0","eslint-config-strict":"*","istanbul":"^0.4.5","mocha":"^4.0.1","mocha-lcov-reporter":"^1.3.0","pre-commit":"^1.2.2","standard":"^11.0.1"},"eslintConfig":{"extends":["strict","standard"]},"gitHead":"85d45137e185c373103099b1405f3e654443f4ec","homepage":"https://github.com/mikesamuel/template-tag-common#readme","_id":"template-tag-common@4.0.5","_npmVersion":"6.0.0","_nodeVersion":"8.11.1","_npmUser":{"name":"mikesamuel","email":"mikesamuel@gmail.com"},"dist":{"integrity":"sha512-O3UDLA0S4DHtQsLb9vE0RsUjkPeYj6UKWN9HgzjwIklcEjsGMmJMl96m+TCDqZGi6hLQ2nGLSHyFyYRzNOPSnQ==","shasum":"9373d01025451c58c5cb654defaa694fbf8afb10","tarball":"https://registry.npmjs.org/template-tag-common/-/template-tag-common-4.0.5.tgz","fileCount":4,"unpackedSize":37312,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb3GrdCRA9TVsSAnZWagAAGY0P/iPBYagd+gReqjsio0lo\nWQ1Szb1Lrg6Pnlyx/LPY/l7f5ZFkBgzsT+1xn7e+g1B9KWELb18tiA1omiFR\nSecH6iGUO1XyKcIJ5DNl4nbFr+Am/DSPz5Lz4wnZWyeARzF/WOFq56SK3vcQ\n/iNeT5DnBI/QYQcRs9YNMwVlCK7jQm5I6+KL/hGLQyXOml1KBzPnvLKB/x2W\ngZ8XeCte0iODCl/62XXb08tiDqM2kXUpag9K3l7N60R/yZaVlVPpPH/LlN7m\nbGKHKjCA1F1NRjPncwTYZgrrdHYq9QjUVG3iokE0NtcWVUC0sGD9rLwGwVCS\nvYXGwpB41xnszCI1MTQF6pn9iA/1WnemHAAXlaMcMFMDuHq78RtvLaFBW9ty\nzM7WaZ/dPCEFJHBo63k9jNYQFxTVegnfo4Jq9AiERSmjxyjjbFaQEsHZZBLa\nklS60eBFryY6Uj23VChDScaOM+Lw1mbROHXUCdrhWhpHs58qD43GxgrrKMmI\ncMfZheqpYSvyqeAxyCrKvT/mIJ9nshvpZxtD/8EakH9nfVo5+xkZfDWXxZ8M\ndDSVn7kHTm96zXLNiL3N3+W3nxgfytNd426J5E/O3osePt3YbxapStzay/DC\nq30lfhWKC53RnmvrTZY7WH2y+bTiTdf68DizrIw6CVBuW2gULqbcyybYjCHs\nSbC+\r\n=UbnI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDVcHBvFvRO2qaIf2NK2herfHOBvahPEDV8q3GusVPmIgIgVYidIAbRuytGPk4LqahXXvdpLMAy7Iao7FNSYb6ppio="}]},"maintainers":[{"name":"mikesamuel","email":"mikesamuel@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/template-tag-common_4.0.5_1541171933186_0.7924840273492837"},"_hasShrinkwrap":false},"4.0.6":{"name":"template-tag-common","description":"Simplifies authoring JS template tags like foo`...`","version":"4.0.6","keywords":["template-tag","string-template","sec-roadmap","es6"],"main":"index.js","scripts":{"cover":"istanbul cover _mocha","coveralls":"npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls","lint":"standard && ./node_modules/.bin/eslint .","prepack":"npm run lint && npm test","test":"mocha"},"pre-commit":["prepack"],"author":{"name":"@mikesamuel"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/mikesamuel/template-tag-common.git"},"bugs":{"url":"https://github.com/mikesamuel/template-tag-common/issues"},"dependencies":{"an-lru-cache":"^1.0.5","module-keys":"^1.0.10","node-sec-patterns":"^2.0.8"},"devDependencies":{"babel":"^6.23.0","babel-cli":"^6.26.0","chai":"^4.1.2","coveralls":"^3.0.0","eslint":"^4.15.0","eslint-config-standard":"^11.0.0","eslint-config-strict":"*","istanbul":"^0.4.5","mocha":"^4.0.1","mocha-lcov-reporter":"^1.3.0","pre-commit":"^1.2.2","standard":"^11.0.1"},"eslintConfig":{"extends":["strict","standard"]},"gitHead":"3e5c959052b452db18a0d08c66f63f9836b3c6af","homepage":"https://github.com/mikesamuel/template-tag-common#readme","_id":"template-tag-common@4.0.6","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"mikesamuel","email":"mikesamuel@gmail.com"},"dist":{"integrity":"sha512-FoVf1JDHtsTIL7P3l88TI3Au6FiSSBtq7Q6Ms1ySNdhH82VsOdcSn3803BsojD5KgGnfpL+oWPDzppbSuR8CTg==","shasum":"29f1436c3e60635b1bef2c096bf5c627fc3d0c4e","tarball":"https://registry.npmjs.org/template-tag-common/-/template-tag-common-4.0.6.tgz","fileCount":4,"unpackedSize":37313,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcFoAuCRA9TVsSAnZWagAAllcP/2V323yMvdJrTialnDXS\nR/96DAy+9Qu23f4S79heQ7UmE5eS4w/U7nDU1pwy/aE2fZsYu941C6A5TpwP\n9wJpkehLPx5XVu+Hg7dZeDO7NhUnfzTIl/EqCF3aOjtKdivsJyHhvNaD0zRT\nNok9/IEe6yRWIAGC8TsLPDYFx2dRxVqnrC22tRKoZGMuCmDg1iWBd3pjLapy\nEWhV5DQPmW2J+ItSil1c36s+iSlGGFqPZCXaV7vppuY6ivFXcytohnJExcwV\nhDedWubFiVkYfk6Cm6TAGhxgVsn4L0tCWUnEQ6sqaQIcHYP9QzQfkUb37tEX\nYlL25vSXLecKt02fEs0D3Fs1kPwzKQglqa0KgAvSVTGe8P+EXK+vkr5KQ2mw\nKrGxnykN/MXD6qiuHHbXURv9v0/ujCyzvbKhjosBjj+9VyPoRJ4gPvgO230i\nRfY2hbV8Jiszio/cjoBqa6/Bg6GxXzGps4lW4WT4UtlP3ZT+P5niol6GV9CC\nMYip1InAlkYK/UCwGZWL7gDFVuoL5+0XuehMtG22DFIZpODZpeXhYkZEDmVw\niLNENcgK44Tlx9O+UZY1DGPrr6P92aRhXBdW1BbgXun1qDYGrBHJVRe28Bm6\nCoY63qp+Pq+uR9SKUR46ml93XWFLBMT4vYa/idWMW/9GrLP+IrYozPH1z+S4\nY+4F\r\n=88XG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD3GMprdGJrSiLm9OwVFg6ZCcqvo1cnezg5xh+Zhl0fewIhAPRqK1hLZlkaFSDSop/NEmuk/EfXV4Wm3akaomoBIXdc"}]},"maintainers":[{"name":"mikesamuel","email":"mikesamuel@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/template-tag-common_4.0.6_1544978477723_0.9586712789349954"},"_hasShrinkwrap":false},"4.0.7":{"name":"template-tag-common","description":"Simplifies authoring JS template tags like foo`...`","version":"4.0.7","keywords":["template-tag","string-template","sec-roadmap","es6"],"main":"index.js","scripts":{"cover":"istanbul cover _mocha","coveralls":"npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls","lint":"standard && ./node_modules/.bin/eslint .","prepack":"npm run lint && npm test","test":"mocha"},"pre-commit":["prepack"],"author":{"name":"@mikesamuel"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/mikesamuel/template-tag-common.git"},"bugs":{"url":"https://github.com/mikesamuel/template-tag-common/issues"},"dependencies":{"an-lru-cache":"^1.0.5","module-keys":"^1.0.10","node-sec-patterns":"^2.0.9"},"devDependencies":{"babel":"^6.23.0","babel-cli":"^6.26.0","chai":"^4.1.2","coveralls":"^3.0.0","eslint":"^4.15.0","eslint-config-standard":"^11.0.0","eslint-config-strict":"*","istanbul":"^0.4.5","mocha":"^4.0.1","mocha-lcov-reporter":"^1.3.0","pre-commit":"^1.2.2","standard":"^11.0.1"},"eslintConfig":{"extends":["strict","standard"]},"gitHead":"ab976831fc099616e3b1581a09411e5436564533","homepage":"https://github.com/mikesamuel/template-tag-common#readme","_id":"template-tag-common@4.0.7","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"mikesamuel","email":"mikesamuel@gmail.com"},"dist":{"integrity":"sha512-zzyw0Ym1DVgbKBuA3prNgdqIwBu5esl+aZn7tvmef21IfIAav5KCHKKuaV1rtqCnzMaBwcLfeLZWVJsF9MaLJw==","shasum":"03fa063d3eaf91d9641f3a946275fa78fb0adce9","tarball":"https://registry.npmjs.org/template-tag-common/-/template-tag-common-4.0.7.tgz","fileCount":4,"unpackedSize":37313,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcFoSCCRA9TVsSAnZWagAA1Y4P/3dfflNJ4E+MDw623cp1\nzS756e1z3zCZ8HBC6IWD3ox5/5e7wIV3UA+wlVFRSDdRqEZw9K3l6IhfUz7K\nuUajwZTRo5Nu4Z7rUxHPUEZ7D/60SiuP3pXgjD9gijJp9M4A9IkEtyQVDZK/\nwlt3G5Xzg6ygtFd+MT1qzfpS2s4l1jqK3uYwekIJ6UVklPDbOVyNqFs3QGP5\n1gGJNuooAsc21tAcVDElgqbH78uj63G2wR4nZLyBd13ZJoU4dsv/mUnRLuB3\nUXgGp+BLDID4IHoSJY8bj4uCWWKhWtuNhFps3bsVbouqpyeTcvqUr4eFX+s8\ncJgLV2QeEiCFsplR1aG+VMQvTCi/Qzc7ZokC4IlT06vQakLWHFdKIZmLsvfA\nesjNmTjxU6Bdgt/JhuIWQA1ebNmyPGgjKCbCbU9BTu2joDWeAov1QYZeFDvq\n9lFESJ/Hrm2HOjXC9XQDnO+uA62p8C8gxAPH7k0bgbwUTmOFeV38lXQKb6hS\nclbhcmhc0/N0ldMye9KlNb2T50x6seIpCwDwajoQvIVMn/+bmJ/7WfKB7J34\nYE2tTxEHPgdymlgD2QMMl4i0nLtaHl3ItnlH1NN6EdN4VzVwnTpSokKhjzFm\nrddVQisw7LbDpVcz69hso7YYly6ud+rZ53hZG3W8Jq4HiS1ORvVcEDZrUmtO\nVevP\r\n=OXJU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB4IPeUPKpbbQbV/DPTmkVBKiQxFt9MFAZzuQNR9Q9w+AiEA8JHW6yDnBAch890GK/Mv8vil+Ghcw/SX/M4vv9dmzs4="}]},"maintainers":[{"name":"mikesamuel","email":"mikesamuel@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/template-tag-common_4.0.7_1544979586331_0.5960096492647491"},"_hasShrinkwrap":false},"5.0.0":{"name":"template-tag-common","description":"Simplifies authoring JS template tags like foo`...`","version":"5.0.0","keywords":["template-tag","string-template","sec-roadmap","es6"],"main":"index.js","scripts":{"cover":"istanbul cover _mocha","coveralls":"npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls","lint":"standard && ./node_modules/.bin/eslint .","prepack":"npm run lint && npm test","test":"mocha"},"pre-commit":["prepack"],"author":{"name":"@mikesamuel"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/mikesamuel/template-tag-common.git"},"bugs":{"url":"https://github.com/mikesamuel/template-tag-common/issues"},"dependencies":{"an-lru-cache":"^1.0.5","module-keys":"^2.0.0","node-sec-patterns":"^3.0.0"},"devDependencies":{"babel":"^6.23.0","babel-cli":"^6.26.0","chai":"^4.1.2","coveralls":"^3.0.0","eslint":"^4.15.0","eslint-config-standard":"^11.0.0","eslint-config-strict":"*","istanbul":"^0.4.5","mocha":"^4.0.1","mocha-lcov-reporter":"^1.3.0","pre-commit":"^1.2.2","standard":"^11.0.1"},"eslintConfig":{"extends":["strict","standard"]},"gitHead":"9d62c5b53acac1ef5c6db965e8120ad4175f163f","homepage":"https://github.com/mikesamuel/template-tag-common#readme","_id":"template-tag-common@5.0.0","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"mikesamuel","email":"mikesamuel@gmail.com"},"dist":{"integrity":"sha512-KUCjjSXP+JiWAGXak+iTG9EP0oR01IZVcgtdWKAA66PaCm4ac04UTn0y59yOD0Q+i+wWoBsUNPP67bxlvlNJsg==","shasum":"370f5339d41231a98643a299fedb4072ad9fd31c","tarball":"https://registry.npmjs.org/template-tag-common/-/template-tag-common-5.0.0.tgz","fileCount":4,"unpackedSize":37324,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcFqmpCRA9TVsSAnZWagAAWTgQAIrf9tBN4BgyTZaLZ/F0\nECkKvw04Ysfw1ze7LBNO/U7RutVpXTBkD2tU9Ii+HtsIOTL/Uv7Kj40ybYva\nkVio1bvdTZalbDsiQiEUvPFc/GYaoOwIQoXNmMqcZfIn5NZeD6zi621wMEo9\n50JxqXXs2nxqd28p7V7X9PgPKFQ2OOS3sUZcjWML7TGDVyGLTmLcXaftpv8F\njbf1H5M7+HHAyM+2eNopaTlolH6m3wqJSVwTcfsNHFWV7CvivCbEGQrbRX8X\nXnvM4Th7pRiIY/UGErMwdF7iEq5+IczKMK8sb6iiN/Z3ojhoK2prpN8PqOXW\ndTRdkpPqDRFZAL9ToV8kB7mVN5t8T2TqTKHnXKitlj2NyOBG3TR9DMWbaHtC\n5a0slZPtbnhs3RWZWnCT6NQZGeaFjNLcBR2FP9+FaNicyLchZFkwQLVwRze1\n7EDY/AwI/raKT9a47oC9FOskHzg4GeqoQqMX5wMUgEda3j85SFCPYoWYHpyG\n5h3JgLP1SFzvmIonYjM/wR1i1LJg3MP3i/imip6QdZax22DviCkFKJ0iuI4a\niuQyiUMcQQfmtJ3+HzewRYb7eLvk7/0jqkSTkcokysJG9xd8F7RDPIDkS+5Q\nLfuZMt/EG7Pt4kBhulMhQgLdgdMqiBynEeIhZb9YriaEeP+F2LkJj0pVXE0Q\nT+jG\r\n=OJ56\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjDdFG6+xwURaGePoyOQI3+AvmXxiF+fD0LcBXynzuxAIgRhlVlOQtkecaUexr5Z9Aeb509e9RW+eq+lLHudBwZcY="}]},"maintainers":[{"name":"mikesamuel","email":"mikesamuel@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/template-tag-common_5.0.0_1544989097374_0.8046913524825776"},"_hasShrinkwrap":false},"5.0.1":{"name":"template-tag-common","description":"Simplifies authoring JS template tags like foo`...`","version":"5.0.1","keywords":["template-tag","string-template","sec-roadmap","es6"],"main":"index.js","scripts":{"cover":"istanbul cover _mocha","coveralls":"npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls","lint":"standard && ./node_modules/.bin/eslint .","prepack":"npm run lint && npm test","test":"mocha"},"pre-commit":["prepack"],"author":{"name":"@mikesamuel"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/mikesamuel/template-tag-common.git"},"bugs":{"url":"https://github.com/mikesamuel/template-tag-common/issues"},"dependencies":{"an-lru-cache":"^1.0.5","module-keys":"^2.0.1","node-sec-patterns":"^3.0.1"},"devDependencies":{"babel":"^6.23.0","babel-cli":"^6.26.0","chai":"^4.1.2","coveralls":"^3.0.0","eslint":"^4.15.0","eslint-config-standard":"^11.0.0","eslint-config-strict":"*","istanbul":"^0.4.5","mocha":"^4.0.1","mocha-lcov-reporter":"^1.3.0","pre-commit":"^1.2.2","standard":"^11.0.1"},"eslintConfig":{"extends":["strict","standard"]},"gitHead":"67f115ab386787e23a7edb9f4d163fec7f3b03ef","homepage":"https://github.com/mikesamuel/template-tag-common#readme","_id":"template-tag-common@5.0.1","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"mikesamuel","email":"mikesamuel@gmail.com"},"dist":{"integrity":"sha512-MC50wK1FrNTWCIcrWTU0kBnc2UsJk6S/bNYgYPERgmuTCRFo09AmoJfHypqsuHY/m1tR7nmovxr+Iu8VjzgiyA==","shasum":"343e2b58ef512cb2275497fca085b812868e5e3c","tarball":"https://registry.npmjs.org/template-tag-common/-/template-tag-common-5.0.1.tgz","fileCount":4,"unpackedSize":37324,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGQ/uCRA9TVsSAnZWagAAOuMQAJocX8XLryaUfFgdPlRv\nW/v/HT9NzUMzihAWHdz98sSd19zUlHD1ixelAfZf19mYxiiZ++OW5MNWEjbh\nyaq1jhcW3cIXJ2wytvMDcMhj7PuSL8BNH0acoaA+g9C42T7Uj6mrWmcuryyI\nrRMztotf1Eo54MnzeTuTDxiJ6HLwPDJ360Y+13iAXFKeN7BNNfB6JyXB8O1y\nGrDG1iK/cnraTAGSkRlprp3Zsh7obVgAz0vYn0zSjElGE7Rx/9bi51y08kff\nLswYdmIOilWGZjUmL8EQ9M1GBtRZPKPF5kO3bHnmQ/7ScwgBooVPXB5FIwQw\n05qxq0CyJm/TPlJdf/5Sggy0FAPWfdJZopESPbw/emYjZN3ZVZ7jvVh5D1DQ\nsH4BdXuLU4k0Rk5ImHxXG/59gaYUKZBPN75uVV683blP215hKUaYK2rrQ9xC\ng1eLvBvzsgXhyub4dbDO9qzBuh2fzWX8x6qxlPaFUP10lHBOIvMr6kCvqbnK\nSKxOapMu8f5DROq22IoHbDEoyd+nTnqRyr5Er+ek0Vej4MaVztzA+0TID/te\nFHerE8NKeIxeyGqfwH/zLfrWuLft+SDutYV17HmlBtDPOUOSS8+8gEqAFam9\n3FMU+sEQ4KUZ8dK25S7axT1i+JB8xU5uQY9HHIQrOMvVjdmVZLPkCNulqyhi\ne9E4\r\n=rEm/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHdudgnW5khgQmY8h+qDKtmY5V10AXexzsQ/IyKmV8aAAiBjbv+E6Z/9jwTPyxtapIlpWbPUy8IN40sz1sZGfKP7hg=="}]},"maintainers":[{"name":"mikesamuel","email":"mikesamuel@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/template-tag-common_5.0.1_1545146350107_0.9274019800535485"},"_hasShrinkwrap":false},"5.0.2":{"name":"template-tag-common","description":"Simplifies authoring JS template tags like foo`...`","version":"5.0.2","keywords":["template-tag","string-template","sec-roadmap","es6"],"main":"index.js","scripts":{"cover":"istanbul cover _mocha","coveralls":"npm run cover -- --report lcovonly && cat ./coverage/lcov.info | coveralls","lint":"standard && ./node_modules/.bin/eslint .","prepack":"npm run lint && npm test","test":"mocha"},"pre-commit":["prepack"],"author":{"name":"@mikesamuel"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/mikesamuel/template-tag-common.git"},"bugs":{"url":"https://github.com/mikesamuel/template-tag-common/issues"},"dependencies":{"an-lru-cache":"^1.0.5","module-keys":"^2.0.2","node-sec-patterns":"^3.0.2"},"devDependencies":{"babel":"^6.23.0","babel-cli":"^6.26.0","chai":"^4.1.2","coveralls":"^3.0.0","eslint":"^4.15.0","eslint-config-standard":"^11.0.0","eslint-config-strict":"*","istanbul":"^0.4.5","mocha":"^4.0.1","mocha-lcov-reporter":"^1.3.0","pre-commit":"^1.2.2","standard":"^11.0.1"},"eslintConfig":{"extends":["strict","standard"]},"gitHead":"4e397aafc2a570379709172ea110ecdbe1135e91","homepage":"https://github.com/mikesamuel/template-tag-common#readme","_id":"template-tag-common@5.0.2","_nodeVersion":"8.15.1","_npmVersion":"6.9.0","dist":{"integrity":"sha512-vCH6+4MaBIEf5IzO/aR+nviHo9Gpec0kvOTyiZt1oqG5VYIF0hpdfmYSrT4iWBCIeQ5Q641SG8R3iP55tZ79Ag==","shasum":"63ed08d10bece01857dfffbbca9cd45310e02df5","tarball":"https://registry.npmjs.org/template-tag-common/-/template-tag-common-5.0.2.tgz","fileCount":4,"unpackedSize":37324,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJczJnHCRA9TVsSAnZWagAAlbAP/RvHgahqjktpufRTJFBU\ne3/S8P8fgta8xtOPbDtJyp3OusK43aEg8kgQeo2qnTxezsRGNEHwSlwL6Flb\nrTX8V4+cL/J+U1bvvNK4t0n6JCFy+uq1KEwpB7QbXSWlDcS+F84T4M8PWM/y\notyxjnPZgwpXuDzKFph5BPAtsv5ROerJOClWDwlWORkNnmOghF/GsmODAMK0\nFOF3VxFIgt1xSRB2kg5W1jPTf7RII4vH/7q1x+qWD1k+5arZnqUX9c8jv3np\nY4yHLk6hwn7iILyXvAVydNvk+ByvoIVf67UER6XZRon3ts+MCkuR25Rp1cvW\nOYler0RGN0XlEYNDhm9p+ARiMYjiztcgsimdGQykBRqNdFBgL4bDAmo/jtID\npcV/nr0icr4rdyWuHawH1u2gMVnOO6+CWOI05H6z5fiiUKC16hfHxMqcOxwl\nBReeKFP+ey/uD2neDCU5CRhUSeU+PJGUCIxOlCA11b5/RceZMeEePX+P5Evn\ne+P+/e3MsLQq2yFEhVOhrMXWgGrx8RF5C2B2ToA0e36CCdcXVyOtMdAW0iWw\n2BD6faIqo87ORvP7DTIpaeWZpZ1rwWmNtl2kWp96ePF3lK4Bhun6FHAy7DVF\naKw1ROBW1AzLZohHeOdYO1W7IR3YMXQFREFLzmcp9KODMSjAdv0IQPwzAbCj\nNTTJ\r\n=+fSN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+yn8N17HgWraj/p8wkqzBBbA3xeZuTm6b89z8NqLOvwIhALYmyEoPgQQQB5FWecDUN2cUbUMR/pEDbi1l2y/27PGZ"}]},"maintainers":[{"name":"mikesamuel","email":"mikesamuel@gmail.com"}],"_npmUser":{"name":"mikesamuel","email":"mikesamuel@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/template-tag-common_5.0.2_1556912582754_0.20236958307101438"},"_hasShrinkwrap":false}},"readme":"<img align=\"right\" src=\"https://cdn.rawgit.com/mikesamuel/template-tag-common/7f0159bda72d616af30645d49c3c9203c963c0a6/images/logo.png\" alt=\"Sisyphus Logo\">\n\n# Template Tag Common\n\n[![Build Status](https://travis-ci.org/mikesamuel/template-tag-common.svg?branch=master)](https://travis-ci.org/mikesamuel/template-tag-common)\n[![Dependencies Status](https://david-dm.org/mikesamuel/template-tag-common/status.svg)](https://david-dm.org/mikesamuel/template-tag-common)\n[![npm](https://img.shields.io/npm/v/template-tag-common.svg)](https://www.npmjs.com/package/template-tag-common)\n[![Coverage Status](https://coveralls.io/repos/github/mikesamuel/template-tag-common/badge.svg?branch=master)](https://coveralls.io/github/mikesamuel/template-tag-common?branch=master)\n[![Known Vulnerabilities](https://snyk.io/test/github/mikesamuel/template-tag-common/badge.svg?targetFile=package.json)](https://snyk.io/test/github/mikesamuel/template-tag-common?targetFile=package.json)\n\nSimplifies authoring JS string template tags.  Tagged string templates\nallow embedding a mini-language with JavaScript, and the example below\nis syntactic sugar for a call to `myMiniLang`.\n\n```js\nmyMiniLang`...`\n```\n\nThis library makes it easier to write your own.\nSee \"[Tagged template literals][]\" for details about how template tag\nfunctions are called.\n\n## Contents\n\n*  [Example](#example)\n*  [API](#api)\n   *  [`calledAsTemplateTag`](#calledAsTemplateTag)\n   *  [`calledAsTemplateTagQuick`](#calledAsTemplateTagQuick)\n   *  [`memoizedTagFunction`](#memoizedTagFunction)\n      *  [Configuring tag handlers by passing an `options` object](#configuring)\n      *  [Life-cycle of a tag function](#lifecycle)\n   *  [`trimCommonWhitespaceFromLines`](#trimCommonWhitespaceFromLines)\n   *  [`TypedString`](#TypedString)\n\n\n## Example <a name=\"example\"></a>\n\nThe example code below defines a CSV (Comma-separated value file)\nformatter that takes into account whether an interpolation happens\ninside quotes.\n\n<!-- This example code also appears in test/test.js as a testcase.\n     If you change it here, reflect changes there. -->\n\n```js\n// Import this library.\nconst {\n  memoizedTagFunction,\n  trimCommonWhitespaceFromLines,\n  TypedString\n} = require('template-tag-common')\nconst { Mintable } = require('node-sec-patterns')\n\n/**\n * A fragment of CSV.\n * Unlike simple strings, numbers, or Dates,\n * fragments may span multiple cells.\n */\nclass CsvFragment extends TypedString {}\nObject.defineProperty(\n  CsvFragment, 'contractKey', { value: 'CsvFragment' })\nconst isCsvFragment = Mintable.verifierFor(CsvFragment)\n// Assumes module-keys/babel plugin\nconst mintCsvFragment = require.moduleKeys.unbox(\n    Mintable.minterFor(CsvFragment), null,\n    (x) => String(x))\n\n/**\n * A template tag function that composes a CSV fragment\n * by ensuring that simple values are properly quoted.\n */\nconst csv = memoizedTagFunction(\n  computeCsvContexts, interpolateValuesIntoCsv)\n\n// memoizeTagFunction caches the results of this\n// if csv`...` happens inside a loop, this only\n// happens once.\nfunction computeCsvContexts (strings) {\n  const { raw } = trimCommonWhitespaceFromLines(\n    strings, { trimEolAtStart: true, trimEolAtEnd: true })\n  const contexts = []\n  let betweenQuotes = false\n  raw.forEach((chunk) => {\n    (/\"\"?|\\\\./g.exec(chunk) || []).forEach((token) => {\n      if (token === '\"') {\n        // \"\" and \\\" are escape sequences\n        betweenQuotes = !betweenQuotes\n      }\n    })\n    contexts.push(betweenQuotes)\n  })\n  if (betweenQuotes) {\n    const placeholder = '${...}'\n    throw new Error(\n      `Missing quote in CSV: \\`${raw.join(placeholder)}\\``)\n  }\n  return { raw, contexts }\n}\n\n// Called with the contexts computed above, the static chunks of text,\n// then the dynamic values to compute the actual result.\nfunction interpolateValuesIntoCsv(options, { raw, contexts }, strings, values) {\n  const len = values.length\n  let result = ''\n  for (let i = 0; i < len; ++i) {\n    const alreadyQuoted = contexts[i]\n    const value = values[i]\n    let escaped = null\n    if (isCsvFragment(value)) {\n      // Allow a CSV fragment to specify multiple cells\n      escaped = alreadyQuoted\n        ? `\"${value.content}\"`\n        : value.content\n    // TODO: maybe convert date to 2018-01-01T12:00:00Z format\n    } else {\n      escaped = JSON.stringify(String(values[i]))\n      if (alreadyQuoted) {\n        escaped = escaped.replace(/^\"|\"$/g, '')\n      }\n    }\n    result += raw[i]\n    result += escaped\n  }\n  result += raw[len]\n  return mintCsvFragment(result)\n}\n\nconsole.log(\n  '%s',\n  csv`\n    foo,${ 1 },${ mintCsvFragment('bar,bar') }\n    ${ 'ab\"c' },baz,\"boo${ '\\n' }\",far`)\n// Logs something like\n// foo,1,bar,bar\n// \"ab\\\"c\",baz,\"boo\\n\",far\n\nmodule.exports = {\n  csv,\n  CsvFragment\n}\n```\n\n\n## API  <a name=\"api\"></a>\n\n### `calledAsTemplateTag(firstArgument, nArguments)` <a name=\"calledAsTemplateTag\"></a>\n\nIf defining a function that may be used as a template tag\nor called normally, then pass the first argument and\nthe argument count and this will return true if the call\nwas via a string template.\n\n```js\nconst { calledAsTemplateTag } = require('template-tag-common')\n\nfunction myFunction (...args) {\n  if (calledAsTemplateTag(args[0], args.length)) {\n    // Assume template tag calling convention\n    const [ staticStrings, ...dynamicValues ] = args\n    ...\n  } else {\n    // Assume regular function calling convention\n    ...\n  }\n}\n```\n\nThis is true iff `firstArgument` could be a result of\n**[GetTemplateObject][]**\nand the number of dynamic arguments is consistent with a\ntemplate call.\n\nIt is possible, but unlikely, for this function to return true when\nthe caller is not a template literal.  It is not likely that an\nattacker could cause an untrusted input to specify static strings; no\n`firstArgument` deserialized via `JSON.parse` will pass this function.\n\n### `calledAsTemplateTagQuick(firstArgument, nArguments)` <a name=\"calledAsTemplateTagQuick\"></a>\n\nLike `calledAsTemplateTag` but doesn't check that the\nstrings array contains only strings.\n\n### `memoizedTagFunction(computeStaticHelper, computeResultHelper)`  <a name=\"memoizedTagFunction\"></a>\n\nMemoizes operations on the static portions so the per-use cost\nof a tagged template literal is related to the complexity of handling\nthe dynamic values.\n\n* `computeStaticHelper` : `{!function (Array.<string>): T}`\n   called when there is no entry for the\n   frozen static strings object, and cached weakly thereafter.\n   Receives a string of arrays with a `.raw` property that is\n   a string array of the same length.\n*  `computeResultHelper` : `{!function (O, T, !Array.<string>, !Array.<*>): R}`\n   a function that takes four parameters:\n   1. An options object.  By default, an empty object.\n   2. The result of computeStaticHelper above.\n   3. The static chunks of text that surround the `${...}`\n   4. The dynamic values that result from evaluating the contents of `${...}`\n\nReturns `{!function (!Array.<string>, ...*): R}` a template tag\nfunction that calls `computeStaticHelper` as needed on the static\nportion and returns the result of applying `computeResultHelper`.\n\nBy splitting tagged template processing into separate static analysis\nand dynamic value handling phases, we encourage granting privilege to\nthe static portions which the developer specifies and treating with\nsuspicion the dynamic values which may be controlled by an attacker.\n\n#### Configuring tag handlers by passing an `options` object <a name=\"configuring\"></a>\n\nA `computeResultHelper`'s `options` parameter bundles optional\nconfiguration data together.\n\nConfigurations can be passed to a tag as a single argument before the\ntemplate literal:\n\n```js\nmyTag(options)`Foo ${ bar } baz`\n```\n\nConfigurations can be associated with a tag and then later used:\n\n```js\nconst myConfiguredTag = myTag({ property: value })\n\nconst tagResult = myConfiguredTag`foo ${ bar } baz`\n```\n\nArrays cannot be valid `options` objects because of the way we\ndistinguish a call to specify options from a use of the tag.\n\n#### Life-cycle of a tag function <a name=\"lifecycle\"></a>\n\nExecution of\n\n```js\nconst { memoizedTagFunction } = require('template-tag-common')\n\nconst myTag = memoizedTagFunction(computeStaticHelper, computeResultHelper)\n\nconst result = myTag(options)`string0 ${ value0 } string1 ${ value1 } string2\\n`\n```\n\nis equivalent to\n\n```js\n// The JavaScript engine does this under the hood.\n// It is hoisted to the top of the module.\nconst staticStrings = [ 'string0 ', ' string1 ', ' string2\\n' ]\nstaticStrings.raw =   [ 'string0 ', ' string1 ', ' string2\\\\n' ]\nObject.freeze(staticStrings.raw)\nObject.freeze(staticString)\n\n// This is the part that memoizedTagFunction does.\nconst result = computeResultHelper(\n    options,\n    computeStaticHelper(staticStrings),\n    staticStrings,\n    [ value0, value1 ])\n```\n\nbut if this happened in a loop, the call to `computeStaticHelper` would\nprobably only happen once.\n\n### `trimCommonWhitespaceFromLines(strings, options)`  <a name=\"trimCommonWhitespaceFromLines\"></a>\n\nSimplifies tripping common leading whitespace from a multiline\ntemplate tag so that a template tag can be re-indented as a block.\n\nThis function takes the first argument to a tag handler.\n\nA memoized tag handler's `computeStaticHandler` function (see above)\ncan call this so that the cost is not incurred every time a particular\ntemplate is reached.\n\nUsing this in template tag handlers ensures that code blocks like the\ntwo below are treated the same even though the string templates'\ncontents have been indented differently so as to flow nicely with the\nsurrounding code.\n\n```js\nfunction f () {\n  if (x) {\n    return null\n  }\n  return aTagHandler`\n    {\n      ...\n    }`\n  // Indent level 2\n}\n```\n\n```js\nfunction f () {\n  if (x) {\n    return null\n  } else {\n    return aTagHandler`\n      {\n        ...\n      }`\n    // Indent level 3\n  }\n}\n```\n\nThe `options` parameter is optional as are all its properties.  Options include\n\n| option property name | meaning | default |\n| -------------------- | ------- | ------- |\n| `trimEolAtStart`     | trim starting line terminator from first chunk | `false` |\n| `trimEolAtEnd`     | trim ending line terminator from last chunk | `false` |\n\n### `TypedString`  <a name=\"TypedString\"></a>\n\nA `TypedString` is an object that represents a string that matches a known\ncontract.  Each `subclass` of `TypedString` encapsulates such a contract.\n\nCreate a subclass of `TypedString` when you want to treat some kinds of\nstrings specially.\n\nThis can make it very easy to write *composable* tag handlers -- tag\nhandlers that can easily be split up or refactored into multiple steps.\n\nThe [CSV example](#example) does not re-escape `CSVFragment`s.\n\n```js\nclass CSVFragment extends TypedString {}\nObject.defineProperty(\n  CSVFragment, 'contractKey', { value: 'CSVFragment' })\n```\n\nNote that each concrete sub-class of `TypedString` **must** have\na static property `contractKey`.  This allows using a minter and\nverifier instead of error-prone `instanceof` checks.  That\nmodule fetches them thus\n\n```js\nconst isCsvFragment = Mintable.verifierFor(CsvFragment)\nconst mintCsvFragment = require.moduleKeys.unbox(\n    Mintable.minterFor(CsvFragment), null,\n    (x) => String(x))\n```\n\n`Mintable.minterFor` returns a [box][] that is openable when\nthere's a grant for the current module.  The `(x) => String(x))`\nallows it to degrade gracefully to returning a simple string.\n\nLater that example checks whether a value has a particular content\ntype before re-escaping\n\n```js\n  if (isCsvFragment(value))\n```\n\nThe output of <code>csv&#96;...&#96;</code> is also a `CSVFragment`\n\n```js\n  return mintCsvFragment(result)\n```\n\nwhich makes it easy to compose multiple uses of <code>csv&#96;...&#96;</code>\nor split and refactor a single use.\n\n```js\nconst row0 = csv`...`\nconst row1 = csv`...`\n\n// Combine two rows into one\ncsv`\n${row0}\n${row1}\n`\n```\n\n\n[Tagged template literals]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#Tagged_template_literals\n[GetTemplateObject]: https://www.ecma-international.org/ecma-262/6.0/#sec-gettemplateobject\n[box]: https://www.npmjs.com/package/module-keys#class-box\n","maintainers":[{"name":"mikesamuel","email":"mikesamuel@gmail.com"}],"time":{"modified":"2022-05-19T20:10:27.470Z","created":"2018-01-22T16:40:21.546Z","1.0.1":"2018-01-22T16:40:21.546Z","1.0.2":"2018-01-22T16:46:21.696Z","1.0.3":"2018-01-23T02:58:02.225Z","1.0.4":"2018-01-23T15:37:50.035Z","1.0.5":"2018-01-23T15:45:10.968Z","1.0.6":"2018-01-23T15:54:46.792Z","1.0.7":"2018-01-23T16:00:15.328Z","1.0.8":"2018-01-23T16:17:35.984Z","2.0.0":"2018-01-27T20:36:13.376Z","2.0.1":"2018-01-29T17:23:54.439Z","3.0.0":"2018-02-16T20:55:46.780Z","3.0.1":"2018-02-16T21:03:39.734Z","3.0.2":"2018-02-18T23:24:43.564Z","3.0.3":"2018-02-24T20:15:10.763Z","3.0.4":"2018-02-26T20:09:50.095Z","4.0.0":"2018-06-11T18:59:30.712Z","4.0.1":"2018-06-11T19:16:54.977Z","4.0.2":"2018-09-17T20:44:41.773Z","4.0.3":"2018-10-10T17:51:05.806Z","4.0.4":"2018-10-11T17:28:52.624Z","4.0.5":"2018-11-02T15:18:53.339Z","4.0.6":"2018-12-16T16:41:17.873Z","4.0.7":"2018-12-16T16:59:46.479Z","5.0.0":"2018-12-16T19:38:17.553Z","5.0.1":"2018-12-18T15:19:10.264Z","5.0.2":"2019-05-03T19:43:02.888Z"},"author":{"name":"@mikesamuel"},"license":"Apache-2.0","readmeFilename":"README.md","keywords":["template-tag","string-template","sec-roadmap","es6"],"users":{"mikesamuel":true},"homepage":"https://github.com/mikesamuel/template-tag-common#readme","repository":{"type":"git","url":"git+https://github.com/mikesamuel/template-tag-common.git"},"bugs":{"url":"https://github.com/mikesamuel/template-tag-common/issues"}}