egg-koid

k-ordered, conflict-free ids generator in a distributed environment for egg.js and midway.js

Usage no npm install needed!

<script type="module">
  import eggKoid from 'https://cdn.skypack.dev/egg-koid';
</script>

README

egg-koid

GitHub tag License ci codecov Conventional Commits lerna

Installation

npm i egg-koid

Configuration

Enable Plugin

Edit ${app_root}/src/config/plugin.ts:

export const koid = {
  enable: true,
  package: 'egg-koid',
}

Add Configurations

/* location: ${app_root}/src/config/config.${env}.ts */

import { KoidEggConfig, genConfigRandom } from 'egg-koid'

export const koid: KoidEggConfig = {
  client: {
    debug: false,
    koidConfig: genConfigRandom(), // value or void 0
  },
}
// OR
export const koid: KoidEggConfig = {
  client: {
    debug: false,
    koidConfig: {
      dataCenter: 0,
      worker: 1,
    }
  },
}

Usage

import { Plugin, Provide } from '@midwayjs/decorator'
import type { Koid } from 'egg-koid'  // note: import **type**

@Provide()
export class UserService {

  @Plugin() readonly koid: Koid

}

License

MIT

Languages