{"_id":"f-box-core","_rev":"22-47ba7bd4bec1e9ba5114003ebba8a912","name":"f-box-core","dist-tags":{"latest":"0.2.6"},"versions":{"0.1.0":{"name":"f-box-core","version":"0.1.0","keywords":["typescript","monad","box","library"],"author":{"name":"Kentaro Morishita"},"license":"MIT","_id":"f-box-core@0.1.0","maintainers":[{"name":"morishita","email":"qqfhy591@gmail.com"}],"homepage":"https://github.com/yourname/f-box#readme","bugs":{"url":"https://github.com/yourname/f-box/issues"},"dist":{"shasum":"eba437c3473aa8e913e6f1a265caaa0d23f2d638","tarball":"https://registry.npmjs.org/f-box-core/-/f-box-core-0.1.0.tgz","fileCount":17,"integrity":"sha512-/F4NBbAqjZ6JJ9Iu/XaX3hBGpffkckktGWnCFsBOA7L70MVVg5Gw+/ZIFF2fNKdqKaEpaeL8TBdzjdkNoivsIA==","signatures":[{"sig":"MEUCIQDBFvL7LqY9Zo5nvR9n9PXy8Zus+P3NhLaTyuwSoHL1egIgD4LQiIcy143VPG4H0/M/WhVZqNuDODZcz+p/e6KksNI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47736},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"1cb880d3d03e75c70010c596083933b451a8c0fc","scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest","build":"tsc && vite build","coverage":"vitest run --coverage"},"_npmUser":{"name":"morishita","email":"qqfhy591@gmail.com"},"repository":{"url":"git+https://github.com/yourname/f-box.git","type":"git"},"_npmVersion":"10.8.2","description":"Put your data in a box, and suddenly it's easier to handle, transform, and use however you need.","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.9","vitest":"^2.1.5","typescript":"~5.6.3","@types/node":"^22.9.1","vite-plugin-dts":"^4.3.0","@vitest/coverage-v8":"^2.1.5"},"_npmOperationalInternal":{"tmp":"tmp/f-box-core_0.1.0_1732501316558_0.5581571780380845","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"f-box-core","version":"0.1.1","keywords":["typescript","monad","box","library"],"author":{"name":"Kentaro Morishita"},"license":"MIT","_id":"f-box-core@0.1.1","maintainers":[{"name":"morishita","email":"qqfhy591@gmail.com"}],"homepage":"https://github.com/KentaroMorishita/f-box-core#readme","bugs":{"url":"https://github.com/KentaroMorishita/f-box-core/issues"},"dist":{"shasum":"698a1fe0aab284369d1cbdfa229f2e0a0f1e6c93","tarball":"https://registry.npmjs.org/f-box-core/-/f-box-core-0.1.1.tgz","fileCount":17,"integrity":"sha512-BX4LDTTkAYNu/g2JaCj2ClDJZCBtfSxUn5OLj62UuEX/9XAB1xmSBEljXhJQQSlmYMTuJBEq99FTWkmObW0GfA==","signatures":[{"sig":"MEUCIDMY56+FEYGsJsA5tHJ5BeblgXtzBE7CwivkwjLoa9G9AiEAnAN9SAYpw1Kjw1los2swHISa/F+a5HVjzzA6fgyh58g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47960},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"810f5fc628c2d46d9cbe82bef49dfd07ce467cea","scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest","build":"tsc && vite build","prepare":"npm run build","coverage":"vitest run --coverage","version:major":"npm version major","version:minor":"npm version minor","version:patch":"npm version patch","publish:public":"npm publish --access public"},"_npmUser":{"name":"morishita","email":"qqfhy591@gmail.com"},"repository":{"url":"git+https://github.com/KentaroMorishita/f-box-core.git","type":"git"},"_npmVersion":"10.8.2","description":"Put your data in a box, and suddenly it's easier to handle, transform, and use however you need.","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.9","vitest":"^2.1.5","typescript":"~5.6.3","@types/node":"^22.9.1","vite-plugin-dts":"^4.3.0","@vitest/coverage-v8":"^2.1.5"},"_npmOperationalInternal":{"tmp":"tmp/f-box-core_0.1.1_1732501962176_0.9385166513527108","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"f-box-core","version":"0.1.2","keywords":["typescript","monad","box","library"],"author":{"name":"Kentaro Morishita"},"license":"MIT","_id":"f-box-core@0.1.2","maintainers":[{"name":"morishita","email":"qqfhy591@gmail.com"}],"homepage":"https://github.com/KentaroMorishita/f-box-core#readme","bugs":{"url":"https://github.com/KentaroMorishita/f-box-core/issues"},"dist":{"shasum":"ce6dbed61956a325f9c7fd8d572eec32e69cf96c","tarball":"https://registry.npmjs.org/f-box-core/-/f-box-core-0.1.2.tgz","fileCount":5,"integrity":"sha512-XM1/943rHQEcqhUgpgmeTq09FgHvSao3DLbKoUf+/px33M4dln7VYtAgn8KL0Jw6n39g0R1bTd8LNbGrRL/hzg==","signatures":[{"sig":"MEUCIQCHDS7A7FJtoHw3WbKqN+4owqfQ9cjrs8MvVQ3syPTiIAIgB5UwoBxH3+Oif2NUqQ6moHhBvPnlK9/mGALeVBH4suo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18352},"main":"./dist/index.js","type":"module","types":"./dist/src/main.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/src/main.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"7356b8a9ce1cca07f60ca10a96a8e0261ca08a08","scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest","build":"tsc && vite build","prepare":"npm run build","coverage":"vitest run --coverage","version:major":"npm version major","version:minor":"npm version minor","version:patch":"npm version patch","publish:public":"npm publish --access public"},"_npmUser":{"name":"morishita","email":"qqfhy591@gmail.com"},"repository":{"url":"git+https://github.com/KentaroMorishita/f-box-core.git","type":"git"},"_npmVersion":"10.8.2","description":"Put your data in a box, and suddenly it's easier to handle, transform, and use however you need.","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.9","vitest":"^2.1.5","typescript":"~5.6.3","@types/node":"^22.9.1","vite-plugin-dts":"^4.3.0","@vitest/coverage-v8":"^2.1.5"},"_npmOperationalInternal":{"tmp":"tmp/f-box-core_0.1.2_1732503075148_0.8175171392106544","host":"s3://npm-registry-packages"}},"0.1.3":{"name":"f-box-core","version":"0.1.3","keywords":["typescript","monad","box","library"],"author":{"name":"Kentaro Morishita"},"license":"MIT","_id":"f-box-core@0.1.3","maintainers":[{"name":"morishita","email":"qqfhy591@gmail.com"}],"homepage":"https://github.com/KentaroMorishita/f-box-core#readme","bugs":{"url":"https://github.com/KentaroMorishita/f-box-core/issues"},"dist":{"shasum":"a176ba6577e1e6400eb03c6ba82c49cbc154a00e","tarball":"https://registry.npmjs.org/f-box-core/-/f-box-core-0.1.3.tgz","fileCount":5,"integrity":"sha512-KeD3uivKfekMlthBZHNfiUKj3xDUIM4e5ZzS7OfV+BvGEBYjrt1scSaZHYQyhRPcFzYBsonsOq+enX5PmkS3pA==","signatures":[{"sig":"MEYCIQDO2qyAqv9Y4d2P1HuNFy6cVJg0pCxd09mvPXJNMlv6ygIhAM5A2IXId/pJA/hf5aIYhSZ/XB9WdV/cOJVr09Ng1T2O","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18356},"main":"./dist/index.js","type":"module","types":"./dist/types/main.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/main.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"6a9c245d1318cf6f59fc1203ec2e73bcd377ce05","scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest","build":"tsc && vite build","prepare":"npm run build","coverage":"vitest run --coverage","version:major":"npm version major","version:minor":"npm version minor","version:patch":"npm version patch","publish:public":"npm publish --access public"},"_npmUser":{"name":"morishita","email":"qqfhy591@gmail.com"},"repository":{"url":"git+https://github.com/KentaroMorishita/f-box-core.git","type":"git"},"_npmVersion":"10.8.2","description":"Put your data in a box, and suddenly it's easier to handle, transform, and use however you need.","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.9","vitest":"^2.1.5","typescript":"~5.6.3","@types/node":"^22.9.1","vite-plugin-dts":"^4.3.0","@vitest/coverage-v8":"^2.1.5"},"_npmOperationalInternal":{"tmp":"tmp/f-box-core_0.1.3_1732503326297_0.35641040823797177","host":"s3://npm-registry-packages"}},"0.1.4":{"name":"f-box-core","version":"0.1.4","keywords":["typescript","monad","box","library"],"author":{"name":"Kentaro Morishita"},"license":"MIT","_id":"f-box-core@0.1.4","maintainers":[{"name":"morishita","email":"qqfhy591@gmail.com"}],"homepage":"https://github.com/KentaroMorishita/f-box-core#readme","bugs":{"url":"https://github.com/KentaroMorishita/f-box-core/issues"},"dist":{"shasum":"9c95c91f1624444750e8124d5509f48c884c71e4","tarball":"https://registry.npmjs.org/f-box-core/-/f-box-core-0.1.4.tgz","fileCount":11,"integrity":"sha512-EPHPoWa+c0BzgXEvMIOFza3fsuu4wbGmbq692+OdXsf6albnLtAXxtf6mCEmqwZ5TNbXOp1dwdoOZUICeSyJAQ==","signatures":[{"sig":"MEUCIQCEjqTPwTF9ni0WZu6QO8lZQstTTZgOe0GMIKaK7tv1JwIgHMUgTJvPFKvRs3AfuktAPbMSkuiEy8VR2DGLNV/hEkI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47935},"main":"./dist/index.js","type":"module","types":"./dist/types/main.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/main.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"7bb2f8e4185f3dd8763e13bc1906a06f713905af","scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest","build":"tsc && vite build","prepare":"npm run build","coverage":"vitest run --coverage","version:major":"npm version major","version:minor":"npm version minor","version:patch":"npm version patch","publish:public":"npm publish --access public"},"_npmUser":{"name":"morishita","email":"qqfhy591@gmail.com"},"repository":{"url":"git+https://github.com/KentaroMorishita/f-box-core.git","type":"git"},"_npmVersion":"10.8.2","description":"Put your data in a box, and suddenly it's easier to handle, transform, and use however you need.","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.9","vitest":"^2.1.5","typescript":"~5.6.3","@types/node":"^22.9.1","vite-plugin-dts":"^4.3.0","@vitest/coverage-v8":"^2.1.5"},"_npmOperationalInternal":{"tmp":"tmp/f-box-core_0.1.4_1732503653068_0.47646964155081095","host":"s3://npm-registry-packages"}},"0.1.5":{"name":"f-box-core","version":"0.1.5","keywords":["typescript","monad","box","library"],"author":{"name":"Kentaro Morishita"},"license":"MIT","_id":"f-box-core@0.1.5","maintainers":[{"name":"morishita","email":"qqfhy591@gmail.com"}],"homepage":"https://github.com/KentaroMorishita/f-box-core#readme","bugs":{"url":"https://github.com/KentaroMorishita/f-box-core/issues"},"dist":{"shasum":"ac97dd45508b35259b98567613594b9dc8f0899b","tarball":"https://registry.npmjs.org/f-box-core/-/f-box-core-0.1.5.tgz","fileCount":11,"integrity":"sha512-AoHRoHArcZpJb02gAdDEWduZd2z9Sn17S9T3NUjX63krhniWSYbrNNxaMLWsQtNFWp40mrH5s0OuhZUmpvwjrw==","signatures":[{"sig":"MEUCIQDEW4JIcaFXbxrNSXaztM965U0OV6p79W0EskKHVLYIgQIgLFC+rzR6cGWK6scrGHQaRIG0Q7W1j90P566sigNR7X4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47936},"main":"./dist/index.js","type":"module","types":"./dist/types/main.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/main.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"dc301d146e84d58609df2ba6f4fb47b61871ade0","scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest","build":"tsc && vite build","prepare":"npm run build","coverage":"vitest run --coverage","version:major":"npm version major","version:minor":"npm version minor","version:patch":"npm version patch","publish:public":"npm publish --access public"},"_npmUser":{"name":"morishita","email":"qqfhy591@gmail.com"},"repository":{"url":"git+https://github.com/KentaroMorishita/f-box-core.git","type":"git"},"_npmVersion":"10.8.2","description":"Put your data in a box, and suddenly it's easier to handle, transform, and use however you need.","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.9","vitest":"^2.1.5","typescript":"~5.6.3","@types/node":"^22.9.1","vite-plugin-dts":"^4.3.0","@vitest/coverage-v8":"^2.1.5"},"_npmOperationalInternal":{"tmp":"tmp/f-box-core_0.1.5_1732504136096_0.8880330370721252","host":"s3://npm-registry-packages"}},"0.1.6":{"name":"f-box-core","version":"0.1.6","keywords":["typescript","monad","box","library"],"author":{"name":"Kentaro Morishita"},"license":"MIT","_id":"f-box-core@0.1.6","maintainers":[{"name":"morishita","email":"qqfhy591@gmail.com"}],"homepage":"https://github.com/KentaroMorishita/f-box-core#readme","bugs":{"url":"https://github.com/KentaroMorishita/f-box-core/issues"},"dist":{"shasum":"2d07ad902cecc9e9316cdeb68a1a1d235be5b025","tarball":"https://registry.npmjs.org/f-box-core/-/f-box-core-0.1.6.tgz","fileCount":12,"integrity":"sha512-g7oOJ5h4xd2jbVgbaQ8UJQ6PCj8kYe/opYVJEefpy8LGBayewL1ApPNsLuoCD+y+xMTuBSPLIMcQYvajKS9ojQ==","signatures":[{"sig":"MEUCIBCvZiw+kbaRCpqqWPBTi65h3r41J+Mhsx+YdxP7WQb5AiEA2ehX4z4DS085QL72RwcqfUHhSgUTHvqZNUC9CuGlkSM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51211},"main":"./dist/index.js","type":"module","types":"./dist/types/main.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/main.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"cfdb993e2b74bd3b71716d471a0681c3a2da9751","scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest","build":"tsc && vite build","prepare":"npm run build","coverage":"vitest run --coverage","version:major":"npm version major","version:minor":"npm version minor","version:patch":"npm version patch","publish:public":"npm publish --access public"},"_npmUser":{"name":"morishita","email":"qqfhy591@gmail.com"},"repository":{"url":"git+https://github.com/KentaroMorishita/f-box-core.git","type":"git"},"_npmVersion":"10.8.2","description":"Put your data in a box, and suddenly it's easier to handle, transform, and use however you need.","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.9","vitest":"^2.1.5","typescript":"~5.6.3","@types/node":"^22.9.1","vite-plugin-dts":"^4.3.0","@vitest/coverage-v8":"^2.1.5"},"_npmOperationalInternal":{"tmp":"tmp/f-box-core_0.1.6_1732504335206_0.2048710290238971","host":"s3://npm-registry-packages"}},"0.1.7":{"name":"f-box-core","version":"0.1.7","keywords":["typescript","functional-programming","functor","applicative","monad","maybe","either","task","async","box","reactive","reactive-programming","state-management","library"],"author":{"name":"Kentaro Morishita"},"license":"MIT","_id":"f-box-core@0.1.7","maintainers":[{"name":"morishita","email":"qqfhy591@gmail.com"}],"homepage":"https://github.com/KentaroMorishita/f-box-core#readme","bugs":{"url":"https://github.com/KentaroMorishita/f-box-core/issues"},"dist":{"shasum":"646ed29b96c651703dbde26f53d7c0894c7bc637","tarball":"https://registry.npmjs.org/f-box-core/-/f-box-core-0.1.7.tgz","fileCount":12,"integrity":"sha512-zWQYLKXxDMMR03RCr0ygtYW1O8bbT/XvRlVByMq09puGbPKh9ssJn7YpIJX2SbXUzl2y08G5BEvnuPJSZV1V/Q==","signatures":[{"sig":"MEYCIQC/Qlp2KwQy4oEEIJLwSCM1wAjRG0u7g118zymTBeLeBgIhANgaRdHYThSwkPEs+eBpFw8XLA1Do06J5HAAQPMnsoeN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51395},"main":"./dist/index.js","type":"module","types":"./dist/types/main.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/main.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"c9ec6975954fded4857481cd207b163c33341d83","scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest","build":"tsc && vite build","prepare":"npm run build","coverage":"vitest run --coverage","version:major":"npm version major","version:minor":"npm version minor","version:patch":"npm version patch","publish:public":"npm publish --access public"},"_npmUser":{"name":"morishita","email":"qqfhy591@gmail.com"},"repository":{"url":"git+https://github.com/KentaroMorishita/f-box-core.git","type":"git"},"_npmVersion":"10.8.2","description":"Put your data in a box, and suddenly it's easier to handle, transform, and use however you need.","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.9","vitest":"^2.1.5","typescript":"~5.6.3","@types/node":"^22.9.1","vite-plugin-dts":"^4.3.0","@vitest/coverage-v8":"^2.1.5"},"_npmOperationalInternal":{"tmp":"tmp/f-box-core_0.1.7_1732521643754_0.7618567048381839","host":"s3://npm-registry-packages"}},"0.1.8":{"name":"f-box-core","version":"0.1.8","keywords":["typescript","functional-programming","functor","applicative","monad","maybe","either","task","async","box","reactive","reactive-programming","state-management","library"],"author":{"name":"Kentaro Morishita"},"license":"MIT","_id":"f-box-core@0.1.8","maintainers":[{"name":"morishita","email":"qqfhy591@gmail.com"}],"homepage":"https://github.com/KentaroMorishita/f-box-core#readme","bugs":{"url":"https://github.com/KentaroMorishita/f-box-core/issues"},"dist":{"shasum":"e77e4649e0a1fc0c21c90f9c67cff67a11a9ec1b","tarball":"https://registry.npmjs.org/f-box-core/-/f-box-core-0.1.8.tgz","fileCount":12,"integrity":"sha512-ahtOZ68o+WoSg3qj39NRXZP/PA2onNF+xNnm1SNJubfDipCJDXpyl+kuLS7BoNMYjPFIOM7oHjYT5VzqwxYxmQ==","signatures":[{"sig":"MEYCIQD8DMtxHFzO16NZrmt1luOj/v2fCykDmCW/XpIQiNmaXwIhAIWEua8iH1r+e0CRaJkBHnm2G+NmTsi+omlkbVimM9Zb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51440},"main":"./dist/index.js","type":"module","types":"./dist/types/main.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/main.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"2514ed6036d9bbc207a39ba4030d760f08ad8bcf","scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest","build":"tsc && vite build","prepare":"npm run build","coverage":"vitest run --coverage","version:major":"npm version major","version:minor":"npm version minor","version:patch":"npm version patch","publish:public":"npm publish --access public"},"_npmUser":{"name":"morishita","email":"qqfhy591@gmail.com"},"repository":{"url":"git+https://github.com/KentaroMorishita/f-box-core.git","type":"git"},"_npmVersion":"10.8.2","description":"Put your data in a box, and suddenly it's easier to handle, transform, and use however you need.","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.9","vitest":"^2.1.5","typescript":"~5.6.3","@types/node":"^22.9.1","vite-plugin-dts":"^4.3.0","@vitest/coverage-v8":"^2.1.5"},"_npmOperationalInternal":{"tmp":"tmp/f-box-core_0.1.8_1732686400112_0.2622647417535253","host":"s3://npm-registry-packages"}},"0.1.9":{"name":"f-box-core","version":"0.1.9","keywords":["typescript","functional-programming","functor","applicative","monad","maybe","either","task","async","box","reactive","reactive-programming","state-management","library"],"author":{"name":"Kentaro Morishita"},"license":"MIT","_id":"f-box-core@0.1.9","maintainers":[{"name":"morishita","email":"qqfhy591@gmail.com"}],"homepage":"https://github.com/KentaroMorishita/f-box-core#readme","bugs":{"url":"https://github.com/KentaroMorishita/f-box-core/issues"},"dist":{"shasum":"9b39c80c9fb37502cad6191061c7c0d5928b1a00","tarball":"https://registry.npmjs.org/f-box-core/-/f-box-core-0.1.9.tgz","fileCount":12,"integrity":"sha512-jrLZiXrnMf0rWL1lA5TAoAtvMDM3vo6F/wimQeYu4BcDgIfD04GxBMneAVnOm/MCbKM93w2zxvY6RFdtPKniew==","signatures":[{"sig":"MEUCIGVlLTOExAnC22K4rpBuhE1pYPatJoh9NUv0hzYppXAxAiEA7d3mjdJjlakYRMn+gUw6JyZMsO0+YHyH5MmkR1511+E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55028},"main":"./dist/index.js","type":"module","types":"./dist/types/main.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/main.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"2d7d3fe0ae94c0dc3db821594bac0cabcc1f3f3e","scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest","build":"tsc && vite build","prepare":"npm run build","coverage":"vitest run --coverage","version:major":"npm version major","version:minor":"npm version minor","version:patch":"npm version patch","publish:public":"npm publish --access public"},"_npmUser":{"name":"morishita","email":"qqfhy591@gmail.com"},"repository":{"url":"git+https://github.com/KentaroMorishita/f-box-core.git","type":"git"},"_npmVersion":"10.8.2","description":"Put your data in a box, and suddenly it's easier to handle, transform, and use however you need.","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.9","vitest":"^2.1.5","typescript":"~5.6.3","@types/node":"^22.9.1","vite-plugin-dts":"^4.3.0","@vitest/coverage-v8":"^2.1.5"},"_npmOperationalInternal":{"tmp":"tmp/f-box-core_0.1.9_1732688966418_0.16438028778333535","host":"s3://npm-registry-packages"}},"0.1.10":{"name":"f-box-core","version":"0.1.10","keywords":["typescript","functional-programming","functor","applicative","monad","maybe","either","task","async","box","reactive","reactive-programming","state-management","library"],"author":{"name":"Kentaro Morishita"},"license":"MIT","_id":"f-box-core@0.1.10","maintainers":[{"name":"morishita","email":"qqfhy591@gmail.com"}],"homepage":"https://github.com/KentaroMorishita/f-box-core#readme","bugs":{"url":"https://github.com/KentaroMorishita/f-box-core/issues"},"dist":{"shasum":"b1cb1bafa509334a31784348018cd656c227f7b6","tarball":"https://registry.npmjs.org/f-box-core/-/f-box-core-0.1.10.tgz","fileCount":12,"integrity":"sha512-DHbxtAye5IY8rqPvoChafaQLmQFq+vMuxWuB46/mP4LSbI5ImJ6mUXEv3m7gqgyoPFkp/M6Nsn+HhDAJBgg1kw==","signatures":[{"sig":"MEQCIDlf+WpE+97hLUU+kZuV6kqLWx6hTIBM8L8Y33/bgCc2AiA6yQrD19bb7B3FmXf+CxNw3HrUEp5a7BSNnm9vJ+3u4Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":55640},"main":"./dist/index.js","type":"module","types":"./dist/types/main.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/main.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"1d04599d218773967bdc612e6f485e53192a451d","scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest","build":"tsc && vite build","prepare":"npm run build","coverage":"vitest run --coverage","version:major":"npm version major","version:minor":"npm version minor","version:patch":"npm version patch","publish:public":"npm publish --access public"},"_npmUser":{"name":"morishita","email":"qqfhy591@gmail.com"},"repository":{"url":"git+https://github.com/KentaroMorishita/f-box-core.git","type":"git"},"_npmVersion":"10.8.2","description":"Put your data in a box, and suddenly it's easier to handle, transform, and use however you need.","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.9","vitest":"^2.1.5","typescript":"~5.6.3","@types/node":"^22.9.1","vite-plugin-dts":"^4.3.0","@vitest/coverage-v8":"^2.1.5"},"_npmOperationalInternal":{"tmp":"tmp/f-box-core_0.1.10_1733102006736_0.5604737289809887","host":"s3://npm-registry-packages"}},"0.1.11":{"name":"f-box-core","version":"0.1.11","keywords":["typescript","functional-programming","functor","applicative","monad","maybe","either","task","async","box","reactive","reactive-programming","state-management","library"],"author":{"name":"Kentaro Morishita"},"license":"MIT","_id":"f-box-core@0.1.11","maintainers":[{"name":"morishita","email":"qqfhy591@gmail.com"}],"homepage":"https://github.com/KentaroMorishita/f-box-core#readme","bugs":{"url":"https://github.com/KentaroMorishita/f-box-core/issues"},"dist":{"shasum":"613357d8035befbb93b9ed9754fea56740af5d0e","tarball":"https://registry.npmjs.org/f-box-core/-/f-box-core-0.1.11.tgz","fileCount":12,"integrity":"sha512-aPF316DZP2dMcweVExsBSZ7jALnKLXQ3CpN/Nk1S1B67E1mtb41ZZgurP4N3UBjnHaMGijl288cIeFGrHHzF+A==","signatures":[{"sig":"MEYCIQC4hknbWO/lzS02De2XGmyUtBoYYb7HLcmtxmbx68mOoAIhAIqVwpMaI9rTW79oCOdC1x+VpFcxTqxLfwlZTs3AlgHb","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52665},"main":"./dist/index.js","type":"module","types":"./dist/types/main.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/main.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"d819370f79e835efeaec12e3b87069096bcc99bf","scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest","build":"tsc && vite build","prepare":"npm run build","coverage":"vitest run --coverage","version:major":"npm version major","version:minor":"npm version minor","version:patch":"npm version patch","publish:public":"npm publish --access public"},"_npmUser":{"name":"morishita","email":"qqfhy591@gmail.com"},"repository":{"url":"git+https://github.com/KentaroMorishita/f-box-core.git","type":"git"},"_npmVersion":"10.8.2","description":"Put your data in a box, and suddenly it's easier to handle, transform, and use however you need.","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.9","vitest":"^2.1.5","typescript":"~5.6.3","@types/node":"^22.9.1","vite-plugin-dts":"^4.3.0","@vitest/coverage-v8":"^2.1.5"},"_npmOperationalInternal":{"tmp":"tmp/f-box-core_0.1.11_1736501830747_0.48207838307891193","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"f-box-core","version":"0.1.12","keywords":["typescript","functional-programming","functor","applicative","monad","maybe","either","task","async","box","reactive","reactive-programming","state-management","library"],"author":{"name":"Kentaro Morishita"},"license":"MIT","_id":"f-box-core@0.1.12","maintainers":[{"name":"morishita","email":"qqfhy591@gmail.com"}],"homepage":"https://github.com/KentaroMorishita/f-box-core#readme","bugs":{"url":"https://github.com/KentaroMorishita/f-box-core/issues"},"dist":{"shasum":"c64445bb04c42d150672ce1850cf77df1b2bcf64","tarball":"https://registry.npmjs.org/f-box-core/-/f-box-core-0.1.12.tgz","fileCount":12,"integrity":"sha512-O/RXYNTTR3JuGctW214jr+K0XNRmU6wtnI4O3cMA1LH1GSv/W42ywtNyIONKQIQoQojJYMTl455clbnTrPwiSg==","signatures":[{"sig":"MEYCIQDOIu+i5xWOkmbHK3uU/Q5ukUvVyXQETJUMiUT6MiYc7AIhAJAKZ1gB4YAMDGIT2TYorqlq6K+OQqWw5Kkv/FR+AetZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":52943},"main":"./dist/index.js","type":"module","types":"./dist/types/main.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/main.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"05ea900afa1f37a565ecd6921d6d939c21a09c58","scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest","build":"tsc && vite build","prepare":"npm run build","coverage":"vitest run --coverage","version:major":"npm version major","version:minor":"npm version minor","version:patch":"npm version patch","publish:public":"npm publish --access public"},"_npmUser":{"name":"morishita","email":"qqfhy591@gmail.com"},"repository":{"url":"git+https://github.com/KentaroMorishita/f-box-core.git","type":"git"},"_npmVersion":"10.8.2","description":"Put your data in a box, and suddenly it's easier to handle, transform, and use however you need.","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.9","vitest":"^2.1.5","typescript":"~5.6.3","@types/node":"^22.9.1","vite-plugin-dts":"^4.3.0","@vitest/coverage-v8":"^2.1.5"},"_npmOperationalInternal":{"tmp":"tmp/f-box-core_0.1.12_1737434814458_0.6939001694048519","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"f-box-core","version":"0.1.13","keywords":["typescript","functional-programming","functor","applicative","monad","maybe","either","task","async","box","reactive","reactive-programming","state-management","library"],"author":{"name":"Kentaro Morishita"},"license":"MIT","_id":"f-box-core@0.1.13","maintainers":[{"name":"morishita","email":"qqfhy591@gmail.com"}],"homepage":"https://github.com/KentaroMorishita/f-box-core#readme","bugs":{"url":"https://github.com/KentaroMorishita/f-box-core/issues"},"dist":{"shasum":"449709946d1c309dec45d9d1c9e157476f641abe","tarball":"https://registry.npmjs.org/f-box-core/-/f-box-core-0.1.13.tgz","fileCount":12,"integrity":"sha512-DJ+8O3cj0+vPZmbbx0U5Deqb0h1aQsckPUsTxxPGZm0ZqSBQJCdn5fVOR7kLHJSF4AJKA9kHlVK5/czNBH542w==","signatures":[{"sig":"MEUCIQDeYmC8Wy183Hug11d9miBuuWZbrj0Jxh85nLslW2vIEwIgBDHXECVrAG7MGeSvWzi8xnBg1jhT41OgacXx+hyyLmw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53535},"main":"./dist/index.js","type":"module","types":"./dist/types/main.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/main.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"40bf8be7df1f3360257f0fadc14213c76d44cea8","scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest","build":"tsc && vite build","prepare":"npm run build","coverage":"vitest run --coverage","version:major":"npm version major","version:minor":"npm version minor","version:patch":"npm version patch","publish:public":"npm publish --access public"},"_npmUser":{"name":"morishita","email":"qqfhy591@gmail.com"},"repository":{"url":"git+https://github.com/KentaroMorishita/f-box-core.git","type":"git"},"_npmVersion":"10.8.2","description":"Put your data in a box, and suddenly it's easier to handle, transform, and use however you need.","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.9","vitest":"^2.1.5","typescript":"~5.6.3","@types/node":"^22.9.1","vite-plugin-dts":"^4.3.0","@vitest/coverage-v8":"^2.1.5"},"_npmOperationalInternal":{"tmp":"tmp/f-box-core_0.1.13_1738124205984_0.2881006186362096","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"f-box-core","version":"0.1.14","keywords":["typescript","functional-programming","functor","applicative","monad","maybe","either","task","async","box","reactive","reactive-programming","state-management","library"],"author":{"name":"Kentaro Morishita"},"license":"MIT","_id":"f-box-core@0.1.14","maintainers":[{"name":"morishita","email":"qqfhy591@gmail.com"}],"homepage":"https://github.com/KentaroMorishita/f-box-core#readme","bugs":{"url":"https://github.com/KentaroMorishita/f-box-core/issues"},"dist":{"shasum":"df9bbfa686c513ccc8cacd329951844f90c55c83","tarball":"https://registry.npmjs.org/f-box-core/-/f-box-core-0.1.14.tgz","fileCount":12,"integrity":"sha512-RgF6GCa1uEQQyd3d/HUqYbOBQ8crJxqUxpFrYxMFUC8tw0XsQUCsjbSCLKdwIbWow1/bEt+gv6aA0i7y7hpNaQ==","signatures":[{"sig":"MEUCIGJyM0FN6HAdlwf+Y3/mNAVBL+Qah6QF/81uHmJCUJU7AiEApwp2P9C4cZbUQH4CZt8PKn7pHl7q5vFITkJKMmCR+fo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53523},"main":"./dist/index.js","type":"module","types":"./dist/types/main.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/main.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"da480445a1c9daf8c4c8a28db2c7932630e2b3fa","scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest","build":"tsc && vite build","prepare":"npm run build","coverage":"vitest run --coverage","version:major":"npm version major","version:minor":"npm version minor","version:patch":"npm version patch","publish:public":"npm publish --access public"},"_npmUser":{"name":"morishita","email":"qqfhy591@gmail.com"},"repository":{"url":"git+https://github.com/KentaroMorishita/f-box-core.git","type":"git"},"_npmVersion":"10.8.2","description":"Put your data in a box, and suddenly it's easier to handle, transform, and use however you need.","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.9","vitest":"^2.1.5","typescript":"~5.6.3","@types/node":"^22.9.1","vite-plugin-dts":"^4.3.0","@vitest/coverage-v8":"^2.1.5"},"_npmOperationalInternal":{"tmp":"tmp/f-box-core_0.1.14_1738130763340_0.25198222533358705","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"f-box-core","version":"0.2.0","keywords":["typescript","functional-programming","functor","applicative","monad","maybe","either","task","async","box","reactive","reactive-programming","state-management","library"],"author":{"name":"Kentaro Morishita"},"license":"MIT","_id":"f-box-core@0.2.0","maintainers":[{"name":"morishita","email":"qqfhy591@gmail.com"}],"homepage":"https://github.com/KentaroMorishita/f-box-core#readme","bugs":{"url":"https://github.com/KentaroMorishita/f-box-core/issues"},"dist":{"shasum":"c633e68406d5d3818a745f830c7ebf9c6006b3d1","tarball":"https://registry.npmjs.org/f-box-core/-/f-box-core-0.2.0.tgz","fileCount":12,"integrity":"sha512-be3FCa3lCFz4fGkNW3rRvO1aRekmXkSCmHcbG851stWGC0H+T1Nv83MOC5AIjwadEXLMiovv6YB7+RkW+MF+MQ==","signatures":[{"sig":"MEUCIAyoZwCFBw1ZiZe/jklx9bYeznBmj1rl7bx4rQm52Ts0AiEAiWjUnlxIC3+FTpH/5W7flY7CE8w7E5YikqjZEG+8ahY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58804},"main":"./dist/index.js","type":"module","types":"./dist/types/main.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/main.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"8d47ff47e306ea065a17f0c3353c13a5bf065128","scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest","build":"tsc && vite build","prepare":"npm run build","coverage":"vitest run --coverage","version:major":"npm version major","version:minor":"npm version minor","version:patch":"npm version patch","publish:public":"npm publish --access public"},"_npmUser":{"name":"morishita","email":"qqfhy591@gmail.com"},"repository":{"url":"git+https://github.com/KentaroMorishita/f-box-core.git","type":"git"},"_npmVersion":"10.8.2","description":"Put your data in a box, and suddenly it's easier to handle, transform, and use however you need.","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.9","vitest":"^2.1.5","typescript":"~5.6.3","@types/node":"^22.9.1","vite-plugin-dts":"^4.3.0","@vitest/coverage-v8":"^2.1.5"},"_npmOperationalInternal":{"tmp":"tmp/f-box-core_0.2.0_1738744586040_0.7347065021029595","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"f-box-core","version":"0.2.1","keywords":["typescript","functional-programming","functor","applicative","monad","maybe","either","task","async","box","reactive","reactive-programming","state-management","library"],"author":{"name":"Kentaro Morishita"},"license":"MIT","_id":"f-box-core@0.2.1","maintainers":[{"name":"morishita","email":"qqfhy591@gmail.com"}],"homepage":"https://github.com/KentaroMorishita/f-box-core#readme","bugs":{"url":"https://github.com/KentaroMorishita/f-box-core/issues"},"dist":{"shasum":"6db620e27e8c1dd7630a705567e60d6fa1ecb87d","tarball":"https://registry.npmjs.org/f-box-core/-/f-box-core-0.2.1.tgz","fileCount":12,"integrity":"sha512-UaXX4ViFRigDPDFDLO6LJSoWVG1n0Y8S4Ye4OCJeHxrZpCQhCC/1O2UYbjIzTl5qZg8umlNTZEfn/KlY1IMzZA==","signatures":[{"sig":"MEYCIQC+Z4+2zANupIu6t7EPkJrEmPfpn/jNNLzaFeFrX/MvpgIhAJ9rCQMoVjQoYIDo3BC2gAYu24DIvSKmrgJ4BznzgfS0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59091},"main":"./dist/index.js","type":"module","types":"./dist/types/main.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/main.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"48c0bb5e566672b875bc9cf488d7762a856e276d","scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest","build":"tsc && vite build","prepare":"npm run build","coverage":"vitest run --coverage","version:major":"npm version major","version:minor":"npm version minor","version:patch":"npm version patch","publish:public":"npm publish --access public"},"_npmUser":{"name":"morishita","email":"qqfhy591@gmail.com"},"repository":{"url":"git+https://github.com/KentaroMorishita/f-box-core.git","type":"git"},"_npmVersion":"10.8.2","description":"Put your data in a box, and suddenly it's easier to handle, transform, and use however you need.","directories":{},"_nodeVersion":"20.17.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.9","vitest":"^2.1.5","typescript":"~5.6.3","@types/node":"^22.9.1","vite-plugin-dts":"^4.3.0","@vitest/coverage-v8":"^2.1.5"},"_npmOperationalInternal":{"tmp":"tmp/f-box-core_0.2.1_1738915132910_0.908053262069733","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"f-box-core","version":"0.2.2","keywords":["typescript","functional-programming","functor","applicative","monad","maybe","either","task","async","box","reactive","reactive-programming","state-management","library"],"author":{"name":"Kentaro Morishita"},"license":"MIT","_id":"f-box-core@0.2.2","maintainers":[{"name":"morishita","email":"qqfhy591@gmail.com"}],"homepage":"https://github.com/KentaroMorishita/f-box-core#readme","bugs":{"url":"https://github.com/KentaroMorishita/f-box-core/issues"},"dist":{"shasum":"89986f366d3238768c5690dd513d144e2534709e","tarball":"https://registry.npmjs.org/f-box-core/-/f-box-core-0.2.2.tgz","fileCount":12,"integrity":"sha512-um5iGWBVkDYYU14CtmwffTipcgiNDI2ydOlMcmd+XXzckTgWbaClKw3WFnKFV8xgdskrJkrUGH5tKS+gKvFpFQ==","signatures":[{"sig":"MEYCIQCoGZzGsTc+/L2cjUvlG6j9xZnTIC/ECiu74xD/t8TSZwIhAMMmEwo3JeD+2Yr8gpWnboDh3eVeStnvVpoZnYfX6PVb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59416},"main":"./dist/index.js","type":"module","types":"./dist/types/main.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/main.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"96f859e69a3c44a4662a3cdfe5e65b7061b585be","scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest","build":"tsc && vite build","prepare":"npm run build","coverage":"vitest run --coverage","version:major":"npm version major","version:minor":"npm version minor","version:patch":"npm version patch","publish:public":"npm publish --access public"},"_npmUser":{"name":"morishita","actor":{"name":"morishita","type":"user","email":"qqfhy591@gmail.com"},"email":"qqfhy591@gmail.com"},"repository":{"url":"git+https://github.com/KentaroMorishita/f-box-core.git","type":"git"},"_npmVersion":"10.8.2","description":"Put your data in a box, and suddenly it's easier to handle, transform, and use however you need.","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.9","vitest":"^2.1.5","typescript":"~5.6.3","@types/node":"^22.9.1","vite-plugin-dts":"^4.3.0","@vitest/coverage-v8":"^2.1.5"},"_npmOperationalInternal":{"tmp":"tmp/f-box-core_0.2.2_1750326810594_0.44866214577506724","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"f-box-core","version":"0.2.3","keywords":["typescript","functional-programming","functor","applicative","monad","maybe","either","task","async","box","reactive","reactive-programming","state-management","library"],"author":{"name":"Kentaro Morishita"},"license":"MIT","_id":"f-box-core@0.2.3","maintainers":[{"name":"morishita","email":"qqfhy591@gmail.com"}],"homepage":"https://github.com/KentaroMorishita/f-box-core#readme","bugs":{"url":"https://github.com/KentaroMorishita/f-box-core/issues"},"dist":{"shasum":"ba5bf73726ff0b4f63cf816d3c5e94ca72e668a3","tarball":"https://registry.npmjs.org/f-box-core/-/f-box-core-0.2.3.tgz","fileCount":12,"integrity":"sha512-n5LEcn1okKGJKqQQlUZAaK6Cfw5e5EO+sdfGtkcWATfcrsuiOqIi99alHh2qvnYRTofdBLTeqdS9P9ZG7toOjw==","signatures":[{"sig":"MEQCIBrP9wNMXY/F7SMND081b5Re1TfrQfc+kgxZPHxVYgF0AiBwPMd+wZuDW2SeaCcr9eHWW4w7paym71qRdC4kdmv7pQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71137},"main":"./dist/index.js","type":"module","types":"./dist/types/main.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/main.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"2592e3935251cf1ef2250e2c85184870d4f79686","scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest","build":"tsc && vite build","prepare":"npm run build","coverage":"vitest run --coverage","version:major":"npm version major","version:minor":"npm version minor","version:patch":"npm version patch","publish:public":"npm publish --access public"},"_npmUser":{"name":"morishita","actor":{"name":"morishita","type":"user","email":"qqfhy591@gmail.com"},"email":"qqfhy591@gmail.com"},"repository":{"url":"git+https://github.com/KentaroMorishita/f-box-core.git","type":"git"},"_npmVersion":"10.8.2","description":"Put your data in a box, and suddenly it's easier to handle, transform, and use however you need.","directories":{},"_nodeVersion":"20.19.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.9","vitest":"^2.1.5","typescript":"~5.6.3","@types/node":"^22.9.1","vite-plugin-dts":"^4.3.0","@vitest/coverage-v8":"^2.1.5"},"_npmOperationalInternal":{"tmp":"tmp/f-box-core_0.2.3_1750391174228_0.6024257553509169","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"f-box-core","version":"0.2.4","keywords":["typescript","functional-programming","functor","applicative","monad","maybe","either","task","async","box","reactive","reactive-programming","state-management","library"],"author":{"name":"Kentaro Morishita"},"license":"MIT","_id":"f-box-core@0.2.4","maintainers":[{"name":"morishita","email":"qqfhy591@gmail.com"}],"homepage":"https://github.com/KentaroMorishita/f-box-core#readme","bugs":{"url":"https://github.com/KentaroMorishita/f-box-core/issues"},"dist":{"shasum":"194cd9b27191a95136d7a935ffbf0bbca11f616a","tarball":"https://registry.npmjs.org/f-box-core/-/f-box-core-0.2.4.tgz","fileCount":12,"integrity":"sha512-QoxU8aGSXJLa5M+riibawsIQ6U3Jv7VfkUez6r7jJJJTxnk6Fxy/anh/qXx8okKstt3cDcZ+fkVBmf2qrPTKVA==","signatures":[{"sig":"MEUCIQCvOrQpNbGAKJuNtZDzkX/cYYexD/Op5JKBBdgkV7D1CAIgNxxnugp8clnuFABpYRMvT6W4QNqra8r1joWdM6kMaQ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79795},"main":"./dist/index.js","type":"module","types":"./dist/types/main.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/main.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"0754ae2e1d732b24f98bcaace358c605d1a7160e","scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest","build":"tsc && vite build","prepare":"npm run build","coverage":"vitest run --coverage","version:major":"npm version major","version:minor":"npm version minor","version:patch":"npm version patch","publish:public":"npm publish --access public"},"_npmUser":{"name":"morishita","email":"qqfhy591@gmail.com"},"repository":{"url":"git+https://github.com/KentaroMorishita/f-box-core.git","type":"git"},"_npmVersion":"10.9.2","description":"Put your data in a box, and suddenly it's easier to handle, transform, and use however you need.","directories":{},"_nodeVersion":"22.16.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.9","vitest":"^2.1.5","typescript":"~5.6.3","@types/node":"^22.9.1","vite-plugin-dts":"^4.3.0","@vitest/coverage-v8":"^2.1.5"},"_npmOperationalInternal":{"tmp":"tmp/f-box-core_0.2.4_1757557060305_0.05287229719676545","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"f-box-core","version":"0.2.5","keywords":["typescript","functional-programming","functor","applicative","monad","maybe","either","task","async","box","reactive","reactive-programming","state-management","library"],"author":{"name":"Kentaro Morishita"},"license":"MIT","_id":"f-box-core@0.2.5","maintainers":[{"name":"morishita","email":"qqfhy591@gmail.com"}],"homepage":"https://github.com/KentaroMorishita/f-box-core#readme","bugs":{"url":"https://github.com/KentaroMorishita/f-box-core/issues"},"dist":{"shasum":"8e1275cc665af024c415889a3d59395018d4533b","tarball":"https://registry.npmjs.org/f-box-core/-/f-box-core-0.2.5.tgz","fileCount":13,"integrity":"sha512-RH3SmrkUyNKMQ1PnFHhvs0OADMh7Ctmvu9YJNtk7GMq7C5rF1sk8+ZBXD/qDcLvWyWcruhTIsXyQ7doJNG3anQ==","signatures":[{"sig":"MEUCIQD5kgxnyj2Q9m+O781JzVPZO5JXCEptfUkNbx6PYatnYwIgI557uDXSJlpJ+dVLr4qXSMQSLfIferPBNs9z1brYqiE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88366},"main":"./dist/index.js","type":"module","types":"./dist/types/main.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/types/main.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"gitHead":"78fceb4a54f219d83d854306cb7dd88798ad0099","scripts":{"dev":"vite","lint":"tsc --noEmit","test":"vitest","build":"tsc && vite build","prepare":"npm run build","coverage":"vitest run --coverage","version:major":"npm version major","version:minor":"npm version minor","version:patch":"npm version patch","publish:public":"npm publish --access public"},"_npmUser":{"name":"morishita","email":"qqfhy591@gmail.com"},"repository":{"url":"git+https://github.com/KentaroMorishita/f-box-core.git","type":"git"},"_npmVersion":"10.9.2","description":"Put your data in a box, and suddenly it's easier to handle, transform, and use however you need.","directories":{},"_nodeVersion":"22.16.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^5.4.9","vitest":"^2.1.5","typescript":"~5.6.3","@types/node":"^22.9.1","vite-plugin-dts":"^4.3.0","@vitest/coverage-v8":"^2.1.5"},"_npmOperationalInternal":{"tmp":"tmp/f-box-core_0.2.5_1757647109709_0.4645302354780474","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"f-box-core","version":"0.2.6","description":"Put your data in a box, and suddenly it's easier to handle, transform, and use however you need.","type":"module","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/types/main.d.ts","exports":{".":{"types":"./dist/types/main.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"}},"scripts":{"dev":"vite","build":"tsc && vite build","lint":"tsc --noEmit","test":"vitest","coverage":"vitest run --coverage","version:patch":"npm version patch","version:minor":"npm version minor","version:major":"npm version major","publish:public":"npm publish --access public","prepare":"npm run build"},"keywords":["typescript","functional-programming","functor","applicative","monad","maybe","either","task","async","box","reactive","reactive-programming","state-management","library"],"author":{"name":"Kentaro Morishita"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/KentaroMorishita/f-box-core.git"},"devDependencies":{"@types/node":"^22.9.1","@vitest/coverage-v8":"^2.1.5","typescript":"~5.6.3","vite":"^5.4.9","vite-plugin-dts":"^4.3.0","vitest":"^2.1.5"},"_id":"f-box-core@0.2.6","gitHead":"29f87770db2372461db4ed664b261cb470ed684b","bugs":{"url":"https://github.com/KentaroMorishita/f-box-core/issues"},"homepage":"https://github.com/KentaroMorishita/f-box-core#readme","_nodeVersion":"22.16.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-Q03kZpw22beu10YobkvsrpYt++whUN4amD/FRue+QJi1l4toGyrRGGI5EXXx0ZzMAc57AoLGnElLoGA+RPSSVQ==","shasum":"f14dd58c576bd2cbcb50a99660497df9c0e69b35","tarball":"https://registry.npmjs.org/f-box-core/-/f-box-core-0.2.6.tgz","fileCount":13,"unpackedSize":95657,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC+qqx9T8knyTuwFxO6i1nrDKwOVbg53UG1P9Wb6WgpsgIgFnfUuGyrMvq8X8IYw9DPmEmKAg3GTgUd1gtFHvLQuiU="}]},"_npmUser":{"name":"morishita","email":"qqfhy591@gmail.com"},"directories":{},"maintainers":[{"name":"morishita","email":"qqfhy591@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/f-box-core_0.2.6_1757665616660_0.40407393894094823"},"_hasShrinkwrap":false}},"time":{"created":"2024-11-25T02:21:56.473Z","modified":"2025-09-12T08:26:57.032Z","0.1.0":"2024-11-25T02:21:56.755Z","0.1.1":"2024-11-25T02:32:42.363Z","0.1.2":"2024-11-25T02:51:15.316Z","0.1.3":"2024-11-25T02:55:26.485Z","0.1.4":"2024-11-25T03:00:53.253Z","0.1.5":"2024-11-25T03:08:56.272Z","0.1.6":"2024-11-25T03:12:15.374Z","0.1.7":"2024-11-25T08:00:43.944Z","0.1.8":"2024-11-27T05:46:40.339Z","0.1.9":"2024-11-27T06:29:26.578Z","0.1.10":"2024-12-02T01:13:26.913Z","0.1.11":"2025-01-10T09:37:10.933Z","0.1.12":"2025-01-21T04:46:54.637Z","0.1.13":"2025-01-29T04:16:46.217Z","0.1.14":"2025-01-29T06:06:03.542Z","0.2.0":"2025-02-05T08:36:26.269Z","0.2.1":"2025-02-07T07:58:53.155Z","0.2.2":"2025-06-19T09:53:30.759Z","0.2.3":"2025-06-20T03:46:14.415Z","0.2.4":"2025-09-11T02:17:40.521Z","0.2.5":"2025-09-12T03:18:29.960Z","0.2.6":"2025-09-12T08:26:56.872Z"},"bugs":{"url":"https://github.com/KentaroMorishita/f-box-core/issues"},"author":{"name":"Kentaro Morishita"},"license":"MIT","homepage":"https://github.com/KentaroMorishita/f-box-core#readme","keywords":["typescript","functional-programming","functor","applicative","monad","maybe","either","task","async","box","reactive","reactive-programming","state-management","library"],"repository":{"type":"git","url":"git+https://github.com/KentaroMorishita/f-box-core.git"},"description":"Put your data in a box, and suddenly it's easier to handle, transform, and use however you need.","maintainers":[{"name":"morishita","email":"qqfhy591@gmail.com"}],"readme":"# F-Box Core\n\n[![npm version](https://badge.fury.io/js/f-box-core.svg)](https://badge.fury.io/js/f-box-core)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n**F-Box Core** is a TypeScript library for function composition. It provides five types—`Box`, `RBox`, `Maybe`, `Either`, and `Task`—that help you build complex operations by combining small functions.\n\n## Features\n\n- **Function Composition**: Combine small functions to build complex operations\n- **Operator Chaining**: Use `<$>`, `<*>`, `>>=` for value transformation, combination, and chaining\n- **Type Safety**: Eliminate null reference exceptions and runtime errors\n- **Lightweight**: Zero dependencies, small library\n- **Consistent API**: Unified operations across all types\n\n## Installation\n\n```bash\nnpm install f-box-core\n```\n\n## Why F-Box?\n\n| Type     | Use Case | Description                                                                                    |\n| -------- | -------- | ---------------------------------------------------------------------------------------------- |\n| `Box`    | **Function Composition** | Simple container for values with functional transformations |\n| `RBox`   | **State Management** | Reactive container with subscription-based updates |\n| `Maybe`  | **Null Safety** | Optional values that eliminate null/undefined errors |\n| `Either` | **Error Handling** | Computations that can succeed (`Right`) or fail (`Left`) |\n| `Task`   | **Async Operations** | Composable asynchronous computations |\n\n## Basic Usage\n\nF-Box types provide methods and operators for combining functions to build operations:\n\n```typescript\nimport { Maybe } from \"f-box-core\";\n\n// Handle values that might be null safely\nconst user = { name: \"Alice\", email: null };\n\nconst result = Maybe.pack(user.email)\n  [\"<$>\"]((email) => email.toLowerCase())  // Convert to lowercase if email is not null\n  [\"<$>\"]((email) => `Email: ${email}`)    // Add message\n  [\"<|>\"](\"No email address set\");         // Get value or default (alias for getOrElse)\n\nconsole.log(result); // \"No email address set\"\n```\n\n### Real-world Example: User Registration with Error Handling\n\n```typescript\nconst registerUser = (userInput: any) =>\n  validateEmail(userInput.email)\n    [\">>=\"](((email) => validatePassword(userInput.password)\n      [\"<$>\"]((password) => ({ email, password }))))\n    [\">>=\"](createUser)\n    [\">>=\"](((user) => generateToken(user.id)\n      [\"<$>\"]((token) => ({ user, token }))));\n\n// If any step fails, the entire computation short-circuits\nregisterUser(userData).match(\n  (error) => console.error(\"Registration failed:\", error),\n  (result) => console.log(\"User registered:\", result)\n);\n```\n\n## Core Operators\n\nF-Box uses three main operators for function composition:\n\n| Operator | Name           | Description                                                                                                                       |\n| -------- | -------------- | --------------------------------------------------------------------------------------------------------------------------------- |\n| `<$>`    | Map            | Transforms the value inside the container.                                  |\n| `<*>`    | Apply          | Applies a wrapped function to a wrapped value.                               |\n| `>>=`    | FlatMap (Bind) | Chains computations while flattening results. |\n\n### Operator Usage Examples\n\n#### `<$>` - Map\n\nApplies a function to the value inside the container.\n\n```typescript\nimport { Box } from \"f-box-core\";\n\nconst box = Box.pack(5);\nconst result = box[\"<$>\"]((x) => x * 2);\nconsole.log(result.getValue()); // Outputs: 10\n```\n\n#### `<*>` - Apply\n\nAllows applying a function wrapped in a container to a value wrapped in another container.\n\n```typescript\nimport { Box } from \"f-box-core\";\n\nconst boxFn = Box.pack((x: number) => x + 3);\nconst boxValue = Box.pack(7);\n\nconst result = boxFn[\"<*>\"](boxValue);\nconsole.log(result.getValue()); // Outputs: 10\n```\n\n#### `>>=` - FlatMap\n\nChains computations while handling the context.\n\n```typescript\nimport { Either } from \"f-box-core\";\n\nconst divide = (a: number, b: number): Either<string, number> =>\n  b === 0 ? Either.left(\"Division by zero\") : Either.right(a / b);\n\nconst result = Either.right(10)\n  [\">>=\"](((x) => divide(x, 2)))\n  [\">>=\"](((x) => divide(x, 5)));\n\nconsole.log(result[\"<|>\"](0)); // Outputs: 1\n```\n\n## Quick Start Guide\n\n### When to Use Each Type\n\n| Scenario | Recommended Type | Why? |\n|----------|------------------|------|\n| Simple data transformation | `Box` | Pure functional composition |\n| React/Vue state management | `RBox` | Built-in reactivity and observers |\n| API responses that might be null | `Maybe` | Eliminates null/undefined errors |\n| Operations that can fail | `Either` | Explicit error handling |\n| Async operations | `Task` | Composable promise-like behavior |\n\n## Detailed Usage\n\n### Box - Function Composition\n\nA container for encapsulating values, enabling functional transformations with `map`, `flatMap`, and more.\n\n#### Basic Example\n\n```typescript\nimport { Box } from \"f-box-core\";\n\n// Operator chaining for value transformation\nconst result = Box.pack(10)\n  [\"<$>\"]((x) => x * 2)    // 10 → 20\n  [\"<$>\"]((x) => x + 5);   // 20 → 25\n\nconsole.log(result.getValue()); // Outputs: 25\n\n// Combining multiple Boxes\nconst add = (x: number) => (y: number) => x + y;\nconst multiply = (x: number) => (y: number) => x * y;\n\nconst calculation = Box.pack(add)\n  [\"<*>\"](Box.pack(10))   // apply add(10)\n  [\"<*>\"](Box.pack(5));   // add(10)(5) → 15\n\nconsole.log(calculation.getValue()); // Outputs: 15\n```\n\n#### Real-world Example: Data Processing Pipeline\n\n```typescript\ninterface User {\n  name: string;\n  age: number;\n  email: string;\n}\n\nconst normalizeUser = (user: User): User => ({\n  ...user,\n  name: user.name.charAt(0).toUpperCase() + user.name.slice(1),\n  email: user.email.toLowerCase()\n});\n\nconst validateAge = (user: User): User | null =>\n  user.age >= 18 ? user : null;\n\n// Operator chaining for processing pipeline\nconst processUser = Box.pack({ name: \"alice\", age: 25, email: \"ALICE@EXAMPLE.COM\" })\n  [\"<$>\"](normalizeUser)     // Normalize name and email\n  [\"<$>\"](validateAge)       // Validate age\n  [\">>=\"](((user) => user ? Box.pack(user) : Box.pack(null)));\n\nconsole.log(processUser.getValue()); // { name: \"Alice\", age: 25, email: \"alice@example.com\" }\n```\n\n### RBox - Reactive State Management\n\nA reactive container for managing state, ideal for applications requiring reactivity like React or Vue.\n\n#### Basic Example\n\n```typescript\nimport { RBox } from \"f-box-core\";\n\nconst counter = RBox.pack(0);\n\n// Subscribe to changes\ncounter.subscribe((value) => console.log(`Counter: ${value}`));\n\n// Update the value\ncounter.setValue(1); // Outputs: \"Counter: 1\"\ncounter.setValue((prev) => prev + 5); // Outputs: \"Counter: 6\"\n```\n\n#### Real-world Example: Reactive Shopping Cart\n\n```typescript\ninterface CartItem {\n  id: string;\n  name: string;\n  price: number;\n  quantity: number;\n}\n\nconst cart = RBox.pack<CartItem[]>([]);\n\n// Operator chaining for derived values\nconst cartTotal = cart[\"<$>\"]((items) =>\n  items.reduce((sum, item) => sum + item.price * item.quantity, 0)\n);\n\nconst cartCount = cart[\"<$>\"]((items) => items.length);\n\nconst cartSummary = cart\n  [\"<$>\"]((items) => items.length)\n  [\">>=\"](((count) => cartTotal[\"<$>\"]((total) => ({ count, total }))));\n\n// Subscribe to reactive changes\ncart.subscribe((items) => console.log(`Cart items: ${items.length}`));\ncartTotal.subscribe((total) => console.log(`Total: ¥${total.toLocaleString()}`));\n\n// State updates\ncart.setValue((prev) => [\n  ...prev,\n  { id: \"1\", name: \"Laptop\", price: 128000, quantity: 1 }\n]);\n```\n\n### Maybe - Null Safety\n\nRepresents optional values, preventing `null` or `undefined` errors with a `Just` or `Nothing` abstraction.\n\n#### Basic Example\n\n```typescript\nimport { Maybe } from \"f-box-core\";\n\n// Safe value handling\nconst safeValue = Maybe.pack(\"hello\");\nconst nullValue = Maybe.pack(null);\n\nconst result1 = safeValue[\"<$>\"]((s) => s.toUpperCase())[\"<|>\"](\"DEFAULT\");\nconst result2 = nullValue[\"<$>\"]((s) => s.toUpperCase())[\"<|>\"](\"DEFAULT\");\n\nconsole.log(result1); // \"HELLO\"\nconsole.log(result2); // \"DEFAULT\"\n```\n\n#### Real-world Example: Safe API Data Processing\n\n```typescript\nimport type { $Maybe } from \"f-box-core\";\n\ninterface UserProfile {\n  id: number;\n  name?: string;\n  avatar?: string;\n  bio?: string;\n}\n\n// Operator chaining for processing\nconst getUserDisplayName = (profile: UserProfile) =>\n  Maybe.pack(profile.name)\n    [\">>=\"]((name: string) => Maybe.pack(profile.bio)\n      [\">>=\"]((bio: string) => {\n        const cleanName = name.trim();\n        const displayName = cleanName.length > 0 ? cleanName : \"Anonymous\";\n        return Maybe.pack(`${displayName} - ${bio}`);\n      }))\n    [\"<|>\"](\"Guest\"); // Get value or default (alias for getOrElse)\n\n// Do notation for the same processing (simple string types only)\nconst getUserDisplayNameDo = (profile: UserProfile) =>\n  Maybe.do(function* ($: $Maybe) {\n    const name = yield* $(Maybe.pack(profile.name));\n    const bio = yield* $(Maybe.pack(profile.bio));\n    const cleanName = name.trim();\n    const displayName = cleanName.length > 0 ? cleanName : \"Anonymous\";\n    return `${displayName} - ${bio}`;\n  })[\"<|>\"](\"Guest\"); // Get value or default\n\n// For complex cases with different types, operator chaining is often clearer\n\n// Applicative style for combining multiple values\nconst processUserProfile2 = (profile: UserProfile) => {\n  const createProfile = (name: string) => (avatar: string) => (bio: string) => ({\n    displayName: name.length > 0 ? name : \"Anonymous\",\n    profileImage: avatar,\n    description: bio.substring(0, 100)\n  });\n\n  return Maybe.pack(createProfile)\n    [\"<*>\"](Maybe.pack(profile.name))\n    [\"<*>\"](Maybe.pack(profile.avatar))\n    [\"<*>\"](Maybe.pack(profile.bio));\n};\n\nconst user = { id: 1, name: \"Alice\", avatar: \"avatar.jpg\", bio: \"Software developer\" };\nconst processed = processUserProfile(user);\nconst processedDo = processUserProfileDo(user);\n\nconsole.log(\"Profile (operator):\", processed);\nconsole.log(\"Profile (do notation):\", processedDo);\n\n// Note: Do notation works best for sequential operations with the same type.\n// For complex nested operations with different types, operator chaining is often more practical.\n```\n\n### Either - Error Handling\n\nEncapsulates computations that may succeed (`Right`) or fail (`Left`).\n\n#### Basic Example\n\n```typescript\nimport { Either } from \"f-box-core\";\n\nconst divide = (a: number, b: number): Either<string, number> =>\n  b === 0 ? Either.left(\"Division by zero\") : Either.right(a / b);\n\n// Traditional chaining\nconst result = divide(10, 2)\n  [\"<$>\"]((x) => x * 3)\n  [\"<|>\"](0);\n\nconsole.log(result); // 15\n\n// Operator chaining for complex calculations\nconst calculation = divide(10, 2)\n  [\">>=\"](((x) => divide(x, 5)))\n  [\">>=\"](((y) => divide(100, y)))\n  [\"<$>\"]((z) => z * 2);\n\ncalculation.match(\n  (error) => console.error(\"Error:\", error),\n  (result) => console.log(\"Result:\", result) // \"Result: 200\"\n);\n```\n\n#### Real-world Example: Form Validation\n\n```typescript\ninterface User {\n  email: string;\n  password: string;\n  age: number;\n}\n\nconst validateEmail = (email: string): Either<string, string> =>\n  email.includes(\"@\")\n    ? Either.right(email)\n    : Either.left(\"Invalid email format\");\n\nconst validatePassword = (password: string): Either<string, string> =>\n  password.length >= 8\n    ? Either.right(password)\n    : Either.left(\"Password must be at least 8 characters\");\n\nconst validateAge = (age: number): Either<string, number> =>\n  age >= 18\n    ? Either.right(age)\n    : Either.left(\"Must be at least 18 years old\");\n\n// Applicative style validation (processes all errors)\nconst validateUserApplicative = (data: any): Either<string[], User> => {\n  const createUser = (email: string) => (password: string) => (age: number) => ({ email, password, age });\n\n  return Either.pack(createUser)\n    [\"<*>\"](validateEmail(data.email)[\"<$>\"](email => [email]))\n    [\"<*>\"](validatePassword(data.password)[\"<$>\"](password => [password]))\n    [\"<*>\"](validateAge(data.age)[\"<$>\"](age => [age]));\n};\n\n// Chain style validation (stops at first error)\nconst validateUser = (data: any): Either<string, User> =>\n  validateEmail(data.email)\n    [\">>=\"](email => validatePassword(data.password)\n      [\">>=\"](password => validateAge(data.age)\n        [\"<$>\"](age => ({ email, password, age }))));\n\n// Usage\nconst userData = { email: \"user@example.com\", password: \"secretpassword\", age: 25 };\nconst validationResult = validateUser(userData);\n\nvalidationResult.match(\n  (error) => console.error(\"Validation failed:\", error),\n  (user) => console.log(\"Valid user:\", user)\n);\n```\n\n### Task - Asynchronous Operations\n\nManages asynchronous computations in a composable and functional way.\n\n#### Basic Example\n\n```typescript\nimport { Task } from \"f-box-core\";\n\n// Simple async operation\nconst fetchData = Task.from(() =>\n  fetch(\"https://api.example.com/data\").then(res => res.json())\n);\n\n// Chain operations\nconst processedData = fetchData\n  [\"<$>\"]((data) => data.map(item => item.name))\n  [\"<$>\"]((names) => names.filter(name => name.length > 3));\n\nprocessedData.run().then(console.log);\n```\n\n#### Real-world Example: Async Data Processing\n\n```typescript\ninterface User { id: number; name: string; }\n\nconst fetchUser = (id: number): Task<User> =>\n  Task.from(() => fetch(`/api/users/${id}`).then(res => res.json()));\n\nconst fetchUserProfile = (userId: number): Task<string> =>\n  Task.from(() => fetch(`/api/users/${userId}/profile`).then(res => res.text()));\n\n// Break processing into small functions\nconst getProfile = (user: User) => fetchUserProfile(user.id);\nconst formatProfile = (profile: string) => `Profile: ${profile}`;\n\n// Compose functions simply by passing them directly\nconst getUserInfo = (userId: number) =>\n  fetchUser(userId)\n    [\">>=\"](getProfile)\n    [\"<$>\"](formatProfile);\n\n// Usage\nawait getUserInfo(123)\n  .run()\n  .then(result => console.log(result)) // \"Profile: ...\"\n  .catch(error => console.error(\"Error:\", error));\n```\n\n## Additional Operators\n\nBeyond the core operators, F-Box types also provide utility operators:\n\n| Operator | Purpose | Description |\n|----------|---------|-------------|\n| `<?>` | Alternative | Returns alternative value if current is invalid (alias for `orElse`) |\n| `<|>` | Default | Gets value or returns default (alias for `getOrElse`) |\n\n## Advanced Features\n\n### Error Recovery Patterns\n\n```typescript\n// Retry with exponential backoff\nconst retryTask = <T>(task: Task<T>, maxRetries: number = 3): Task<T> => {\n  const attempt = (retriesLeft: number): Task<T> =>\n    Task.tryCatch(\n      () => task.run(),\n      (error) => {\n        if (retriesLeft <= 0) throw error;\n        const delay = Math.pow(2, maxRetries - retriesLeft) * 1000;\n        return new Promise(resolve =>\n          setTimeout(() => resolve(attempt(retriesLeft - 1).run()), delay)\n        );\n      }\n    );\n\n  return attempt(maxRetries);\n};\n```\n\n### Combining Multiple Types\n\n```typescript\n// Reactive form validation\nconst createReactiveForm = () => {\n  const email = RBox.pack(\"\");\n  const password = RBox.pack(\"\");\n\n  // Real-time validation with operator chaining\n  const emailValidation = email[\"<$>\"](validateEmail);\n  const passwordValidation = password[\"<$>\"](validatePassword);\n\n  // Combine multiple validation results\n  const formValid = emailValidation\n    [\">>=\"](((emailResult) => passwordValidation\n      [\"<$>\"]((passwordResult) =>\n        emailResult.isRight && passwordResult.isRight)));\n\n  return { email, password, emailValidation, passwordValidation, formValid };\n};\n\n// Either and Task combination\nconst authenticateUser = (credentials: LoginData) =>\n  Task.from(() => Promise.resolve(validateCredentials(credentials)))\n    [\">>=\"](((validationResult) =>\n      validationResult.isRight\n        ? Task.from(() => loginAPI(validationResult.getValue()))\n        : Task.pack(Either.left(validationResult.getValue()))));\n```\n\n## Performance & Bundle Size\n\n- **Zero dependencies**: Pure TypeScript implementation\n- **Tree-shakeable**: Import only what you need\n- **Lightweight**: ~5KB gzipped for the entire library\n- **Type-safe**: Full TypeScript support with strict typing\n\n## Contributing\n\nPull requests and issue reports are welcome.\n\n### Development Environment Setup\n\n```bash\n# Clone the repository\ngit clone https://github.com/KentaroMorishita/f-box-core.git\ncd f-box-core\n\n# Install dependencies\nnpm install\n\n# Start development server\nnpm run dev\n```\n\n### Development Commands\n\n```bash\nnpm run dev      # Start Vite development server\nnpm run build    # Build the library\nnpm run lint     # TypeScript type checking\nnpm test         # Run tests with Vitest in watch mode\nnpm run coverage # Run tests with coverage report\n```\n\n### Testing\n\n- Framework: Vitest\n- Environment: jsdom\n- Run specific tests: `npm test -- Box.test.ts`\n\n## Support\n\n- [GitHub Issues](https://github.com/KentaroMorishita/f-box-core/issues) - Bug reports and feature requests\n- [F-Box React](https://github.com/KentaroMorishita/f-box-react) - React hooks and utilities\n\n## License\n\nMIT License - See the [LICENSE](./LICENSE) file for details.\n","readmeFilename":"README.md"}