@vyr/service 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +15 -0
- package/src/Service.ts +44 -0
- package/src/index.ts +2 -0
- package/src/locale/Language.ts +10 -0
- package/src/locale/LanguageProvider.ts +15 -0
- package/src/locale/index.ts +2 -0
package/package.json
ADDED
package/src/Service.ts
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
type Region = 'header' | 'body' | 'sidebar' | 'inspector' | 'footer'
|
|
2
|
+
|
|
3
|
+
type SetupService = { setup: () => Promise<void> }
|
|
4
|
+
|
|
5
|
+
abstract class Service {
|
|
6
|
+
|
|
7
|
+
name: string
|
|
8
|
+
|
|
9
|
+
constructor(name: string) {
|
|
10
|
+
this.name = name
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
get(...args: any[]): any { }
|
|
14
|
+
|
|
15
|
+
set(...args: any[]) { }
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* 扩展服务的安装阶段
|
|
19
|
+
*
|
|
20
|
+
* 应在该阶段将扩展服务注册到`runtime`上
|
|
21
|
+
*/
|
|
22
|
+
async setup() { }
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* 扩展服务的准备阶段
|
|
26
|
+
*
|
|
27
|
+
* 该阶段中所有扩展服务均已完成注册,可通过`runtime.get(serviceName)`获取任意扩展服务实例。
|
|
28
|
+
*
|
|
29
|
+
* 当你有2个扩展服务A和B且A依赖B时,你可以在扩展服务A的该阶段获取扩展服务B的实例并使用它。
|
|
30
|
+
*/
|
|
31
|
+
async ready() { }
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* 扩展服务的启动阶段
|
|
36
|
+
*
|
|
37
|
+
* 扩展服务应在该阶段开始前完成所有的准备工作
|
|
38
|
+
*
|
|
39
|
+
* 扩展服务应在该阶段对外提供自己的服务
|
|
40
|
+
*/
|
|
41
|
+
async start() { }
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export { Region, SetupService, Service }
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Locale } from "@vyr/locale";
|
|
2
|
+
import { zhCnLanguageProvider, ZhCNLanguageProvider } from "./LanguageProvider";
|
|
3
|
+
|
|
4
|
+
Locale.register(zhCnLanguageProvider)
|
|
5
|
+
|
|
6
|
+
const language = Locale.getLanguage<ZhCNLanguageProvider>(zhCnLanguageProvider.name)
|
|
7
|
+
|
|
8
|
+
export {
|
|
9
|
+
language
|
|
10
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { LanguageProvider } from '@vyr/locale'
|
|
2
|
+
|
|
3
|
+
interface ZhCNLanguageProvider extends LanguageProvider {
|
|
4
|
+
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
const zhCnLanguageProvider: ZhCNLanguageProvider = {
|
|
8
|
+
id: 'zh_CN',
|
|
9
|
+
name: '@vyr/service',
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export {
|
|
13
|
+
ZhCNLanguageProvider,
|
|
14
|
+
zhCnLanguageProvider,
|
|
15
|
+
}
|