{"_id":"@antdv-next1/route-utils","_rev":"8-bbcd9f50a4e6500ca856d06eb71ce0aa","name":"@antdv-next1/route-utils","dist-tags":{"latest":"1.0.7"},"versions":{"1.0.0":{"name":"@antdv-next1/route-utils","version":"1.0.0","keywords":[],"author":"","_id":"@antdv-next1/route-utils@1.0.0","maintainers":[{"name":"lucas_song","email":"skyarchieqd@gmail.com"}],"dist":{"shasum":"94b619c39c02a8ba5b1e212b0410f15ec051317a","tarball":"https://registry.npmjs.org/@antdv-next1/route-utils/-/route-utils-1.0.0.tgz","fileCount":16,"integrity":"sha512-FCXA9XIv9dtqWfcxYjVRPW6EDS9lD/hfwYDX6iJdXPtlDGhl6ZJMAQL0cdq7vIZdUd80LcDWiQbTwCKT/ACDOQ==","signatures":[{"sig":"MEYCIQCYtwTlKstB/dIrqW0v0e2HCRJ27RRzSJ71VNPWH5E5KAIhAIqYyLqGHsgltO2Do6GiYoqXCbIaRad6cdsPPdPo6ZXf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35033},"main":"./dist/index.js","type":"module","_from":"file:antdv-next1-route-utils-1.0.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./dist/*":{"types":"./dist/*.d.ts","import":"./dist/*.js","default":"./dist/*.js"},"./route-utils":{"types":"./dist/route-utils/index.d.ts","import":"./dist/route-utils/index.js","default":"./dist/route-utils/index.js"}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","test:ui":"vitest --ui","prepublish":"pnpm build","test:watch":"vitest watch","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"lucas_song","email":"skyarchieqd@gmail.com"},"_resolved":"/private/var/folders/cc/dzg0w96d77gf42fksks603bm0000gn/T/4133381048f53f47e1c1c4c3bd00dfd1/antdv-next1-route-utils-1.0.0.tgz","_integrity":"sha512-FCXA9XIv9dtqWfcxYjVRPW6EDS9lD/hfwYDX6iJdXPtlDGhl6ZJMAQL0cdq7vIZdUd80LcDWiQbTwCKT/ACDOQ==","_npmVersion":"11.3.0","description":"","directories":{},"_nodeVersion":"24.1.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/route-utils_1.0.0_1781160970042_0.3036629501473713","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@antdv-next1/route-utils","version":"1.0.1","keywords":[],"author":"","_id":"@antdv-next1/route-utils@1.0.1","maintainers":[{"name":"lucas_song","email":"skyarchieqd@gmail.com"}],"dist":{"shasum":"eea8f185200253d25e26c5cf12f391dcb6dfc255","tarball":"https://registry.npmjs.org/@antdv-next1/route-utils/-/route-utils-1.0.1.tgz","fileCount":16,"integrity":"sha512-PDbA911CRWlZOe8ByG8ChbWJuXWa6n9bY1shUBOZXCYAiHlGAeOcfM3olEDBIFRUv7r2G8MLd+wbznUG6LD0nQ==","signatures":[{"sig":"MEUCIQDLA1uTBs8sX//QBohS1MI6xsE5fV/vqGV0Cupa8xUl7AIgZ8UBV0TK50IwCOI/8L+Lx2g9Vs3aMfuiKoe9boWkcDs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35033},"main":"./dist/index.js","type":"module","_from":"file:antdv-next1-route-utils-1.0.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./dist/*":{"types":"./dist/*.d.ts","import":"./dist/*.js","default":"./dist/*.js"},"./route-utils":{"types":"./dist/route-utils/index.d.ts","import":"./dist/route-utils/index.js","default":"./dist/route-utils/index.js"}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","test:ui":"vitest --ui","prepublish":"pnpm build","test:watch":"vitest watch","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"lucas_song","email":"skyarchieqd@gmail.com"},"_resolved":"/private/var/folders/cc/dzg0w96d77gf42fksks603bm0000gn/T/2c9c98120501362cb84646dfd92e9e12/antdv-next1-route-utils-1.0.1.tgz","_integrity":"sha512-PDbA911CRWlZOe8ByG8ChbWJuXWa6n9bY1shUBOZXCYAiHlGAeOcfM3olEDBIFRUv7r2G8MLd+wbznUG6LD0nQ==","_npmVersion":"11.3.0","description":"","directories":{},"_nodeVersion":"24.1.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/route-utils_1.0.1_1781163955831_0.7368305212710418","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@antdv-next1/route-utils","version":"1.0.2","keywords":[],"author":"","_id":"@antdv-next1/route-utils@1.0.2","maintainers":[{"name":"lucas_song","email":"skyarchieqd@gmail.com"}],"dist":{"shasum":"65ae749b21eb7912e1feb07d65535ce7a32ac7a5","tarball":"https://registry.npmjs.org/@antdv-next1/route-utils/-/route-utils-1.0.2.tgz","fileCount":16,"integrity":"sha512-w8mVDl1BW4y9e5KFr7EE16cIRrbj+SmRTpAG8V75uk1FgssjEpLffsscZFVhpU9JFfIBiMG8ztvZGagRyYImFg==","signatures":[{"sig":"MEQCIE5a9891vlZOeC0ptxJj1xvfyiSQ5Mnhrzscm4ybis4uAiBQRd1CRUb3kkRhSa3p70KiRtl+jMDE0CJifbhCQjiHAA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35039},"main":"./dist/index.js","type":"module","_from":"file:antdv-next1-route-utils-1.0.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./dist/*":{"types":"./dist/*.d.ts","import":"./dist/*.js","default":"./dist/*.js"},"./route-utils":{"types":"./dist/route-utils/index.d.ts","import":"./dist/route-utils/index.js","default":"./dist/route-utils/index.js"}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","test:ui":"vitest --ui","prepublish":"pnpm build","test:watch":"vitest watch","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"lucas_song","email":"skyarchieqd@gmail.com"},"_resolved":"/private/var/folders/cc/dzg0w96d77gf42fksks603bm0000gn/T/011ec428cfea0a296c8020a5342a93fe/antdv-next1-route-utils-1.0.2.tgz","_integrity":"sha512-w8mVDl1BW4y9e5KFr7EE16cIRrbj+SmRTpAG8V75uk1FgssjEpLffsscZFVhpU9JFfIBiMG8ztvZGagRyYImFg==","_npmVersion":"11.3.0","description":"","directories":{},"_nodeVersion":"24.1.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/route-utils_1.0.2_1781607748443_0.8662977787309025","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@antdv-next1/route-utils","version":"1.0.3","keywords":[],"author":"","_id":"@antdv-next1/route-utils@1.0.3","maintainers":[{"name":"lucas_song","email":"skyarchieqd@gmail.com"}],"dist":{"shasum":"8adfa10b38b8d22f2de51d72aea0b59e914214a9","tarball":"https://registry.npmjs.org/@antdv-next1/route-utils/-/route-utils-1.0.3.tgz","fileCount":16,"integrity":"sha512-DM3f03nL8ZiPX6ggYbhwqbTat7dJN9Z1lx17aIBkcI3aMVnzCv5byCehPewB/Iyy9UCdsDl/vQSEAnjfbXOneQ==","signatures":[{"sig":"MEUCIANYVM90kYkU175m2cw/OtNJ+Xe/h6ElCSd6EW4ZTkuhAiEA8DxIQzPJCpMYXHMMNwLJXPp8A6gdbb1fRpuBkpFRxUU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35088},"main":"./dist/index.js","type":"module","_from":"file:antdv-next1-route-utils-1.0.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./dist/*":{"types":"./dist/*.d.ts","import":"./dist/*.js","default":"./dist/*.js"},"./route-utils":{"types":"./dist/route-utils/index.d.ts","import":"./dist/route-utils/index.js","default":"./dist/route-utils/index.js"}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","test:ui":"vitest --ui","prepublish":"pnpm build","test:watch":"vitest watch","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"lucas_song","email":"skyarchieqd@gmail.com"},"_resolved":"/private/var/folders/cc/dzg0w96d77gf42fksks603bm0000gn/T/e8c378665771e4adab90ce147c698826/antdv-next1-route-utils-1.0.3.tgz","_integrity":"sha512-DM3f03nL8ZiPX6ggYbhwqbTat7dJN9Z1lx17aIBkcI3aMVnzCv5byCehPewB/Iyy9UCdsDl/vQSEAnjfbXOneQ==","_npmVersion":"11.3.0","description":"","directories":{},"_nodeVersion":"24.1.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/route-utils_1.0.3_1781663411934_0.4567829895902611","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@antdv-next1/route-utils","version":"1.0.4","keywords":[],"_id":"@antdv-next1/route-utils@1.0.4","maintainers":[{"name":"lucas_song","email":"skyarchieqd@gmail.com"}],"homepage":"https://github.com/archiesong/pro-components#readme","bugs":{"url":"https://github.com/archiesong/pro-components/issues"},"dist":{"shasum":"b752b9ed5520ad1c9304b199735d2c702a1470ce","tarball":"https://registry.npmjs.org/@antdv-next1/route-utils/-/route-utils-1.0.4.tgz","fileCount":16,"integrity":"sha512-FBy+Dt/Q/7Koa/TxlQms8rz9XIwp9gnYaBiNGY8Fhcl2/FrPU+evNII1E/TQX6mMCyxZMqmkm76nYYLXwLxwVg==","signatures":[{"sig":"MEUCIQDUVfO5W7d5zK0j0W6jG0FIU0cVO2rMlrmha9cIm3ovbQIgNQ2zII10xS5Y8pvDtL7DMYzOdL+PkoieYIWQqwD4Q3A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35338},"main":"./dist/index.js","type":"module","_from":"file:antdv-next1-route-utils-1.0.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","authors":["Chao Song <archiesongqd@gmail.com> (https://github.com/archiesong)"],"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./dist/*":{"types":"./dist/*.d.ts","import":"./dist/*.js","default":"./dist/*.js"},"./route-utils":{"types":"./dist/route-utils/index.d.ts","import":"./dist/route-utils/index.js","default":"./dist/route-utils/index.js"}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","test:ui":"vitest --ui","prepublish":"pnpm build","test:watch":"vitest watch","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"lucas_song","email":"skyarchieqd@gmail.com"},"_resolved":"/private/var/folders/cc/dzg0w96d77gf42fksks603bm0000gn/T/479d6b1029786a2dbe759cea856bfd10/antdv-next1-route-utils-1.0.4.tgz","_integrity":"sha512-FBy+Dt/Q/7Koa/TxlQms8rz9XIwp9gnYaBiNGY8Fhcl2/FrPU+evNII1E/TQX6mMCyxZMqmkm76nYYLXwLxwVg==","repository":{"url":"git+https://github.com/archiesong/pro-components.git","type":"git","directory":"packages/route-utils"},"_npmVersion":"11.3.0","description":"@antdv-next1/route-utils","directories":{},"_nodeVersion":"24.1.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/route-utils_1.0.4_1781754808499_0.05206310348418963","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@antdv-next1/route-utils","version":"1.0.5","keywords":[],"_id":"@antdv-next1/route-utils@1.0.5","maintainers":[{"name":"lucas_song","email":"skyarchieqd@gmail.com"}],"homepage":"https://github.com/archiesong/pro-components#readme","bugs":{"url":"https://github.com/archiesong/pro-components/issues"},"dist":{"shasum":"e18d2e94d4e928e642c086097cf042d2ff46cdfd","tarball":"https://registry.npmjs.org/@antdv-next1/route-utils/-/route-utils-1.0.5.tgz","fileCount":17,"integrity":"sha512-2sZhf+pzVouV21YqfIhBSO3yHB3oY+DEQju6bWIGg53jnzu+DlJD2uwPwp/pNafruzTl0HTto9c8Kb5tV2oYEw==","signatures":[{"sig":"MEQCIH7pdj4c1NbsU0gOucduFadyz1JpcwYenIrhscfDUvm5AiAQ+FiLk5eA9sE6oVU4kg/EYeXKG3yTX3fLCXNFp1Rayw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36793},"main":"./dist/index.js","type":"module","_from":"file:antdv-next1-route-utils-1.0.5.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","authors":["Chao Song <archiesongqd@gmail.com> (https://github.com/archiesong)"],"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./dist/*":{"types":"./dist/*.d.ts","import":"./dist/*.js","default":"./dist/*.js"},"./route-utils":{"types":"./dist/route-utils/index.d.ts","import":"./dist/route-utils/index.js","default":"./dist/route-utils/index.js"}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","test:ui":"vitest --ui","prepublish":"pnpm build","test:watch":"vitest watch","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"lucas_song","email":"skyarchieqd@gmail.com"},"_resolved":"/private/var/folders/cc/dzg0w96d77gf42fksks603bm0000gn/T/a0ac08531e0df471d00503b4d20e6917/antdv-next1-route-utils-1.0.5.tgz","_integrity":"sha512-2sZhf+pzVouV21YqfIhBSO3yHB3oY+DEQju6bWIGg53jnzu+DlJD2uwPwp/pNafruzTl0HTto9c8Kb5tV2oYEw==","repository":{"url":"git+https://github.com/archiesong/pro-components.git","type":"git","directory":"packages/route-utils"},"_npmVersion":"11.3.0","description":"@antdv-next1/route-utils","directories":{},"_nodeVersion":"24.1.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/route-utils_1.0.5_1781756803816_0.5977465254218537","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@antdv-next1/route-utils","version":"1.0.6","keywords":[],"_id":"@antdv-next1/route-utils@1.0.6","maintainers":[{"name":"lucas_song","email":"skyarchieqd@gmail.com"}],"homepage":"https://github.com/archiesong/pro-components#readme","bugs":{"url":"https://github.com/archiesong/pro-components/issues"},"dist":{"shasum":"d17440892bd2fc598050c88369d63d0383207dfc","tarball":"https://registry.npmjs.org/@antdv-next1/route-utils/-/route-utils-1.0.6.tgz","fileCount":17,"integrity":"sha512-1ex+P0th+NbrPjzkzJUWH0TRhQk2rQCkZWXTYjawX1bxnxmCFbqwDSIV6ThJnTM8UbV/4qQN6WbwFoDVZnoYXQ==","signatures":[{"sig":"MEUCIQCRWUlvkHK2yQhUklkG90JTGNi7GlwmdZEM1ysKX80GCwIgXnkvFuq0sG+UH0C/6PQ2GsTlJ5gotmV7vKmvbKftJfA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36793},"main":"./dist/index.js","type":"module","_from":"file:antdv-next1-route-utils-1.0.6.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","authors":["Chao Song <archiesongqd@gmail.com> (https://github.com/archiesong)"],"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./dist/*":{"types":"./dist/*.d.ts","import":"./dist/*.js","default":"./dist/*.js"},"./route-utils":{"types":"./dist/route-utils/index.d.ts","import":"./dist/route-utils/index.js","default":"./dist/route-utils/index.js"}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown","test:ui":"vitest --ui","prepublish":"pnpm build","test:watch":"vitest watch","test:coverage":"vitest run --coverage"},"_npmUser":{"name":"lucas_song","email":"skyarchieqd@gmail.com"},"_resolved":"/private/var/folders/cc/dzg0w96d77gf42fksks603bm0000gn/T/b1ba07d12bddd64ce9b4103bf19762cf/antdv-next1-route-utils-1.0.6.tgz","_integrity":"sha512-1ex+P0th+NbrPjzkzJUWH0TRhQk2rQCkZWXTYjawX1bxnxmCFbqwDSIV6ThJnTM8UbV/4qQN6WbwFoDVZnoYXQ==","repository":{"url":"git+https://github.com/archiesong/pro-components.git","type":"git","directory":"packages/route-utils"},"_npmVersion":"11.3.0","description":"@antdv-next1/route-utils","directories":{},"_nodeVersion":"24.1.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/route-utils_1.0.6_1783076736366_0.6850011487830685","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@antdv-next1/route-utils","type":"module","version":"1.0.7","description":"@antdv-next1/route-utils","repository":{"type":"git","url":"git+https://github.com/lucasjeke/pro-components.git","directory":"packages/route-utils"},"keywords":[],"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./route-utils":{"types":"./dist/route-utils/index.d.ts","import":"./dist/route-utils/index.js","default":"./dist/route-utils/index.js"},"./dist/*":{"types":"./dist/*.d.ts","import":"./dist/*.js","default":"./dist/*.js"}},"main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","publishConfig":{"access":"public"},"authors":["lucasjeke <lucasjekeqd@gmail.com> (https://github.com/lucasjeke)"],"scripts":{"test":"vitest run","test:watch":"vitest watch","test:ui":"vitest --ui","test:coverage":"vitest run --coverage","prepublish":"pnpm build","build":"tsdown","dev":"tsdown --watch"},"_nodeVersion":"24.19.0","_id":"@antdv-next1/route-utils@1.0.7","dist":{"integrity":"sha512-FZFS8InxSb4ByYNdAJjebqTQZEwaGCLW0O2ZFfjyhla67oibyXmt0ZxaGPX2EvPwaLeahSVFpr7dbaegk+5vDg==","shasum":"3d126e727aa703c6a32739792f4f680e36c6649f","tarball":"https://registry.npmjs.org/@antdv-next1/route-utils/-/route-utils-1.0.7.tgz","fileCount":18,"unpackedSize":36965,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCbVh5CRlGGzxDA93b9fovoP+xpBDFpijloSlPkq29juwIgcZ8NDjHVVVzh9KdhlGfAlEJ8YhN0ytIGjNk2w61A6OA="}]},"_npmUser":{"name":"lucas_song","email":"skyarchieqd@gmail.com"},"directories":{},"maintainers":[{"name":"lucas_song","email":"skyarchieqd@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/route-utils_1.0.7_1787814427598_0.2541726009140379"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-11T06:56:09.770Z","modified":"2026-08-27T07:07:07.939Z","1.0.0":"2026-06-11T06:56:10.229Z","1.0.1":"2026-06-11T07:45:56.237Z","1.0.2":"2026-06-16T11:02:28.585Z","1.0.3":"2026-06-17T02:30:12.102Z","1.0.4":"2026-06-18T03:53:28.638Z","1.0.5":"2026-06-18T04:26:44.002Z","1.0.6":"2026-07-03T11:05:36.524Z","1.0.7":"2026-08-27T07:07:07.750Z"},"keywords":[],"repository":{"type":"git","url":"git+https://github.com/lucasjeke/pro-components.git","directory":"packages/route-utils"},"description":"@antdv-next1/route-utils","maintainers":[{"name":"lucas_song","email":"skyarchieqd@gmail.com"}],"readme":"# @antdv-next1/route-utils\n\nRoute transformation, menu data generation, and path matching utilities for Pro Layout.\n\n## Installation\n\n```bash\nnpm install @antdv-next1/route-utils\n# or\npnpm add @antdv-next1/route-utils\n```\n\n## What's Included\n\n| Export | Description |\n|--------|-------------|\n| `transformRoute` | Transform route configuration into menu data |\n| `getFlatMenus` | Flatten nested menu structure |\n| `getMatchMenu` | Get matched menu items by path |\n| `path-to-regexp` | Path pattern matching utilities |\n| `sha265` | SHA-256 hashing utility |\n\n## Core Types\n\n### MenuDataItem\n\n```ts\ninterface MenuDataItem {\n  children?: MenuDataItem[]\n  meta?: MetaRecord\n  path: string\n  key?: string\n  name?: string | symbol\n  [key: string]: any\n}\n```\n\n### MetaRecord\n\n```ts\ninterface MetaRecord {\n  hideInMenu?: boolean         // Hide this item and children from menu\n  hideChildrenInMenu?: boolean // Hide children from menu\n  icon?: any                   // Menu icon\n  title?: string               // Menu title\n  locale?: string | false      // Custom i18n key\n  [key: string]: any\n}\n```\n\n## Usage\n\n```ts\nimport { transformRoute, getFlatMenus, getMatchMenu } from '@antdv-next1/route-utils'\n\n// Transform route config to menu data\nconst { menuData } = transformRoute(routes)\n\n// Flatten menus\nconst flatMenus = getFlatMenus(menuData)\n\n// Match current path\nconst matched = getMatchMenu('/dashboard', menuData)\n```\n\n## License\n\n[MIT](../../LICENSE)\n","readmeFilename":""}