{"_id":"@alwatr/bind","_rev":"15-0bd6ae6f5f3140fbe29a36b76343b3f9","name":"@alwatr/bind","dist-tags":{"latest":"10.2.0"},"versions":{"9.29.0":{"name":"@alwatr/bind","version":"9.29.0","keywords":["alwatr","bind","binding","browser","cross-platform","esm","framework-agnostic","javascript","module","nanolib","node","nodejs","reactive","tree-shakable","type-safe","typescript","util","utility"],"author":{"url":"https://ali.mihandoost.com","name":"S. Ali Mihandoost","email":"ali.mihandoost@gmail.com"},"license":"MPL-2.0","_id":"@alwatr/bind@9.29.0","maintainers":[{"name":"alimd","email":"ali.mihan.doost@gmail.com"}],"homepage":"https://github.com/Alwatr/alwatr/tree/next/pkg/nanolib/bind#readme","bugs":{"url":"https://github.com/Alwatr/alwatr/issues"},"dist":{"shasum":"1e272da1536a63df75836332ba832e67aa90514a","tarball":"https://registry.npmjs.org/@alwatr/bind/-/bind-9.29.0.tgz","fileCount":23,"integrity":"sha512-s9OSe3fjLWUIME2JZrD/xzuIDNQERl5ytfDQjHfU+p71rtX6mBvNrkQA212kTpmnca81eVPCy1a+XHH/P0Uktw==","signatures":[{"sig":"MEQCIGl0Q8HqXw1ku4AMnn7jA64KJSEZvTSGj5pbHX1xR6CpAiA4/QUPskwWGl1u+M97VA+A4G+Bb+L1+SJ9sUXdkbW/EQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78084},"type":"module","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"}},"gitHead":"2f80c615d90e038dca634a2dfba8d900d3df6248","scripts":{"b":"bun run build","t":"bun run test","w":"bun run watch","cl":"bun run clean","lint":"eslint src/ --ext .ts","test":"ALWATR_DEBUG=0 bun test","build":"bun run build:ts && bun run build:es","clean":"rm -rfv dist *.tsbuildinfo","watch":"bun run watch:ts & bun run watch:es","format":"prettier --write \"src/**/*.ts\"","build:es":"nano-build --preset=module src/main.ts","build:ts":"tsc --build","watch:es":"bun run build:es --watch","watch:ts":"bun run build:ts --watch --preserveWatchOutput"},"_npmUser":{"name":"alimd","email":"ali.mihan.doost@gmail.com"},"repository":{"url":"git+https://github.com/Alwatr/alwatr.git","type":"git","directory":"pkg/nanolib/bind"},"_npmVersion":"lerna/5.2.2/node@v22.22.3+x64 (linux)","description":"A high-performance and lightweight binding utility for unidirectional data flow and reactive DOM/context interactions.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"@alwatr/logger":"9.29.0","@alwatr/signal":"9.29.0","@alwatr/directive":"9.29.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^24.12.4","@alwatr/standard":"9.16.0","@alwatr/nano-build":"9.25.0","@alwatr/type-helper":"9.14.0"},"_npmOperationalInternal":{"tmp":"tmp/bind_9.29.0_1780236920857_0.30679321821276107","host":"s3://npm-registry-packages-npm-production"}},"9.30.0":{"name":"@alwatr/bind","version":"9.30.0","keywords":["alwatr","bind","binding","browser","cross-platform","esm","framework-agnostic","javascript","module","nanolib","node","nodejs","reactive","tree-shakable","type-safe","typescript","util","utility"],"author":{"url":"https://ali.mihandoost.com","name":"S. Ali Mihandoost","email":"ali.mihandoost@gmail.com"},"license":"MPL-2.0","_id":"@alwatr/bind@9.30.0","maintainers":[{"name":"alimd","email":"ali.mihan.doost@gmail.com"}],"homepage":"https://github.com/Alwatr/alwatr/tree/next/pkg/nanolib/bind#readme","bugs":{"url":"https://github.com/Alwatr/alwatr/issues"},"dist":{"shasum":"e76176d6833551987496cc160aad4fc7f02fb8c1","tarball":"https://registry.npmjs.org/@alwatr/bind/-/bind-9.30.0.tgz","fileCount":23,"integrity":"sha512-8DpjleJUYWaZe7Sprim+EQxZIyyAi4qbdbu6ASDoFnOEUZfHNewZtRcfiIpJ5X8xh53LxRWR7ayrN3VO27y/mw==","signatures":[{"sig":"MEUCIGvPfnBn6Pw/xaYzAkzigTRgGsnRjaYCDTopzZDcay+kAiEApOjAp6R1h9oFKCnpQqnfwT52Op95YsGy+6MYLFBsE2k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78084},"type":"module","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"}},"gitHead":"9ef1681df17bbf7c991631d800a2d4261e54b843","scripts":{"b":"bun run build","t":"bun run test","w":"bun run watch","cl":"bun run clean","lint":"eslint src/ --ext .ts","test":"ALWATR_DEBUG=0 bun test","build":"bun run build:ts && bun run build:es","clean":"rm -rfv dist *.tsbuildinfo","watch":"bun run watch:ts & bun run watch:es","format":"prettier --write \"src/**/*.ts\"","build:es":"nano-build --preset=module src/main.ts","build:ts":"tsc --build","watch:es":"bun run build:es --watch","watch:ts":"bun run build:ts --watch --preserveWatchOutput"},"_npmUser":{"name":"alimd","email":"ali.mihan.doost@gmail.com"},"repository":{"url":"git+https://github.com/Alwatr/alwatr.git","type":"git","directory":"pkg/nanolib/bind"},"_npmVersion":"lerna/5.2.2/node@v22.22.3+x64 (linux)","description":"A high-performance and lightweight binding utility for unidirectional data flow and reactive DOM/context interactions.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"@alwatr/logger":"9.29.0","@alwatr/signal":"9.30.0","@alwatr/directive":"9.30.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^24.12.4","@alwatr/standard":"9.16.0","@alwatr/nano-build":"9.25.0","@alwatr/type-helper":"9.14.0"},"_npmOperationalInternal":{"tmp":"tmp/bind_9.30.0_1780393624410_0.6057121824938503","host":"s3://npm-registry-packages-npm-production"}},"9.31.0":{"name":"@alwatr/bind","version":"9.31.0","keywords":["alwatr","bind","binding","browser","cross-platform","esm","framework-agnostic","javascript","module","nanolib","node","nodejs","reactive","tree-shakable","type-safe","typescript","util","utility"],"author":{"url":"https://ali.mihandoost.com","name":"S. Ali Mihandoost","email":"ali.mihandoost@gmail.com"},"license":"MPL-2.0","_id":"@alwatr/bind@9.31.0","maintainers":[{"name":"alimd","email":"ali.mihan.doost@gmail.com"}],"homepage":"https://github.com/Alwatr/alwatr/tree/next/pkg/nanolib/bind#readme","bugs":{"url":"https://github.com/Alwatr/alwatr/issues"},"dist":{"shasum":"10c288d751f2905e5e52ed588004fa4b08669410","tarball":"https://registry.npmjs.org/@alwatr/bind/-/bind-9.31.0.tgz","fileCount":23,"integrity":"sha512-EapfGheEQ5ddpTezkmrFiK2aMfx3dgFzJGaFaItKzXsb3V0lkeFDh2S2ZQ6WtCHEDGeYyI1e2uic9sXovxL7qg==","signatures":[{"sig":"MEUCIQCG6dJI49OpWLqmaf0gxWFk9YHFzIaJMQvnwMNW8lfqqgIgORQTmOY0SI2D+AEwzDpKA+Y5IXc/U8qwUS3zHsp4zT8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78084},"type":"module","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"}},"gitHead":"a2bdb86945c56f8b99b6dd0f8ec714df70dfa3e5","scripts":{"b":"bun run build","t":"bun run test","w":"bun run watch","cl":"bun run clean","lint":"eslint src/ --ext .ts","test":"ALWATR_DEBUG=0 bun test","build":"bun run build:ts && bun run build:es","clean":"rm -rfv dist *.tsbuildinfo","watch":"bun run watch:ts & bun run watch:es","format":"prettier --write \"src/**/*.ts\"","build:es":"nano-build --preset=module src/main.ts","build:ts":"tsc --build","watch:es":"bun run build:es --watch","watch:ts":"bun run build:ts --watch --preserveWatchOutput"},"_npmUser":{"name":"alimd","email":"ali.mihan.doost@gmail.com"},"repository":{"url":"git+https://github.com/Alwatr/alwatr.git","type":"git","directory":"pkg/nanolib/bind"},"_npmVersion":"lerna/5.3.0/node@v22.22.3+x64 (linux)","description":"A high-performance and lightweight binding utility for unidirectional data flow and reactive DOM/context interactions.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"@alwatr/logger":"9.31.0","@alwatr/signal":"9.31.0","@alwatr/directive":"9.31.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^24.13.1","@alwatr/standard":"9.16.0","@alwatr/nano-build":"9.25.0","@alwatr/type-helper":"9.14.0"},"_npmOperationalInternal":{"tmp":"tmp/bind_9.31.0_1780835158635_0.6369480503769083","host":"s3://npm-registry-packages-npm-production"}},"9.32.0":{"name":"@alwatr/bind","version":"9.32.0","keywords":["alwatr","bind","binding","browser","cross-platform","esm","framework-agnostic","javascript","module","nanolib","node","nodejs","reactive","tree-shakable","type-safe","typescript","util","utility"],"author":{"url":"https://ali.mihandoost.com","name":"S. Ali Mihandoost","email":"ali.mihandoost@gmail.com"},"license":"MPL-2.0","_id":"@alwatr/bind@9.32.0","maintainers":[{"name":"alimd","email":"ali.mihan.doost@gmail.com"}],"homepage":"https://github.com/Alwatr/alwatr/tree/next/pkg/nanolib/bind#readme","bugs":{"url":"https://github.com/Alwatr/alwatr/issues"},"dist":{"shasum":"820c2857cda990a3bcfe473a34c464adcdda60d6","tarball":"https://registry.npmjs.org/@alwatr/bind/-/bind-9.32.0.tgz","fileCount":23,"integrity":"sha512-z7yUTxh1hdG2m6ReDBtqnSy3sAmjUwWOUBx14VEGcUPqj/kcQDjWdVpuYSI/esnyYt/sDyTpZ+bWS85awRHX2w==","signatures":[{"sig":"MEUCIQDH6NcbfQ2aqDl3b8s2UtEA9OmLDmLZfiJpgHp2BVfqwAIgZTK7l751ti7DCDugWrWttO2Em2mhhsMqHw05dwGwAP0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78417},"type":"module","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"}},"gitHead":"ac7ea45eecea81a216886612f1cd7dbc4b0dc106","scripts":{"b":"bun run build","t":"bun run test","w":"bun run watch","cl":"bun run clean","lint":"eslint src/ --ext .ts","test":"ALWATR_DEBUG=0 bun test","build":"bun run build:ts && bun run build:es","clean":"rm -rfv dist *.tsbuildinfo","watch":"bun run watch:ts & bun run watch:es","format":"prettier --write \"src/**/*.ts\"","build:es":"nano-build --preset=module src/main.ts","build:ts":"tsc --build","watch:es":"bun run build:es --watch","watch:ts":"bun run build:ts --watch --preserveWatchOutput"},"_npmUser":{"name":"alimd","email":"ali.mihan.doost@gmail.com"},"repository":{"url":"git+https://github.com/Alwatr/alwatr.git","type":"git","directory":"pkg/nanolib/bind"},"_npmVersion":"lerna/5.3.0/node@v22.22.3+x64 (linux)","description":"A high-performance and lightweight binding utility for unidirectional data flow and reactive DOM/context interactions.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"@alwatr/logger":"9.31.0","@alwatr/signal":"9.32.0","@alwatr/directive":"9.32.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^24.13.1","@alwatr/standard":"9.16.0","@alwatr/nano-build":"9.25.0","@alwatr/type-helper":"9.14.0"},"_npmOperationalInternal":{"tmp":"tmp/bind_9.32.0_1780842714926_0.6415966297251976","host":"s3://npm-registry-packages-npm-production"}},"9.33.0":{"name":"@alwatr/bind","version":"9.33.0","keywords":["alwatr","bind","binding","browser","cross-platform","esm","framework-agnostic","javascript","module","nanolib","node","nodejs","reactive","tree-shakable","type-safe","typescript","util","utility"],"author":{"url":"https://ali.mihandoost.com","name":"S. Ali Mihandoost","email":"ali.mihandoost@gmail.com"},"license":"MPL-2.0","_id":"@alwatr/bind@9.33.0","maintainers":[{"name":"alimd","email":"ali.mihan.doost@gmail.com"}],"homepage":"https://github.com/Alwatr/alwatr/tree/next/pkg/nanolib/bind#readme","bugs":{"url":"https://github.com/Alwatr/alwatr/issues"},"dist":{"shasum":"a02760b11c7d22909e6fefe9389e2f912dac02ef","tarball":"https://registry.npmjs.org/@alwatr/bind/-/bind-9.33.0.tgz","fileCount":23,"integrity":"sha512-/TmjCJmjW6RQ1KKBgBo7vUqZNnLfHNh2x/63mXQB4PXeWqOP8QbxgMfDPTRtmPlNBzpiz3azw0ZevveUi2qNjQ==","signatures":[{"sig":"MEUCICX7ZjTHfTtcu+PAZE53nj2aGeg2EZa0NhgiDYHHqHX2AiEAi2PMHe/laAwZFJsUHLTe3wGvPKljhniYEQrt53Yb660=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78417},"type":"module","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js"}},"gitHead":"ba7e63efa62c86c7845269f94c4cc9924c38ff21","scripts":{"b":"bun run build","t":"bun run test","w":"bun run watch","cl":"bun run clean","lint":"eslint src/ --ext .ts","test":"ALWATR_DEBUG=0 bun test","build":"bun run build:ts && bun run build:es","clean":"rm -rfv dist *.tsbuildinfo","watch":"bun run watch:ts & bun run watch:es","format":"prettier --write \"src/**/*.ts\"","build:es":"nano-build --preset=module src/main.ts","build:ts":"tsc --build","watch:es":"bun run build:es --watch","watch:ts":"bun run build:ts --watch --preserveWatchOutput"},"_npmUser":{"name":"alimd","email":"ali.mihan.doost@gmail.com"},"repository":{"url":"git+https://github.com/Alwatr/alwatr.git","type":"git","directory":"pkg/nanolib/bind"},"_npmVersion":"lerna/5.3.0/node@v22.22.3+x64 (linux)","description":"A high-performance and lightweight binding utility for unidirectional data flow and reactive DOM/context interactions.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"@alwatr/logger":"9.33.0","@alwatr/signal":"9.33.0","@alwatr/directive":"9.33.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^24.13.1","@alwatr/standard":"9.33.0","@alwatr/nano-build":"9.25.0","@alwatr/type-helper":"9.14.0"},"_npmOperationalInternal":{"tmp":"tmp/bind_9.33.0_1781057081271_0.7477660964868758","host":"s3://npm-registry-packages-npm-production"}},"9.33.1":{"name":"@alwatr/bind","version":"9.33.1","keywords":["alwatr","bind","binding","browser","cross-platform","esm","framework-agnostic","javascript","module","nanolib","node","nodejs","reactive","tree-shakable","type-safe","typescript","util","utility"],"author":{"url":"https://ali.mihandoost.com","name":"S. Ali Mihandoost","email":"ali.mihandoost@gmail.com"},"license":"MPL-2.0","_id":"@alwatr/bind@9.33.1","maintainers":[{"name":"alimd","email":"ali.mihan.doost@gmail.com"}],"homepage":"https://github.com/Alwatr/alwatr/tree/next/pkg/nanolib/bind#readme","bugs":{"url":"https://github.com/Alwatr/alwatr/issues"},"dist":{"shasum":"c4d924d689266594545d50d6feda0550922e95b4","tarball":"https://registry.npmjs.org/@alwatr/bind/-/bind-9.33.1.tgz","fileCount":25,"integrity":"sha512-jvBJWmG95pF9aW1dxZtjXJz3X/Zs11AHBdyx++lZP5d8bw+H8sypg3U9lTxY9PSRLvab5rv5YQn4O1RybMTYKQ==","signatures":[{"sig":"MEUCIQDV8c2cJ1IkA1TDaBb/MFZz2RC4SpR2zswsM2I2EjbP7QIgUje2VcFEiPOJZ0ptf/him+E6+hZG46QJV0iGMPwZDwQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101554},"type":"module","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js","development":"./dist/dev/main.js"}},"gitHead":"84fba5b7b428188be17aaaaf062b0b7eaae96555","scripts":{"b":"bun run build","t":"bun run test","w":"bun run watch","cl":"bun run clean","lint":"eslint src/ --ext .ts","test":"bun test","build":"bun run build:ts && bun run build:es","clean":"rm -rfv dist *.tsbuildinfo","watch":"bun run watch:ts & bun run watch:es","format":"prettier --write \"src/**/*.ts\"","build:es":"bun run build:es:dev && bun run build:es:prod","build:ts":"tsc --build","watch:es":"bun run build:es:dev --watch","watch:ts":"bun run build:ts --watch --preserveWatchOutput","build:es:dev":"nano-build --preset=module --outdir=dist/dev src/main.ts","build:es:prod":"NODE_ENV=production nano-build --preset=module --outdir=dist src/main.ts"},"_npmUser":{"name":"alimd","email":"ali.mihan.doost@gmail.com"},"repository":{"url":"git+https://github.com/Alwatr/alwatr.git","type":"git","directory":"pkg/nanolib/bind"},"_npmVersion":"lerna/5.3.0/node@v22.22.3+x64 (linux)","description":"A high-performance and lightweight binding utility for unidirectional data flow and reactive DOM/context interactions.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"@alwatr/logger":"9.33.1","@alwatr/signal":"9.33.1","@alwatr/directive":"9.33.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^24.13.1","@alwatr/standard":"9.33.0","@alwatr/nano-build":"9.33.1","@alwatr/type-helper":"9.33.1"},"_npmOperationalInternal":{"tmp":"tmp/bind_9.33.1_1781089523958_0.5201284406323101","host":"s3://npm-registry-packages-npm-production"}},"9.35.0":{"name":"@alwatr/bind","version":"9.35.0","keywords":["alwatr","bind","binding","browser","cross-platform","esm","framework-agnostic","javascript","module","nanolib","node","nodejs","reactive","tree-shakable","type-safe","typescript","util","utility"],"author":{"url":"https://ali.mihandoost.com","name":"S. Ali Mihandoost","email":"ali.mihandoost@gmail.com"},"license":"MPL-2.0","_id":"@alwatr/bind@9.35.0","maintainers":[{"name":"alimd","email":"ali.mihan.doost@gmail.com"}],"homepage":"https://github.com/Alwatr/alwatr/tree/next/pkg/nanolib/bind#readme","bugs":{"url":"https://github.com/Alwatr/alwatr/issues"},"dist":{"shasum":"951379d665f143b211b83ec0bf5a182a70d03d76","tarball":"https://registry.npmjs.org/@alwatr/bind/-/bind-9.35.0.tgz","fileCount":28,"integrity":"sha512-+oG0p/gRmW/yAbY9OSLOVP5iMtGq/RPuLY9yF6rnXiNReIidTDa8tpqHPzaHpH6smGK9N4qkWVvqGmj5OG0fbQ==","signatures":[{"sig":"MEUCIDJum/iss6DEE3HcpgrstqjiWo56qry7FlXopPq/v3ycAiEA+wgRklBFBPkPiFXD9ZZ3Me++Oq4/pFD8BPCOFH9HkF0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123031},"type":"module","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js","development":"./dist/dev/main.js"}},"gitHead":"85e47c26720607e780d06e568a6734ac20e5bc82","scripts":{"b":"bun run build","t":"bun run test","w":"bun run watch","cl":"bun run clean","lint":"eslint src/ --ext .ts","test":"bun test","build":"bun run build:ts && bun run build:es","clean":"rm -rfv dist *.tsbuildinfo","watch":"bun run watch:ts & bun run watch:es","format":"prettier --write \"src/**/*.ts\"","build:es":"bun run build:es:dev && bun run build:es:prod","build:ts":"tsc --build","watch:es":"bun run build:es:dev --watch","watch:ts":"bun run build:ts --watch --preserveWatchOutput","build:es:dev":"nano-build --preset=module --outdir=dist/dev src/main.ts","build:es:prod":"NODE_ENV=production nano-build --preset=module --outdir=dist src/main.ts"},"_npmUser":{"name":"alimd","email":"ali.mihan.doost@gmail.com"},"repository":{"url":"git+https://github.com/Alwatr/alwatr.git","type":"git","directory":"pkg/nanolib/bind"},"_npmVersion":"lerna/5.3.0/node@v22.22.3+x64 (linux)","description":"A high-performance and lightweight binding utility for unidirectional data flow and reactive DOM/context interactions.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"@alwatr/logger":"9.33.1","@alwatr/signal":"9.35.0","@alwatr/directive":"9.35.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^24.13.1","@alwatr/standard":"9.33.0","@alwatr/nano-build":"9.33.1","@alwatr/type-helper":"9.33.1","@happy-dom/global-registrator":"^20.10.2"},"_npmOperationalInternal":{"tmp":"tmp/bind_9.35.0_1781189807706_0.5747642778938862","host":"s3://npm-registry-packages-npm-production"}},"9.36.0":{"name":"@alwatr/bind","version":"9.36.0","keywords":["alwatr","bind","binding","browser","cross-platform","esm","framework-agnostic","javascript","module","nanolib","node","nodejs","reactive","tree-shakable","type-safe","typescript","util","utility"],"author":{"url":"https://ali.mihandoost.com","name":"S. Ali Mihandoost","email":"ali.mihandoost@gmail.com"},"license":"MPL-2.0","_id":"@alwatr/bind@9.36.0","maintainers":[{"name":"alimd","email":"ali.mihan.doost@gmail.com"}],"homepage":"https://github.com/Alwatr/alwatr/tree/next/pkg/nanolib/bind#readme","bugs":{"url":"https://github.com/Alwatr/alwatr/issues"},"dist":{"shasum":"260b78e72a4565a2fd1cf073b3bce1ae396885ce","tarball":"https://registry.npmjs.org/@alwatr/bind/-/bind-9.36.0.tgz","fileCount":28,"integrity":"sha512-zyNY7vtx+Vjm5h3U41gyaxkFZZbB3qu02/WIn6+O+bW+h21Sxn3PVLAwoNlVyHwJSAKPwtRe6LFQmy5eGCXr7w==","signatures":[{"sig":"MEUCIDPvRHnx2tfp6zgGhciQrMAEXHpUOfC8lAbI/WySu7QWAiEApYEV91OloWYBVj3O/LZlQ8EvM+eXdYwtW+13LPNaqws=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123031},"type":"module","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js","development":"./dist/dev/main.js"}},"gitHead":"252426e3bf06fdf5331691d5e8c09a4808104275","scripts":{"b":"bun run build","t":"bun run test","w":"bun run watch","cl":"bun run clean","lint":"eslint src/ --ext .ts","test":"bun test","build":"bun run build:ts && bun run build:es","clean":"rm -rfv dist *.tsbuildinfo","watch":"bun run watch:ts & bun run watch:es","format":"prettier --write \"src/**/*.ts\"","build:es":"bun run build:es:dev && bun run build:es:prod","build:ts":"tsc --build","watch:es":"bun run build:es:dev --watch","watch:ts":"bun run build:ts --watch --preserveWatchOutput","build:es:dev":"nano-build --preset=module --outdir=dist/dev src/main.ts","build:es:prod":"NODE_ENV=production nano-build --preset=module --outdir=dist src/main.ts"},"_npmUser":{"name":"alimd","email":"ali.mihan.doost@gmail.com"},"repository":{"url":"git+https://github.com/Alwatr/alwatr.git","type":"git","directory":"pkg/nanolib/bind"},"_npmVersion":"lerna/5.3.0/node@v22.22.3+x64 (linux)","description":"A high-performance and lightweight binding utility for unidirectional data flow and reactive DOM/context interactions.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"@alwatr/logger":"9.36.0","@alwatr/signal":"9.36.0","@alwatr/directive":"9.36.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^24.13.1","@alwatr/standard":"9.33.0","@alwatr/nano-build":"9.33.1","@alwatr/type-helper":"9.36.0","@happy-dom/global-registrator":"^20.10.2"},"_npmOperationalInternal":{"tmp":"tmp/bind_9.36.0_1781214304275_0.5162340044996274","host":"s3://npm-registry-packages-npm-production"}},"9.37.0":{"name":"@alwatr/bind","version":"9.37.0","keywords":["alwatr","bind","binding","browser","cross-platform","esm","framework-agnostic","javascript","module","nanolib","node","nodejs","reactive","tree-shakable","type-safe","typescript","util","utility"],"author":{"url":"https://ali.mihandoost.com","name":"S. Ali Mihandoost","email":"ali.mihandoost@gmail.com"},"license":"MPL-2.0","_id":"@alwatr/bind@9.37.0","maintainers":[{"name":"alimd","email":"ali.mihan.doost@gmail.com"}],"homepage":"https://github.com/Alwatr/alwatr/tree/next/pkg/nanolib/bind#readme","bugs":{"url":"https://github.com/Alwatr/alwatr/issues"},"dist":{"shasum":"5d3d92ccb1b2fb2bd2ded24fa3baf9df29a1a9e4","tarball":"https://registry.npmjs.org/@alwatr/bind/-/bind-9.37.0.tgz","fileCount":28,"integrity":"sha512-N7/GTCEsUKmY/Pm8XJ2qgMpc21kCduYtd4dOI06lf/R2FVeyV5p8AH0YPixjTg6uYcXyeIZcWfGIeooF9lcyYQ==","signatures":[{"sig":"MEUCIHRExs79BZgGGhw4hqWZe8v+Y02FI6S+FjICUGj/1kJ5AiEAw/C2axEAql9tKYAflwToZrfoAndNsD6Njln4KDFMji0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123031},"type":"module","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js","development":"./dist/dev/main.js"}},"gitHead":"726ee4a94d5cbd08344fabcf329ebc383dcc7504","scripts":{"b":"bun run build","t":"bun run test","w":"bun run watch","cl":"bun run clean","lint":"eslint src/ --ext .ts","test":"bun test","build":"bun run build:ts && bun run build:es","clean":"rm -rfv dist *.tsbuildinfo","watch":"bun run watch:ts & bun run watch:es","format":"prettier --write \"src/**/*.ts\"","build:es":"bun run build:es:dev && bun run build:es:prod","build:ts":"tsc --build","watch:es":"bun run build:es:dev --watch","watch:ts":"bun run build:ts --watch --preserveWatchOutput","build:es:dev":"nano-build --preset=module --outdir=dist/dev src/main.ts","build:es:prod":"NODE_ENV=production nano-build --preset=module --outdir=dist src/main.ts"},"_npmUser":{"name":"alimd","email":"ali.mihan.doost@gmail.com"},"repository":{"url":"git+https://github.com/Alwatr/alwatr.git","type":"git","directory":"pkg/nanolib/bind"},"_npmVersion":"lerna/5.3.0/node@v22.22.3+x64 (linux)","description":"A high-performance and lightweight binding utility for unidirectional data flow and reactive DOM/context interactions.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"@alwatr/logger":"9.36.0","@alwatr/signal":"9.37.0","@alwatr/directive":"9.37.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^24.13.1","@alwatr/standard":"9.33.0","@alwatr/nano-build":"9.33.1","@alwatr/type-helper":"9.36.0","@happy-dom/global-registrator":"^20.10.3"},"_npmOperationalInternal":{"tmp":"tmp/bind_9.37.0_1781355017192_0.9527953805787306","host":"s3://npm-registry-packages-npm-production"}},"9.38.0":{"name":"@alwatr/bind","version":"9.38.0","keywords":["alwatr","bind","binding","browser","cross-platform","esm","framework-agnostic","javascript","module","nanolib","node","nodejs","reactive","tree-shakable","type-safe","typescript","util","utility"],"author":{"url":"https://ali.mihandoost.com","name":"S. Ali Mihandoost","email":"ali.mihandoost@gmail.com"},"license":"MPL-2.0","_id":"@alwatr/bind@9.38.0","maintainers":[{"name":"alimd","email":"ali.mihan.doost@gmail.com"}],"homepage":"https://github.com/Alwatr/alwatr/tree/next/pkg/nanolib/bind#readme","bugs":{"url":"https://github.com/Alwatr/alwatr/issues"},"dist":{"shasum":"b45728d09f2b092ca04405d759cae1dfe6a4419e","tarball":"https://registry.npmjs.org/@alwatr/bind/-/bind-9.38.0.tgz","fileCount":28,"integrity":"sha512-xqc2Yns4Q6uKoozavJBHk8vOFdJNH0ZofaniVAR+rK4LPVMHMwirEt9nyAWmyWnVRswuKqTi18ldWtSMv2o6og==","signatures":[{"sig":"MEUCIHuQdnrGr4NMAdH6kMInhK6BtXTyfSj1kS9VgoxLCxIeAiEAqad2kmrc3QFM+Q7R8+P6IMbH46NA/62sADuZJD5/zCY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":126721},"type":"module","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js","development":"./dist/dev/main.js"}},"gitHead":"b13f5ea18e2a13175cca2546513e660b12273713","scripts":{"b":"bun run build","t":"bun run test","w":"bun run watch","cl":"bun run clean","lint":"eslint src/ --ext .ts","test":"bun test","build":"bun run build:ts && bun run build:es","clean":"rm -rfv dist *.tsbuildinfo","watch":"bun run watch:ts & bun run watch:es","format":"prettier --write \"src/**/*.ts\"","build:es":"bun run build:es:dev && bun run build:es:prod","build:ts":"tsc --build","watch:es":"bun run build:es:dev --watch","watch:ts":"bun run build:ts --watch --preserveWatchOutput","build:es:dev":"nano-build --preset=module --outdir=dist/dev src/main.ts","build:es:prod":"NODE_ENV=production nano-build --preset=module --outdir=dist src/main.ts"},"_npmUser":{"name":"alimd","email":"ali.mihan.doost@gmail.com"},"repository":{"url":"git+https://github.com/Alwatr/alwatr.git","type":"git","directory":"pkg/nanolib/bind"},"_npmVersion":"lerna/5.3.0/node@v22.22.3+x64 (linux)","description":"A high-performance and lightweight binding utility for unidirectional data flow and reactive DOM/context interactions.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.3","dependencies":{"@alwatr/logger":"9.36.0","@alwatr/signal":"9.37.0","@alwatr/directive":"9.37.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^24.13.1","@alwatr/standard":"9.33.0","@alwatr/nano-build":"9.33.1","@alwatr/type-helper":"9.36.0","@happy-dom/global-registrator":"^20.10.3"},"_npmOperationalInternal":{"tmp":"tmp/bind_9.38.0_1781447363850_0.7900169731743769","host":"s3://npm-registry-packages-npm-production"}},"9.38.1":{"name":"@alwatr/bind","version":"9.38.1","keywords":["alwatr","bind","binding","browser","cross-platform","esm","framework-agnostic","javascript","module","nanolib","node","nodejs","reactive","tree-shakable","type-safe","typescript","util","utility"],"author":{"url":"https://ali.mihandoost.com","name":"S. Ali Mihandoost","email":"ali.mihandoost@gmail.com"},"license":"MPL-2.0","_id":"@alwatr/bind@9.38.1","maintainers":[{"name":"alimd","email":"ali.mihan.doost@gmail.com"}],"homepage":"https://github.com/Alwatr/alwatr/tree/next/pkg/nanolib/bind#readme","bugs":{"url":"https://github.com/Alwatr/alwatr/issues"},"dist":{"shasum":"6c4bd4a7670b91f832bddef2ab487105051b2a84","tarball":"https://registry.npmjs.org/@alwatr/bind/-/bind-9.38.1.tgz","fileCount":28,"integrity":"sha512-BqX0xsqXDnPchjCgA3FcR0WZ5FW+50Ynb2ZXh2gUDvG+aD99cvyLa7GnuRqMwiT823nqvFnDCK+NExQssZd3Gg==","signatures":[{"sig":"MEUCIQDHILQoPJVdTt176ORKfkhnjVKtejROG6Y4B0Isq7kQ8gIgCICHABspGArn6k90vSiiUBB1ZxF62ZHGaB/qPYhqtaE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":126721},"type":"module","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js","development":"./dist/dev/main.js"}},"gitHead":"918e99e7142b84f69eaa703ce9e27c3ac9d9300b","scripts":{"b":"bun run build","t":"bun run test","w":"bun run watch","cl":"bun run clean","lint":"eslint src/ --ext .ts","test":"bun test","build":"bun run build:ts && bun run build:es","clean":"rm -rfv dist *.tsbuildinfo","watch":"bun run watch:ts & bun run watch:es","format":"prettier --write \"src/**/*.ts\"","build:es":"bun run build:es:dev && bun run build:es:prod","build:ts":"tsc --build","watch:es":"bun run build:es:dev --watch","watch:ts":"bun run build:ts --watch --preserveWatchOutput","build:es:dev":"nano-build --preset=module --outdir=dist/dev src/main.ts","build:es:prod":"NODE_ENV=production nano-build --preset=module --outdir=dist src/main.ts"},"_npmUser":{"name":"alimd","email":"ali.mihan.doost@gmail.com"},"repository":{"url":"git+https://github.com/Alwatr/alwatr.git","type":"git","directory":"pkg/nanolib/bind"},"_npmVersion":"lerna/5.3.0/node@v22.23.0+x64 (linux)","description":"A high-performance and lightweight binding utility for unidirectional data flow and reactive DOM/context interactions.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.0","dependencies":{"@alwatr/logger":"9.38.1","@alwatr/signal":"9.38.1","@alwatr/directive":"9.38.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^6.0.3","@types/node":"^24.13.1","@alwatr/standard":"9.38.1","@alwatr/nano-build":"9.38.1","@alwatr/type-helper":"9.36.0","@happy-dom/global-registrator":"^20.10.6"},"_npmOperationalInternal":{"tmp":"tmp/bind_9.38.1_1782630647053_0.8518464933608891","host":"s3://npm-registry-packages-npm-production"}},"9.38.2":{"name":"@alwatr/bind","version":"9.38.2","keywords":["alwatr","bind","binding","browser","cross-platform","esm","framework-agnostic","javascript","module","nanolib","node","nodejs","reactive","tree-shakable","type-safe","typescript","util","utility"],"author":{"url":"https://ali.mihandoost.com","name":"S. Ali Mihandoost","email":"ali.mihandoost@gmail.com"},"license":"MPL-2.0","_id":"@alwatr/bind@9.38.2","maintainers":[{"name":"alimd","email":"ali.mihan.doost@gmail.com"}],"homepage":"https://github.com/Alwatr/alwatr/tree/next/pkg/nanolib/bind#readme","bugs":{"url":"https://github.com/Alwatr/alwatr/issues"},"dist":{"shasum":"81625ab5bf24a3b925a91d52bff9b24d834e44d9","tarball":"https://registry.npmjs.org/@alwatr/bind/-/bind-9.38.2.tgz","fileCount":28,"integrity":"sha512-rfnUVOjUbirm/aAAd3rwoUV+tCyx3Cfz7/GofiJgDPGYMJHqYBwz/ca4wWM6co97he/ajs2qUw0Qf3yNIr0Ltw==","signatures":[{"sig":"MEYCIQDCfCxdFmSqSZ6ecQljLtJ8A0VJKtPNiF/T6eHe5vor0wIhAIc3N18syyAWRra3J+zJgIDEiuYFLnxScv7pUr/0U0T+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":126810},"type":"module","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js","development":"./dist/dev/main.js"}},"gitHead":"69569fc5d7a66d5f027d5d4f58af4289280d5e5d","scripts":{"b":"bun run build","t":"bun run test","w":"bun run watch","cl":"bun run clean","lint":"eslint src/ --ext .ts","test":"bun test","build":"bun run build:ts && bun run build:es","clean":"rm -rfv dist *.tsbuildinfo","watch":"bun run watch:ts & bun run watch:es","format":"prettier --write \"src/**/*.ts\"","build:es":"bun run build:es:dev && bun run build:es:prod","build:ts":"tsc --build","watch:es":"bun run build:es:dev --watch","watch:ts":"bun run build:ts --watch --preserveWatchOutput","build:es:dev":"nano-build --preset=module --outdir=dist/dev src/main.ts","build:es:prod":"NODE_ENV=production nano-build --preset=module --outdir=dist src/main.ts"},"_npmUser":{"name":"alimd","email":"ali.mihan.doost@gmail.com"},"repository":{"url":"git+https://github.com/Alwatr/alwatr.git","type":"git","directory":"pkg/nanolib/bind"},"_npmVersion":"lerna/5.4.0/node@v22.23.1+x64 (linux)","description":"A high-performance and lightweight binding utility for unidirectional data flow and reactive DOM/context interactions.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@alwatr/logger":"9.38.2","@alwatr/signal":"9.38.2","@alwatr/directive":"9.38.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^24.13.3","@alwatr/standard":"9.38.2","@alwatr/nano-build":"9.38.1","@alwatr/type-helper":"9.38.2","@happy-dom/global-registrator":"^20.10.6"},"_npmOperationalInternal":{"tmp":"tmp/bind_9.38.2_1783856611949_0.5556833862866579","host":"s3://npm-registry-packages-npm-production"}},"10.0.0":{"name":"@alwatr/bind","version":"10.0.0","keywords":["alwatr","bind","binding","browser","cross-platform","esm","framework-agnostic","javascript","module","nanolib","node","nodejs","reactive","tree-shakable","type-safe","typescript","util","utility"],"author":{"url":"https://ali.mihandoost.com","name":"S. Ali Mihandoost","email":"ali.mihandoost@gmail.com"},"license":"MPL-2.0","_id":"@alwatr/bind@10.0.0","maintainers":[{"name":"alimd","email":"ali.mihan.doost@gmail.com"}],"homepage":"https://github.com/Alwatr/alwatr/tree/next/pkg/nanolib/bind#readme","bugs":{"url":"https://github.com/Alwatr/alwatr/issues"},"dist":{"shasum":"a5f17489056ec5493ea5be8b96f816ebdf18ad5d","tarball":"https://registry.npmjs.org/@alwatr/bind/-/bind-10.0.0.tgz","fileCount":28,"integrity":"sha512-/AJKrL23HR77BGjg7DAETjFs6yZZaX0FcRZXDHaQnsPtcxUr/+BxJdXln745f6mk+2erF2kNid/p5pRlAqYmVw==","signatures":[{"sig":"MEQCIBrQN6pq/+cw4dwAfxZOI/4T7SSX9sxaEOa/WXR1LKXiAiA/dmipgO3O+3T6yU5cXT/FnhyBAm/MkOwfzTofYr7QUg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":126810},"type":"module","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js","development":"./dist/dev/main.js"}},"gitHead":"ad367007af237263a64306c359d05fea63fb2dc7","scripts":{"b":"bun run build","t":"bun run test","w":"bun run watch","cl":"bun run clean","lint":"eslint src/ --ext .ts","test":"bun test","build":"bun run build:ts && bun run build:es","clean":"rm -rfv dist *.tsbuildinfo","watch":"bun run watch:ts & bun run watch:es","format":"prettier --write \"src/**/*.ts\"","build:es":"bun run build:es:dev && bun run build:es:prod","build:ts":"tsc --build","watch:es":"bun run build:es:dev --watch","watch:ts":"bun run build:ts --watch --preserveWatchOutput","build:es:dev":"nano-build --preset=module --outdir=dist/dev src/main.ts","build:es:prod":"NODE_ENV=production nano-build --preset=module --outdir=dist src/main.ts"},"_npmUser":{"name":"alimd","email":"ali.mihan.doost@gmail.com"},"repository":{"url":"git+https://github.com/Alwatr/alwatr.git","type":"git","directory":"pkg/nanolib/bind"},"_npmVersion":"lerna/5.4.2/node@v22.23.1+x64 (linux)","description":"A high-performance and lightweight binding utility for unidirectional data flow and reactive DOM/context interactions.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.1","dependencies":{"@alwatr/logger":"10.0.0","@alwatr/signal":"10.0.0","@alwatr/directive":"10.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^24.13.3","@alwatr/standard":"10.0.0","@alwatr/nano-build":"10.0.0","@alwatr/type-helper":"10.0.0","@happy-dom/global-registrator":"^20.11.1"},"_npmOperationalInternal":{"tmp":"tmp/bind_10.0.0_1785075719943_0.2960473053210124","host":"s3://npm-registry-packages-npm-production"}},"10.1.0":{"name":"@alwatr/bind","version":"10.1.0","keywords":["alwatr","bind","binding","browser","cross-platform","esm","framework-agnostic","javascript","module","nanolib","node","nodejs","reactive","tree-shakable","type-safe","typescript","util","utility"],"author":{"url":"https://ali.mihandoost.com","name":"S. Ali Mihandoost","email":"ali.mihandoost@gmail.com"},"license":"MPL-2.0","_id":"@alwatr/bind@10.1.0","maintainers":[{"name":"alimd","email":"ali.mihan.doost@gmail.com"}],"homepage":"https://github.com/Alwatr/alwatr/tree/next/pkg/nanolib/bind#readme","bugs":{"url":"https://github.com/Alwatr/alwatr/issues"},"dist":{"shasum":"404e4eb9fadc9fc0cdf026261ce5671333e4d8f2","tarball":"https://registry.npmjs.org/@alwatr/bind/-/bind-10.1.0.tgz","fileCount":28,"integrity":"sha512-a9rsQEQ93iK8yXJB1l5T3HsM5asdRlrMrnt+aCGL7SdAAbK4X/isORGmZ2dCe2jkLF57MdYCbXlI2TOszSm0ag==","signatures":[{"sig":"MEYCIQDtYHv5iouoyuXJ9BSBnXfucGyaHCVzp1nhzMX1+P7t+QIhAPzogaa6Ejg8X4i2WhajsBqFGYYrXVwRD8ijnLkz9xdh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":126799},"type":"module","exports":{".":{"types":"./dist/main.d.ts","import":"./dist/main.js","default":"./dist/main.js","development":"./dist/dev/main.js"}},"gitHead":"b9efc218052a99652c3cb0bc990496f26b5b18cf","scripts":{"b":"bun run build","t":"bun run test","w":"bun run watch","cl":"bun run clean","lint":"eslint src/ --ext .ts","test":"bun test","build":"bun run build:ts && bun run build:es","clean":"rm -rfv dist *.tsbuildinfo","watch":"bun run watch:ts & bun run watch:es","format":"prettier --write \"src/**/*.ts\"","build:es":"bun run build:es:dev && bun run build:es:prod","build:ts":"tsc --build","watch:es":"bun run build:es:dev --watch","watch:ts":"bun run build:ts --watch --preserveWatchOutput","build:es:dev":"nano-build --preset=module --outdir=dist/dev src/main.ts","build:es:prod":"NODE_ENV=production nano-build --preset=module --outdir=dist src/main.ts"},"_npmUser":{"name":"alimd","email":"ali.mihan.doost@gmail.com"},"repository":{"url":"git+https://github.com/Alwatr/alwatr.git","type":"git","directory":"pkg/nanolib/bind"},"_npmVersion":"lerna/5.6.1/node@v22.23.2+x64 (linux)","description":"A high-performance and lightweight binding utility for unidirectional data flow and reactive DOM/context interactions.","directories":{},"sideEffects":false,"_nodeVersion":"22.23.2","dependencies":{"@alwatr/logger":"10.1.0","@alwatr/signal":"10.1.0","@alwatr/directive":"10.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^7.0.2","@types/node":"^26.4.0","@alwatr/standard":"10.0.0","@alwatr/nano-build":"10.0.0","@alwatr/type-helper":"10.0.0","@happy-dom/global-registrator":"^20.12.0"},"_npmOperationalInternal":{"tmp":"tmp/bind_10.1.0_1788188316932_0.9329418243754504","host":"s3://npm-registry-packages-npm-production"}},"10.2.0":{"name":"@alwatr/bind","version":"10.2.0","description":"A high-performance and lightweight binding utility for unidirectional data flow and reactive DOM/context interactions.","license":"MPL-2.0","author":{"name":"S. Ali Mihandoost","email":"ali.mihandoost@gmail.com","url":"https://ali.mihandoost.com"},"type":"module","repository":{"type":"git","url":"git+https://github.com/Alwatr/alwatr.git","directory":"pkg/nanolib/bind"},"homepage":"https://github.com/Alwatr/alwatr/tree/next/pkg/nanolib/bind#readme","bugs":{"url":"https://github.com/Alwatr/alwatr/issues"},"exports":{".":{"types":"./dist/main.d.ts","development":"./dist/dev/main.js","import":"./dist/main.js","default":"./dist/main.js"}},"sideEffects":false,"dependencies":{"@alwatr/directive":"10.2.0","@alwatr/logger":"10.2.0","@alwatr/signal":"10.2.0"},"devDependencies":{"@alwatr/nano-build":"10.0.0","@alwatr/standard":"10.0.0","@alwatr/type-helper":"10.2.0","@happy-dom/global-registrator":"^20.14.0","@types/node":"^26.5.0","typescript":"^7.0.2"},"scripts":{"b":"bun run build","build":"bun run build:ts && bun run build:es","build:es":"bun run build:es:dev && bun run build:es:prod","build:es:dev":"nano-build --preset=module --outdir=dist/dev src/main.ts","build:es:prod":"NODE_ENV=production nano-build --preset=module --outdir=dist src/main.ts","build:ts":"tsc --build","cl":"bun run clean","clean":"rm -rfv dist *.tsbuildinfo","format":"prettier --write \"src/**/*.ts\"","lint":"eslint src/ --ext .ts","t":"bun run test","test":"ALWATR_DEBUG=0 bun test","w":"bun run watch","watch":"bun run watch:ts & bun run watch:es","watch:es":"bun run build:es:dev --watch","watch:ts":"bun run build:ts --watch --preserveWatchOutput"},"publishConfig":{"access":"public"},"keywords":["alwatr","bind","binding","browser","cross-platform","esm","framework-agnostic","javascript","module","nanolib","node","nodejs","reactive","tree-shakable","type-safe","typescript","util","utility"],"gitHead":"2a0a52415ec6af039244806419c3b79734994c71","_id":"@alwatr/bind@10.2.0","_nodeVersion":"22.23.2","_npmVersion":"lerna/5.6.1/node@v22.23.2+x64 (linux)","dist":{"integrity":"sha512-ieUKs5w1/CQhBspZoPerfq2+BSOGdLOKIt2jko9pyO/eQ5jXHfLrL/rbtGMerVAN8Q+9O91CECT9ng6H68GsIw==","shasum":"0004904d1a530e310592a1a55727f23b92b664a8","tarball":"https://registry.npmjs.org/@alwatr/bind/-/bind-10.2.0.tgz","fileCount":28,"unpackedSize":126814,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCojsB4wQM8XPPaapURd7P8DNKNdq+b2b1ZO9wbuImUjAIgJ0SUYO9/x3i3JL26hfvpT+Tu22DRFutV+XubtbRjOXw="}]},"_npmUser":{"name":"alimd","email":"ali.mihan.doost@gmail.com"},"directories":{},"maintainers":[{"name":"alimd","email":"ali.mihan.doost@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bind_10.2.0_1788887089081_0.8344945225923066"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-31T14:15:20.742Z","modified":"2026-09-08T17:04:49.447Z","9.29.0":"2026-05-31T14:15:20.991Z","9.30.0":"2026-06-02T09:47:04.570Z","9.31.0":"2026-06-07T12:25:58.778Z","9.32.0":"2026-06-07T14:31:55.076Z","9.33.0":"2026-06-10T02:04:41.398Z","9.33.1":"2026-06-10T11:05:24.090Z","9.35.0":"2026-06-11T14:56:47.844Z","9.36.0":"2026-06-11T21:45:04.418Z","9.37.0":"2026-06-13T12:50:17.355Z","9.38.0":"2026-06-14T14:29:23.995Z","9.38.1":"2026-06-28T07:10:47.173Z","9.38.2":"2026-07-12T11:43:32.100Z","10.0.0":"2026-07-26T14:22:00.074Z","10.1.0":"2026-08-31T14:58:37.066Z","10.2.0":"2026-09-08T17:04:49.232Z"},"bugs":{"url":"https://github.com/Alwatr/alwatr/issues"},"author":{"name":"S. Ali Mihandoost","email":"ali.mihandoost@gmail.com","url":"https://ali.mihandoost.com"},"license":"MPL-2.0","homepage":"https://github.com/Alwatr/alwatr/tree/next/pkg/nanolib/bind#readme","keywords":["alwatr","bind","binding","browser","cross-platform","esm","framework-agnostic","javascript","module","nanolib","node","nodejs","reactive","tree-shakable","type-safe","typescript","util","utility"],"repository":{"type":"git","url":"git+https://github.com/Alwatr/alwatr.git","directory":"pkg/nanolib/bind"},"description":"A high-performance and lightweight binding utility for unidirectional data flow and reactive DOM/context interactions.","maintainers":[{"name":"alimd","email":"ali.mihan.doost@gmail.com"}],"readme":"# 🔗 @alwatr/bind\n\n**A high-performance, lightweight reactive DOM binding utility for unidirectional data flow.**\n\n`@alwatr/bind` is a framework-agnostic, low-overhead library that maps reactive data sources (Signals) directly into HTML elements using declarative attributes. It allows you to build highly dynamic, interactive, and responsive user interfaces with **zero virtual DOM overhead**, **surgical DOM updates**, and **complete compile-time type safety**.\n\n---\n\n## 🧠 Architectural Philosophy\n\nIn traditional modern frameworks, updating state triggers virtual DOM reconciliation or component-wide re-renders. `@alwatr/bind` takes a different, highly optimized approach:\n\n1. **Reactive Projections (ViewModels)**: Instead of binding raw, complex domain signals directly to the UI, you define flat **ViewModels** inside namespaces. These ViewModels project complex domain states into flat records of presentation-ready primitives (`string`, `number`, `boolean`, `null`, `undefined`).\n2. **Surgical DOM Updates**: Attributes on DOM elements act as binding anchors. The library hooks directly into the ViewModel's updates and modifies only the targeted text nodes or attributes—without re-running components or diffing trees.\n3. **Decoupled Binding**: Views declare _what_ to bind in HTML (`bind_text=\"user.fullName\"`), and the JS controller defines _how_ that data gets derived. This keeps your HTML extremely readable and completely separates presentation from business logic.\n\n---\n\n## ✨ Key Features\n\n- ⚡ **Zero Virtual DOM Overhead**: Updates map directly to `element.textContent`, `element.value`, or attributes.\n- 🎯 **Surgical Reactivity**: Only the DOM elements bound to the modified properties will re-render.\n- 🛡️ **Cursor Preservation Guard (`bind_value`)**: Binds input element values securely, checking for changes before writing to the DOM. This guards against the browser resetting the text cursor position while typing in an input field.\n- 💡 **Presence-Aware Attribute Binding (`bind_attrib`)**:\n  - `boolean` values toggle the _presence_ of the attribute (perfect for `disabled`, `checked`, `hidden`).\n  - Negation prefix `!` (e.g. `!player.isPlaying`) negates the value.\n  - `null`/`undefined` values _remove_ the attribute from the DOM.\n  - Primitive values set the attribute value as a string.\n- 💤 **Lazy Viewport Evaluation (`lazy_bind`)**: Defer binding registration and signal subscription until the element physically enters the viewport (using `IntersectionObserver` via `@alwatr/directive`). This is ideal for off-screen cards, slow-loading inputs, or heavy dashboard elements.\n\n---\n\n## 🚀 Quick Start\n\n### 1. Register Bind Directives\n\nCall `setupBindDirectives()` at your application's bootstrap phase to register the directives.\n\n```typescript\nimport {setupBindDirectives} from '@alwatr/bind';\n\n// Register bind_text, bind_value, and bind_attrib directives\nsetupBindDirectives();\n```\n\n### 2. Define your Domain Signal\n\nDefine the single source of truth for your feature.\n\n```typescript\nimport {createState} from '@alwatr/signal';\n\ninterface User {\n  firstName: string;\n  lastName: string;\n  cart: Array<{id: number; price: number}>;\n  isLoading: boolean;\n}\n\nexport const userSignal = createState<User>({\n  name: 'user-domain-signal',\n  initialValue: {\n    firstName: 'Ali',\n    lastName: 'Mihandoost',\n    cart: [],\n    isLoading: false,\n  },\n});\n```\n\n### 3. Create a Presentation ViewModel\n\nProject your rich domain model into a flat record of presentation-ready primitives.\n\n```typescript\nimport {service_binding} from '@alwatr/bind';\nimport {userSignal} from './user-signal.js';\n\n// Registers 'user.fullName', 'user.cartIsEmpty', and 'user.showLoading'\nservice_binding.createViewModel('user', userSignal, (u) => ({\n  fullName: `${u.firstName} ${u.lastName}`,\n  firstName: u.firstName,\n  cartIsEmpty: u.cart.length === 0,\n  showLoading: u.isLoading,\n}));\n```\n\n### 4. Declare Bindings in HTML\n\nUse the declarative attributes to bind elements to the ViewModel.\n\n```html\n<!-- Binds textContent to 'user.fullName' -->\n<h2 bind_text=\"user.fullName\">Loading user...</h2>\n\n<!-- Binds input value with cursor position preservation -->\n<input\n  type=\"text\"\n  bind_value=\"user.firstName\"\n  on-input=\"ui_edit_first_name:$value\"\n/>\n\n<!-- Binds 'disabled' attribute based on boolean state, and 'aria-busy' based on loading -->\n<button bind_attrib=\"disabled=user.cartIsEmpty; aria-busy=user.showLoading\">Checkout</button>\n\n<!-- Lazy loading: updates only when scroll brings the card into viewport -->\n<div\n  bind_text=\"user.fullName\"\n  lazy_bind\n></div>\n```\n\n---\n\n## 📚 API Reference\n\n### `setupBindDirectives()`\n\nInitializes and registers the `@alwatr/bind` directives eagerly/lazily. Must be called before DOM parsing (typically at entrypoint load).\n\n### `service_binding`\n\nA singleton registry of presentation view models.\n\n#### `service_binding.createViewModel(namespace, sourceSignal, project)`\n\nRegisters a reactive ViewModel.\n\n- **`namespace`** (`string`): Unique namespace identifier (e.g., `'user'`).\n- **`sourceSignal`** (`IReadonlySignal<S>`): The source signal holding domain state.\n- **`project`** (`(value: S) => Record<string, BindingValue>`): The projection function.\n\n#### `service_binding.getViewModel(namespace)`\n\nRetrieves the read-only computed signal mapping of the namespace. Returns `null` if not found.\n\n#### `service_binding.removeViewModel(namespace)`\n\nDestroys the ViewModel computed signal, unsubscribing from the source signal, and removes it from the registry.\n\n---\n\n## 🧩 HTML Attribute Directives\n\n### `bind_text=\"namespace.property\"`\n\nSets the element's `textContent` to the string value of the ViewModel's property. Maps `null`/`undefined` to `''`.\n\n### `bind_value=\"namespace.property\"`\n\nSets the element's `value` attribute (for inputs, selects, textareas). Features a **DOM write guard**:\n\n```typescript\nif (inputEl.value !== nextValue) {\n  inputEl.value = nextValue;\n}\n```\n\nThis ensures that user input typing feels smooth and the text cursor does not reset or jump to the end of the input field.\n\n### `bind_attrib=\"attr1=[!]namespace.prop1; attr2=[!]namespace.prop2\"`\n\nBinds element attributes to ViewModel properties. Multiple attributes are semicolon-separated.\n\n- **Boolean values**:\n  - `true`: Sets the attribute with an empty string value (e.g., `disabled=\"\"`).\n  - `false`: Removes the attribute entirely from the element.\n- **Negation prefix (`!`)**:\n  - Prefixing the property with `!` (e.g., `hidden=!player.isPlaying`) negates the value (coerced as boolean) before applying.\n- **Nullish values (`null`/`undefined`)**: Removes the attribute entirely.\n- **Other values**: Sets the attribute value coerced as a string.\n\n### `lazy_bind`\n\nWhen placed alongside any of the above binding attributes, the directive delays its ViewModel subscription and DOM update cycle until the element intersects with the viewport. This dramatically boosts initial boot time and reduces active subscriptions for long or heavy pages.\n\n---\n\n## 📄 License\n\nLicensed under the **MPL-2.0** License.\n","readmeFilename":"README.md"}