@dialecte/core 0.4.3 → 0.4.6
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/document/index.d.ts +1 -1
- package/dist/document/index.d.ts.map +1 -1
- package/dist/document/query/any/any-query.d.ts +9 -0
- package/dist/document/query/any/any-query.d.ts.map +1 -1
- package/dist/document/query/get/attribute/get-attribute.d.ts +19 -10
- package/dist/document/query/get/attribute/get-attribute.d.ts.map +1 -1
- package/dist/document/query/get/attribute/get-attributes.d.ts +21 -7
- package/dist/document/query/get/attribute/get-attributes.d.ts.map +1 -1
- package/dist/document/query/main.d.ts +51 -11
- package/dist/document/query/main.d.ts.map +1 -1
- package/dist/document/transaction/create/create.d.ts.map +1 -1
- package/dist/document/transaction/create/create.types.d.ts +32 -2
- package/dist/document/transaction/create/create.types.d.ts.map +1 -1
- package/dist/document/transaction/update/update.d.ts.map +1 -1
- package/dist/document/types.d.ts +13 -1
- package/dist/document/types.d.ts.map +1 -1
- package/dist/errors/codes.d.ts +8 -0
- package/dist/errors/codes.d.ts.map +1 -1
- package/dist/helpers/assert-fixed.d.ts +14 -0
- package/dist/helpers/assert-fixed.d.ts.map +1 -0
- package/dist/helpers/converter.d.ts +2 -2
- package/dist/helpers/converter.d.ts.map +1 -1
- package/dist/helpers/index.d.ts +1 -0
- package/dist/helpers/index.d.ts.map +1 -1
- package/dist/helpers/standardizing.d.ts +2 -2
- package/dist/helpers/standardizing.d.ts.map +1 -1
- package/dist/helpers.js +105 -84
- package/dist/index.js +3 -3
- package/dist/project/project.d.ts +24 -0
- package/dist/project/project.d.ts.map +1 -1
- package/dist/{project-D0KkiT1t.js → project-wohrish5.js} +1624 -1440
- package/dist/store/in-memory/in-memory-store.d.ts +10 -0
- package/dist/store/in-memory/in-memory-store.d.ts.map +1 -1
- package/dist/store/local/dexie-store.d.ts +38 -0
- package/dist/store/local/dexie-store.d.ts.map +1 -1
- package/dist/store/store.types.d.ts +17 -0
- package/dist/store/store.types.d.ts.map +1 -1
- package/dist/test.js +1 -1
- package/dist/types/dialecte-config.d.ts +70 -20
- package/dist/types/dialecte-config.d.ts.map +1 -1
- package/dist/utils/attribute-rules.d.ts +43 -27
- package/dist/utils/attribute-rules.d.ts.map +1 -1
- package/dist/utils/attribute-rules.types.d.ts +41 -0
- package/dist/utils/attribute-rules.types.d.ts.map +1 -0
- package/dist/{utils-DgKwrT2n.js → utils-C5_11hqg.js} +42 -8
- package/dist/utils.js +2 -2
- package/dist/xml/build/build-xml-document.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -16,6 +16,8 @@ import { AnyRawRecord, BlobAttachment, BlobRecord, RecordPatch } from '../../typ
|
|
|
16
16
|
export declare class InMemoryStore implements Store {
|
|
17
17
|
readonly name: string;
|
|
18
18
|
private readonly writable;
|
|
19
|
+
/** Guard so the cross-realm no-op warning is emitted at most once per session. */
|
|
20
|
+
private static reconcileWarned;
|
|
19
21
|
private documents;
|
|
20
22
|
private records;
|
|
21
23
|
private changelog;
|
|
@@ -26,6 +28,14 @@ export declare class InMemoryStore implements Store {
|
|
|
26
28
|
open(): Promise<void>;
|
|
27
29
|
close(): void;
|
|
28
30
|
destroy(): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* No-op: in-memory data is not shared across realms/tabs, so there is nothing
|
|
33
|
+
* to reconcile. Warns once to flag that a cross-realm setup (e.g. iframe
|
|
34
|
+
* extensions) will not see documents imported in another realm with this store.
|
|
35
|
+
*/
|
|
36
|
+
reconcile(): Promise<void>;
|
|
37
|
+
/** Readiness reduces to liveness for in-memory: readable iff registered. */
|
|
38
|
+
isDocumentReadable(documentId: string): Promise<boolean>;
|
|
29
39
|
registerDocument(file: DocumentRecord): Promise<void>;
|
|
30
40
|
getDocument(documentId: string): Promise<DocumentRecord | undefined>;
|
|
31
41
|
getDocuments(): Promise<DocumentRecord[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory-store.d.ts","sourceRoot":"","sources":["../../../src/store/in-memory/in-memory-store.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEpF;;;;;;;;;;GAUG;AACH,qBAAa,aAAc,YAAW,KAAK;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAElC,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,OAAO,CAA+C;IAC9D,OAAO,CAAC,SAAS,CAAsC;IACvD,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,QAAQ,CAAuC;gBAE3C,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB;IAOlD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAE3B,KAAK,IAAI,IAAI;IAEP,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"in-memory-store.d.ts","sourceRoot":"","sources":["../../../src/store/in-memory/in-memory-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,10 +26,28 @@ export declare class DexieStore implements Store {
|
|
|
26
26
|
private knownDocuments;
|
|
27
27
|
/** Serialization lock for schema-changing operations */
|
|
28
28
|
private schemaLock;
|
|
29
|
+
/**
|
|
30
|
+
* Set when another connection/realm upgraded the shared schema (an import
|
|
31
|
+
* elsewhere added an xel_<id> table) and IndexedDB closed our connection via
|
|
32
|
+
* `versionchange`. The next data access self-heals through ensureCurrentSchema.
|
|
33
|
+
*/
|
|
34
|
+
private stale;
|
|
29
35
|
constructor(projectName: string, options?: DexieStoreOptions);
|
|
30
36
|
open(): Promise<void>;
|
|
31
37
|
close(): void;
|
|
32
38
|
destroy(): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Bring this connection in sync with the shared persisted state (document
|
|
41
|
+
* registry + schema). Used by the owning Project when a cross-realm import /
|
|
42
|
+
* removal broadcast arrives, so a subsequent read sees the new partition.
|
|
43
|
+
*/
|
|
44
|
+
reconcile(): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Read-only probe: can this connection serve the document's records right now?
|
|
47
|
+
* True only when the document is registered here and its backing table exists
|
|
48
|
+
* in the current schema. Does not mutate - call reconcile() first to self-heal.
|
|
49
|
+
*/
|
|
50
|
+
isDocumentReadable(documentId: string): Promise<boolean>;
|
|
33
51
|
registerDocument(file: DocumentRecord): Promise<void>;
|
|
34
52
|
getDocument(documentId: string): Promise<DocumentRecord | undefined>;
|
|
35
53
|
getDocuments(): Promise<DocumentRecord[]>;
|
|
@@ -82,6 +100,26 @@ export declare class DexieStore implements Store {
|
|
|
82
100
|
private buildStores;
|
|
83
101
|
/** Close DB, bump version, reopen with updated schema */
|
|
84
102
|
private reopenWithNewSchema;
|
|
103
|
+
/**
|
|
104
|
+
* (Re)build this connection from persisted state: read the document registry
|
|
105
|
+
* and schema version written by any realm, then open the main connection with
|
|
106
|
+
* the full set of per-document tables. Used on open() and to self-heal after a
|
|
107
|
+
* foreign schema change (see attachVersionChangeHandler / ensureCurrentSchema).
|
|
108
|
+
*/
|
|
109
|
+
private reloadFromPersisted;
|
|
110
|
+
/**
|
|
111
|
+
* Release this connection when another realm/connection upgrades the shared
|
|
112
|
+
* schema (e.g. a document imported elsewhere adds an xel_<id> table). Closing
|
|
113
|
+
* unblocks the other connection's upgrade; the stale flag makes the next data
|
|
114
|
+
* access self-heal via ensureCurrentSchema.
|
|
115
|
+
*/
|
|
116
|
+
private attachVersionChangeHandler;
|
|
117
|
+
/**
|
|
118
|
+
* Guard run before every data access. Cheap no-op unless a foreign schema
|
|
119
|
+
* change flagged this connection stale, in which case it rebuilds the
|
|
120
|
+
* connection from persisted state before the access proceeds.
|
|
121
|
+
*/
|
|
122
|
+
private ensureCurrentSchema;
|
|
85
123
|
/** Serialize schema-changing operations */
|
|
86
124
|
private withSchemaLock;
|
|
87
125
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dexie-store.d.ts","sourceRoot":"","sources":["../../../src/store/local/dexie-store.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAiB,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACxF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEpF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAe7D;AAUD;;;;;;;GAOG;AACH,qBAAa,UAAW,YAAW,KAAK;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,CAAO;IACjB,OAAO,CAAC,aAAa,CAAI;IACzB,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAQ;IAC1C,iFAAiF;IACjF,OAAO,CAAC,cAAc,CAAyC;IAC/D,wDAAwD;IACxD,OAAO,CAAC,UAAU,CAAmC;
|
|
1
|
+
{"version":3,"file":"dexie-store.d.ts","sourceRoot":"","sources":["../../../src/store/local/dexie-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,23 @@ export interface Store {
|
|
|
37
37
|
close(): void;
|
|
38
38
|
/** Delete the database entirely (not just clear — remove from browser) */
|
|
39
39
|
destroy(): Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* Bring this connection in sync with the shared persisted state (document
|
|
42
|
+
* registry + schema) so a subsequent read sees documents imported/removed by
|
|
43
|
+
* another realm or tab.
|
|
44
|
+
*
|
|
45
|
+
* Backend semantics: DexieStore adopts the persisted schema version and
|
|
46
|
+
* reopens with the full set of per-document tables; a server-backed store
|
|
47
|
+
* would invalidate its cache / refetch metadata; InMemoryStore is a no-op
|
|
48
|
+
* (its data is not shared across realms).
|
|
49
|
+
*/
|
|
50
|
+
reconcile(documentId?: string): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* Read-only probe: can this connection serve the document's records right
|
|
53
|
+
* now? Does not mutate — call reconcile() first to self-heal a stale
|
|
54
|
+
* connection.
|
|
55
|
+
*/
|
|
56
|
+
isDocumentReadable(documentId: string): Promise<boolean>;
|
|
40
57
|
/** Register a new document — creates its backing storage partition */
|
|
41
58
|
registerDocument(file: DocumentRecord): Promise<void>;
|
|
42
59
|
/** Get a document record by id */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.types.d.ts","sourceRoot":"","sources":["../../src/store/store.types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.types.d.ts","sourceRoot":"","sources":["../../src/store/store.types.ts"],"names":[],"mappings":"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"}
|
package/dist/test.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { dt as e, t, u as n, z as r } from "./project-
|
|
1
|
+
import { dt as e, t, u as n, z as r } from "./project-wohrish5.js";
|
|
2
2
|
import { DIALECTE_NAMESPACES as i, standardizeRecord as a, toTrackedRecord as o, toTreeRecord as s } from "./helpers.js";
|
|
3
3
|
import { expect as c, it as l } from "vitest";
|
|
4
4
|
//#region src/test/assert-xml/xpath-parser.ts
|
|
@@ -113,26 +113,6 @@ export type AnyDialecteConfig = RawDialecteConfig<readonly string[], string, Rec
|
|
|
113
113
|
*/
|
|
114
114
|
export type ElementsOf<GenericConfig extends AnyDialecteConfig> = GenericConfig['elements'][number];
|
|
115
115
|
export type AnyElement = string;
|
|
116
|
-
/**
|
|
117
|
-
* Get attributes type for a specific element from dialecte config
|
|
118
|
-
*/
|
|
119
|
-
export type AttributesValueObjectOf<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>> = GenericConfig['attributes'][GenericElement];
|
|
120
|
-
export type AnyAttributesValueObject = Record<string, string>;
|
|
121
|
-
/**
|
|
122
|
-
* Get attribute name union for a specific element from dialecte config
|
|
123
|
-
*/
|
|
124
|
-
export type AttributesOf<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>> = keyof AttributesValueObjectOf<GenericConfig, GenericElement> & string;
|
|
125
|
-
export type AnyAttributeName = string;
|
|
126
|
-
/**
|
|
127
|
-
* Get attribute object type for a specific element from dialecte config
|
|
128
|
-
*/
|
|
129
|
-
export type FullAttributeObjectOf<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>> = {
|
|
130
|
-
[K in AttributesOf<GenericConfig, GenericElement>]: {
|
|
131
|
-
name: K;
|
|
132
|
-
value: AttributesValueObjectOf<GenericConfig, GenericElement>[K];
|
|
133
|
-
namespace?: Namespace;
|
|
134
|
-
};
|
|
135
|
-
}[AttributesOf<GenericConfig, GenericElement>];
|
|
136
116
|
/**
|
|
137
117
|
* Get valid children elements for a specific element from dialecte config
|
|
138
118
|
*/
|
|
@@ -162,4 +142,74 @@ export type RootElementOf<GenericConfig extends AnyDialecteConfig> = GenericConf
|
|
|
162
142
|
* Always includes the root element — a root is by definition a singleton.
|
|
163
143
|
*/
|
|
164
144
|
export type SingletonElementsOf<GenericConfig extends AnyDialecteConfig> = GenericConfig['rootElementName'] | (GenericConfig['singletonElements'] extends readonly (infer E)[] ? E : never);
|
|
145
|
+
/**
|
|
146
|
+
* Get attributes type for a specific element from dialecte config
|
|
147
|
+
*/
|
|
148
|
+
export type AttributesValueObjectOf<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>> = GenericConfig['attributes'][GenericElement];
|
|
149
|
+
export type AnyAttributesValueObject = Record<string, string>;
|
|
150
|
+
/**
|
|
151
|
+
* Get attribute name union for a specific element from dialecte config
|
|
152
|
+
*/
|
|
153
|
+
export type AttributesOf<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>> = keyof AttributesValueObjectOf<GenericConfig, GenericElement> & string;
|
|
154
|
+
export type AnyAttributeName = string;
|
|
155
|
+
/**
|
|
156
|
+
* Get attribute object type for a specific element from dialecte config
|
|
157
|
+
*/
|
|
158
|
+
export type FullAttributeObjectOf<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>> = {
|
|
159
|
+
[K in AttributesOf<GenericConfig, GenericElement>]: {
|
|
160
|
+
name: K;
|
|
161
|
+
value: AttributesValueObjectOf<GenericConfig, GenericElement>[K];
|
|
162
|
+
namespace?: Namespace;
|
|
163
|
+
};
|
|
164
|
+
}[AttributesOf<GenericConfig, GenericElement>];
|
|
165
|
+
/**
|
|
166
|
+
* A loose attribute shape accepted when authoring or converting attributes: a
|
|
167
|
+
* local (or canonical) `name`, a string `value`, and an optional namespace given
|
|
168
|
+
* either as a full `{ prefix, uri }` object (for custom namespaces) or a registered
|
|
169
|
+
* namespace *scope* string — a `config.namespaces` key such as `'ext'`. The stored
|
|
170
|
+
* name is derived from the resolved namespace.
|
|
171
|
+
*/
|
|
172
|
+
export type AttributeInputOf<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>> = {
|
|
173
|
+
name: AttributesOf<GenericConfig, GenericElement> | (string & {});
|
|
174
|
+
value: string;
|
|
175
|
+
namespace?: Namespace | string;
|
|
176
|
+
};
|
|
177
|
+
/**
|
|
178
|
+
* The namespace map keys an author can scope by, excluding the implicit `default`
|
|
179
|
+
* namespace (which is the unscoped case). For the test dialecte this is e.g.
|
|
180
|
+
* `'dev' | 'ext'`.
|
|
181
|
+
*/
|
|
182
|
+
export type NamespaceKeysOf<GenericConfig extends AnyDialecteConfig> = Exclude<keyof GenericConfig['namespaces'], 'default'> & string;
|
|
183
|
+
/** The XML prefix declared for a namespace key (the `prefix` on `config.namespaces[key]`). */
|
|
184
|
+
export type PrefixOfNamespaceKey<GenericConfig extends AnyDialecteConfig, GenericNamespaceKey extends keyof GenericConfig['namespaces']> = GenericConfig['namespaces'][GenericNamespaceKey] extends {
|
|
185
|
+
prefix: infer GenericPrefix;
|
|
186
|
+
} ? GenericPrefix & string : never;
|
|
187
|
+
/** The set of prefixes actually used by an element's namespaced attributes. */
|
|
188
|
+
type PrefixesUsedByElement<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>> = {
|
|
189
|
+
[K in AttributesOf<GenericConfig, GenericElement>]: K extends `${infer GenericPrefix}:${string}` ? GenericPrefix : never;
|
|
190
|
+
}[AttributesOf<GenericConfig, GenericElement>];
|
|
191
|
+
/**
|
|
192
|
+
* The namespace keys an element actually carries attributes for, so a scoping
|
|
193
|
+
* option only suggests namespaces that make sense for that element. A raw string
|
|
194
|
+
* is still accepted (via `(string & {})` at the call site) for custom namespaces.
|
|
195
|
+
*/
|
|
196
|
+
export type NamespaceKeysUsedByElement<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>> = {
|
|
197
|
+
[K in NamespaceKeysOf<GenericConfig>]: PrefixOfNamespaceKey<GenericConfig, K> extends PrefixesUsedByElement<GenericConfig, GenericElement> ? K : never;
|
|
198
|
+
}[NamespaceKeysOf<GenericConfig>];
|
|
199
|
+
/** Value object of an element's default-namespace (unprefixed) attributes only. */
|
|
200
|
+
export type DefaultAttributesValueObjectOf<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>> = {
|
|
201
|
+
[K in keyof AttributesValueObjectOf<GenericConfig, GenericElement> as K extends `${string}:${string}` ? never : K]: AttributesValueObjectOf<GenericConfig, GenericElement>[K];
|
|
202
|
+
};
|
|
203
|
+
/**
|
|
204
|
+
* Value object of an element's attributes within a given namespace key, re-keyed
|
|
205
|
+
* by **local** name (the prefix is stripped since the scope already fixes it).
|
|
206
|
+
*/
|
|
207
|
+
export type NamespacedAttributesValueObjectOf<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>, GenericNamespaceKey extends NamespaceKeysOf<GenericConfig>> = {
|
|
208
|
+
[K in keyof AttributesValueObjectOf<GenericConfig, GenericElement> as K extends `${PrefixOfNamespaceKey<GenericConfig, GenericNamespaceKey>}:${infer GenericLocal}` ? GenericLocal : never]: AttributesValueObjectOf<GenericConfig, GenericElement>[K];
|
|
209
|
+
};
|
|
210
|
+
/** Local attribute names available under a namespace key for an element. */
|
|
211
|
+
export type LocalAttributeNamesInNamespace<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>, GenericNamespaceKey extends NamespaceKeysOf<GenericConfig>> = keyof NamespacedAttributesValueObjectOf<GenericConfig, GenericElement, GenericNamespaceKey> & string;
|
|
212
|
+
/** Default-namespace (unprefixed) attribute names for an element. */
|
|
213
|
+
export type DefaultAttributeNamesOf<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>> = keyof DefaultAttributesValueObjectOf<GenericConfig, GenericElement> & string;
|
|
214
|
+
export {};
|
|
165
215
|
//# sourceMappingURL=dialecte-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialecte-config.d.ts","sourceRoot":"","sources":["../../src/types/dialecte-config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dialecte-config.d.ts","sourceRoot":"","sources":["../../src/types/dialecte-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,42 +1,58 @@
|
|
|
1
|
+
import { AttributeDefaults, AttributeRules } from './attribute-rules.types';
|
|
1
2
|
import { AnyDialecteConfig, Namespace } from '../types';
|
|
2
|
-
|
|
3
|
-
* Schema-derived facts about a single attribute of an element.
|
|
4
|
-
*
|
|
5
|
-
* Single source of truth shared by `standardizeRecord` (which builds the
|
|
6
|
-
* canonical stored form) and export's `shouldSkipDefaultAttribute` (which
|
|
7
|
-
* shapes output). Centralizing the schema reads here keeps the two paths from
|
|
8
|
-
* silently drifting apart — the analog of `orderByConfigSequence` for the
|
|
9
|
-
* "which attributes belong, in what shape" question.
|
|
10
|
-
*/
|
|
11
|
-
export type AttributeRules = {
|
|
12
|
-
/** The tag is a known dialecte element with a definition. */
|
|
13
|
-
isKnownElement: boolean;
|
|
14
|
-
/** The attribute is declared in the element's schema. */
|
|
15
|
-
isDefined: boolean;
|
|
16
|
-
/** The attribute is required by the schema. */
|
|
17
|
-
isRequired: boolean;
|
|
18
|
-
/** The attribute is part of the element's identity (key/unique) fields. */
|
|
19
|
-
isIdentityField: boolean;
|
|
20
|
-
/** Schema fixed value, if any (takes precedence over default). */
|
|
21
|
-
fixed: string | undefined;
|
|
22
|
-
/** Schema default value, if any. */
|
|
23
|
-
default: string | undefined;
|
|
24
|
-
/** Schema-declared namespace for the attribute, if any. */
|
|
25
|
-
namespace: Namespace | undefined;
|
|
26
|
-
};
|
|
3
|
+
export type { AttributeDefaults, AttributeRules } from './attribute-rules.types';
|
|
27
4
|
export declare function getAttributeRules(params: {
|
|
28
5
|
dialecteConfig: AnyDialecteConfig;
|
|
29
6
|
tagName: string;
|
|
30
7
|
attributeName: string;
|
|
31
8
|
}): AttributeRules;
|
|
9
|
+
/**
|
|
10
|
+
* The schema value to inject for an **absent** attribute, per the requested view.
|
|
11
|
+
* Derived entirely from {@link getAttributeRules}, so read, compare, and export share
|
|
12
|
+
* one source of truth. Returns `undefined` when nothing should be injected. A stored
|
|
13
|
+
* value always wins and is handled by the caller before this is consulted.
|
|
14
|
+
*/
|
|
15
|
+
export declare function resolveSchemaAttributeValue(params: {
|
|
16
|
+
dialecteConfig: AnyDialecteConfig;
|
|
17
|
+
tagName: string;
|
|
18
|
+
attributeName: string;
|
|
19
|
+
defaults: AttributeDefaults;
|
|
20
|
+
}): string | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Whether a value equals the attribute's schema default for COMPARE: matches the
|
|
23
|
+
* `fixed` value if any, else the `default` (including an empty-string default).
|
|
24
|
+
* Compare sites drop attributes for which this is true so that an authored
|
|
25
|
+
* default-equal value and an absent attribute fold to the same thing.
|
|
26
|
+
*/
|
|
27
|
+
export declare function isSchemaDefaultValue(params: {
|
|
28
|
+
dialecteConfig: AnyDialecteConfig;
|
|
29
|
+
tagName: string;
|
|
30
|
+
attributeName: string;
|
|
31
|
+
value: string;
|
|
32
|
+
}): boolean;
|
|
32
33
|
/** Local part of an attribute name — strips a namespace prefix if present (`a:b` → `b`). */
|
|
33
34
|
export declare function extractLocalName(name: string): string;
|
|
34
35
|
/**
|
|
35
|
-
* Resolve a namespace declared in the config by its prefix (e.g. `
|
|
36
|
-
* `
|
|
36
|
+
* Resolve a namespace declared in the config by its prefix (e.g. `ext`,
|
|
37
|
+
* `dev`). Returns `undefined` for an empty prefix or an unknown one —
|
|
37
38
|
* consumers cannot extend `config.namespaces`, so an unknown prefix is a caller error.
|
|
38
39
|
*/
|
|
39
40
|
export declare function resolveNamespaceByPrefix(dialecteConfig: AnyDialecteConfig, prefix: string): Namespace | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* Resolve a namespace *scope* string to its full `Namespace`. A scope is normally a
|
|
43
|
+
* `config.namespaces` key (e.g. `ext`, `dev`); as a fallback it is matched
|
|
44
|
+
* against declared prefixes. Returns `undefined` when the scope is neither a known
|
|
45
|
+
* key nor a known prefix — an authoring error, since a registered namespace must be
|
|
46
|
+
* referenced by key (use a full `{ prefix, uri }` object for custom namespaces).
|
|
47
|
+
*/
|
|
48
|
+
export declare function resolveNamespaceByScope(dialecteConfig: AnyDialecteConfig, scope: string): Namespace | undefined;
|
|
49
|
+
/**
|
|
50
|
+
* Resolve the XML prefix to store attributes under for a namespace *scope*.
|
|
51
|
+
* The scope is normally a config namespace **key** (e.g. `ext`, `dev`), which we map
|
|
52
|
+
* to its declared prefix. If the scope is not a declared key it is treated as a raw
|
|
53
|
+
* prefix, so callers can still target custom namespaces the config is unaware of.
|
|
54
|
+
*/
|
|
55
|
+
export declare function resolvePrefixByNamespaceScope(dialecteConfig: AnyDialecteConfig, namespaceScope: string): string;
|
|
40
56
|
/**
|
|
41
57
|
* Stable, deterministic ordering for attributes that fall outside an element's
|
|
42
58
|
* schema `sequence` (extra namespaced attributes: `xmlns`/`xmlns:*` and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attribute-rules.d.ts","sourceRoot":"","sources":["../../src/utils/attribute-rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAE3D
|
|
1
|
+
{"version":3,"file":"attribute-rules.d.ts","sourceRoot":"","sources":["../../src/utils/attribute-rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAE3D,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAEhF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACzC,cAAc,EAAE,iBAAiB,CAAA;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;CACrB,GAAG,cAAc,CAgBjB;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE;IACnD,cAAc,EAAE,iBAAiB,CAAA;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,iBAAiB,CAAA;CAC3B,GAAG,MAAM,GAAG,SAAS,CAerB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC5C,cAAc,EAAE,iBAAiB,CAAA;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,CAKV;AAED,4FAA4F;AAC5F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACvC,cAAc,EAAE,iBAAiB,EACjC,MAAM,EAAE,MAAM,GACZ,SAAS,GAAG,SAAS,CAIvB;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACtC,cAAc,EAAE,iBAAiB,EACjC,KAAK,EAAE,MAAM,GACX,SAAS,GAAG,SAAS,CAGvB;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC5C,cAAc,EAAE,iBAAiB,EACjC,cAAc,EAAE,MAAM,GACpB,MAAM,CAER;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACzC,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,CAAA;CAAE,EAC1C,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,CAAA;CAAE,GACxC,MAAM,CAMR;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACxC,gBAAgB,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,SAAS,CAAA;CAAE,EAC/D,UAAU,EAAE,SAAS,gBAAgB,EAAE,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAS1F"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Namespace } from '../types';
|
|
2
|
+
/**
|
|
3
|
+
* Schema-derived facts about a single attribute of an element.
|
|
4
|
+
*
|
|
5
|
+
* Single source of truth shared by `standardizeRecord` (which builds the
|
|
6
|
+
* canonical stored form) and export's `shouldSkipDefaultAttribute` (which
|
|
7
|
+
* shapes output). Centralizing the schema reads here keeps the two paths from
|
|
8
|
+
* silently drifting apart — the analog of `orderByConfigSequence` for the
|
|
9
|
+
* "which attributes belong, in what shape" question.
|
|
10
|
+
*/
|
|
11
|
+
export type AttributeRules = {
|
|
12
|
+
/** The tag is a known dialecte element with a definition. */
|
|
13
|
+
isKnownElement: boolean;
|
|
14
|
+
/** The attribute is declared in the element's schema. */
|
|
15
|
+
isDefined: boolean;
|
|
16
|
+
/** The attribute is required by the schema. */
|
|
17
|
+
isRequired: boolean;
|
|
18
|
+
/** The attribute is part of the element's identity (key/unique) fields. */
|
|
19
|
+
isIdentityField: boolean;
|
|
20
|
+
/** Schema fixed value, if any (takes precedence over default). */
|
|
21
|
+
fixed: string | undefined;
|
|
22
|
+
/** Schema default value, if any. */
|
|
23
|
+
default: string | undefined;
|
|
24
|
+
/** Schema-declared namespace for the attribute, if any. */
|
|
25
|
+
namespace: Namespace | undefined;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* How absent attributes are resolved against the schema when reading or serializing.
|
|
29
|
+
* The single knob shared by every read function and by export:
|
|
30
|
+
* - `'none'` — faithful: inject nothing (stored-only).
|
|
31
|
+
* - `'optional'` — read view: `fixed`, else a **non-empty** `default` (skips a
|
|
32
|
+
* `required`-without-default attr and empty-string defaults).
|
|
33
|
+
* - `'required'` — XSD/export view: for a `required` **or** `fixed` attribute,
|
|
34
|
+
* `fixed ?? default ?? ''`; nothing for optional-only defaults.
|
|
35
|
+
*
|
|
36
|
+
* These are two category-targeted views, not a cumulative scale: `optional` fills
|
|
37
|
+
* available defaults + fixed but never fabricates an empty required attr, and
|
|
38
|
+
* `required` fills required + fixed but not optional defaults.
|
|
39
|
+
*/
|
|
40
|
+
export type AttributeDefaults = 'none' | 'optional' | 'required';
|
|
41
|
+
//# sourceMappingURL=attribute-rules.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attribute-rules.types.d.ts","sourceRoot":"","sources":["../../src/utils/attribute-rules.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAExC;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG;IAC5B,6DAA6D;IAC7D,cAAc,EAAE,OAAO,CAAA;IACvB,yDAAyD;IACzD,SAAS,EAAE,OAAO,CAAA;IAClB,+CAA+C;IAC/C,UAAU,EAAE,OAAO,CAAA;IACnB,2EAA2E;IAC3E,eAAe,EAAE,OAAO,CAAA;IACxB,kEAAkE;IAClE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,oCAAoC;IACpC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,2DAA2D;IAC3D,SAAS,EAAE,SAAS,GAAG,SAAS,CAAA;CAChC,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CAAA"}
|
|
@@ -80,6 +80,14 @@ var e = {
|
|
|
80
80
|
code: "D3006",
|
|
81
81
|
message: "Unknown namespace prefix on attribute — pass it explicitly as { name, namespace: { prefix, uri } }"
|
|
82
82
|
},
|
|
83
|
+
PREFIXED_ATTRIBUTE_NAME: {
|
|
84
|
+
code: "D3007",
|
|
85
|
+
message: "Authored attribute name must be a local name — pass the namespace separately as { name, namespace }, not a prefixed name"
|
|
86
|
+
},
|
|
87
|
+
FIXED_VALUE_VIOLATION: {
|
|
88
|
+
code: "D3008",
|
|
89
|
+
message: "Attribute value differs from the schema-fixed value"
|
|
90
|
+
},
|
|
83
91
|
ALREADY_COMMITTED: {
|
|
84
92
|
code: "D4001",
|
|
85
93
|
message: "Transaction already committed"
|
|
@@ -167,23 +175,49 @@ function r(e) {
|
|
|
167
175
|
};
|
|
168
176
|
}
|
|
169
177
|
function i(e) {
|
|
178
|
+
let { dialecteConfig: t, tagName: n, attributeName: i, defaults: a } = e;
|
|
179
|
+
if (a === "none") return;
|
|
180
|
+
let o = r({
|
|
181
|
+
dialecteConfig: t,
|
|
182
|
+
tagName: n,
|
|
183
|
+
attributeName: i
|
|
184
|
+
});
|
|
185
|
+
if (a === "required") return o.isRequired || o.fixed !== void 0 ? o.fixed ?? o.default ?? "" : void 0;
|
|
186
|
+
if (o.fixed !== void 0) return o.fixed;
|
|
187
|
+
if (o.default) return o.default;
|
|
188
|
+
}
|
|
189
|
+
function a(e) {
|
|
190
|
+
let { dialecteConfig: t, tagName: n, attributeName: i, value: a } = e, o = r({
|
|
191
|
+
dialecteConfig: t,
|
|
192
|
+
tagName: n,
|
|
193
|
+
attributeName: i
|
|
194
|
+
}), s = o.fixed ?? o.default;
|
|
195
|
+
return s !== void 0 && a === s;
|
|
196
|
+
}
|
|
197
|
+
function o(e) {
|
|
170
198
|
let t = e.lastIndexOf(":");
|
|
171
199
|
return t === -1 ? e : e.slice(t + 1);
|
|
172
200
|
}
|
|
173
|
-
function
|
|
201
|
+
function s(e, t) {
|
|
174
202
|
if (t) return Object.values(e.namespaces).find((e) => e.prefix === t);
|
|
175
203
|
}
|
|
176
|
-
function
|
|
204
|
+
function c(e, t) {
|
|
205
|
+
return e.namespaces[t] ?? s(e, t);
|
|
206
|
+
}
|
|
207
|
+
function l(e, t) {
|
|
208
|
+
return e.namespaces[t]?.prefix ?? t;
|
|
209
|
+
}
|
|
210
|
+
function u(e, t) {
|
|
177
211
|
let n = e.namespace?.uri ?? "", r = t.namespace?.uri ?? "";
|
|
178
212
|
return n === r ? e.name === t.name ? 0 : e.name < t.name ? -1 : 1 : n < r ? -1 : 1;
|
|
179
213
|
}
|
|
180
|
-
function
|
|
181
|
-
let n = t.flatMap((t) => e.filter((e) => e.name === t)), r = e.filter((e) => !t.includes(e.name)).sort(
|
|
214
|
+
function d(e, t) {
|
|
215
|
+
let n = t.flatMap((t) => e.filter((e) => e.name === t)), r = e.filter((e) => !t.includes(e.name)).sort(u);
|
|
182
216
|
return [...n, ...r];
|
|
183
217
|
}
|
|
184
218
|
//#endregion
|
|
185
219
|
//#region src/utils/invariant.ts
|
|
186
|
-
function
|
|
220
|
+
function f(e, n) {
|
|
187
221
|
if (e) return;
|
|
188
222
|
let { detail: r, key: i = "ASSERTION_FAILED", ref: a } = n;
|
|
189
223
|
t(i, {
|
|
@@ -193,7 +227,7 @@ function c(e, n) {
|
|
|
193
227
|
}
|
|
194
228
|
//#endregion
|
|
195
229
|
//#region src/utils/order-children.ts
|
|
196
|
-
function
|
|
230
|
+
function p(e) {
|
|
197
231
|
let { parentTagName: t, children: n, childrenConfig: r } = e, i = r[t];
|
|
198
232
|
if (!i || i.length === 0) return n;
|
|
199
233
|
let a = new Set(i), o = /* @__PURE__ */ new Map();
|
|
@@ -212,7 +246,7 @@ function l(e) {
|
|
|
212
246
|
}
|
|
213
247
|
//#endregion
|
|
214
248
|
//#region src/utils/save-to-disk.ts
|
|
215
|
-
async function
|
|
249
|
+
async function m(e) {
|
|
216
250
|
let { data: t, filename: n, pickerType: r } = e;
|
|
217
251
|
if ("showSaveFilePicker" in window) try {
|
|
218
252
|
let e = await (await window.showSaveFilePicker({
|
|
@@ -230,4 +264,4 @@ async function u(e) {
|
|
|
230
264
|
a.href = i, a.download = n, document.body.appendChild(a), a.click(), a.remove(), URL.revokeObjectURL(i);
|
|
231
265
|
}
|
|
232
266
|
//#endregion
|
|
233
|
-
export {
|
|
267
|
+
export { o as a, d as c, l as d, i as f, u as i, s as l, e as m, p as n, r as o, t as p, f as r, a as s, m as t, c as u };
|
package/dist/utils.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as e, c as t,
|
|
2
|
-
export {
|
|
1
|
+
import { a as e, c as t, d as n, f as r, i, l as a, n as o, o as s, r as c, s as l, t as u, u as d } from "./utils-C5_11hqg.js";
|
|
2
|
+
export { i as compareQualifiedAttributes, e as extractLocalName, s as getAttributeRules, c as invariant, l as isSchemaDefaultValue, t as orderAttributesBySequence, o as orderByConfigSequence, a as resolveNamespaceByPrefix, d as resolveNamespaceByScope, n as resolvePrefixByNamespaceScope, r as resolveSchemaAttributeValue, u as saveToDisk };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-xml-document.d.ts","sourceRoot":"","sources":["../../../src/xml/build/build-xml-document.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build-xml-document.d.ts","sourceRoot":"","sources":["../../../src/xml/build/build-xml-document.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AAWxE;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,WAAW,CAyE5E"}
|