@media-quest/engine 0.0.24 → 0.0.25
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 +1 -1
- package/src/engine/SchemaDto.ts +23 -24
- package/src/engine/history-que.spec.ts +67 -67
- package/src/engine/next-que.spec.ts +121 -121
- package/src/engine/page-que-ruleengine-action.ts +4 -6
- package/src/public-api.ts +26 -26
- package/src/rules/__test__/rule-engine.spec.ts +351 -348
- package/src/utils/DUtil.ts +116 -116
- package/src/utils/ID.spec.ts +0 -39
- package/src/utils/ID.ts +0 -73
package/package.json
CHANGED
package/src/engine/SchemaDto.ts
CHANGED
|
@@ -1,24 +1,23 @@
|
|
|
1
|
-
import { Rule } from "../rules/rule";
|
|
2
|
-
import { Fact } from "../rules/fact";
|
|
3
|
-
import { RuleActionPageQue } from "./page-que-ruleengine-action";
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
readonly
|
|
11
|
-
readonly
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
readonly
|
|
17
|
-
readonly
|
|
18
|
-
readonly
|
|
19
|
-
readonly
|
|
20
|
-
readonly
|
|
21
|
-
readonly
|
|
22
|
-
readonly
|
|
23
|
-
|
|
24
|
-
}
|
|
1
|
+
import { Rule } from "../rules/rule";
|
|
2
|
+
import { Fact } from "../rules/fact";
|
|
3
|
+
import { RuleActionPageQue } from "./page-que-ruleengine-action";
|
|
4
|
+
import { PageDto } from "../page/Page";
|
|
5
|
+
|
|
6
|
+
export type PageQueRules = Rule<RuleActionPageQue, never>;
|
|
7
|
+
|
|
8
|
+
export interface PageSequenceDto {
|
|
9
|
+
readonly id: string;
|
|
10
|
+
readonly rules: Array<PageQueRules>;
|
|
11
|
+
readonly pages: Array<PageDto>;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export interface SchemaDto {
|
|
15
|
+
readonly id: string;
|
|
16
|
+
readonly baseHeight: number;
|
|
17
|
+
readonly baseWidth: number;
|
|
18
|
+
readonly backgroundColor: string;
|
|
19
|
+
readonly pages: Array<PageDto>;
|
|
20
|
+
readonly rules: Array<PageQueRules>;
|
|
21
|
+
readonly pageSequences?: Array<PageSequenceDto>;
|
|
22
|
+
readonly predefinedFacts?: ReadonlyArray<Fact>;
|
|
23
|
+
}
|
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
import { HistoryQue } from "./history-que";
|
|
2
|
-
import { DTimestamp } from "../common/DTimestamp";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
const p = (id: number): PageDto => {
|
|
8
|
-
return {
|
|
9
|
-
id:
|
|
10
|
-
prefix: "prefix" + id,
|
|
11
|
-
components: [],
|
|
12
|
-
initialTasks: [],
|
|
13
|
-
staticElements: [],
|
|
14
|
-
background: "",
|
|
15
|
-
tags: [],
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
const pageResult = (id: number, value: number): PageResult => {
|
|
20
|
-
const pageEntered = DTimestamp.now();
|
|
21
|
-
const pageExited = DTimestamp.addMills(pageEntered, 1000);
|
|
22
|
-
const pageTime = DTimestamp.diff(pageEntered, pageExited);
|
|
23
|
-
|
|
24
|
-
const result: PageResult = {
|
|
25
|
-
pageId: "_dummyId" + id,
|
|
26
|
-
pagePrefix: "prefix" + id,
|
|
27
|
-
eventLog: [],
|
|
28
|
-
pageTime,
|
|
29
|
-
collectedFacts: [
|
|
30
|
-
{
|
|
31
|
-
referenceId: "" + id,
|
|
32
|
-
referenceLabel: "label-for-" + id,
|
|
33
|
-
value,
|
|
34
|
-
label: "value-label " + value,
|
|
35
|
-
kind: "numeric-fact",
|
|
36
|
-
},
|
|
37
|
-
],
|
|
38
|
-
};
|
|
39
|
-
return result;
|
|
40
|
-
};
|
|
41
|
-
// const h = (page: PageDto, answeredQuestions: AnsweredQuestion[]): PageResult => ({
|
|
42
|
-
// pageId: page.id,
|
|
43
|
-
// answeredQuestions,
|
|
44
|
-
// });
|
|
45
|
-
const p1 = p(1);
|
|
46
|
-
const p2 = p(2);
|
|
47
|
-
const p3 = p(3);
|
|
48
|
-
const p4 = p(4);
|
|
49
|
-
const p5 = p(5);
|
|
50
|
-
const p6 = p(6);
|
|
51
|
-
const all = [p1, p2, p3, p4, p5, p6];
|
|
52
|
-
|
|
53
|
-
let history = new HistoryQue();
|
|
54
|
-
beforeEach(() => {
|
|
55
|
-
history = new HistoryQue();
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
describe("HistoryQue", () => {
|
|
59
|
-
it("should create an instance", () => {
|
|
60
|
-
expect(history).toBeTruthy();
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
it("Can add history, and get facts back", () => {
|
|
64
|
-
history.addToHistory(pageResult(1, 2));
|
|
65
|
-
expect(history.getFacts().length).toBe(1);
|
|
66
|
-
});
|
|
67
|
-
});
|
|
1
|
+
import { HistoryQue } from "./history-que";
|
|
2
|
+
import { DTimestamp } from "../common/DTimestamp";
|
|
3
|
+
import { PageDto } from "../page/Page";
|
|
4
|
+
import { PageResult } from "../page/page-result";
|
|
5
|
+
import { DUtil } from "../utils/DUtil";
|
|
6
|
+
|
|
7
|
+
const p = (id: number): PageDto => {
|
|
8
|
+
return {
|
|
9
|
+
id: DUtil.randomObjectId(),
|
|
10
|
+
prefix: "prefix" + id,
|
|
11
|
+
components: [],
|
|
12
|
+
initialTasks: [],
|
|
13
|
+
staticElements: [],
|
|
14
|
+
background: "",
|
|
15
|
+
tags: [],
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
const pageResult = (id: number, value: number): PageResult => {
|
|
20
|
+
const pageEntered = DTimestamp.now();
|
|
21
|
+
const pageExited = DTimestamp.addMills(pageEntered, 1000);
|
|
22
|
+
const pageTime = DTimestamp.diff(pageEntered, pageExited);
|
|
23
|
+
|
|
24
|
+
const result: PageResult = {
|
|
25
|
+
pageId: "_dummyId" + id,
|
|
26
|
+
pagePrefix: "prefix" + id,
|
|
27
|
+
eventLog: [],
|
|
28
|
+
pageTime,
|
|
29
|
+
collectedFacts: [
|
|
30
|
+
{
|
|
31
|
+
referenceId: "" + id,
|
|
32
|
+
referenceLabel: "label-for-" + id,
|
|
33
|
+
value,
|
|
34
|
+
label: "value-label " + value,
|
|
35
|
+
kind: "numeric-fact",
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
};
|
|
39
|
+
return result;
|
|
40
|
+
};
|
|
41
|
+
// const h = (page: PageDto, answeredQuestions: AnsweredQuestion[]): PageResult => ({
|
|
42
|
+
// pageId: page.id,
|
|
43
|
+
// answeredQuestions,
|
|
44
|
+
// });
|
|
45
|
+
const p1 = p(1);
|
|
46
|
+
const p2 = p(2);
|
|
47
|
+
const p3 = p(3);
|
|
48
|
+
const p4 = p(4);
|
|
49
|
+
const p5 = p(5);
|
|
50
|
+
const p6 = p(6);
|
|
51
|
+
const all = [p1, p2, p3, p4, p5, p6];
|
|
52
|
+
|
|
53
|
+
let history = new HistoryQue();
|
|
54
|
+
beforeEach(() => {
|
|
55
|
+
history = new HistoryQue();
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
describe("HistoryQue", () => {
|
|
59
|
+
it("should create an instance", () => {
|
|
60
|
+
expect(history).toBeTruthy();
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
it("Can add history, and get facts back", () => {
|
|
64
|
+
history.addToHistory(pageResult(1, 2));
|
|
65
|
+
expect(history.getFacts().length).toBe(1);
|
|
66
|
+
});
|
|
67
|
+
});
|
|
@@ -1,121 +1,121 @@
|
|
|
1
|
-
import { NextQue } from "./next-que";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
const tag1 = "tag1";
|
|
6
|
-
const tag2 = "tag2";
|
|
7
|
-
const tag3 = "tag3";
|
|
8
|
-
|
|
9
|
-
let que = new NextQue();
|
|
10
|
-
const createPage = (tags: string[]): PageDto => {
|
|
11
|
-
const dto: PageDto = {
|
|
12
|
-
id:
|
|
13
|
-
prefix: "prefix",
|
|
14
|
-
staticElements: [],
|
|
15
|
-
background: "white",
|
|
16
|
-
components: [],
|
|
17
|
-
initialTasks: [],
|
|
18
|
-
tags,
|
|
19
|
-
};
|
|
20
|
-
return dto;
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
const p1 = createPage([tag1]);
|
|
24
|
-
const p2 = createPage([]);
|
|
25
|
-
const p3 = createPage([tag2]);
|
|
26
|
-
const p4 = createPage([]);
|
|
27
|
-
const p5 = createPage([tag3, tag2]);
|
|
28
|
-
const p6 = createPage([tag3]);
|
|
29
|
-
const all = [p1, p2, p3, p4, p5, p6];
|
|
30
|
-
|
|
31
|
-
beforeEach(() => {
|
|
32
|
-
que = new NextQue();
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
describe("NextQue testing", () => {
|
|
36
|
-
it("Can pop", () => {
|
|
37
|
-
que.resetQue(all);
|
|
38
|
-
expect(que.pop()).toBe(p1);
|
|
39
|
-
expect(que.pop()).toBe(p2);
|
|
40
|
-
expect(que.size).toBe(all.length - 2);
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
it("Can remove by tag", () => {
|
|
44
|
-
que.resetQue(all);
|
|
45
|
-
expect(que.size).toBe(6);
|
|
46
|
-
que.removeByTag(tag3);
|
|
47
|
-
expect(que.size).toBe(4);
|
|
48
|
-
expect(que.peek()).toBe(p1);
|
|
49
|
-
que.pop();
|
|
50
|
-
expect(que.peek()).toBe(p2);
|
|
51
|
-
expect(que.size).toBe(3);
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
it("Can remove by tags[]", () => {
|
|
55
|
-
que.resetQue(all);
|
|
56
|
-
que.removeByTag([tag3, tag2, tag1]);
|
|
57
|
-
expect(que.size).toBe(2);
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
it("Can remove by pageIds[]", () => {
|
|
61
|
-
que.resetQue(all);
|
|
62
|
-
que.removeByPageId([p1.id, p2.id, p3.id]);
|
|
63
|
-
expect(que.pop()).toBe(p4);
|
|
64
|
-
expect(que.size).toBe(2);
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
it("Can remove by pageId", () => {
|
|
68
|
-
que.resetQue(all);
|
|
69
|
-
que.removeByPageId(p1.id);
|
|
70
|
-
expect(que.peek()).toBe(p2);
|
|
71
|
-
que.pop();
|
|
72
|
-
expect(que.peek()).toBe(p3);
|
|
73
|
-
expect(que.size).toBe(4);
|
|
74
|
-
que.removeByPageId(p3.id);
|
|
75
|
-
expect(que.size).toBe(3);
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
it("Can set pages in constuctor", () => {
|
|
79
|
-
que = new NextQue(all);
|
|
80
|
-
expect(que.size).toBe(all.length);
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
it("Can set pages in constuctor", () => {
|
|
84
|
-
que = new NextQue(all);
|
|
85
|
-
expect(que.size).toBe(all.length);
|
|
86
|
-
});
|
|
87
|
-
|
|
88
|
-
it("Can reset que to start over.", () => {
|
|
89
|
-
que = new NextQue(all);
|
|
90
|
-
expect(que.size).toBe(all.length);
|
|
91
|
-
});
|
|
92
|
-
|
|
93
|
-
it("Can insert new pages in the middle of the test.", () => {
|
|
94
|
-
que = new NextQue(all);
|
|
95
|
-
que.pop();
|
|
96
|
-
que.pop();
|
|
97
|
-
que.pop();
|
|
98
|
-
expect(que.peek()).toBe(p4);
|
|
99
|
-
que.insertAsNextByForce([p1, p2]);
|
|
100
|
-
expect(que.peek()).toBe(p1);
|
|
101
|
-
expect(que.size).toBe(5);
|
|
102
|
-
expect(que.pop()).toBe(p1);
|
|
103
|
-
expect(que.pop()).toBe(p2);
|
|
104
|
-
expect(que.pop()).toBe(p4);
|
|
105
|
-
});
|
|
106
|
-
|
|
107
|
-
it("Can jump to page by id", () => {
|
|
108
|
-
que = new NextQue(all);
|
|
109
|
-
que.pop();
|
|
110
|
-
que.jumpToPageById(p5.id);
|
|
111
|
-
// expect(que.size).toBe(5);
|
|
112
|
-
expect(que.peek()).toBe(p5);
|
|
113
|
-
que.jumpToPageById("noncence");
|
|
114
|
-
expect(que.peek()).toBe(p5);
|
|
115
|
-
// CAn not jump back
|
|
116
|
-
que.jumpToPageById(p2.id);
|
|
117
|
-
expect(que.peek()).toBe(p5);
|
|
118
|
-
que.jumpToPageById(p6.id);
|
|
119
|
-
expect(que.peek()).toBe(p6);
|
|
120
|
-
});
|
|
121
|
-
});
|
|
1
|
+
import { NextQue } from "./next-que";
|
|
2
|
+
import { PageDto } from "../page/Page";
|
|
3
|
+
import { DUtil } from "../utils/DUtil";
|
|
4
|
+
|
|
5
|
+
const tag1 = "tag1";
|
|
6
|
+
const tag2 = "tag2";
|
|
7
|
+
const tag3 = "tag3";
|
|
8
|
+
|
|
9
|
+
let que = new NextQue();
|
|
10
|
+
const createPage = (tags: string[]): PageDto => {
|
|
11
|
+
const dto: PageDto = {
|
|
12
|
+
id: DUtil.randomObjectId(),
|
|
13
|
+
prefix: "prefix",
|
|
14
|
+
staticElements: [],
|
|
15
|
+
background: "white",
|
|
16
|
+
components: [],
|
|
17
|
+
initialTasks: [],
|
|
18
|
+
tags,
|
|
19
|
+
};
|
|
20
|
+
return dto;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
const p1 = createPage([tag1]);
|
|
24
|
+
const p2 = createPage([]);
|
|
25
|
+
const p3 = createPage([tag2]);
|
|
26
|
+
const p4 = createPage([]);
|
|
27
|
+
const p5 = createPage([tag3, tag2]);
|
|
28
|
+
const p6 = createPage([tag3]);
|
|
29
|
+
const all = [p1, p2, p3, p4, p5, p6];
|
|
30
|
+
|
|
31
|
+
beforeEach(() => {
|
|
32
|
+
que = new NextQue();
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
describe("NextQue testing", () => {
|
|
36
|
+
it("Can pop", () => {
|
|
37
|
+
que.resetQue(all);
|
|
38
|
+
expect(que.pop()).toBe(p1);
|
|
39
|
+
expect(que.pop()).toBe(p2);
|
|
40
|
+
expect(que.size).toBe(all.length - 2);
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
it("Can remove by tag", () => {
|
|
44
|
+
que.resetQue(all);
|
|
45
|
+
expect(que.size).toBe(6);
|
|
46
|
+
que.removeByTag(tag3);
|
|
47
|
+
expect(que.size).toBe(4);
|
|
48
|
+
expect(que.peek()).toBe(p1);
|
|
49
|
+
que.pop();
|
|
50
|
+
expect(que.peek()).toBe(p2);
|
|
51
|
+
expect(que.size).toBe(3);
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
it("Can remove by tags[]", () => {
|
|
55
|
+
que.resetQue(all);
|
|
56
|
+
que.removeByTag([tag3, tag2, tag1]);
|
|
57
|
+
expect(que.size).toBe(2);
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
it("Can remove by pageIds[]", () => {
|
|
61
|
+
que.resetQue(all);
|
|
62
|
+
que.removeByPageId([p1.id, p2.id, p3.id]);
|
|
63
|
+
expect(que.pop()).toBe(p4);
|
|
64
|
+
expect(que.size).toBe(2);
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
it("Can remove by pageId", () => {
|
|
68
|
+
que.resetQue(all);
|
|
69
|
+
que.removeByPageId(p1.id);
|
|
70
|
+
expect(que.peek()).toBe(p2);
|
|
71
|
+
que.pop();
|
|
72
|
+
expect(que.peek()).toBe(p3);
|
|
73
|
+
expect(que.size).toBe(4);
|
|
74
|
+
que.removeByPageId(p3.id);
|
|
75
|
+
expect(que.size).toBe(3);
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
it("Can set pages in constuctor", () => {
|
|
79
|
+
que = new NextQue(all);
|
|
80
|
+
expect(que.size).toBe(all.length);
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
it("Can set pages in constuctor", () => {
|
|
84
|
+
que = new NextQue(all);
|
|
85
|
+
expect(que.size).toBe(all.length);
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
it("Can reset que to start over.", () => {
|
|
89
|
+
que = new NextQue(all);
|
|
90
|
+
expect(que.size).toBe(all.length);
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
it("Can insert new pages in the middle of the test.", () => {
|
|
94
|
+
que = new NextQue(all);
|
|
95
|
+
que.pop();
|
|
96
|
+
que.pop();
|
|
97
|
+
que.pop();
|
|
98
|
+
expect(que.peek()).toBe(p4);
|
|
99
|
+
que.insertAsNextByForce([p1, p2]);
|
|
100
|
+
expect(que.peek()).toBe(p1);
|
|
101
|
+
expect(que.size).toBe(5);
|
|
102
|
+
expect(que.pop()).toBe(p1);
|
|
103
|
+
expect(que.pop()).toBe(p2);
|
|
104
|
+
expect(que.pop()).toBe(p4);
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
it("Can jump to page by id", () => {
|
|
108
|
+
que = new NextQue(all);
|
|
109
|
+
que.pop();
|
|
110
|
+
que.jumpToPageById(p5.id);
|
|
111
|
+
// expect(que.size).toBe(5);
|
|
112
|
+
expect(que.peek()).toBe(p5);
|
|
113
|
+
que.jumpToPageById("noncence");
|
|
114
|
+
expect(que.peek()).toBe(p5);
|
|
115
|
+
// CAn not jump back
|
|
116
|
+
que.jumpToPageById(p2.id);
|
|
117
|
+
expect(que.peek()).toBe(p5);
|
|
118
|
+
que.jumpToPageById(p6.id);
|
|
119
|
+
expect(que.peek()).toBe(p6);
|
|
120
|
+
});
|
|
121
|
+
});
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
| { kind: "
|
|
5
|
-
| { kind: "excludeByPageId"; pageIds: Array<PageID> }
|
|
6
|
-
| { kind: "jumpToPage"; pageId: PageID };
|
|
1
|
+
export type RuleActionPageQue =
|
|
2
|
+
| { kind: "excludeByTag"; tagIds: string[] }
|
|
3
|
+
| { kind: "excludeByPageId"; pageIds: Array<string> }
|
|
4
|
+
| { kind: "jumpToPage"; pageId: string };
|
package/src/public-api.ts
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
export * from "./engine/SchemaResult";
|
|
2
|
-
export * from "./engine/SchemaEngine";
|
|
3
|
-
export * from "./engine/SchemaDto";
|
|
4
|
-
export * from "./engine/page-que-ruleengine-action";
|
|
5
|
-
export * from "./rules/rule";
|
|
6
|
-
export * from "./rules/fact";
|
|
7
|
-
export * from "./rules/rule-engine";
|
|
8
|
-
export * from "./rules/condition";
|
|
9
|
-
export * from "./utils/DUtil";
|
|
10
|
-
export * from "./utils/ID";
|
|
11
|
-
|
|
12
|
-
export * from "./events/mq-events";
|
|
13
|
-
|
|
14
|
-
export * from "./page/page-component";
|
|
15
|
-
|
|
16
|
-
// ELEMENTS
|
|
17
|
-
export * from "./Delement/css";
|
|
18
|
-
export * from "./Delement/DStyle";
|
|
19
|
-
export * from "./Delement/DImg";
|
|
20
|
-
export * from "./Delement/DText";
|
|
21
|
-
export * from "./Delement/Ddiv";
|
|
22
|
-
export * from "./Delement/button-click-action";
|
|
23
|
-
export * from "./Delement/DElement";
|
|
24
|
-
export * from "./Delement/DElement.dto";
|
|
25
|
-
export { PageDto } from "./page/Page";
|
|
26
|
-
export * from "./page/task";
|
|
1
|
+
export * from "./engine/SchemaResult";
|
|
2
|
+
export * from "./engine/SchemaEngine";
|
|
3
|
+
export * from "./engine/SchemaDto";
|
|
4
|
+
export * from "./engine/page-que-ruleengine-action";
|
|
5
|
+
export * from "./rules/rule";
|
|
6
|
+
export * from "./rules/fact";
|
|
7
|
+
export * from "./rules/rule-engine";
|
|
8
|
+
export * from "./rules/condition";
|
|
9
|
+
export * from "./utils/DUtil";
|
|
10
|
+
// export * from "./utils/ID";
|
|
11
|
+
|
|
12
|
+
export * from "./events/mq-events";
|
|
13
|
+
|
|
14
|
+
export * from "./page/page-component";
|
|
15
|
+
|
|
16
|
+
// ELEMENTS
|
|
17
|
+
export * from "./Delement/css";
|
|
18
|
+
export * from "./Delement/DStyle";
|
|
19
|
+
export * from "./Delement/DImg";
|
|
20
|
+
export * from "./Delement/DText";
|
|
21
|
+
export * from "./Delement/Ddiv";
|
|
22
|
+
export * from "./Delement/button-click-action";
|
|
23
|
+
export * from "./Delement/DElement";
|
|
24
|
+
export * from "./Delement/DElement.dto";
|
|
25
|
+
export { PageDto } from "./page/Page";
|
|
26
|
+
export * from "./page/task";
|