java-enum-transform

Java enum transform to typescript

Usage no npm install needed!

<script type="module">
  import javaEnumTransform from 'https://cdn.skypack.dev/java-enum-transform';
</script>

README

java-enum-transform

Build status Test coverage NPM version NPM Downloads Prettier Conventional Commits

Java enum transform

Input

// User.java
package com.example.foo;

import com.example.foo.Consts;

public class enum User {
  ADMIN(1, "管理员"),
  DEVELOPER(2, "开发人员");
  OWNER(Consts.OWNER, "拥有者");
}
// Consts.java
package com.example.foo;

public class Consts {
  public static int OWNER = 3;
}

Output

export const enum UserEnum {
  /**
   * 管理员
   */
  ADMIN = 1,
  /**
   * 开发人员
   */
  DEVELOPER = 2,
  /**
   * 拥有者
   */
  OWNER = 3
}
export const UserEnumOptions = [
  { label: '管理员', value: UserEnum['ADMIN'] },
  { label: '开发人员', value: UserEnum['DEVELOPER'] },
  { label: '拥有者', value: UserEnum['OWNER'] }
]

Installation

npm install java-enum-transform
# or use yarn
yarn add java-enum-transform

Usage

import { javaEnumTransformByDir, resultToCode } from 'java-enum-transform'

const enumCode = resultToCode(await javaEnumTransformByDir('path/to/java'))

Contributing

  • Fork it!
  • Create your new branch:
    git checkout -b feature-new or git checkout -b fix-which-bug
  • Start your magic work now
  • Make sure npm test passes
  • Commit your changes:
    git commit -am 'feat: some description (close #123)' or git commit -am 'fix: some description (fix #123)'
  • Push to the branch: git push
  • Submit a pull request :)

Authors

This library is written and maintained by 余聪, yucong@yuanfudao.com.

License

MIT - 余聪 🐟