1.0.1 • Published 2 years ago

tsc-macro v1.0.1

Weekly downloads
14
License
BSD-2-Clause
Repository
github
Last release
2 years ago

tsc-macro

Compose macro in Typescript, expand back into Typescript

npm Package Version

How it works

tsc-macro evaluates each [name].macro.ts file and save the result to corresponding [name].ts

Example

Source file: fruit.macro.ts

import { genEnum } from 'tsc-macro'

genEnum('fruit', ['apple', 'orange'])

Generated file: fruit.ts

export enum fruit {
  apple,
  orange,
}

A more flexible example: color.macro.ts

import { genArray, genUnionType } from 'tsc-macro'

let colors = ['red', 'green', 'blue']

;`
${genUnionType('Color', colors)}

${genArray('values', colors)}

export const colors: Color[] = ${genArray(colors)}
`.trim()

Generated into color.ts

export type Color =
  | 'red'
  | 'green'
  | 'blue'

export const values = [
  'red',
  'green',
  'blue',
]

export const colors: Color[] = [
  'red',
  'green',
  'blue',
]

More Examples

Installation

npm i -D tsc-macro

Transpile

## recursively in the current directory
npx tsc-macro

## recursively in given directory
npx tsc-macro src/models

License

This project is licensed with BSD-2-Clause

This is free, libre, and open-source software. It comes down to four essential freedoms [ref]:

  • The freedom to run the program as you wish, for any purpose
  • The freedom to study how the program works, and change it so it does your computing as you wish
  • The freedom to redistribute copies so you can help others
  • The freedom to distribute copies of your modified versions to others
1.0.1

2 years ago

1.0.0

2 years ago

0.1.3

3 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago

0.0.2

5 years ago

0.0.1

5 years ago