{"_id":"@cahmoraes93/immuter","_rev":"13-7145af04c78fcc92ee4a422f4edaa9b6","name":"@cahmoraes93/immuter","dist-tags":{"latest":"1.3.0"},"versions":{"1.0.0":{"name":"@cahmoraes93/immuter","version":"1.0.0","keywords":["brasil","programação funcional","imutabilidade"],"author":{"name":"Cahmoraes","email":"ike.moraes93@gmail.com"},"license":"MIT","_id":"@cahmoraes93/immuter@1.0.0","maintainers":[{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"}],"homepage":"https://github.com/Cahmoraes/immuter#readme","bugs":{"url":"https://github.com/Cahmoraes/immuter/issues"},"dist":{"shasum":"6b70e5127b27492df2ff9dc044a9c8acd6926349","tarball":"https://registry.npmjs.org/@cahmoraes93/immuter/-/immuter-1.0.0.tgz","fileCount":33,"integrity":"sha512-iXoAxx4WMK8CorCXHR23ooPyBCNtXFoCgH5J/FX5V3utm5p51AgakmFiyRW5P2jQBgp+BIMHUFipgAVCNeI/tg==","signatures":[{"sig":"MEUCIHj+2PiRKedRGzID6fqqmK+3k/qwKTV9F7Pm5B0Mia0XAiEA8iVM04O1eJjFtyjLZzDLTMr1lMXMrxmG6uC3U+s2pyc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73564},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"38e1a64392a9a3f7b59b32861178ced55127f063","scripts":{"test":"npx vitest","build":"npx tsup --config tsup.config.ts","test:cov":"npx vitest --coverage"},"_npmUser":{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"},"repository":{"url":"git+https://github.com/Cahmoraes/immuter.git","type":"git"},"_npmVersion":"8.19.2","description":"Pacote para trabalhar com imutabilidade e clonagem profunda de estruturas de dados","directories":{},"_nodeVersion":"18.12.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^7.1.0","eslint":"^8.45.0","vitest":"^0.33.0","typescript":"^5.1.6","@vitest/coverage-v8":"^0.33.0","@rocketseat/eslint-config":"^2.0.1","eslint-plugin-vitest-globals":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/immuter_1.0.0_1689535960621_0.7146343556167103","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@cahmoraes93/immuter","version":"1.0.1","keywords":["brasil","programação funcional","imutabilidade"],"author":{"name":"Cahmoraes","email":"ike.moraes93@gmail.com"},"license":"MIT","_id":"@cahmoraes93/immuter@1.0.1","maintainers":[{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"}],"homepage":"https://github.com/Cahmoraes/immuter#readme","bugs":{"url":"https://github.com/Cahmoraes/immuter/issues"},"dist":{"shasum":"bdc395322838dc0072189403fc0263fd5cda8dd1","tarball":"https://registry.npmjs.org/@cahmoraes93/immuter/-/immuter-1.0.1.tgz","fileCount":37,"integrity":"sha512-cDfhrW0ZBetpaoiPWfFxB0t8vPZMOYdYkDJ/s7yq7ReimBDrtTItLdWTlQzRE6CsUKKzjX4EWfagG1Y8lGqehQ==","signatures":[{"sig":"MEUCIGWdD7XCZTvKtGuZr4bsz2Lr9dXQVoxOBkgCLwE7YpoTAiEA+lU04NAxK6moQDZJHkZChpgzb2G5wkIWO3Yq/YEByBQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":109835},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"e84a6d454dfa51d2d99fc1831a3ad08ccf98f6fd","scripts":{"test":"npx vitest","build":"npx tsup --config tsup.config.ts","test:cov":"npx vitest --coverage"},"_npmUser":{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"},"repository":{"url":"git+https://github.com/Cahmoraes/immuter.git","type":"git"},"_npmVersion":"8.19.2","description":"Pacote para trabalhar com imutabilidade e clonagem profunda de estruturas de dados","directories":{},"_nodeVersion":"18.12.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^7.1.0","eslint":"^8.45.0","vitest":"^0.33.0","typescript":"^5.1.6","@vitest/coverage-v8":"^0.33.0","@rocketseat/eslint-config":"^2.0.1","eslint-plugin-vitest-globals":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/immuter_1.0.1_1689536385902_0.20004006560278587","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@cahmoraes93/immuter","version":"1.0.2","keywords":["brasil","programação funcional","imutabilidade"],"author":{"name":"Cahmoraes","email":"ike.moraes93@gmail.com"},"license":"MIT","_id":"@cahmoraes93/immuter@1.0.2","maintainers":[{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"}],"homepage":"https://github.com/Cahmoraes/immuter#readme","bugs":{"url":"https://github.com/Cahmoraes/immuter/issues"},"dist":{"shasum":"82130540ea24d74d4494c58522ec3b07920b59ea","tarball":"https://registry.npmjs.org/@cahmoraes93/immuter/-/immuter-1.0.2.tgz","fileCount":9,"integrity":"sha512-eMQYuwFy7IwjE0LdpJ7raoM9U5vfn3Vrh8JzHjPVj3Ai7oAuM6wy//fij+LtY7DssAimT3nJ8kP/Wp+eIN52DA==","signatures":[{"sig":"MEYCIQD4IHrw/WF6Fw7dUw0863itv5cyVOR4NoZ8ERxqmxfrCAIhAPHd+gmnUAzLlvvpz9EgzlGxMBcAYHBJlNgRpW1YMoGz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64420},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"35029accb810c90243ad2f16671493373a219b7a","scripts":{"test":"npx vitest","build":"npx tsup --config tsup.config.ts","test:cov":"npx vitest --coverage"},"_npmUser":{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"},"repository":{"url":"git+https://github.com/Cahmoraes/immuter.git","type":"git"},"_npmVersion":"8.19.2","description":"Pacote para trabalhar com imutabilidade e clonagem profunda de estruturas de dados","directories":{},"_nodeVersion":"18.12.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^7.1.0","eslint":"^8.45.0","vitest":"^0.33.0","typescript":"^5.1.6","@vitest/coverage-v8":"^0.33.0","@rocketseat/eslint-config":"^2.0.1","eslint-plugin-vitest-globals":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/immuter_1.0.2_1689537718016_0.7312351119065106","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@cahmoraes93/immuter","version":"1.0.3","keywords":["brasil","programação funcional","imutabilidade"],"author":{"name":"Cahmoraes","email":"ike.moraes93@gmail.com"},"license":"MIT","_id":"@cahmoraes93/immuter@1.0.3","maintainers":[{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"}],"homepage":"https://github.com/Cahmoraes/immuter#readme","bugs":{"url":"https://github.com/Cahmoraes/immuter/issues"},"dist":{"shasum":"49463fc89848a3424246f33def186d80cf31c06d","tarball":"https://registry.npmjs.org/@cahmoraes93/immuter/-/immuter-1.0.3.tgz","fileCount":8,"integrity":"sha512-Exk5cuBv7F77zCyC4ojM+f8Mx4qUbtGoPvQHyrihbVg2Xkdf0pZKH8+kdYgia7rJ3MbFAVAw4/JHzcyms15ldw==","signatures":[{"sig":"MEQCIBis98GBVdM1jhdSRrADsH7MKxC7K2A0LiIkRhgzKz97AiAbd5H8hsd2bi1QYzNg6R9vYY73w9zbcVUshrIGpwJe5w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64184},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"8a2933d92c8bc8b2ce5df3e6ccd9a9c23d1a5c4b","scripts":{"test":"npx vitest","build":"npx tsup --config tsup.config.ts","test:cov":"npx vitest --coverage"},"_npmUser":{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"},"repository":{"url":"git+https://github.com/Cahmoraes/immuter.git","type":"git"},"_npmVersion":"8.19.2","description":"Pacote para trabalhar com imutabilidade e clonagem profunda de estruturas de dados","directories":{},"_nodeVersion":"18.12.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^7.1.0","eslint":"^8.45.0","vitest":"^0.33.0","typescript":"^5.1.6","@vitest/coverage-v8":"^0.33.0","@rocketseat/eslint-config":"^2.0.1","eslint-plugin-vitest-globals":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/immuter_1.0.3_1689537902849_0.9127697828450592","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"@cahmoraes93/immuter","version":"1.0.4","keywords":["brasil","programação funcional","imutabilidade"],"author":{"name":"Cahmoraes","email":"ike.moraes93@gmail.com"},"license":"MIT","_id":"@cahmoraes93/immuter@1.0.4","maintainers":[{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"}],"homepage":"https://github.com/Cahmoraes/immuter#readme","bugs":{"url":"https://github.com/Cahmoraes/immuter/issues"},"dist":{"shasum":"bdc522a21b6fe0f24be4a007860a89d7a1b7e786","tarball":"https://registry.npmjs.org/@cahmoraes93/immuter/-/immuter-1.0.4.tgz","fileCount":8,"integrity":"sha512-gn/qn6d/CRbD1/7guwiuJCrnq/67S1W5u8bdJqfe7DY1UUj1YeWHFt+hTay+1S1L2jqn3s4PRgonuKCgx8KMHQ==","signatures":[{"sig":"MEYCIQC3xa0cvgc7eU+r9meBlkV9dH+6sFiyHVXF+dkiGA7tOgIhAMk/ZTK8m/itunVzsLYWKEtp4qasfv2nauY4DrK643dL","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":64236},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"549f5f4fae1c2b3fa2f8e454da46d0601663749a","scripts":{"test":"npx vitest","build":"npx tsup --config tsup.config.ts","test:cov":"npx vitest --coverage"},"_npmUser":{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"},"repository":{"url":"git+https://github.com/Cahmoraes/immuter.git","type":"git"},"_npmVersion":"8.19.2","description":"Pacote para trabalhar com imutabilidade e clonagem profunda de estruturas de dados","directories":{},"_nodeVersion":"18.12.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^7.1.0","eslint":"^8.45.0","vitest":"^0.33.0","typescript":"^5.1.6","@vitest/coverage-v8":"^0.33.0","@rocketseat/eslint-config":"^2.0.1","eslint-plugin-vitest-globals":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/immuter_1.0.4_1689549064367_0.7641547882130086","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"@cahmoraes93/immuter","version":"1.0.5","keywords":["brasil","programação funcional","imutabilidade"],"author":{"name":"Cahmoraes","email":"ike.moraes93@gmail.com"},"license":"MIT","_id":"@cahmoraes93/immuter@1.0.5","maintainers":[{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"}],"homepage":"https://github.com/Cahmoraes/immuter#readme","bugs":{"url":"https://github.com/Cahmoraes/immuter/issues"},"dist":{"shasum":"69d933d67fc0f1523b98ae6b7a7d8caf426dc08d","tarball":"https://registry.npmjs.org/@cahmoraes93/immuter/-/immuter-1.0.5.tgz","fileCount":6,"integrity":"sha512-cpakM+xbxDZ5HOFYcj40ddJTutHTg/xczxb8l3HPZjdldDPnnOP6m+w46o4VAxGZjMSWfrKV5guC2Tu055U8Ww==","signatures":[{"sig":"MEUCIQDR0wTQVcZkqRP3pDZVCzYHvvbbVnFFR9qs8bWOctlINQIgUUpzDXs17POTIFLP+Ll327TRb6xrG1d5k2SlcaGmKbg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16957},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"484b8f45b72bbc7016f84479a477d4f7b06214a5","scripts":{"test":"npx vitest","build":"npx tsup --config tsup.config.ts","test:cov":"npx vitest --coverage"},"_npmUser":{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"},"repository":{"url":"git+https://github.com/Cahmoraes/immuter.git","type":"git"},"_npmVersion":"8.19.2","description":"Pacote para trabalhar com imutabilidade e clonagem profunda de estruturas de dados","directories":{},"_nodeVersion":"18.12.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^7.1.0","eslint":"^8.45.0","vitest":"^0.33.0","typescript":"^5.1.6","@vitest/coverage-v8":"^0.33.0","@rocketseat/eslint-config":"^2.0.1","eslint-plugin-vitest-globals":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/immuter_1.0.5_1689599990023_0.23961123119730132","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@cahmoraes93/immuter","version":"1.1.0","keywords":["brasil","programação funcional","imutabilidade"],"author":{"name":"Cahmoraes","email":"ike.moraes93@gmail.com"},"license":"MIT","_id":"@cahmoraes93/immuter@1.1.0","maintainers":[{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"}],"homepage":"https://github.com/Cahmoraes/immuter#readme","bugs":{"url":"https://github.com/Cahmoraes/immuter/issues"},"dist":{"shasum":"aafa88a19ea7b26ac8dc635f911dfc07623e5aac","tarball":"https://registry.npmjs.org/@cahmoraes93/immuter/-/immuter-1.1.0.tgz","fileCount":6,"integrity":"sha512-cqH0JSVTZGt+ZnVohXoPejbPYngZuXXeYwU2a8AcU4lkuYsjr9ydAPYXsk0W0WbrAa07vIzsnZbom52UWx+XAg==","signatures":[{"sig":"MEYCIQCuD7ouvsM9OniotoibTPDfUKwBB0cX5RaWNNb4/MMfZQIhAMbYj/Kw1eyOWgmapN/Yjxap5nzTf0skQgPtfCmbcfYT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19310},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"f129004b7bbd5934747643dcb134d51696c124c9","scripts":{"test":"npx vitest","build":"npx tsup --config tsup.config.ts","test:cov":"npx vitest --coverage"},"_npmUser":{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"},"repository":{"url":"git+https://github.com/Cahmoraes/immuter.git","type":"git"},"_npmVersion":"8.19.2","description":"Pacote para trabalhar com imutabilidade e clonagem profunda de estruturas de dados","directories":{},"_nodeVersion":"18.12.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^7.1.0","eslint":"^8.45.0","vitest":"^0.33.0","typescript":"^5.1.6","@vitest/coverage-v8":"^0.33.0","@rocketseat/eslint-config":"^2.0.1","eslint-plugin-vitest-globals":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/immuter_1.1.0_1689609203725_0.7375575160405854","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"@cahmoraes93/immuter","version":"1.1.1","keywords":["brasil","programação funcional","imutabilidade"],"author":{"name":"Cahmoraes","email":"ike.moraes93@gmail.com"},"license":"MIT","_id":"@cahmoraes93/immuter@1.1.1","maintainers":[{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"}],"homepage":"https://github.com/Cahmoraes/immuter#readme","bugs":{"url":"https://github.com/Cahmoraes/immuter/issues"},"dist":{"shasum":"fa34d97be340f7583dae6b00357d1a71152941d0","tarball":"https://registry.npmjs.org/@cahmoraes93/immuter/-/immuter-1.1.1.tgz","fileCount":8,"integrity":"sha512-bUsFE4ElaypGg+uILl2d2+cGtpZS2LNwfxlpHl1rVeYdIjrbBDTFdqJvFpfL8+SccAh+W//CdHuyTcMYNWmqxQ==","signatures":[{"sig":"MEUCICYzydiq/gaGzSB0N/fbBzIV/z5p4qAI9XTCF22LKLLQAiEAh2KZFa5omsHSrho4F6BGzLA+glaie18nM73EVFLBE8g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":69819},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"bcd252c986d7da514abe2df95be8c243fc8988d6","scripts":{"test":"npx vitest","build":"npx tsup --config tsup.config.ts","test:cov":"npx vitest --coverage"},"_npmUser":{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"},"repository":{"url":"git+https://github.com/Cahmoraes/immuter.git","type":"git"},"_npmVersion":"8.19.2","description":"Pacote para trabalhar com imutabilidade e clonagem profunda de estruturas de dados","directories":{},"_nodeVersion":"18.12.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^7.1.0","eslint":"^8.45.0","vitest":"^0.33.0","typescript":"^5.1.6","@vitest/coverage-v8":"^0.33.0","@rocketseat/eslint-config":"^2.0.1","eslint-plugin-vitest-globals":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/immuter_1.1.1_1689610740236_0.6420656680723695","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"@cahmoraes93/immuter","version":"1.1.2","keywords":["brasil","programação funcional","imutabilidade"],"author":{"name":"Cahmoraes","email":"ike.moraes93@gmail.com"},"license":"MIT","_id":"@cahmoraes93/immuter@1.1.2","maintainers":[{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"}],"homepage":"https://github.com/Cahmoraes/immuter#readme","bugs":{"url":"https://github.com/Cahmoraes/immuter/issues"},"dist":{"shasum":"ddd1fa483b86c7a38069db88ff98ea0e82d53ba9","tarball":"https://registry.npmjs.org/@cahmoraes93/immuter/-/immuter-1.1.2.tgz","fileCount":8,"integrity":"sha512-gSXGjxBstcTtPbryUQ0SWhmalRPkbHFii763EaZq/28e8SLEzDee4+FbDxoZUhmj5KhQJwcwP+vbdl8vyu/YXw==","signatures":[{"sig":"MEYCIQDG4LI6FOtam9/nJqIiILr6MpKJEa46u/oD/3WO1lx5NAIhAPOfHJp9Hsa70QKT8icIYxIJJNV63YdcHixza7r8CYTN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66073},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"59f71275a823b033f387fb8601134b005ada52f1","scripts":{"test":"npx vitest","build":"npx tsup --config tsup.config.ts","test:cov":"npx vitest --coverage"},"_npmUser":{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"},"repository":{"url":"git+https://github.com/Cahmoraes/immuter.git","type":"git"},"_npmVersion":"8.19.2","description":"Pacote para trabalhar com imutabilidade e clonagem profunda de estruturas de dados","directories":{},"_nodeVersion":"18.12.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^7.1.0","eslint":"^8.45.0","vitest":"^0.33.0","typescript":"^5.1.6","@vitest/coverage-v8":"^0.33.0","@rocketseat/eslint-config":"^2.0.1","eslint-plugin-vitest-globals":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/immuter_1.1.2_1689623294385_0.9732933265309562","host":"s3://npm-registry-packages"}},"1.1.3":{"name":"@cahmoraes93/immuter","version":"1.1.3","keywords":["brasil","programação funcional","imutabilidade"],"author":{"name":"Cahmoraes","email":"ike.moraes93@gmail.com"},"license":"MIT","_id":"@cahmoraes93/immuter@1.1.3","maintainers":[{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"}],"homepage":"https://github.com/Cahmoraes/immuter#readme","bugs":{"url":"https://github.com/Cahmoraes/immuter/issues"},"dist":{"shasum":"099d12b62526c7ebcc8c9e400fd073f5b8328324","tarball":"https://registry.npmjs.org/@cahmoraes93/immuter/-/immuter-1.1.3.tgz","fileCount":8,"integrity":"sha512-kq8ubVxEvBa5bXAz24v2qjGkHExkDS0IhfT1dGJGQeumx+nKNpEBGFO87h7JKRirumLXuGyVnOtDtxSA8k2ZYw==","signatures":[{"sig":"MEUCIF94rSuCdb5f6F9HzEXVXi/d307GyjSZIOfDAmKvfZUmAiEA0flBGspgrTPNK9e8HzjExiuETn6cb40slnyPA0WHJIk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66553},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"07e234231845656b8781ed7dc6e59ed2e6f879cd","scripts":{"test":"npx vitest","build":"npx tsup --config tsup.config.ts","test:cov":"npx vitest --coverage"},"_npmUser":{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"},"repository":{"url":"git+https://github.com/Cahmoraes/immuter.git","type":"git"},"_npmVersion":"8.19.2","description":"Pacote para trabalhar com imutabilidade e clonagem profunda de estruturas de dados","directories":{},"_nodeVersion":"18.12.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^7.1.0","eslint":"^8.45.0","vitest":"^0.33.0","typescript":"^5.1.6","@vitest/coverage-v8":"^0.33.0","@rocketseat/eslint-config":"^2.0.1","eslint-plugin-vitest-globals":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/immuter_1.1.3_1689632769820_0.7154298181783969","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"@cahmoraes93/immuter","version":"1.2.0","keywords":["brasil","programação funcional","imutabilidade"],"author":{"name":"Cahmoraes","email":"ike.moraes93@gmail.com"},"license":"MIT","_id":"@cahmoraes93/immuter@1.2.0","maintainers":[{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"}],"homepage":"https://github.com/Cahmoraes/immuter#readme","bugs":{"url":"https://github.com/Cahmoraes/immuter/issues"},"dist":{"shasum":"6589f066f0cdb9fdfa05674ac141f6ce6a56924c","tarball":"https://registry.npmjs.org/@cahmoraes93/immuter/-/immuter-1.2.0.tgz","fileCount":8,"integrity":"sha512-6pPK8bZJ9kylN1RmhmyNry9Sx8UZ7Gad8qZ+Jz+r1jjkn8+66nmYlKfao6QtaapHQjMdB4xT+ovUDP9CT7YE8A==","signatures":[{"sig":"MEYCIQDO638OvHgye+6TTsynvknWnYuu9Ud2udAQOIKRkzXT6wIhAMN5yu1amZcQnG5OtvubkY2oBhts80fyu7DlRmspEkgE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":69393},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"82da1711dbaf68ec25cc9f4b8567cbf745805201","scripts":{"test":"npx vitest","build":"npx tsup --config tsup.config.ts","test:cov":"npx vitest --coverage"},"_npmUser":{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"},"repository":{"url":"git+https://github.com/Cahmoraes/immuter.git","type":"git"},"_npmVersion":"8.19.2","description":"Pacote para trabalhar com imutabilidade e clonagem profunda de estruturas de dados","directories":{},"_nodeVersion":"18.12.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^7.1.0","eslint":"^8.45.0","vitest":"^0.33.0","typescript":"^5.1.6","@vitest/coverage-v8":"^0.33.0","@rocketseat/eslint-config":"^2.0.1","eslint-plugin-vitest-globals":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/immuter_1.2.0_1689711979993_0.9526065400190444","host":"s3://npm-registry-packages"}},"1.2.1":{"name":"@cahmoraes93/immuter","version":"1.2.1","keywords":["brasil","programação funcional","imutabilidade"],"author":{"name":"Cahmoraes","email":"ike.moraes93@gmail.com"},"license":"MIT","_id":"@cahmoraes93/immuter@1.2.1","maintainers":[{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"}],"homepage":"https://github.com/Cahmoraes/immuter#readme","bugs":{"url":"https://github.com/Cahmoraes/immuter/issues"},"dist":{"shasum":"4a66013c0c439880c87f3828d16d0b36d025323f","tarball":"https://registry.npmjs.org/@cahmoraes93/immuter/-/immuter-1.2.1.tgz","fileCount":8,"integrity":"sha512-WuG50dBdtEOC1Ixov/GEOaHz2O9kfwLQ3q16xGtZ7fBsDnsu9p7BG+g5SIEGkZwC0JoOwW4cFM7oxoHrXqVOmQ==","signatures":[{"sig":"MEUCIDdLhEm6eD9Mr/DpiAmf8LuEP/D3BGU/9hxBMw2TExAqAiEAlDhRmNmSRWrEcpJ92JLL0n0Zlb6PLKAzRJoGl4LAr8o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":69700},"main":"./dist/index.js","types":"./dist/index.d.ts","gitHead":"9d13cd51079efb6049cece57bdc3d2d2c928a9bb","scripts":{"test":"npx vitest","build":"npx tsup --config tsup.config.ts","test:cov":"npx vitest --coverage"},"_npmUser":{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"},"repository":{"url":"git+https://github.com/Cahmoraes/immuter.git","type":"git"},"_npmVersion":"8.19.2","description":"Pacote para trabalhar com imutabilidade e clonagem profunda de estruturas de dados","directories":{},"_nodeVersion":"18.12.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^7.1.0","eslint":"^8.45.0","vitest":"^0.33.0","typescript":"^5.1.6","@vitest/coverage-v8":"^0.33.0","@rocketseat/eslint-config":"^2.0.1","eslint-plugin-vitest-globals":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/immuter_1.2.1_1691007506143_0.3725588629095098","host":"s3://npm-registry-packages"}},"1.2.2":{"name":"@cahmoraes93/immuter","version":"1.2.2","keywords":["brasil","programação funcional","imutabilidade"],"author":{"name":"Cahmoraes","email":"ike.moraes93@gmail.com"},"license":"MIT","_id":"@cahmoraes93/immuter@1.2.2","maintainers":[{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"}],"homepage":"https://github.com/Cahmoraes/immuter#readme","bugs":{"url":"https://github.com/Cahmoraes/immuter/issues"},"dist":{"shasum":"fcda1d9ab190e90ce89330da9a1c6a7365418eb6","tarball":"https://registry.npmjs.org/@cahmoraes93/immuter/-/immuter-1.2.2.tgz","fileCount":8,"integrity":"sha512-7ie8EeBRyn2rhyDXa1wLFRV1lzMgLzAPilPotZw7Y/0I3F30z90TjcLQc5hfE+6S8SlMmnA4t7KEyFPdM76Xmw==","signatures":[{"sig":"MEYCIQCSKldas5DlAaRBv8eE1Ej9B25Dt/BdYs2xr4nojlgXYQIhAMIs2amRERTzr8ylFbm1TwmAisYc6sWrapyIKxFY/uED","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":69718},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","gitHead":"c337f18b94568e01202d79a99808e5e8850e29a5","scripts":{"test":"npx vitest","build":"npx tsup --config tsup.config.ts","test:cov":"npx vitest --coverage"},"_npmUser":{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"},"repository":{"url":"git+https://github.com/Cahmoraes/immuter.git","type":"git"},"_npmVersion":"10.2.3","description":"Pacote para trabalhar com imutabilidade e clonagem profunda de estruturas de dados","directories":{},"_nodeVersion":"18.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.2","eslint":"^8.45.0","vitest":"^1.4.0","typescript":"^5.1.6","@vitest/coverage-v8":"^1.4.0","@rocketseat/eslint-config":"^2.0.1","eslint-plugin-vitest-globals":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/immuter_1.2.2_1711296739386_0.23979277549008948","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"@cahmoraes93/immuter","version":"1.3.0","description":"Pacote para trabalhar com imutabilidade e clonagem profunda de estruturas de dados","main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","author":{"name":"Cahmoraes","email":"ike.moraes93@gmail.com"},"exports":{".":{"require":"./dist/index.cjs","import":"./dist/index.mjs"}},"repository":{"type":"git","url":"git+https://github.com/Cahmoraes/immuter.git"},"publishConfig":{"access":"public"},"scripts":{"test":"npx vitest","test:cov":"npx vitest --coverage","build":"npx tsup --config tsup.config.ts"},"keywords":["brasil","programação funcional","imutabilidade"],"license":"MIT","devDependencies":{"@rocketseat/eslint-config":"^2.0.1","@vitest/coverage-v8":"^2.1.4","eslint":"^9.14.0","eslint-plugin-vitest-globals":"^1.4.0","tsup":"^8.0.2","typescript":"^5.1.6","vitest":"^2.1.4"},"_id":"@cahmoraes93/immuter@1.3.0","gitHead":"c18689400dc0bd10989c88adcb80feddc1efc13d","bugs":{"url":"https://github.com/Cahmoraes/immuter/issues"},"homepage":"https://github.com/Cahmoraes/immuter#readme","_nodeVersion":"20.17.0","_npmVersion":"10.8.3","dist":{"integrity":"sha512-Bmpo1s0lWX9nQnyc/0gLvRolA+t5wltuDeqaMTh07dB9xCEsBc+S4bbWDsQbDhzrGDXdYN2QyHqHd8+4NoTakw==","shasum":"64a6fc5436edda561ad38ba3d210a51a9defb61b","tarball":"https://registry.npmjs.org/@cahmoraes93/immuter/-/immuter-1.3.0.tgz","fileCount":7,"unpackedSize":19934,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC/fjjttdjIsckFDpZMQ0SvgEF2s35x7FP1LNFWcLH8JwIgBhGMDpEHOsvOXBXp8WTD0XRU53oQQy6tpuzeCcworGU="}]},"_npmUser":{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"},"directories":{},"maintainers":[{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/immuter_1.3.0_1731244139284_0.6222104183696491"},"_hasShrinkwrap":false}},"time":{"created":"2023-07-16T19:32:40.506Z","modified":"2024-11-10T13:08:59.696Z","1.0.0":"2023-07-16T19:32:40.837Z","1.0.1":"2023-07-16T19:39:46.072Z","1.0.2":"2023-07-16T20:01:58.250Z","1.0.3":"2023-07-16T20:05:03.072Z","1.0.4":"2023-07-16T23:11:04.631Z","1.0.5":"2023-07-17T13:19:50.201Z","1.1.0":"2023-07-17T15:53:23.963Z","1.1.1":"2023-07-17T16:19:00.419Z","1.1.2":"2023-07-17T19:48:14.557Z","1.1.3":"2023-07-17T22:26:10.004Z","1.2.0":"2023-07-18T20:26:20.151Z","1.2.1":"2023-08-02T20:18:26.344Z","1.2.2":"2024-03-24T16:12:19.552Z","1.3.0":"2024-11-10T13:08:59.508Z"},"bugs":{"url":"https://github.com/Cahmoraes/immuter/issues"},"author":{"name":"Cahmoraes","email":"ike.moraes93@gmail.com"},"license":"MIT","homepage":"https://github.com/Cahmoraes/immuter#readme","keywords":["brasil","programação funcional","imutabilidade"],"repository":{"type":"git","url":"git+https://github.com/Cahmoraes/immuter.git"},"description":"Pacote para trabalhar com imutabilidade e clonagem profunda de estruturas de dados","maintainers":[{"name":"cahmoraes93","email":"ike.moraes93@gmail.com"}],"readme":"# Immuter\n\n> A biblioteca Immuter fornece utilitários para trabalhar com dados imutáveis em JavaScript e TypeScript. Ela oferece métodos para criar cópias imutáveis de objetos e estruturas de dados complexas, permitindo modificar essas cópias sem afetar os dados originais.\n>\n> [![NPM Version][npm-image]][npm-url] > [![License][license-image]][license-url]\n\nCom o Immuter, você pode:\n\n- Produzir objetos imutáveis com base em um objeto de origem, aplicando modificações através de uma função de produtor, ex: `Immuter.produce`.\n- Clonar objetos recursivamente de forma imutável, preservando a estrutura e os valores originais.\n- Trabalhar com estruturas de dados complexas, como arrays, mapas, conjuntos e datas, mantendo a imutabilidade em todos os níveis, `Immuter.clone`.\n- Por padrão, `Immuter.produce` e `Immuter.clone` geram clones recursivos e imutáveis com chamadas de `Object.freeze`, no entanto é possível desligar este comportamento globalmente ou por chamada. Isso pode ser feito por meio de uma interface amigável.\n  - Para desligar: `Immuter.global.not.freeze()`.\n  - Para ligar: `Immuter.global.freeze()`.\n  - Para desligar o comportamento imutável para cada chamada método: `Immuter.not.freeze.clone` ou `Immuter.not.freeze.produce`. (Isto faz com que a imutabilidade seja desligada somente na chamada atual, as próximas serão imutáveis, a menos que seja desligado globalmente)\n\nA abordagem imutável traz benefícios significativos para o desenvolvimento de software, como facilitar o rastreamento de alterações, evitar efeitos colaterais indesejados e simplificar o controle de estado em aplicações complexas.\n\nA biblioteca Immuter é fácil de usar e pode ser integrada em projetos JavaScript e TypeScript. Ela fornece uma API intuitiva e flexível para criar e manipular dados imutáveis, oferecendo suporte para objetos, estruturas aninhadas e tipos de dados comuns.\n\n## Instalação\n\n```bash\nnpm install @cahmoraes93/immuter\n```\n\n## API\n\n### Immuter\n\n## Método `produce`\n\nO método `produce` é uma função fornecida pela biblioteca Immuter para criar uma nova versão imutável de um objeto ou estrutura de dados complexa.\n\n### Assinatura\n\n```typescript\nproduce<T>(source: T, producer: (draft: Draft<T>) => void): T\n```\n\n### Parâmetros\n\n- `source`: O objeto ou estrutura de dados base: (Object, Map, Array, Set, Date).\n- `producer`: Uma função que recebe um rascunho (`draft`) do objeto de origem e permite realizar modificações nesse rascunho. Essas modificações são usadas para criar a nova versão imutável.\n\n### Descrição\n\nO método `produce` permite criar uma nova versão imutável de um objeto ou estrutura de dados complexa, enquanto mantém a semântica de imutabilidade e evita mutações indesejadas nos dados.\n\nA função `producer` é chamada com um rascunho (`draft`) do objeto base de origem. Esse rascunho permite que você faça modificações como se estivesse trabalhando diretamente no objeto original. No entanto, o rascunho é uma cópia isolada e não afeta o objeto original.\n\n```typescript\nconst source = {\n  name: 'John',\n  age: 30,\n  hobbies: ['music'],\n}\n\nconst nextState = Immuter.produce(source, (draft) => {\n  draft.age = 31\n  draft.hobbies.push('sport')\n})\n\nconsole.log(nextState) // { name: 'John', age: 31, hobbies: ['music', 'sport'] }\nconsole.log(nextState === source) // false\n```\n\nDurante a execução da função `producer`, você pode modificar o rascunho livremente, aplicando as alterações necessárias. Todas as modificações feitas no rascunho são registradas e usadas para criar uma nova versão imutável do objeto.\n\nO método `produce` é particularmente útil quando você precisa fazer modificações em objetos complexos, como objetos aninhados, arrays, mapas ou conjuntos, enquanto mantém a imutabilidade dos dados.\n\n```typescript\nconst source = {\n  name: 'John',\n  address: {\n    city: 'London',\n    country: 'UK',\n  },\n}\n\nconst nextState = Immuter.produce(source, (draft) => {\n  draft.address.city = 'Paris'\n})\n\nconsole.log(nextState) // { name: 'John', address: { city: 'Paris', country: 'UK' } }\nconsole.log(nextState === source) // false\n```\n\nO método `produce` garante que a nova versão imutável seja criada de forma eficiente, aproveitando a estrutura do objeto original e aplicando apenas as alterações necessárias.\n\nÉ possível configurar o método `produce` para não realizar a clonagem imutável do resultado. A API Immuter implementa o padrão Fluent API para fornecer uma interface amigável para configurar o comportamento do método `produce`.\n\n```ts\nconst nextState = Immuter.not.freeze.produce(source, (draft) => {\n  draft.address.city = 'Paris'\n})\n\nconsole.log(Object.isFrozen(nextState)) // false\n```\n\n## Método `clone`\n\nO método `clone` é uma função auxiliar fornecida pela biblioteca Immuter para criar cópias imutáveis de objetos complexos, como objetos, arrays, mapas, conjuntos e datas.\n\n### Assinatura\n\n```typescript\nclone<T>(source: T): T\n```\n\n### Parâmetros\n\n- `source`: O objeto que será clonado.\n\n### Descrição\n\nO método `clone` retorna uma nova cópia imutável do objeto de origem. A cópia é uma réplica exata do objeto original, preservando a estrutura e os valores dos seus elementos. No entanto, a cópia gerada é imutável, o que significa que não é possível realizar modificações nos seus elementos após a criação.\n\n```typescript\nconst source = {\n  name: 'John',\n  age: 30,\n}\n\nconst clonedObject = Immuter.clone(source)\n\nconsole.log(clonedObject) // { name: 'John', age: 30 }\nconsole.log(clonedObject === source) // false\n```\n\nO método `clone` é útil quando você precisa criar cópias imutáveis de objetos para garantir a preservação dos dados originais e evitar mutações acidentais. Ele é particularmente útil em cenários onde a imutabilidade dos dados é crucial, como em aplicativos com arquiteturas baseadas em fluxo de dados unidirecional. Além disso, ao trabalhar com classes, toda a cadeia de protótipo é preservada no clone resultante.\n\nÉ importante observar que o método `clone` realiza uma clonagem imutável e profunda de todos os objetos aninhados. Porém, é possível desligar o comportamento imutável utilizando `Immuter.not.clone`.\n\n```typescript\nconst source = {\n  name: 'John',\n  address: {\n    city: 'London',\n    country: 'UK',\n  },\n}\n\nconst immutableClonedObject = Immuter.clone(source)\nconsole.log(immutableClonedObject) // { name: 'John', address: { city: 'London', country: 'UK' } }\nconsole.log(immutableClonedObject.address === source.address) // false\nconsole.log(Object.isFrozen(immutableClonedObject.address)) // true\n\nconst clonedObject = Immuter.not.freeze.clone(source)\nconsole.log(clonedObject) // { name: 'John', address: { city: 'London', country: 'UK' } }\nconsole.log(clonedObject.address === source.address) // false\nconsole.log(Object.isFrozen(clonedObject.address)) // false\n```\n\nO método `clone` facilita a criação de cópias imutáveis de objetos complexos, proporcionando um controle refinado sobre a imutabilidade dos dados em sua aplicação.\n\n## Licença\n\nLicença da biblioteca: MIT.\n\n---\n\n[//]: # 'Referências de links usados na seção de \"Badges\" e outras seções'\n[npm-image]: https://img.shields.io/npm/v/minha-biblioteca.svg\n[npm-url]: https://www.npmjs.com/package/@cahmoraes93/immuter\n[license-image]: https://img.shields.io/badge/license-MIT-blue.svg\n[license-url]: https://opensource.org/licenses/MIT\n","readmeFilename":"README.md"}