{"_id":"string-builder","_rev":"19-b094fc1bb88952c82bc01c6c0155b8cb","name":"string-builder","dist-tags":{"latest":"1.0.0"},"versions":{"0.1.0":{"name":"string-builder","version":"0.1.0","author":{"name":"Halil İbrahim ŞAFAK","email":"hibrahimsafak@gmail.com"},"_id":"string-builder@0.1.0","maintainers":[{"name":"hibrahimsafak","email":"hibrahimsafak@gmail.com"}],"dist":{"shasum":"1f604687775c62b61d8bdfa82fe624fa44e3927a","tarball":"https://registry.npmjs.org/string-builder/-/string-builder-0.1.0.tgz","integrity":"sha512-NGCd5aB+8ZRWi5Fbu8iNaYpX1jZE+zATzkFj3RyslMtWz87/ovAoSVe1cLpbvPrwtQ1aCxLhUMEv/BLWLYSpSg==","signatures":[{"sig":"MEUCIQCkh/ejS/yYFpWJ/3vOFNRRP6n+a0/qoz+oYg7KLKd9NQIgXIT0B0lvFXtugciyfDnWjPPbsqX1m4N0Zzfw5gGP5yU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/stringbuilder.js","_from":"stringbuilder/","_npmUser":{"name":"hibrahimsafak","email":"hibrahimsafak@gmail.com"},"_npmVersion":"1.3.24","description":"CurrentVersion: `0.1.0`","directories":{},"dependencies":{},"devDependencies":{}},"0.1.1":{"name":"string-builder","version":"0.1.1","author":{"name":"Halil İbrahim ŞAFAK","email":"hibrahimsafak@gmail.com"},"_id":"string-builder@0.1.1","maintainers":[{"name":"hibrahimsafak","email":"hibrahimsafak@gmail.com"}],"dist":{"shasum":"0628fbc8d68e4ea458e27fed55cd3b30eeb93e51","tarball":"https://registry.npmjs.org/string-builder/-/string-builder-0.1.1.tgz","integrity":"sha512-rvd+SY7ScTBDOlDJH3k1hXETqwqg9v36F+F7tx1Zeza5Sqnu5gBf8Ssb/naBxTZcDI2PxaPFY38iSS8tHedshA==","signatures":[{"sig":"MEYCIQCKwO+7WJUy8lpfvxq4rQgteH/dhUp1K4W7E6HhsbFMLAIhAKxzobHwbinvq3yYjZJ0d9feaBKncZa/nTCSQzbavz0r","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/stringbuilder.js","_from":"stringbuilder/","_npmUser":{"name":"hibrahimsafak","email":"hibrahimsafak@gmail.com"},"_npmVersion":"1.3.24","description":"CurrentVersion: `0.1.0`","directories":{},"dependencies":{},"devDependencies":{}},"0.1.2":{"name":"string-builder","version":"0.1.2","author":{"name":"Halil İbrahim ŞAFAK","email":"hibrahimsafak@gmail.com"},"_id":"string-builder@0.1.2","maintainers":[{"name":"hibrahimsafak","email":"hibrahimsafak@gmail.com"}],"dist":{"shasum":"4e6a52fbd1b4ea1229a3182d620c9d536cdd765f","tarball":"https://registry.npmjs.org/string-builder/-/string-builder-0.1.2.tgz","integrity":"sha512-Q/rP8zknDRXsdxQogj5kNAfGseEQdaq0aBNFCWZuB/15NJxRw4lbWxYdTpAOWeH7zlVQMEYMjlyjscYHwFnKSQ==","signatures":[{"sig":"MEQCIFRB9IqYktryyYMvy50yDU4fXv47HVbVevvByaFulPzXAiBsrK1qUTs+jA7rM/KeZGpN4zaJr5JLfLenhuuz6pNFuA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/stringbuilder.js","_from":"stringbuilder/","_npmUser":{"name":"hibrahimsafak","email":"hibrahimsafak@gmail.com"},"_npmVersion":"1.3.24","description":"CurrentVersion: `0.1.0`","directories":{},"dependencies":{},"devDependencies":{}},"0.1.3":{"name":"string-builder","version":"0.1.3","author":{"name":"Halil İbrahim ŞAFAK","email":"hibrahimsafak@gmail.com"},"_id":"string-builder@0.1.3","maintainers":[{"name":"hibrahimsafak","email":"hibrahimsafak@gmail.com"}],"dist":{"shasum":"6d71f96ebddfc14920fc7931567ca33404e65bfd","tarball":"https://registry.npmjs.org/string-builder/-/string-builder-0.1.3.tgz","integrity":"sha512-wHyx2OiL9RBzDnD12yeuea0lb5T0VMJjZ5nWdCzNl7oFJuobRBNumvVVtsXv7H+mDEU/8IE1QaF3Bi2lAxxV9Q==","signatures":[{"sig":"MEUCIQDXJGH6qXpsOWA9cuLd+egvBm79HYxUrS/w5M+blGXhbQIgG2g/x86+ug57WshxwUGd9byAP59pzz1Pz1gGQTNWkII=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/stringbuilder.js","_from":"stringbuilder/","_npmUser":{"name":"hibrahimsafak","email":"hibrahimsafak@gmail.com"},"_npmVersion":"1.3.24","description":"CurrentVersion: `0.1.3`","directories":{},"dependencies":{},"devDependencies":{}},"0.1.4":{"name":"string-builder","version":"0.1.4","keywords":["stringbuilder","string","builder","string-builder","string format","string builder","format"],"author":{"name":"Halil İbrahim ŞAFAK","email":"hibrahimsafak@gmail.com"},"license":"MIT","_id":"string-builder@0.1.4","maintainers":[{"name":"hibrahimsafak","email":"hibrahimsafak@gmail.com"}],"homepage":"https://github.com/hibrahimsafak/StringBuilder#readme","bugs":{"url":"https://github.com/hibrahimsafak/StringBuilder/issues"},"dist":{"shasum":"edf66e7606f89585b4810f469f72d010677680b2","tarball":"https://registry.npmjs.org/string-builder/-/string-builder-0.1.4.tgz","integrity":"sha512-WwLF1YNJRjOkfBSJ+SjpE7i0Z9SZGDjLkv49/eXDnmBRlO2lHXwad8Tmh9/zyRlcCCAJ3E7TgsjeLBDlqVNoTg==","signatures":[{"sig":"MEUCIQCoJL9Tk+qyAdb0ifFdA9WKgUQHLoqEXzPFw6N7ZqEYKgIgE75GQBWwQ/4ugiPOZt/hcaH5p61ZKN02OSuK0NHbOVQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./src/stringbuilder.js","_from":".","_shasum":"edf66e7606f89585b4810f469f72d010677680b2","gitHead":"d9eaa3927d8a05ce828718ffa0fbbd7356376470","scripts":{},"_npmUser":{"name":"hibrahimsafak","email":"hibrahimsafak@gmail.com"},"repository":{"url":"git+https://github.com/hibrahimsafak/StringBuilder.git","type":"git"},"_npmVersion":"2.15.1","description":"Simple Node.JS string builder.","directories":{},"_nodeVersion":"4.4.4","_npmOperationalInternal":{"tmp":"tmp/string-builder-0.1.4.tgz_1462870526326_0.3941196936648339","host":"packages-16-east.internal.npmjs.com"}},"0.1.5":{"name":"string-builder","version":"0.1.5","keywords":["stringbuilder","string","builder","string-builder","string format","string builder","format","nodejs"],"author":{"name":"Halil İbrahim ŞAFAK","email":"hibrahimsafak@gmail.com"},"license":"MIT","_id":"string-builder@0.1.5","maintainers":[{"name":"hibrahimsafak","email":"hibrahimsafak@gmail.com"}],"homepage":"https://github.com/hibrahimsafak/StringBuilder#readme","bugs":{"url":"https://github.com/hibrahimsafak/StringBuilder/issues"},"dist":{"shasum":"0efe1862064a649d9859001da2c9b9b75723dcda","tarball":"https://registry.npmjs.org/string-builder/-/string-builder-0.1.5.tgz","fileCount":133,"integrity":"sha512-ZXE0KxTWfhu3srMp7ZM4yLMhmdK5ykFfoB1B8xU1NDIGO3L7ohcanF5zopHBQt/unyRb3hqIaGzYA8gNRp/fSA==","signatures":[{"sig":"MEYCIQDRZsyhfNG29755rbqULcYC/8nsfLlimhqqfA3YMoDoZgIhAL8E4fxslau+CGkGPNFY1atFke+55g+AQVSwbrUqtfXw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64404,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbVJ6iCRA9TVsSAnZWagAAcREQAIGTgmhznIFEG8KcKp46\n6qRr1iZQcbxdVcQAJ1T1P1wOH1hdcmreeJJh/Bfkvb/K4iXI8rmHIOaBGdfI\n8y0YEW9NvA9B3gbcuZLKqZR5V8BDjV+CNgUOrKHR6hEHQVcptVNNTzTu3lBN\nkf5c3Ec9MZ0RhV3gG86tZ7vxyiz+Xgvz0WQ1IJ5zXMQyQ922dngZAie7xEU3\nEFIl1nRtoUPgp7GTZ298DF03fyhLZlkUmhzu5OxMl4Y44PZt56VD88D/F+aS\nDMDxrOiPybMvp1aJDAoHnXVtn4lVHj+bjWZrNIyqWSAL0NvjaqsqPj9xcBNi\nz7vwiDS/mwpT02WG8BhGpFaRIplqcSxrn3AF72aUyb2HZupnVHttEiybAGAx\nb5AlyIpK2bB6Ij2DUHj2z1SHgH+wjA9sBbob8HE0yRO3MKX5sC5kCGalFesp\nCcn1n70swUjVNhZfcGMHLGf7o4uLGb9GfmPIxgH9U6/9BXjXBz+zQ5wOa8AM\n8RyDgdhfrcZafxuXW4UKPkJsz8K9uk8m+NKGFfrSb7lUlYLUyacWXFnNl/Nn\nmUc/iz9dKoPMmi0tlvvfZfbWI6pjt/ia/OVZMbQhjNMNcjMG22Fn9S4uzBnK\neLonvxx9r31swgOhEi/3FekDI6s+vGqGV7tb4BVdV79v/BRfbo/bHzSjbRIZ\nXpgI\r\n=AchS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/stringbuilder.js","gitHead":"e2c006af89e7e47fd544b61f967492fa1097d5c8","_npmUser":{"name":"hibrahimsafak","email":"hibrahimsafak@gmail.com"},"repository":{"url":"git+https://github.com/hibrahimsafak/StringBuilder.git","type":"git"},"_npmVersion":"5.6.0","description":"Simple Node.JS string builder.","directories":{},"_nodeVersion":"8.11.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/string-builder_0.1.5_1532272290270_0.6415557236735443","host":"s3://npm-registry-packages"}},"0.1.6":{"name":"string-builder","version":"0.1.6","keywords":["stringbuilder","string","builder","string-builder","string format","string builder","format","nodejs"],"author":{"name":"Halil İbrahim ŞAFAK","email":"hibrahimsafak@gmail.com"},"license":"MIT","_id":"string-builder@0.1.6","maintainers":[{"name":"hibrahimsafak","email":"hibrahimsafak@gmail.com"}],"homepage":"https://github.com/halil/string-builder#readme","bugs":{"url":"https://github.com/halil/string-builder/issues"},"dist":{"shasum":"aee28016335b8d3a9637be9af874351e38a32e51","tarball":"https://registry.npmjs.org/string-builder/-/string-builder-0.1.6.tgz","fileCount":5,"integrity":"sha512-lpfA1Tddd4dwk2Hxf/fhQAG2JK91St/ISqdvBYjOOnW8oNC1172CwW5X2YsU+JqtJBPCBDPZrlrPCK8iQq0QyQ==","signatures":[{"sig":"MEQCICAwwvj2pnDUffNBInoHkORAavmOwJ1isRwB1zFQe/QgAiBewsQf7WbTAWzzOU04yYte5bMI1bI3SnGwceEjVDj4zA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":5725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbWGUTCRA9TVsSAnZWagAAo20P/AndLoCGytJoNKWfaDRW\njiL0NPRxj4HTrs4wy34g3QeX7wAtQwtVSoPqNDKEBAcauOjQFFth9E1fDmbj\nNMDx5vv1HzgU+8IbyHNok8gnDcASy7zktUh6ALcF/9INrtvGYa+S6tQ57MRz\nOpli0Bj5OYn2witehkN11c8x/oTBrvyjOW/yQGzwEwoXb/a0XHC1jNbeGv8e\n2Cv7Dc/M281j3rH2dJdS19O+vrku0pWmKcY4NOtE1Wo0f2BCdCTk8vW9MKqy\nXMy2cpDDqNyVn8hpiquXdVtuz+DhyW50OtIdDwKA4+h1MhSzZDCT6kyF72Aj\n7Tlhr61ih0OI08YbmNKWvPfXCyz1uiK4kbc9mcq3+1k7rJa+7nZ7b5ZY5pyM\nHGaYJwum4QwazK/yDpZ05PD8seHd/JMHHnixTeJh6nxYreo+FzO02bQSUNHR\nVXk3oyhYuIt8qK0+9opJKdHHPhjhRDYIBEFExCSpoW6wO84JRiZKTjQviThT\n6xcF9iGHUS3STboP79pFkMLPuZE6GirSM068v0VWIzv11UwyhnXU8c6f1Ebh\nCezeifVADjSPx1Op4tVvLNokBqi+B2RWap0St/bIVPiQfXx1WPDb+eX0vzF5\nmf/2B1v5xYZP9ciKTQpPR9OPAMRh3PxXbElNDaLB3z0N5PNT1J/qeBWXjQQh\nKbA6\r\n=HU60\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/stringbuilder.js","gitHead":"b1403f25d0d3a48705351f6c3ca757a4dd89084d","_npmUser":{"name":"hibrahimsafak","email":"hibrahimsafak@gmail.com"},"repository":{"url":"git+https://github.com/halil/string-builder.git","type":"git"},"_npmVersion":"5.6.0","description":"Simple Node.JS string builder.","directories":{},"_nodeVersion":"8.11.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/string-builder_0.1.6_1532519698943_0.921165800450584","host":"s3://npm-registry-packages"}},"0.1.7":{"name":"string-builder","version":"0.1.7","keywords":["stringbuilder","string","builder","string-builder","string format","string builder","format","nodejs"],"author":{"name":"Halil İbrahim ŞAFAK","email":"hibrahimsafak@gmail.com"},"license":"MIT","_id":"string-builder@0.1.7","maintainers":[{"name":"hibrahimsafak","email":"hibrahimsafak@gmail.com"}],"homepage":"https://github.com/halil/string-builder#readme","bugs":{"url":"https://github.com/halil/string-builder/issues"},"dist":{"shasum":"24ba5098583cb88d1af6fafb3e38167f5cbb95b7","tarball":"https://registry.npmjs.org/string-builder/-/string-builder-0.1.7.tgz","fileCount":5,"integrity":"sha512-oPzKyEUfGqD0bfOYl4nXYHZSnCTJPyhX/iZp18s/p4MmIcfFkduYLCSsIPkP0TFB6clFZOlZzgTZw6UEraJ3NA==","signatures":[{"sig":"MEQCIBv/JyWG1yoxwj5Ff9kL8TbvbFSnxTwqQiMkRHFjNIbNAiBCOMv4t2DoEWkEq3Wgk4v5g6QbfK9sJgJFYRK7/S1fww==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6142,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqllqCRA9TVsSAnZWagAAZBYP+wX73vvMmOI+oZYxKJyk\nUM9lpBrOgMwantgw0lBsa7VMjRVSZ6jwsX40K0R82xvkCxlVMWqwQ+68baaL\ntF9FoEO5MfiHzgX7qrHQCwyID58XWmFsZWjgDTAU9Z7tPKDkL/C2A7oFniVN\nylRN6+uNoFICIexdlzNdE+CehdnamwYC+GFY4kcyXOFSw7ItXNfs5+1rfDhC\nnUr3IhqYvw4gacUaG/LSN84xe65SeDaGq/ZZqwo+iG7r+4ttm/FLHJ1qkUK9\njPCX7+RhKqXDooc1VaBG3Pdx/9PtNGt4HuQFaOTiSAoxSIoe4CmJv+WHziV0\nylCeNiJEghMy6v3kJYLMD+KOoslnBtIMJuMO03DcPhuoAKYdZfmMvK0v8yRv\n4KJK9HLyO+pTgkHxYLoOjxOZOjNC3J7oUvOuJe2t7Okn3elFzS/dUQdf2U44\nnmt976t9SqlgGPLtgbWECdoTxJbsreaBFwO0uivYx+XHa1kHI7YpHra7nF39\n8weFqftr39L8hL7D7dctB7opDGGjBHdBCsyP2FtEDIs9YKbjLU8OrMM7uz0x\nnqqZsozoWbJjLg+C5shTH5EKb+gp1ezbIqUHMfW8RUfdabB5+PVbUitcuJPD\ngQSYbTxDtnrjLn/oLFpCpcJGanETi5B5DajuaKiv82bAT9eNNW0DAwj/fTjS\nLZJC\r\n=2t1I\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/stringbuilder.js","gitHead":"515662f3bd091b1decf8f16920e7bb16b63f4673","_npmUser":{"name":"hibrahimsafak","email":"hibrahimsafak@gmail.com"},"repository":{"url":"git+https://github.com/halil/string-builder.git","type":"git"},"_npmVersion":"6.14.6","description":"Simple Node.JS string builder.","directories":{},"_nodeVersion":"12.18.3","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/string-builder_0.1.7_1604999530065_0.5496425151356108","host":"s3://npm-registry-packages"}},"0.1.8":{"name":"string-builder","version":"0.1.8","keywords":["stringbuilder","string","builder","string-builder","string format","string builder","format","nodejs"],"author":{"name":"Halil İbrahim ŞAFAK","email":"hibrahimsafak@gmail.com"},"license":"MIT","_id":"string-builder@0.1.8","maintainers":[{"name":"hibrahimsafak","email":"hibrahimsafak@gmail.com"}],"homepage":"https://github.com/halil/string-builder#readme","bugs":{"url":"https://github.com/halil/string-builder/issues"},"dist":{"shasum":"d244509c98fa11de4dbf1c5008ecf26edf481359","tarball":"https://registry.npmjs.org/string-builder/-/string-builder-0.1.8.tgz","fileCount":5,"integrity":"sha512-0pUtikmhChLaf+uLqzYTgzTCQc4jAjaWHolxPGq3D77SgSoTqkOlv0RVF3XwDxMR9x/y1WPPwkTNalZCA9DGnQ==","signatures":[{"sig":"MEUCIFCVhq5JfdmJX1MlNqilYgDYmbeO7pic/QSY8Ta/6hopAiEAoB1IBnHn4dA03rju/cJS4rXn+NUsiwPLteivQgQohh4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6925,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfx6qjCRA9TVsSAnZWagAAh4YP/3dJzKAR7U1aFus0eHtI\nlwJdZf42UoQ38QpYZpilgFBETgjrSxlXSPQ+jFbzA1cTvloF+fwVLNG7nzke\nuGUQ17/Uw9Jhy2YH33yX2HLCcyBMQ1dQdIkO5rt5Bb19TY2fZEKjlaKX3JGb\nYmFH9HZ2tD7SOWOUqbUHd/P4lUCFvLAXWeuK+/GdiDIKbe7iEe3Uf86HSxhQ\nEVFJRiQDmZQOUS4pHgNdS20bVdKNBc0KVbJi88KfkJxc7s5bLIVePI69f9dR\njGbUmnQmR1iv2ntYHCCenYhv1EU2QJNvx1e8Ka1PTMmWGk+gmcOsTXzRvmvP\n922RHszYOqHYUDNeBAAEqyM4djn+32oSwmiG5so6/j+W61nBQ5ANymymOfWA\n1/QwEi4D4SL9oWS3PoIkKnAe0LE8cudlf69ENbxQCHqk54b4d73SzeB3oyNg\nlh5NfmYFywTWk8QV0w8cnnnwGwMXlH31JSEZM9au5LBk/FUTFVTn4GvF69wy\n9TSHVjQa6PQoJTY/w6c+bT28EutZAeuolpitlfcgkwqDo0xBPb4iWFgFWLLu\nrAVq76063KCKNc2APzu8WoqY8thpT4JW5bmhp4n+FSvmWcOyYbvur2I/Sl8A\n7aYvzScTDzwVoU7GpRDnZRzPNiAbuIvgAgMn57OluWIXOnw/9cx+I43iMqYP\na1KW\r\n=ikz4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./src/stringbuilder.js","gitHead":"efa56fae50bc7555f256c282cd7143b868845ee0","_npmUser":{"name":"hibrahimsafak","email":"hibrahimsafak@gmail.com"},"repository":{"url":"git+https://github.com/halil/string-builder.git","type":"git"},"_npmVersion":"6.14.6","description":"Simple Node.JS string builder.","directories":{},"_nodeVersion":"12.18.3","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/string-builder_0.1.8_1606920867380_0.10090991599896881","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"string-builder","description":"A fast, zero-dependency string builder for Node.js with ESM, CommonJS, and TypeScript support.","version":"1.0.0","author":{"name":"Halil İbrahim ŞAFAK","email":"hibrahimsafak@gmail.com"},"license":"MIT","homepage":"https://www.npmjs.com/package/string-builder","repository":{"type":"git","url":"git+https://github.com/halil/string-builder.git"},"bugs":{"url":"https://github.com/halil/string-builder/issues"},"engines":{"node":">=12.0.0"},"main":"./src/stringbuilder.js","exports":{".":{"types":"./index.d.ts","import":"./src/stringbuilder.mjs","require":"./src/stringbuilder.js"},"./src/*":"./src/*"},"types":"./index.d.ts","sideEffects":false,"keywords":["stringbuilder","string-builder","string builder","string","builder","string format","format","string interpolation","template","string concat","string concatenation","append","prepend","replace","esm","typescript","zero-dependency","nodejs","node"],"scripts":{"test":"jest"},"devDependencies":{"jest":"^27.5.1"},"_id":"string-builder@1.0.0","gitHead":"cc526e888bb486266c5e4eca2b3e31bc94880588","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-pBU/+0P5g6b0kOY9qceKjmuTSuWf929z05Q8XM16NeNMp3jemqcA6hHBauWVmIiMEaEMRrEmcyAEmMAcPH690A==","shasum":"27d25be69308c885188437ae74b54c205bb691c2","tarball":"https://registry.npmjs.org/string-builder/-/string-builder-1.0.0.tgz","fileCount":6,"unpackedSize":14742,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIB/dc/yR+hkhRzChKcNL1zx8/2P8pLIvXVJhCDLTYke2AiB6cpfW0BtWzHFSP+0jr0A4b9CBYWOlseNfOxT4mSxn/A=="}]},"_npmUser":{"name":"hibrahimsafak","email":"hibrahimsafak@gmail.com"},"directories":{},"maintainers":[{"name":"hibrahimsafak","email":"hibrahimsafak@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/string-builder_1.0.0_1782564366253_0.24674888504605108"},"_hasShrinkwrap":false}},"time":{"created":"2014-02-19T12:41:17.349Z","modified":"2026-06-27T12:46:06.486Z","0.1.0":"2014-02-19T12:41:17.349Z","0.1.1":"2014-02-19T12:47:31.385Z","0.1.2":"2014-02-19T12:48:11.542Z","0.1.3":"2014-02-19T12:53:25.797Z","0.1.4":"2016-05-10T08:55:27.549Z","0.1.5":"2018-07-22T15:11:30.381Z","0.1.6":"2018-07-25T11:54:59.020Z","0.1.7":"2020-11-10T09:12:10.215Z","0.1.8":"2020-12-02T14:54:27.534Z","1.0.0":"2026-06-27T12:46:06.392Z"},"bugs":{"url":"https://github.com/halil/string-builder/issues"},"author":{"name":"Halil İbrahim ŞAFAK","email":"hibrahimsafak@gmail.com"},"license":"MIT","homepage":"https://www.npmjs.com/package/string-builder","keywords":["stringbuilder","string-builder","string builder","string","builder","string format","format","string interpolation","template","string concat","string concatenation","append","prepend","replace","esm","typescript","zero-dependency","nodejs","node"],"repository":{"type":"git","url":"git+https://github.com/halil/string-builder.git"},"description":"A fast, zero-dependency string builder for Node.js with ESM, CommonJS, and TypeScript support.","maintainers":[{"name":"hibrahimsafak","email":"hibrahimsafak@gmail.com"}],"readme":"# StringBuilder\n\n[![Known Vulnerabilities](https://snyk.io/test/github/halil/StringBuilder/badge.svg?targetFile=package.json)](https://snyk.io/test/github/halil/StringBuilder?targetFile=package.json)\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fhalil%2FStringBuilder.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fhalil%2FStringBuilder?ref=badge_shield)\n[![NPM](https://nodei.co/npm/string-builder.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/string-builder/)\n\nA fast, zero-dependency string builder for Node.js with ESM, CommonJS, and TypeScript support. Collects string parts in an array and joins them on `toString()` — avoiding the cost of repeated string concatenation.\n\n## Installation\n\n```sh\nnpm install string-builder\n```\n\n## Import\n\n### CommonJS\n\n```js\nconst StringBuilder = require(\"string-builder\");\n```\n\n### ESM\n\n```js\nimport StringBuilder from \"string-builder\";\n```\n\n### TypeScript\n\n```ts\nimport StringBuilder from \"string-builder\";\n```\n\n---\n\n## Examples\n\n### Building a plain text report\n\n```js\nconst users = [\n  { name: \"Alice\", role: \"admin\" },\n  { name: \"Bob\",   role: \"editor\" },\n  { name: \"Carol\", role: \"viewer\" },\n];\n\nconst sb = new StringBuilder(\"User Report\")\n  .appendLine()\n  .appendLine(\"============\");\n\nfor (const user of users) {\n  sb.appendFormat(\"- {name:U} ({role})\", user).appendLine();\n}\n\nsb.appendLine(\"============\")\n  .appendFormat(\"Total: {0} users\", users.length);\n\nconsole.log(sb.toString());\n// User Report\n// ============\n// - ALICE (admin)\n// - BOB (editor)\n// - CAROL (viewer)\n// ============\n// Total: 3 users\n```\n\n---\n\n### Building an HTML string\n\n```js\nconst items = [\"Home\", \"About\", \"Contact\"];\n\nconst sb = new StringBuilder(\"<ul>\").appendLine();\n\nfor (const item of items) {\n  sb.appendFormat(\"  <li>{0}</li>\", item).appendLine();\n}\n\nsb.append(\"</ul>\");\n\nconsole.log(sb.toString());\n// <ul>\n//   <li>Home</li>\n//   <li>About</li>\n//   <li>Contact</li>\n// </ul>\n```\n\n---\n\n### Building a CSV\n\n```js\nconst headers = [\"id\", \"name\", \"score\"];\nconst rows = [\n  { id: 1, name: \"Alice\", score: 95.5 },\n  { id: 2, name: \"Bob\",   score: 87.0 },\n  { id: 3, name: \"Carol\", score: 91.3 },\n];\n\nconst sb = new StringBuilder()\n  .appendJoin(headers, \",\")\n  .appendLine();\n\nfor (const row of rows) {\n  sb.appendFormat(\"{id},{name},{score}\", row).appendLine();\n}\n\nconsole.log(sb.toString());\n// id,name,score\n// 1,Alice,95.5\n// 2,Bob,87\n// 3,Carol,91.3\n```\n\n---\n\n### Building a SQL query dynamically\n\n```js\nfunction buildQuery({ table, fields, limit }) {\n  return new StringBuilder(\"SELECT \")\n    .appendJoin(fields, \", \")\n    .appendFormat(\" FROM {0}\", table)\n    .appendFormat(\" LIMIT {0}\", limit)\n    .toString();\n}\n\nconsole.log(buildQuery({ table: \"users\", fields: [\"id\", \"name\", \"email\"], limit: 10 }));\n// SELECT id, name, email FROM users LIMIT 10\n```\n\n---\n\n### Format specifiers\n\n```js\nconst sb = new StringBuilder();\n\n// :U — uppercase\nsb.appendFormat(\"Hello, {0:U}!\", \"world\").appendLine();\n// → Hello, WORLD!\n\n// :L — lowercase\nsb.appendFormat(\"Status: {0:L}\", \"ACTIVE\").appendLine();\n// → Status: active\n\n// :n — thousand separator\nsb.appendFormat(\"Revenue: {0:n}\", 1234567.89).appendLine();\n// → Revenue: 1,234,567.89\n\n// combined with named placeholders\nsb.appendFormat(\"{name:U} earned {amount:n}\", { name: \"alice\", amount: 95000 });\n// → ALICE earned 95,000\n```\n\n---\n\n### Prepend and replace\n\n```js\nconst sb = new StringBuilder(\"world\");\n\nsb.prepend(\"hello \");\nconsole.log(sb.toString()); // hello world\n\nsb.replace(\"world\", \"there\");\nconsole.log(sb.toString()); // hello there\n\nsb.append(\" and back again\").replaceAll(\"a\", \"@\");\nconsole.log(sb.toString()); // hello there @nd b@ck @g@in\n```\n\n---\n\n### Checking length and emptiness\n\n```js\nconst sb = new StringBuilder();\n\nconsole.log(sb.isEmpty); // true\nconsole.log(sb.length);  // 0\n\nsb.append(\"hello world\");\n\nconsole.log(sb.isEmpty); // false\nconsole.log(sb.length);  // 11\n```\n\n---\n\n### Reusing the buffer with `.clear()`\n\n```js\nconst sb = new StringBuilder();\n\nfor (const id of [1, 2, 3]) {\n  sb.appendFormat(\"Processing item {0}...\", id);\n  console.log(sb.toString());\n  sb.clear();\n}\n// Processing item 1...\n// Processing item 2...\n// Processing item 3...\n```\n\n---\n\n### Appending mixed types\n\n```js\nconst buf = Buffer.from([0x41, 0x42, 0x43]); // \"ABC\"\n\nconst result = new StringBuilder()\n  .append(\"string: \").append(\"hello\").appendLine()\n  .append(\"number: \").append(42).appendLine()\n  .append(\"float:  \").append(3.14).appendLine()\n  .append(\"bool:   \").append(false).appendLine()\n  .append(\"buffer: \").append(buf).appendLine()\n  .append(\"zero:   \").append(0)\n  .toString();\n\nconsole.log(result);\n// string: hello\n// number: 42\n// float:  3.14\n// bool:   false\n// buffer: ABC\n// zero:   0\n```\n\n---\n\n## API\n\n### `new StringBuilder(value?)`\n\nCreates a new instance. Optionally accepts an initial value.\n\n```js\nconst sb = new StringBuilder(\"initial\");\n```\n\n---\n\n### `.prepend(value)` → `this`\n\nAdds a value to the beginning of the buffer. `null` and `undefined` are ignored.\n\n```js\nnew StringBuilder(\"world\").prepend(\"hello \").toString(); // \"hello world\"\n```\n\n---\n\n### `.append(value)` → `this`\n\nAppends any value. `null` and `undefined` are silently ignored. Falsy values like `0`, `false`, and `\"\"` are accepted.\n\n```js\nsb.append(\"text\").append(42).append(false).append(Buffer.from([0x30]));\n```\n\n---\n\n### `.appendLine(value?)` → `this`\n\nAppends a newline (`\\n` on Unix, `\\r\\n` on Windows), then the optional value.\n\n```js\nsb.appendLine();          // just a newline\nsb.appendLine(\"hello\");   // newline + \"hello\"\n```\n\n---\n\n### `.appendFormat(template, ...args)` → `this`\n\nPositional `{0}`, `{1}` or named `{key}` placeholder interpolation. Supports format specifiers after a colon. Use `{{...}}` to escape braces.\n\n| Specifier | Effect | Example |\n|---|---|---|\n| `:U` | uppercase | `{0:U}` → `\"HELLO\"` |\n| `:L` | lowercase | `{0:L}` → `\"hello\"` |\n| `:n` | thousand separator | `{0:n}` → `\"1,234,567\"` |\n\n```js\nsb.appendFormat(\"{0} + {1} = {2}\", 1, 2, 3);              // positional\nsb.appendFormat(\"Hello, {name}!\", { name: \"world\" });      // named\nsb.appendFormat(\"{0:U} earned {1:n}\", \"alice\", 95000);     // with specifiers\nsb.appendFormat(\"{{0}} is literal\");                       // escaped → {0}\n```\n\n---\n\n### `.appendJoin(arr, sep?)` → `this`\n\nAppends array elements joined by a separator. Default separator is `\"\"`.\n\n```js\nsb.appendJoin([\"a\", \"b\", \"c\"], \", \"); // \"a, b, c\"\nsb.appendJoin([1, 2, 3], \" + \");      // \"1 + 2 + 3\"\n```\n\n---\n\n### `.replace(search, replacement)` → `this`\n\nReplaces the first occurrence of `search` (string or RegExp) in the buffer.\n\n```js\nsb.replace(\"foo\", \"bar\");\nsb.replace(/\\d+/, \"0\");\n```\n\n---\n\n### `.replaceAll(search, replacement)` → `this`\n\nReplaces all occurrences of `search` in the buffer. Automatically adds the `g` flag to RegExp if missing.\n\n```js\nsb.replaceAll(\"foo\", \"bar\");\nsb.replaceAll(/\\s+/, \"-\");\n```\n\n---\n\n### `.clear()` → `void`\n\nClears the internal buffer.\n\n```js\nsb.clear();\nsb.toString(); // \"\"\n```\n\n---\n\n### `.toString()` → `string`\n\nReturns the accumulated string by joining all collected parts.\n\n```js\nsb.append(\"a\").append(\"b\").append(\"c\").toString(); // \"abc\"\n```\n\n---\n\n### `.length` → `number`\n\nReturns the total character count of the current buffer without calling `toString()`.\n\n```js\nnew StringBuilder(\"hello\").length; // 5\n```\n\n---\n\n### `.isEmpty` → `boolean`\n\nReturns `true` if nothing has been appended yet or after `clear()`.\n\n```js\nnew StringBuilder().isEmpty;                      // true\nnew StringBuilder(\"x\").isEmpty;                   // false\nnew StringBuilder(\"x\").clear().isEmpty;           // true (after clear)\n```\n\n---\n\n## Chaining\n\nAll methods except `clear()` return `this`:\n\n```js\nconst result = new StringBuilder()\n  .prepend(\"START: \")\n  .append(\"hello world\")\n  .replace(\"world\", \"there\")\n  .appendLine()\n  .appendJoin([\"a\", \"b\", \"c\"], \", \")\n  .toString();\n```\n\n---\n\n## License\n\nMIT © 2014 Halil İbrahim ŞAFAK\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fhalil%2FStringBuilder.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fhalil%2FStringBuilder?ref=badge_large)\n","readmeFilename":"README.md","users":{"hibrahimsafak":true}}