@ddd-tool/domain-designer-cli 0.0.0-alpha.21 → 0.0.0-alpha.22
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/LICENSE +1 -1
- package/README.md +29 -11
- package/bin/domain-designer-cli.cjs +1 -1
- package/package.json +4 -3
- package/templates/node_modules/@ddd-tool/domain-designer-core/check.d.ts +4 -0
- package/templates/node_modules/@ddd-tool/domain-designer-core/common.d.ts +1 -1
- package/templates/node_modules/@ddd-tool/domain-designer-core/define.d.ts +229 -0
- package/templates/node_modules/@ddd-tool/domain-designer-core/index.d.ts +4 -227
- package/templates/node_modules/version.txt +1 -1
- package/vite.config.ts +10 -1
package/LICENSE
CHANGED
|
@@ -186,7 +186,7 @@
|
|
|
186
186
|
same "printed page" as the copyright notice for easier
|
|
187
187
|
identification within third-party archives.
|
|
188
188
|
|
|
189
|
-
Copyright
|
|
189
|
+
Copyright 2024 <AlphaFoxz@github.com>
|
|
190
190
|
|
|
191
191
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
192
192
|
you may not use this file except in compliance with the License.
|
package/README.md
CHANGED
|
@@ -1,21 +1,31 @@
|
|
|
1
1
|
# domain-designer-cli
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
通过编写 ts 的方式进行领域设计,目标是作为 ddd 建模生产力工具
|
|
4
|
+
|
|
5
|
+
设计原则:
|
|
6
|
+
|
|
7
|
+
- 尽可能让代码与视图拥有相近的表达能力
|
|
8
|
+
|
|
9
|
+
- 借助 ts 代码检查保证一定的完备性
|
|
10
|
+
|
|
11
|
+
- 探索在设计的时候,如何更多地表达 `WHY`,而不是像传统设计图一样只表达 `HOW`。(工作流 + 用户故事)
|
|
4
12
|
|
|
5
13
|
## 1 前置依赖
|
|
6
14
|
|
|
7
15
|
[nodejs](https://nodejs.org/en/download/) >= 18
|
|
8
16
|
|
|
9
|
-
[
|
|
17
|
+
[bun](https://bun.sh/) OR [pnpm](https://pnpm.io/) >= 9
|
|
18
|
+
|
|
19
|
+
- 确保有全局的 `bun` 或者 `pnpm` 指令 bun
|
|
10
20
|
|
|
11
|
-
-
|
|
21
|
+
- 本程序会优先使用 bun 运行,如果没有则切换为 pnpm
|
|
12
22
|
|
|
13
23
|
## 2 安装
|
|
14
24
|
|
|
15
25
|
```bash
|
|
16
|
-
pnpm i @ddd-tool/domain-designer-cli -g
|
|
17
|
-
# or
|
|
18
26
|
bun i @ddd-tool/domain-designer-cli -g
|
|
27
|
+
# or
|
|
28
|
+
pnpm i @ddd-tool/domain-designer-cli -g
|
|
19
29
|
```
|
|
20
30
|
|
|
21
31
|
## 3 更新版本
|
|
@@ -23,9 +33,9 @@ bun i @ddd-tool/domain-designer-cli -g
|
|
|
23
33
|
### 3.1 更新软件
|
|
24
34
|
|
|
25
35
|
```bash
|
|
26
|
-
pnpm i @ddd-tool/domain-designer-cli@latest -g
|
|
27
|
-
# or
|
|
28
36
|
bun i @ddd-tool/domain-designer-cli@latest -g
|
|
37
|
+
# or
|
|
38
|
+
pnpm i @ddd-tool/domain-designer-cli@latest -g
|
|
29
39
|
```
|
|
30
40
|
|
|
31
41
|
### 3.2 更新工作空间
|
|
@@ -46,19 +56,23 @@ domain-designer-cli update
|
|
|
46
56
|
domain-designer-cli init
|
|
47
57
|
```
|
|
48
58
|
|
|
59
|
+
- 推荐将工作空间中的所有文件放入实际项目,随项目一起进行版本控制。由于 ts 代码的表达能力并不弱,在多人协作的时候,即使其他人没有安装本工具,也可以通过代码安全地了解、调整领域模型。
|
|
60
|
+
|
|
49
61
|
- 初始化后的目录包含如下内容:
|
|
50
62
|
|
|
51
|
-
- node_modules
|
|
63
|
+
- node_modules 目录:为 ide 提供代码补全的少量 `.d.ts` 文件,不包含任何实现
|
|
52
64
|
|
|
53
|
-
-
|
|
65
|
+
- 示例 ts 文件。可以快速了解如何使用 ts 代码进行建模
|
|
54
66
|
|
|
55
|
-
- RunWeb
|
|
67
|
+
- RunWeb 脚本:用于实时查看建模效果
|
|
56
68
|
|
|
57
69
|
### 4.2 编写 ts 文件
|
|
58
70
|
|
|
59
71
|
- 可以自行创建多个任意名称的 ts 文件
|
|
60
72
|
|
|
61
|
-
-
|
|
73
|
+
- ※ 特殊规则:只有位于工作空间根目录、且默认导出了一个 DomainDesigner 实例的 ts 文件才会被识别为一个“数据源”,如示例文件中的 `export default d`。除此以外,所有规则与普通 ts 项目一致
|
|
74
|
+
|
|
75
|
+
- 多个数据源 ts 文件会被 web 服务识别为多个数据源,可在 web 页面的设置中切换数据源
|
|
62
76
|
|
|
63
77
|
### 4.3 Web 端运行
|
|
64
78
|
|
|
@@ -69,3 +83,7 @@ domain-designer-cli init
|
|
|
69
83
|
- 对于每个 ts 文件内的修改,刷新页面即可看到效果
|
|
70
84
|
|
|
71
85
|
- 如果新增或者删除了 ts 文件,需要重新运行`RunWeb`脚本
|
|
86
|
+
|
|
87
|
+
## License
|
|
88
|
+
|
|
89
|
+
This project is licensed under the Apache License, Version 2.0. See the LICENSE file for details.
|
|
@@ -123,7 +123,7 @@ Filtered results for: ${this.inputValue?this.inputValue:Fe.gray("Enter something
|
|
|
123
123
|
`,s)}while(r!==-1);return n+=t.slice(s),n}var{stdout:dh,stderr:fh}=uh,Hn=Symbol("GENERATOR"),Et=Symbol("STYLER"),Xt=Symbol("IS_EMPTY"),ph=["ansi","ansi","ansi256","ansi16m"],Ot=Object.create(null),_v=(t,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let i=dh?dh.level:0;t.level=e.level===void 0?i:e.level};var wv=t=>{let e=(...i)=>i.join(" ");return _v(e,t),Object.setPrototypeOf(e,Zt.prototype),e};function Zt(t){return wv(t)}Object.setPrototypeOf(Zt.prototype,Function.prototype);for(let[t,e]of Object.entries(fe))Ot[t]={get(){let i=sr(this,Wn(e.open,e.close,this[Et]),this[Xt]);return Object.defineProperty(this,t,{value:i}),i}};Ot.visible={get(){let t=sr(this,this[Et],!0);return Object.defineProperty(this,"visible",{value:t}),t}};var Vn=(t,e,i,...r)=>t==="rgb"?e==="ansi16m"?fe[i].ansi16m(...r):e==="ansi256"?fe[i].ansi256(fe.rgbToAnsi256(...r)):fe[i].ansi(fe.rgbToAnsi(...r)):t==="hex"?Vn("rgb",e,i,...fe.hexToRgb(...r)):fe[i][t](...r),xv=["rgb","hex","ansi256"];for(let t of xv){Ot[t]={get(){let{level:i}=this;return function(...r){let s=Wn(Vn(t,ph[i],"color",...r),fe.color.close,this[Et]);return sr(this,s,this[Xt])}}};let e="bg"+t[0].toUpperCase()+t.slice(1);Ot[e]={get(){let{level:i}=this;return function(...r){let s=Wn(Vn(t,ph[i],"bgColor",...r),fe.bgColor.close,this[Et]);return sr(this,s,this[Xt])}}}}var Sv=Object.defineProperties(()=>{},{...Ot,level:{enumerable:!0,get(){return this[Hn].level},set(t){this[Hn].level=t}}}),Wn=(t,e,i)=>{let r,s;return i===void 0?(r=t,s=e):(r=i.openAll+t,s=e+i.closeAll),{open:t,close:e,openAll:r,closeAll:s,parent:i}},sr=(t,e,i)=>{let r=(...s)=>Av(r,s.length===1?""+s[0]:s.join(" "));return Object.setPrototypeOf(r,Sv),r[Hn]=t,r[Et]=e,r[Xt]=i,r},Av=(t,e)=>{if(t.level<=0||!e)return t[Xt]?"":e;let i=t[Et];if(i===void 0)return e;let{openAll:r,closeAll:s}=i;if(e.includes("\x1B"))for(;i!==void 0;)e=ch(e,i.close,i.open),i=i.parent;let n=e.indexOf(`
|
|
124
124
|
`);return n!==-1&&(e=hh(e,s,r,n)),r+e+s};Object.defineProperties(Zt.prototype,Ot);var Ev=Zt(),Nw=Zt({level:fh?fh.level:0});var Qe=Ev;var g={print(...t){console.log(...t)},printError(...t){console.error(this.error(...Se(...t)))},printSuccess(...t){console.log(this.success(...Se(...t)))},printWarn(...t){console.log(this.warn(...Se(...t)))},printInfo(...t){console.log(this.info(...Se(...t)))},printDebug(...t){console.log(this.debug(...Se(...t)))},error(...t){return Qe.red(...Se(...t))},success(...t){return Qe.green(...Se(...t))},warn(...t){return Qe.yellow(...Se(...t))},info(...t){return Qe.blueBright(...Se(...t))},debug(...t){return Qe.gray(...Se(...t))}};function Se(...t){return t?t.reduce((e,i)=>(i||e.push(""),i instanceof Error?e.push(i.message+`
|
|
125
125
|
`+i.stack):typeof i=="string"?e.push(i):typeof i=="object"?e.push(JSON.stringify(i,null,2)):e.push(i.toString()),e),[]):[""]}var Bn=V(qi(),1);var L=V(qi(),1);var Ov="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",mh=(t=21)=>{let e="",i=crypto.getRandomValues(new Uint8Array(t|=0));for(;t--;)e+=Ov[i[t]&63];return e};function Cv(t,e=!0,i=!1){let r=(0,L.ref)(),s,n=(0,L.ref)(!1),o=()=>{},a=new Proxy(t,{apply:function(h,c,d){let x=h(...d);if(x instanceof Error){if(r.value=x,s=x,e)throw o(),x}else n.value=!0,r.value=void 0,s=!0,o()}}),l=()=>{},u=new Proxy(h=>{r.value=h},{apply:function(h,c,d){h(...d),l(...d)}});return{promise:new Promise((h,c)=>{if(e&&s instanceof Error){c(s);return}else if(s===!0){h();return}let d;i&&(d=setTimeout(()=>{let x=new Error("timeout!");r.value=x,e&&c(x)},i)),o=()=>{d&&(clearTimeout(d),d=void 0),h()}}),callback:a,onError:u,resolved:(0,L.computed)(()=>n.value),error:(0,L.computed)(()=>r.value)}}function Tv(){return mh()}function Rv(t){let e=Mv(t);return(0,L.shallowReadonly)({states:e.states,commands:e.commands,events:e.events})}function Mv(t){let e=t.states;for(let o of Object.keys(t.states))e[o]=(0,L.readonly)(e[o]);let i=(0,L.shallowReadonly)(t.states),r=(0,L.readonly)(t.commands),s={},n=t.events;for(let o in t.events)s[o]=n[o].api;return(0,L.shallowReadonly)({states:i,commands:r,events:(0,L.shallowReadonly)(s),destroy:t.destroy})}function nr(t){let{callback:e,onError:i,promise:r,resolved:s}=Cv(()=>{},!1,5e3);function n(c){if(s.value===!0)throw new Error("Agg already initialized");o.push(c())}let o=[],a=t({onCreated(c){Promise.resolve().then(c)},onBeforeInitialize:n,isInitialized:(0,L.computed)(()=>s.value),untilInitialized:r});setTimeout(()=>Promise.all(o).then(()=>{e()}).catch(c=>{i(c)}));let l=a.states||{},u=a.commands||{},h=a.events||{};return{_code:Tv(),type:"Singleton",api:Rv({states:l,commands:u,events:h,destroy:()=>{}}),isInitialized:s,async untilInitialized(){return await r.catch(c=>{throw new Error(`Failed to initialize Agg: ${c.message}
|
|
126
|
-
Stack : ${c.stack||"unkown"}`)})}}}var Iv={"signal.{str}":"Error: {str}","signal.scriptStart":"===== Script start =====","signal.successComplete":"===== Program execution succeeded =====","signal.exitWithError":"===== Exit with error =====","question.subcommand":"Select the business type","question.subcommand.init":"Initialize project","question.subcommand.updateWorkspace":"Update Workspace","question.subcommand.runWeb":"Run Web server","question.subcommand.runWeb.source":"Please enter the ts file directory","question.subcommand.info":"[ test ]","error.userCancel":"User canceled","error.invalidArgs{str}":"Invalid args: {str}","error.badArgs":"Bad args","error.shouldBeValidDir{dir}":"{dir} should be a valid directory","error.shouldBeEmptyDir{dir}":"{dir} should be an empty directory","error.noPackageManager":"No package manager found, please install bun or pnpm"},Un=Iv;var Pv={"signal.{str}":"\u9519\u8BEF: {str}","signal.scriptStart":"===== \u811A\u672C\u5F00\u59CB\u6267\u884C =====","signal.successComplete":"===== \u811A\u672C\u6267\u884C\u6210\u529F =====","signal.exitWithError":"===== \u811A\u672C\u5F02\u5E38\u9000\u51FA =====","question.subcommand":"\u8BF7\u9009\u62E9\u8981\u6267\u884C\u7684\u4E1A\u52A1\u7C7B\u578B","question.subcommand.init":"\u521D\u59CB\u5316\u9879\u76EE","question.subcommand.updateWorkspace":"\u66F4\u65B0\u4F9D\u8D56","question.subcommand.runWeb":"\u8FD0\u884C Web \u670D\u52A1","question.subcommand.runWeb.source":"\u8BF7\u8F93\u5165ts\u6587\u4EF6\u76EE\u5F55","question.subcommand.info":"\u3010\u6D4B\u8BD5\u3011","error.userCancel":"\u7528\u6237\u7EC8\u6B62\u4E86\u811A\u672C\u6267\u884C","error.invalidArgs{str}":"\u65E0\u6548\u7684\u53C2\u6570: {str}","error.badArgs":"\u9519\u8BEF\u7684\u53C2\u6570","error.shouldBeValidDir{dir}":"{dir} \u5E94\u8BE5\u662F\u4E00\u4E2A\u6709\u6548\u7684\u76EE\u5F55","error.shouldBeEmptyDir{dir}":"{dir} \u5E94\u8BE5\u662F\u4E00\u4E2A\u7A7A\u76EE\u5F55","error.noPackageManager":"\u672A\u627E\u5230\u5305\u7BA1\u7406\u5668,\u8BF7\u5B89\u88C5 bun \u6216 pnpm"},gh=Pv;var Dv=nr(()=>{let t=(0,Bn.ref)("zh"),e=(0,Bn.ref)(Un);function i(r,s,n){let o=e.value[r];return o||(typeof s=="string"?o=s:typeof n=="string"&&(o=n)),o?(typeof s=="object"&&(o=o.replace(/\{\s*([a-zA-z_]+)\s*\}/g,(a,l)=>String(s[l]))),o):""}return{states:{currentLang:t},commands:{t:i,setCurrentLang(r){r==="en"?e.value=Un:r==="zh"?e.value=gh:isNever(r),t.value=r}}}});function Ae(){return Dv.api}var Nv=Ae().commands.t;function Qt(){throw Error(Nv("error.userCancel"))}var Z={name:"@ddd-tool/domain-designer-cli",version:"0.0.0-alpha.
|
|
126
|
+
Stack : ${c.stack||"unkown"}`)})}}}var Iv={"signal.{str}":"Error: {str}","signal.scriptStart":"===== Script start =====","signal.successComplete":"===== Program execution succeeded =====","signal.exitWithError":"===== Exit with error =====","question.subcommand":"Select the business type","question.subcommand.init":"Initialize project","question.subcommand.updateWorkspace":"Update Workspace","question.subcommand.runWeb":"Run Web server","question.subcommand.runWeb.source":"Please enter the ts file directory","question.subcommand.info":"[ test ]","error.userCancel":"User canceled","error.invalidArgs{str}":"Invalid args: {str}","error.badArgs":"Bad args","error.shouldBeValidDir{dir}":"{dir} should be a valid directory","error.shouldBeEmptyDir{dir}":"{dir} should be an empty directory","error.noPackageManager":"No package manager found, please install bun or pnpm"},Un=Iv;var Pv={"signal.{str}":"\u9519\u8BEF: {str}","signal.scriptStart":"===== \u811A\u672C\u5F00\u59CB\u6267\u884C =====","signal.successComplete":"===== \u811A\u672C\u6267\u884C\u6210\u529F =====","signal.exitWithError":"===== \u811A\u672C\u5F02\u5E38\u9000\u51FA =====","question.subcommand":"\u8BF7\u9009\u62E9\u8981\u6267\u884C\u7684\u4E1A\u52A1\u7C7B\u578B","question.subcommand.init":"\u521D\u59CB\u5316\u9879\u76EE","question.subcommand.updateWorkspace":"\u66F4\u65B0\u4F9D\u8D56","question.subcommand.runWeb":"\u8FD0\u884C Web \u670D\u52A1","question.subcommand.runWeb.source":"\u8BF7\u8F93\u5165ts\u6587\u4EF6\u76EE\u5F55","question.subcommand.info":"\u3010\u6D4B\u8BD5\u3011","error.userCancel":"\u7528\u6237\u7EC8\u6B62\u4E86\u811A\u672C\u6267\u884C","error.invalidArgs{str}":"\u65E0\u6548\u7684\u53C2\u6570: {str}","error.badArgs":"\u9519\u8BEF\u7684\u53C2\u6570","error.shouldBeValidDir{dir}":"{dir} \u5E94\u8BE5\u662F\u4E00\u4E2A\u6709\u6548\u7684\u76EE\u5F55","error.shouldBeEmptyDir{dir}":"{dir} \u5E94\u8BE5\u662F\u4E00\u4E2A\u7A7A\u76EE\u5F55","error.noPackageManager":"\u672A\u627E\u5230\u5305\u7BA1\u7406\u5668,\u8BF7\u5B89\u88C5 bun \u6216 pnpm"},gh=Pv;var Dv=nr(()=>{let t=(0,Bn.ref)("zh"),e=(0,Bn.ref)(Un);function i(r,s,n){let o=e.value[r];return o||(typeof s=="string"?o=s:typeof n=="string"&&(o=n)),o?(typeof s=="object"&&(o=o.replace(/\{\s*([a-zA-z_]+)\s*\}/g,(a,l)=>String(s[l]))),o):""}return{states:{currentLang:t},commands:{t:i,setCurrentLang(r){r==="en"?e.value=Un:r==="zh"?e.value=gh:isNever(r),t.value=r}}}});function Ae(){return Dv.api}var Nv=Ae().commands.t;function Qt(){throw Error(Nv("error.userCancel"))}var Z={name:"@ddd-tool/domain-designer-cli",version:"0.0.0-alpha.22",private:!0,type:"module",files:["./src"],repository:{type:"git",url:"git+https://github.com/ddd-tool/domain-designer-cli-node.git"},bugs:{url:"https://github.com/ddd-tool/domain-designer-cli-node/issues"},readme:"ERROR: No README data found!",homepage:"https://github.com/ddd-tool/domain-designer-cli-node#readme",_id:"@ddd-tool/domain-designer-cli@0.0.0-alpha.22"};var ft=require("child_process"),bh=V(require("os"),1);function yh(){let t=or(),e=null;return t==="windows"?e=(0,ft.spawnSync)("where bun",{encoding:"utf-8",shell:!0}).status:t==="linux"?e=(0,ft.spawnSync)("hash bun",{encoding:"utf-8",shell:!0}).status:t==="mac"&&(e=(0,ft.spawnSync)("hash bun",{encoding:"utf-8",shell:!0}).status),e===0}function vh(){let t=or(),e=null;return t==="windows"?e=(0,ft.spawnSync)("where pnpm",{encoding:"utf-8",shell:!0}).status:t==="linux"?e=(0,ft.spawnSync)("hash pnpm",{encoding:"utf-8",shell:!0}).status:t==="mac"&&(e=(0,ft.spawnSync)("hash pnpm",{encoding:"utf-8",shell:!0}).status),e===0}function or(){let t=bh.default.type();return t==="Windows_NT"?"windows":t==="Linux"?"linux":t==="Darwin"?"mac":"undefined"}function ar(){let t=Z.repository.url.replace(/git\+/g,""),e=`REM App Name: Domain Designer Cli
|
|
127
127
|
REM Script Version: ${Z.version}
|
|
128
128
|
REM Repo Addr: ${t}
|
|
129
129
|
REM Package Manager: ${process.env.PACKAGE_MANAGER}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ddd-tool/domain-designer-cli",
|
|
3
|
-
"version": "0.0.0-alpha.
|
|
3
|
+
"version": "0.0.0-alpha.22",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "",
|
|
6
6
|
"type": "module",
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"repository": "https://github.com/ddd-tool/domain-designer-cli-node",
|
|
28
28
|
"license": "Apache-2.0",
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@ddd-tool/domain-designer-core": "0.0.0-alpha.
|
|
31
|
-
"@ddd-tool/domain-designer-ui-component": "0.0.0-alpha.
|
|
30
|
+
"@ddd-tool/domain-designer-core": "0.0.0-alpha.16",
|
|
31
|
+
"@ddd-tool/domain-designer-ui-component": "0.0.0-alpha.15",
|
|
32
32
|
"@primevue/themes": "^4.2.5",
|
|
33
33
|
"@types/node": "^22.10.2",
|
|
34
34
|
"@vitejs/plugin-vue": "^5.2.1",
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
"primevue": "^4.2.5",
|
|
39
39
|
"typescript": "^5.7.2",
|
|
40
40
|
"vite": "^6.0.5",
|
|
41
|
+
"vite-plugin-top-level-await": "^1.4.4",
|
|
41
42
|
"vue": "^3.5.13",
|
|
42
43
|
"vue-tsc": "^2.1.10"
|
|
43
44
|
},
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type DomainDesigner, type Warning } from './define';
|
|
2
|
+
export declare function checkDomainDesigner(d: DomainDesigner): Record<string, Warning[]>;
|
|
3
|
+
export declare function checkStory(d: DomainDesigner, story: string, r?: Record<string, Warning[]>): Record<string, Warning[]>;
|
|
4
|
+
export declare function checkWorkflow(d: DomainDesigner, workflow: string, r?: Record<string, Warning[]>): Record<string, Warning[]>;
|
|
@@ -21,7 +21,7 @@ export type DomainDesignInternalContext = ReturnType<typeof createInternalContex
|
|
|
21
21
|
declare function createInternalContext(initFn: ContextInitializer): {
|
|
22
22
|
startWorkflow(name: string): string;
|
|
23
23
|
defineUserStory(name: string, workflowNames: NonEmptyArray<string>): void;
|
|
24
|
-
linkTo(srcRule: Rule,
|
|
24
|
+
linkTo(srcRule: Rule, srcId: string, targetRule: Rule, targetId: string, linkType?: LinkType): void;
|
|
25
25
|
getId(): string;
|
|
26
26
|
getWorkflows(): Record<string, string[]>;
|
|
27
27
|
getUserStories(): Record<string, string[]>;
|
|
@@ -191,6 +191,13 @@ export type DomainDesignReadModel<INFOS extends DomainDesignInfoObject> = Readon
|
|
|
191
191
|
export type DomainDesignOptions = {
|
|
192
192
|
toFormatType?: 'BngleBrackets' | 'JSON' | 'JSONPretty';
|
|
193
193
|
};
|
|
194
|
+
export type Warning = {
|
|
195
|
+
_attributes: {
|
|
196
|
+
rule: 'CheckResult';
|
|
197
|
+
};
|
|
198
|
+
type: 'warning';
|
|
199
|
+
message: string;
|
|
200
|
+
};
|
|
194
201
|
export type NonEmptyArray<T> = [T, ...T[]];
|
|
195
202
|
export type NonEmptyObject<T extends object> = keyof T extends never ? never : T;
|
|
196
203
|
export type NonEmptyInitFunc<T extends () => object> = keyof ReturnType<T> extends never ? never : T;
|
|
@@ -205,3 +212,225 @@ export declare function isDomainDesignPolicy(param: any): param is DomainDesignP
|
|
|
205
212
|
export declare function isDomainDesignReadModel(param: any): param is DomainDesignReadModel<any>;
|
|
206
213
|
export declare function isDomainDesignService(param: any): param is DomainDesignService;
|
|
207
214
|
export declare function isDomainDesignSystem(param: any): param is DomainDesignSystem;
|
|
215
|
+
export declare function isDomainDesigner(param: any): param is DomainDesigner;
|
|
216
|
+
export type DomainDesigner = {
|
|
217
|
+
startWorkflow: (name: string) => string;
|
|
218
|
+
defineUserStory: (name: string, workflowNames: import('./define').NonEmptyArray<string>) => void;
|
|
219
|
+
desc: import('./define').DomainDesignDescProvider;
|
|
220
|
+
info: {
|
|
221
|
+
document<NAME extends string>(name: NAME, desc?: string | import('./define').DomainDesignDesc): import('./define').DomainDesignInfo<'Document', NAME>;
|
|
222
|
+
func<NAME extends string>(name: NAME, desc?: string | import('./define').DomainDesignDesc): import('./define').DomainDesignInfo<'Function', NAME>;
|
|
223
|
+
func<NAME extends string>(name: NAME, dependsOn: import('./define').NonEmptyArray<import('./define').DomainDesignInfoFuncDependsOn | string | [string, string | import('./define').DomainDesignDesc]>, desc?: string | import('./define').DomainDesignDesc): import('./define').DomainDesignInfo<'Function', NAME>;
|
|
224
|
+
id<NAME extends string>(name: NAME, desc?: string | import('./define').DomainDesignDesc): import('./define').DomainDesignInfo<'Id', NAME>;
|
|
225
|
+
valueObj<NAME extends string>(name: NAME, desc?: string | import('./define').DomainDesignDesc): import('./define').DomainDesignInfo<'ValueObject', NAME>;
|
|
226
|
+
version<NAME extends string>(name: NAME, desc?: string | import('./define').DomainDesignDesc): import('./define').DomainDesignInfo<'Version', NAME>;
|
|
227
|
+
};
|
|
228
|
+
actor: import('./define').DomainDesignActorProvider;
|
|
229
|
+
command: import('./define').DomainDesignCommandProvider;
|
|
230
|
+
facadeCmd: import('./define').DomainDesignFacadeCommandProvider;
|
|
231
|
+
agg: import('./define').DomainDesignAggProvider;
|
|
232
|
+
event: import('./define').DomainDesignEventProvider;
|
|
233
|
+
system: import('./define').DomainDesignSystemProvider;
|
|
234
|
+
policy: import('./define').DomainDesignPolicyProvider;
|
|
235
|
+
service: import('./define').DomainDesignServiceProvider;
|
|
236
|
+
readModel: import('./define').DomainDesignReadModelProvider;
|
|
237
|
+
_getContext: () => {
|
|
238
|
+
startWorkflow(name: string): string;
|
|
239
|
+
defineUserStory(name: string, workflowNames: import('./define').NonEmptyArray<string>): void;
|
|
240
|
+
linkTo(srcRule: 'Info' | 'Actor' | 'Command' | 'FacadeCommand' | 'Agg' | 'Event' | 'Policy' | 'Service' | 'System' | 'ReadModel', srcCode: string, targetRule: 'Info' | 'Actor' | 'Command' | 'FacadeCommand' | 'Agg' | 'Event' | 'Policy' | 'Service' | 'System' | 'ReadModel', targetCode: string, linkType?: import('./common').LinkType): void;
|
|
241
|
+
getId(): string;
|
|
242
|
+
getWorkflows(): Record<string, string[]>;
|
|
243
|
+
getUserStories(): Record<string, string[]>;
|
|
244
|
+
getLinks(): Record<string, import('./common').LinkType>;
|
|
245
|
+
getIdMap(): Record<string, object>;
|
|
246
|
+
getCommands(): Readonly<{
|
|
247
|
+
readonly _attributes: {
|
|
248
|
+
__id: string;
|
|
249
|
+
rule: 'Command';
|
|
250
|
+
name: string;
|
|
251
|
+
infos: any;
|
|
252
|
+
description?: Readonly<{
|
|
253
|
+
readonly _attributes: {
|
|
254
|
+
rule: 'Desc';
|
|
255
|
+
readonly template: TemplateStringsArray;
|
|
256
|
+
readonly values: import('./define').DomainDesignDescValue[];
|
|
257
|
+
};
|
|
258
|
+
}> | undefined;
|
|
259
|
+
};
|
|
260
|
+
inner: any;
|
|
261
|
+
agg<AGG extends import('./define').DomainDesignAgg<any>>(agg: AGG): AGG;
|
|
262
|
+
agg<G_NAME extends string, ARR extends import('./define').NonEmptyArray<import('./define').CustomInfo<G_NAME>>>(name: string, agg: ARR, desc?: string | import('./define').DomainDesignDesc): import('./define').DomainDesignAgg<import('./define').CustomInfoArrayToInfoObject<ARR>>;
|
|
263
|
+
toFormat(): string;
|
|
264
|
+
}>[];
|
|
265
|
+
getFacadeCommands(): Readonly<{
|
|
266
|
+
readonly _attributes: {
|
|
267
|
+
__id: string;
|
|
268
|
+
rule: 'FacadeCommand';
|
|
269
|
+
name: string;
|
|
270
|
+
infos: any;
|
|
271
|
+
description?: Readonly<{
|
|
272
|
+
readonly _attributes: {
|
|
273
|
+
rule: 'Desc';
|
|
274
|
+
readonly template: TemplateStringsArray;
|
|
275
|
+
readonly values: import('./define').DomainDesignDescValue[];
|
|
276
|
+
};
|
|
277
|
+
}> | undefined;
|
|
278
|
+
};
|
|
279
|
+
inner: any;
|
|
280
|
+
agg<AGG extends import('./define').DomainDesignAgg<any>>(agg: AGG): AGG;
|
|
281
|
+
agg<G_NAME extends string, ARR extends import('./define').NonEmptyArray<import('./define').CustomInfo<G_NAME>>>(name: string, agg: ARR, desc?: string | import('./define').DomainDesignDesc): import('./define').DomainDesignAgg<import('./define').CustomInfoArrayToInfoObject<ARR>>;
|
|
282
|
+
service(service: import('./define').DomainDesignService): import('./define').DomainDesignService;
|
|
283
|
+
service(name: string, desc?: string | import('./define').DomainDesignDesc): import('./define').DomainDesignService;
|
|
284
|
+
toFormat(): string;
|
|
285
|
+
}>[];
|
|
286
|
+
getActors(): Readonly<{
|
|
287
|
+
readonly _attributes: {
|
|
288
|
+
__id: string;
|
|
289
|
+
rule: 'Actor';
|
|
290
|
+
name: string;
|
|
291
|
+
description?: import('./define').DomainDesignDesc;
|
|
292
|
+
};
|
|
293
|
+
command<COMMAND extends import('./define').DomainDesignCommand<any>>(command: COMMAND): COMMAND;
|
|
294
|
+
command<G_NAME extends string, ARR extends import('./define').NonEmptyArray<import('./define').DomainDesignInfo<import('./define').DomainDesignInfoType, G_NAME> | G_NAME>>(name: string, infos: ARR, desc?: string | import('./define').DomainDesignDesc): import('./define').DomainDesignCommand<import('./define').CustomInfoArrayToInfoObject<ARR>>;
|
|
295
|
+
facadeCmd<FACADECMD extends import('./define').DomainDesignFacadeCommand<any>>(command: FACADECMD): FACADECMD;
|
|
296
|
+
facadeCmd<G_NAME extends string, ARR extends import('./define').NonEmptyArray<import('./define').DomainDesignInfo<import('./define').DomainDesignInfoType, G_NAME> | G_NAME>>(name: string, infos: ARR, desc?: string | import('./define').DomainDesignDesc): import('./define').DomainDesignFacadeCommand<import('./define').CustomInfoArrayToInfoObject<ARR>>;
|
|
297
|
+
readModel<READ_MODEL extends import('./define').DomainDesignReadModel<any>>(readModel: READ_MODEL): READ_MODEL;
|
|
298
|
+
readModel<G_NAME extends string, ARR extends import('./define').NonEmptyArray<import('./define').DomainDesignInfo<import('./define').DomainDesignInfoType, G_NAME> | G_NAME>>(name: string, infos: ARR | import('./define').NonEmptyInitFunc<() => ARR>): import('./define').DomainDesignReadModel<import('./define').CustomInfoArrayToInfoObject<ARR>>;
|
|
299
|
+
toFormat(): string;
|
|
300
|
+
}>[];
|
|
301
|
+
getEvents(): Readonly<{
|
|
302
|
+
readonly _attributes: {
|
|
303
|
+
__id: string;
|
|
304
|
+
rule: 'Event';
|
|
305
|
+
name: string;
|
|
306
|
+
infos: any;
|
|
307
|
+
description?: Readonly<{
|
|
308
|
+
readonly _attributes: {
|
|
309
|
+
rule: 'Desc';
|
|
310
|
+
readonly template: TemplateStringsArray;
|
|
311
|
+
readonly values: import('./define').DomainDesignDescValue[];
|
|
312
|
+
};
|
|
313
|
+
}> | undefined;
|
|
314
|
+
};
|
|
315
|
+
inner: any;
|
|
316
|
+
policy(policy: import('./define').DomainDesignPolicy): import('./define').DomainDesignPolicy;
|
|
317
|
+
policy(name: string, desc?: string | import('./define').DomainDesignDesc): import('./define').DomainDesignPolicy;
|
|
318
|
+
system(system: import('./define').DomainDesignSystem): import('./define').DomainDesignSystem;
|
|
319
|
+
system(name: string, desc?: string | import('./define').DomainDesignDesc): import('./define').DomainDesignSystem;
|
|
320
|
+
readModel<READ_MODEL extends import('./define').DomainDesignReadModel<any>>(readModel: READ_MODEL): READ_MODEL;
|
|
321
|
+
readModel<G_NAME extends string, ARR extends import('./define').NonEmptyArray<import('./define').CustomInfo<G_NAME>>>(name: string, infos: ARR | import('./define').NonEmptyInitFunc<() => ARR>): import('./define').DomainDesignReadModel<import('./define').CustomInfoArrayToInfoObject<ARR>>;
|
|
322
|
+
toFormat(): string;
|
|
323
|
+
}>[];
|
|
324
|
+
getPolicies(): Readonly<{
|
|
325
|
+
readonly _attributes: {
|
|
326
|
+
__id: string;
|
|
327
|
+
rule: 'Policy';
|
|
328
|
+
name: string;
|
|
329
|
+
description?: import('./define').DomainDesignDesc;
|
|
330
|
+
};
|
|
331
|
+
service(service: import('./define').DomainDesignService): import('./define').DomainDesignService;
|
|
332
|
+
service(name: string, desc?: string | import('./define').DomainDesignDesc): import('./define').DomainDesignService;
|
|
333
|
+
toFormat(): string;
|
|
334
|
+
}>[];
|
|
335
|
+
getServices(): Readonly<{
|
|
336
|
+
readonly _attributes: {
|
|
337
|
+
__id: string;
|
|
338
|
+
rule: 'Service';
|
|
339
|
+
name: string;
|
|
340
|
+
description?: import('./define').DomainDesignDesc;
|
|
341
|
+
};
|
|
342
|
+
command<COMMAND extends import('./define').DomainDesignCommand<any>>(command: COMMAND): COMMAND;
|
|
343
|
+
command<G_NAME extends string, ARR extends import('./define').NonEmptyArray<import('./define').CustomInfo<G_NAME>>>(name: string, infos: ARR, desc?: string | import('./define').DomainDesignDesc): import('./define').DomainDesignCommand<import('./define').CustomInfoArrayToInfoObject<ARR>>;
|
|
344
|
+
facadeCmd<FACADECMD extends import('./define').DomainDesignFacadeCommand<any>>(facadeCmd: FACADECMD): FACADECMD;
|
|
345
|
+
facadeCmd<G_NAME extends string, ARR extends import('./define').NonEmptyArray<import('./define').CustomInfo<G_NAME>>>(name: string, infos: ARR, desc?: string | import('./define').DomainDesignDesc): import('./define').DomainDesignFacadeCommand<import('./define').CustomInfoArrayToInfoObject<ARR>>;
|
|
346
|
+
agg<AGG extends import('./define').DomainDesignAgg<any>>(agg: AGG): AGG;
|
|
347
|
+
agg<G_NAME extends string, ARR extends import('./define').NonEmptyArray<import('./define').CustomInfo<G_NAME>>>(name: string, agg: ARR, desc?: string | import('./define').DomainDesignDesc): import('./define').DomainDesignAgg<import('./define').CustomInfoArrayToInfoObject<ARR>>;
|
|
348
|
+
toFormat(): string;
|
|
349
|
+
}>[];
|
|
350
|
+
getSystems(): Readonly<{
|
|
351
|
+
readonly _attributes: {
|
|
352
|
+
__id: string;
|
|
353
|
+
rule: 'System';
|
|
354
|
+
name: string;
|
|
355
|
+
description?: import('./define').DomainDesignDesc;
|
|
356
|
+
};
|
|
357
|
+
command<COMMAND extends import('./define').DomainDesignCommand<any>>(command: COMMAND): COMMAND;
|
|
358
|
+
command<G_NAME extends string, ARR extends import('./define').NonEmptyArray<import('./define').CustomInfo<G_NAME>>>(name: string, infos: ARR, desc?: string | import('./define').DomainDesignDesc): import('./define').DomainDesignCommand<import('./define').CustomInfoArrayToInfoObject<ARR>>;
|
|
359
|
+
facadeCmd<FACADECMD extends import('./define').DomainDesignFacadeCommand<any>>(facadeCmd: FACADECMD): FACADECMD;
|
|
360
|
+
facadeCmd<G_NAME extends string, ARR extends import('./define').NonEmptyArray<import('./define').CustomInfo<G_NAME>>>(name: string, infos: ARR, desc?: string | import('./define').DomainDesignDesc): import('./define').DomainDesignFacadeCommand<import('./define').CustomInfoArrayToInfoObject<ARR>>;
|
|
361
|
+
toFormat(): string;
|
|
362
|
+
}>[];
|
|
363
|
+
getAggs(): Readonly<{
|
|
364
|
+
readonly _attributes: {
|
|
365
|
+
__id: string;
|
|
366
|
+
rule: 'Agg';
|
|
367
|
+
name: string;
|
|
368
|
+
infos: any;
|
|
369
|
+
description?: Readonly<{
|
|
370
|
+
readonly _attributes: {
|
|
371
|
+
rule: 'Desc';
|
|
372
|
+
readonly template: TemplateStringsArray;
|
|
373
|
+
readonly values: import('./define').DomainDesignDescValue[];
|
|
374
|
+
};
|
|
375
|
+
}> | undefined;
|
|
376
|
+
};
|
|
377
|
+
inner: any;
|
|
378
|
+
event<EVENT extends import('./define').DomainDesignEvent<any>>(event: EVENT): EVENT;
|
|
379
|
+
event<G_NAME extends string, ARR extends import('./define').NonEmptyArray<import('./define').CustomInfo<G_NAME>>>(name: string, infos: ARR, desc?: string | import('./define').DomainDesignDesc): import('./define').DomainDesignEvent<import('./define').CustomInfoArrayToInfoObject<ARR>>;
|
|
380
|
+
toFormat(): string;
|
|
381
|
+
}>[];
|
|
382
|
+
getReadModels(): Readonly<{
|
|
383
|
+
readonly _attributes: {
|
|
384
|
+
__id: string;
|
|
385
|
+
rule: 'ReadModel';
|
|
386
|
+
name: string;
|
|
387
|
+
infos: any;
|
|
388
|
+
description?: Readonly<{
|
|
389
|
+
readonly _attributes: {
|
|
390
|
+
rule: 'Desc';
|
|
391
|
+
readonly template: TemplateStringsArray;
|
|
392
|
+
readonly values: import('./define').DomainDesignDescValue[];
|
|
393
|
+
};
|
|
394
|
+
}> | undefined;
|
|
395
|
+
};
|
|
396
|
+
inner: any;
|
|
397
|
+
toFormat(): string;
|
|
398
|
+
}>[];
|
|
399
|
+
registerInfo(info: import('./define').DomainDesignInfo<any, any>): void;
|
|
400
|
+
registerCommand(command: import('./define').DomainDesignCommand<any>): void;
|
|
401
|
+
registerFacadeCommand(command: import('./define').DomainDesignFacadeCommand<any>): void;
|
|
402
|
+
registerActor(actor: import('./define').DomainDesignActor): void;
|
|
403
|
+
registerEvent(event: import('./define').DomainDesignEvent<any>): void;
|
|
404
|
+
registerPolicy(policy: import('./define').DomainDesignPolicy): void;
|
|
405
|
+
registerService(service: import('./define').DomainDesignService): void;
|
|
406
|
+
registerSystem(system: import('./define').DomainDesignSystem): void;
|
|
407
|
+
registerAgg(agg: import('./define').DomainDesignAgg<any>): void;
|
|
408
|
+
registerReadModel(readModel: import('./define').DomainDesignReadModel<any>): void;
|
|
409
|
+
customInfoArrToInfoObj<G_NAME extends string, ARR extends import('./define').NonEmptyArray<import('./define').CustomInfo<G_NAME>>>(arr: ARR): import('./define').CustomInfoArrayToInfoObject<ARR>;
|
|
410
|
+
customInfoArrToInfoArr<G_NAME extends string, ARR extends import('./define').NonEmptyArray<import('./define').CustomInfo<G_NAME>>>(arr: ARR): import('./define').DomainDesignInfo<import('./define').DomainDesignInfoType, string>[];
|
|
411
|
+
toFormat<OBJ extends {
|
|
412
|
+
_attributes: {
|
|
413
|
+
__id: string;
|
|
414
|
+
name: string;
|
|
415
|
+
};
|
|
416
|
+
}>(obj: OBJ): string;
|
|
417
|
+
createDesc: import('./define').DomainDesignDescProvider;
|
|
418
|
+
info: {
|
|
419
|
+
document<NAME extends string>(name: NAME, desc?: string | import('./define').DomainDesignDesc): import('./define').DomainDesignInfo<'Document', NAME>;
|
|
420
|
+
func<NAME extends string>(name: NAME, desc?: string | import('./define').DomainDesignDesc): import('./define').DomainDesignInfo<'Function', NAME>;
|
|
421
|
+
func<NAME extends string>(name: NAME, dependsOn: import('./define').NonEmptyArray<import('./define').DomainDesignInfoFuncDependsOn | string | [string, string | import('./define').DomainDesignDesc]>, desc?: string | import('./define').DomainDesignDesc): import('./define').DomainDesignInfo<'Function', NAME>;
|
|
422
|
+
id<NAME extends string>(name: NAME, desc?: string | import('./define').DomainDesignDesc): import('./define').DomainDesignInfo<'Id', NAME>;
|
|
423
|
+
valueObj<NAME extends string>(name: NAME, desc?: string | import('./define').DomainDesignDesc): import('./define').DomainDesignInfo<'ValueObject', NAME>;
|
|
424
|
+
version<NAME extends string>(name: NAME, desc?: string | import('./define').DomainDesignDesc): import('./define').DomainDesignInfo<'Version', NAME>;
|
|
425
|
+
};
|
|
426
|
+
createPersion: import('./define').DomainDesignActorProvider;
|
|
427
|
+
createCommand: import('./define').DomainDesignCommandProvider;
|
|
428
|
+
createFacadeCommand: import('./define').DomainDesignFacadeCommandProvider;
|
|
429
|
+
createAgg: import('./define').DomainDesignAggProvider;
|
|
430
|
+
createEvent: import('./define').DomainDesignEventProvider;
|
|
431
|
+
createPolicy: import('./define').DomainDesignPolicyProvider;
|
|
432
|
+
createService: import('./define').DomainDesignServiceProvider;
|
|
433
|
+
createSystem: import('./define').DomainDesignSystemProvider;
|
|
434
|
+
createReadModel: import('./define').DomainDesignReadModelProvider;
|
|
435
|
+
};
|
|
436
|
+
};
|
|
@@ -1,227 +1,4 @@
|
|
|
1
|
-
import { DomainDesignOptions } from './define';
|
|
2
|
-
export declare function createDomainDesigner(opts?: DomainDesignOptions):
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
desc: import("./define").DomainDesignDescProvider;
|
|
6
|
-
info: {
|
|
7
|
-
document<NAME extends string>(name: NAME, desc?: string | import("./define").DomainDesignDesc): import("./define").DomainDesignInfo<"Document", NAME>;
|
|
8
|
-
func<NAME extends string>(name: NAME, desc?: string | import("./define").DomainDesignDesc): import("./define").DomainDesignInfo<"Function", NAME>;
|
|
9
|
-
func<NAME extends string>(name: NAME, dependsOn: import("./define").NonEmptyArray<import("./define").DomainDesignInfoFuncDependsOn | string | [string, string | import("./define").DomainDesignDesc]>, desc?: string | import("./define").DomainDesignDesc): import("./define").DomainDesignInfo<"Function", NAME>;
|
|
10
|
-
id<NAME extends string>(name: NAME, desc?: string | import("./define").DomainDesignDesc): import("./define").DomainDesignInfo<"Id", NAME>;
|
|
11
|
-
valueObj<NAME extends string>(name: NAME, desc?: string | import("./define").DomainDesignDesc): import("./define").DomainDesignInfo<"ValueObject", NAME>;
|
|
12
|
-
version<NAME extends string>(name: NAME, desc?: string | import("./define").DomainDesignDesc): import("./define").DomainDesignInfo<"Version", NAME>;
|
|
13
|
-
};
|
|
14
|
-
actor: import("./define").DomainDesignActorProvider;
|
|
15
|
-
command: import("./define").DomainDesignCommandProvider;
|
|
16
|
-
facadeCmd: import("./define").DomainDesignFacadeCommandProvider;
|
|
17
|
-
agg: import("./define").DomainDesignAggProvider;
|
|
18
|
-
event: import("./define").DomainDesignEventProvider;
|
|
19
|
-
system: import("./define").DomainDesignSystemProvider;
|
|
20
|
-
policy: import("./define").DomainDesignPolicyProvider;
|
|
21
|
-
service: import("./define").DomainDesignServiceProvider;
|
|
22
|
-
readModel: import("./define").DomainDesignReadModelProvider;
|
|
23
|
-
_getContext: () => {
|
|
24
|
-
startWorkflow(name: string): string;
|
|
25
|
-
defineUserStory(name: string, workflowNames: import("./define").NonEmptyArray<string>): void;
|
|
26
|
-
linkTo(srcRule: "Info" | "Actor" | "Command" | "FacadeCommand" | "Event" | "Agg" | "Policy" | "System" | "Service" | "ReadModel", srcCode: string, targetRule: "Info" | "Actor" | "Command" | "FacadeCommand" | "Event" | "Agg" | "Policy" | "System" | "Service" | "ReadModel", targetCode: string, linkType?: import("./common").LinkType): void;
|
|
27
|
-
getId(): string;
|
|
28
|
-
getWorkflows(): Record<string, string[]>;
|
|
29
|
-
getUserStories(): Record<string, string[]>;
|
|
30
|
-
getLinks(): Record<string, import("./common").LinkType>;
|
|
31
|
-
getIdMap(): Record<string, object>;
|
|
32
|
-
getCommands(): Readonly<{
|
|
33
|
-
readonly _attributes: {
|
|
34
|
-
__id: string;
|
|
35
|
-
rule: "Command";
|
|
36
|
-
name: string;
|
|
37
|
-
infos: any;
|
|
38
|
-
description?: Readonly<{
|
|
39
|
-
readonly _attributes: {
|
|
40
|
-
rule: "Desc";
|
|
41
|
-
readonly template: TemplateStringsArray;
|
|
42
|
-
readonly values: import("./define").DomainDesignDescValue[];
|
|
43
|
-
};
|
|
44
|
-
}> | undefined;
|
|
45
|
-
};
|
|
46
|
-
inner: any;
|
|
47
|
-
agg<AGG extends import("./define").DomainDesignAgg<any>>(agg: AGG): AGG;
|
|
48
|
-
agg<G_NAME extends string, ARR extends import("./define").NonEmptyArray<import("./define").CustomInfo<G_NAME>>>(name: string, agg: ARR, desc?: string | import("./define").DomainDesignDesc): import("./define").DomainDesignAgg<import("./define").CustomInfoArrayToInfoObject<ARR>>;
|
|
49
|
-
toFormat(): string;
|
|
50
|
-
}>[];
|
|
51
|
-
getFacadeCommands(): Readonly<{
|
|
52
|
-
readonly _attributes: {
|
|
53
|
-
__id: string;
|
|
54
|
-
rule: "FacadeCommand";
|
|
55
|
-
name: string;
|
|
56
|
-
infos: any;
|
|
57
|
-
description?: Readonly<{
|
|
58
|
-
readonly _attributes: {
|
|
59
|
-
rule: "Desc";
|
|
60
|
-
readonly template: TemplateStringsArray;
|
|
61
|
-
readonly values: import("./define").DomainDesignDescValue[];
|
|
62
|
-
};
|
|
63
|
-
}> | undefined;
|
|
64
|
-
};
|
|
65
|
-
inner: any;
|
|
66
|
-
agg<AGG extends import("./define").DomainDesignAgg<any>>(agg: AGG): AGG;
|
|
67
|
-
agg<G_NAME extends string, ARR extends import("./define").NonEmptyArray<import("./define").CustomInfo<G_NAME>>>(name: string, agg: ARR, desc?: string | import("./define").DomainDesignDesc): import("./define").DomainDesignAgg<import("./define").CustomInfoArrayToInfoObject<ARR>>;
|
|
68
|
-
service(service: import("./define").DomainDesignService): import("./define").DomainDesignService;
|
|
69
|
-
service(name: string, desc?: string | import("./define").DomainDesignDesc): import("./define").DomainDesignService;
|
|
70
|
-
toFormat(): string;
|
|
71
|
-
}>[];
|
|
72
|
-
getActors(): Readonly<{
|
|
73
|
-
readonly _attributes: {
|
|
74
|
-
__id: string;
|
|
75
|
-
rule: "Actor";
|
|
76
|
-
name: string;
|
|
77
|
-
description?: import("./define").DomainDesignDesc;
|
|
78
|
-
};
|
|
79
|
-
command<COMMAND extends import("./define").DomainDesignCommand<any>>(command: COMMAND): COMMAND;
|
|
80
|
-
command<G_NAME extends string, ARR extends import("./define").NonEmptyArray<import("./define").DomainDesignInfo<import("./define").DomainDesignInfoType, G_NAME> | G_NAME>>(name: string, infos: ARR, desc?: string | import("./define").DomainDesignDesc): import("./define").DomainDesignCommand<import("./define").CustomInfoArrayToInfoObject<ARR>>;
|
|
81
|
-
facadeCmd<FACADECMD extends import("./define").DomainDesignFacadeCommand<any>>(command: FACADECMD): FACADECMD;
|
|
82
|
-
facadeCmd<G_NAME extends string, ARR extends import("./define").NonEmptyArray<import("./define").DomainDesignInfo<import("./define").DomainDesignInfoType, G_NAME> | G_NAME>>(name: string, infos: ARR, desc?: string | import("./define").DomainDesignDesc): import("./define").DomainDesignFacadeCommand<import("./define").CustomInfoArrayToInfoObject<ARR>>;
|
|
83
|
-
readModel<READ_MODEL extends import("./define").DomainDesignReadModel<any>>(readModel: READ_MODEL): READ_MODEL;
|
|
84
|
-
readModel<G_NAME extends string, ARR extends import("./define").NonEmptyArray<import("./define").DomainDesignInfo<import("./define").DomainDesignInfoType, G_NAME> | G_NAME>>(name: string, infos: ARR | import("./define").NonEmptyInitFunc<() => ARR>): import("./define").DomainDesignReadModel<import("./define").CustomInfoArrayToInfoObject<ARR>>;
|
|
85
|
-
toFormat(): string;
|
|
86
|
-
}>[];
|
|
87
|
-
getEvents(): Readonly<{
|
|
88
|
-
readonly _attributes: {
|
|
89
|
-
__id: string;
|
|
90
|
-
rule: "Event";
|
|
91
|
-
name: string;
|
|
92
|
-
infos: any;
|
|
93
|
-
description?: Readonly<{
|
|
94
|
-
readonly _attributes: {
|
|
95
|
-
rule: "Desc";
|
|
96
|
-
readonly template: TemplateStringsArray;
|
|
97
|
-
readonly values: import("./define").DomainDesignDescValue[];
|
|
98
|
-
};
|
|
99
|
-
}> | undefined;
|
|
100
|
-
};
|
|
101
|
-
inner: any;
|
|
102
|
-
policy(policy: import("./define").DomainDesignPolicy): import("./define").DomainDesignPolicy;
|
|
103
|
-
policy(name: string, desc?: string | import("./define").DomainDesignDesc): import("./define").DomainDesignPolicy;
|
|
104
|
-
system(system: import("./define").DomainDesignSystem): import("./define").DomainDesignSystem;
|
|
105
|
-
system(name: string, desc?: string | import("./define").DomainDesignDesc): import("./define").DomainDesignSystem;
|
|
106
|
-
readModel<READ_MODEL extends import("./define").DomainDesignReadModel<any>>(readModel: READ_MODEL): READ_MODEL;
|
|
107
|
-
readModel<G_NAME extends string, ARR extends import("./define").NonEmptyArray<import("./define").CustomInfo<G_NAME>>>(name: string, infos: ARR | import("./define").NonEmptyInitFunc<() => ARR>): import("./define").DomainDesignReadModel<import("./define").CustomInfoArrayToInfoObject<ARR>>;
|
|
108
|
-
toFormat(): string;
|
|
109
|
-
}>[];
|
|
110
|
-
getPolicies(): Readonly<{
|
|
111
|
-
readonly _attributes: {
|
|
112
|
-
__id: string;
|
|
113
|
-
rule: "Policy";
|
|
114
|
-
name: string;
|
|
115
|
-
description?: import("./define").DomainDesignDesc;
|
|
116
|
-
};
|
|
117
|
-
service(service: import("./define").DomainDesignService): import("./define").DomainDesignService;
|
|
118
|
-
service(name: string, desc?: string | import("./define").DomainDesignDesc): import("./define").DomainDesignService;
|
|
119
|
-
toFormat(): string;
|
|
120
|
-
}>[];
|
|
121
|
-
getServices(): Readonly<{
|
|
122
|
-
readonly _attributes: {
|
|
123
|
-
__id: string;
|
|
124
|
-
rule: "Service";
|
|
125
|
-
name: string;
|
|
126
|
-
description?: import("./define").DomainDesignDesc;
|
|
127
|
-
};
|
|
128
|
-
command<COMMAND extends import("./define").DomainDesignCommand<any>>(command: COMMAND): COMMAND;
|
|
129
|
-
command<G_NAME extends string, ARR extends import("./define").NonEmptyArray<import("./define").CustomInfo<G_NAME>>>(name: string, infos: ARR, desc?: string | import("./define").DomainDesignDesc): import("./define").DomainDesignCommand<import("./define").CustomInfoArrayToInfoObject<ARR>>;
|
|
130
|
-
facadeCmd<FACADECMD extends import("./define").DomainDesignFacadeCommand<any>>(facadeCmd: FACADECMD): FACADECMD;
|
|
131
|
-
facadeCmd<G_NAME extends string, ARR extends import("./define").NonEmptyArray<import("./define").CustomInfo<G_NAME>>>(name: string, infos: ARR, desc?: string | import("./define").DomainDesignDesc): import("./define").DomainDesignFacadeCommand<import("./define").CustomInfoArrayToInfoObject<ARR>>;
|
|
132
|
-
agg<AGG extends import("./define").DomainDesignAgg<any>>(agg: AGG): AGG;
|
|
133
|
-
agg<G_NAME extends string, ARR extends import("./define").NonEmptyArray<import("./define").CustomInfo<G_NAME>>>(name: string, agg: ARR, desc?: string | import("./define").DomainDesignDesc): import("./define").DomainDesignAgg<import("./define").CustomInfoArrayToInfoObject<ARR>>;
|
|
134
|
-
toFormat(): string;
|
|
135
|
-
}>[];
|
|
136
|
-
getSystems(): Readonly<{
|
|
137
|
-
readonly _attributes: {
|
|
138
|
-
__id: string;
|
|
139
|
-
rule: "System";
|
|
140
|
-
name: string;
|
|
141
|
-
description?: import("./define").DomainDesignDesc;
|
|
142
|
-
};
|
|
143
|
-
command<COMMAND extends import("./define").DomainDesignCommand<any>>(command: COMMAND): COMMAND;
|
|
144
|
-
command<G_NAME extends string, ARR extends import("./define").NonEmptyArray<import("./define").CustomInfo<G_NAME>>>(name: string, infos: ARR, desc?: string | import("./define").DomainDesignDesc): import("./define").DomainDesignCommand<import("./define").CustomInfoArrayToInfoObject<ARR>>;
|
|
145
|
-
facadeCmd<FACADECMD extends import("./define").DomainDesignFacadeCommand<any>>(facadeCmd: FACADECMD): FACADECMD;
|
|
146
|
-
facadeCmd<G_NAME extends string, ARR extends import("./define").NonEmptyArray<import("./define").CustomInfo<G_NAME>>>(name: string, infos: ARR, desc?: string | import("./define").DomainDesignDesc): import("./define").DomainDesignFacadeCommand<import("./define").CustomInfoArrayToInfoObject<ARR>>;
|
|
147
|
-
toFormat(): string;
|
|
148
|
-
}>[];
|
|
149
|
-
getAggs(): Readonly<{
|
|
150
|
-
readonly _attributes: {
|
|
151
|
-
__id: string;
|
|
152
|
-
rule: "Agg";
|
|
153
|
-
name: string;
|
|
154
|
-
infos: any;
|
|
155
|
-
description?: Readonly<{
|
|
156
|
-
readonly _attributes: {
|
|
157
|
-
rule: "Desc";
|
|
158
|
-
readonly template: TemplateStringsArray;
|
|
159
|
-
readonly values: import("./define").DomainDesignDescValue[];
|
|
160
|
-
};
|
|
161
|
-
}> | undefined;
|
|
162
|
-
};
|
|
163
|
-
inner: any;
|
|
164
|
-
event<EVENT extends import("./define").DomainDesignEvent<any>>(event: EVENT): EVENT;
|
|
165
|
-
event<G_NAME extends string, ARR extends import("./define").NonEmptyArray<import("./define").CustomInfo<G_NAME>>>(name: string, infos: ARR, desc?: string | import("./define").DomainDesignDesc): import("./define").DomainDesignEvent<import("./define").CustomInfoArrayToInfoObject<ARR>>;
|
|
166
|
-
toFormat(): string;
|
|
167
|
-
}>[];
|
|
168
|
-
getReadModels(): Readonly<{
|
|
169
|
-
readonly _attributes: {
|
|
170
|
-
__id: string;
|
|
171
|
-
rule: "ReadModel";
|
|
172
|
-
name: string;
|
|
173
|
-
infos: any;
|
|
174
|
-
description?: Readonly<{
|
|
175
|
-
readonly _attributes: {
|
|
176
|
-
rule: "Desc";
|
|
177
|
-
readonly template: TemplateStringsArray;
|
|
178
|
-
readonly values: import("./define").DomainDesignDescValue[];
|
|
179
|
-
};
|
|
180
|
-
}> | undefined;
|
|
181
|
-
};
|
|
182
|
-
inner: any;
|
|
183
|
-
toFormat(): string;
|
|
184
|
-
}>[];
|
|
185
|
-
registerInfo(info: import("./define").DomainDesignInfo<any, any>): void;
|
|
186
|
-
registerCommand(command: import("./define").DomainDesignCommand<any>): void;
|
|
187
|
-
registerFacadeCommand(command: import("./define").DomainDesignFacadeCommand<any>): void;
|
|
188
|
-
registerActor(actor: import("./define").DomainDesignActor): void;
|
|
189
|
-
registerEvent(event: import("./define").DomainDesignEvent<any>): void;
|
|
190
|
-
registerPolicy(policy: import("./define").DomainDesignPolicy): void;
|
|
191
|
-
registerService(service: import("./define").DomainDesignService): void;
|
|
192
|
-
registerSystem(system: import("./define").DomainDesignSystem): void;
|
|
193
|
-
registerAgg(agg: import("./define").DomainDesignAgg<any>): void;
|
|
194
|
-
registerReadModel(readModel: import("./define").DomainDesignReadModel<any>): void;
|
|
195
|
-
customInfoArrToInfoObj<G_NAME extends string, ARR extends import("./define").NonEmptyArray<import("./define").CustomInfo<G_NAME>>>(arr: ARR): import("./define").CustomInfoArrayToInfoObject<ARR>;
|
|
196
|
-
customInfoArrToInfoArr<G_NAME extends string, ARR extends import("./define").NonEmptyArray<import("./define").CustomInfo<G_NAME>>>(arr: ARR): import("./define").DomainDesignInfo<import("./define").DomainDesignInfoType, string>[];
|
|
197
|
-
toFormat<OBJ extends {
|
|
198
|
-
_attributes: {
|
|
199
|
-
__id: string;
|
|
200
|
-
name: string;
|
|
201
|
-
};
|
|
202
|
-
}>(obj: OBJ): string;
|
|
203
|
-
createDesc: import("./define").DomainDesignDescProvider;
|
|
204
|
-
info: {
|
|
205
|
-
document<NAME extends string>(name: NAME, desc?: string | import("./define").DomainDesignDesc): import("./define").DomainDesignInfo<"Document", NAME>;
|
|
206
|
-
func<NAME extends string>(name: NAME, desc?: string | import("./define").DomainDesignDesc): import("./define").DomainDesignInfo<"Function", NAME>;
|
|
207
|
-
func<NAME extends string>(name: NAME, dependsOn: import("./define").NonEmptyArray<import("./define").DomainDesignInfoFuncDependsOn | string | [string, string | import("./define").DomainDesignDesc]>, desc?: string | import("./define").DomainDesignDesc): import("./define").DomainDesignInfo<"Function", NAME>;
|
|
208
|
-
id<NAME extends string>(name: NAME, desc?: string | import("./define").DomainDesignDesc): import("./define").DomainDesignInfo<"Id", NAME>;
|
|
209
|
-
valueObj<NAME extends string>(name: NAME, desc?: string | import("./define").DomainDesignDesc): import("./define").DomainDesignInfo<"ValueObject", NAME>;
|
|
210
|
-
version<NAME extends string>(name: NAME, desc?: string | import("./define").DomainDesignDesc): import("./define").DomainDesignInfo<"Version", NAME>;
|
|
211
|
-
};
|
|
212
|
-
createPersion: import("./define").DomainDesignActorProvider;
|
|
213
|
-
createCommand: import("./define").DomainDesignCommandProvider;
|
|
214
|
-
createFacadeCommand: import("./define").DomainDesignFacadeCommandProvider;
|
|
215
|
-
createAgg: import("./define").DomainDesignAggProvider;
|
|
216
|
-
createEvent: import("./define").DomainDesignEventProvider;
|
|
217
|
-
createPolicy: import("./define").DomainDesignPolicyProvider;
|
|
218
|
-
createService: import("./define").DomainDesignServiceProvider;
|
|
219
|
-
createSystem: import("./define").DomainDesignSystemProvider;
|
|
220
|
-
createReadModel: import("./define").DomainDesignReadModelProvider;
|
|
221
|
-
};
|
|
222
|
-
};
|
|
223
|
-
export type DomainDesigner = ReturnType<typeof createDomainDesigner>;
|
|
224
|
-
export type { DomainDesignAgg, DomainDesignCommand, DomainDesignFacadeCommand, DomainDesignDesc, DomainDesignEvent, DomainDesignInfo, DomainDesignInfoType, DomainDesignActor, DomainDesignSystem, DomainDesignService, DomainDesignPolicy, } from './define';
|
|
225
|
-
export { isDomainDesignInfo, isDomainDesignInfoFunc, isDomainDesignActor, isDomainDesignAgg, isDomainDesignCommand, isDomainDesignFacadeCommand, isDomainDesignEvent, isDomainDesignPolicy, isDomainDesignReadModel, isDomainDesignService, isDomainDesignSystem, } from './define';
|
|
226
|
-
declare function isDomainDesigner(param: any): param is DomainDesigner;
|
|
227
|
-
export { isDomainDesigner };
|
|
1
|
+
import { DomainDesigner, DomainDesignOptions } from './define';
|
|
2
|
+
export declare function createDomainDesigner(opts?: DomainDesignOptions): DomainDesigner;
|
|
3
|
+
export { type DomainDesigner, type DomainDesignAgg, type DomainDesignCommand, type DomainDesignFacadeCommand, type DomainDesignDesc, type DomainDesignEvent, type DomainDesignInfo, type DomainDesignInfoType, type DomainDesignActor, type DomainDesignSystem, type DomainDesignService, type DomainDesignPolicy, isDomainDesignInfo, isDomainDesignInfoFunc, isDomainDesignActor, isDomainDesignAgg, isDomainDesignCommand, isDomainDesignFacadeCommand, isDomainDesignEvent, isDomainDesignPolicy, isDomainDesignReadModel, isDomainDesignService, isDomainDesignSystem, isDomainDesigner, } from './define';
|
|
4
|
+
export { checkDomainDesigner, checkStory, checkWorkflow } from './check';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0.0.0-alpha.
|
|
1
|
+
0.0.0-alpha.22
|
package/vite.config.ts
CHANGED
|
@@ -2,9 +2,18 @@ import { fileURLToPath, URL } from 'url'
|
|
|
2
2
|
|
|
3
3
|
import { defineConfig } from 'vite'
|
|
4
4
|
import vue from '@vitejs/plugin-vue'
|
|
5
|
+
import topLevelAwait from 'vite-plugin-top-level-await'
|
|
5
6
|
|
|
6
7
|
export default defineConfig({
|
|
7
|
-
plugins: [
|
|
8
|
+
plugins: [
|
|
9
|
+
vue(),
|
|
10
|
+
topLevelAwait({
|
|
11
|
+
// The export name of top-level await promise for each chunk module
|
|
12
|
+
promiseExportName: '__tla',
|
|
13
|
+
// The function to generate import names of top-level await promise in each chunk module
|
|
14
|
+
promiseImportName: (i) => `__tla_${i}`,
|
|
15
|
+
}),
|
|
16
|
+
],
|
|
8
17
|
esbuild: {
|
|
9
18
|
drop: ['console', 'debugger'], // 移除 console 和 debugger 语句
|
|
10
19
|
},
|