@ddd-tool/domain-designer-cli 0.0.0-alpha.0

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.
Files changed (31) hide show
  1. package/LICENSE +201 -0
  2. package/bin/domain-designer-cli.cjs +161 -0
  3. package/bin/domain-designer-cli.cjs.map +7 -0
  4. package/index.html +13 -0
  5. package/package.json +57 -0
  6. package/src/App.vue +12 -0
  7. package/src/assets/logo.svg +1 -0
  8. package/src/assets/main.css +8 -0
  9. package/src/main.ts +27 -0
  10. package/src/views/Index.vue +16 -0
  11. package/src/views/design-en.ts +112 -0
  12. package/src/views/design-zh.ts +101 -0
  13. package/src/views/index.ts +7 -0
  14. package/templates/node_modules/@ddd-tool/domain-designer-core/actor.d.ts +2 -0
  15. package/templates/node_modules/@ddd-tool/domain-designer-core/agg.d.ts +2 -0
  16. package/templates/node_modules/@ddd-tool/domain-designer-core/command.d.ts +3 -0
  17. package/templates/node_modules/@ddd-tool/domain-designer-core/common.d.ts +201 -0
  18. package/templates/node_modules/@ddd-tool/domain-designer-core/define.d.ts +172 -0
  19. package/templates/node_modules/@ddd-tool/domain-designer-core/desc.d.ts +2 -0
  20. package/templates/node_modules/@ddd-tool/domain-designer-core/event.d.ts +2 -0
  21. package/templates/node_modules/@ddd-tool/domain-designer-core/index.d.ts +203 -0
  22. package/templates/node_modules/@ddd-tool/domain-designer-core/info/field.d.ts +2 -0
  23. package/templates/node_modules/@ddd-tool/domain-designer-core/info/index.d.ts +3 -0
  24. package/templates/node_modules/@ddd-tool/domain-designer-core/policy.d.ts +2 -0
  25. package/templates/node_modules/@ddd-tool/domain-designer-core/read-model.d.ts +2 -0
  26. package/templates/node_modules/@ddd-tool/domain-designer-core/service.d.ts +2 -0
  27. package/templates/node_modules/@ddd-tool/domain-designer-core/system.d.ts +2 -0
  28. package/templates/runWeb.bat +1 -0
  29. package/templates//347/244/272/344/276/213.ts +31 -0
  30. package/tsconfig.json +30 -0
  31. package/vite.config.ts +19 -0
