Start basic CLI framework

This commit is contained in:
2020-09-16 10:28:38 -05:00
parent 4dc1f6d7c8
commit d57053703a
10 changed files with 179 additions and 4 deletions

View File

@@ -0,0 +1,37 @@
import AppClass from '../../../lib/src/lifecycle/AppClass.ts'
import {Logging} from '../../../lib/src/service/logging/Logging.ts'
export abstract class Directive extends AppClass {
public abstract readonly keyword: string
public abstract readonly help: string
static options() {
return []
}
public abstract invoke(): any
success(message: any) {
this.make(Logging).success(message, true)
}
error(message: any) {
this.make(Logging).error(message, true)
}
warn(message: any) {
this.make(Logging).warn(message, true)
}
info(message: any) {
this.make(Logging).info(message, true)
}
debug(message: any) {
this.make(Logging).debug(message, true)
}
verbose(message: any) {
this.make(Logging).verbose(message, true)
}
}

View File

@@ -0,0 +1,10 @@
import {Directive} from './Directive.ts'
export class UsageDirective extends Directive {
public readonly keyword = 'help'
public readonly help = 'Display usage information'
public async invoke() {
console.log('Hello, from Daton CLI.')
}
}