@dialecte/core 0.1.4 → 0.1.5
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/query/find/ancestor/find-ancestor.d.ts +17 -0
- package/dist/document/query/find/ancestor/find-ancestor.d.ts.map +1 -0
- package/dist/document/query/find/ancestor/find-ancestor.types.d.ts +6 -0
- package/dist/document/query/find/ancestor/find-ancestor.types.d.ts.map +1 -0
- package/dist/document/query/find/ancestor/index.d.ts +3 -0
- package/dist/document/query/find/ancestor/index.d.ts.map +1 -0
- package/dist/document/query/find/index.d.ts +1 -0
- package/dist/document/query/find/index.d.ts.map +1 -1
- package/dist/document/query/get/record/get-child.d.ts +13 -0
- package/dist/document/query/get/record/get-child.d.ts.map +1 -0
- package/dist/document/query/get/record/get-children.d.ts +13 -0
- package/dist/document/query/get/record/get-children.d.ts.map +1 -0
- package/dist/document/query/get/record/get-record.d.ts +2 -2
- package/dist/document/query/get/record/get-record.d.ts.map +1 -1
- package/dist/document/query/get/record/get-records.d.ts +2 -2
- package/dist/document/query/get/record/get-records.d.ts.map +1 -1
- package/dist/document/query/get/record/index.d.ts +2 -0
- package/dist/document/query/get/record/index.d.ts.map +1 -1
- package/dist/document/query/index.d.ts +1 -1
- package/dist/document/query/index.d.ts.map +1 -1
- package/dist/document/query/main.d.ts +56 -16
- package/dist/document/query/main.d.ts.map +1 -1
- package/dist/document/transaction/ensure/ensure.d.ts +24 -0
- package/dist/document/transaction/ensure/ensure.d.ts.map +1 -0
- package/dist/document/transaction/ensure/index.d.ts +2 -0
- package/dist/document/transaction/ensure/index.d.ts.map +1 -0
- package/dist/document/transaction/index.d.ts +1 -1
- package/dist/document/transaction/index.d.ts.map +1 -1
- package/dist/document/transaction/main.d.ts +32 -10
- package/dist/document/transaction/main.d.ts.map +1 -1
- package/dist/helpers/guard.d.ts +20 -1
- package/dist/helpers/guard.d.ts.map +1 -1
- package/dist/helpers.js +18 -16
- package/dist/{index-YegaL-lT.js → index-Cl4q6wr5.js} +2224 -2096
- package/dist/index.js +27 -24
- package/dist/{standardizing-CeZD5ywI.js → standardizing-27Zk5ECm.js} +38 -30
- package/dist/test.js +2 -2
- package/package.json +1 -1
- package/dist/document/query/query.d.ts +0 -182
- package/dist/document/query/query.d.ts.map +0 -1
- package/dist/document/transaction/transaction.d.ts +0 -109
- package/dist/document/transaction/transaction.d.ts.map +0 -1
- package/dist/script/generate-test-fixtures.d.ts +0 -16
- package/dist/script/generate-test-fixtures.d.ts.map +0 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FindAncestorsOptions } from './find-ancestor.types';
|
|
2
|
+
import { Context } from '../../..';
|
|
3
|
+
import { AnyDialecteConfig, ElementsOf, TrackedRecord, Ref } from '../../../../types';
|
|
4
|
+
/**
|
|
5
|
+
* Walk the parent chain from a record upward.
|
|
6
|
+
*
|
|
7
|
+
* Returns ancestors bottom-up: [parent, grandparent, …, root].
|
|
8
|
+
* The starting record is NOT included.
|
|
9
|
+
* When `stopAtTagName` is set, the walk stops after collecting that element (inclusive).
|
|
10
|
+
* When `depth` is set, at most that many ancestors are returned.
|
|
11
|
+
*/
|
|
12
|
+
export declare function findAncestors<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>>(params: {
|
|
13
|
+
context: Context<GenericConfig>;
|
|
14
|
+
ref: Ref<GenericConfig, GenericElement>;
|
|
15
|
+
options?: FindAncestorsOptions<GenericConfig>;
|
|
16
|
+
}): Promise<TrackedRecord<GenericConfig, ElementsOf<GenericConfig>>[]>;
|
|
17
|
+
//# sourceMappingURL=find-ancestor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-ancestor.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/find/ancestor/find-ancestor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAChF;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAClC,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC/C,MAAM,EAAE;IACT,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IACvC,OAAO,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAA;CAC7C,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAwBrE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-ancestor.types.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/find/ancestor/find-ancestor.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAE5D,MAAM,MAAM,oBAAoB,CAAC,aAAa,SAAS,iBAAiB,IAAI;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,CAAA;CACzC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/find/ancestor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,mBAAmB,uBAAuB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/document/query/find/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/document/query/find/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Context } from '../../..';
|
|
2
|
+
import { AnyDialecteConfig, ChildrenOf, ElementsOf, TrackedRecord, RefOrRecord } from '../../../../types';
|
|
3
|
+
/**
|
|
4
|
+
* Fetch the first direct child of a parent matching a given tag name.
|
|
5
|
+
*
|
|
6
|
+
* Returns `undefined` when the parent does not exist or has no matching child.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getChild<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>, GenericChildElement extends ChildrenOf<GenericConfig, GenericElement>>(params: {
|
|
9
|
+
context: Context<GenericConfig>;
|
|
10
|
+
ref: RefOrRecord<GenericConfig, GenericElement>;
|
|
11
|
+
tagName: GenericChildElement;
|
|
12
|
+
}): Promise<TrackedRecord<GenericConfig, GenericChildElement> | undefined>;
|
|
13
|
+
//# sourceMappingURL=get-child.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-child.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/record/get-child.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEpG;;;;GAIG;AACH,wBAAsB,QAAQ,CAC7B,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAChD,mBAAmB,SAAS,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,EACpE,MAAM,EAAE;IACT,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,GAAG,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IAC/C,OAAO,EAAE,mBAAmB,CAAA;CAC5B,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,mBAAmB,CAAC,GAAG,SAAS,CAAC,CAUzE"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Context } from '../../..';
|
|
2
|
+
import { AnyDialecteConfig, ChildrenOf, ElementsOf, TrackedRecord, RefOrRecord } from '../../../../types';
|
|
3
|
+
/**
|
|
4
|
+
* Fetch all direct children of a parent matching a given tag name.
|
|
5
|
+
*
|
|
6
|
+
* Returns an empty array when the parent does not exist or has no matching children.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getChildren<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>, GenericChildElement extends ChildrenOf<GenericConfig, GenericElement>>(params: {
|
|
9
|
+
context: Context<GenericConfig>;
|
|
10
|
+
ref: RefOrRecord<GenericConfig, GenericElement>;
|
|
11
|
+
tagName: GenericChildElement;
|
|
12
|
+
}): Promise<TrackedRecord<GenericConfig, GenericChildElement>[]>;
|
|
13
|
+
//# sourceMappingURL=get-children.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-children.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/record/get-children.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEpG;;;;GAIG;AACH,wBAAsB,WAAW,CAChC,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAChD,mBAAmB,SAAS,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,EACpE,MAAM,EAAE;IACT,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,GAAG,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IAC/C,OAAO,EAAE,mBAAmB,CAAA;CAC5B,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAe/D"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Context } from '../../..';
|
|
2
|
-
import { AnyDialecteConfig, ElementsOf, TrackedRecord,
|
|
2
|
+
import { AnyDialecteConfig, ElementsOf, TrackedRecord, RefOrRecord } from '../../../../types';
|
|
3
3
|
/**
|
|
4
4
|
* Fetch a single record by ref.
|
|
5
5
|
*
|
|
@@ -11,6 +11,6 @@ import { AnyDialecteConfig, ElementsOf, TrackedRecord, Ref } from '../../../../t
|
|
|
11
11
|
*/
|
|
12
12
|
export declare function getRecord<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>>(params: {
|
|
13
13
|
context: Context<GenericConfig>;
|
|
14
|
-
ref:
|
|
14
|
+
ref: RefOrRecord<GenericConfig, GenericElement>;
|
|
15
15
|
}): Promise<TrackedRecord<GenericConfig, GenericElement> | undefined>;
|
|
16
16
|
//# sourceMappingURL=get-record.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-record.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/record/get-record.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAa,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"get-record.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/record/get-record.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAa,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEnG;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAC9B,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC/C,MAAM,EAAE;IACT,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,GAAG,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;CAC/C,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC,CAgDpE"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Context } from '../../..';
|
|
2
|
-
import { AnyDialecteConfig, ElementsOf, TrackedRecord,
|
|
2
|
+
import { AnyDialecteConfig, ElementsOf, TrackedRecord, RefOrRecord } from '../../../../types';
|
|
3
3
|
/**
|
|
4
4
|
* Batch lookup — resolve multiple refs in parallel.
|
|
5
5
|
* Delegates to getRecord per ref; cache hits avoid redundant store calls.
|
|
6
6
|
*/
|
|
7
7
|
export declare function getRecords<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>>(params: {
|
|
8
8
|
context: Context<GenericConfig>;
|
|
9
|
-
refs:
|
|
9
|
+
refs: RefOrRecord<GenericConfig, GenericElement>[];
|
|
10
10
|
}): Promise<(TrackedRecord<GenericConfig, GenericElement> | undefined)[]>;
|
|
11
11
|
//# sourceMappingURL=get-records.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-records.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/record/get-records.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"get-records.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/record/get-records.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAExF;;;GAGG;AACH,wBAAsB,UAAU,CAC/B,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC/C,MAAM,EAAE;IACT,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,IAAI,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAA;CAClD,GAAG,OAAO,CAAC,CAAC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,CAGxE"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export { getRecord } from './get-record';
|
|
2
2
|
export { getRecords } from './get-records';
|
|
3
3
|
export { getRecordsByTagName } from './get-records-by-tagname';
|
|
4
|
+
export { getChild } from './get-child';
|
|
5
|
+
export { getChildren } from './get-children';
|
|
4
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/record/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/record/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/document/query/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/document/query/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC9B,cAAc,OAAO,CAAA;AACrB,cAAc,QAAQ,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Context } from '../types';
|
|
2
|
-
import { FilterAttributes, DescendantsFilter, FindDescendantsReturn } from './find';
|
|
2
|
+
import { FindAncestorsOptions, FilterAttributes, DescendantsFilter, FindDescendantsReturn } from './find';
|
|
3
3
|
import { GetTreeParams } from './get';
|
|
4
4
|
import { Store } from '../../store';
|
|
5
|
-
import { AnyDialecteConfig, AttributesOf, AttributesValueObjectOf, ElementsOf, FullAttributeObjectOf, TrackedRecord, TreeRecord, Operation, RefOrRecord, RootElementOf } from '../../types';
|
|
5
|
+
import { AnyDialecteConfig, AttributesOf, AttributesValueObjectOf, ElementsOf, ChildrenOf, FullAttributeObjectOf, TrackedRecord, TreeRecord, Operation, RefOrRecord, RootElementOf } from '../../types';
|
|
6
6
|
/**
|
|
7
7
|
* Query — query-only access to a dialecte's store.
|
|
8
8
|
*
|
|
@@ -30,14 +30,14 @@ export declare class Query<GenericConfig extends AnyDialecteConfig> {
|
|
|
30
30
|
/**
|
|
31
31
|
* Get the root element of the document.
|
|
32
32
|
*
|
|
33
|
-
* @returns The root record
|
|
33
|
+
* @returns The root record.
|
|
34
34
|
*
|
|
35
35
|
* @example
|
|
36
36
|
* ```ts
|
|
37
37
|
* const root = await query.getRoot()
|
|
38
38
|
* ```
|
|
39
39
|
*/
|
|
40
|
-
getRoot(): Promise<TrackedRecord<GenericConfig, RootElementOf<GenericConfig
|
|
40
|
+
getRoot(): Promise<TrackedRecord<GenericConfig, RootElementOf<GenericConfig>>>;
|
|
41
41
|
/**
|
|
42
42
|
* Get a single record by ref, record, or relationship.
|
|
43
43
|
*
|
|
@@ -46,7 +46,7 @@ export declare class Query<GenericConfig extends AnyDialecteConfig> {
|
|
|
46
46
|
*
|
|
47
47
|
* @example
|
|
48
48
|
* ```ts
|
|
49
|
-
* const
|
|
49
|
+
* const a = await query.getRecord({ tagName: 'A', id: knownId })
|
|
50
50
|
* ```
|
|
51
51
|
*/
|
|
52
52
|
getRecord<GenericElement extends ElementsOf<GenericConfig>>(refOrRecord: RefOrRecord<GenericConfig, GenericElement> | undefined): Promise<TrackedRecord<GenericConfig, GenericElement> | undefined>;
|
|
@@ -58,10 +58,36 @@ export declare class Query<GenericConfig extends AnyDialecteConfig> {
|
|
|
58
58
|
*
|
|
59
59
|
* @example
|
|
60
60
|
* ```ts
|
|
61
|
-
* const [
|
|
61
|
+
* const [a1, a2] = await query.getRecords([ref1, ref2])
|
|
62
62
|
* ```
|
|
63
63
|
*/
|
|
64
64
|
getRecords<GenericElement extends ElementsOf<GenericConfig>>(refsOrRecords: (RefOrRecord<GenericConfig, GenericElement> | undefined)[]): Promise<(TrackedRecord<GenericConfig, GenericElement> | undefined)[]>;
|
|
65
|
+
/**
|
|
66
|
+
* Get the first direct child of an element matching a given tag name.
|
|
67
|
+
*
|
|
68
|
+
* @param refOrRecord - The parent element.
|
|
69
|
+
* @param tagName - The child element type to look for.
|
|
70
|
+
* @returns The first matching child record, or `undefined` if none.
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```ts
|
|
74
|
+
* const aa1 = await query.getChild(a, 'AA_1')
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
getChild<GenericElement extends ElementsOf<GenericConfig>, GenericChildElement extends ChildrenOf<GenericConfig, GenericElement>>(refOrRecord: RefOrRecord<GenericConfig, GenericElement> | undefined, tagName: GenericChildElement): Promise<TrackedRecord<GenericConfig, GenericChildElement> | undefined>;
|
|
78
|
+
/**
|
|
79
|
+
* Get all direct children of an element matching a given tag name.
|
|
80
|
+
*
|
|
81
|
+
* @param refOrRecord - The parent element.
|
|
82
|
+
* @param tagName - The child element type to look for.
|
|
83
|
+
* @returns All matching child records.
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```ts
|
|
87
|
+
* const children = await query.getChildren(a, 'AA_1')
|
|
88
|
+
* ```
|
|
89
|
+
*/
|
|
90
|
+
getChildren<GenericElement extends ElementsOf<GenericConfig>, GenericChildElement extends ChildrenOf<GenericConfig, GenericElement>>(refOrRecord: RefOrRecord<GenericConfig, GenericElement> | undefined, tagName: GenericChildElement): Promise<TrackedRecord<GenericConfig, GenericChildElement>[]>;
|
|
65
91
|
/**
|
|
66
92
|
* Get all records of a given tag name.
|
|
67
93
|
*
|
|
@@ -70,7 +96,7 @@ export declare class Query<GenericConfig extends AnyDialecteConfig> {
|
|
|
70
96
|
*
|
|
71
97
|
* @example
|
|
72
98
|
* ```ts
|
|
73
|
-
* const
|
|
99
|
+
* const records = await query.getRecordsByTagName('A')
|
|
74
100
|
* ```
|
|
75
101
|
*/
|
|
76
102
|
getRecordsByTagName<GenericElement extends ElementsOf<GenericConfig>>(tagName: GenericElement): Promise<TrackedRecord<GenericConfig, GenericElement>[]>;
|
|
@@ -83,10 +109,24 @@ export declare class Query<GenericConfig extends AnyDialecteConfig> {
|
|
|
83
109
|
*
|
|
84
110
|
* @example
|
|
85
111
|
* ```ts
|
|
86
|
-
* const {
|
|
112
|
+
* const { AA_1, AA_2 } = await query.findDescendants(a)
|
|
87
113
|
* ```
|
|
88
114
|
*/
|
|
89
115
|
findDescendants<GenericElement extends ElementsOf<GenericConfig>, GenericFilter extends DescendantsFilter<GenericConfig> | undefined = undefined>(refOrRecord: RefOrRecord<GenericConfig, GenericElement> | undefined, filter?: GenericFilter): Promise<FindDescendantsReturn<GenericConfig, GenericElement, GenericFilter>>;
|
|
116
|
+
/**
|
|
117
|
+
* Walk the parent chain from an element upward.
|
|
118
|
+
*
|
|
119
|
+
* @param refOrRecord - The starting element (not included in results).
|
|
120
|
+
* @param options - Optional depth limit or stop-at tag name.
|
|
121
|
+
* @returns Ancestors bottom-up: [parent, grandparent, …, root]. Stop element is included.
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* ```ts
|
|
125
|
+
* const ancestors = await query.findAncestors(aa1)
|
|
126
|
+
* // [A, Root]
|
|
127
|
+
* ```
|
|
128
|
+
*/
|
|
129
|
+
findAncestors<GenericElement extends ElementsOf<GenericConfig>>(refOrRecord: RefOrRecord<GenericConfig, GenericElement> | undefined, options?: FindAncestorsOptions<GenericConfig>): Promise<TrackedRecord<GenericConfig, ElementsOf<GenericConfig>>[]>;
|
|
90
130
|
/**
|
|
91
131
|
* Build a full tree structure from an element down.
|
|
92
132
|
*
|
|
@@ -96,7 +136,7 @@ export declare class Query<GenericConfig extends AnyDialecteConfig> {
|
|
|
96
136
|
*
|
|
97
137
|
* @example
|
|
98
138
|
* ```ts
|
|
99
|
-
* const tree = await query.getTree(
|
|
139
|
+
* const tree = await query.getTree(a)
|
|
100
140
|
* ```
|
|
101
141
|
*/
|
|
102
142
|
getTree<GenericElement extends ElementsOf<GenericConfig>>(refOrRecord: RefOrRecord<GenericConfig, GenericElement> | undefined, options?: GetTreeParams<GenericConfig, GenericElement>): Promise<TreeRecord<GenericConfig, GenericElement> | undefined>;
|
|
@@ -109,7 +149,7 @@ export declare class Query<GenericConfig extends AnyDialecteConfig> {
|
|
|
109
149
|
*
|
|
110
150
|
* @example
|
|
111
151
|
* ```ts
|
|
112
|
-
* const
|
|
152
|
+
* const val = await query.getAttribute(a, { name: 'aA' })
|
|
113
153
|
* ```
|
|
114
154
|
*/
|
|
115
155
|
getAttribute<GenericElement extends ElementsOf<GenericConfig>>(refOrRecord: RefOrRecord<GenericConfig, GenericElement> | undefined, params: {
|
|
@@ -125,7 +165,7 @@ export declare class Query<GenericConfig extends AnyDialecteConfig> {
|
|
|
125
165
|
*
|
|
126
166
|
* @example
|
|
127
167
|
* ```ts
|
|
128
|
-
* const fullAttributeObject = await query.getAttribute(
|
|
168
|
+
* const fullAttributeObject = await query.getAttribute(a, { name: 'aA', fullObject: true })
|
|
129
169
|
* ```
|
|
130
170
|
*/
|
|
131
171
|
getAttribute<GenericElement extends ElementsOf<GenericConfig>>(refOrRecord: RefOrRecord<GenericConfig, GenericElement> | undefined, params: {
|
|
@@ -140,7 +180,7 @@ export declare class Query<GenericConfig extends AnyDialecteConfig> {
|
|
|
140
180
|
*
|
|
141
181
|
* @example
|
|
142
182
|
* ```ts
|
|
143
|
-
* const {
|
|
183
|
+
* const { aA } = await query.getAttributes(a)
|
|
144
184
|
* ```
|
|
145
185
|
*/
|
|
146
186
|
getAttributes<GenericElement extends ElementsOf<GenericConfig>>(refOrRecord: RefOrRecord<GenericConfig, GenericElement> | undefined, params?: {
|
|
@@ -154,7 +194,7 @@ export declare class Query<GenericConfig extends AnyDialecteConfig> {
|
|
|
154
194
|
*
|
|
155
195
|
* @example
|
|
156
196
|
* ```ts
|
|
157
|
-
* const fullAttributeObjects = await query.getAttributes(
|
|
197
|
+
* const fullAttributeObjects = await query.getAttributes(a, { fullObject: true })
|
|
158
198
|
* ```
|
|
159
199
|
*/
|
|
160
200
|
getAttributes<GenericElement extends ElementsOf<GenericConfig>>(refOrRecord: RefOrRecord<GenericConfig, GenericElement> | undefined, params: {
|
|
@@ -168,9 +208,9 @@ export declare class Query<GenericConfig extends AnyDialecteConfig> {
|
|
|
168
208
|
*
|
|
169
209
|
* @example
|
|
170
210
|
* ```ts
|
|
171
|
-
* const
|
|
172
|
-
* tagName: '
|
|
173
|
-
* attributes: {
|
|
211
|
+
* const records = await query.findByAttributes({
|
|
212
|
+
* tagName: 'A',
|
|
213
|
+
* attributes: { aA: 'val' },
|
|
174
214
|
* })
|
|
175
215
|
* ```
|
|
176
216
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/document/query/main.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/document/query/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { AddChildParams } from '../create/create.types';
|
|
2
|
+
import { Context } from '../..';
|
|
3
|
+
import { AnyDialecteConfig, ElementsOf, ChildrenOf, RawRecord, TrackedRecord, Ref } from '../../../types';
|
|
4
|
+
/**
|
|
5
|
+
* Get an existing child record or create it under the given parent.
|
|
6
|
+
*
|
|
7
|
+
* Lookup strategy (in order):
|
|
8
|
+
* 1. Non-empty attributes → findByAttributes, returns first match.
|
|
9
|
+
* 2. No attributes → getRecord (by id if present, by tagName alone for singletons).
|
|
10
|
+
* 3. No match → creates.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* // singleton
|
|
14
|
+
* const a = await stageEnsureChild({ ..., params: { tagName: 'A', attributes: {} } })
|
|
15
|
+
* // by attributes
|
|
16
|
+
* const aa1 = await stageEnsureChild({ ..., params: { tagName: 'AA_1', attributes: { aAA_1: 'foo' } } })
|
|
17
|
+
*/
|
|
18
|
+
export declare function stageEnsureChild<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>, GenericChildElement extends ChildrenOf<GenericConfig, GenericElement>>(params: {
|
|
19
|
+
dialecteConfig: GenericConfig;
|
|
20
|
+
context: Context<GenericConfig>;
|
|
21
|
+
parentRef: Ref<GenericConfig, GenericElement>;
|
|
22
|
+
params: AddChildParams<GenericConfig, GenericElement, GenericChildElement>;
|
|
23
|
+
}): Promise<TrackedRecord<GenericConfig, GenericChildElement> | RawRecord<GenericConfig, GenericChildElement>>;
|
|
24
|
+
//# sourceMappingURL=ensure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ensure.d.ts","sourceRoot":"","sources":["../../../../src/document/transaction/ensure/ensure.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAoB,MAAM,YAAY,CAAA;AAC3D,OAAO,KAAK,EACX,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,SAAS,EACT,aAAa,EACb,GAAG,EACH,MAAM,SAAS,CAAA;AAEhB;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CACrC,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAChD,mBAAmB,SAAS,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,EACpE,MAAM,EAAE;IACT,cAAc,EAAE,aAAa,CAAA;IAC7B,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,SAAS,EAAE,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IAC7C,MAAM,EAAE,cAAc,CAAC,aAAa,EAAE,cAAc,EAAE,mBAAmB,CAAC,CAAA;CAC1E,GAAG,OAAO,CACV,aAAa,CAAC,aAAa,EAAE,mBAAmB,CAAC,GAAG,SAAS,CAAC,aAAa,EAAE,mBAAmB,CAAC,CACjG,CA2BA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/document/transaction/ensure/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/document/transaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/document/transaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -12,7 +12,7 @@ import { AnyDialecteConfig, AnyRawRecord, ChildrenOf, ElementsOf, Operation, Par
|
|
|
12
12
|
* via getOperations() override (the single override point).
|
|
13
13
|
* Adds mutation methods (addChild, update, delete, deepClone).
|
|
14
14
|
*
|
|
15
|
-
* Mutates Document's state directly (
|
|
15
|
+
* Mutates Document's state directly (loading, progress, history).
|
|
16
16
|
* No separate transaction state — the UI sees one unified state.
|
|
17
17
|
*
|
|
18
18
|
* Lifecycle: created by Document → used in callback → committed by Document → discarded.
|
|
@@ -43,13 +43,35 @@ export declare class Transaction<GenericConfig extends AnyDialecteConfig> extend
|
|
|
43
43
|
*
|
|
44
44
|
* @example
|
|
45
45
|
* ```ts
|
|
46
|
-
* const
|
|
47
|
-
* tagName: '
|
|
48
|
-
* attributes: { name: '
|
|
46
|
+
* const aRecord = await tx.addChild(root, {
|
|
47
|
+
* tagName: 'A',
|
|
48
|
+
* attributes: { name: 'aA1' },
|
|
49
49
|
* })
|
|
50
50
|
* ```
|
|
51
51
|
*/
|
|
52
52
|
addChild<GenericElement extends ElementsOf<GenericConfig>, GenericChildElement extends ChildrenOf<GenericConfig, GenericElement>>(parentRefOrRecord: RefOrRecord<GenericConfig, GenericElement> | undefined, params: AddChildParams<GenericConfig, GenericElement, GenericChildElement>): Promise<RawRecord<GenericConfig, GenericChildElement>>;
|
|
53
|
+
/**
|
|
54
|
+
* Get an existing child record or create it under the given parent.
|
|
55
|
+
*
|
|
56
|
+
* Lookup strategy:
|
|
57
|
+
* - Singleton child (id absent in params): resolves by tagName.
|
|
58
|
+
* - Non-singleton child (id present in params): resolves by tagName + id.
|
|
59
|
+
* - Non-singleton child without id: no lookup, always creates.
|
|
60
|
+
*
|
|
61
|
+
* @param parentRefOrRecord - The parent element (ref, record, or relationship). `undefined` for root.
|
|
62
|
+
* @param params - Child tagName, attributes and optional namespace, value, id.
|
|
63
|
+
* @returns Ref to the existing or created child.
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```ts
|
|
67
|
+
* const aRef = await tx.ensureChild(root, {
|
|
68
|
+
* tagName: 'A',
|
|
69
|
+
* attributes: {},
|
|
70
|
+
* })
|
|
71
|
+
* ```
|
|
72
|
+
* If A already exists under root, returns its ref. Otherwise, creates it and returns the new ref.
|
|
73
|
+
*/
|
|
74
|
+
ensureChild<GenericElement extends ElementsOf<GenericConfig>, GenericChildElement extends ChildrenOf<GenericConfig, GenericElement>>(parentRefOrRecord: RefOrRecord<GenericConfig, GenericElement> | undefined, params: AddChildParams<GenericConfig, GenericElement, GenericChildElement>): Promise<RawRecord<GenericConfig, GenericChildElement>>;
|
|
53
75
|
/**
|
|
54
76
|
* Update attributes of an existing element.
|
|
55
77
|
*
|
|
@@ -59,8 +81,8 @@ export declare class Transaction<GenericConfig extends AnyDialecteConfig> extend
|
|
|
59
81
|
*
|
|
60
82
|
* @example
|
|
61
83
|
* ```ts
|
|
62
|
-
* await tx.update(
|
|
63
|
-
* attributes: { name: '
|
|
84
|
+
* await tx.update(root, {
|
|
85
|
+
* attributes: { name: 'aA1', desc: 'new element' },
|
|
64
86
|
* })
|
|
65
87
|
* ```
|
|
66
88
|
*/
|
|
@@ -73,7 +95,7 @@ export declare class Transaction<GenericConfig extends AnyDialecteConfig> extend
|
|
|
73
95
|
*
|
|
74
96
|
* @example
|
|
75
97
|
* ```ts
|
|
76
|
-
* const parentRecord = await tx.delete(
|
|
98
|
+
* const parentRecord = await tx.delete(aRecord)
|
|
77
99
|
* ```
|
|
78
100
|
*/
|
|
79
101
|
delete<GenericElement extends ElementsOf<GenericConfig>>(refOrRecord: RefOrRecord<GenericConfig, GenericElement> | undefined): Promise<RawRecord<GenericConfig, ParentsOf<GenericConfig, GenericElement>>>;
|
|
@@ -82,11 +104,11 @@ export declare class Transaction<GenericConfig extends AnyDialecteConfig> extend
|
|
|
82
104
|
*
|
|
83
105
|
* @param parentRefOrRecord - The target parent for the clone.
|
|
84
106
|
* @param record - The tree record to clone (from `getTree`).
|
|
85
|
-
* @returns The cloned root
|
|
107
|
+
* @returns The cloned root raw record and an ID mapping from old to new.
|
|
86
108
|
*
|
|
87
109
|
* @example
|
|
88
110
|
* ```ts
|
|
89
|
-
* const tree = await tx.getTree(
|
|
111
|
+
* const tree = await tx.getTree(aRecord)
|
|
90
112
|
* const { ref, idMap } = await tx.deepClone(substation, tree)
|
|
91
113
|
* ```
|
|
92
114
|
*/
|
|
@@ -101,7 +123,7 @@ export declare class Transaction<GenericConfig extends AnyDialecteConfig> extend
|
|
|
101
123
|
* Commit all staged operations to the store atomically.
|
|
102
124
|
* Called by Document.transaction() after user callback completes.
|
|
103
125
|
*
|
|
104
|
-
* Updates documentState (
|
|
126
|
+
* Updates documentState (loading, progress, lastCommit).
|
|
105
127
|
* Merges operations by ID to optimize database writes.
|
|
106
128
|
*/
|
|
107
129
|
commit(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/document/transaction/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/document/transaction/main.ts"],"names":[],"mappings":"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"}
|
package/dist/helpers/guard.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RawRecord, TrackedRecord, AnyDialecteConfig, ElementsOf, FullAttributeObjectOf, AttributesValueObjectOf, TreeRecord } from '../types';
|
|
1
|
+
import { RawRecord, TrackedRecord, AnyDialecteConfig, ElementsOf, FullAttributeObjectOf, AttributesValueObjectOf, TreeRecord, AnyRelationship } from '../types';
|
|
2
2
|
/**
|
|
3
3
|
* Type guard to check if attributes are in array format (FullAttributeObject[])
|
|
4
4
|
*/
|
|
@@ -18,4 +18,23 @@ export declare function isTreeRecord<GenericConfig extends AnyDialecteConfig, Ge
|
|
|
18
18
|
export declare function isRecordOf<GenericConfig extends AnyDialecteConfig, GenericTagName extends ElementsOf<GenericConfig>>(record: TreeRecord<GenericConfig, ElementsOf<GenericConfig>>, tagName: GenericTagName): record is TreeRecord<GenericConfig, GenericTagName>;
|
|
19
19
|
export declare function isRecordOf<GenericConfig extends AnyDialecteConfig, GenericTagName extends ElementsOf<GenericConfig>>(record: TrackedRecord<GenericConfig, ElementsOf<GenericConfig>>, tagName: GenericTagName): record is TrackedRecord<GenericConfig, GenericTagName>;
|
|
20
20
|
export declare function isRecordOf<GenericConfig extends AnyDialecteConfig, GenericTagName extends ElementsOf<GenericConfig>>(record: RawRecord<GenericConfig, ElementsOf<GenericConfig>>, tagName: GenericTagName): record is RawRecord<GenericConfig, GenericTagName>;
|
|
21
|
+
/**
|
|
22
|
+
* Type predicate narrowing a relationship to a specific tag name.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* const aa1Refs = recordA.children.filter((child) => isChildOf(child, 'AA_1'))
|
|
26
|
+
* const aa1Elements = await query.getRecords(aa1Refs) // TrackedRecord<Config, 'AA_1'>[]
|
|
27
|
+
*/
|
|
28
|
+
export declare function isChildOf<T extends string>(child: AnyRelationship, tagName: T): child is AnyRelationship & {
|
|
29
|
+
tagName: T;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Type predicate narrowing a parent relationship to a specific tag name.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* if (record.parent && isParentOf(record.parent, 'Root')) { ... }
|
|
36
|
+
*/
|
|
37
|
+
export declare function isParentOf<T extends string>(parent: AnyRelationship, tagName: T): parent is AnyRelationship & {
|
|
38
|
+
tagName: T;
|
|
39
|
+
};
|
|
21
40
|
//# sourceMappingURL=guard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../../src/helpers/guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,qBAAqB,EACrB,uBAAuB,EACvB,UAAU,EAIV,MAAM,SAAS,CAAA;AAkChB;;GAEG;AACH,wBAAgB,oBAAoB,CACnC,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAEhD,UAAU,EACP,uBAAuB,CAAC,aAAa,EAAE,cAAc,CAAC,GACtD,qBAAqB,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,GACvD,UAAU,IAAI,qBAAqB,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAEtE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAC1B,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC/C,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,CAErE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC9B,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAEhD,MAAM,EACH,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,GACxC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,GAC5C,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,GAC1C,MAAM,IAAI,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,CAExD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC3B,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAEhD,MAAM,EACH,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,GACxC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,GAC5C,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,GAC1C,MAAM,IAAI,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,CAErD;AAED,wBAAgB,UAAU,CACzB,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAEhD,MAAM,EAAE,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,EAC5D,OAAO,EAAE,cAAc,GACrB,MAAM,IAAI,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;AACtD,wBAAgB,UAAU,CACzB,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAEhD,MAAM,EAAE,aAAa,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,EAC/D,OAAO,EAAE,cAAc,GACrB,MAAM,IAAI,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;AACzD,wBAAgB,UAAU,CACzB,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAEhD,MAAM,EAAE,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,EAC3D,OAAO,EAAE,cAAc,GACrB,MAAM,IAAI,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../../src/helpers/guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,qBAAqB,EACrB,uBAAuB,EACvB,UAAU,EAIV,eAAe,EACf,MAAM,SAAS,CAAA;AAkChB;;GAEG;AACH,wBAAgB,oBAAoB,CACnC,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAEhD,UAAU,EACP,uBAAuB,CAAC,aAAa,EAAE,cAAc,CAAC,GACtD,qBAAqB,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,GACvD,UAAU,IAAI,qBAAqB,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAEtE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAC1B,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC/C,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,CAErE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC9B,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAEhD,MAAM,EACH,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,GACxC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,GAC5C,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,GAC1C,MAAM,IAAI,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,CAExD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC3B,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAEhD,MAAM,EACH,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,GACxC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,GAC5C,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,GAC1C,MAAM,IAAI,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,CAErD;AAED,wBAAgB,UAAU,CACzB,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAEhD,MAAM,EAAE,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,EAC5D,OAAO,EAAE,cAAc,GACrB,MAAM,IAAI,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;AACtD,wBAAgB,UAAU,CACzB,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAEhD,MAAM,EAAE,aAAa,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,EAC/D,OAAO,EAAE,cAAc,GACrB,MAAM,IAAI,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;AACzD,wBAAgB,UAAU,CACzB,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAEhD,MAAM,EAAE,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,EAC3D,OAAO,EAAE,cAAc,GACrB,MAAM,IAAI,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;AAQrD;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EACzC,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,CAAC,GACR,KAAK,IAAI,eAAe,GAAG;IAAE,OAAO,EAAE,CAAC,CAAA;CAAE,CAE3C;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAC1C,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,CAAC,GACR,MAAM,IAAI,eAAe,GAAG;IAAE,OAAO,EAAE,CAAC,CAAA;CAAE,CAE5C"}
|
package/dist/helpers.js
CHANGED
|
@@ -1,24 +1,26 @@
|
|
|
1
|
-
import { C as
|
|
1
|
+
import { C as n, a as R, D as d, i as T, b as f, c as E, d as A, e as u, f as _, g as C, s as O, t as D, h as l, j as y, k as I, l as b } from "./standardizing-27Zk5ECm.js";
|
|
2
2
|
function o(t) {
|
|
3
|
-
const
|
|
3
|
+
const s = {}, e = {};
|
|
4
4
|
for (const [a, r] of Object.entries(t))
|
|
5
|
-
r.query && (
|
|
6
|
-
return { query:
|
|
5
|
+
r.query && (s[a] = r.query), r.transaction && (e[a] = r.transaction);
|
|
6
|
+
return { query: s, transaction: e };
|
|
7
7
|
}
|
|
8
8
|
export {
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
n as CUSTOM_RECORD_ID_ATTRIBUTE,
|
|
10
|
+
R as CUSTOM_RECORD_ID_ATTRIBUTE_NAME,
|
|
11
11
|
d as DIALECTE_DEV_NAMESPACE,
|
|
12
|
-
T as
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
u as
|
|
12
|
+
T as isChildOf,
|
|
13
|
+
f as isFullAttributeArray,
|
|
14
|
+
E as isParentOf,
|
|
15
|
+
A as isRawRecord,
|
|
16
|
+
u as isRecordOf,
|
|
17
|
+
_ as isTrackedRecord,
|
|
18
|
+
C as isTreeRecord,
|
|
17
19
|
o as mergeExtensions,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
O as standardizeRecord,
|
|
21
|
+
D as toFullAttributeArray,
|
|
22
|
+
l as toRawRecord,
|
|
21
23
|
y as toRef,
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
I as toTrackedRecord,
|
|
25
|
+
b as toTreeRecord
|
|
24
26
|
};
|