package/index.html ADDED
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html>
2
+ <html lang="">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <link rel="icon" href="/favicon.ico">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title>Vite App</title>
8
+ </head>
9
+ <body>
10
+ <div id="app"></div>
11
+ <script type="module" src="/src/main.ts"></script>
12
+ </body>
13
+ </html>
package/package.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "@ddd-tool/domain-designer-cli",
3
+ "version": "0.0.0-alpha.0",
4
+ "private": false,
5
+ "description": "",
6
+ "type": "module",
7
+ "bin": {
8
+ "domain-designer-cli": "./bin/domain-designer-cli.cjs"
9
+ },
10
+ "files": [
11
+ "./bin",
12
+ "./src",
13
+ "./scripts",
14
+ "./templates",
15
+ "./index.html",
16
+ "./tsconfig.json",
17
+ "./vite.config.ts"
18
+ ],
19
+ "scripts": {
20
+ "dev": "vite",
21
+ "build": "run-p build:cli",
22
+ "build:cli": "run-p verify && zx ./scripts/build-cli.mjs",
23
+ "test": "run-p build:cli && run-p test:fun",
24
+ "test:fun": "vitest",
25
+ "verify": "tsc -p ./tsconfig.build-cli.json",
26
+ "demo:init": "node ./bin/domain-designer-cli.cjs init --source=F:/vscode_projects/@ddd-tool/domain-designer-cli-node/demo",
27
+ "demo:runWeb": "node ./bin/domain-designer-cli.cjs runWeb --source=F:/vscode_projects/@ddd-tool/domain-designer-cli-node/demo"
28
+ },
29
+ "keywords": [
30
+ "domain-designer",
31
+ "ddd"
32
+ ],
33
+ "author": {
34
+ "name": "AlphaFoxz@github.com",
35
+ "email": "841958335@qq.com"
36
+ },
37
+ "repository": "https://github.com/ddd-tool/domain-designer-cli-node",
38
+ "license": "Apache-2.0",
39
+ "devDependencies": {
40
+ "@ddd-tool/domain-designer-core": "0.0.0-alpha.8",
41
+ "@ddd-tool/domain-designer-ui-component": "0.0.0-alpha.4",
42
+ "@tsconfig/node22": "^22.0.0",
43
+ "@types/node": "^22.10.2",
44
+ "@vitejs/plugin-vue": "^5.2.1",
45
+ "@vue/tsconfig": "^0.7.0",
46
+ "npm-run-all2": "^7.0.1",
47
+ "typescript": "^5.7.2",
48
+ "vite": "^6.0.3",
49
+ "vue": "^3.5.13",
50
+ "vue-tsc": "^2.1.10"
51
+ },
52
+ "dependencies": {
53
+ "@primevue/themes": "^4.2.5",
54
+ "primevue": "^4.2.5"
55
+ },
56
+ "packageManager": "pnpm@9.14.4+sha512.c8180b3fbe4e4bca02c94234717896b5529740a6cbadf19fa78254270403ea2f27d4e1d46a08a0f56c89b63dc8ebfd3ee53326da720273794e6200fcf0d184ab"
57
+ }
package/src/App.vue ADDED
@@ -0,0 +1,12 @@
1
+ <script setup lang="ts">
2
+ import Index from './views/Index.vue'
3
+ </script>
4
+
5
+ <template>
6
+ <Suspense>
7
+ <Index />
8
+ <template #fallback>
9
+ <h1>Loading...</h1>
10
+ </template>
11
+ </Suspense>
12
+ </template>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 261.76 226.69"><path d="M161.096.001l-30.225 52.351L100.647.001H-.005l130.877 226.688L261.749.001z" fill="#41b883"/><path d="M161.096.001l-30.225 52.351L100.647.001H52.346l78.526 136.01L209.398.001z" fill="#34495e"/></svg>
@@ -0,0 +1,8 @@
1
+ html,
2
+ body,
3
+ #app {
4
+ margin: 0;
5
+ padding: 0;
6
+ width: 100%;
7
+ height: 100%;
8
+ }
package/src/main.ts ADDED
@@ -0,0 +1,27 @@
1
+ import './assets/main.css'
2
+ import 'primeicons/primeicons.css'
3
+
4
+ import { createApp } from 'vue'
5
+ import App from './App.vue'
6
+ import { PrimeVue, Aura, Tooltip } from '@ddd-tool/domain-designer-ui-component'
7
+
8
+ import Button from 'primevue/button'
9
+ import Dock from 'primevue/dock'
10
+
11
+ const app = createApp(App)
12
+
13
+ app.use(PrimeVue, {
14
+ theme: {
15
+ preset: Aura,
16
+ options: {
17
+ prefix: 'p',
18
+ darkModeSelector: 'light',
19
+ cssLayer: true,
20
+ },
21
+ },
22
+ })
23
+ app.component('Button', Button)
24
+ app.component('Dock', Dock)
25
+ app.directive('tooltip', Tooltip)
26
+
27
+ app.mount('#app')
@@ -0,0 +1,16 @@
1
+ <script setup lang="ts">
2
+ import { Ui } from '@ddd-tool/domain-designer-ui-component'
3
+ import '@ddd-tool/domain-designer-ui-component/index.css'
4
+ import { ref } from 'vue'
5
+ import data from './index'
6
+ import type { DomainDesigner } from '@ddd-tool/domain-designer-core'
7
+
8
+ const designs = ref<Record<string, DomainDesigner>>(data)
9
+ // designs.value = {
10
+ // user: (await import('F:/idea_projects/oneboot/.sdk/uml/demo/user')).default,
11
+ // }
12
+ </script>
13
+
14
+ <template>
15
+ <Ui :designs="designs" />
16
+ </template>
@@ -0,0 +1,112 @@
1
+ import { createDomainDesigner } from '@ddd-tool/domain-designer-core'
2
+
3
+ const d = createDomainDesigner()
4
+
5
+ // user
6
+ const user = d.actor('user', 'order user')
7
+
8
+ // aggregation
9
+ const userAccount = d.info.field.any('userAccount')
10
+ const orderId = d.info.field.id('orderId')
11
+ const orderTime = d.info.field.time('orderTime')
12
+ const productPrice = d.info.field.num('productPrice')
13
+ const productQuantity = d.info.field.num('productQuantity')
14
+ const orderAmount = d.info.func('orderAmount', [productPrice, productQuantity])
15
+ const orderAggregation = d.agg(
16
+ 'orderAggregation',
17
+ [orderId, orderTime, userAccount, productPrice, productQuantity, orderAmount],
18
+ 'this is order aggregation'
19
+ )
20
+
21
+ // command
22
+ const createOrder = d.command('createOrder', [
23
+ orderAggregation.inner.orderId,
24
+ userAccount,
25
+ ])
26
+ const autoDeduct = d.command('autoDeduct', [orderId])
27
+
28
+ // event
29
+ const orderSuccess = d.event('orderSuccess', [orderId, orderTime])
30
+ const orderFailure = d.event('orderFailure', [orderId, orderTime])
31
+ const deductSuccess = d.event('deductSuccess', [orderId, orderTime])
32
+ const deductFailure = d.event('deductFailure', [orderId, orderTime])
33
+ // rule
34
+ const paymentRule = d.policy(
35
+ 'paymentRule',
36
+ d.desc`
37
+ if ${userAccount} has opened the automatic payment service, then automatic payment is initiated
38
+ rule 1:
39
+ rule 2:
40
+ rule 3:
41
+ ... ...
42
+ `
43
+ )
44
+ // service
45
+ const autoDeductService = d.service(
46
+ 'autoDeductService',
47
+ 'initiate automatic payment based on payment rule'
48
+ )
49
+ // external system
50
+ const logisticsSystem = d.system('logisticsSystem')
51
+ const mailSystem = d.system('mailSystem')
52
+
53
+ // read model
54
+ const orderDetail = d.readModel('orderDetailReadModel', [orderId, orderTime])
55
+
56
+ const createOrderFailureWorkflow = d.startWorkflow('createOrderFailure')
57
+ user.command(createOrder).agg(orderAggregation).event(orderFailure)
58
+ orderFailure.system(mailSystem)
59
+
60
+ const createOrderSuccess_AutoDeductFailureWorkflow = d.startWorkflow(
61
+ 'createOrderSuccess_AutoDeductFailure'
62
+ )
63
+ user
64
+ .command(createOrder)
65
+ .agg(orderAggregation)
66
+ .event(orderSuccess)
67
+ .policy(paymentRule)
68
+ .service(autoDeductService)
69
+ .command(autoDeduct)
70
+ .agg(orderAggregation)
71
+ .event(deductFailure)
72
+ deductFailure.readModel(orderDetail)
73
+ deductFailure.system(mailSystem)
74
+
75
+ const createOrderSuccess_AutoDeductSuccessWorkflow = d.startWorkflow(
76
+ 'createOrderSuccess_AutoDeductSuccess'
77
+ )
78
+ user
79
+ .command(createOrder)
80
+ .agg(orderAggregation)
81
+ .event(orderSuccess)
82
+ .policy(paymentRule)
83
+ .service(autoDeductService)
84
+ .command(autoDeduct)
85
+ .agg(orderAggregation)
86
+ .event(deductSuccess)
87
+ deductSuccess.readModel(orderDetail)
88
+ deductSuccess.system(logisticsSystem)
89
+
90
+ d.startWorkflow('unclassifiedWorkflow')
91
+ user.command(createOrder).agg(orderAggregation).event(orderFailure)
92
+ orderFailure.system(mailSystem)
93
+
94
+ d.startWorkflow('readModel')
95
+ const userRead = d.actor('user', 'user (read model)')
96
+ userRead.readModel(orderDetail)
97
+
98
+ d.defineUserStory(
99
+ 'as a mall user, I want to place an order and implement automatic payment to get the goods',
100
+ [
101
+ createOrderFailureWorkflow,
102
+ createOrderSuccess_AutoDeductFailureWorkflow,
103
+ createOrderSuccess_AutoDeductSuccessWorkflow,
104
+ ]
105
+ )
106
+
107
+ d.defineUserStory(
108
+ 'as a mall user, I want to view the order status, so I can know the order status',
109
+ [createOrderSuccess_AutoDeductSuccessWorkflow]
110
+ )
111
+
112
+ export default d
@@ -0,0 +1,101 @@
1
+ import { createDomainDesigner } from '@ddd-tool/domain-designer-core'
2
+
3
+ const d = createDomainDesigner()
4
+
5
+ // 用户
6
+ const 用户 = d.actor('用户', '下单用户')
7
+
8
+ // 聚合
9
+ const 用户账号 = d.info.field.any('用户账号')
10
+ const 订单号 = d.info.field.id('订单号')
11
+ const 下单时间 = d.info.field.time('下单时间')
12
+ const 商品价格 = d.info.field.num('商品价格')
13
+ const 商品数量 = d.info.field.num('商品数量')
14
+ const 订单金额 = d.info.func('订单金额', [商品价格, 商品数量])
15
+ const 订单聚合 = d.agg(
16
+ '订单聚合',
17
+ [订单号, 下单时间, 用户账号, 商品价格, 商品数量, 订单金额],
18
+ '这是订单聚合'
19
+ )
20
+
21
+ // 命令
22
+ const 创建订单 = d.command('创建订单', [订单聚合.inner.订单号, 用户账号])
23
+ const 自动扣款 = d.command('自动扣款', [订单号])
24
+
25
+ // 事件
26
+ const 下单成功 = d.event('下单成功', [订单号, 下单时间])
27
+ const 下单失败 = d.event('下单失败', [订单号, 下单时间])
28
+ const 扣款成功 = d.event('扣款成功', [订单号, 下单时间])
29
+ const 扣款失败 = d.event('扣款失败', [订单号, 下单时间])
30
+ // 规则
31
+ const 付款规则 = d.policy(
32
+ '付款规则',
33
+ d.desc`
34
+ 如果${用户账号}开通了自动扣费服务,则发起自动扣款
35
+ 规则1:
36
+ 规则2:
37
+ 规则3:
38
+ ... ...
39
+ `
40
+ )
41
+ // 服务
42
+ const 自动扣款服务 = d.service('自动扣款服务', '根据付款规则发起自动扣款')
43
+ // 外部系统
44
+ const 物流系统 = d.system('物流系统')
45
+ const 邮件系统 = d.system('邮件系统')
46
+
47
+ // 读模型
48
+ const 订单详情 = d.readModel('订单详情读模型', [订单号, 下单时间])
49
+
50
+ const 创建订单失败流程 = d.startWorkflow('创建订单失败')
51
+ 用户.command(创建订单).agg(订单聚合).event(下单失败)
52
+ 下单失败.system(邮件系统)
53
+
54
+ const 创建订单成功_自动扣款失败流程 =
55
+ d.startWorkflow('创建订单成功,自动扣款失败')
56
+ 用户.command(创建订单)
57
+ .agg(订单聚合)
58
+ .event(下单成功)
59
+ .policy(付款规则)
60
+ .service(自动扣款服务)
61
+ .command(自动扣款)
62
+ .agg(订单聚合)
63
+ .event(扣款失败)
64
+ 扣款失败.readModel(订单详情)
65
+ 扣款失败.system(邮件系统)
66
+
67
+ const 创建订单成功_自动扣款成功流程 =
68
+ d.startWorkflow('创建订单成功,自动扣款成功')
69
+ 用户.command(创建订单)
70
+ .agg(订单聚合)
71
+ .event(下单成功)
72
+ .policy(付款规则)
73
+ .service(自动扣款服务)
74
+ .command(自动扣款)
75
+ .agg(订单聚合)
76
+ .event(扣款成功)
77
+ 扣款成功.readModel(订单详情)
78
+ 扣款成功.system(物流系统)
79
+
80
+ d.startWorkflow('未归纳流程')
81
+ 用户.command(创建订单).agg(订单聚合).event(下单失败)
82
+ 下单失败.system(邮件系统)
83
+
84
+ d.startWorkflow('读模型')
85
+ const 用户读 = d.actor('用户', '用户(读模型)')
86
+ 用户读.readModel(订单详情)
87
+
88
+ d.defineUserStory(
89
+ '作为商城用户,我要下单并且实现自动扣款,以便购得心仪得商品',
90
+ [
91
+ 创建订单失败流程,
92
+ 创建订单成功_自动扣款失败流程,
93
+ 创建订单成功_自动扣款成功流程,
94
+ ]
95
+ )
96
+
97
+ d.defineUserStory('作为商城用户,我要查看订单情况,以便了解订单状态', [
98
+ 创建订单成功_自动扣款成功流程,
99
+ ])
100
+
101
+ export default d
@@ -0,0 +1,7 @@
1
+ import type { DomainDesigner } from '@ddd-tool/domain-designer-core'
2
+ const data: Record<string, DomainDesigner> = {
3
+ '示例': (await import('F:/vscode_projects/@ddd-tool/domain-designer-cli-node/demo/示例')).default,
4
+ }
5
+
6
+ export default data
7
+
@@ -0,0 +1,2 @@
1
+ import { DomainDesignActorProvider } from '@ddd-tool/domain-designer-core/define';
2
+ export declare function createActorProvider(designId: string): DomainDesignActorProvider;
@@ -0,0 +1,2 @@
1
+ import { DomainDesignAggProvider } from './define';
2
+ export declare function createAggProvider(designId: string): DomainDesignAggProvider;
@@ -0,0 +1,3 @@
1
+ import { DomainDesignCommandProvider, DomainDesignFacadeCommandProvider } from './define';
2
+ export declare function createCommandProvider(designId: string): DomainDesignCommandProvider;
3
+ export declare function createFacadeCmdProvider(designId: string): DomainDesignFacadeCommandProvider;
@@ -0,0 +1,201 @@
1
+ import { NonEmptyArray, DomainDesignAgg, DomainDesignAggProvider, DomainDesignCommand, DomainDesignCommandProvider, DomainDesignDescProvider, DomainDesignEvent, DomainDesignEventProvider, DomainDesignFacadeCommand, DomainDesignFacadeCommandProvider, DomainDesignInfoProvider, DomainDesignActor, DomainDesignActorProvider, DomainDesignPolicy, DomainDesignPolicyProvider, DomainDesignService, DomainDesignServiceProvider, DomainDesignSystem, DomainDesignSystemProvider, DomainDesignReadModel, DomainDesignReadModelProvider, CustomInfoArrayToInfoObject, DomainDesignInfo, DomainDesignInfoType } from '@ddd-tool/domain-designer-core/define';
2
+ export type LinkType = 'Association' | 'Dependency' | 'Aggregation' | 'Composition';
3
+ type Rule = 'Info' | 'Actor' | 'Command' | 'FacadeCommand' | 'Agg' | 'Event' | 'Policy' | 'Service' | 'System' | 'ReadModel';
4
+ export declare function genId(): string;
5
+ type ContextInitializer = () => {
6
+ id: string;
7
+ createDesc: DomainDesignDescProvider;
8
+ createInfo: DomainDesignInfoProvider;
9
+ createActor: DomainDesignActorProvider;
10
+ createCommand: DomainDesignCommandProvider;
11
+ createFacadeCommand: DomainDesignFacadeCommandProvider;
12
+ createAgg: DomainDesignAggProvider;
13
+ createEvent: DomainDesignEventProvider;
14
+ createPolicy: DomainDesignPolicyProvider;
15
+ createService: DomainDesignServiceProvider;
16
+ createSystem: DomainDesignSystemProvider;
17
+ createReadModel: DomainDesignReadModelProvider;
18
+ };
19
+ export type DomainDesignInternalContext = ReturnType<typeof createInternalContext>;
20
+ declare function createInternalContext(initFn: ContextInitializer): {
21
+ startWorkflow(name: string): string;
22
+ defineUserStory(name: string, workflowNames: NonEmptyArray<string>): void;
23
+ linkTo(srcRule: Rule, srcCode: string, targetRule: Rule, targetCode: string, linkType?: LinkType): void;
24
+ getId(): string;
25
+ getWorkflows(): Record<string, string[]>;
26
+ getUserStories(): Record<string, string[]>;
27
+ getLinks(): Record<string, LinkType>;
28
+ getIdMap(): Record<string, object>;
29
+ getCommands(): Readonly<{
30
+ readonly _attributes: {
31
+ __code: string;
32
+ rule: "Command";
33
+ name: string;
34
+ infos: any;
35
+ description?: Readonly<{
36
+ readonly _attributes: {
37
+ rule: "Desc";
38
+ readonly template: TemplateStringsArray;
39
+ readonly values: import("@ddd-tool/domain-designer-core/define").DomainDesignDescValue[];
40
+ };
41
+ }> | undefined;
42
+ };
43
+ inner: any;
44
+ agg<AGG extends DomainDesignAgg<any>>(agg: AGG): AGG;
45
+ agg<G_NAME extends string, ARR extends NonEmptyArray<DomainDesignInfo<DomainDesignInfoType, G_NAME> | G_NAME>>(name: string, agg: ARR, desc?: string | import("@ddd-tool/domain-designer-core/define").DomainDesignDesc): DomainDesignAgg<CustomInfoArrayToInfoObject<ARR>>;
46
+ }>[];
47
+ getFacadeCommands(): Readonly<{
48
+ readonly _attributes: {
49
+ __code: string;
50
+ rule: "FacadeCommand";
51
+ name: string;
52
+ infos: any;
53
+ description?: Readonly<{
54
+ readonly _attributes: {
55
+ rule: "Desc";
56
+ readonly template: TemplateStringsArray;
57
+ readonly values: import("@ddd-tool/domain-designer-core/define").DomainDesignDescValue[];
58
+ };
59
+ }> | undefined;
60
+ };
61
+ inner: any;
62
+ agg<AGG extends DomainDesignAgg<any>>(agg: AGG): AGG;
63
+ agg<G_NAME extends string, ARR extends NonEmptyArray<DomainDesignInfo<DomainDesignInfoType, G_NAME> | G_NAME>>(name: string, agg: ARR, desc?: string | import("@ddd-tool/domain-designer-core/define").DomainDesignDesc): DomainDesignAgg<CustomInfoArrayToInfoObject<ARR>>;
64
+ service(service: DomainDesignService): DomainDesignService;
65
+ service(name: string, desc?: string | import("@ddd-tool/domain-designer-core/define").DomainDesignDesc): DomainDesignService;
66
+ }>[];
67
+ getActors(): Readonly<{
68
+ readonly _attributes: {
69
+ __code: string;
70
+ rule: "Actor";
71
+ name: string;
72
+ description?: import("@ddd-tool/domain-designer-core/define").DomainDesignDesc;
73
+ };
74
+ command<COMMAND extends DomainDesignCommand<any>>(command: COMMAND): COMMAND;
75
+ command<G_NAME extends string, ARR extends NonEmptyArray<DomainDesignInfo<DomainDesignInfoType, G_NAME> | G_NAME>>(name: string, infos: ARR, desc?: string | import("@ddd-tool/domain-designer-core/define").DomainDesignDesc): DomainDesignCommand<CustomInfoArrayToInfoObject<ARR>>;
76
+ facadeCmd<FACADECMD extends DomainDesignFacadeCommand<any>>(command: FACADECMD): FACADECMD;
77
+ facadeCmd<G_NAME extends string, ARR extends NonEmptyArray<DomainDesignInfo<DomainDesignInfoType, G_NAME> | G_NAME>>(name: string, infos: ARR, desc?: string | import("@ddd-tool/domain-designer-core/define").DomainDesignDesc): DomainDesignFacadeCommand<CustomInfoArrayToInfoObject<ARR>>;
78
+ readModel<READ_MODEL extends DomainDesignReadModel<any>>(readModel: READ_MODEL): READ_MODEL;
79
+ readModel<G_NAME extends string, ARR extends NonEmptyArray<DomainDesignInfo<DomainDesignInfoType, G_NAME> | G_NAME>>(name: string, infos: ARR | import("@ddd-tool/domain-designer-core/define").NonEmptyInitFunc<() => ARR>): DomainDesignReadModel<CustomInfoArrayToInfoObject<ARR>>;
80
+ }>[];
81
+ getEvents(): Readonly<{
82
+ readonly _attributes: {
83
+ __code: string;
84
+ rule: "Event";
85
+ name: string;
86
+ infos: any;
87
+ description?: Readonly<{
88
+ readonly _attributes: {
89
+ rule: "Desc";
90
+ readonly template: TemplateStringsArray;
91
+ readonly values: import("@ddd-tool/domain-designer-core/define").DomainDesignDescValue[];
92
+ };
93
+ }> | undefined;
94
+ };
95
+ inner: any;
96
+ policy(policy: DomainDesignPolicy): DomainDesignPolicy;
97
+ policy(name: string, desc?: string | import("@ddd-tool/domain-designer-core/define").DomainDesignDesc): DomainDesignPolicy;
98
+ system(system: DomainDesignSystem): DomainDesignSystem;
99
+ system(name: string, desc?: string | import("@ddd-tool/domain-designer-core/define").DomainDesignDesc): DomainDesignSystem;
100
+ readModel<READ_MODEL extends DomainDesignReadModel<any>>(readModel: READ_MODEL): READ_MODEL;
101
+ readModel<G_NAME extends string, ARR extends NonEmptyArray<DomainDesignInfo<DomainDesignInfoType, G_NAME> | G_NAME>>(name: string, infos: ARR | import("@ddd-tool/domain-designer-core/define").NonEmptyInitFunc<() => ARR>): DomainDesignReadModel<CustomInfoArrayToInfoObject<ARR>>;
102
+ }>[];
103
+ getPolicies(): Readonly<{
104
+ readonly _attributes: {
105
+ __code: string;
106
+ rule: "Policy";
107
+ name: string;
108
+ description?: import("@ddd-tool/domain-designer-core/define").DomainDesignDesc;
109
+ };
110
+ service(service: DomainDesignService): DomainDesignService;
111
+ service(name: string, desc?: string | import("@ddd-tool/domain-designer-core/define").DomainDesignDesc): DomainDesignService;
112
+ }>[];
113
+ getServices(): Readonly<{
114
+ readonly _attributes: {
115
+ __code: string;
116
+ rule: "Service";
117
+ name: string;
118
+ description?: import("@ddd-tool/domain-designer-core/define").DomainDesignDesc;
119
+ };
120
+ command<COMMAND extends DomainDesignCommand<any>>(command: COMMAND): COMMAND;
121
+ command<G_NAME extends string, ARR extends NonEmptyArray<DomainDesignInfo<DomainDesignInfoType, G_NAME> | G_NAME>>(name: string, infos: ARR, desc?: string | import("@ddd-tool/domain-designer-core/define").DomainDesignDesc): DomainDesignCommand<CustomInfoArrayToInfoObject<ARR>>;
122
+ facadeCmd<FACADECMD extends DomainDesignFacadeCommand<any>>(facadeCmd: FACADECMD): FACADECMD;
123
+ facadeCmd<G_NAME extends string, ARR extends NonEmptyArray<DomainDesignInfo<DomainDesignInfoType, G_NAME> | G_NAME>>(name: string, infos: ARR, desc?: string | import("@ddd-tool/domain-designer-core/define").DomainDesignDesc): DomainDesignFacadeCommand<CustomInfoArrayToInfoObject<ARR>>;
124
+ agg<AGG extends DomainDesignAgg<any>>(agg: AGG): AGG;
125
+ agg<G_NAME extends string, ARR extends NonEmptyArray<DomainDesignInfo<DomainDesignInfoType, G_NAME> | G_NAME>>(name: string, agg: ARR, desc?: string | import("@ddd-tool/domain-designer-core/define").DomainDesignDesc): DomainDesignAgg<CustomInfoArrayToInfoObject<ARR>>;
126
+ }>[];
127
+ getSystems(): Readonly<{
128
+ readonly _attributes: {
129
+ __code: string;
130
+ rule: "System";
131
+ name: string;
132
+ description?: import("@ddd-tool/domain-designer-core/define").DomainDesignDesc;
133
+ };
134
+ command<COMMAND extends DomainDesignCommand<any>>(command: COMMAND): COMMAND;
135
+ command<G_NAME extends string, ARR extends NonEmptyArray<DomainDesignInfo<DomainDesignInfoType, G_NAME> | G_NAME>>(name: string, infos: ARR, desc?: string | import("@ddd-tool/domain-designer-core/define").DomainDesignDesc): DomainDesignCommand<CustomInfoArrayToInfoObject<ARR>>;
136
+ facadeCmd<FACADECMD extends DomainDesignFacadeCommand<any>>(facadeCmd: FACADECMD): FACADECMD;
137
+ facadeCmd<G_NAME extends string, ARR extends NonEmptyArray<DomainDesignInfo<DomainDesignInfoType, G_NAME> | G_NAME>>(name: string, infos: ARR, desc?: string | import("@ddd-tool/domain-designer-core/define").DomainDesignDesc): DomainDesignFacadeCommand<CustomInfoArrayToInfoObject<ARR>>;
138
+ }>[];
139
+ getAggs(): Readonly<{
140
+ readonly _attributes: {
141
+ __code: string;
142
+ rule: "Agg";
143
+ name: string;
144
+ infos: any;
145
+ description?: Readonly<{
146
+ readonly _attributes: {
147
+ rule: "Desc";
148
+ readonly template: TemplateStringsArray;
149
+ readonly values: import("@ddd-tool/domain-designer-core/define").DomainDesignDescValue[];
150
+ };
151
+ }> | undefined;
152
+ };
153
+ inner: any;
154
+ event<EVENT extends DomainDesignEvent<any>>(event: EVENT): EVENT;
155
+ event<G_NAME extends string, ARR extends NonEmptyArray<DomainDesignInfo<DomainDesignInfoType, G_NAME> | G_NAME>>(name: string, infos: ARR, desc?: string | import("@ddd-tool/domain-designer-core/define").DomainDesignDesc): DomainDesignEvent<CustomInfoArrayToInfoObject<ARR>>;
156
+ }>[];
157
+ getReadModels(): Readonly<{
158
+ readonly _attributes: {
159
+ __code: string;
160
+ rule: "ReadModel";
161
+ name: string;
162
+ infos: any;
163
+ description?: Readonly<{
164
+ readonly _attributes: {
165
+ rule: "Desc";
166
+ readonly template: TemplateStringsArray;
167
+ readonly values: import("@ddd-tool/domain-designer-core/define").DomainDesignDescValue[];
168
+ };
169
+ }> | undefined;
170
+ };
171
+ inner: any;
172
+ }>[];
173
+ registerCommand(command: DomainDesignCommand<any>): void;
174
+ registerFacadeCommand(command: DomainDesignFacadeCommand<any>): void;
175
+ registerActor(actor: DomainDesignActor): void;
176
+ registerEvent(event: DomainDesignEvent<any>): void;
177
+ registerPolicy(policy: DomainDesignPolicy): void;
178
+ registerService(service: DomainDesignService): void;
179
+ registerSystem(system: DomainDesignSystem): void;
180
+ registerAgg(agg: DomainDesignAgg<any>): void;
181
+ registerReadModel(readModel: DomainDesignReadModel<any>): void;
182
+ customInfoArrToInfoObj<G_NAME extends string, ARR extends NonEmptyArray<DomainDesignInfo<any, G_NAME> | G_NAME>>(arr: ARR): CustomInfoArrayToInfoObject<ARR>;
183
+ createDesc: DomainDesignDescProvider;
184
+ info: {
185
+ any: <NAME extends string>(name: NAME, desc?: string | import("@ddd-tool/domain-designer-core/define").DomainDesignDesc) => DomainDesignInfo<"Any", NAME>;
186
+ entity: <NAME extends string, ARR extends Array<DomainDesignInfo<DomainDesignInfoType, string> | string>>(name: NAME, infos?: ARR, desc?: string | import("@ddd-tool/domain-designer-core/define").DomainDesignDesc) => DomainDesignInfo<"Entity", NAME>;
187
+ func: <NAME extends string>(name: NAME, dependsOn: NonEmptyArray<import("@ddd-tool/domain-designer-core/define").DomainDesignInfoFuncDependsOn | string>, desc?: string | import("@ddd-tool/domain-designer-core/define").DomainDesignDesc) => DomainDesignInfo<"Function", NAME>;
188
+ field: import("@ddd-tool/domain-designer-core/define").DomainDesignInfoFieldProvider;
189
+ };
190
+ createPersion: DomainDesignActorProvider;
191
+ createCommand: DomainDesignCommandProvider;
192
+ createFacadeCommand: DomainDesignFacadeCommandProvider;
193
+ createAgg: DomainDesignAggProvider;
194
+ createEvent: DomainDesignEventProvider;
195
+ createPolicy: DomainDesignPolicyProvider;
196
+ createService: DomainDesignServiceProvider;
197
+ createSystem: DomainDesignSystemProvider;
198
+ createReadModel: DomainDesignReadModelProvider;
199
+ };
200
+ export declare function useInternalContext(designId: string, initFn?: ContextInitializer): DomainDesignInternalContext;
201
+ export {};