@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/code.d.ts
CHANGED
|
@@ -1,23 +1,12 @@
|
|
|
1
1
|
import type { CodePolicy, WorkcardDraft } from '../types.js';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
count?: number;
|
|
7
|
-
}
|
|
8
|
-
/** `Some Title!` → `some-title`. */
|
|
2
|
+
import type { CodeHelper, MintCodeOptions } from './code/types.js';
|
|
3
|
+
export declare const createCodeHelper: () => CodeHelper;
|
|
4
|
+
export declare const codeHelper: CodeHelper;
|
|
5
|
+
/** @deprecated compat:factory-refactor — use `codeHelper.slugOf(…)` */
|
|
9
6
|
export declare const slugOf: (text: string, max?: number) => string;
|
|
10
|
-
/**
|
|
11
|
-
* Mint a code under a policy, asking `taken` for each candidate.
|
|
12
|
-
*
|
|
13
|
-
* `random` draws `prefix + Base58(length)` (upper-cased when asked) afresh per attempt; `slug`
|
|
14
|
-
* walks `base`, `base-2`, `base-3` from the seed (a word slug without one); `sequential` counts on
|
|
15
|
-
* from `opts.count`, zero-padded to `length`. After `attempts` taken candidates it refuses.
|
|
16
|
-
*
|
|
17
|
-
* @throws {CodeTaken}
|
|
18
|
-
*/
|
|
7
|
+
/** @deprecated compat:factory-refactor — use `codeHelper.mintCode(…)` */
|
|
19
8
|
export declare const mintCode: (policy: CodePolicy, taken: (code: string) => boolean | Promise<boolean>, attempts?: number, opts?: MintCodeOptions) => Promise<string>;
|
|
20
|
-
/**
|
|
9
|
+
/** @deprecated compat:factory-refactor — use `codeHelper.codeScopeOf(…)` */
|
|
21
10
|
export declare const codeScopeOf: (policy: CodePolicy, draft: Pick<WorkcardDraft, 'parent'>) => {
|
|
22
11
|
parent?: string;
|
|
23
12
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../src/helpers/code.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"code.d.ts","sourceRoot":"","sources":["../../src/helpers/code.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAElE,eAAO,MAAM,gBAAgB,QAAO,UA8CnC,CAAA;AAED,eAAO,MAAM,UAAU,YAAqB,CAAA;AAE5C,uEAAuE;AACvE,eAAO,MAAM,MAAM,SAAU,MAAM,QAAO,MAAM,KAAc,MAAsC,CAAA;AAEpG,yEAAyE;AACzE,eAAO,MAAM,QAAQ,WACX,UAAU,SACX,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,aACzC,MAAM,SACT,eAAe,KACrB,OAAO,CAAC,MAAM,CAA6D,CAAA;AAE9E,4EAA4E;AAC5E,eAAO,MAAM,WAAW,WAAY,UAAU,SAAS,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,KAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CACjE,CAAA"}
|
package/build/helpers/code.js
CHANGED
|
@@ -1,47 +1,46 @@
|
|
|
1
1
|
import { createIdOfLength, generateWordSlug, IdStyle, nextSlugCandidate } from '@owlmeans/basic-ids';
|
|
2
2
|
import { CODE_MAX, CODE_MINT_ATTEMPTS, CodeScope, CodeStyle, DEFAULT_CODE_LENGTH } from '../consts.js';
|
|
3
3
|
import { CodeTaken } from '../errors.js';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const candidateOf = (policy, attempt, base, opts) => {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
4
|
+
export const createCodeHelper = () => {
|
|
5
|
+
const slugOf = (text, max = CODE_MAX) => text
|
|
6
|
+
.normalize('NFKD').replace(/[̀-ͯ]/g, '')
|
|
7
|
+
.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-+|-+$/g, '')
|
|
8
|
+
.slice(0, max).replace(/-+$/g, '');
|
|
9
|
+
const candidateOf = (policy, attempt, base, opts) => {
|
|
10
|
+
const prefix = policy.prefix ?? '';
|
|
11
|
+
switch (policy.style) {
|
|
12
|
+
case CodeStyle.Slug:
|
|
13
|
+
return `${prefix}${nextSlugCandidate(base, attempt + 1)}`;
|
|
14
|
+
case CodeStyle.Sequential: {
|
|
15
|
+
const number = `${(opts?.count ?? 0) + attempt + 1}`;
|
|
16
|
+
return `${prefix}${policy.length != null ? number.padStart(policy.length, '0') : number}`;
|
|
17
|
+
}
|
|
18
|
+
case CodeStyle.Random:
|
|
19
|
+
default: {
|
|
20
|
+
const random = createIdOfLength(policy.length ?? DEFAULT_CODE_LENGTH, IdStyle.Base58);
|
|
21
|
+
return `${prefix}${policy.uppercase === true ? random.toUpperCase() : random}`;
|
|
22
|
+
}
|
|
17
23
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
24
|
+
};
|
|
25
|
+
const mintCode = async (policy, taken, attempts = CODE_MINT_ATTEMPTS, opts) => {
|
|
26
|
+
const seeded = opts?.seed != null ? slugOf(opts.seed, CODE_MAX - (policy.prefix?.length ?? 0) - 4) : '';
|
|
27
|
+
const base = policy.style === CodeStyle.Slug ? (seeded !== '' ? seeded : generateWordSlug()) : '';
|
|
28
|
+
for (let attempt = 0; attempt < attempts; ++attempt) {
|
|
29
|
+
const candidate = candidateOf(policy, attempt, base, opts);
|
|
30
|
+
if (!await taken(candidate)) {
|
|
31
|
+
return candidate;
|
|
32
|
+
}
|
|
22
33
|
}
|
|
23
|
-
|
|
34
|
+
throw new CodeTaken(`${policy.style}:${policy.prefix ?? ''}:${attempts}`);
|
|
35
|
+
};
|
|
36
|
+
const codeScopeOf = (policy, draft) => policy.uniqueWithin === CodeScope.Parent ? { parent: draft.parent } : {};
|
|
37
|
+
return { slugOf, mintCode, codeScopeOf };
|
|
24
38
|
};
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
* @throws {CodeTaken}
|
|
33
|
-
*/
|
|
34
|
-
export const mintCode = async (policy, taken, attempts = CODE_MINT_ATTEMPTS, opts) => {
|
|
35
|
-
const seeded = opts?.seed != null ? slugOf(opts.seed, CODE_MAX - (policy.prefix?.length ?? 0) - 4) : '';
|
|
36
|
-
const base = policy.style === CodeStyle.Slug ? (seeded !== '' ? seeded : generateWordSlug()) : '';
|
|
37
|
-
for (let attempt = 0; attempt < attempts; ++attempt) {
|
|
38
|
-
const candidate = candidateOf(policy, attempt, base, opts);
|
|
39
|
-
if (!await taken(candidate)) {
|
|
40
|
-
return candidate;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
throw new CodeTaken(`${policy.style}:${policy.prefix ?? ''}:${attempts}`);
|
|
44
|
-
};
|
|
45
|
-
/** Where a draft's code must be unique: its parent, or the whole entity. */
|
|
46
|
-
export const codeScopeOf = (policy, draft) => policy.uniqueWithin === CodeScope.Parent ? { parent: draft.parent } : {};
|
|
39
|
+
export const codeHelper = createCodeHelper();
|
|
40
|
+
/** @deprecated compat:factory-refactor — use `codeHelper.slugOf(…)` */
|
|
41
|
+
export const slugOf = (text, max = CODE_MAX) => codeHelper.slugOf(text, max);
|
|
42
|
+
/** @deprecated compat:factory-refactor — use `codeHelper.mintCode(…)` */
|
|
43
|
+
export const mintCode = async (policy, taken, attempts = CODE_MINT_ATTEMPTS, opts) => await codeHelper.mintCode(policy, taken, attempts, opts);
|
|
44
|
+
/** @deprecated compat:factory-refactor — use `codeHelper.codeScopeOf(…)` */
|
|
45
|
+
export const codeScopeOf = (policy, draft) => codeHelper.codeScopeOf(policy, draft);
|
|
47
46
|
//# sourceMappingURL=code.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code.js","sourceRoot":"","sources":["../../src/helpers/code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACpG,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,SAAS,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACtG,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"code.js","sourceRoot":"","sources":["../../src/helpers/code.ts"],"names":[],"mappings":"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"}
|
package/build/helpers/index.d.ts
CHANGED
|
@@ -1,9 +1,21 @@
|
|
|
1
|
+
export type * from './apply/types.js';
|
|
2
|
+
export type * from './card/types.js';
|
|
3
|
+
export type * from './changes/types.js';
|
|
4
|
+
export type * from './code/types.js';
|
|
5
|
+
export type * from './query/types.js';
|
|
6
|
+
export type * from './scoped/types.js';
|
|
7
|
+
export type * from './specification/types.js';
|
|
8
|
+
export type * from './status/types.js';
|
|
9
|
+
export type * from './validate/types.js';
|
|
10
|
+
export type * from './wire/types.js';
|
|
1
11
|
export * from './apply.js';
|
|
2
12
|
export * from './card.js';
|
|
3
13
|
export * from './changes.js';
|
|
4
14
|
export * from './code.js';
|
|
5
15
|
export * from './query.js';
|
|
16
|
+
export * from './scoped.js';
|
|
6
17
|
export * from './specification.js';
|
|
7
18
|
export * from './status.js';
|
|
8
19
|
export * from './validate.js';
|
|
20
|
+
export * from './wire.js';
|
|
9
21
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,kBAAkB,CAAA;AACrC,mBAAmB,iBAAiB,CAAA;AACpC,mBAAmB,oBAAoB,CAAA;AACvC,mBAAmB,iBAAiB,CAAA;AACpC,mBAAmB,kBAAkB,CAAA;AACrC,mBAAmB,mBAAmB,CAAA;AACtC,mBAAmB,0BAA0B,CAAA;AAC7C,mBAAmB,mBAAmB,CAAA;AACtC,mBAAmB,qBAAqB,CAAA;AACxC,mBAAmB,iBAAiB,CAAA;AAEpC,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA"}
|
package/build/helpers/index.js
CHANGED
|
@@ -3,7 +3,9 @@ export * from './card.js';
|
|
|
3
3
|
export * from './changes.js';
|
|
4
4
|
export * from './code.js';
|
|
5
5
|
export * from './query.js';
|
|
6
|
+
export * from './scoped.js';
|
|
6
7
|
export * from './specification.js';
|
|
7
8
|
export * from './status.js';
|
|
8
9
|
export * from './validate.js';
|
|
10
|
+
export * from './wire.js';
|
|
9
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAWA,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,oBAAoB,CAAA;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,WAAW,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Criteria, ListOptions, ResourceRecord } from '@owlmeans/resource';
|
|
2
|
+
import type { RelationshipQuery, RelationshipWhere, Specification, SpecificationQuery, SummaryView, TransitionQuery, TransitionWhere, Workcard, WorkcardQuery } from '../../types.js';
|
|
3
|
+
import type { Scope } from '../types.local.js';
|
|
4
|
+
/** The ONE translation of a planning query into the store's criteria, and the views read from it. */
|
|
5
|
+
export interface QueryHelper {
|
|
6
|
+
/**
|
|
7
|
+
* `WorkcardQuery` → `Criteria<Workcard>` — the ONE translation every store answers, so a query
|
|
8
|
+
* means the same thing in memory, in Mongo and in a client mirror.
|
|
9
|
+
*
|
|
10
|
+
* `entityId` always comes from the scope (a query that forgot it would be a cross-tenant read);
|
|
11
|
+
* `undefined` values are omitted. Paging and sorting are {@link QueryHelper.listOptionsOf}'s.
|
|
12
|
+
*/
|
|
13
|
+
criteriaOf: (query?: WorkcardQuery | null, scope?: Scope) => Criteria<Workcard>;
|
|
14
|
+
/** Paging and sorting out of a query. `size: 0` (no limit) survives. */
|
|
15
|
+
listOptionsOf: <T extends ResourceRecord>(query?: ListOptions<T> | null) => ListOptions<T>;
|
|
16
|
+
/** The criteria over a parent's specifications. */
|
|
17
|
+
specCriteriaOf: (parent: string, query?: SpecificationQuery | null, scope?: Scope) => Criteria<Specification>;
|
|
18
|
+
linkWhereOf: (query: RelationshipQuery | null | undefined, scope: Scope) => RelationshipWhere;
|
|
19
|
+
transitionWhereOf: (query: TransitionQuery | null | undefined, scope: Scope) => TransitionWhere;
|
|
20
|
+
/** Counts of DIRECT children (`card.parent`) per parent, by intrinsic state. No key for a parent with none. */
|
|
21
|
+
summaryOf: (cards: Workcard[], parents: string[]) => SummaryView;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/helpers/query/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAC/E,OAAO,KAAK,EACV,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,kBAAkB,EAAE,WAAW,EAAE,eAAe,EACrG,eAAe,EAAE,QAAQ,EAAE,aAAa,EACzC,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAE9C,qGAAqG;AACrG,MAAM,WAAW,WAAW;IAC1B;;;;;;OAMG;IACH,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC/E,wEAAwE;IACxE,aAAa,EAAE,CAAC,CAAC,SAAS,cAAc,EAAE,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,CAAA;IAC1F,mDAAmD;IACnD,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,kBAAkB,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,QAAQ,CAAC,aAAa,CAAC,CAAA;IAC7G,WAAW,EAAE,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,EAAE,KAAK,KAAK,iBAAiB,CAAA;IAC7F,iBAAiB,EAAE,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,EAAE,KAAK,EAAE,KAAK,KAAK,eAAe,CAAA;IAC/F,+GAA+G;IAC/G,SAAS,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,CAAA;CACjE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/helpers/query/types.ts"],"names":[],"mappings":""}
|
package/build/helpers/query.d.ts
CHANGED
|
@@ -1,39 +1,47 @@
|
|
|
1
1
|
import type { Criteria, ListOptions, ResourceRecord, Sort } from '@owlmeans/resource';
|
|
2
|
-
import type {
|
|
3
|
-
type
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
* `entityId` always comes from the scope (a query that forgot it would be a cross-tenant read);
|
|
9
|
-
* `undefined` values are omitted. Paging and sorting are {@link listOptionsOf}'s.
|
|
10
|
-
*/
|
|
2
|
+
import type { RelationshipQuery, RelationshipQueryWire, RelationshipWhere, Specification, SpecificationQuery, SpecificationQueryWire, SummaryQuery, SummaryQueryWire, SummaryView, TransitionQuery, TransitionQueryWire, TransitionWhere, Workcard, WorkcardQuery, WorkcardQueryWire } from '../types.js';
|
|
3
|
+
import type { QueryHelper } from './query/types.js';
|
|
4
|
+
import type { Scope } from './types.local.js';
|
|
5
|
+
export declare const createQueryHelper: () => QueryHelper;
|
|
6
|
+
export declare const queryHelper: QueryHelper;
|
|
7
|
+
/** @deprecated compat:factory-refactor — use `queryHelper.criteriaOf(…)` */
|
|
11
8
|
export declare const criteriaOf: (query?: WorkcardQuery | null, scope?: Scope) => Criteria<Workcard>;
|
|
12
|
-
/**
|
|
9
|
+
/** @deprecated compat:factory-refactor — use `queryHelper.listOptionsOf(…)` */
|
|
13
10
|
export declare const listOptionsOf: <T extends ResourceRecord>(query?: ListOptions<T> | null) => ListOptions<T>;
|
|
14
|
-
/**
|
|
11
|
+
/** @deprecated compat:factory-refactor — use `queryHelper.specCriteriaOf(…)` */
|
|
15
12
|
export declare const specCriteriaOf: (parent: string, query?: SpecificationQuery | null, scope?: Scope) => Criteria<Specification>;
|
|
13
|
+
/** @deprecated compat:factory-refactor — use `queryHelper.linkWhereOf(…)` */
|
|
16
14
|
export declare const linkWhereOf: (query: RelationshipQuery | null | undefined, scope: Scope) => RelationshipWhere;
|
|
15
|
+
/** @deprecated compat:factory-refactor — use `queryHelper.transitionWhereOf(…)` */
|
|
17
16
|
export declare const transitionWhereOf: (query: TransitionQuery | null | undefined, scope: Scope) => TransitionWhere;
|
|
18
|
-
/**
|
|
17
|
+
/** @deprecated compat:factory-refactor — use `queryHelper.summaryOf(…)` */
|
|
19
18
|
export declare const summaryOf: (cards: Workcard[], parents: string[]) => SummaryView;
|
|
20
|
-
/**
|
|
19
|
+
/** @deprecated compat:factory-refactor — use `wireHelper.encodeList(…)` */
|
|
21
20
|
export declare const encodeList: (value?: string | readonly string[] | null) => string | undefined;
|
|
22
|
-
/**
|
|
21
|
+
/** @deprecated compat:factory-refactor — use `wireHelper.decodeList(…)` */
|
|
23
22
|
export declare const decodeList: (value: unknown, key?: string) => string[] | undefined;
|
|
24
|
-
/**
|
|
23
|
+
/** @deprecated compat:factory-refactor — use `wireHelper.encodeSort(…)` */
|
|
25
24
|
export declare const encodeSort: <T>(sort?: Sort<T>[] | null) => string | undefined;
|
|
25
|
+
/** @deprecated compat:factory-refactor — use `wireHelper.decodeSort(…)` */
|
|
26
26
|
export declare const decodeSort: <T>(value: unknown) => Sort<T>[] | undefined;
|
|
27
|
+
/** @deprecated compat:factory-refactor — use `wireHelper.encodeWorkcardQuery(…)` */
|
|
27
28
|
export declare const encodeWorkcardQuery: (query?: WorkcardQuery | null) => WorkcardQueryWire;
|
|
28
|
-
/** @
|
|
29
|
+
/** @deprecated compat:factory-refactor — use `wireHelper.decodeWorkcardQuery(…)` */
|
|
29
30
|
export declare const decodeWorkcardQuery: (wire?: WorkcardQueryWire | WorkcardQuery | null) => WorkcardQuery;
|
|
31
|
+
/** @deprecated compat:factory-refactor — use `wireHelper.encodeSummaryQuery(…)` */
|
|
30
32
|
export declare const encodeSummaryQuery: (query: SummaryQuery) => SummaryQueryWire;
|
|
33
|
+
/** @deprecated compat:factory-refactor — use `wireHelper.decodeSummaryQuery(…)` */
|
|
31
34
|
export declare const decodeSummaryQuery: (wire?: SummaryQueryWire | SummaryQuery | null) => SummaryQuery;
|
|
35
|
+
/** @deprecated compat:factory-refactor — use `wireHelper.encodeTransitionQuery(…)` */
|
|
32
36
|
export declare const encodeTransitionQuery: (query?: TransitionQuery | null) => TransitionQueryWire;
|
|
37
|
+
/** @deprecated compat:factory-refactor — use `wireHelper.decodeTransitionQuery(…)` */
|
|
33
38
|
export declare const decodeTransitionQuery: (wire?: TransitionQueryWire | TransitionQuery | null) => TransitionQuery;
|
|
39
|
+
/** @deprecated compat:factory-refactor — use `wireHelper.encodeSpecificationQuery(…)` */
|
|
34
40
|
export declare const encodeSpecificationQuery: (query?: SpecificationQuery | null) => SpecificationQueryWire;
|
|
41
|
+
/** @deprecated compat:factory-refactor — use `wireHelper.decodeSpecificationQuery(…)` */
|
|
35
42
|
export declare const decodeSpecificationQuery: (wire?: SpecificationQueryWire | SpecificationQuery | null) => SpecificationQuery;
|
|
43
|
+
/** @deprecated compat:factory-refactor — use `wireHelper.encodeRelationshipQuery(…)` */
|
|
36
44
|
export declare const encodeRelationshipQuery: (query?: RelationshipQuery | null) => RelationshipQueryWire;
|
|
45
|
+
/** @deprecated compat:factory-refactor — use `wireHelper.decodeRelationshipQuery(…)` */
|
|
37
46
|
export declare const decodeRelationshipQuery: (wire?: RelationshipQueryWire | RelationshipQuery | null) => RelationshipQuery;
|
|
38
|
-
export {};
|
|
39
47
|
//# sourceMappingURL=query.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/helpers/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/helpers/query.ts"],"names":[],"mappings":"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"}
|