@owlmeans/planning 0.1.18-rc.2 → 0.1.18-rc.21
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/README.md +69 -26
- package/agent-meta/manifest.json +2 -2
- package/agent-meta/skills/planning/SKILL.md +157 -45
- package/build/aliases/types.d.ts +49 -0
- package/build/aliases/types.d.ts.map +1 -0
- package/build/aliases/types.js +2 -0
- package/build/aliases/types.js.map +1 -0
- package/build/aliases.d.ts +4 -0
- package/build/aliases.d.ts.map +1 -0
- package/build/aliases.js +27 -0
- package/build/aliases.js.map +1 -0
- package/build/consts.d.ts +23 -34
- package/build/consts.d.ts.map +1 -1
- package/build/consts.js +26 -25
- package/build/consts.js.map +1 -1
- package/build/entrypoints/types.d.ts +96 -0
- package/build/entrypoints/types.d.ts.map +1 -0
- package/build/entrypoints/types.js +2 -0
- package/build/entrypoints/types.js.map +1 -0
- package/build/entrypoints.d.ts +5 -1
- package/build/entrypoints.d.ts.map +1 -1
- package/build/entrypoints.js +17 -6
- package/build/entrypoints.js.map +1 -1
- package/build/errors.d.ts +41 -0
- package/build/errors.d.ts.map +1 -1
- package/build/errors.js +61 -0
- package/build/errors.js.map +1 -1
- package/build/helpers/apply/consts.local.d.ts +7 -0
- package/build/helpers/apply/consts.local.d.ts.map +1 -0
- package/build/helpers/apply/consts.local.js +9 -0
- package/build/helpers/apply/consts.local.js.map +1 -0
- package/build/helpers/apply/types.d.ts +32 -0
- package/build/helpers/apply/types.d.ts.map +1 -0
- package/build/helpers/apply/types.js +2 -0
- package/build/helpers/apply/types.js.map +1 -0
- package/build/helpers/apply.d.ts +5 -23
- package/build/helpers/apply.d.ts.map +1 -1
- package/build/helpers/apply.js +121 -143
- package/build/helpers/apply.js.map +1 -1
- package/build/helpers/card/types.d.ts +20 -0
- package/build/helpers/card/types.d.ts.map +1 -0
- package/build/helpers/card/types.js +2 -0
- package/build/helpers/card/types.js.map +1 -0
- package/build/helpers/card.d.ts +11 -7
- package/build/helpers/card.d.ts.map +1 -1
- package/build/helpers/card.js +41 -28
- package/build/helpers/card.js.map +1 -1
- package/build/helpers/changes/consts.local.d.ts +13 -0
- package/build/helpers/changes/consts.local.d.ts.map +1 -0
- package/build/helpers/changes/consts.local.js +13 -0
- package/build/helpers/changes/consts.local.js.map +1 -0
- package/build/helpers/changes/types.d.ts +58 -0
- package/build/helpers/changes/types.d.ts.map +1 -0
- package/build/helpers/changes/types.js +2 -0
- package/build/helpers/changes/types.js.map +1 -0
- package/build/helpers/changes.d.ts +11 -42
- package/build/helpers/changes.d.ts.map +1 -1
- package/build/helpers/changes.js +234 -251
- package/build/helpers/changes.js.map +1 -1
- package/build/helpers/code/types.d.ts +27 -0
- package/build/helpers/code/types.d.ts.map +1 -0
- package/build/helpers/code/types.js +2 -0
- package/build/helpers/code/types.js.map +1 -0
- package/build/helpers/code.d.ts +6 -17
- package/build/helpers/code.d.ts.map +1 -1
- package/build/helpers/code.js +39 -40
- package/build/helpers/code.js.map +1 -1
- package/build/helpers/index.d.ts +12 -0
- package/build/helpers/index.d.ts.map +1 -1
- package/build/helpers/index.js +2 -0
- package/build/helpers/index.js.map +1 -1
- package/build/helpers/query/types.d.ts +23 -0
- package/build/helpers/query/types.d.ts.map +1 -0
- package/build/helpers/query/types.js +2 -0
- package/build/helpers/query/types.js.map +1 -0
- package/build/helpers/query.d.ts +25 -17
- package/build/helpers/query.d.ts.map +1 -1
- package/build/helpers/query.js +108 -280
- package/build/helpers/query.js.map +1 -1
- package/build/helpers/scoped/types.d.ts +59 -0
- package/build/helpers/scoped/types.d.ts.map +1 -0
- package/build/helpers/scoped/types.js +2 -0
- package/build/helpers/scoped/types.js.map +1 -0
- package/build/helpers/scoped.d.ts +24 -0
- package/build/helpers/scoped.d.ts.map +1 -0
- package/build/helpers/scoped.js +197 -0
- package/build/helpers/scoped.js.map +1 -0
- package/build/helpers/specification/types.d.ts +24 -0
- package/build/helpers/specification/types.d.ts.map +1 -0
- package/build/helpers/specification/types.js +2 -0
- package/build/helpers/specification/types.js.map +1 -0
- package/build/helpers/specification.d.ts +9 -13
- package/build/helpers/specification.d.ts.map +1 -1
- package/build/helpers/specification.js +47 -44
- package/build/helpers/specification.js.map +1 -1
- package/build/helpers/status/types.d.ts +48 -0
- package/build/helpers/status/types.d.ts.map +1 -0
- package/build/helpers/status/types.js +2 -0
- package/build/helpers/status/types.js.map +1 -0
- package/build/helpers/status.d.ts +16 -29
- package/build/helpers/status.d.ts.map +1 -1
- package/build/helpers/status.js +77 -73
- package/build/helpers/status.js.map +1 -1
- package/build/helpers/types.local.d.ts +17 -0
- package/build/helpers/types.local.d.ts.map +1 -0
- package/build/helpers/types.local.js +2 -0
- package/build/helpers/types.local.js.map +1 -0
- package/build/helpers/validate/types.d.ts +30 -0
- package/build/helpers/validate/types.d.ts.map +1 -0
- package/build/helpers/validate/types.js +2 -0
- package/build/helpers/validate/types.js.map +1 -0
- package/build/helpers/validate.d.ts +8 -19
- package/build/helpers/validate.d.ts.map +1 -1
- package/build/helpers/validate.js +74 -79
- package/build/helpers/validate.js.map +1 -1
- package/build/helpers/wire/types.d.ts +28 -0
- package/build/helpers/wire/types.d.ts.map +1 -0
- package/build/helpers/wire/types.js +2 -0
- package/build/helpers/wire/types.js.map +1 -0
- package/build/helpers/wire.d.ts +4 -0
- package/build/helpers/wire.d.ts.map +1 -0
- package/build/helpers/wire.js +215 -0
- package/build/helpers/wire.js.map +1 -0
- package/build/i18n/be.json +5 -0
- package/build/i18n/de.json +5 -0
- package/build/i18n/en.json +5 -0
- package/build/i18n/es.json +5 -0
- package/build/i18n/fr.json +56 -0
- package/build/i18n/pl.json +5 -0
- package/build/i18n/ru.json +5 -0
- package/build/i18n/uk.json +5 -0
- package/build/i18n.js +5 -4
- package/build/i18n.js.map +1 -1
- package/build/index.d.ts +4 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +2 -0
- package/build/index.js.map +1 -1
- package/build/models/index.d.ts +2 -3
- package/build/models/index.d.ts.map +1 -1
- package/build/models/index.js +1 -15
- package/build/models/index.js.map +1 -1
- package/build/models/model.d.ts +5 -0
- package/build/models/model.d.ts.map +1 -0
- package/build/models/model.js +16 -0
- package/build/models/model.js.map +1 -0
- package/build/models/project.d.ts +2 -1
- package/build/models/project.d.ts.map +1 -1
- package/build/models/project.js.map +1 -1
- package/build/models/specification.d.ts +2 -1
- package/build/models/specification.d.ts.map +1 -1
- package/build/models/specification.js.map +1 -1
- package/build/models/types.d.ts +69 -0
- package/build/models/types.d.ts.map +1 -0
- package/build/models/types.js +2 -0
- package/build/models/types.js.map +1 -0
- package/build/models/workcard.d.ts +2 -1
- package/build/models/workcard.d.ts.map +1 -1
- package/build/models/workcard.js +12 -12
- package/build/models/workcard.js.map +1 -1
- package/build/schemas.d.ts +10 -2
- package/build/schemas.d.ts.map +1 -1
- package/build/schemas.js +87 -1
- package/build/schemas.js.map +1 -1
- package/build/types.d.ts +199 -148
- package/build/types.d.ts.map +1 -1
- package/build/utils.d.ts +6 -0
- package/build/utils.d.ts.map +1 -0
- package/build/utils.js +6 -0
- package/build/utils.js.map +1 -0
- package/package.json +11 -11
- package/src/aliases/types.ts +38 -0
- package/src/aliases.ts +31 -0
- package/src/consts.ts +26 -25
- package/src/entrypoints/types.ts +68 -0
- package/src/entrypoints.ts +34 -14
- package/src/errors.ts +71 -0
- package/src/helpers/apply/consts.local.ts +10 -0
- package/src/helpers/apply/types.ts +32 -0
- package/src/helpers/apply.ts +135 -152
- package/src/helpers/card/types.ts +20 -0
- package/src/helpers/card.ts +59 -33
- package/src/helpers/changes/consts.local.ts +17 -0
- package/src/helpers/changes/types.ts +66 -0
- package/src/helpers/changes.ts +267 -280
- package/src/helpers/code/types.ts +31 -0
- package/src/helpers/code.ts +52 -48
- package/src/helpers/index.ts +13 -0
- package/src/helpers/query/types.ts +26 -0
- package/src/helpers/query.ts +144 -314
- package/src/helpers/scoped/types.ts +64 -0
- package/src/helpers/scoped.ts +257 -0
- package/src/helpers/specification/types.ts +26 -0
- package/src/helpers/specification.ts +69 -51
- package/src/helpers/status/types.ts +46 -0
- package/src/helpers/status.ts +117 -93
- package/src/helpers/types.local.ts +18 -0
- package/src/helpers/validate/types.ts +30 -0
- package/src/helpers/validate.ts +84 -77
- package/src/helpers/wire/types.ts +31 -0
- package/src/helpers/wire.ts +251 -0
- package/src/i18n/be.json +5 -0
- package/src/i18n/de.json +5 -0
- package/src/i18n/en.json +5 -0
- package/src/i18n/es.json +5 -0
- package/src/i18n/fr.json +56 -0
- package/src/i18n/pl.json +5 -0
- package/src/i18n/ru.json +5 -0
- package/src/i18n/uk.json +5 -0
- package/src/i18n.ts +6 -4
- package/src/index.ts +4 -0
- package/src/models/index.ts +2 -17
- package/src/models/model.ts +18 -0
- package/src/models/project.ts +2 -1
- package/src/models/specification.ts +2 -1
- package/src/models/types.ts +70 -0
- package/src/models/workcard.ts +14 -16
- package/src/schemas.ts +98 -2
- package/src/types.ts +207 -126
- package/src/utils.ts +9 -0
- package/tests/apply.spec.ts +95 -31
- package/tests/code.spec.ts +9 -9
- package/tests/entrypoints.spec.ts +18 -2
- package/tests/error-status.spec.ts +6 -1
- package/tests/models.spec.ts +16 -15
- package/tests/query.spec.ts +13 -15
- package/tests/schemas.spec.ts +8 -8
- package/tests/scoped.spec.ts +154 -0
- package/tests/status.spec.ts +31 -22
package/build/helpers/query.js
CHANGED
|
@@ -1,293 +1,121 @@
|
|
|
1
1
|
import { IntrinsicStatus, WorkcardKind } from '../consts.js';
|
|
2
|
-
import {
|
|
2
|
+
import { wireHelper } from './wire.js';
|
|
3
3
|
const clean = (record) => Object.fromEntries(Object.entries(record).filter(([, value]) => value !== undefined));
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
id: query?.ids != null ? { $in: query.ids } : undefined,
|
|
25
|
-
category: query?.category,
|
|
26
|
-
updatedAt: query?.updatedSince != null ? { $gte: query.updatedSince } : undefined,
|
|
27
|
-
};
|
|
28
|
-
if (query?.flow != null) {
|
|
29
|
-
where[`flows.${query.flow.id}`] = query.flow.status;
|
|
30
|
-
}
|
|
31
|
-
for (const [key, value] of Object.entries(query?.fields ?? {})) {
|
|
32
|
-
if (value !== undefined) {
|
|
33
|
-
where[`fields.${key}`] = value;
|
|
4
|
+
export const createQueryHelper = () => {
|
|
5
|
+
/** `%`, `_` and `\` are wildcards/escapes to `$ilike`; a search text means them literally. */
|
|
6
|
+
const escapeLike = (text) => text.replace(/[\\%_]/g, char => `\\${char}`);
|
|
7
|
+
const criteriaOf = (query, scope) => {
|
|
8
|
+
const where = {
|
|
9
|
+
entityId: scope?.entityId,
|
|
10
|
+
kind: query?.kind,
|
|
11
|
+
type: query?.type,
|
|
12
|
+
status: query?.status,
|
|
13
|
+
intrinsic: query?.intrinsic,
|
|
14
|
+
code: query?.code,
|
|
15
|
+
parent: query?.parent,
|
|
16
|
+
parents: query?.within != null ? { $contains: query.within } : undefined,
|
|
17
|
+
labels: query?.labels != null ? { $overlaps: query.labels } : undefined,
|
|
18
|
+
id: query?.ids != null ? { $in: query.ids } : undefined,
|
|
19
|
+
category: query?.category,
|
|
20
|
+
updatedAt: query?.updatedSince != null ? { $gte: query.updatedSince } : undefined,
|
|
21
|
+
};
|
|
22
|
+
if (query?.flow != null) {
|
|
23
|
+
where[`flows.${query.flow.id}`] = query.flow.status;
|
|
34
24
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
where.$or = [
|
|
39
|
-
{ title: { $ilike: like } },
|
|
40
|
-
{ description: { $ilike: like } },
|
|
41
|
-
{ code: { $startsWith: query.q } },
|
|
42
|
-
];
|
|
43
|
-
}
|
|
44
|
-
return clean(where);
|
|
45
|
-
};
|
|
46
|
-
/** Paging and sorting out of a query. `size: 0` (no limit) survives. */
|
|
47
|
-
export const listOptionsOf = (query) => clean({
|
|
48
|
-
page: query?.page,
|
|
49
|
-
size: query?.size,
|
|
50
|
-
sort: query?.sort,
|
|
51
|
-
});
|
|
52
|
-
/** The criteria over a parent's specifications. */
|
|
53
|
-
export const specCriteriaOf = (parent, query, scope) => clean({
|
|
54
|
-
entityId: scope?.entityId,
|
|
55
|
-
kind: WorkcardKind.Specification,
|
|
56
|
-
parent,
|
|
57
|
-
category: query?.category,
|
|
58
|
-
});
|
|
59
|
-
export const linkWhereOf = (query, scope) => clean({
|
|
60
|
-
entityId: scope.entityId,
|
|
61
|
-
from: query?.from,
|
|
62
|
-
to: query?.to,
|
|
63
|
-
type: query?.type,
|
|
64
|
-
});
|
|
65
|
-
export const transitionWhereOf = (query, scope) => clean({
|
|
66
|
-
entityId: scope.entityId,
|
|
67
|
-
card: query?.card,
|
|
68
|
-
project: query?.project,
|
|
69
|
-
sinceSeq: query?.sinceSeq,
|
|
70
|
-
action: query?.action,
|
|
71
|
-
state: query?.state,
|
|
72
|
-
});
|
|
73
|
-
const emptyCounts = () => ({
|
|
74
|
-
total: 0, [IntrinsicStatus.Planned]: 0, [IntrinsicStatus.InProgress]: 0, [IntrinsicStatus.Closed]: 0,
|
|
75
|
-
});
|
|
76
|
-
/** Counts of DIRECT children (`card.parent`) per parent, by intrinsic state. No key for a parent with none. */
|
|
77
|
-
export const summaryOf = (cards, parents) => cards.reduce((view, card) => {
|
|
78
|
-
if (card.parent == null || !parents.includes(card.parent)) {
|
|
79
|
-
return view;
|
|
80
|
-
}
|
|
81
|
-
const counts = view[card.parent] ?? emptyCounts();
|
|
82
|
-
counts.total += 1;
|
|
83
|
-
counts[card.intrinsic] = (counts[card.intrinsic] ?? 0) + 1;
|
|
84
|
-
view[card.parent] = counts;
|
|
85
|
-
return view;
|
|
86
|
-
}, {});
|
|
87
|
-
// ─── Wire encoding ───────────────────────────────────────────────────────────────────────────────
|
|
88
|
-
/** A list as one query value: comma-joined, or JSON when an element itself holds a comma. */
|
|
89
|
-
export const encodeList = (value) => {
|
|
90
|
-
if (value == null) {
|
|
91
|
-
return undefined;
|
|
92
|
-
}
|
|
93
|
-
if (typeof value === 'string') {
|
|
94
|
-
return encodeList([value]);
|
|
95
|
-
}
|
|
96
|
-
if (value.length === 0) {
|
|
97
|
-
return undefined;
|
|
98
|
-
}
|
|
99
|
-
return value.some(entry => entry.includes(',') || entry.startsWith('['))
|
|
100
|
-
? JSON.stringify(value)
|
|
101
|
-
: value.join(',');
|
|
102
|
-
};
|
|
103
|
-
/** Every entry of a list query value, whatever shape the transport left it in. */
|
|
104
|
-
export const decodeList = (value, key = 'list') => {
|
|
105
|
-
if (value == null || value === '') {
|
|
106
|
-
return undefined;
|
|
107
|
-
}
|
|
108
|
-
if (Array.isArray(value)) {
|
|
109
|
-
const entries = value.filter(entry => entry != null && entry !== '').map(entry => `${entry}`);
|
|
110
|
-
return entries.length > 0 ? entries : undefined;
|
|
111
|
-
}
|
|
112
|
-
if (typeof value !== 'string') {
|
|
113
|
-
return [`${value}`];
|
|
114
|
-
}
|
|
115
|
-
if (value.startsWith('[')) {
|
|
116
|
-
const parsed = (() => {
|
|
117
|
-
try {
|
|
118
|
-
return JSON.parse(value);
|
|
119
|
-
}
|
|
120
|
-
catch {
|
|
121
|
-
throw new PlanningError(`malformed:query:${key}`);
|
|
25
|
+
for (const [key, value] of Object.entries(query?.fields ?? {})) {
|
|
26
|
+
if (value !== undefined) {
|
|
27
|
+
where[`fields.${key}`] = value;
|
|
122
28
|
}
|
|
123
|
-
})();
|
|
124
|
-
return Array.isArray(parsed) ? parsed.map(entry => `${entry}`) : undefined;
|
|
125
|
-
}
|
|
126
|
-
const entries = value.split(',').map(entry => entry.trim()).filter(entry => entry !== '');
|
|
127
|
-
return entries.length > 0 ? entries : undefined;
|
|
128
|
-
};
|
|
129
|
-
/** A list decoded to a bare value when it holds one — the same criteria either way. */
|
|
130
|
-
const decodeOneOrMany = (value, key) => {
|
|
131
|
-
const entries = decodeList(value, key);
|
|
132
|
-
return entries == null ? undefined : entries.length === 1 ? entries[0] : entries;
|
|
133
|
-
};
|
|
134
|
-
const encodeJson = (value) => value == null ? undefined : JSON.stringify(value);
|
|
135
|
-
const decodeJson = (value, key) => {
|
|
136
|
-
if (value == null || value === '') {
|
|
137
|
-
return undefined;
|
|
138
|
-
}
|
|
139
|
-
if (typeof value !== 'string') {
|
|
140
|
-
return value;
|
|
141
|
-
}
|
|
142
|
-
try {
|
|
143
|
-
return JSON.parse(value);
|
|
144
|
-
}
|
|
145
|
-
catch {
|
|
146
|
-
throw new PlanningError(`malformed:query:${key}`);
|
|
147
|
-
}
|
|
148
|
-
};
|
|
149
|
-
const decodeNumber = (value, key) => {
|
|
150
|
-
if (value == null || value === '') {
|
|
151
|
-
return undefined;
|
|
152
|
-
}
|
|
153
|
-
const number = typeof value === 'number' ? value : Number(value);
|
|
154
|
-
if (Number.isNaN(number)) {
|
|
155
|
-
throw new PlanningError(`malformed:query:${key}`);
|
|
156
|
-
}
|
|
157
|
-
return number;
|
|
158
|
-
};
|
|
159
|
-
const decodeBoolean = (value) => value == null || value === '' ? undefined : value === true || value === 'true' || value === '1';
|
|
160
|
-
const decodeText = (value) => value == null || value === '' ? undefined : `${Array.isArray(value) ? value[0] : value}`;
|
|
161
|
-
/** `[{ field: 'order' }, { field: 'updatedAt', order: 'desc' }]` ⇄ `order,-updatedAt`. */
|
|
162
|
-
export const encodeSort = (sort) => sort == null || sort.length === 0 ? undefined : sort.map(entry => typeof entry === 'string'
|
|
163
|
-
? entry
|
|
164
|
-
: `${entry.order === 'desc' ? '-' : ''}${entry.field}`).join(',');
|
|
165
|
-
export const decodeSort = (value) => {
|
|
166
|
-
if (value == null || value === '') {
|
|
167
|
-
return undefined;
|
|
168
|
-
}
|
|
169
|
-
const entries = Array.isArray(value) ? value : typeof value === 'string' ? value.split(',') : [value];
|
|
170
|
-
const sort = entries.flatMap((entry) => {
|
|
171
|
-
if (typeof entry !== 'string') {
|
|
172
|
-
return entry != null && typeof entry === 'object' && 'field' in entry ? [entry] : [];
|
|
173
29
|
}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
30
|
+
if (query?.q != null && query.q !== '') {
|
|
31
|
+
const like = `%${escapeLike(query.q)}%`;
|
|
32
|
+
where.$or = [
|
|
33
|
+
{ title: { $ilike: like } },
|
|
34
|
+
{ description: { $ilike: like } },
|
|
35
|
+
{ code: { $startsWith: query.q } },
|
|
36
|
+
];
|
|
177
37
|
}
|
|
178
|
-
return
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
const encodeListOptions = (query) => clean({
|
|
185
|
-
page: query?.page,
|
|
186
|
-
size: query?.size,
|
|
187
|
-
sort: encodeSort(query?.sort),
|
|
188
|
-
});
|
|
189
|
-
const decodeListOptions = (wire) => clean({
|
|
190
|
-
page: decodeNumber(wire.page, 'page'),
|
|
191
|
-
size: decodeNumber(wire.size, 'size'),
|
|
192
|
-
sort: decodeSort(wire.sort),
|
|
193
|
-
});
|
|
194
|
-
const asRecord = (wire) => wire != null && typeof wire === 'object' ? wire : {};
|
|
195
|
-
export const encodeWorkcardQuery = (query) => clean({
|
|
196
|
-
...encodeListOptions(query),
|
|
197
|
-
kind: encodeList(query?.kind),
|
|
198
|
-
type: encodeList(query?.type),
|
|
199
|
-
parent: query?.parent,
|
|
200
|
-
within: query?.within,
|
|
201
|
-
status: encodeList(query?.status),
|
|
202
|
-
intrinsic: encodeList(query?.intrinsic),
|
|
203
|
-
flow: encodeJson(query?.flow),
|
|
204
|
-
labels: encodeList(query?.labels),
|
|
205
|
-
code: encodeList(query?.code),
|
|
206
|
-
ids: encodeList(query?.ids),
|
|
207
|
-
fields: query?.fields != null && Object.keys(query.fields).length > 0 ? encodeJson(query.fields) : undefined,
|
|
208
|
-
q: query?.q,
|
|
209
|
-
category: encodeList(query?.category),
|
|
210
|
-
updatedSince: query?.updatedSince,
|
|
211
|
-
});
|
|
212
|
-
/** @throws {PlanningError} `malformed:query:<key>` for a value that does not decode */
|
|
213
|
-
export const decodeWorkcardQuery = (wire) => {
|
|
214
|
-
const value = asRecord(wire);
|
|
215
|
-
return clean({
|
|
216
|
-
...decodeListOptions(value),
|
|
217
|
-
kind: decodeOneOrMany(value.kind, 'kind'),
|
|
218
|
-
type: decodeOneOrMany(value.type, 'type'),
|
|
219
|
-
parent: decodeText(value.parent),
|
|
220
|
-
within: decodeText(value.within),
|
|
221
|
-
status: decodeOneOrMany(value.status, 'status'),
|
|
222
|
-
intrinsic: decodeOneOrMany(value.intrinsic, 'intrinsic'),
|
|
223
|
-
flow: decodeJson(value.flow, 'flow'),
|
|
224
|
-
labels: decodeList(value.labels, 'labels'),
|
|
225
|
-
code: decodeOneOrMany(value.code, 'code'),
|
|
226
|
-
ids: decodeList(value.ids, 'ids'),
|
|
227
|
-
fields: decodeJson(value.fields, 'fields'),
|
|
228
|
-
q: decodeText(value.q),
|
|
229
|
-
category: decodeOneOrMany(value.category, 'category'),
|
|
230
|
-
updatedSince: decodeText(value.updatedSince),
|
|
38
|
+
return clean(where);
|
|
39
|
+
};
|
|
40
|
+
const listOptionsOf = (query) => clean({
|
|
41
|
+
page: query?.page,
|
|
42
|
+
size: query?.size,
|
|
43
|
+
sort: query?.sort,
|
|
231
44
|
});
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
});
|
|
238
|
-
export const decodeSummaryQuery = (wire) => {
|
|
239
|
-
const value = asRecord(wire);
|
|
240
|
-
return clean({
|
|
241
|
-
parents: decodeList(value.parents, 'parents') ?? [],
|
|
242
|
-
kind: decodeText(value.kind),
|
|
243
|
-
type: decodeOneOrMany(value.type, 'type'),
|
|
45
|
+
const specCriteriaOf = (parent, query, scope) => clean({
|
|
46
|
+
entityId: scope?.entityId,
|
|
47
|
+
kind: WorkcardKind.Specification,
|
|
48
|
+
parent,
|
|
49
|
+
category: query?.category,
|
|
244
50
|
});
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
sinceSeq: query?.sinceSeq,
|
|
251
|
-
action: encodeList(query?.action),
|
|
252
|
-
state: query?.state,
|
|
253
|
-
});
|
|
254
|
-
export const decodeTransitionQuery = (wire) => {
|
|
255
|
-
const value = asRecord(wire);
|
|
256
|
-
return clean({
|
|
257
|
-
...decodeListOptions(value),
|
|
258
|
-
card: decodeText(value.card),
|
|
259
|
-
project: decodeText(value.project),
|
|
260
|
-
sinceSeq: decodeNumber(value.sinceSeq, 'sinceSeq'),
|
|
261
|
-
action: decodeOneOrMany(value.action, 'action'),
|
|
262
|
-
state: decodeText(value.state),
|
|
51
|
+
const linkWhereOf = (query, scope) => clean({
|
|
52
|
+
entityId: scope.entityId,
|
|
53
|
+
from: query?.from,
|
|
54
|
+
to: query?.to,
|
|
55
|
+
type: query?.type,
|
|
263
56
|
});
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
const value = asRecord(wire);
|
|
272
|
-
return clean({
|
|
273
|
-
...decodeListOptions(value),
|
|
274
|
-
category: decodeOneOrMany(value.category, 'category'),
|
|
275
|
-
all: decodeBoolean(value.all),
|
|
57
|
+
const transitionWhereOf = (query, scope) => clean({
|
|
58
|
+
entityId: scope.entityId,
|
|
59
|
+
card: query?.card,
|
|
60
|
+
project: query?.project,
|
|
61
|
+
sinceSeq: query?.sinceSeq,
|
|
62
|
+
action: query?.action,
|
|
63
|
+
state: query?.state,
|
|
276
64
|
});
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
...encodeListOptions(query),
|
|
280
|
-
from: encodeList(query?.from),
|
|
281
|
-
to: encodeList(query?.to),
|
|
282
|
-
type: encodeList(query?.type),
|
|
283
|
-
});
|
|
284
|
-
export const decodeRelationshipQuery = (wire) => {
|
|
285
|
-
const value = asRecord(wire);
|
|
286
|
-
return clean({
|
|
287
|
-
...decodeListOptions(value),
|
|
288
|
-
from: decodeOneOrMany(value.from, 'from'),
|
|
289
|
-
to: decodeOneOrMany(value.to, 'to'),
|
|
290
|
-
type: decodeOneOrMany(value.type, 'type'),
|
|
65
|
+
const emptyCounts = () => ({
|
|
66
|
+
total: 0, [IntrinsicStatus.Planned]: 0, [IntrinsicStatus.InProgress]: 0, [IntrinsicStatus.Closed]: 0,
|
|
291
67
|
});
|
|
68
|
+
const summaryOf = (cards, parents) => cards.reduce((view, card) => {
|
|
69
|
+
if (card.parent == null || !parents.includes(card.parent)) {
|
|
70
|
+
return view;
|
|
71
|
+
}
|
|
72
|
+
const counts = view[card.parent] ?? emptyCounts();
|
|
73
|
+
counts.total += 1;
|
|
74
|
+
counts[card.intrinsic] = (counts[card.intrinsic] ?? 0) + 1;
|
|
75
|
+
view[card.parent] = counts;
|
|
76
|
+
return view;
|
|
77
|
+
}, {});
|
|
78
|
+
return { criteriaOf, listOptionsOf, specCriteriaOf, linkWhereOf, transitionWhereOf, summaryOf };
|
|
292
79
|
};
|
|
80
|
+
export const queryHelper = createQueryHelper();
|
|
81
|
+
/** @deprecated compat:factory-refactor — use `queryHelper.criteriaOf(…)` */
|
|
82
|
+
export const criteriaOf = (query, scope) => queryHelper.criteriaOf(query, scope);
|
|
83
|
+
/** @deprecated compat:factory-refactor — use `queryHelper.listOptionsOf(…)` */
|
|
84
|
+
export const listOptionsOf = (query) => queryHelper.listOptionsOf(query);
|
|
85
|
+
/** @deprecated compat:factory-refactor — use `queryHelper.specCriteriaOf(…)` */
|
|
86
|
+
export const specCriteriaOf = (parent, query, scope) => queryHelper.specCriteriaOf(parent, query, scope);
|
|
87
|
+
/** @deprecated compat:factory-refactor — use `queryHelper.linkWhereOf(…)` */
|
|
88
|
+
export const linkWhereOf = (query, scope) => queryHelper.linkWhereOf(query, scope);
|
|
89
|
+
/** @deprecated compat:factory-refactor — use `queryHelper.transitionWhereOf(…)` */
|
|
90
|
+
export const transitionWhereOf = (query, scope) => queryHelper.transitionWhereOf(query, scope);
|
|
91
|
+
/** @deprecated compat:factory-refactor — use `queryHelper.summaryOf(…)` */
|
|
92
|
+
export const summaryOf = (cards, parents) => queryHelper.summaryOf(cards, parents);
|
|
93
|
+
/** @deprecated compat:factory-refactor — use `wireHelper.encodeList(…)` */
|
|
94
|
+
export const encodeList = (value) => wireHelper.encodeList(value);
|
|
95
|
+
/** @deprecated compat:factory-refactor — use `wireHelper.decodeList(…)` */
|
|
96
|
+
export const decodeList = (value, key = 'list') => wireHelper.decodeList(value, key);
|
|
97
|
+
/** @deprecated compat:factory-refactor — use `wireHelper.encodeSort(…)` */
|
|
98
|
+
export const encodeSort = (sort) => wireHelper.encodeSort(sort);
|
|
99
|
+
/** @deprecated compat:factory-refactor — use `wireHelper.decodeSort(…)` */
|
|
100
|
+
export const decodeSort = (value) => wireHelper.decodeSort(value);
|
|
101
|
+
/** @deprecated compat:factory-refactor — use `wireHelper.encodeWorkcardQuery(…)` */
|
|
102
|
+
export const encodeWorkcardQuery = (query) => wireHelper.encodeWorkcardQuery(query);
|
|
103
|
+
/** @deprecated compat:factory-refactor — use `wireHelper.decodeWorkcardQuery(…)` */
|
|
104
|
+
export const decodeWorkcardQuery = (wire) => wireHelper.decodeWorkcardQuery(wire);
|
|
105
|
+
/** @deprecated compat:factory-refactor — use `wireHelper.encodeSummaryQuery(…)` */
|
|
106
|
+
export const encodeSummaryQuery = (query) => wireHelper.encodeSummaryQuery(query);
|
|
107
|
+
/** @deprecated compat:factory-refactor — use `wireHelper.decodeSummaryQuery(…)` */
|
|
108
|
+
export const decodeSummaryQuery = (wire) => wireHelper.decodeSummaryQuery(wire);
|
|
109
|
+
/** @deprecated compat:factory-refactor — use `wireHelper.encodeTransitionQuery(…)` */
|
|
110
|
+
export const encodeTransitionQuery = (query) => wireHelper.encodeTransitionQuery(query);
|
|
111
|
+
/** @deprecated compat:factory-refactor — use `wireHelper.decodeTransitionQuery(…)` */
|
|
112
|
+
export const decodeTransitionQuery = (wire) => wireHelper.decodeTransitionQuery(wire);
|
|
113
|
+
/** @deprecated compat:factory-refactor — use `wireHelper.encodeSpecificationQuery(…)` */
|
|
114
|
+
export const encodeSpecificationQuery = (query) => wireHelper.encodeSpecificationQuery(query);
|
|
115
|
+
/** @deprecated compat:factory-refactor — use `wireHelper.decodeSpecificationQuery(…)` */
|
|
116
|
+
export const decodeSpecificationQuery = (wire) => wireHelper.decodeSpecificationQuery(wire);
|
|
117
|
+
/** @deprecated compat:factory-refactor — use `wireHelper.encodeRelationshipQuery(…)` */
|
|
118
|
+
export const encodeRelationshipQuery = (query) => wireHelper.encodeRelationshipQuery(query);
|
|
119
|
+
/** @deprecated compat:factory-refactor — use `wireHelper.decodeRelationshipQuery(…)` */
|
|
120
|
+
export const decodeRelationshipQuery = (wire) => wireHelper.decodeRelationshipQuery(wire);
|
|
293
121
|
//# sourceMappingURL=query.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/helpers/query.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../src/helpers/query.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAI5D,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,MAAM,KAAK,GAAG,CAAmB,MAAS,EAAK,EAAE,CAC/C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAM,CAAA;AAE5F,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAgB,EAAE;IACjD,8FAA8F;IAC9F,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IAEzF,MAAM,UAAU,GAAG,CAAC,KAA4B,EAAE,KAAa,EAAsB,EAAE;QACrF,MAAM,KAAK,GAA4B;YACrC,QAAQ,EAAE,KAAK,EAAE,QAAQ;YACzB,IAAI,EAAE,KAAK,EAAE,IAAI;YACjB,IAAI,EAAE,KAAK,EAAE,IAAI;YACjB,MAAM,EAAE,KAAK,EAAE,MAAM;YACrB,SAAS,EAAE,KAAK,EAAE,SAAS;YAC3B,IAAI,EAAE,KAAK,EAAE,IAAI;YACjB,MAAM,EAAE,KAAK,EAAE,MAAM;YACrB,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS;YACxE,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS;YACvE,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS;YACvD,QAAQ,EAAE,KAAK,EAAE,QAAQ;YACzB,SAAS,EAAE,KAAK,EAAE,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS;SAClF,CAAA;QACD,IAAI,KAAK,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,KAAK,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAA;QACrD,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;YAC/D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC,GAAG,KAAK,CAAA;YAChC,CAAC;QACH,CAAC;QACD,IAAI,KAAK,EAAE,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAA;YACvC,KAAK,CAAC,GAAG,GAAG;gBACV,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;gBAC3B,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;gBACjC,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE;aACnC,CAAA;QACH,CAAC;QAED,OAAO,KAAK,CAAC,KAAK,CAAuB,CAAA;IAC3C,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,CAA2B,KAA6B,EAAkB,EAAE,CAAC,KAAK,CAAC;QACvG,IAAI,EAAE,KAAK,EAAE,IAAI;QACjB,IAAI,EAAE,KAAK,EAAE,IAAI;QACjB,IAAI,EAAE,KAAK,EAAE,IAAI;KAClB,CAAC,CAAA;IAEF,MAAM,cAAc,GAAG,CACrB,MAAc,EAAE,KAAiC,EAAE,KAAa,EACvC,EAAE,CAAC,KAAK,CAAC;QAClC,QAAQ,EAAE,KAAK,EAAE,QAAQ;QACzB,IAAI,EAAE,YAAY,CAAC,aAAa;QAChC,MAAM;QACN,QAAQ,EAAE,KAAK,EAAE,QAAQ;KAC1B,CAA4B,CAAA;IAE7B,MAAM,WAAW,GAAG,CAAC,KAA2C,EAAE,KAAY,EAAqB,EAAE,CAAC,KAAK,CAAC;QAC1G,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,IAAI,EAAE,KAAK,EAAE,IAAI;QACjB,EAAE,EAAE,KAAK,EAAE,EAAE;QACb,IAAI,EAAE,KAAK,EAAE,IAAI;KAClB,CAAC,CAAA;IAEF,MAAM,iBAAiB,GAAG,CAAC,KAAyC,EAAE,KAAY,EAAmB,EAAE,CAAC,KAAK,CAAC;QAC5G,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,IAAI,EAAE,KAAK,EAAE,IAAI;QACjB,OAAO,EAAE,KAAK,EAAE,OAAO;QACvB,QAAQ,EAAE,KAAK,EAAE,QAAQ;QACzB,MAAM,EAAE,KAAK,EAAE,MAAM;QACrB,KAAK,EAAE,KAAK,EAAE,KAAK;KACpB,CAAC,CAAA;IAEF,MAAM,WAAW,GAAG,GAAoB,EAAE,CAAC,CAAC;QAC1C,KAAK,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;KACrG,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,CAAC,KAAiB,EAAE,OAAiB,EAAe,EAAE,CAAC,KAAK,CAAC,MAAM,CACnF,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,WAAW,EAAE,CAAA;QACjD,MAAM,CAAC,KAAK,IAAI,CAAC,CAAA;QACjB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QAC1D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC,EAAE,EAAE,CACN,CAAA;IAED,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAA;AACjG,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAA;AAE9C,4EAA4E;AAC5E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAA4B,EAAE,KAAa,EAAsB,EAAE,CAC5F,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAEtC,+EAA+E;AAC/E,MAAM,CAAC,MAAM,aAAa,GAAG,CAA2B,KAA6B,EAAkB,EAAE,CACvG,WAAW,CAAC,aAAa,CAAI,KAAK,CAAC,CAAA;AAErC,gFAAgF;AAChF,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,MAAc,EAAE,KAAiC,EAAE,KAAa,EACvC,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;AAE9E,6EAA6E;AAC7E,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAA2C,EAAE,KAAY,EAAqB,EAAE,CAC1G,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAEvC,mFAAmF;AACnF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAyC,EAAE,KAAY,EAAmB,EAAE,CAC5G,WAAW,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAE7C,2EAA2E;AAC3E,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAiB,EAAE,OAAiB,EAAe,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AAErH,2EAA2E;AAC3E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAyC,EAAsB,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;AAEzH,2EAA2E;AAC3E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAc,EAAE,GAAG,GAAW,MAAM,EAAwB,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;AAE3H,2EAA2E;AAC3E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAI,IAAuB,EAAsB,EAAE,CAAC,UAAU,CAAC,UAAU,CAAI,IAAI,CAAC,CAAA;AAE5G,2EAA2E;AAC3E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAI,KAAc,EAAyB,EAAE,CAAC,UAAU,CAAC,UAAU,CAAI,KAAK,CAAC,CAAA;AAEvG,oFAAoF;AACpF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAA4B,EAAqB,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;AAE7H,oFAAoF;AACpF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAA+C,EAAiB,EAAE,CACpG,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA;AAEtC,mFAAmF;AACnF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAmB,EAAoB,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;AAEjH,mFAAmF;AACnF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAA6C,EAAgB,EAAE,CAChG,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;AAErC,sFAAsF;AACtF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,KAA8B,EAAuB,EAAE,CAC3F,UAAU,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAA;AAEzC,sFAAsF;AACtF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,IAAmD,EAAmB,EAAE,CAC5G,UAAU,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAA;AAExC,yFAAyF;AACzF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,KAAiC,EAA0B,EAAE,CACpG,UAAU,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAA;AAE5C,yFAAyF;AACzF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,IAAyD,EAAsB,EAAE,CACxH,UAAU,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAA;AAE3C,wFAAwF;AACxF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAgC,EAAyB,EAAE,CACjG,UAAU,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAA;AAE3C,wFAAwF;AACxF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,IAAuD,EAAqB,EAAE,CACpH,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAA"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type { PlanningSchemaKind } from '../../consts.js';
|
|
2
|
+
import type { PlanningSchemaBundle, PlanningSchemaRegistry, SchemaScope, ScopedSchemaBundle, ScopedSchemaRecord, ScopedSchemaRegistry, StatusFlowSchema, WorkcardTypeSchema } from '../../types.js';
|
|
3
|
+
/** Data-defined (scoped) types and flows: their keys, the checks a write passes, and the layer they resolve to. */
|
|
4
|
+
export interface ScopedSchemaHelper {
|
|
5
|
+
/** One layer's identity of a record: organization, project (or none), kind, key. */
|
|
6
|
+
schemaRecordKey: (record: Pick<ScopedSchemaRecord, 'entityId' | 'project' | 'kind' | 'key'>) => string;
|
|
7
|
+
/** The key a declaration is addressed by: a type's `type`, a flow's `id`. */
|
|
8
|
+
schemaKeyOf: (kind: PlanningSchemaKind, definition: WorkcardTypeSchema | StatusFlowSchema) => string;
|
|
9
|
+
/**
|
|
10
|
+
* Refuse a data-defined declaration of a key the code registry seals: a code type or flow that does
|
|
11
|
+
* not say `overridable: true`, and any project or specification type.
|
|
12
|
+
*
|
|
13
|
+
* @throws {SchemaSealed}
|
|
14
|
+
*/
|
|
15
|
+
assertOverridable: (code: Pick<PlanningSchemaRegistry, 'has' | 'type' | 'flows'>, kind: PlanningSchemaKind, key: string) => void;
|
|
16
|
+
/**
|
|
17
|
+
* The closed-form checks of a data-defined flow: the declaration's own schema, at least one status,
|
|
18
|
+
* unique status keys, every rule's `to` declared, and a `from` that is `'*'` or a list of declared
|
|
19
|
+
* statuses.
|
|
20
|
+
*
|
|
21
|
+
* @throws {SchemaInvalid}
|
|
22
|
+
*/
|
|
23
|
+
assertFlowSchema: (flow: StatusFlowSchema) => void;
|
|
24
|
+
/**
|
|
25
|
+
* The closed-form checks of a data-defined type: the declaration's own schema, the `card` kind,
|
|
26
|
+
* a `fields` schema that compiles, and unique flow ids every one of which resolves.
|
|
27
|
+
*
|
|
28
|
+
* @throws {SchemaInvalid}
|
|
29
|
+
*/
|
|
30
|
+
assertTypeSchema: (type: WorkcardTypeSchema, flows: Pick<PlanningSchemaRegistry, 'flow'>) => void;
|
|
31
|
+
/**
|
|
32
|
+
* One layer resolved: the code bundle, overlaid by the organization-wide records, then by the
|
|
33
|
+
* project's (when `scope.project` names one). Pure — every store and both sides of the wire resolve
|
|
34
|
+
* the same records to the same bundle.
|
|
35
|
+
*
|
|
36
|
+
* - A code key is sealed unless it says `overridable: true`; project and specification types are
|
|
37
|
+
* always sealed, so only card types and flows are data-defined. A record under a sealed key is
|
|
38
|
+
* ignored here (the write path refuses it with `SchemaSealed`).
|
|
39
|
+
* - A project record overrides an organization-wide one of the same key.
|
|
40
|
+
* - A retired record gives way to the nearest live declaration below it; a key retired in every
|
|
41
|
+
* layer resolves retired — present in `types`/`flows`, listed in `retired`.
|
|
42
|
+
* - A data-defined declaration carries its record's `version`.
|
|
43
|
+
*/
|
|
44
|
+
resolveScopedBundle: (code: PlanningSchemaBundle, records: readonly ScopedSchemaRecord[], scope: SchemaScope & {
|
|
45
|
+
revision?: number;
|
|
46
|
+
}) => ScopedSchemaBundle;
|
|
47
|
+
/**
|
|
48
|
+
* A read-only registry over a resolved layer. It answers exactly what `makeSchemaRegistry` answers
|
|
49
|
+
* for the same types and flows, plus where each key came from and whether it is retired; its
|
|
50
|
+
* `registerType`, `registerFlow` and `load` refuse with `PlanningUnsupported`.
|
|
51
|
+
*/
|
|
52
|
+
scopedRegistryOf: (bundle: ScopedSchemaBundle) => ScopedSchemaRegistry;
|
|
53
|
+
/**
|
|
54
|
+
* The live type that keeps a flow from being retired in a resolved layer: the flow resolves retired
|
|
55
|
+
* (no live declaration below the retired record) while a type that is not retired still runs it.
|
|
56
|
+
*/
|
|
57
|
+
flowInUse: (bundle: ScopedSchemaBundle, flow: string) => string | undefined;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/helpers/scoped/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,KAAK,EACV,oBAAoB,EAAE,sBAAsB,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EACjG,oBAAoB,EAAE,gBAAgB,EAAE,kBAAkB,EAC3D,MAAM,gBAAgB,CAAA;AAEvB,mHAAmH;AACnH,MAAM,WAAW,kBAAkB;IACjC,oFAAoF;IACpF,eAAe,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC,KAAK,MAAM,CAAA;IACtG,6EAA6E;IAC7E,WAAW,EAAE,CAAC,IAAI,EAAE,kBAAkB,EAAE,UAAU,EAAE,kBAAkB,GAAG,gBAAgB,KAAK,MAAM,CAAA;IACpG;;;;;OAKG;IACH,iBAAiB,EAAE,CACjB,IAAI,EAAE,IAAI,CAAC,sBAAsB,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,KAChG,IAAI,CAAA;IACT;;;;;;OAMG;IACH,gBAAgB,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAA;IAClD;;;;;OAKG;IACH,gBAAgB,EAAE,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,KAAK,IAAI,CAAA;IACjG;;;;;;;;;;;;OAYG;IACH,mBAAmB,EAAE,CACnB,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,SAAS,kBAAkB,EAAE,EAAE,KAAK,EAAE,WAAW,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,KAC3G,kBAAkB,CAAA;IACvB;;;;OAIG;IACH,gBAAgB,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,oBAAoB,CAAA;IACtE;;;OAGG;IACH,SAAS,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAA;CAC5E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/helpers/scoped/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { PlanningSchemaKind } from '../consts.js';
|
|
2
|
+
import type { PlanningSchemaBundle, PlanningSchemaRegistry, SchemaScope, ScopedSchemaBundle, ScopedSchemaRecord, ScopedSchemaRegistry, StatusFlowSchema, WorkcardTypeSchema } from '../types.js';
|
|
3
|
+
import type { ScopedSchemaHelper } from './scoped/types.js';
|
|
4
|
+
export declare const createScopedSchemaHelper: () => ScopedSchemaHelper;
|
|
5
|
+
export declare const scopedSchemaHelper: ScopedSchemaHelper;
|
|
6
|
+
/** @deprecated compat:factory-refactor — use `scopedSchemaHelper.schemaRecordKey(…)` */
|
|
7
|
+
export declare const schemaRecordKey: (record: Pick<ScopedSchemaRecord, 'entityId' | 'project' | 'kind' | 'key'>) => string;
|
|
8
|
+
/** @deprecated compat:factory-refactor — use `scopedSchemaHelper.schemaKeyOf(…)` */
|
|
9
|
+
export declare const schemaKeyOf: (kind: PlanningSchemaKind, definition: WorkcardTypeSchema | StatusFlowSchema) => string;
|
|
10
|
+
/** @deprecated compat:factory-refactor — use `scopedSchemaHelper.assertOverridable(…)` */
|
|
11
|
+
export declare const assertOverridable: (code: Pick<PlanningSchemaRegistry, 'has' | 'type' | 'flows'>, kind: PlanningSchemaKind, key: string) => void;
|
|
12
|
+
/** @deprecated compat:factory-refactor — use `scopedSchemaHelper.assertFlowSchema(…)` */
|
|
13
|
+
export declare const assertFlowSchema: (flow: StatusFlowSchema) => void;
|
|
14
|
+
/** @deprecated compat:factory-refactor — use `scopedSchemaHelper.assertTypeSchema(…)` */
|
|
15
|
+
export declare const assertTypeSchema: (type: WorkcardTypeSchema, flows: Pick<PlanningSchemaRegistry, 'flow'>) => void;
|
|
16
|
+
/** @deprecated compat:factory-refactor — use `scopedSchemaHelper.resolveScopedBundle(…)` */
|
|
17
|
+
export declare const resolveScopedBundle: (code: PlanningSchemaBundle, records: readonly ScopedSchemaRecord[], scope: SchemaScope & {
|
|
18
|
+
revision?: number;
|
|
19
|
+
}) => ScopedSchemaBundle;
|
|
20
|
+
/** @deprecated compat:factory-refactor — use `scopedSchemaHelper.scopedRegistryOf(…)` */
|
|
21
|
+
export declare const scopedRegistryOf: (bundle: ScopedSchemaBundle) => ScopedSchemaRegistry;
|
|
22
|
+
/** @deprecated compat:factory-refactor — use `scopedSchemaHelper.flowInUse(…)` */
|
|
23
|
+
export declare const flowInUse: (bundle: ScopedSchemaBundle, flow: string) => string | undefined;
|
|
24
|
+
//# sourceMappingURL=scoped.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scoped.d.ts","sourceRoot":"","sources":["../../src/helpers/scoped.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAA8B,MAAM,cAAc,CAAA;AAI7E,OAAO,KAAK,EACK,oBAAoB,EAAE,sBAAsB,EAAE,WAAW,EAAE,kBAAkB,EAC5F,kBAAkB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,kBAAkB,EAC/E,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAM3D,eAAO,MAAM,wBAAwB,QAAO,kBAgN3C,CAAA;AAED,eAAO,MAAM,kBAAkB,oBAA6B,CAAA;AAE5D,wFAAwF;AACxF,eAAO,MAAM,eAAe,WAAY,IAAI,CAAC,kBAAkB,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC,KAAG,MAChE,CAAA;AAE5C,oFAAoF;AACpF,eAAO,MAAM,WAAW,SAAU,kBAAkB,cAAc,kBAAkB,GAAG,gBAAgB,KAAG,MACxD,CAAA;AAElD,0FAA0F;AAC1F,eAAO,MAAM,iBAAiB,SACtB,IAAI,CAAC,sBAAsB,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC,QAAQ,kBAAkB,OAAO,MAAM,KAClG,IAA6D,CAAA;AAEhE,yFAAyF;AACzF,eAAO,MAAM,gBAAgB,SAAU,gBAAgB,KAAG,IAAiD,CAAA;AAE3G,yFAAyF;AACzF,eAAO,MAAM,gBAAgB,SAAU,kBAAkB,SAAS,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,KAAG,IACvD,CAAA;AAElD,4FAA4F;AAC5F,eAAO,MAAM,mBAAmB,SACxB,oBAAoB,WAAW,SAAS,kBAAkB,EAAE,SAAS,WAAW,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,KAC7G,kBAAkF,CAAA;AAErF,yFAAyF;AACzF,eAAO,MAAM,gBAAgB,WAAY,kBAAkB,KAAG,oBAAmE,CAAA;AAEjI,kFAAkF;AAClF,eAAO,MAAM,SAAS,WAAY,kBAAkB,QAAQ,MAAM,KAAG,MAAM,GAAG,SAAuD,CAAA"}
|