{"_id":"2k-form-data-to-object","_rev":"8-445bdaeb5f58c2f3c3123fde0c8b1f49","name":"2k-form-data-to-object","dist-tags":{"latest":"1.0.14"},"versions":{"1.0.3":{"name":"2k-form-data-to-object","version":"1.0.3","keywords":["formdata","form","conversion","transform","nested-objects","object-serialization","typescript","utility","form-data","form-handling","data-transformation","nested-data","type-coercion","type-conversion","serialization","deserialization","formdata-parser","form-parser","object-mapper","data-mapper","json-conversion","bidirectional","two-way-binding","form-submission","form-validation","multipart","file-upload","blob-handling","date-serialization","array-handling","nested-forms","deep-nesting","dot-notation","object-restructuring","data-structure","javascript","web-api","browser-api","lightweight","zero-dependencies","type-safe","fully-tested","jest","es6","modern"],"author":{"name":"2K"},"license":"MIT","_id":"2k-form-data-to-object@1.0.3","maintainers":[{"name":"2_k","email":"ainasoaricajob@gmail.com"}],"dist":{"shasum":"9ee1dcef506ad009fa20414f0e2591dd0d5ccb20","tarball":"https://registry.npmjs.org/2k-form-data-to-object/-/2k-form-data-to-object-1.0.3.tgz","fileCount":14,"integrity":"sha512-9wQQBVaO96WI4H3DOxaFXM0XLCRTaDRomiNJaytyKZ2eRO7Oi5nTzaxq8ZPZLM5G+LoL1sJ9tE1F+8k+j5xgiw==","signatures":[{"sig":"MEYCIQDNec3O1X0eiLb2alNDZjhB5xRcHJO5aY5pMVhktE1i+wIhAPXohlpVJZqPcvWtbBAufwjDq4exM+plIyY5O4LY2cOu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22577},"main":"index.js","type":"module","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"0e8970a439cf692d4dbfb3b4d1d68a794bcb04b4","scripts":{"test":"jest","build":"npm run clean && npm run build:cjs && npm run build:esm","clean":"rimraf dist","release":"npm run test && npm run build && npm version patch && npm publish --access public","build:cjs":"tsc --module commonjs --outDir dist/cjs --declaration false","build:esm":"tsc --module esnext --outDir dist/esm --declaration false","test:watch":"jest --watch","build:watch":"tsc --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"2_k","email":"ainasoaricajob@gmail.com"},"_npmVersion":"11.14.1","description":"A lightweight TypeScript utility library for seamlessly converting between FormData and nested JavaScript objects. Perfect for handling complex form submissions with hierarchical data structures.","directories":{},"_nodeVersion":"24.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.5.1","rimraf":"^6.1.3","ts-jest":"^29.4.12","@swc/core":"^1.16.2","@swc/jest":"^0.2.39","typescript":"^6.0.2","@types/jest":"^30.0.0","jest-environment-jsdom":"^30.5.1"},"_npmOperationalInternal":{"tmp":"tmp/2k-form-data-to-object_1.0.3_1788600939002_0.03405097302848592","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"2k-form-data-to-object","version":"1.0.4","keywords":["formdata","form","conversion","transform","nested-objects","object-serialization","typescript","utility","form-data","form-handling","data-transformation","nested-data","type-coercion","type-conversion","serialization","deserialization","formdata-parser","form-parser","object-mapper","data-mapper","json-conversion","bidirectional","two-way-binding","form-submission","form-validation","multipart","file-upload","blob-handling","date-serialization","array-handling","nested-forms","deep-nesting","dot-notation","object-restructuring","data-structure","javascript","web-api","browser-api","lightweight","zero-dependencies","type-safe","fully-tested","jest","es6","modern"],"author":{"name":"2K"},"license":"MIT","_id":"2k-form-data-to-object@1.0.4","maintainers":[{"name":"2_k","email":"ainasoaricajob@gmail.com"}],"dist":{"shasum":"38d518ddc3cee042c10b36f9a477aa8657dd279b","tarball":"https://registry.npmjs.org/2k-form-data-to-object/-/2k-form-data-to-object-1.0.4.tgz","fileCount":17,"integrity":"sha512-gHbSwiqnWDhtzl4ZrJR8/yUjsw+UKFuhVtu8Pmh7CqJEAfo6HKqoBM2Kq1+CLjxDlQsqWNrX8pNjqna8P27HWg==","signatures":[{"sig":"MEYCIQCQBWFGQ4qevwQvx0Gvdo38VKB/Pdq/FvRVJ/e9qdMlUAIhAIkYeEjqsiAx6cpDG4heQPR14U3wWRW0nf2BkajbCRzd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD3WZrtclKIBMy5Jc1Ej9CqidnWEjf37zhMEtXnrbYv2gIgR5t9BT28Bm5lPaSfRkuwGyo2+ynj0bUOhQ0Y/iY/ZeE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23429},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"aea15f61ecd16b339440d23885fb9642ade7e319","scripts":{"test":"jest","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm","clean":"rimraf dist","prepare":"npm run build","release":"npm run test && npm run build && npm version patch && npm publish --access public","build:cjs":"tsc --module commonjs --outDir dist/cjs --declaration false","build:esm":"tsc --module esnext --outDir dist/esm --declaration false","test:watch":"jest --watch","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types","build:watch":"tsc --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"2_k","email":"ainasoaricajob@gmail.com"},"_npmVersion":"11.14.1","description":"A lightweight TypeScript utility library for seamlessly converting between FormData and nested JavaScript objects. Perfect for handling complex form submissions with hierarchical data structures.","directories":{},"_nodeVersion":"24.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.5.1","rimraf":"^6.1.3","ts-jest":"^29.4.12","@swc/core":"^1.16.2","@swc/jest":"^0.2.39","typescript":"^6.0.2","@types/jest":"^30.0.0","jest-environment-jsdom":"^30.5.1"},"_npmOperationalInternal":{"tmp":"tmp/2k-form-data-to-object_1.0.4_1788603247823_0.4884068941406463","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"2k-form-data-to-object","version":"1.0.6","keywords":["formdata","form","conversion","transform","nested-objects","object-serialization","typescript","utility","form-data","form-handling","data-transformation","nested-data","type-coercion","type-conversion","serialization","deserialization","formdata-parser","form-parser","object-mapper","data-mapper","json-conversion","bidirectional","two-way-binding","form-submission","form-validation","multipart","file-upload","blob-handling","date-serialization","array-handling","nested-forms","deep-nesting","dot-notation","object-restructuring","data-structure","javascript","web-api","browser-api","lightweight","zero-dependencies","type-safe","fully-tested","jest","es6","modern"],"author":{"name":"2K"},"license":"MIT","_id":"2k-form-data-to-object@1.0.6","maintainers":[{"name":"2_k","email":"ainasoaricajob@gmail.com"}],"dist":{"shasum":"200d17912e8308647ed333d20dc1d38364532237","tarball":"https://registry.npmjs.org/2k-form-data-to-object/-/2k-form-data-to-object-1.0.6.tgz","fileCount":17,"integrity":"sha512-SIHMbg24W+fzDE/VV35epzo7pBYLONealGGpdLwNc5l0uxD/CrSKqnWoHcCZ6HrMbavG/R+pSLwDDoFxzxeVVw==","signatures":[{"sig":"MEUCIF6C47Q1s0JFAgyis+9PWfMRCWM3QokCC8ddROo+qc33AiEAjheuuF+6DlPCEZAD8bx6OG1E3yqWrbbZoOvEUD4tlkE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDA72O2vlbxtDdDRAl2PPW51APavCUk/d+RfGRh5kN8RAiBshgnrUQMSon4vhQJnKN8eqvu50YIZqAjif2HOxw4VbA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23404},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"919736bb5e3a5be78c2ba61a1d70984ea1313f05","scripts":{"test":"jest","build":"npm run clean && npm run build:types && npm run build:cjs && npm run build:esm","clean":"rimraf dist","prepare":"npm run build","release":"npm run test && npm run build && npm version patch && npm publish --access public","build:cjs":"tsc --module commonjs --outDir dist/cjs --declaration false","build:esm":"tsc --module esnext --outDir dist/esm --declaration false","test:watch":"jest --watch","build:types":"tsc --declaration --emitDeclarationOnly --outDir dist/types","build:watch":"tsc --watch","test:coverage":"jest --coverage","prepublishOnly":"npm run test && npm run build"},"_npmUser":{"name":"2_k","email":"ainasoaricajob@gmail.com"},"_npmVersion":"11.14.1","description":"A lightweight TypeScript utility library for seamlessly converting between FormData and nested JavaScript objects. Perfect for handling complex form submissions with hierarchical data structures.","directories":{},"_nodeVersion":"24.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.5.1","rimraf":"^6.1.3","ts-jest":"^29.4.12","@swc/core":"^1.16.2","@swc/jest":"^0.2.39","typescript":"^6.0.2","@types/jest":"^30.0.0","jest-environment-jsdom":"^30.5.1"},"_npmOperationalInternal":{"tmp":"tmp/2k-form-data-to-object_1.0.6_1788604573904_0.7158053541601148","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"2k-form-data-to-object","version":"1.0.7","keywords":["formdata","form","conversion","transform","nested-objects","object-serialization","typescript","utility","form-data","form-handling","data-transformation","nested-data","type-coercion","type-conversion","serialization","deserialization","formdata-parser","form-parser","object-mapper","data-mapper","json-conversion","bidirectional","two-way-binding","form-submission","form-validation","multipart","file-upload","blob-handling","date-serialization","array-handling","nested-forms","deep-nesting","dot-notation","object-restructuring","data-structure","javascript","web-api","browser-api","lightweight","zero-dependencies","type-safe","fully-tested","jest","es6","modern"],"author":{"name":"2K"},"license":"MIT","_id":"2k-form-data-to-object@1.0.7","maintainers":[{"name":"2_k","email":"ainasoaricajob@gmail.com"}],"dist":{"shasum":"5021248d86b1529d24eb8b1517d6ef2476c0f64f","tarball":"https://registry.npmjs.org/2k-form-data-to-object/-/2k-form-data-to-object-1.0.7.tgz","fileCount":11,"integrity":"sha512-7Wlg4wt996twRsxKvQ4iLfUmKgT7PjVY6zk3LXGW9xgOauVjZvKnvOlvis6tVnXJujCmfp5ZKMsKVsfq1dusIQ==","signatures":[{"sig":"MEUCIQCJAohZHx36FsxfFvF8uhZHsNvSYNaXwzfAt+0SujpIwAIgRI4imVF+dyXUBM/kTw9IG8AiRguOCzTSS16ZWEK2U2E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFI2dMetHeHP8xzF0O3ZGz8+Y54iTjN80UbJLuMclr6PAiEAuZIMeMQMjhnJ+arF643jGNz1X7ZsTW4EwQVRGRvVpSA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16287},"main":"./dist/cjs/index.js","type":"module","types":"./dist/types/index.d.ts","module":"./dist/esm/index.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/esm/index.js","require":"./dist/cjs/index.js"}},"gitHead":"d1aec8be67f018b09f50289564a92a7ea65455d7","scripts":{"test":"jest","build":"npm run clean && tsc","clean":"rimraf dist","release":"npm run test && npm run build && npm version patch && npm publish --access public","test:watch":"jest --watch","build:watch":"tsc --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"2_k","email":"ainasoaricajob@gmail.com"},"_npmVersion":"11.14.1","description":"A lightweight TypeScript utility library for seamlessly converting between FormData and nested JavaScript objects. Perfect for handling complex form submissions with hierarchical data structures.","directories":{},"_nodeVersion":"24.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.5.1","rimraf":"^6.1.3","ts-jest":"^29.4.12","@swc/core":"^1.16.2","@swc/jest":"^0.2.39","typescript":"^6.0.2","@types/jest":"^30.0.0","jest-environment-jsdom":"^30.5.1"},"_npmOperationalInternal":{"tmp":"tmp/2k-form-data-to-object_1.0.7_1788605224700_0.8770959513940328","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"2k-form-data-to-object","version":"1.0.8","keywords":["formdata","form","conversion","transform","nested-objects","object-serialization","typescript","utility","form-data","form-handling","data-transformation","nested-data","type-coercion","type-conversion","serialization","deserialization","formdata-parser","form-parser","object-mapper","data-mapper","json-conversion","bidirectional","two-way-binding","form-submission","form-validation","multipart","file-upload","blob-handling","date-serialization","array-handling","nested-forms","deep-nesting","dot-notation","object-restructuring","data-structure","javascript","web-api","browser-api","lightweight","zero-dependencies","type-safe","fully-tested","jest","es6","modern"],"author":{"name":"2K"},"license":"MIT","_id":"2k-form-data-to-object@1.0.8","maintainers":[{"name":"2_k","email":"ainasoaricajob@gmail.com"}],"dist":{"shasum":"6769fc458d523289c0a3d30c941c4faef98bdd85","tarball":"https://registry.npmjs.org/2k-form-data-to-object/-/2k-form-data-to-object-1.0.8.tgz","fileCount":11,"integrity":"sha512-cB2nwc4W7XNssR4lHk+zZEX7GzWG70ZEvYmvWeg74LU7x8G+TK5mt62y0mvioStwgdSEqLBGYuNpKRkCJOP52w==","signatures":[{"sig":"MEYCIQCnzmcKjTZw3JEcd7lba9GLVk6bz+4ZFHdNERWLm5Ky+QIhANLhvXQxmMQ8sBA19uodAj0/JGFN8l/w2PJ7h2JKYc64","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGS0/oGz6Sg8Bjuuygk7jnW9g0RUUX5+AsRAgQ/ADNCaAiEAmPVeb10lOBFfZHeRKNfmF2sizztj9aaWicGfCPQunXs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16259},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"c4c66338541f1c04ab0b0a4c08abf4799d061530","scripts":{"test":"jest","build":"npm run clean && tsc","clean":"rimraf dist","release":"npm run test && npm run build && npm version patch && npm publish --access public","test:watch":"jest --watch","build:watch":"tsc --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"2_k","email":"ainasoaricajob@gmail.com"},"_npmVersion":"11.14.1","description":"A lightweight TypeScript utility library for seamlessly converting between FormData and nested JavaScript objects. Perfect for handling complex form submissions with hierarchical data structures.","directories":{},"_nodeVersion":"24.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.5.1","rimraf":"^6.1.3","ts-jest":"^29.4.12","@swc/core":"^1.16.2","@swc/jest":"^0.2.39","typescript":"^6.0.2","@types/jest":"^30.0.0","jest-environment-jsdom":"^30.5.1"},"_npmOperationalInternal":{"tmp":"tmp/2k-form-data-to-object_1.0.8_1788605506254_0.41935186748412945","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"2k-form-data-to-object","version":"1.0.9","keywords":["formdata","form","conversion","transform","nested-objects","object-serialization","typescript","utility","form-data","form-handling","data-transformation","nested-data","type-coercion","type-conversion","serialization","deserialization","formdata-parser","form-parser","object-mapper","data-mapper","json-conversion","bidirectional","two-way-binding","form-submission","form-validation","multipart","file-upload","blob-handling","date-serialization","array-handling","nested-forms","deep-nesting","dot-notation","object-restructuring","data-structure","javascript","web-api","browser-api","lightweight","zero-dependencies","type-safe","fully-tested","jest","es6","modern"],"author":{"name":"2K"},"license":"MIT","_id":"2k-form-data-to-object@1.0.9","maintainers":[{"name":"2_k","email":"ainasoaricajob@gmail.com"}],"dist":{"shasum":"a37abdd88738611c0844571356ee6810ef0ef405","tarball":"https://registry.npmjs.org/2k-form-data-to-object/-/2k-form-data-to-object-1.0.9.tgz","fileCount":11,"integrity":"sha512-K3DcoifuHiY827DWHv4411K3ZIXR3w0QdEJiidmXL93eNUkbBp6byyvOLp0kbmFQFDE8w2yDm1wKzrg4Lmd82A==","signatures":[{"sig":"MEUCIQC8+Wr7tVwcadItUEuQaDdZHA3MQuhZePeZRBPkjmH6SwIgCodBNDGcqj3Drfm+W7EqIKfMh3YlEhwvWt33WF8W1RM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBJhLdWOL0Jh6kq1t4RB0vKWoNDCV+zFtoojVciKdGQaAiEA251SyApxo8Le9jWPACb8WV2aCjPKNpDinLgIHinObs8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16271},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"7ef1b25b3846808a5232fbdb11fbca90b716b578","scripts":{"test":"jest","build":"npm run clean && tsc","clean":"rimraf dist","release":"npm run test && npm run build && npm version patch && npm publish --access public","test:watch":"jest --watch","build:watch":"tsc --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"2_k","email":"ainasoaricajob@gmail.com"},"_npmVersion":"11.14.1","description":"A lightweight TypeScript utility library for seamlessly converting between FormData and nested JavaScript objects. Perfect for handling complex form submissions with hierarchical data structures.","directories":{},"_nodeVersion":"24.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.5.1","rimraf":"^6.1.3","ts-jest":"^29.4.12","@swc/core":"^1.16.2","@swc/jest":"^0.2.39","typescript":"^6.0.2","@types/jest":"^30.0.0","jest-environment-jsdom":"^30.5.1"},"_npmOperationalInternal":{"tmp":"tmp/2k-form-data-to-object_1.0.9_1788605959645_0.40786126174429227","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"2k-form-data-to-object","version":"1.0.10","keywords":["formdata","form","conversion","transform","nested-objects","object-serialization","typescript","utility","form-data","form-handling","data-transformation","nested-data","type-coercion","type-conversion","serialization","deserialization","formdata-parser","form-parser","object-mapper","data-mapper","json-conversion","bidirectional","two-way-binding","form-submission","form-validation","multipart","file-upload","blob-handling","date-serialization","array-handling","nested-forms","deep-nesting","dot-notation","object-restructuring","data-structure","javascript","web-api","browser-api","lightweight","zero-dependencies","type-safe","fully-tested","jest","es6","modern"],"author":{"name":"2K"},"license":"MIT","_id":"2k-form-data-to-object@1.0.10","maintainers":[{"name":"2_k","email":"ainasoaricajob@gmail.com"}],"dist":{"shasum":"1d95b0dafb13689dfd93a889d5c4d19b88233c54","tarball":"https://registry.npmjs.org/2k-form-data-to-object/-/2k-form-data-to-object-1.0.10.tgz","fileCount":11,"integrity":"sha512-xFpNFkhDxXs4OfcFT+52KeusuQc3TkM9ZHRwOXgrXcvi8raOFz9d4Lk/ZtvZIGfOAP9YSiXWcz6i2N6uZe0M9Q==","signatures":[{"sig":"MEYCIQC05JsPd28FFHfN5zr6HN5AzKYUKT2JK+e2dgu/x6ogbQIhAPNmusJ9hHmQRSAVoqX52SL1QxfNmQP9P7OPfZPzS4q9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDhkHgj/108H61gFDaKCc7lb9LjiPXyAimT/3C3bSC2rQIgJ4XQeSqM+DVkNFR5jkPuI/C04Vyu+pRseUD/j55xhB8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16267},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"63c2efebf76f8f8fa3aa8b1deff05204fb97a1b2","scripts":{"test":"jest","build":"npm run clean && tsc","clean":"rimraf dist","release":"npm run test && npm run build && npm version patch && npm publish --access public","test:watch":"jest --watch","build:watch":"tsc --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"2_k","email":"ainasoaricajob@gmail.com"},"_npmVersion":"11.14.1","description":"A lightweight TypeScript utility library for seamlessly converting between FormData and nested JavaScript objects. Perfect for handling complex form submissions with hierarchical data structures.","directories":{},"_nodeVersion":"24.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.5.1","rimraf":"^6.1.3","ts-jest":"^29.4.12","@swc/core":"^1.16.2","@swc/jest":"^0.2.39","typescript":"^6.0.2","@types/jest":"^30.0.0","jest-environment-jsdom":"^30.5.1"},"_npmOperationalInternal":{"tmp":"tmp/2k-form-data-to-object_1.0.10_1788606489968_0.14204933936952635","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"_id":"2k-form-data-to-object@1.0.14","dist":{"shasum":"8ab442cfbe3d9be992906b60dae18debcc3a0dd1","tarball":"https://registry.npmjs.org/2k-form-data-to-object/-/2k-form-data-to-object-1.0.14.tgz","fileCount":11,"integrity":"sha512-7LrLnmHtAFPXNGRPWPFk2JKnIjcBdP4JBsF2pQof/FA/FgZTiU2jZw/aZOZpri++M1YBnwFLV1QRu109SfkFPA==","signatures":[{"sig":"MEYCIQClLx/Csl6mb+8nkajfN6kpc5eyUBotRhiUogTCkDe2KQIhANff63ovYnRjODhUwuYOeDP0543ckvzpwCRMx5Ba19sR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD2F+wMRbHAbDNg1Khwmf1ZgNpTgxH5gol3K9MY5/porgIhAMnM6Tf0acnWv+sMfZslqD9DTxGEtyA+OE5hWifQO7hx"}],"unpackedSize":16257},"main":"./dist/index.js","name":"2k-form-data-to-object","type":"module","types":"./dist/index.d.ts","author":{"name":"2K"},"module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"316b596cd81fa3e45f5ed4a2bcab3fe06d1f8629","license":"MIT","scripts":{"test":"jest","build":"npm run clean && tsc","clean":"rimraf dist","release":"npm run test && npm run build && npm version patch && npm publish --access public","test:watch":"jest --watch","build:watch":"tsc --watch","test:coverage":"jest --coverage"},"version":"1.0.14","_npmUser":{"name":"2_k","email":"ainasoaricajob@gmail.com"},"keywords":["formdata","form","conversion","transform","nested-objects","object-serialization","typescript","utility","form-data","form-handling","data-transformation","nested-data","type-coercion","type-conversion","serialization","deserialization","formdata-parser","form-parser","object-mapper","data-mapper","json-conversion","bidirectional","two-way-binding","form-submission","form-validation","multipart","file-upload","blob-handling","date-serialization","array-handling","nested-forms","deep-nesting","dot-notation","object-restructuring","data-structure","javascript","web-api","browser-api","lightweight","zero-dependencies","type-safe","fully-tested","jest","es6","modern"],"_npmVersion":"11.14.1","description":"A lightweight TypeScript utility library for seamlessly converting between FormData and nested JavaScript objects. Perfect for handling complex form submissions with hierarchical data structures.","directories":{},"maintainers":[{"name":"2_k","email":"ainasoaricajob@gmail.com"}],"_nodeVersion":"24.11.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.5.1","rimraf":"^6.1.3","ts-jest":"^29.4.12","@swc/core":"^1.16.2","@swc/jest":"^0.2.39","typescript":"^6.0.2","@types/jest":"^30.0.0","jest-environment-jsdom":"^30.5.1"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/2k-form-data-to-object_1.0.14_1789041933169_0.25193498186366314"}}},"time":{"created":"2026-09-05T09:35:38.784Z","modified":"2026-09-10T12:05:33.444Z","1.0.3":"2026-09-05T09:35:39.147Z","1.0.4":"2026-09-05T10:14:07.921Z","1.0.6":"2026-09-05T10:36:13.995Z","1.0.7":"2026-09-05T10:47:04.801Z","1.0.8":"2026-09-05T10:51:46.356Z","1.0.9":"2026-09-05T10:59:19.729Z","1.0.10":"2026-09-05T11:08:10.051Z","1.0.14":"2026-09-10T12:05:33.271Z"},"author":{"name":"2K"},"license":"MIT","keywords":["formdata","form","conversion","transform","nested-objects","object-serialization","typescript","utility","form-data","form-handling","data-transformation","nested-data","type-coercion","type-conversion","serialization","deserialization","formdata-parser","form-parser","object-mapper","data-mapper","json-conversion","bidirectional","two-way-binding","form-submission","form-validation","multipart","file-upload","blob-handling","date-serialization","array-handling","nested-forms","deep-nesting","dot-notation","object-restructuring","data-structure","javascript","web-api","browser-api","lightweight","zero-dependencies","type-safe","fully-tested","jest","es6","modern"],"description":"A lightweight TypeScript utility library for seamlessly converting between FormData and nested JavaScript objects. Perfect for handling complex form submissions with hierarchical data structures.","maintainers":[{"name":"2_k","email":"ainasoaricajob@gmail.com"}],"readme":"# 2k-form-data-to-object\n\nA lightweight TypeScript utility library for seamlessly converting between FormData and nested JavaScript objects. Perfect for handling complex form submissions with hierarchical data structures.\n\n## Features\n\n✨ **Bidirectional Conversion**\n\n- Transform FormData to nested objects\n- Convert nested objects back to FormData\n- Maintain data integrity through round-trip conversions\n\n🎯 **Smart Type Handling**\n\n- Automatic type inference for strings, numbers, and booleans\n- Preserve File and Blob objects during conversion\n- Support for Date serialization (ISO 8601)\n- Handle null and undefined values intelligently\n\n🏗️ **Nested Structure Support**\n\n- Deep object nesting with dot notation (`user.address.street`)\n- Array indexing support (`items.0.name`, `items.1.name`)\n- Mixed nested objects and arrays\n\n✅ **Fully Tested**\n\n- Comprehensive Jest test suite\n- Edge case coverage\n- Type-safe with TypeScript\n\n## Installation\n\n```bash\nnpm install 2k-form-data-to-object\n```\n\nor\n\n```bash\nyarn add 2k-form-data-to-object\n```\n\n## Quick Start\n\n### FormData → Object\n\n```typescript\nimport { transformFormDataToObject } from \"2k-form-data-to-object\";\n\nconst formData = new FormData();\nformData.append(\"name\", \"John\");\nformData.append(\"age\", \"30\");\nformData.append(\"active\", \"on\");\nformData.append(\"user.email\", \"john@example.com\");\nformData.append(\"user.address.city\", \"New York\");\n\nconst result = transformFormDataToObject(formData);\n// Result:\n// {\n//   name: \"John\",\n//   age: 30,\n//   active: true,\n//   user: {\n//     email: \"john@example.com\",\n//     address: {\n//       city: \"New York\"\n//     }\n//   }\n// }\n```\n\n### Object → FormData\n\n```typescript\nimport { transformObjectToFormData } from \"2k-form-data-to-object\";\n\nconst data = {\n  name: \"John\",\n  age: 30,\n  active: true,\n  profile: {\n    email: \"john@example.com\",\n    avatar: fileObject, // File or Blob\n  },\n  tags: [\"javascript\", \"typescript\"],\n};\n\nconst formData = transformObjectToFormData(data);\n// FormData entries:\n// name: \"John\"\n// age: \"30\"\n// active: \"true\"\n// profile.email: \"john@example.com\"\n// profile.avatar: File\n// tags.0: \"javascript\"\n// tags.1: \"typescript\"\n```\n\n## API Reference\n\n### `transformFormDataToObject(formData: FormData): UnknownObject`\n\nConverts FormData to a nested JavaScript object with automatic type coercion.\n\n#### Parameters\n\n- `formData` (FormData): The FormData object to transform\n\n#### Returns\n\n- (UnknownObject): A nested object with intelligently typed values\n\n#### Type Conversion Rules\n\n| Input              | Output  | Example                  |\n| ------------------ | ------- | ------------------------ |\n| `\"true\"`/`\"false\"` | boolean | `\"true\"`→`true`          |\n| `\"on\"`/`\"off\"`     | boolean | `\"on\"`→`true`            |\n| Numeric string     | number  | `\"42\"`→`42`              |\n| File object        | File    | `File`→`File`(unchanged) |\n| Regular string     | string  | `\"hello\"`→`\"hello\"`      |\n\n#### Dot Notation Examples\n\n- `user.name` → `{ user: { name: \"...\" } }`\n- `items.0.id` → `{ items: [{ id: \"...\" }] }`\n- `config.nested.deep.value` → deeply nested objects\n\n---\n\n### `transformObjectToFormData(object: Record<string, FormDataValue>): FormData`\n\nConverts a nested JavaScript object to FormData with proper serialization.\n\n#### Parameters\n\n- `object` (Record<string, FormDataValue>): The object to transform\n\n#### Returns\n\n- (FormData): A FormData object ready for submission\n\n#### Supported Types\n\n```typescript\ntype FormDataValue =\n  | string\n  | number\n  | boolean\n  | bigint\n  | Date\n  | File\n  | Blob\n  | null\n  | undefined\n  | FormDataValue[]\n  | { [key: string]: FormDataValue };\n```\n\n#### Serialization Rules\n\n| Input Type         | Serialized As   | Notes                       |\n| ------------------ | --------------- | --------------------------- |\n| `File`/`Blob`      | Raw value       | Preserved as-is             |\n| `Date`             | ISO 8601 string | Uses`toISOString()`         |\n| `null`/`undefined` | Omitted         | Not included in FormData    |\n| `Array`            | Indexed keys    | `[a, b]`→`0: a, 1: b`       |\n| `Object`           | Nested keys     | `{x: y}`→`x: y`             |\n| Primitives         | String          | `true`→`\"true\"`,`42`→`\"42\"` |\n\n---\n\n## Usage Examples\n\n### Complex Nested Form\n\n```typescript\nconst form = new FormData();\nform.append(\"user.profile.firstName\", \"Jane\");\nform.append(\"user.profile.lastName\", \"Doe\");\nform.append(\"user.contacts.0\", \"jane@example.com\");\nform.append(\"user.contacts.1\", \"jane.doe@work.com\");\nform.append(\"user.active\", \"true\");\nform.append(\"user.age\", \"28\");\n\nconst result = transformFormDataToObject(form);\n// {\n//   user: {\n//     profile: {\n//       firstName: \"Jane\",\n//       lastName: \"Doe\"\n//     },\n//     contacts: [\"jane@example.com\", \"jane.doe@work.com\"],\n//     active: true,\n//     age: 28\n//   }\n// }\n```\n\n### File Handling\n\n```typescript\nconst formData = new FormData();\nconst file = new File([\"content\"], \"document.pdf\");\n\nformData.append(\"document\", file);\nformData.append(\"metadata.title\", \"My Document\");\n\nconst result = transformFormDataToObject(formData);\n// {\n//   document: File,\n//   metadata: {\n//     title: \"My Document\"\n//   }\n// }\n```\n\n### Date Serialization\n\n```typescript\nconst data = {\n  createdAt: new Date(\"2024-01-15\"),\n  updatedAt: new Date(\"2024-01-20\"),\n  name: \"Project\",\n};\n\nconst formData = transformObjectToFormData(data);\n// FormData contains:\n// createdAt: \"2024-01-15T00:00:00.000Z\"\n// updatedAt: \"2024-01-20T00:00:00.000Z\"\n// name: \"Project\"\n```\n\n### Array Handling\n\n```typescript\n// Object to FormData\nconst data = {\n  items: [\n    { id: 1, name: \"Item 1\" },\n    { id: 2, name: \"Item 2\" },\n  ],\n};\n\nconst formData = transformObjectToFormData(data);\n// FormData entries:\n// items.0.id: \"1\"\n// items.0.name: \"Item 1\"\n// items.1.id: \"2\"\n// items.1.name: \"Item 2\"\n```\n\n---\n\n## Testing\n\nThe library includes a comprehensive Jest test suite covering:\n\n- ✅ Basic type conversions\n- ✅ Nested object transformations\n- ✅ Array handling and indexing\n- ✅ File and Blob preservation\n- ✅ Date serialization\n- ✅ Edge cases (null, undefined, empty values)\n- ✅ Round-trip conversions (object → FormData → object)\n\nRun tests with:\n\n```bash\nnpm test\n```\n\n---\n\n## TypeScript Support\n\nFull TypeScript support with strict type safety:\n\n```typescript\nimport {\n  transformFormDataToObject,\n  transformObjectToFormData,\n} from \"@2_k/2k-form-data-to-object\";\n\n// Type-safe usage\nconst data: Record<string, FormDataValue> = {\n  name: \"John\",\n  age: 30,\n  avatar: fileObject,\n};\n\nconst formData = transformObjectToFormData(data);\nconst result = transformFormDataToObject(formData);\n```\n\n---\n\n## Use Cases\n\n- 📝 **Form Submission**: Convert HTML form data to structured objects\n- 🔄 **API Integration**: Prepare nested data for multipart form requests\n- 📤 **File Uploads**: Handle file uploads with additional metadata\n- 🗂️ **Data Validation**: Work with typed objects before form submission\n- 🔁 **Data Serialization**: Round-trip conversion for data persistence\n\n---\n\n## Performance\n\nOptimized for typical form sizes with:\n\n- Minimal memory overhead\n- Single-pass processing\n- Efficient recursion handling\n- No external dependencies\n\n---\n\n## 💛 Donate via Orange Money (Madagascar)\n\n> Send your donation directly to:\n>\n> my Orange Money **📱 +261 37 65 442 50**\n>\n> Or Mvola **📱 +261 34 68 814 74**\n>\n> Or Airtel Money **📱 +261 33 36 613 20**\n>\n> _Any amount is deeply appreciated!_ 🤝\n\n## License\n\nMIT\n\n## Changelog\n\n### v1.0.0\n\n- Initial release\n- FormData ↔ Object conversion\n- Type inference for primitives\n- Nested object and array support\n- File/Blob preservation\n- Date serialization\n","readmeFilename":"README.md"}