1.5.2 • Published 3 years ago

typed-path-generator v1.5.2

Weekly downloads
2
License
MIT
Repository
github
Last release
3 years ago

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
1.5.2

3 years ago

1.5.1

3 years ago

1.5.0

3 years ago

1.4.1

5 years ago

1.4.1-beta.0

5 years ago

1.4.0

5 years ago

1.4.0-beta.2

5 years ago

1.4.0-beta.1

5 years ago

1.4.0-beta.0

5 years ago

1.3.0

5 years ago

1.2.0

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.0

5 years ago