Skip to content

LeetCode-OpenSource/typed-path-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ‡ 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

About

πŸ‡ A more effective way to handle path parameters, which works perfectly with Typescript

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 5

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy