Open
Description
interface PuppetMeta {
/**
* the official IM name
* @example 'WeChat', 'QQ',
*/
channel: string
/**
* the Puppet Name
* @example 'Xyz' (PuppetXyz)
*/
protocol: string
/**
* the NPM package name
* @example 'wechaty-puppet-xpz'
*/
npm: string
/**
* SemVer
* @example '1.2.3'
*/
version: string
}
class PuppetXyz extends Puppet {
override static meta: PuppetMeta = {
channel = 'WeChat',
protocol = 'Xyz', // <- PuppetXyz
npm = 'wechaty-puppet-xpz'
version = '1.2.3',
}
override meta = PuppetTest.meta
}
There are two features that need to be designed:
- The
meta
should be able to pass theWechaty Puppet Service
, how? - The
meta
should be able to get all the upstream puppets, likePuppetService
->PuppetWxWork
, how?