{"_id":"@flatfile/mapping","_rev":"29-f485981c839b698e0fd449e3f26eb086","name":"@flatfile/mapping","dist-tags":{"latest":"1.0.5"},"versions":{"0.0.1":{"name":"@flatfile/mapping","version":"0.0.1","author":"","license":"ISC","_id":"@flatfile/mapping@0.0.1","maintainers":[{"name":"sambarrowclough","email":"sam.barrowclough@gmail.com"},{"name":"carlbrugger","email":"carlbrugger@proton.me"},{"name":"hansjhoffman","email":"hoffman.hans.j@gmail.com"},{"name":"haleymt","email":"haley@flatfile.io"},{"name":"mmccooyyy","email":"matthew.e.mccoy@gmail.com"},{"name":"ahollenbeck","email":"alexhollenbeck@gmail.com"},{"name":"maerf0x0","email":"mikegraf000@gmail.com"},{"name":"rjhyde","email":"roby@flatfile.com"},{"name":"mpoythress","email":"michael@flatfile.io"},{"name":"flatderek","email":"derek@flatfile.io"},{"name":"ashleygmulligan","email":"ashleygmulligan@gmail.com"},{"name":"alnoor","email":"alnoor@flatfile.io"},{"name":"flatfilecolin","email":"colin@flatfile.io"},{"name":"bigcountrycrane","email":"eric@flatfile.io"},{"name":"flatfileinfra","email":"infra@flatfile.io"},{"name":"bangarang","email":"me@alexjrock.com"},{"name":"madmandrit","email":"wiafe23@gmail.com"},{"name":"roberto-alcantara-ffile","email":"cicero.roberto@flatfile.io"},{"name":"mairechew","email":"mairechew@gmail.com"},{"name":"jmmander","email":"jmzmander@gmail.com"},{"name":"srmotter","email":"stephen@motter.org"},{"name":"driscollrp","email":"driscollrp@gmail.com"},{"name":"sarocu","email":"sam@sarocu.com"},{"name":"dboskovic","email":"me@david.gs"},{"name":"brentkulwicki","email":"brentkulwicki@gmail.com"},{"name":"nate.ferrero","email":"nateferrero@gmail.com"},{"name":"jaredwalters","email":"jared@kegstool.com"}],"dist":{"shasum":"9a4a30100b29ec05d8b2d6a6cc92d6a6c3a17963","tarball":"https://registry.npmjs.org/@flatfile/mapping/-/mapping-0.0.1.tgz","fileCount":21,"integrity":"sha512-w/JoSficccWwPtHlmmjBwnd6PPyt7jiZZJcZKzcB1TX2v26mgrMedysG1EPxF19p1Rt1X8yNTRv+Vd3PSHsIjg==","signatures":[{"sig":"MEQCIFsAvWKfEhvJm9rJ1UUaqCqSiNtJDW3GKBSyZYPBwi+TAiAdEaPNgkL3ESMbfIcEwElQPJgxzkPWdRu8Mb5MGGmZnw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":125322},"main":"dist/index.js","tsup":{"dts":true,"clean":true,"entry":["src/index.ts"]},"_from":"file:flatfile-mapping-0.0.1.tgz","types":"dist/index.d.ts","engines":{"node":">=16 || >=18","pnpm":">=7"},"scripts":{"dev":"tsup --watch","test":"DD_SERVICE='@flatfile/mapping' NODE_OPTIONS='-r dd-trace/ci/init' jest","build":"tsup","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","format":"prettier --write \"src/**/*.ts\" \"test/**/*.ts\"","coverage":"jest --coverage","test:watch":"jest --watch"},"_npmUser":{"name":"flatfileinfra","email":"infra@flatfile.io"},"_resolved":"/tmp/909abb2616f1923a917298fcd09fde4d/flatfile-mapping-0.0.1.tgz","_integrity":"sha512-w/JoSficccWwPtHlmmjBwnd6PPyt7jiZZJcZKzcB1TX2v26mgrMedysG1EPxF19p1Rt1X8yNTRv+Vd3PSHsIjg==","_npmVersion":"10.2.3","description":"This package contains the TypeScript mapping engine and language.","directories":{},"_nodeVersion":"18.19.0","dependencies":{"zod":"^3.22.4","axios":"^1.6.2","lodash":"^4.17.21","mathjs":"^11.11.0","@flatfile/api":"^1.6.3","@flatfile/filter-builder":"^1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.7.0","dd-trace":"^3.5.0","@types/node":"^20.9.4","@types/lodash":"^4.14.186"},"_npmOperationalInternal":{"tmp":"tmp/mapping_0.0.1_1707325248820_0.40537066594573923","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"@flatfile/mapping","version":"0.0.2","_id":"@flatfile/mapping@0.0.2","maintainers":[{"name":"sambarrowclough","email":"sam.barrowclough@gmail.com"},{"name":"carlbrugger","email":"carlbrugger@proton.me"},{"name":"hansjhoffman","email":"hoffman.hans.j@gmail.com"},{"name":"haleymt","email":"haley@flatfile.io"},{"name":"mmccooyyy","email":"matthew.e.mccoy@gmail.com"},{"name":"ahollenbeck","email":"alexhollenbeck@gmail.com"},{"name":"maerf0x0","email":"mikegraf000@gmail.com"},{"name":"rjhyde","email":"roby@flatfile.com"},{"name":"mpoythress","email":"michael@flatfile.io"},{"name":"flatderek","email":"derek@flatfile.io"},{"name":"ashleygmulligan","email":"ashleygmulligan@gmail.com"},{"name":"alnoor","email":"alnoor@flatfile.io"},{"name":"flatfilecolin","email":"colin@flatfile.io"},{"name":"bigcountrycrane","email":"eric@flatfile.io"},{"name":"flatfileinfra","email":"infra@flatfile.io"},{"name":"bangarang","email":"me@alexjrock.com"},{"name":"madmandrit","email":"wiafe23@gmail.com"},{"name":"roberto-alcantara-ffile","email":"cicero.roberto@flatfile.io"},{"name":"mairechew","email":"mairechew@gmail.com"},{"name":"jmmander","email":"jmzmander@gmail.com"},{"name":"srmotter","email":"stephen@motter.org"},{"name":"driscollrp","email":"driscollrp@gmail.com"},{"name":"sarocu","email":"sam@sarocu.com"},{"name":"dboskovic","email":"me@david.gs"},{"name":"brentkulwicki","email":"brentkulwicki@gmail.com"},{"name":"nate.ferrero","email":"nateferrero@gmail.com"},{"name":"jaredwalters","email":"jared@kegstool.com"}],"dist":{"shasum":"f221a85aceadad9e2a345a660ade9abba63673aa","tarball":"https://registry.npmjs.org/@flatfile/mapping/-/mapping-0.0.2.tgz","fileCount":36,"integrity":"sha512-Alp8ZeqdQ7yoklFgOhg+HD2v2BdXoBU6Gvw8SktApAI/Qp/TzkMIWC2jxy8u60evS36oO56+FM4H46AVtwRY5A==","signatures":[{"sig":"MEQCIHWVWl0lNFmwyZ0i/S7sTNYX/289N+BzN2LWqFq+gJJXAiBuI/bYM1oxeKE2+nMdDB8Ap+MpJV8ybRdoxxoc3LrJxw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":325095},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","browser":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"import":"./dist/react/index.js","browser":"./dist/react/index.js","require":"./dist/react/index.cjs"},"./package.json":"./package.json"},"gitHead":"f75a065790ea600a04d44ca92962062672a2d9e1","scripts":{"dev":"tsup --watch --env.NODE_ENV development","test":"jest","build":"tsup --env.NODE_ENV production","publish":"npm publish --access public","type-check":"tsc --noEmit"},"_npmUser":{"name":"sambarrowclough","email":"sam.barrowclough@gmail.com"},"_npmVersion":"9.6.7","directories":{},"_nodeVersion":"18.17.1","dependencies":{"zod":"^3.22.4","axios":"^1.6.2","lodash":"^4.17.21","mathjs":"^11.11.0","@flatfile/api":"^1.6.3","@flatfile/filter-builder":"^1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"7.1.0","react":"^18.2.0","dd-trace":"^3.5.0","@swc/core":"^1.3.66","@swc/jest":"^0.2.26","react-dom":"^18.2.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/react":"^18.2.14","@types/lodash":"^4.14.186","@testing-library/react":"^14.0.0","jest-environment-jsdom":"^29.5.0","@testing-library/jest-dom":"^5.16.5","@types/testing-library__jest-dom":"^5.14.6"},"_npmOperationalInternal":{"tmp":"tmp/mapping_0.0.2_1707735360192_0.38488839637717986","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"@flatfile/mapping","version":"0.0.3","_id":"@flatfile/mapping@0.0.3","maintainers":[{"name":"sambarrowclough","email":"sam.barrowclough@gmail.com"},{"name":"carlbrugger","email":"carlbrugger@proton.me"},{"name":"hansjhoffman","email":"hoffman.hans.j@gmail.com"},{"name":"haleymt","email":"haley@flatfile.io"},{"name":"mmccooyyy","email":"matthew.e.mccoy@gmail.com"},{"name":"ahollenbeck","email":"alexhollenbeck@gmail.com"},{"name":"maerf0x0","email":"mikegraf000@gmail.com"},{"name":"rjhyde","email":"roby@flatfile.com"},{"name":"mpoythress","email":"michael@flatfile.io"},{"name":"flatderek","email":"derek@flatfile.io"},{"name":"ashleygmulligan","email":"ashleygmulligan@gmail.com"},{"name":"alnoor","email":"alnoor@flatfile.io"},{"name":"flatfilecolin","email":"colin@flatfile.io"},{"name":"bigcountrycrane","email":"eric@flatfile.io"},{"name":"flatfileinfra","email":"infra@flatfile.io"},{"name":"bangarang","email":"me@alexjrock.com"},{"name":"madmandrit","email":"wiafe23@gmail.com"},{"name":"roberto-alcantara-ffile","email":"cicero.roberto@flatfile.io"},{"name":"mairechew","email":"mairechew@gmail.com"},{"name":"jmmander","email":"jmzmander@gmail.com"},{"name":"srmotter","email":"stephen@motter.org"},{"name":"driscollrp","email":"driscollrp@gmail.com"},{"name":"sarocu","email":"sam@sarocu.com"},{"name":"dboskovic","email":"me@david.gs"},{"name":"brentkulwicki","email":"brentkulwicki@gmail.com"},{"name":"nate.ferrero","email":"nateferrero@gmail.com"},{"name":"jaredwalters","email":"jared@kegstool.com"}],"dist":{"shasum":"3e23cc15085cd0436cc4ef457381c3f3ca4e51a9","tarball":"https://registry.npmjs.org/@flatfile/mapping/-/mapping-0.0.3.tgz","fileCount":36,"integrity":"sha512-jxpctwrUb0/6suRzK4lldM3KfNkgq+zxxsuwVuUvfO8T4eKeQBwZQD8QEFlzS8amgbynq2DbNW0ZNgPYM/EM2A==","signatures":[{"sig":"MEYCIQCjz7VIfE7u9R89jDTLYZq0KkrhSzobmfbOsdjgiAdg6QIhAKYjExGr2SC3/8mQ37sUyKpKt2acP18RyRwfTKc+LGkN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":325086},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","browser":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"import":"./dist/react/index.js","browser":"./dist/react/index.js","require":"./dist/react/index.cjs"},"./package.json":"./package.json"},"gitHead":"6f903c182d012dd548012d7c0711aeeca552aef2","scripts":{"dev":"tsup --watch --env.NODE_ENV development","test":"jest","build":"tsup --env.NODE_ENV production","publish":"npm publish --access public","type-check":"tsc --noEmit"},"_npmUser":{"name":"sambarrowclough","email":"sam.barrowclough@gmail.com"},"_npmVersion":"9.6.7","directories":{},"_nodeVersion":"18.17.1","dependencies":{"zod":"^3.22.4","axios":"^1.6.2","lodash":"^4.17.21","mathjs":"^11.11.0","@flatfile/api":"^1.6.3","@flatfile/filter-builder":"^1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"7.1.0","react":"^18.2.0","dd-trace":"^3.5.0","@swc/core":"^1.3.66","@swc/jest":"^0.2.26","react-dom":"^18.2.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/react":"^18.2.14","@types/lodash":"^4.14.186","@testing-library/react":"^14.0.0","jest-environment-jsdom":"^29.5.0","@testing-library/jest-dom":"^5.16.5","@types/testing-library__jest-dom":"^5.14.6"},"_npmOperationalInternal":{"tmp":"tmp/mapping_0.0.3_1707997104341_0.6022006450135089","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"@flatfile/mapping","version":"0.0.4","_id":"@flatfile/mapping@0.0.4","maintainers":[{"name":"sambarrowclough","email":"sam.barrowclough@gmail.com"},{"name":"carlbrugger","email":"carlbrugger@proton.me"},{"name":"hansjhoffman","email":"hoffman.hans.j@gmail.com"},{"name":"haleymt","email":"haley@flatfile.io"},{"name":"mmccooyyy","email":"matthew.e.mccoy@gmail.com"},{"name":"ahollenbeck","email":"alexhollenbeck@gmail.com"},{"name":"maerf0x0","email":"mikegraf000@gmail.com"},{"name":"rjhyde","email":"roby@flatfile.com"},{"name":"mpoythress","email":"michael@flatfile.io"},{"name":"flatderek","email":"derek@flatfile.io"},{"name":"ashleygmulligan","email":"ashleygmulligan@gmail.com"},{"name":"alnoor","email":"alnoor@flatfile.io"},{"name":"flatfilecolin","email":"colin@flatfile.io"},{"name":"bigcountrycrane","email":"eric@flatfile.io"},{"name":"flatfileinfra","email":"infra@flatfile.io"},{"name":"bangarang","email":"me@alexjrock.com"},{"name":"madmandrit","email":"wiafe23@gmail.com"},{"name":"roberto-alcantara-ffile","email":"cicero.roberto@flatfile.io"},{"name":"mairechew","email":"mairechew@gmail.com"},{"name":"jmmander","email":"jmzmander@gmail.com"},{"name":"srmotter","email":"stephen@motter.org"},{"name":"driscollrp","email":"driscollrp@gmail.com"},{"name":"sarocu","email":"sam@sarocu.com"},{"name":"dboskovic","email":"me@david.gs"},{"name":"brentkulwicki","email":"brentkulwicki@gmail.com"},{"name":"nate.ferrero","email":"nateferrero@gmail.com"},{"name":"jaredwalters","email":"jared@kegstool.com"}],"dist":{"shasum":"12e57c4f03b55a6442387307e2e49d36480492fa","tarball":"https://registry.npmjs.org/@flatfile/mapping/-/mapping-0.0.4.tgz","fileCount":36,"integrity":"sha512-53e8rdNhez10VnVijLkTqOO5d+xzdJr9ePjej6Nl+HQxuIB7EplTkih0ctqlgeWz+yvRbvT56E/Xq3wa+9VAIQ==","signatures":[{"sig":"MEQCIB7tqm88L5v8dQi68zrKcAd7Q7wVnQVWZQCIsbUWeqhcAiA871zeR2qEShr0v8+fhQ1RY+T30kAqBF3ZGmVMqx6VKw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":328711},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","browser":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"import":"./dist/react/index.js","browser":"./dist/react/index.js","require":"./dist/react/index.cjs"},"./package.json":"./package.json"},"gitHead":"6f903c182d012dd548012d7c0711aeeca552aef2","scripts":{"dev":"tsup --watch --env.NODE_ENV development","test":"jest","build":"tsup --env.NODE_ENV production","publish":"npm publish --access public","type-check":"tsc --noEmit"},"_npmUser":{"name":"sambarrowclough","email":"sam.barrowclough@gmail.com"},"_npmVersion":"9.6.7","directories":{},"_nodeVersion":"18.17.1","dependencies":{"zod":"^3.22.4","axios":"^1.6.2","lodash":"^4.17.21","mathjs":"^11.11.0","@flatfile/api":"^1.6.3","@flatfile/filter-builder":"^1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"7.1.0","react":"^18.2.0","dd-trace":"^3.5.0","@swc/core":"^1.3.66","@swc/jest":"^0.2.26","react-dom":"^18.2.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/react":"^18.2.14","@types/lodash":"^4.14.186","@testing-library/react":"^14.0.0","jest-environment-jsdom":"^29.5.0","@testing-library/jest-dom":"^5.16.5","@types/testing-library__jest-dom":"^5.14.6"},"_npmOperationalInternal":{"tmp":"tmp/mapping_0.0.4_1708089183587_0.039274094609553556","host":"s3://npm-registry-packages"}},"0.0.5":{"name":"@flatfile/mapping","version":"0.0.5","_id":"@flatfile/mapping@0.0.5","maintainers":[{"name":"sambarrowclough","email":"sam.barrowclough@gmail.com"},{"name":"carlbrugger","email":"carlbrugger@proton.me"},{"name":"hansjhoffman","email":"hoffman.hans.j@gmail.com"},{"name":"haleymt","email":"haley@flatfile.io"},{"name":"mmccooyyy","email":"matthew.e.mccoy@gmail.com"},{"name":"ahollenbeck","email":"alexhollenbeck@gmail.com"},{"name":"maerf0x0","email":"mikegraf000@gmail.com"},{"name":"rjhyde","email":"roby@flatfile.com"},{"name":"mpoythress","email":"michael@flatfile.io"},{"name":"flatderek","email":"derek@flatfile.io"},{"name":"ashleygmulligan","email":"ashleygmulligan@gmail.com"},{"name":"alnoor","email":"alnoor@flatfile.io"},{"name":"flatfilecolin","email":"colin@flatfile.io"},{"name":"bigcountrycrane","email":"eric@flatfile.io"},{"name":"flatfileinfra","email":"infra@flatfile.io"},{"name":"bangarang","email":"me@alexjrock.com"},{"name":"madmandrit","email":"wiafe23@gmail.com"},{"name":"roberto-alcantara-ffile","email":"cicero.roberto@flatfile.io"},{"name":"mairechew","email":"mairechew@gmail.com"},{"name":"jmmander","email":"jmzmander@gmail.com"},{"name":"srmotter","email":"stephen@motter.org"},{"name":"driscollrp","email":"driscollrp@gmail.com"},{"name":"sarocu","email":"sam@sarocu.com"},{"name":"dboskovic","email":"me@david.gs"},{"name":"brentkulwicki","email":"brentkulwicki@gmail.com"},{"name":"nate.ferrero","email":"nateferrero@gmail.com"},{"name":"jaredwalters","email":"jared@kegstool.com"}],"dist":{"shasum":"d6dc1d5cc5d5e6f33b15503abd17d15b979636c1","tarball":"https://registry.npmjs.org/@flatfile/mapping/-/mapping-0.0.5.tgz","fileCount":36,"integrity":"sha512-CAo7rASXB2257a1oueJN12/ljkm8YOEBAPwtsa+byEU7sGN2lcretFHzjttRcQIogboMDDOKRs++SOVhbwmlyA==","signatures":[{"sig":"MEQCIA1eoeUqHtGergai4VkbKgSooNMFuNJuakINM2pOFrh+AiAv4EOpFHybxz+fTbBHt0idikIZzIlmkmtPo4yI6MK4/w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":330296},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","browser":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"import":"./dist/react/index.js","browser":"./dist/react/index.js","require":"./dist/react/index.cjs"},"./package.json":"./package.json"},"gitHead":"c56aca1a06b122d800e337465c9ff1cfafe59a84","scripts":{"dev":"tsup --watch --env.NODE_ENV development","test":"jest","build":"tsup --env.NODE_ENV production","publish":"npm publish --access public","type-check":"tsc --noEmit"},"_npmUser":{"name":"sambarrowclough","email":"sam.barrowclough@gmail.com"},"_npmVersion":"9.6.7","directories":{},"_nodeVersion":"18.17.1","dependencies":{"zod":"^3.22.4","axios":"^1.6.2","lodash":"^4.17.21","mathjs":"^11.11.0","@flatfile/api":"^1.6.3","@flatfile/filter-builder":"^1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"7.1.0","react":"^18.2.0","dd-trace":"^3.5.0","@swc/core":"^1.3.66","@swc/jest":"^0.2.26","react-dom":"^18.2.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/react":"^18.2.14","@types/lodash":"^4.14.186","@testing-library/react":"^14.0.0","jest-environment-jsdom":"^29.5.0","@testing-library/jest-dom":"^5.16.5","@types/testing-library__jest-dom":"^5.14.6"},"_npmOperationalInternal":{"tmp":"tmp/mapping_0.0.5_1708099079924_0.47962194401233393","host":"s3://npm-registry-packages"}},"0.0.6":{"name":"@flatfile/mapping","version":"0.0.6","_id":"@flatfile/mapping@0.0.6","maintainers":[{"name":"sambarrowclough","email":"sam.barrowclough@gmail.com"},{"name":"carlbrugger","email":"carlbrugger@proton.me"},{"name":"hansjhoffman","email":"hoffman.hans.j@gmail.com"},{"name":"haleymt","email":"haley@flatfile.io"},{"name":"mmccooyyy","email":"matthew.e.mccoy@gmail.com"},{"name":"ahollenbeck","email":"alexhollenbeck@gmail.com"},{"name":"maerf0x0","email":"mikegraf000@gmail.com"},{"name":"rjhyde","email":"roby@flatfile.com"},{"name":"mpoythress","email":"michael@flatfile.io"},{"name":"flatderek","email":"derek@flatfile.io"},{"name":"ashleygmulligan","email":"ashleygmulligan@gmail.com"},{"name":"alnoor","email":"alnoor@flatfile.io"},{"name":"flatfilecolin","email":"colin@flatfile.io"},{"name":"bigcountrycrane","email":"eric@flatfile.io"},{"name":"flatfileinfra","email":"infra@flatfile.io"},{"name":"bangarang","email":"me@alexjrock.com"},{"name":"madmandrit","email":"wiafe23@gmail.com"},{"name":"roberto-alcantara-ffile","email":"cicero.roberto@flatfile.io"},{"name":"mairechew","email":"mairechew@gmail.com"},{"name":"jmmander","email":"jmzmander@gmail.com"},{"name":"srmotter","email":"stephen@motter.org"},{"name":"driscollrp","email":"driscollrp@gmail.com"},{"name":"sarocu","email":"sam@sarocu.com"},{"name":"dboskovic","email":"me@david.gs"},{"name":"brentkulwicki","email":"brentkulwicki@gmail.com"},{"name":"nate.ferrero","email":"nateferrero@gmail.com"},{"name":"jaredwalters","email":"jared@kegstool.com"}],"dist":{"shasum":"21991bed18daac1c3ec1d073b354d432149eaac4","tarball":"https://registry.npmjs.org/@flatfile/mapping/-/mapping-0.0.6.tgz","fileCount":36,"integrity":"sha512-x/XiIFhdU97gL3Aa13kuIrgISvyafbjew9xEZ9QPKeY6Kbgzfy3CoT+DaNf3rhyssE8E/FFzTjziejXUh+5sAg==","signatures":[{"sig":"MEYCIQDD1Ej7ludiZjPqhLzXhcrR5gZpbTOMQ1S5Yh1s7wUT8QIhAL1jfrP5/ldLUvZOAVXJ3s792n3RC2ByIvGiDzHPjmAP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":329283},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","browser":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"import":"./dist/react/index.js","browser":"./dist/react/index.js","require":"./dist/react/index.cjs"},"./package.json":"./package.json"},"gitHead":"625de06a9c64d8c265fbdddbefbc2785d1ba44b3","scripts":{"dev":"tsup --watch --env.NODE_ENV development","test":"jest","build":"tsup --env.NODE_ENV production","publish":"npm publish --access public","type-check":"tsc --noEmit"},"_npmUser":{"name":"sambarrowclough","email":"sam.barrowclough@gmail.com"},"_npmVersion":"9.6.7","directories":{},"_nodeVersion":"18.17.1","dependencies":{"zod":"^3.22.4","axios":"^1.6.2","lodash":"^4.17.21","mathjs":"^11.11.0","@flatfile/api":"^1.6.3","@flatfile/filter-builder":"^1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"7.1.0","react":"^18.2.0","dd-trace":"^3.5.0","@swc/core":"^1.3.66","@swc/jest":"^0.2.26","react-dom":"^18.2.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/react":"^18.2.14","@types/lodash":"^4.14.186","@testing-library/react":"^14.0.0","jest-environment-jsdom":"^29.5.0","@testing-library/jest-dom":"^5.16.5","@types/testing-library__jest-dom":"^5.14.6"},"_npmOperationalInternal":{"tmp":"tmp/mapping_0.0.6_1708600927252_0.5491672977056268","host":"s3://npm-registry-packages"}},"0.0.7":{"name":"@flatfile/mapping","version":"0.0.7","_id":"@flatfile/mapping@0.0.7","maintainers":[{"name":"sambarrowclough","email":"sam.barrowclough@gmail.com"},{"name":"carlbrugger","email":"carlbrugger@proton.me"},{"name":"hansjhoffman","email":"hoffman.hans.j@gmail.com"},{"name":"haleymt","email":"haley@flatfile.io"},{"name":"mmccooyyy","email":"matthew.e.mccoy@gmail.com"},{"name":"ahollenbeck","email":"alexhollenbeck@gmail.com"},{"name":"maerf0x0","email":"mikegraf000@gmail.com"},{"name":"rjhyde","email":"roby@flatfile.com"},{"name":"mpoythress","email":"michael@flatfile.io"},{"name":"flatderek","email":"derek@flatfile.io"},{"name":"ashleygmulligan","email":"ashleygmulligan@gmail.com"},{"name":"alnoor","email":"alnoor@flatfile.io"},{"name":"flatfilecolin","email":"colin@flatfile.io"},{"name":"bigcountrycrane","email":"eric@flatfile.io"},{"name":"flatfileinfra","email":"infra@flatfile.io"},{"name":"bangarang","email":"me@alexjrock.com"},{"name":"madmandrit","email":"wiafe23@gmail.com"},{"name":"roberto-alcantara-ffile","email":"cicero.roberto@flatfile.io"},{"name":"mairechew","email":"mairechew@gmail.com"},{"name":"jmmander","email":"jmzmander@gmail.com"},{"name":"srmotter","email":"stephen@motter.org"},{"name":"driscollrp","email":"driscollrp@gmail.com"},{"name":"sarocu","email":"sam@sarocu.com"},{"name":"dboskovic","email":"me@david.gs"},{"name":"brentkulwicki","email":"brentkulwicki@gmail.com"},{"name":"nate.ferrero","email":"nateferrero@gmail.com"},{"name":"jaredwalters","email":"jared@kegstool.com"}],"dist":{"shasum":"49350ac0bcbbd4f2f57ec6baf605e59c21bda7a0","tarball":"https://registry.npmjs.org/@flatfile/mapping/-/mapping-0.0.7.tgz","fileCount":36,"integrity":"sha512-Afwv+utlv0VMBY0jyrHURUGN5oK7ObGhYeIIdZDSLGGEyKDjiaNHkStknEqSQD7edjStuYUdpZqcrhCnViLY2Q==","signatures":[{"sig":"MEYCIQDPq3JuxA4OxE+/0GRfZaqcvQduvvL/eGYuwMZL17ptFQIhAJk+/fEp+sEOR6YRVPWP6noGH58cpj3419jj0uOYArFw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":341840},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","browser":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"import":"./dist/react/index.js","browser":"./dist/react/index.js","require":"./dist/react/index.cjs"},"./package.json":"./package.json"},"gitHead":"ab36cd9b30d04754b8ad9a20e3721893376e3431","scripts":{"dev":"tsup --watch --env.NODE_ENV development","test":"jest","build":"tsup --env.NODE_ENV production","publish":"npm publish --access public","type-check":"tsc --noEmit"},"_npmUser":{"name":"sambarrowclough","email":"sam.barrowclough@gmail.com"},"_npmVersion":"9.6.7","directories":{},"_nodeVersion":"18.17.1","dependencies":{"zod":"^3.22.4","axios":"^1.6.2","lodash":"^4.17.21","mathjs":"^11.11.0","@flatfile/api":"^1.6.3","@flatfile/filter-builder":"^1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"7.1.0","react":"^18.2.0","dd-trace":"^3.5.0","@swc/core":"^1.3.66","@swc/jest":"^0.2.26","react-dom":"^18.2.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/react":"^18.2.14","@types/lodash":"^4.14.186","@testing-library/react":"^14.0.0","jest-environment-jsdom":"^29.5.0","@testing-library/jest-dom":"^5.16.5","@types/testing-library__jest-dom":"^5.14.6"},"_npmOperationalInternal":{"tmp":"tmp/mapping_0.0.7_1708700841585_0.328200411488039","host":"s3://npm-registry-packages"}},"0.0.8":{"name":"@flatfile/mapping","version":"0.0.8","_id":"@flatfile/mapping@0.0.8","maintainers":[{"name":"sambarrowclough","email":"sam.barrowclough@gmail.com"},{"name":"carlbrugger","email":"carlbrugger@proton.me"},{"name":"hansjhoffman","email":"hoffman.hans.j@gmail.com"},{"name":"haleymt","email":"haley@flatfile.io"},{"name":"mmccooyyy","email":"matthew.e.mccoy@gmail.com"},{"name":"ahollenbeck","email":"alexhollenbeck@gmail.com"},{"name":"maerf0x0","email":"mikegraf000@gmail.com"},{"name":"rjhyde","email":"roby@flatfile.com"},{"name":"mpoythress","email":"michael@flatfile.io"},{"name":"flatderek","email":"derek@flatfile.io"},{"name":"ashleygmulligan","email":"ashleygmulligan@gmail.com"},{"name":"alnoor","email":"alnoor@flatfile.io"},{"name":"flatfilecolin","email":"colin@flatfile.io"},{"name":"bigcountrycrane","email":"eric@flatfile.io"},{"name":"flatfileinfra","email":"infra@flatfile.io"},{"name":"bangarang","email":"me@alexjrock.com"},{"name":"madmandrit","email":"wiafe23@gmail.com"},{"name":"roberto-alcantara-ffile","email":"cicero.roberto@flatfile.io"},{"name":"mairechew","email":"mairechew@gmail.com"},{"name":"jmmander","email":"jmzmander@gmail.com"},{"name":"srmotter","email":"stephen@motter.org"},{"name":"driscollrp","email":"driscollrp@gmail.com"},{"name":"sarocu","email":"sam@sarocu.com"},{"name":"dboskovic","email":"me@david.gs"},{"name":"brentkulwicki","email":"brentkulwicki@gmail.com"},{"name":"nate.ferrero","email":"nateferrero@gmail.com"},{"name":"jaredwalters","email":"jared@kegstool.com"}],"dist":{"shasum":"ba066f7187852f62c1b7cff2361b7a6ed1dcfc0b","tarball":"https://registry.npmjs.org/@flatfile/mapping/-/mapping-0.0.8.tgz","fileCount":36,"integrity":"sha512-AFPSdoOdzGUmo3y04qeFrNwnl9Z1vv+843HN1pbqFwCayjShk75S1Gf61y50btz9i/8BlchJJm6SlbFbOzzp8Q==","signatures":[{"sig":"MEUCIA/VWHIff9dMhixQEwxrkkyIvC7K96EgrZ4NsFB819PIAiEA+8DhPh6EaQtwJBO93GWym1aw2EpwoFOcqX2HisF9TnI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":341835},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","browser":"./dist/index.js","require":"./dist/index.cjs"},"./react":{"import":"./dist/react/index.js","browser":"./dist/react/index.js","require":"./dist/react/index.cjs"},"./package.json":"./package.json"},"gitHead":"ab36cd9b30d04754b8ad9a20e3721893376e3431","scripts":{"dev":"tsup --watch --env.NODE_ENV development","test":"jest","build":"tsup --env.NODE_ENV production","publish":"npm publish --access public","type-check":"tsc --noEmit"},"_npmUser":{"name":"sambarrowclough","email":"sam.barrowclough@gmail.com"},"_npmVersion":"9.6.7","directories":{},"_nodeVersion":"18.17.1","dependencies":{"zod":"^3.22.4","axios":"^1.6.2","lodash":"^4.17.21","mathjs":"^11.11.0","@flatfile/api":"^1.6.3","@flatfile/filter-builder":"^1.0.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","tsup":"7.1.0","react":"^18.2.0","dd-trace":"^3.5.0","@swc/core":"^1.3.66","@swc/jest":"^0.2.26","react-dom":"^18.2.0","@types/jest":"^29.5.2","@types/node":"^20.3.1","@types/react":"^18.2.14","@types/lodash":"^4.14.186","@testing-library/react":"^14.0.0","jest-environment-jsdom":"^29.5.0","@testing-library/jest-dom":"^5.16.5","@types/testing-library__jest-dom":"^5.14.6"},"_npmOperationalInternal":{"tmp":"tmp/mapping_0.0.8_1708701068380_0.8339581273900689","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@flatfile/mapping","version":"1.0.0","author":"","license":"ISC","_id":"@flatfile/mapping@1.0.0","maintainers":[{"name":"sarocu","email":"sam@sarocu.com"},{"name":"dboskovic","email":"me@david.gs"},{"name":"jmmander","email":"jmzmander@gmail.com"},{"name":"bangarang","email":"me@alexjrock.com"},{"name":"carlbrugger","email":"carlbrugger@proton.me"},{"name":"flatfileinfra","email":"infra@flatfile.io"},{"name":"flatderek","email":"derek@flatfile.io"},{"name":"bigcountrycrane","email":"eric@flatfile.io"},{"name":"rjhyde","email":"roby@flatfile.com"},{"name":"sambarrowclough","email":"sam.barrowclough@gmail.com"},{"name":"mmccooyyy","email":"matthew.e.mccoy@gmail.com"},{"name":"hjordan1990","email":"henry@flatfile.io"},{"name":"nlazaris","email":"nikolazaris@gmail.com"},{"name":"lionhummer","email":"lion.hummer@gmail.com"}],"dist":{"shasum":"9bf3a527305cb3cfdb54abfd86e52d42dc863f86","tarball":"https://registry.npmjs.org/@flatfile/mapping/-/mapping-1.0.0.tgz","fileCount":54,"integrity":"sha512-zCk4LaVBGynSvMsSOyFthgBUzSGxa1jZVSwuhW11SAU64w5d1R+GFmFrSJX4XxobxjqL5Hq2H6WCp7ozlMfzMg==","signatures":[{"sig":"MEUCIBwTUhljDnpmRneXlpD6OKq5kPbYcN8k5uK9mAem/X/lAiEAhOJCyqJzQLal/3ZrYNFmceGkEZNq40E5l/CMZhuovyM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":230049},"main":"dist/index.js","tsup":{"dts":true,"clean":true,"entry":["src/index.ts"],"format":["cjs","esm"]},"types":"dist/index.d.ts","engines":{"node":">=16 || >=22","pnpm":">=8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"e211fbdc92cc82ef09ac1167879f1ad64c2c34c2","scripts":{"dev":"tsup --watch","lint":"TIMING=1 eslint \"{src,test}/**/*.ts\"","test":"DD_SERVICE='@flatfile/mapping' NODE_OPTIONS='-r dd-trace/ci/init' jest --no-coverage","build":"tsup","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","format":"eslint --fix \"{src,test}/**/*.ts\"","coverage":"jest --coverage","lint:fix":"pnpm run lint --fix","test:watch":"jest --watch","test:mapping":"jest run.spec.ts"},"_npmUser":{"name":"flatfileinfra","email":"infra@flatfile.io"},"_npmVersion":"10.9.2","description":"A powerful data transformation engine for structured data records. This package provides a flexible system for transforming data using a comprehensive set of mapping rules that can handle simple assignments, complex transformations, conditional logic, and","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.22.4","lodash":"^4.17.21","mathjs":"^11.11.0","chrono-node":"2.7.5","@flatfile/api":"^1.9.13","@types/mathjs":"^9.4.2","@flatfile/ffql":"workspace:*","@flatfile/parser":"workspace:*"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.7.0","dd-trace":"^5.30.0","typescript":"^5.4.5","@types/node":"^22.13.4","@flatfile/api":"^1.9.13","@types/lodash":"^4.14.186","eslint-plugin-prettier":"5","@flatfile/eslint-config-flatfile":"workspace:*"},"_npmOperationalInternal":{"tmp":"tmp/mapping_1.0.0_1749850384330_0.07808699515843509","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@flatfile/mapping","version":"1.0.1","author":"","license":"ISC","_id":"@flatfile/mapping@1.0.1","maintainers":[{"name":"sarocu","email":"sam@sarocu.com"},{"name":"dboskovic","email":"me@david.gs"},{"name":"jmmander","email":"jmzmander@gmail.com"},{"name":"bangarang","email":"me@alexjrock.com"},{"name":"carlbrugger","email":"carlbrugger@proton.me"},{"name":"flatfileinfra","email":"infra@flatfile.io"},{"name":"flatderek","email":"derek@flatfile.io"},{"name":"bigcountrycrane","email":"eric@flatfile.io"},{"name":"rjhyde","email":"roby@flatfile.com"},{"name":"sambarrowclough","email":"sam.barrowclough@gmail.com"},{"name":"mmccooyyy","email":"matthew.e.mccoy@gmail.com"},{"name":"hjordan1990","email":"henry@flatfile.io"},{"name":"nlazaris","email":"nikolazaris@gmail.com"},{"name":"lionhummer","email":"lion.hummer@gmail.com"},{"name":"ncronquist","email":"nick@ncronquist.com"}],"dist":{"shasum":"1a93f7ad7a7634c15774d97ba1817813e5fca739","tarball":"https://registry.npmjs.org/@flatfile/mapping/-/mapping-1.0.1.tgz","fileCount":5,"integrity":"sha512-RQ4paZALsbWn5eKuKngtxOYTz1B8lMfn8NNEyphl/qCXixBqst3AMeFYC4H3cSfXEm2gQXqLyGkuUeYYtdBD1Q==","signatures":[{"sig":"MEUCIBhJEbqMtae+MiMOYg1CZvIT/t64HBr8wnj4YOY9u2tAAiEAsOAyq+p7fSaCBzRmgGQoKgi3DoatDo0Yx2OTOYq01hs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99379},"main":"dist/index.js","tsup":{"dts":true,"clean":true,"entry":["src/index.ts"],"format":["cjs","esm"]},"_from":"file:flatfile-mapping-1.0.1.tgz","types":"dist/index.d.ts","engines":{"node":">=16 || >=22","pnpm":">=8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"TIMING=1 eslint \"{src,test}/**/*.ts\"","test":"DD_SERVICE='@flatfile/mapping' NODE_OPTIONS='-r dd-trace/ci/init' jest --no-coverage","build":"tsup","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","format":"eslint --fix \"{src,test}/**/*.ts\"","coverage":"jest --coverage","lint:fix":"pnpm run lint --fix","test:watch":"jest --watch","test:mapping":"jest run.spec.ts"},"_npmUser":{"name":"dboskovic","actor":{"name":"dboskovic","type":"user","email":"me@david.gs"},"email":"me@david.gs"},"_resolved":"/private/var/folders/9q/c3cg1rv10mx0whfjl6ljgz1w0000gn/T/7255cee1ac4e4703e29782e0c8bac5b9/flatfile-mapping-1.0.1.tgz","_integrity":"sha512-RQ4paZALsbWn5eKuKngtxOYTz1B8lMfn8NNEyphl/qCXixBqst3AMeFYC4H3cSfXEm2gQXqLyGkuUeYYtdBD1Q==","_npmVersion":"10.9.0","description":"A powerful data transformation engine for structured data records. This package provides a flexible system for transforming data using a comprehensive set of mapping rules that can handle simple assignments, complex transformations, conditional logic, and","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.22.4","lodash":"^4.17.21","mathjs":"^11.11.0","chrono-node":"2.7.5","@types/mathjs":"^9.4.2","@flatfile/ffql":"1.0.4","@flatfile/parser":"1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.7.0","dd-trace":"^5.30.0","typescript":"^5.4.5","@types/node":"^22.13.4","@types/lodash":"^4.14.186","eslint-plugin-prettier":"5","@flatfile/eslint-config-flatfile":"0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/mapping_1.0.1_1751329303010_0.48951314732804363","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@flatfile/mapping","version":"1.0.2","author":"","license":"ISC","_id":"@flatfile/mapping@1.0.2","maintainers":[{"name":"sarocu","email":"sam@sarocu.com"},{"name":"dboskovic","email":"me@david.gs"},{"name":"jmmander","email":"jmzmander@gmail.com"},{"name":"bangarang","email":"me@alexjrock.com"},{"name":"carlbrugger","email":"carlbrugger@proton.me"},{"name":"flatfileinfra","email":"infra@flatfile.io"},{"name":"flatderek","email":"derek@flatfile.io"},{"name":"bigcountrycrane","email":"eric@flatfile.io"},{"name":"rjhyde","email":"roby@flatfile.com"},{"name":"sambarrowclough","email":"sam.barrowclough@gmail.com"},{"name":"mmccooyyy","email":"matthew.e.mccoy@gmail.com"},{"name":"hjordan1990","email":"henry@flatfile.io"},{"name":"nlazaris","email":"nikolazaris@gmail.com"},{"name":"lionhummer","email":"lion.hummer@gmail.com"},{"name":"ncronquist","email":"nick@ncronquist.com"}],"dist":{"shasum":"7aeed55e7661f44765195cdbe3bb6a874f23f1eb","tarball":"https://registry.npmjs.org/@flatfile/mapping/-/mapping-1.0.2.tgz","fileCount":5,"integrity":"sha512-RBj5xPBVMzNJ9FH8zmoTYMK3eIMvA4gWrtCowjqRq1Kbz+2DUs1KDtS6D4fWU13a8rYqqUrl96WJcBSDhfpyug==","signatures":[{"sig":"MEQCIGdHNJfeyXvQnU4Jq2J6mnYb1ZKnjHZgOZ4YZieyn9BcAiByEZMjo8aRPZND98mw8kggbM2hAxAf4jLWnBXBGL2EdA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99381},"main":"dist/index.js","tsup":{"dts":true,"clean":true,"entry":["src/index.ts"],"format":["cjs","esm"]},"_from":"file:flatfile-mapping-1.0.2.tgz","types":"dist/index.d.ts","engines":{"node":">=16 || >=22","pnpm":">=8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"TIMING=1 eslint \"{src,test}/**/*.ts\"","test":"DD_SERVICE='@flatfile/mapping' NODE_OPTIONS='-r dd-trace/ci/init' jest --no-coverage","build":"tsup","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","format":"eslint --fix \"{src,test}/**/*.ts\"","coverage":"jest --coverage","lint:fix":"pnpm run lint --fix","test:watch":"jest --watch","test:mapping":"jest run.spec.ts"},"_npmUser":{"name":"dboskovic","actor":{"name":"dboskovic","type":"user","email":"me@david.gs"},"email":"me@david.gs"},"_resolved":"/private/var/folders/9q/c3cg1rv10mx0whfjl6ljgz1w0000gn/T/0990be37e4aa8921172c2590c2faee72/flatfile-mapping-1.0.2.tgz","_integrity":"sha512-RBj5xPBVMzNJ9FH8zmoTYMK3eIMvA4gWrtCowjqRq1Kbz+2DUs1KDtS6D4fWU13a8rYqqUrl96WJcBSDhfpyug==","_npmVersion":"10.9.0","description":"A powerful data transformation engine for structured data records. This package provides a flexible system for transforming data using a comprehensive set of mapping rules that can handle simple assignments, complex transformations, conditional logic, and","directories":{},"_nodeVersion":"22.11.0","dependencies":{"zod":"^3.22.4","lodash":"^4.17.21","mathjs":"^11.11.0","chrono-node":"2.7.5","@types/mathjs":"^9.4.2","@flatfile/ffql":"^1.0.4","@flatfile/parser":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.7.0","dd-trace":"^5.30.0","typescript":"^5.4.5","@types/node":"^22.13.4","@types/lodash":"^4.14.186","eslint-plugin-prettier":"5","@flatfile/eslint-config-flatfile":"0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/mapping_1.0.2_1751329387537_0.8055692761415036","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@flatfile/mapping","version":"1.0.3","author":"","license":"ISC","_id":"@flatfile/mapping@1.0.3","maintainers":[{"name":"sarocu","email":"sam@sarocu.com"},{"name":"dboskovic","email":"me@david.gs"},{"name":"jmmander","email":"jmzmander@gmail.com"},{"name":"bangarang","email":"me@alexjrock.com"},{"name":"carlbrugger","email":"carlbrugger@proton.me"},{"name":"flatfileinfra","email":"infra@flatfile.io"},{"name":"flatderek","email":"derek@flatfile.io"},{"name":"bigcountrycrane","email":"eric@flatfile.io"},{"name":"rjhyde","email":"roby@flatfile.com"},{"name":"sambarrowclough","email":"sam.barrowclough@gmail.com"},{"name":"mmccooyyy","email":"matthew.e.mccoy@gmail.com"},{"name":"hjordan1990","email":"henry@flatfile.io"},{"name":"nlazaris","email":"nikolazaris@gmail.com"},{"name":"lionhummer","email":"lion.hummer@gmail.com"},{"name":"ncronquist","email":"nick@ncronquist.com"},{"name":"apoddubn","email":"alexpoddubny@googlemail.com"}],"dist":{"shasum":"5e88c33d3bb4be48ecd635af47151d018a6f5fee","tarball":"https://registry.npmjs.org/@flatfile/mapping/-/mapping-1.0.3.tgz","fileCount":77,"integrity":"sha512-ujnDtonP3cuhNqTdd24SCL+BKb2MN9MZhQBd25XvB9gRRLX7Q5EhX7TRLdZsLk5kFnb0cd0kSMaPBk8nRbMhgg==","signatures":[{"sig":"MEUCIQCdAyzDMDR6om8ANuv7vnsiwhZ3Toz/TpwJjC9/owjdFQIgBoZ3IzswSh3cbF8tW0CDmASZWEUjasuERD1WOIn3rko=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627902},"main":"dist/index.js","tsup":{"dts":true,"clean":true,"entry":["src/index.ts"],"format":["cjs","esm"]},"_from":"file:flatfile-mapping-1.0.3.tgz","types":"dist/index.d.ts","engines":{"node":">=16 || >=22","pnpm":">=8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"TIMING=1 eslint \"{src,test}/**/*.ts\"","test":"DD_SERVICE='@flatfile/mapping' NODE_OPTIONS='-r dd-trace/ci/init' jest --no-coverage","build":"tsup","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","format":"eslint --fix \"{src,test}/**/*.ts\"","coverage":"jest --coverage","lint:fix":"pnpm run lint --fix","test:watch":"jest --watch","test:mapping":"jest run.spec.ts"},"_npmUser":{"name":"ncronquist","actor":{"name":"ncronquist","type":"user","email":"nick@ncronquist.com"},"email":"nick@ncronquist.com"},"_resolved":"/private/var/folders/sw/bkt_l3_j44lgb3xhqh4q3qk00000gn/T/4c1adad942c4f5000248d8443deb8134/flatfile-mapping-1.0.3.tgz","_integrity":"sha512-ujnDtonP3cuhNqTdd24SCL+BKb2MN9MZhQBd25XvB9gRRLX7Q5EhX7TRLdZsLk5kFnb0cd0kSMaPBk8nRbMhgg==","_npmVersion":"10.9.2","description":"A powerful data transformation engine for structured data records. This package provides a flexible system for transforming data using a comprehensive set of mapping rules that can handle simple assignments, complex transformations, conditional logic, and","directories":{},"_nodeVersion":"22.14.0","dependencies":{"zod":"^3.22.4","lodash":"^4.17.21","mathjs":"^11.11.0","chrono-node":"2.7.5","@types/mathjs":"^9.4.2","@flatfile/ffql":"1.0.4","@flatfile/parser":"1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.7.0","dd-trace":"^5.30.0","typescript":"^5.4.5","@types/node":"^22.13.4","@types/lodash":"^4.14.186","eslint-plugin-prettier":"5","@flatfile/eslint-config-flatfile":"0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/mapping_1.0.3_1751575870832_0.4789842398414257","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@flatfile/mapping","version":"1.0.4","author":"","license":"ISC","_id":"@flatfile/mapping@1.0.4","maintainers":[{"name":"sarocu","email":"sam@sarocu.com"},{"name":"dboskovic","email":"me@david.gs"},{"name":"jmmander","email":"jmzmander@gmail.com"},{"name":"bangarang","email":"me@alexjrock.com"},{"name":"carlbrugger","email":"carlbrugger@proton.me"},{"name":"flatfileinfra","email":"infra@flatfile.io"},{"name":"flatderek","email":"derek@flatfile.io"},{"name":"bigcountrycrane","email":"eric@flatfile.io"},{"name":"rjhyde","email":"roby@flatfile.com"},{"name":"sambarrowclough","email":"sam.barrowclough@gmail.com"},{"name":"mmccooyyy","email":"matthew.e.mccoy@gmail.com"},{"name":"nlazaris","email":"nikolazaris@gmail.com"},{"name":"lionhummer","email":"lion.hummer@gmail.com"},{"name":"ncronquist","email":"nick@ncronquist.com"},{"name":"apoddubn","email":"alexpoddubny@googlemail.com"}],"dist":{"shasum":"5b950ebe0c6296878916f2ad1e1746418b673ff4","tarball":"https://registry.npmjs.org/@flatfile/mapping/-/mapping-1.0.4.tgz","fileCount":5,"integrity":"sha512-JQpvAYCgkCQ4wKjcrljdaFpwjHHiu6NHvn55lFHaoSHwMRN1HWwqsIVPVY5dN2YoYwnlulvoZuxhWNmTOknUbg==","signatures":[{"sig":"MEYCIQCzjTU9C4GEjYK+brrt9uv6JJia2byp4P59L5XNiOmlGQIhAJ9sth6yxzXNdbyRVMOnYy1TEm8YmFMTRmdBxbrtcUWJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107548},"main":"dist/index.js","tsup":{"dts":true,"clean":true,"entry":["src/index.ts"],"format":["cjs","esm"]},"_from":"file:flatfile-mapping-1.0.4.tgz","types":"dist/index.d.ts","engines":{"node":">=16 || >=22","pnpm":">=8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"TIMING=1 eslint \"{src,test}/**/*.ts\"","test":"DD_SERVICE='@flatfile/mapping' NODE_OPTIONS='-r dd-trace/ci/init' jest --no-coverage","build":"tsup","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","format":"eslint --fix \"{src,test}/**/*.ts\"","coverage":"jest --coverage","lint:fix":"pnpm run lint --fix","test:watch":"jest --watch","test:mapping":"jest run.spec.ts"},"_npmUser":{"name":"dboskovic","email":"me@david.gs"},"_resolved":"/private/var/folders/_6/n65cdlrs3mv0btlj0jmzkqdw0000gn/T/cadf98839c63055133d39c941e482240/flatfile-mapping-1.0.4.tgz","_integrity":"sha512-JQpvAYCgkCQ4wKjcrljdaFpwjHHiu6NHvn55lFHaoSHwMRN1HWwqsIVPVY5dN2YoYwnlulvoZuxhWNmTOknUbg==","_npmVersion":"10.9.2","description":"A powerful data transformation engine for structured data records. This package provides a flexible system for transforming data using a comprehensive set of mapping rules that can handle simple assignments, complex transformations, conditional logic, and","directories":{},"_nodeVersion":"22.17.0","dependencies":{"zod":"^4.0.17","lodash":"^4.17.21","mathjs":"^11.11.0","chrono-node":"2.7.5","@types/mathjs":"^9.4.2","@flatfile/ffql":"^1.0.4","@flatfile/parser":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.7.0","dd-trace":"^5.30.0","typescript":"^5.4.5","@types/node":"^22.13.4","@types/lodash":"^4.14.186","eslint-plugin-prettier":"5","@flatfile/eslint-config-flatfile":"0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/mapping_1.0.4_1754969602253_0.378349469891776","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@flatfile/mapping","version":"1.0.5","author":"","license":"ISC","_id":"@flatfile/mapping@1.0.5","maintainers":[{"name":"sarocu","email":"sam@sarocu.com"},{"name":"dboskovic","email":"me@david.gs"},{"name":"jmmander","email":"jmzmander@gmail.com"},{"name":"bangarang","email":"me@alexjrock.com"},{"name":"carlbrugger","email":"carlbrugger@proton.me"},{"name":"flatfileinfra","email":"infra@flatfile.io"},{"name":"flatderek","email":"derek@flatfile.io"},{"name":"bigcountrycrane","email":"eric@flatfile.io"},{"name":"rjhyde","email":"roby@flatfile.com"},{"name":"sambarrowclough","email":"sam.barrowclough@gmail.com"},{"name":"mmccooyyy","email":"matthew.e.mccoy@gmail.com"},{"name":"nlazaris","email":"nikolazaris@gmail.com"},{"name":"lionhummer","email":"lion.hummer@gmail.com"},{"name":"ncronquist","email":"nick@ncronquist.com"},{"name":"apoddubn","email":"alexpoddubny@googlemail.com"}],"dist":{"shasum":"30208e7754f9a90d44977ce73ad0745a8cd23814","tarball":"https://registry.npmjs.org/@flatfile/mapping/-/mapping-1.0.5.tgz","fileCount":5,"integrity":"sha512-cYlJCzPAQf5Yo0D8TED4BY1rR1rv99qvo/nfW345CtssdK8GYVoBqJ+P9MRS/3wkiUiJVwKZPswWcFO3oVaUJg==","signatures":[{"sig":"MEUCIB0Is3z4CjiMOoFvoWDvvJ8cpl189Jm8zGHzY3tU/gZTAiEAq5Mg0P3W+cg8+qZkvc1dmoqmBRhvLxbNPESXpBW3LlU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108975},"main":"dist/index.js","tsup":{"dts":true,"clean":true,"entry":["src/index.ts"],"format":["cjs","esm"]},"_from":"file:flatfile-mapping-1.0.5.tgz","types":"dist/index.d.ts","engines":{"node":">=16 || >=22","pnpm":">=8"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsup --watch","lint":"TIMING=1 eslint \"{src,test}/**/*.ts\"","test":"DD_SERVICE='@flatfile/mapping' NODE_OPTIONS='-r dd-trace/ci/init' jest --no-coverage","build":"tsup","clean":"rm -rf .turbo && rm -rf node_modules && rm -rf dist","format":"eslint --fix \"{src,test}/**/*.ts\"","coverage":"jest --coverage","lint:fix":"pnpm run lint --fix","test:watch":"jest --watch","test:mapping":"jest run.spec.ts"},"_npmUser":{"name":"dboskovic","email":"me@david.gs"},"_resolved":"/private/var/folders/9q/c3cg1rv10mx0whfjl6ljgz1w0000gn/T/09510074f3e3dd8b9412b382f103b094/flatfile-mapping-1.0.5.tgz","_integrity":"sha512-cYlJCzPAQf5Yo0D8TED4BY1rR1rv99qvo/nfW345CtssdK8GYVoBqJ+P9MRS/3wkiUiJVwKZPswWcFO3oVaUJg==","_npmVersion":"10.9.2","description":"A powerful data transformation engine for structured data records. This package provides a flexible system for transforming data using a comprehensive set of mapping rules that can handle simple assignments, complex transformations, conditional logic, and","directories":{},"_nodeVersion":"22.17.0","dependencies":{"zod":"^4.0.17","lodash":"^4.17.21","mathjs":"^11.11.0","chrono-node":"2.7.5","@types/mathjs":"^9.4.2","@flatfile/ffql":"^1.0.4","@flatfile/parser":"^1.0.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^6.7.0","dd-trace":"^5.30.0","typescript":"^5.4.5","@types/node":"^22.13.4","@types/lodash":"^4.14.186","eslint-plugin-prettier":"5","@flatfile/eslint-config-flatfile":"0.0.1"},"_npmOperationalInternal":{"tmp":"tmp/mapping_1.0.5_1755027458601_0.41685749454414434","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2024-02-07T17:00:48.708Z","modified":"2026-04-23T23:54:29.103Z","0.0.1":"2024-02-07T17:00:49.045Z","0.0.2":"2024-02-12T10:56:00.336Z","0.0.3":"2024-02-15T11:38:24.520Z","0.0.4":"2024-02-16T13:13:03.738Z","0.0.5":"2024-02-16T15:58:00.076Z","0.0.6":"2024-02-22T11:22:07.471Z","0.0.7":"2024-02-23T15:07:21.743Z","0.0.8":"2024-02-23T15:11:08.546Z","1.0.0":"2025-06-13T21:33:04.583Z","1.0.1":"2025-07-01T00:21:43.213Z","1.0.2":"2025-07-01T00:23:07.737Z","1.0.3":"2025-07-03T20:51:11.004Z","1.0.4":"2025-08-12T03:33:22.479Z","1.0.5":"2025-08-12T19:37:38.759Z"},"license":"ISC","description":"A powerful data transformation engine for structured data records. This package provides a flexible system for transforming data using a comprehensive set of mapping rules that can handle simple assignments, complex transformations, conditional logic, and","maintainers":[{"email":"sam@sarocu.com","name":"sarocu"},{"email":"me@david.gs","name":"dboskovic"},{"email":"me@alexjrock.com","name":"bangarang"},{"email":"carlbrugger@proton.me","name":"carlbrugger"},{"email":"infra@flatfile.io","name":"flatfileinfra"},{"email":"derek@flatfile.io","name":"flatderek"},{"email":"eric@flatfile.io","name":"bigcountrycrane"},{"email":"matthew.e.mccoy@gmail.com","name":"mmccooyyy"},{"email":"matthew.gerstman@obvious.ai","name":"matthew-obvious"},{"email":"nikolazaris@gmail.com","name":"nlazaris"},{"email":"lion.hummer@gmail.com","name":"lionhummer"},{"email":"alexpoddubny@googlemail.com","name":"apoddubn"}],"readme":"# @flatfile/mapping\n\nA powerful data transformation engine for structured data records. This package provides a flexible system for transforming data using a comprehensive set of mapping rules that can handle simple assignments, complex transformations, conditional logic, and data restructuring.\n\n## Installation\n\n```bash\nnpm install @flatfile/mapping\n```\n\n## Quick Start\n\n```typescript\nimport { Run, MappingRule, MappingRuleType } from '@flatfile/mapping';\n\n// Sample data\nconst records = [\n  { firstName: 'John', lastName: 'Doe', email: 'john@example.com' },\n  { firstName: 'Jane', lastName: 'Smith', email: 'jane@example.com' }\n];\n\n// Define mapping rules\nconst rules: MappingRule[] = [\n  {\n    type: MappingRuleType.ASSIGN,\n    sourceField: 'firstName',\n    destinationField: 'first_name'\n  },\n  {\n    type: MappingRuleType.CONCATENATE,\n    sourceFields: ['firstName', 'lastName'],\n    destinationField: 'fullName',\n    separator: ' '\n  }\n];\n\n// Create and run mapping\nconst mapper = new Run(rules);\nconst result = mapper.applyRules(records);\n```\n\n## Core Concepts\n\n### Mapping Rules\n\nAll transformations are defined using `MappingRule` objects. Each rule specifies:\n- **type**: The transformation operation to perform\n- **sourceField(s)**: Input field(s) from the source record\n- **destinationField(s)**: Output field(s) in the transformed record\n- **Additional configuration**: Rule-specific options\n\n### Base Rule Properties\n\nEvery mapping rule extends the base interface:\n\n```typescript\ninterface BaseMappingRule {\n  type: MappingRuleType;\n  filter?: string;        // FFQL filter to conditionally apply rule\n  name?: string;          // Optional rule name for debugging\n  description?: string;   // Optional rule description\n  timestamp?: number;     // Optional timestamp for rule differentiation\n}\n```\n\n### FFQL Filters\n\nRules can be conditionally applied using FFQL (Flatfile Query Language) filters:\n\n```typescript\n// Apply rule only to records where status is 'active'\nfilter: \"status eq 'active'\"\n\n// Reference destination fields with 'destination!' prefix\nfilter: \"destination!processedStatus eq 'pending'\"\n\n// Reference source fields with 'source!' prefix  \nfilter: \"source!originalValue eq 'test'\"\n```\n\n## Rule Types\n\n### 1. ASSIGN - Direct Field Assignment\n\nAssigns a source field value to a destination field.\n\n```typescript\n{\n  type: MappingRuleType.ASSIGN,\n  sourceField: 'email',\n  destinationField: 'emailAddress'\n}\n```\n\n### 2. CONSTANT - Assign Static Values\n\nAssigns a constant value to a destination field.\n\n```typescript\n{\n  type: MappingRuleType.CONSTANT,\n  destinationField: 'status',\n  value: 'active'\n}\n```\n\n### 3. TRANSFORM - Text Transformations\n\nApplies simple text transformations.\n\n```typescript\n{\n  type: MappingRuleType.TRANSFORM,\n  sourceField: 'name',\n  destinationField: 'name_upper',\n  transform: 'uppercase' // or 'lowercase'\n}\n```\n\n### 4. CONCATENATE - Join Multiple Fields\n\nCombines multiple source fields into a single destination field.\n\n```typescript\n{\n  type: MappingRuleType.CONCATENATE,\n  sourceFields: ['firstName', 'lastName'],\n  destinationField: 'fullName',\n  separator: ' ' // optional, defaults to empty string\n}\n```\n\n### 5. INTERPOLATE - Template-Based Concatenation\n\nCreates formatted strings using template syntax.\n\n```typescript\n{\n  type: MappingRuleType.INTERPOLATE,\n  sourceFields: ['firstName', 'lastName'],\n  destinationField: 'greeting',\n  output: 'Hello {0} {1}!' // {0} = firstName, {1} = lastName\n}\n```\n\n### 6. COALESCE - First Non-Empty Value\n\nTakes the first non-null, non-undefined, non-empty value from a list of fields.\n\n```typescript\n{\n  type: MappingRuleType.COALESCE,\n  sourceFields: ['preferredName', 'firstName', 'displayName'],\n  destinationField: 'name',\n  defaultValue: 'Unknown' // optional fallback\n}\n```\n\n### 7. ARRAY - Create Arrays\n\nCreates an array from multiple source fields.\n\n```typescript\n{\n  type: MappingRuleType.ARRAY,\n  sourceFields: ['phone1', 'phone2', 'phone3'],\n  destinationField: 'phoneNumbers'\n}\n```\n\n### 8. REGEX_EXTRACT - Pattern Extraction\n\nExtracts values using regular expressions.\n\n```typescript\n{\n  type: MappingRuleType.REGEX_EXTRACT,\n  sourceField: 'fullName',\n  destinationFields: ['firstName', 'lastName'],\n  regex: ['(\\\\w+)', '(\\\\w+)$'] // or single regex string\n}\n```\n\n### 9. FIND_REPLACE - Value Substitution\n\nReplaces specific values with other values.\n\n```typescript\n{\n  type: MappingRuleType.FIND_REPLACE,\n  destinationField: 'country',\n  values: [\n    { find: 'US', replace: 'United States' },\n    { find: 'UK', replace: 'United Kingdom' }\n  ]\n}\n```\n\n### 10. NORMALIZE_LIST - List Processing\n\nConverts delimited strings into normalized arrays.\n\n```typescript\n{\n  type: MappingRuleType.NORMALIZE_LIST,\n  sourceField: 'tags',\n  destinationField: 'tagList',\n  separator: ',',\n  values: [ // optional value normalization\n    { find: 'js', replace: 'JavaScript' }\n  ],\n  unique: true,  // remove duplicates (default: true)\n  trim: true     // trim whitespace (default: true)\n}\n```\n\n### 11. ARITHMETIC - Mathematical Operations\n\nPerforms mathematical calculations on numeric fields.\n\n```typescript\n{\n  type: MappingRuleType.ARITHMETIC,\n  sourceFields: ['price', 'tax', 'discount'],\n  destinationField: 'total',\n  equation: 'price + tax - discount'\n}\n```\n\n### 12. NEST - Create Nested Objects\n\nGroups related fields into nested objects using regex patterns.\n\n```typescript\n{\n  type: MappingRuleType.NEST,\n  destinationField: 'addresses',\n  subfields: [\n    {\n      sourceRegex: 'address\\\\.([0-9]+)\\\\.street',\n      destinationSubfield: 'street'\n    },\n    {\n      sourceRegex: 'address\\\\.([0-9]+)\\\\.city', \n      destinationSubfield: 'city'\n    }\n  ]\n}\n// Transforms: { 'address.1.street': '123 Main', 'address.1.city': 'NYC' }\n// Into: { addresses: [{ street: '123 Main', city: 'NYC', __control: '1' }] }\n```\n\n### 13. FUNCTION - Custom Transformations\n\nExecutes custom JavaScript functions for complex transformations.\n\n```typescript\n{\n  type: MappingRuleType.FUNCTION,\n  sourceFields: ['birthDate'],\n  destinationFields: ['age'],\n  function: 'calculateAge' // Function name to execute\n}\n```\n\n### 14. SPLIT - Field Splitting\n\nSplits single fields into multiple destination fields.\n\n```typescript\n{\n  type: MappingRuleType.SPLIT,\n  sourceFields: ['fullName'],\n  destinationFields: ['firstName', 'lastName'],\n  function: 'splitName'\n}\n```\n\n### 15. SUBPROGRAM - Conditional Rule Groups\n\nGroups multiple rules to be applied conditionally.\n\n```typescript\n{\n  type: MappingRuleType.SUBPROGRAM,\n  filter: \"userType eq 'premium'\",\n  rules: [\n    { type: MappingRuleType.CONSTANT, destinationField: 'priority', value: 'high' },\n    { type: MappingRuleType.CONSTANT, destinationField: 'support', value: 'premium' }\n  ]\n}\n```\n\n### 16. UNPIVOT - Reshape Data\n\nTransforms wide-format data into long-format.\n\n```typescript\n{\n  type: MappingRuleType.UNPIVOT,\n  destinationFields: ['metric', 'value'],\n  columnMapping: [\n    { 'sales_q1': 'Q1 Sales', 'sales_q2': 'Q2 Sales' },\n    { 'sales_q1': 'revenue', 'sales_q2': 'revenue' }\n  ]\n}\n```\n\n### 17. Utility Rules\n\nAdditional utility rules for data management:\n\n- **DELETE**: Remove fields from destination\n- **IGNORE**: Explicitly ignore source fields  \n- **ADD_FIELD**: Add empty fields to destination\n- **APPLY_CHANGES**: Apply batch modifications\n- **DEDUPE**: Remove duplicate records\n\n## Advanced Features\n\n### Custom VM Functions\n\nFor `FUNCTION` and `SPLIT` rules, provide custom JavaScript execution:\n\n```typescript\nconst customFunctions = {\n  calculateAge: (birthDate: string) => {\n    const birth = new Date(birthDate);\n    const today = new Date();\n    return today.getFullYear() - birth.getFullYear();\n  },\n  \n  splitName: (fullName: string) => {\n    const parts = fullName.split(' ');\n    return [parts[0], parts.slice(1).join(' ')];\n  }\n};\n\nconst mapper = new Run(rules, {\n  getVM: (functionName: string) => customFunctions[functionName]\n});\n```\n\n### Calculations in Function Rules\n\nFunction rules support aggregation calculations:\n\n```typescript\n{\n  type: MappingRuleType.FUNCTION,\n  sourceFields: ['scores'],\n  destinationFields: ['totalScore', 'avgScore'],\n  function: 'processScores',\n  calculations: [\n    { key: 'total', type: CalculationType.SUM, fieldKey: 'scores', value: null },\n    { key: 'average', type: CalculationType.AVERAGE, fieldKey: 'scores', value: null }\n  ]\n}\n```\n\n### Entry Processing\n\nFor individual record processing, use the `Entry` class:\n\n```typescript\nimport { Entry } from '@flatfile/mapping';\n\nconst entry = new Entry(singleRecord, rules, { vm: customVMProvider });\nconst transformedRecord = entry.getTransformed();\n```\n\n## API Reference\n\n### Run Class\n\nMain class for bulk record processing.\n\n#### Constructor\n```typescript\nnew Run(rules: MappingRule[], vm?: { getVM?: (code: string) => Function })\n```\n\n#### Methods\n\n- `applyRules(records: Record<string, any>[]): Record<string, any>[]`\n- `getKeyHierarchy(options?: { includeUnused?: boolean }): KeyNode[]`\n\n### Entry Class  \n\nClass for individual record processing.\n\n#### Constructor\n```typescript\nnew Entry(record: Record<string, any>, rules: MappingRule[], options?: EntryOptions)\n```\n\n#### Methods\n\n- `getTransformed(): Record<string, any>`\n- `getOriginal(): Record<string, any>`\n\n## Error Handling\n\nThe mapping engine includes comprehensive error handling:\n\n```typescript\nimport { parseAsMappingRule } from '@flatfile/mapping';\n\ntry {\n  const rule = parseAsMappingRule(ruleObject);\n} catch (error) {\n  console.error('Invalid rule format:', error.message);\n}\n```\n\n## Performance Considerations\n\n- Rules are processed in the order they appear in the array\n- Use filters to conditionally apply expensive transformations\n- Consider using `SUBPROGRAM` rules to group related transformations\n- Custom VM functions should be optimized for performance\n\n## Examples\n\n### Complete Transformation Example\n\n```typescript\nimport { Run, MappingRule, MappingRuleType } from '@flatfile/mapping';\n\nconst sourceData = [\n  {\n    first_name: 'john',\n    last_name: 'doe', \n    email_address: 'john.doe@example.com',\n    phone_primary: '555-1234',\n    phone_secondary: '555-5678',\n    user_type: 'premium',\n    birth_date: '1990-01-15'\n  }\n];\n\nconst rules: MappingRule[] = [\n  // Basic assignments with transformations\n  {\n    type: MappingRuleType.TRANSFORM,\n    sourceField: 'first_name',\n    destinationField: 'firstName',\n    transform: 'uppercase'\n  },\n  {\n    type: MappingRuleType.ASSIGN,\n    sourceField: 'last_name', \n    destinationField: 'lastName'\n  },\n  \n  // Create full name\n  {\n    type: MappingRuleType.CONCATENATE,\n    sourceFields: ['first_name', 'last_name'],\n    destinationField: 'fullName',\n    separator: ' '\n  },\n  \n  // Create phone array\n  {\n    type: MappingRuleType.ARRAY,\n    sourceFields: ['phone_primary', 'phone_secondary'],\n    destinationField: 'phoneNumbers'\n  },\n  \n  // Conditional processing for premium users\n  {\n    type: MappingRuleType.SUBPROGRAM,\n    filter: \"user_type eq 'premium'\",\n    rules: [\n      {\n        type: MappingRuleType.CONSTANT,\n        destinationField: 'priority',\n        value: 'high'\n      },\n      {\n        type: MappingRuleType.FUNCTION,\n        sourceFields: ['birth_date'],\n        destinationFields: ['age'],\n        function: 'calculateAge'\n      }\n    ]\n  }\n];\n\n// Custom function for age calculation\nconst customFunctions = {\n  calculateAge: (birthDate: string) => {\n    const birth = new Date(birthDate);\n    const today = new Date();\n    let age = today.getFullYear() - birth.getFullYear();\n    const monthDiff = today.getMonth() - birth.getMonth();\n    if (monthDiff < 0 || (monthDiff === 0 && today.getDate() < birth.getDate())) {\n      age--;\n    }\n    return age;\n  }\n};\n\nconst mapper = new Run(rules, {\n  getVM: (functionName: string) => customFunctions[functionName]\n});\n\nconst result = mapper.applyRules(sourceData);\nconsole.log(JSON.stringify(result, null, 2));\n```\n\n## Contributing\n\nThis package is part of the Flatfile Platform monorepo. See the main repository for contribution guidelines.\n\n## License\n\nISC License\n","readmeFilename":"README.md"}