Meet npm Pro: unlimited public & private packages + package-based permissions.Learn more »

typed-path-generator

1.4.1 • Public • Published

🏇 typed-path-generator

Convert path /user/:userID to (params: { userID: string | number }) => string

GitHub license PRs Welcome code style: prettier npm version

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.

Quick Start

Install

using yarn:

yarn add typed-path-generator

or via npm:

npm install typed-path-generator

Config paths

typed-path-generator using YAML as configuration file. Here's an example:

options:
  variableName:
    # Used to customize the export variables of generated file. 
    # import { path, to } from './generated-file.ts' 
 
    # Optional, default is `staticPath` 
    staticPath: path
    # Optional, default is `pathFactory` 
    pathFactory: to
    # Optional, default is `ParamsInterface` 
    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

Generate code

run typed-path-generator to generate a relative typescript file:

typed-path-generator ./your-config-file.yaml

furthermore, you can use glob patterns to specify a group of configuration files:

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

Install

npm i typed-path-generator

DownloadsWeekly Downloads

13

Version

1.4.1

License

MIT

Unpacked Size

29.8 kB

Total Files

18

Last publish

Collaborators

  • avatar