@metaobjectsdev/metadata 0.10.0 → 0.11.0-rc.1
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/dist/attr-schema-validate.js +12 -4
- package/dist/attr-schema-validate.js.map +1 -1
- package/dist/core/identity/identity-constants.d.ts.map +1 -1
- package/dist/core/identity/identity-constants.js +3 -0
- package/dist/core/identity/identity-constants.js.map +1 -1
- package/dist/core/identity/identity-definition.embedded.d.ts.map +1 -1
- package/dist/core/identity/identity-definition.embedded.js +2 -0
- package/dist/core/identity/identity-definition.embedded.js.map +1 -1
- package/dist/core/identity/meta-identity.d.ts.map +1 -1
- package/dist/core/identity/meta-identity.js +8 -1
- package/dist/core/identity/meta-identity.js.map +1 -1
- package/dist/core/validator/validator-constants.d.ts +14 -1
- package/dist/core/validator/validator-constants.d.ts.map +1 -1
- package/dist/core/validator/validator-constants.js +20 -1
- package/dist/core/validator/validator-constants.js.map +1 -1
- package/dist/core/validator/validator-definition.embedded.d.ts.map +1 -1
- package/dist/core/validator/validator-definition.embedded.js +121 -0
- package/dist/core/validator/validator-definition.embedded.js.map +1 -1
- package/dist/core-types.d.ts.map +1 -1
- package/dist/core-types.js +25 -2
- package/dist/core-types.js.map +1 -1
- package/dist/errors.d.ts +3 -3
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +9 -0
- package/dist/errors.js.map +1 -1
- package/dist/loader/meta-data-loader.d.ts.map +1 -1
- package/dist/loader/meta-data-loader.js +10 -0
- package/dist/loader/meta-data-loader.js.map +1 -1
- package/dist/loader/validation-passes.d.ts.map +1 -1
- package/dist/loader/validation-passes.js +6 -1
- package/dist/loader/validation-passes.js.map +1 -1
- package/dist/loader/validation-registry.d.ts +10 -0
- package/dist/loader/validation-registry.d.ts.map +1 -0
- package/dist/loader/validation-registry.js +84 -0
- package/dist/loader/validation-registry.js.map +1 -0
- package/dist/parser-core.js +10 -1
- package/dist/parser-core.js.map +1 -1
- package/dist/persistence/db/db-constants.d.ts +10 -0
- package/dist/persistence/db/db-constants.d.ts.map +1 -1
- package/dist/persistence/db/db-constants.js +14 -0
- package/dist/persistence/db/db-constants.js.map +1 -1
- package/dist/persistence/db/db-definition.embedded.d.ts.map +1 -1
- package/dist/persistence/db/db-definition.embedded.js +57 -0
- package/dist/persistence/db/db-definition.embedded.js.map +1 -1
- package/dist/provider-data.d.ts +15 -0
- package/dist/provider-data.d.ts.map +1 -1
- package/dist/provider-data.js +2 -0
- package/dist/provider-data.js.map +1 -1
- package/dist/registry.d.ts +16 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js.map +1 -1
- package/dist/validate-max-occurs.d.ts +5 -0
- package/dist/validate-max-occurs.d.ts.map +1 -0
- package/dist/validate-max-occurs.js +28 -0
- package/dist/validate-max-occurs.js.map +1 -0
- package/dist/validation-types.d.ts +36 -0
- package/dist/validation-types.d.ts.map +1 -0
- package/dist/validation-types.js +7 -0
- package/dist/validation-types.js.map +1 -0
- package/package.json +1 -1
- package/src/attr-schema-validate.ts +12 -4
- package/src/core/identity/identity-constants.ts +4 -0
- package/src/core/identity/identity-definition.embedded.ts +2 -0
- package/src/core/identity/meta-identity.ts +8 -1
- package/src/core/validator/validator-constants.ts +22 -1
- package/src/core/validator/validator-definition.embedded.ts +121 -0
- package/src/core-types.ts +26 -1
- package/src/errors.ts +11 -2
- package/src/loader/meta-data-loader.ts +12 -0
- package/src/loader/validation-passes.ts +11 -1
- package/src/loader/validation-registry.ts +93 -0
- package/src/parser-core.ts +10 -1
- package/src/persistence/db/db-constants.ts +16 -0
- package/src/persistence/db/db-definition.embedded.ts +57 -0
- package/src/provider-data.ts +17 -0
- package/src/registry.ts +16 -0
- package/src/validate-max-occurs.ts +39 -0
- package/src/validation-types.ts +57 -0
- package/dist/constants.d.ts +0 -208
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -419
- package/dist/constants.js.map +0 -1
- package/dist/core/documentation/doc-schema.d.ts +0 -8
- package/dist/core/documentation/doc-schema.d.ts.map +0 -1
- package/dist/core/documentation/doc-schema.js +0 -61
- package/dist/core/documentation/doc-schema.js.map +0 -1
- package/dist/core/field/field-schema.d.ts +0 -6
- package/dist/core/field/field-schema.d.ts.map +0 -1
- package/dist/core/field/field-schema.js +0 -23
- package/dist/core/field/field-schema.js.map +0 -1
- package/dist/core/file-meta-data-loader.d.ts +0 -18
- package/dist/core/file-meta-data-loader.d.ts.map +0 -1
- package/dist/core/file-meta-data-loader.js +0 -81
- package/dist/core/file-meta-data-loader.js.map +0 -1
- package/dist/core/file-source.d.ts +0 -12
- package/dist/core/file-source.d.ts.map +0 -1
- package/dist/core/file-source.js +0 -46
- package/dist/core/file-source.js.map +0 -1
- package/dist/core/identity/identity-schema.d.ts +0 -6
- package/dist/core/identity/identity-schema.d.ts.map +0 -1
- package/dist/core/identity/identity-schema.js +0 -56
- package/dist/core/identity/identity-schema.js.map +0 -1
- package/dist/core/object/object-schema.d.ts +0 -4
- package/dist/core/object/object-schema.d.ts.map +0 -1
- package/dist/core/object/object-schema.js +0 -28
- package/dist/core/object/object-schema.js.map +0 -1
- package/dist/core/relationship/relationship-schema.d.ts +0 -4
- package/dist/core/relationship/relationship-schema.d.ts.map +0 -1
- package/dist/core/relationship/relationship-schema.js +0 -57
- package/dist/core/relationship/relationship-schema.js.map +0 -1
- package/dist/core/validator/validator-schema.d.ts +0 -4
- package/dist/core/validator/validator-schema.d.ts.map +0 -1
- package/dist/core/validator/validator-schema.js +0 -38
- package/dist/core/validator/validator-schema.js.map +0 -1
- package/dist/core-attr-schemas.d.ts +0 -22
- package/dist/core-attr-schemas.d.ts.map +0 -1
- package/dist/core-attr-schemas.js +0 -324
- package/dist/core-attr-schemas.js.map +0 -1
- package/dist/db/db-attr-schemas.d.ts +0 -8
- package/dist/db/db-attr-schemas.d.ts.map +0 -1
- package/dist/db/db-attr-schemas.js +0 -26
- package/dist/db/db-attr-schemas.js.map +0 -1
- package/dist/db/db-provider.d.ts +0 -3
- package/dist/db/db-provider.d.ts.map +0 -1
- package/dist/db/db-provider.js +0 -28
- package/dist/db/db-provider.js.map +0 -1
- package/dist/meta/find-reference.d.ts +0 -22
- package/dist/meta/find-reference.d.ts.map +0 -1
- package/dist/meta/find-reference.js +0 -29
- package/dist/meta/find-reference.js.map +0 -1
- package/dist/meta/meta-attr.d.ts +0 -8
- package/dist/meta/meta-attr.d.ts.map +0 -1
- package/dist/meta/meta-attr.js +0 -17
- package/dist/meta/meta-attr.js.map +0 -1
- package/dist/meta/meta-data.d.ts +0 -107
- package/dist/meta/meta-data.d.ts.map +0 -1
- package/dist/meta/meta-data.js +0 -302
- package/dist/meta/meta-data.js.map +0 -1
- package/dist/meta/meta-field.d.ts +0 -48
- package/dist/meta/meta-field.d.ts.map +0 -1
- package/dist/meta/meta-field.js +0 -94
- package/dist/meta/meta-field.js.map +0 -1
- package/dist/meta/meta-identity.d.ts +0 -71
- package/dist/meta/meta-identity.d.ts.map +0 -1
- package/dist/meta/meta-identity.js +0 -129
- package/dist/meta/meta-identity.js.map +0 -1
- package/dist/meta/meta-layout.d.ts +0 -23
- package/dist/meta/meta-layout.d.ts.map +0 -1
- package/dist/meta/meta-layout.js +0 -45
- package/dist/meta/meta-layout.js.map +0 -1
- package/dist/meta/meta-object.d.ts +0 -40
- package/dist/meta/meta-object.d.ts.map +0 -1
- package/dist/meta/meta-object.js +0 -81
- package/dist/meta/meta-object.js.map +0 -1
- package/dist/meta/meta-origin.d.ts +0 -32
- package/dist/meta/meta-origin.d.ts.map +0 -1
- package/dist/meta/meta-origin.js +0 -55
- package/dist/meta/meta-origin.js.map +0 -1
- package/dist/meta/meta-relationship.d.ts +0 -11
- package/dist/meta/meta-relationship.d.ts.map +0 -1
- package/dist/meta/meta-relationship.js +0 -27
- package/dist/meta/meta-relationship.js.map +0 -1
- package/dist/meta/meta-root.d.ts +0 -12
- package/dist/meta/meta-root.d.ts.map +0 -1
- package/dist/meta/meta-root.js +0 -24
- package/dist/meta/meta-root.js.map +0 -1
- package/dist/meta/meta-source.d.ts +0 -18
- package/dist/meta/meta-source.d.ts.map +0 -1
- package/dist/meta/meta-source.js +0 -31
- package/dist/meta/meta-source.js.map +0 -1
- package/dist/meta/meta-validator.d.ts +0 -29
- package/dist/meta/meta-validator.d.ts.map +0 -1
- package/dist/meta/meta-validator.js +0 -49
- package/dist/meta/meta-validator.js.map +0 -1
- package/dist/meta/meta-view.d.ts +0 -4
- package/dist/meta/meta-view.d.ts.map +0 -1
- package/dist/meta/meta-view.js +0 -8
- package/dist/meta/meta-view.js.map +0 -1
- package/dist/persistence/db/db-attr-schemas.d.ts +0 -8
- package/dist/persistence/db/db-attr-schemas.d.ts.map +0 -1
- package/dist/persistence/db/db-attr-schemas.js +0 -28
- package/dist/persistence/db/db-attr-schemas.js.map +0 -1
- package/dist/persistence/db/db-schema.d.ts +0 -28
- package/dist/persistence/db/db-schema.d.ts.map +0 -1
- package/dist/persistence/db/db-schema.js +0 -62
- package/dist/persistence/db/db-schema.js.map +0 -1
- package/dist/persistence/origin/origin-schema.d.ts +0 -4
- package/dist/persistence/origin/origin-schema.d.ts.map +0 -1
- package/dist/persistence/origin/origin-schema.js +0 -63
- package/dist/persistence/origin/origin-schema.js.map +0 -1
- package/dist/persistence/source/source-schema.d.ts +0 -4
- package/dist/persistence/source/source-schema.d.ts.map +0 -1
- package/dist/persistence/source/source-schema.js +0 -98
- package/dist/persistence/source/source-schema.js.map +0 -1
- package/dist/presentation/layout/layout-schema.d.ts +0 -4
- package/dist/presentation/layout/layout-schema.d.ts.map +0 -1
- package/dist/presentation/layout/layout-schema.js +0 -47
- package/dist/presentation/layout/layout-schema.js.map +0 -1
- package/dist/presentation/ui/ui-schema.d.ts +0 -10
- package/dist/presentation/ui/ui-schema.d.ts.map +0 -1
- package/dist/presentation/ui/ui-schema.js +0 -41
- package/dist/presentation/ui/ui-schema.js.map +0 -1
- package/dist/presentation/view/view-schema.d.ts +0 -4
- package/dist/presentation/view/view-schema.d.ts.map +0 -1
- package/dist/presentation/view/view-schema.js +0 -15
- package/dist/presentation/view/view-schema.js.map +0 -1
- package/dist/template/prompt-schema.d.ts +0 -20
- package/dist/template/prompt-schema.d.ts.map +0 -1
- package/dist/template/prompt-schema.js +0 -70
- package/dist/template/prompt-schema.js.map +0 -1
- package/dist/template/template-schema.d.ts +0 -3
- package/dist/template/template-schema.d.ts.map +0 -1
- package/dist/template/template-schema.js +0 -181
- package/dist/template/template-schema.js.map +0 -1
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
// FileMetaDataLoader — discovers file-backed MetaDataSources and runs the
|
|
2
|
-
// MetaDataLoader pipeline over them. A UrlMetaDataLoader will slot in the
|
|
3
|
-
// same way later.
|
|
4
|
-
import { readdir, stat } from "node:fs/promises";
|
|
5
|
-
import { join } from "node:path";
|
|
6
|
-
import { MetaDataLoader } from "../loader/meta-data-loader.js";
|
|
7
|
-
import { FileSource } from "./file-source.js";
|
|
8
|
-
import { parseYaml } from "./parser-yaml.js";
|
|
9
|
-
/** Minimal glob matcher supporting `*` (any chars except `/`) and `**` (any chars). */
|
|
10
|
-
function matchSimpleGlob(pattern, value) {
|
|
11
|
-
const regexStr = pattern
|
|
12
|
-
.replace(/[.+^${}()|[\]\\]/g, "\\$&")
|
|
13
|
-
.replace(/\*\*/g, "::DOUBLESTAR::")
|
|
14
|
-
.replace(/\*/g, "[^/]*")
|
|
15
|
-
.replace(/::DOUBLESTAR::/g, ".*");
|
|
16
|
-
return new RegExp(`^${regexStr}$`).test(value);
|
|
17
|
-
}
|
|
18
|
-
export class FileMetaDataLoader extends MetaDataLoader {
|
|
19
|
-
/** Adds YAML parsing on top of the base loader's JSON-only `parseSource`. */
|
|
20
|
-
parseSource(content, source, parseOpts) {
|
|
21
|
-
if (source.format === "yaml") {
|
|
22
|
-
return parseYaml(content, parseOpts);
|
|
23
|
-
}
|
|
24
|
-
return super.parseSource(content, source, parseOpts);
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Load every `.json` / `.yaml` / `.yml` file in a directory (non-recursive),
|
|
28
|
-
* in deterministic ordinal filename order.
|
|
29
|
-
* @param opts.exclude glob patterns (relative to dir) to skip — `*` / `**`.
|
|
30
|
-
*/
|
|
31
|
-
async loadDirectory(dir, opts) {
|
|
32
|
-
let entries;
|
|
33
|
-
try {
|
|
34
|
-
// Sorted for deterministic multi-file load order: the overlay merge is
|
|
35
|
-
// order-sensitive (last-writer-wins on attr conflicts), so the scan must
|
|
36
|
-
// not depend on filesystem readdir order. Ordinal filename sort is
|
|
37
|
-
// reproducible across the Java/Python/C# ports.
|
|
38
|
-
entries = (await readdir(dir)).sort();
|
|
39
|
-
}
|
|
40
|
-
catch (err) {
|
|
41
|
-
// Surface the I/O failure as a collected error via the empty-source path.
|
|
42
|
-
const emptyResult = await this.load([]);
|
|
43
|
-
return {
|
|
44
|
-
...emptyResult,
|
|
45
|
-
errors: [
|
|
46
|
-
new Error(`loadDirectory: cannot read ${dir}: ${err.message}`),
|
|
47
|
-
...emptyResult.errors,
|
|
48
|
-
],
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
const excludes = opts?.exclude ?? [];
|
|
52
|
-
const paths = [];
|
|
53
|
-
for (const entry of entries) {
|
|
54
|
-
const lower = entry.toLowerCase();
|
|
55
|
-
if (!lower.endsWith(".json") && !lower.endsWith(".yaml") && !lower.endsWith(".yml")) {
|
|
56
|
-
continue;
|
|
57
|
-
}
|
|
58
|
-
const filePath = join(dir, entry);
|
|
59
|
-
let statResult;
|
|
60
|
-
try {
|
|
61
|
-
statResult = await stat(filePath);
|
|
62
|
-
}
|
|
63
|
-
catch {
|
|
64
|
-
// Entry vanished between readdir and stat (TOCTOU) or is not accessible.
|
|
65
|
-
// Skip it rather than breaking the no-throw contract of loadDirectory.
|
|
66
|
-
continue;
|
|
67
|
-
}
|
|
68
|
-
if (!statResult.isFile())
|
|
69
|
-
continue;
|
|
70
|
-
if (excludes.some((p) => matchSimpleGlob(p, entry)))
|
|
71
|
-
continue;
|
|
72
|
-
paths.push(filePath);
|
|
73
|
-
}
|
|
74
|
-
return this.loadFiles(paths);
|
|
75
|
-
}
|
|
76
|
-
/** Load an explicit list of file paths, in order. */
|
|
77
|
-
async loadFiles(paths) {
|
|
78
|
-
return this.load(paths.map((p) => new FileSource(p)));
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
//# sourceMappingURL=file-meta-data-loader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file-meta-data-loader.js","sourceRoot":"","sources":["../../src/core/file-meta-data-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { MetaDataFormat, MetaDataSource } from "../loader/meta-data-source.js";
|
|
2
|
-
/** A metadata source backed by a file on disk. */
|
|
3
|
-
export declare class FileSource implements MetaDataSource {
|
|
4
|
-
readonly id: string;
|
|
5
|
-
readonly format: MetaDataFormat;
|
|
6
|
-
private readonly _path;
|
|
7
|
-
constructor(path: string);
|
|
8
|
-
/** The absolute/relative path this source reads from. */
|
|
9
|
-
get path(): string;
|
|
10
|
-
read(): Promise<string>;
|
|
11
|
-
}
|
|
12
|
-
//# sourceMappingURL=file-source.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file-source.d.ts","sourceRoot":"","sources":["../../src/core/file-source.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAwBpF,kDAAkD;AAClD,qBAAa,UAAW,YAAW,cAAc;IAC/C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;gBAEnB,IAAI,EAAE,MAAM;IAOxB,yDAAyD;IACzD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAEK,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;CAI9B"}
|
package/dist/core/file-source.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
// FileSource — a MetaDataSource backed by a file on disk. Server-side only
|
|
2
|
-
// (touches node:fs); lives under src/core/ so the browser-safe root never
|
|
3
|
-
// imports it.
|
|
4
|
-
import { basename, extname } from "node:path";
|
|
5
|
-
/** Infer a source format from a file extension. `.yaml`/`.yml` → "yaml";
|
|
6
|
-
* everything else (including `.json`) → "json", the canonical default. */
|
|
7
|
-
function inferFormat(path) {
|
|
8
|
-
const ext = extname(path).toLowerCase();
|
|
9
|
-
return ext === ".yaml" || ext === ".yml" ? "yaml" : "json";
|
|
10
|
-
}
|
|
11
|
-
// File reader — Bun-first (Bun.file().text()) with a Node fallback
|
|
12
|
-
// (node:fs/promises.readFile). Matches CLAUDE.md's Bun-first / Node-compatible policy.
|
|
13
|
-
let _readText;
|
|
14
|
-
async function getReadText() {
|
|
15
|
-
if (_readText !== undefined)
|
|
16
|
-
return _readText;
|
|
17
|
-
if (typeof Bun !== "undefined") {
|
|
18
|
-
_readText = (p) => Bun.file(p).text();
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
const { readFile } = await import("node:fs/promises");
|
|
22
|
-
_readText = (p) => readFile(p, "utf-8");
|
|
23
|
-
}
|
|
24
|
-
return _readText;
|
|
25
|
-
}
|
|
26
|
-
/** A metadata source backed by a file on disk. */
|
|
27
|
-
export class FileSource {
|
|
28
|
-
id;
|
|
29
|
-
format;
|
|
30
|
-
_path;
|
|
31
|
-
constructor(path) {
|
|
32
|
-
this._path = path;
|
|
33
|
-
// basename() for readable error messages; cross-platform (handles both / and \). Full path retained for read().
|
|
34
|
-
this.id = basename(path);
|
|
35
|
-
this.format = inferFormat(path);
|
|
36
|
-
}
|
|
37
|
-
/** The absolute/relative path this source reads from. */
|
|
38
|
-
get path() {
|
|
39
|
-
return this._path;
|
|
40
|
-
}
|
|
41
|
-
async read() {
|
|
42
|
-
const readText = await getReadText();
|
|
43
|
-
return readText(this._path);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
//# sourceMappingURL=file-source.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file-source.js","sourceRoot":"","sources":["../../src/core/file-source.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,0EAA0E;AAC1E,cAAc;AAEd,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAG9C;2EAC2E;AAC3E,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IACxC,OAAO,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAC7D,CAAC;AAED,mEAAmE;AACnE,uFAAuF;AACvF,IAAI,SAA0D,CAAC;AAE/D,KAAK,UAAU,WAAW;IACxB,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC9C,IAAI,OAAO,GAAG,KAAK,WAAW,EAAE,CAAC;QAC/B,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACtD,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,kDAAkD;AAClD,MAAM,OAAO,UAAU;IACZ,EAAE,CAAS;IACX,MAAM,CAAiB;IACf,KAAK,CAAS;IAE/B,YAAY,IAAY;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,gHAAgH;QAChH,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,yDAAyD;IACzD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC;QACrC,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;CACF"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { AttrSchema } from "../../registry.js";
|
|
2
|
-
/** Attrs on identity.primary / identity.secondary — @fields is required. */
|
|
3
|
-
export declare const identityFieldsAttr: AttrSchema;
|
|
4
|
-
/** Attrs per identity subtype. primary adds @generation; secondary adds @unique. */
|
|
5
|
-
export declare const IDENTITY_ATTRS_MAP: Map<string, AttrSchema[]>;
|
|
6
|
-
//# sourceMappingURL=identity-schema.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"identity-schema.d.ts","sourceRoot":"","sources":["../../../src/core/identity/identity-schema.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAiBpD,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,EAAE,UAOhC,CAAC;AA8CF,oFAAoF;AACpF,eAAO,MAAM,kBAAkB,2BAI7B,CAAC"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
// Identity attribute schemas — per-subtype attr inventories for identity types.
|
|
2
|
-
// Consumed by registerCoreTypes().
|
|
3
|
-
import { ATTR_SUBTYPE_STRING, ATTR_SUBTYPE_BOOLEAN, } from "../attr/attr-constants.js";
|
|
4
|
-
import { IDENTITY_SUBTYPE_PRIMARY, IDENTITY_SUBTYPE_SECONDARY, IDENTITY_SUBTYPE_REFERENCE, IDENTITY_ATTR_FIELDS, IDENTITY_ATTR_GENERATION, IDENTITY_ATTR_UNIQUE, IDENTITY_REFERENCE_ATTR_REFERENCES, IDENTITY_REFERENCE_ATTR_ENFORCE, GENERATION_VALUES, } from "./identity-constants.js";
|
|
5
|
-
/** Attrs on identity.primary / identity.secondary — @fields is required. */
|
|
6
|
-
export const identityFieldsAttr = {
|
|
7
|
-
name: IDENTITY_ATTR_FIELDS,
|
|
8
|
-
valueType: ATTR_SUBTYPE_STRING,
|
|
9
|
-
isArray: true,
|
|
10
|
-
required: true,
|
|
11
|
-
description: "The field name(s) composing this identity. Single-element for a simple PK/index, multiple for a composite.",
|
|
12
|
-
};
|
|
13
|
-
const primaryIdentityAttrs = [
|
|
14
|
-
{ ...identityFieldsAttr },
|
|
15
|
-
{
|
|
16
|
-
name: IDENTITY_ATTR_GENERATION,
|
|
17
|
-
valueType: ATTR_SUBTYPE_STRING,
|
|
18
|
-
required: false,
|
|
19
|
-
allowedValues: [...GENERATION_VALUES],
|
|
20
|
-
description: "Primary-key value generation strategy: 'increment' (auto-increment), 'uuid', or 'assigned' (caller-supplied).",
|
|
21
|
-
},
|
|
22
|
-
];
|
|
23
|
-
const secondaryIdentityAttrs = [
|
|
24
|
-
{ ...identityFieldsAttr },
|
|
25
|
-
{
|
|
26
|
-
name: IDENTITY_ATTR_UNIQUE,
|
|
27
|
-
valueType: ATTR_SUBTYPE_BOOLEAN,
|
|
28
|
-
required: false,
|
|
29
|
-
description: "When true (default), the secondary identity is a UNIQUE index; false makes it a plain (non-unique) index.",
|
|
30
|
-
},
|
|
31
|
-
];
|
|
32
|
-
const referenceIdentityAttrs = [
|
|
33
|
-
{ ...identityFieldsAttr },
|
|
34
|
-
{
|
|
35
|
-
name: IDENTITY_REFERENCE_ATTR_REFERENCES,
|
|
36
|
-
valueType: ATTR_SUBTYPE_STRING,
|
|
37
|
-
required: true,
|
|
38
|
-
description: "Target of the reference. Bare entity name (e.g. 'Program') resolves to that entity's primary identity. " +
|
|
39
|
-
"Dotted forms ('Program.id' or 'Program.fieldA,fieldB') target an explicit field set on the entity.",
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
name: IDENTITY_REFERENCE_ATTR_ENFORCE,
|
|
43
|
-
valueType: ATTR_SUBTYPE_BOOLEAN,
|
|
44
|
-
required: false,
|
|
45
|
-
description: "When true (default), the backend physically enforces the reference (SQL FK constraint, " +
|
|
46
|
-
"document validation rule, graph edge guarantee). Set false to declare a logical reference " +
|
|
47
|
-
"for navigation/typing/codegen only — the value may dangle at the backend level.",
|
|
48
|
-
},
|
|
49
|
-
];
|
|
50
|
-
/** Attrs per identity subtype. primary adds @generation; secondary adds @unique. */
|
|
51
|
-
export const IDENTITY_ATTRS_MAP = new Map([
|
|
52
|
-
[IDENTITY_SUBTYPE_PRIMARY, [...primaryIdentityAttrs]],
|
|
53
|
-
[IDENTITY_SUBTYPE_SECONDARY, [...secondaryIdentityAttrs]],
|
|
54
|
-
[IDENTITY_SUBTYPE_REFERENCE, [...referenceIdentityAttrs]],
|
|
55
|
-
]);
|
|
56
|
-
//# sourceMappingURL=identity-schema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"identity-schema.js","sourceRoot":"","sources":["../../../src/core/identity/identity-schema.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,mCAAmC;AAGnC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,kCAAkC,EAClC,+BAA+B,EAC/B,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AAEjC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,kBAAkB,GAAe;IAC5C,IAAI,EAAE,oBAAoB;IAC1B,SAAS,EAAE,mBAAmB;IAC9B,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;IACd,WAAW,EACT,4GAA4G;CAC/G,CAAC;AAEF,MAAM,oBAAoB,GAAiB;IACzC,EAAE,GAAG,kBAAkB,EAAE;IACzB;QACE,IAAI,EAAE,wBAAwB;QAC9B,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,KAAK;QACf,aAAa,EAAE,CAAC,GAAG,iBAAiB,CAAC;QACrC,WAAW,EACT,+GAA+G;KAClH;CACF,CAAC;AAEF,MAAM,sBAAsB,GAAiB;IAC3C,EAAE,GAAG,kBAAkB,EAAE;IACzB;QACE,IAAI,EAAE,oBAAoB;QAC1B,SAAS,EAAE,oBAAoB;QAC/B,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,2GAA2G;KAC9G;CACF,CAAC;AAEF,MAAM,sBAAsB,GAAiB;IAC3C,EAAE,GAAG,kBAAkB,EAAE;IACzB;QACE,IAAI,EAAE,kCAAkC;QACxC,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,IAAI;QACd,WAAW,EACT,yGAAyG;YACzG,oGAAoG;KACvG;IACD;QACE,IAAI,EAAE,+BAA+B;QACrC,SAAS,EAAE,oBAAoB;QAC/B,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,yFAAyF;YACzF,4FAA4F;YAC5F,iFAAiF;KACpF;CACF,CAAC;AAEF,oFAAoF;AACpF,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAuB;IAC9D,CAAC,wBAAwB,EAAE,CAAC,GAAG,oBAAoB,CAAC,CAAC;IACrD,CAAC,0BAA0B,EAAE,CAAC,GAAG,sBAAsB,CAAC,CAAC;IACzD,CAAC,0BAA0B,EAAE,CAAC,GAAG,sBAAsB,CAAC,CAAC;CAC1D,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"object-schema.d.ts","sourceRoot":"","sources":["../../../src/core/object/object-schema.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAOpD,4CAA4C;AAC5C,eAAO,MAAM,WAAW,EAAE,UAAU,EAuBnC,CAAC"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
// Object attribute schemas — attrs common to every object subtype.
|
|
2
|
-
// Consumed by registerCoreTypes().
|
|
3
|
-
import { ATTR_SUBTYPE_STRING } from "../attr/attr-constants.js";
|
|
4
|
-
import { OBJECT_ATTR_DISCRIMINATOR, OBJECT_ATTR_DISCRIMINATOR_VALUE, } from "./object-constants.js";
|
|
5
|
-
/** Attrs common to every object subtype. */
|
|
6
|
-
export const objectAttrs = [
|
|
7
|
-
{
|
|
8
|
-
name: OBJECT_ATTR_DISCRIMINATOR,
|
|
9
|
-
valueType: ATTR_SUBTYPE_STRING,
|
|
10
|
-
required: false,
|
|
11
|
-
description: "FR-014: names the field on this entity (resolvable via extends:) that " +
|
|
12
|
-
"holds the subtype-discriminator value. Subtypes of this entity declare " +
|
|
13
|
-
"@discriminatorValue to bind their rows to a discriminator value. The " +
|
|
14
|
-
"discriminator field itself is an ordinary field declaration (typically " +
|
|
15
|
-
"field.enum or field.int / field.string).",
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
name: OBJECT_ATTR_DISCRIMINATOR_VALUE,
|
|
19
|
-
valueType: ATTR_SUBTYPE_STRING,
|
|
20
|
-
required: false,
|
|
21
|
-
description: "FR-014: on a subtype of an entity with @discriminator — the value that " +
|
|
22
|
-
"identifies rows of this subtype in the shared discriminator field. Wire " +
|
|
23
|
-
"form is always a string; the underlying field's subtype (enum / int / " +
|
|
24
|
-
"string) controls codegen + storage coercion. Required on every concrete " +
|
|
25
|
-
"subtype of a discriminated entity.",
|
|
26
|
-
},
|
|
27
|
-
];
|
|
28
|
-
//# sourceMappingURL=object-schema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"object-schema.js","sourceRoot":"","sources":["../../../src/core/object/object-schema.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,mCAAmC;AAGnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACL,yBAAyB,EACzB,+BAA+B,GAChC,MAAM,uBAAuB,CAAC;AAE/B,4CAA4C;AAC5C,MAAM,CAAC,MAAM,WAAW,GAAiB;IACvC;QACE,IAAI,EAAE,yBAAyB;QAC/B,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,wEAAwE;YACxE,yEAAyE;YACzE,uEAAuE;YACvE,yEAAyE;YACzE,0CAA0C;KAC7C;IACD;QACE,IAAI,EAAE,+BAA+B;QACrC,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,yEAAyE;YACzE,0EAA0E;YAC1E,wEAAwE;YACxE,0EAA0E;YAC1E,oCAAoC;KACvC;CACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"relationship-schema.d.ts","sourceRoot":"","sources":["../../../src/core/relationship/relationship-schema.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAgBpD,kDAAkD;AAClD,eAAO,MAAM,iBAAiB,EAAE,UAAU,EAwDzC,CAAC"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
// Relationship attribute schemas — attrs common to every relationship subtype.
|
|
2
|
-
// Consumed by registerCoreTypes().
|
|
3
|
-
import { ATTR_SUBTYPE_STRING, ATTR_SUBTYPE_BOOLEAN, } from "../attr/attr-constants.js";
|
|
4
|
-
import { RELATIONSHIP_ATTR_CARDINALITY, RELATIONSHIP_ATTR_OBJECT_REF, RELATIONSHIP_ATTR_THROUGH, RELATIONSHIP_ATTR_SOURCE_REF_FIELD, RELATIONSHIP_ATTR_SYMMETRIC, RELATIONSHIP_ATTR_ON_DELETE, RELATIONSHIP_ATTR_ON_UPDATE, REFERENTIAL_ACTIONS, } from "./relationship-constants.js";
|
|
5
|
-
/** Attrs common to every relationship subtype. */
|
|
6
|
-
export const relationshipAttrs = [
|
|
7
|
-
{
|
|
8
|
-
name: RELATIONSHIP_ATTR_CARDINALITY,
|
|
9
|
-
valueType: ATTR_SUBTYPE_STRING,
|
|
10
|
-
required: false,
|
|
11
|
-
// No allowedValues: @cardinality is an open string at the metamodel level
|
|
12
|
-
// (MetaRelationship.cardinality returns `string | undefined`). The Java
|
|
13
|
-
// canonical fixtures use composite forms such as "many-to-one"; the
|
|
14
|
-
// CARDINALITY_VALUES ("one"/"many") constant is a TS codegen convenience,
|
|
15
|
-
// NOT a closed metamodel enum. A3 must not reject the Java-canonical values.
|
|
16
|
-
description: "Cardinality of the relationship target (e.g. 'one', 'many', 'many-to-one').",
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
name: RELATIONSHIP_ATTR_OBJECT_REF,
|
|
20
|
-
valueType: ATTR_SUBTYPE_STRING,
|
|
21
|
-
required: false,
|
|
22
|
-
description: "Name or fully-qualified name of the target object the relationship points to (e.g. 'Week' or 'acme::vehicle::Car').",
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
name: RELATIONSHIP_ATTR_THROUGH,
|
|
26
|
-
valueType: ATTR_SUBTYPE_STRING,
|
|
27
|
-
required: false,
|
|
28
|
-
description: "Junction (through) entity name for M:N relationships — a third entity declaring two identity.reference children, one per FK side. The relationship's FK fields are derived from those references.",
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
name: RELATIONSHIP_ATTR_SOURCE_REF_FIELD,
|
|
32
|
-
valueType: ATTR_SUBTYPE_STRING,
|
|
33
|
-
required: false,
|
|
34
|
-
description: "Directed self-join disambiguator: names the source-side FK field on the junction (the other reference is the target side). Required only for directed/ambiguous self-join M:N. Mutually exclusive with @symmetric.",
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
name: RELATIONSHIP_ATTR_SYMMETRIC,
|
|
38
|
-
valueType: ATTR_SUBTYPE_BOOLEAN,
|
|
39
|
-
required: false,
|
|
40
|
-
description: "Undirected self-join flag (union-on-read). Valid only when @objectRef == the declaring entity. Mutually exclusive with @sourceRefField.",
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
name: RELATIONSHIP_ATTR_ON_DELETE,
|
|
44
|
-
valueType: ATTR_SUBTYPE_STRING,
|
|
45
|
-
required: false,
|
|
46
|
-
allowedValues: [...REFERENTIAL_ACTIONS],
|
|
47
|
-
description: "Referential action on parent delete. Default derives from subtype (composition→cascade, aggregation→set-null, association→restrict).",
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
name: RELATIONSHIP_ATTR_ON_UPDATE,
|
|
51
|
-
valueType: ATTR_SUBTYPE_STRING,
|
|
52
|
-
required: false,
|
|
53
|
-
allowedValues: [...REFERENTIAL_ACTIONS],
|
|
54
|
-
description: "Referential action on key update. Default cascade.",
|
|
55
|
-
},
|
|
56
|
-
];
|
|
57
|
-
//# sourceMappingURL=relationship-schema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"relationship-schema.js","sourceRoot":"","sources":["../../../src/core/relationship/relationship-schema.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,mCAAmC;AAGnC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,yBAAyB,EACzB,kCAAkC,EAClC,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AAErC,kDAAkD;AAClD,MAAM,CAAC,MAAM,iBAAiB,GAAiB;IAC7C;QACE,IAAI,EAAE,6BAA6B;QACnC,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,KAAK;QACf,0EAA0E;QAC1E,wEAAwE;QACxE,oEAAoE;QACpE,0EAA0E;QAC1E,6EAA6E;QAC7E,WAAW,EACT,6EAA6E;KAChF;IACD;QACE,IAAI,EAAE,4BAA4B;QAClC,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,qHAAqH;KACxH;IACD;QACE,IAAI,EAAE,yBAAyB;QAC/B,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,mMAAmM;KACtM;IACD;QACE,IAAI,EAAE,kCAAkC;QACxC,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,oNAAoN;KACvN;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,SAAS,EAAE,oBAAoB;QAC/B,QAAQ,EAAE,KAAK;QACf,WAAW,EACT,yIAAyI;KAC5I;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,KAAK;QACf,aAAa,EAAE,CAAC,GAAG,mBAAmB,CAAC;QACvC,WAAW,EACT,sIAAsI;KACzI;IACD;QACE,IAAI,EAAE,2BAA2B;QACjC,SAAS,EAAE,mBAAmB;QAC9B,QAAQ,EAAE,KAAK;QACf,aAAa,EAAE,CAAC,GAAG,mBAAmB,CAAC;QACvC,WAAW,EAAE,oDAAoD;KAClE;CACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validator-schema.d.ts","sourceRoot":"","sources":["../../../src/core/validator/validator-schema.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AA8BpD,4EAA4E;AAC5E,eAAO,MAAM,mBAAmB,2BAe9B,CAAC"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
// Validator attribute schemas — per-subtype attr inventories for validator types.
|
|
2
|
-
// Consumed by registerCoreTypes().
|
|
3
|
-
import { ATTR_SUBTYPE_INT, ATTR_SUBTYPE_STRING } from "../attr/attr-constants.js";
|
|
4
|
-
import { SUBTYPE_BASE } from "../../shared/base-types.js";
|
|
5
|
-
import { VALIDATOR_SUBTYPE_REQUIRED, VALIDATOR_SUBTYPE_LENGTH, VALIDATOR_SUBTYPE_REGEX, VALIDATOR_SUBTYPE_NUMERIC, VALIDATOR_SUBTYPE_ARRAY, VALIDATOR_ATTR_PATTERN, VALIDATOR_ATTR_MIN, VALIDATOR_ATTR_MAX, } from "./validator-constants.js";
|
|
6
|
-
/** @min / @max shared by length, numeric, array, and the base validator. */
|
|
7
|
-
const minMaxValidatorAttrs = [
|
|
8
|
-
{
|
|
9
|
-
name: VALIDATOR_ATTR_MIN,
|
|
10
|
-
valueType: ATTR_SUBTYPE_INT,
|
|
11
|
-
required: false,
|
|
12
|
-
description: "Minimum allowed value (length, numeric value, or array element count depending on the validator subtype).",
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
name: VALIDATOR_ATTR_MAX,
|
|
16
|
-
valueType: ATTR_SUBTYPE_INT,
|
|
17
|
-
required: false,
|
|
18
|
-
description: "Maximum allowed value (length, numeric value, or array element count depending on the validator subtype).",
|
|
19
|
-
},
|
|
20
|
-
];
|
|
21
|
-
/** Attrs per validator subtype. Required uses none; regex adds @pattern. */
|
|
22
|
-
export const VALIDATOR_ATTRS_MAP = new Map([
|
|
23
|
-
[SUBTYPE_BASE, [...minMaxValidatorAttrs]],
|
|
24
|
-
[VALIDATOR_SUBTYPE_REQUIRED, []],
|
|
25
|
-
[VALIDATOR_SUBTYPE_LENGTH, [...minMaxValidatorAttrs]],
|
|
26
|
-
[VALIDATOR_SUBTYPE_REGEX, [
|
|
27
|
-
...minMaxValidatorAttrs,
|
|
28
|
-
{
|
|
29
|
-
name: VALIDATOR_ATTR_PATTERN,
|
|
30
|
-
valueType: ATTR_SUBTYPE_STRING,
|
|
31
|
-
required: false,
|
|
32
|
-
description: "Regular expression the value must match.",
|
|
33
|
-
},
|
|
34
|
-
]],
|
|
35
|
-
[VALIDATOR_SUBTYPE_NUMERIC, [...minMaxValidatorAttrs]],
|
|
36
|
-
[VALIDATOR_SUBTYPE_ARRAY, [...minMaxValidatorAttrs]],
|
|
37
|
-
]);
|
|
38
|
-
//# sourceMappingURL=validator-schema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validator-schema.js","sourceRoot":"","sources":["../../../src/core/validator/validator-schema.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,mCAAmC;AAGnC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAElC,4EAA4E;AAC5E,MAAM,oBAAoB,GAAiB;IACzC;QACE,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,gBAAgB;QAC3B,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,2GAA2G;KACzH;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,gBAAgB;QAC3B,QAAQ,EAAE,KAAK;QACf,WAAW,EAAE,2GAA2G;KACzH;CACF,CAAC;AAEF,4EAA4E;AAC5E,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAuB;IAC/D,CAAC,YAAY,EAAE,CAAC,GAAG,oBAAoB,CAAC,CAAC;IACzC,CAAC,0BAA0B,EAAE,EAAE,CAAC;IAChC,CAAC,wBAAwB,EAAE,CAAC,GAAG,oBAAoB,CAAC,CAAC;IACrD,CAAC,uBAAuB,EAAE;YACxB,GAAG,oBAAoB;YACvB;gBACE,IAAI,EAAE,sBAAsB;gBAC5B,SAAS,EAAE,mBAAmB;gBAC9B,QAAQ,EAAE,KAAK;gBACf,WAAW,EAAE,0CAA0C;aACxD;SACF,CAAC;IACF,CAAC,yBAAyB,EAAE,CAAC,GAAG,oBAAoB,CAAC,CAAC;IACtD,CAAC,uBAAuB,EAAE,CAAC,GAAG,oBAAoB,CAAC,CAAC;CACrD,CAAC,CAAC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { AttrSchema } from "./registry.js";
|
|
2
|
-
/** Attrs common to every field subtype (codegen-ts column mapper + Project D filter/sort). */
|
|
3
|
-
export declare const commonFieldAttrs: AttrSchema[];
|
|
4
|
-
/** The @currency attr — only on field.currency. */
|
|
5
|
-
export declare const currencyFieldAttr: AttrSchema;
|
|
6
|
-
/** Attrs on view.currency. */
|
|
7
|
-
export declare const currencyViewAttrs: AttrSchema[];
|
|
8
|
-
/** Attrs common to every object subtype. */
|
|
9
|
-
export declare const objectAttrs: AttrSchema[];
|
|
10
|
-
/** Attrs common to every relationship subtype. */
|
|
11
|
-
export declare const relationshipAttrs: AttrSchema[];
|
|
12
|
-
/** Attrs on identity.primary / identity.secondary — @fields is required. */
|
|
13
|
-
export declare const identityFieldsAttr: AttrSchema;
|
|
14
|
-
/** Attrs on layout.dataGrid. */
|
|
15
|
-
export declare const dataGridLayoutAttrs: AttrSchema[];
|
|
16
|
-
/** Attrs per origin subtype. base has none; passthrough and aggregate carry their respective attrs. */
|
|
17
|
-
export declare const ORIGIN_ATTRS_MAP: Map<string, AttrSchema[]>;
|
|
18
|
-
/** Attrs per identity subtype. primary adds @generation; secondary adds @unique. */
|
|
19
|
-
export declare const IDENTITY_ATTRS_MAP: Map<string, AttrSchema[]>;
|
|
20
|
-
/** Attrs per validator subtype. Required uses none; regex adds @pattern. */
|
|
21
|
-
export declare const VALIDATOR_ATTRS_MAP: Map<string, AttrSchema[]>;
|
|
22
|
-
//# sourceMappingURL=core-attr-schemas.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"core-attr-schemas.d.ts","sourceRoot":"","sources":["../src/core-attr-schemas.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAiEhD,8FAA8F;AAC9F,eAAO,MAAM,gBAAgB,EAAE,UAAU,EAkFxC,CAAC;AAEF,mDAAmD;AACnD,eAAO,MAAM,iBAAiB,EAAE,UAO/B,CAAC;AAEF,8BAA8B;AAC9B,eAAO,MAAM,iBAAiB,EAAE,UAAU,EASzC,CAAC;AAEF,4CAA4C;AAC5C,eAAO,MAAM,WAAW,EAAE,UAAU,EASnC,CAAC;AAEF,kDAAkD;AAClD,eAAO,MAAM,iBAAiB,EAAE,UAAU,EAgCzC,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,EAAE,UAMhC,CAAC;AAyFF,gCAAgC;AAChC,eAAO,MAAM,mBAAmB,EAAE,UAAU,EAuC3C,CAAC;AAkBF,uGAAuG;AACvG,eAAO,MAAM,gBAAgB,2BAI3B,CAAC;AAEH,oFAAoF;AACpF,eAAO,MAAM,kBAAkB,2BAI7B,CAAC;AAEH,4EAA4E;AAC5E,eAAO,MAAM,mBAAmB,2BAe9B,CAAC"}
|