Convert path `/user/:userID` to `({ userID: string | number }) => string`
npm install typed-path-generatorConvert path /user/:userID to (params: { userID: string | number }) => string
With Typescript, handling path parameters could be very frustrating. Because there is no type checking for path parameters which is only a string type, we have to define it manually in an error-prone way. To free us from those work, typed-path-generator was created. By pre-processing the path string, typed-path-generator will extract the type info from path parameters and generate a well defined Typescript file.
using yarn:
``bash`
yarn add typed-path-generator
or via npm:
`bash`
npm install typed-path-generator
typed-path-generator using YAML as configuration file. Here's an example:
`yaml
options:
variableName:
# Used to customize the export variables of generated file.
# import { path, to } from './generated-file.ts'
# Optional, default is staticPathpathFactory
staticPath: path
# Optional, default is ParamsInterface
pathFactory: to
# Optional, default is
ParamsInterface: Params
paths:
# type URL = string // any valid URL path that path-to-regexp understands. see https://github.com/pillarjs/path-to-regexp for more details.
# interface Paths {
# [key: string]: URL | Paths
# }
user: /user/:userID
settings:
emails: /settings/emails
discuss:
list: /discuss
detail: /discuss/:discussID
`
run typed-path-generator to generate a relative typescript file:
`bash`
typed-path-generator ./your-config-file.yaml
furthermore, you can use glob patterns>) to specify a group of configuration files:
`bash`
typed-path-generator ./packages/**/route.yaml
##### Options:
```
-V, --version output the version number
-P, --prettier [path] specify the config path of Prettier
-h, --help output usage information