@dialecte/core 0.1.16 → 0.1.18
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/descendant/find-descendant.d.ts +5 -12
- package/dist/document/query/find/descendant/find-descendant.d.ts.map +1 -1
- package/dist/document/query/find/descendant/find-descendant.types.d.ts +43 -40
- package/dist/document/query/find/descendant/find-descendant.types.d.ts.map +1 -1
- package/dist/document/query/find/descendant/index.d.ts +1 -1
- package/dist/document/query/find/descendant/index.d.ts.map +1 -1
- package/dist/document/query/get/tree/get-tree.d.ts.map +1 -1
- package/dist/document/query/get/tree/get-tree.types.d.ts +27 -11
- package/dist/document/query/get/tree/get-tree.types.d.ts.map +1 -1
- package/dist/document/query/get/tree/index.d.ts +1 -1
- package/dist/document/query/get/tree/index.d.ts.map +1 -1
- package/dist/document/query/main.d.ts +9 -5
- package/dist/document/query/main.d.ts.map +1 -1
- package/dist/index-jNe2akiL.js +6450 -0
- package/dist/index.js +1 -1
- package/dist/test.js +1 -1
- package/package.json +1 -1
- package/dist/index-D-p_eEPT.js +0 -6379
|
@@ -1,16 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Collect, FindDescendantsParams, FindDescendantsReturn } from './find-descendant.types';
|
|
2
|
+
import { Context } from '../../..';
|
|
2
3
|
import { AnyDialecteConfig, ElementsOf, Ref } from '../../../../types';
|
|
3
|
-
|
|
4
|
-
* Find descendants matching filter with "any depth" semantic.
|
|
5
|
-
*
|
|
6
|
-
* Two modes:
|
|
7
|
-
* 1. No filter → get all descendants from tree
|
|
8
|
-
* 2. With filter → query deepest level, validate ancestors at any depth
|
|
9
|
-
*/
|
|
10
|
-
export declare function findDescendants<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>, GenericFilter extends DescendantsFilter<GenericConfig> | undefined = undefined>(params: {
|
|
4
|
+
export declare function findDescendants<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>, GenericCollect extends Collect<GenericConfig, GenericElement>>(params: {
|
|
11
5
|
context: Context<GenericConfig>;
|
|
12
|
-
dialecteConfig: GenericConfig;
|
|
13
6
|
ref: Ref<GenericConfig, GenericElement>;
|
|
14
|
-
|
|
15
|
-
}): Promise<FindDescendantsReturn<GenericConfig, GenericElement,
|
|
7
|
+
options: FindDescendantsParams<GenericConfig, GenericElement, GenericCollect>;
|
|
8
|
+
}): Promise<FindDescendantsReturn<GenericConfig, GenericElement, GenericCollect>>;
|
|
16
9
|
//# sourceMappingURL=find-descendant.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-descendant.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/find/descendant/find-descendant.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"find-descendant.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/find/descendant/find-descendant.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AACpG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAiB,GAAG,EAAE,MAAM,SAAS,CAAA;AAMhF,wBAAsB,eAAe,CACpC,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAChD,cAAc,SAAS,OAAO,CAAC,aAAa,EAAE,cAAc,CAAC,EAC5D,MAAM,EAAE;IACT,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;IAC/B,GAAG,EAAE,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IACvC,OAAO,EAAE,qBAAqB,CAAC,aAAa,EAAE,cAAc,EAAE,cAAc,CAAC,CAAA;CAC7E,GAAG,OAAO,CAAC,qBAAqB,CAAC,aAAa,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC,CAmChF"}
|
|
@@ -1,47 +1,50 @@
|
|
|
1
1
|
import { FilterAttributes } from '../by-attribute/find-by-attributes.types';
|
|
2
2
|
import { AnyDialecteConfig, DescendantsOf, ElementsOf, TrackedRecord } from '../../../../types';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
* When true, collect this element if present but do not require it on the path.
|
|
11
|
-
* Default: false (required — candidates whose path lacks this element are excluded).
|
|
12
|
-
*/
|
|
13
|
-
isOptional?: boolean;
|
|
14
|
-
descendant?: FilterNode<GenericConfig, K, Depth[D]>;
|
|
3
|
+
/**
|
|
4
|
+
* Single collect entry with optional where filter.
|
|
5
|
+
* { LNode: { where: { lnClass: 'LPHD' } } }
|
|
6
|
+
*/
|
|
7
|
+
export type CollectEntryWithFilter<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>> = {
|
|
8
|
+
[K in DescendantsOf<GenericConfig, GenericElement>]?: {
|
|
9
|
+
where?: FilterAttributes<GenericConfig, K>;
|
|
15
10
|
};
|
|
16
|
-
}[DescendantsOf<GenericConfig, GenericElement>];
|
|
17
|
-
export type DescendantsFilter<GenericConfig extends AnyDialecteConfig> = {
|
|
18
|
-
[K in ElementsOf<GenericConfig>]: {
|
|
19
|
-
tagName: K;
|
|
20
|
-
/** Match only if this element has these attributes. */
|
|
21
|
-
attributes?: FilterAttributes<GenericConfig, K>;
|
|
22
|
-
/**
|
|
23
|
-
* When true, collect this element if present but do not require it on the path.
|
|
24
|
-
* Default: false (required — candidates whose path lacks this element are excluded).
|
|
25
|
-
*/
|
|
26
|
-
isOptional?: boolean;
|
|
27
|
-
descendant?: FilterNode<GenericConfig, K, 8>;
|
|
28
|
-
};
|
|
29
|
-
}[ElementsOf<GenericConfig>];
|
|
30
|
-
export type FilterCondition<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>> = {
|
|
31
|
-
tagName: GenericElement;
|
|
32
|
-
attributes?: FilterAttributes<GenericConfig, GenericElement>;
|
|
33
|
-
optional: boolean;
|
|
34
11
|
};
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Path-aware collect using nested object shape (descendant-of semantic at each level).
|
|
14
|
+
* { Function: { LNode: true } } means "LNode anywhere under Function anywhere under ref"
|
|
15
|
+
*/
|
|
16
|
+
export type CollectPath<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>> = {
|
|
17
|
+
[K in DescendantsOf<GenericConfig, GenericElement>]?: true | {
|
|
18
|
+
where?: FilterAttributes<GenericConfig, K>;
|
|
19
|
+
} | CollectPath<GenericConfig, K & ElementsOf<GenericConfig>>;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Array collect entry: either a plain tagName or an object with where filter.
|
|
23
|
+
*/
|
|
24
|
+
export type CollectArrayEntry<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>> = DescendantsOf<GenericConfig, GenericElement> | CollectEntryWithFilter<GenericConfig, GenericElement>;
|
|
25
|
+
/**
|
|
26
|
+
* The collect parameter discriminated union:
|
|
27
|
+
* - string: single tagName
|
|
28
|
+
* - array: multiple tagNames or objects with where
|
|
29
|
+
* - object: path-aware collect
|
|
30
|
+
*/
|
|
31
|
+
export type Collect<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>> = DescendantsOf<GenericConfig, GenericElement> | CollectArrayEntry<GenericConfig, GenericElement>[] | CollectPath<GenericConfig, GenericElement>;
|
|
32
|
+
export type FindDescendantsParams<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>, GenericCollect extends Collect<GenericConfig, GenericElement>> = {
|
|
33
|
+
collect: GenericCollect;
|
|
34
|
+
omit?: ElementsOf<GenericConfig>[];
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Extract all tagNames from a collect spec for the return type.
|
|
38
|
+
*/
|
|
39
|
+
export type ExtractCollectTags<C> = C extends string ? C : C extends Array<infer Item> ? Item extends string ? Item : Item extends Record<string, unknown> ? keyof Item & string : never : C extends Record<string, unknown> ? ExtractPathTags<C> : never;
|
|
40
|
+
/**
|
|
41
|
+
* Recursively extract all keys from a nested path object.
|
|
42
|
+
*/
|
|
43
|
+
type ExtractPathTags<T> = T extends Record<string, unknown> ? {
|
|
44
|
+
[K in keyof T & string]: K | (T[K] extends Record<string, unknown> ? ExtractPathTags<T[K]> : never);
|
|
45
|
+
}[keyof T & string] : never;
|
|
46
|
+
export type FindDescendantsReturn<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>, GenericCollect extends Collect<GenericConfig, GenericElement>> = {
|
|
47
|
+
[K in ExtractCollectTags<GenericCollect> & ElementsOf<GenericConfig>]: TrackedRecord<GenericConfig, K>[];
|
|
42
48
|
};
|
|
43
|
-
export type FindDescendantsReturn<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>, GenericFilter extends DescendantsFilter<GenericConfig> | undefined> = GenericFilter extends undefined ? {
|
|
44
|
-
[K in GenericElement | DescendantsOf<GenericConfig, GenericElement>]: TrackedRecord<GenericConfig, K>[];
|
|
45
|
-
} : GenericFilter extends DescendantsFilter<GenericConfig> ? ResultMap<GenericConfig, ExtractTags<GenericFilter>> : never;
|
|
46
49
|
export {};
|
|
47
50
|
//# sourceMappingURL=find-descendant.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-descendant.types.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/find/descendant/find-descendant.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6DAA6D,CAAA;AACnG,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAM1F,
|
|
1
|
+
{"version":3,"file":"find-descendant.types.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/find/descendant/find-descendant.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { findDescendants } from './find-descendant';
|
|
2
|
-
export type {
|
|
2
|
+
export type { Collect, CollectArrayEntry, CollectEntryWithFilter, CollectPath, FindDescendantsParams, FindDescendantsReturn, ExtractCollectTags, } from './find-descendant.types';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/find/descendant/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,YAAY,EACX,iBAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/find/descendant/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,YAAY,EACX,OAAO,EACP,iBAAiB,EACjB,sBAAsB,EACtB,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,GAClB,MAAM,yBAAyB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-tree.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/tree/get-tree.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"get-tree.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/tree/get-tree.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAyB,MAAM,kBAAkB,CAAA;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAiB,UAAU,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAI5F,wBAAsB,OAAO,CAC5B,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,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;CACtD,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC,CA2BjE"}
|
|
@@ -1,18 +1,34 @@
|
|
|
1
1
|
import { FilterAttributes } from '../../..';
|
|
2
2
|
import { AnyDialecteConfig, ChildrenOf, ElementsOf } from '../../../../types';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
type SelectConfigKeys = 'where' | 'recursive';
|
|
4
|
+
/**
|
|
5
|
+
* Prisma-style tree projection. Keys = element names (PascalCase), values control traversal.
|
|
6
|
+
* - `true` - include element and all its descendants
|
|
7
|
+
* - `false` - exclude element (scoped to this level)
|
|
8
|
+
* - `TreeSelect<...>` - nested projection with further narrowing
|
|
9
|
+
*
|
|
10
|
+
* Config options (camelCase):
|
|
11
|
+
* - `where` - attribute filter for elements at this level
|
|
12
|
+
* - `recursive` - re-apply this select block on self-referencing children (true = infinite, number = max depth)
|
|
13
|
+
*/
|
|
14
|
+
export type TreeSelect<GenericConfig extends AnyDialecteConfig, GenericParent extends ElementsOf<GenericConfig>> = {
|
|
15
|
+
[Child in ChildrenOf<GenericConfig, GenericParent> as Exclude<Child, SelectConfigKeys>]?: true | false | TreeSelect<GenericConfig, Child & ElementsOf<GenericConfig>>;
|
|
16
|
+
} & {
|
|
17
|
+
where?: FilterAttributes<GenericConfig, GenericParent>;
|
|
18
|
+
recursive?: true | number;
|
|
7
19
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
} : never : never;
|
|
13
|
-
export type ExcludeFilter<GenericConfig extends AnyDialecteConfig> = {
|
|
20
|
+
/**
|
|
21
|
+
* Omit entry: plain tagName string (exclude all) or object with attribute filter.
|
|
22
|
+
*/
|
|
23
|
+
export type OmitEntry<GenericConfig extends AnyDialecteConfig> = ElementsOf<GenericConfig> | {
|
|
14
24
|
tagName: ElementsOf<GenericConfig>;
|
|
15
|
-
|
|
25
|
+
where?: FilterAttributes<GenericConfig, ElementsOf<GenericConfig>>;
|
|
16
26
|
scope?: 'self' | 'children';
|
|
17
27
|
};
|
|
28
|
+
export type GetTreeParams<GenericConfig extends AnyDialecteConfig, GenericElement extends ElementsOf<GenericConfig>> = {
|
|
29
|
+
select?: TreeSelect<GenericConfig, GenericElement>;
|
|
30
|
+
omit?: OmitEntry<GenericConfig>[];
|
|
31
|
+
unwrap?: ElementsOf<GenericConfig>[];
|
|
32
|
+
};
|
|
33
|
+
export {};
|
|
18
34
|
//# sourceMappingURL=get-tree.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-tree.types.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/tree/get-tree.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"get-tree.types.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/tree/get-tree.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGxE,KAAK,gBAAgB,GAAG,OAAO,GAAG,WAAW,CAAA;AAE7C;;;;;;;;;GASG;AACH,MAAM,MAAM,UAAU,CACrB,aAAa,SAAS,iBAAiB,EACvC,aAAa,SAAS,UAAU,CAAC,aAAa,CAAC,IAC5C;KACF,KAAK,IAAI,UAAU,CAAC,aAAa,EAAE,aAAa,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,EACrF,IAAI,GACJ,KAAK,GACL,UAAU,CAAC,aAAa,EAAE,KAAK,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;CAC/D,GAAG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAA;IACtD,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;CACzB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,aAAa,SAAS,iBAAiB,IAC1D,UAAU,CAAC,aAAa,CAAC,GACzB;IACA,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,CAAA;IAClC,KAAK,CAAC,EAAE,gBAAgB,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,CAAA;IAClE,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAAA;CAC1B,CAAA;AAEJ,MAAM,MAAM,aAAa,CACxB,aAAa,SAAS,iBAAiB,EACvC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,IAC7C;IACH,MAAM,CAAC,EAAE,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;IAClD,IAAI,CAAC,EAAE,SAAS,CAAC,aAAa,CAAC,EAAE,CAAA;IACjC,MAAM,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,EAAE,CAAA;CACpC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/tree/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,YAAY,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/document/query/get/tree/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Context } from '../types';
|
|
2
|
-
import { FindAncestorsOptions, FilterAttributes,
|
|
2
|
+
import { FindAncestorsOptions, FilterAttributes, Collect, FindDescendantsParams, FindDescendantsReturn } from './find';
|
|
3
3
|
import { GetTreeParams } from './get';
|
|
4
4
|
import { Store } from '../../store';
|
|
5
|
-
import { AnyAttribute, AnyDialecteConfig, AnyTrackedRecord, AnyRefOrRecord, AttributesOf, AttributesValueObjectOf, ElementsOf, ChildrenOf, FullAttributeObjectOf, TrackedRecord, TreeRecord, Operation, RefOrRecord, RootElementOf } from '../../types';
|
|
5
|
+
import { AnyAttribute, AnyDialecteConfig, AnyTrackedRecord, AnyRefOrRecord, AttributesOf, AttributesValueObjectOf, DescendantsOf, 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
|
*
|
|
@@ -114,15 +114,19 @@ export declare class Query<GenericConfig extends AnyDialecteConfig> {
|
|
|
114
114
|
* Find all descendants of an element, grouped by tag name.
|
|
115
115
|
*
|
|
116
116
|
* @param refOrRecord - The ancestor element.
|
|
117
|
-
* @param
|
|
117
|
+
* @param options - Collect spec and optional omit list. When omitted, collects all descendant tag names.
|
|
118
118
|
* @returns Object keyed by tag name, each value an array of tracked records.
|
|
119
119
|
*
|
|
120
120
|
* @example
|
|
121
121
|
* ```ts
|
|
122
|
-
*
|
|
122
|
+
* // All descendants
|
|
123
|
+
* const all = await query.findDescendants(a)
|
|
124
|
+
* // Specific collect
|
|
125
|
+
* const { AA_1 } = await query.findDescendants(a, { collect: 'AA_1' })
|
|
123
126
|
* ```
|
|
124
127
|
*/
|
|
125
|
-
findDescendants<GenericElement extends ElementsOf<GenericConfig
|
|
128
|
+
findDescendants<GenericElement extends ElementsOf<GenericConfig>>(refOrRecord: RefOrRecord<GenericConfig, GenericElement> | undefined): Promise<Partial<Record<DescendantsOf<GenericConfig, GenericElement>, TrackedRecord<GenericConfig, DescendantsOf<GenericConfig, GenericElement>>[]>>>;
|
|
129
|
+
findDescendants<GenericElement extends ElementsOf<GenericConfig>, GenericCollect extends Collect<GenericConfig, GenericElement>>(refOrRecord: RefOrRecord<GenericConfig, GenericElement> | undefined, options: FindDescendantsParams<GenericConfig, GenericElement, GenericCollect>): Promise<FindDescendantsReturn<GenericConfig, GenericElement, GenericCollect>>;
|
|
126
130
|
/**
|
|
127
131
|
* Walk the parent chain from an element upward.
|
|
128
132
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/document/query/main.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,KAAK,EACX,oBAAoB,EACpB,gBAAgB,EAChB,
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../src/document/query/main.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,KAAK,EACX,oBAAoB,EACpB,gBAAgB,EAChB,OAAO,EACP,qBAAqB,EACrB,qBAAqB,EACrB,MAAM,QAAQ,CAAA;AACf,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,KAAK,EACX,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,uBAAuB,EACvB,aAAa,EACb,UAAU,EACV,UAAU,EACV,qBAAqB,EACrB,aAAa,EACb,UAAU,EACV,SAAS,EAET,WAAW,EACX,aAAa,EACb,MAAM,SAAS,CAAA;AAEhB;;;;;;;;GAQG;AACH,qBAAa,KAAK,CAAC,aAAa,SAAS,iBAAiB;IACzD,SAAS,CAAC,KAAK,EAAE,KAAK,CAAA;IACtB,SAAS,CAAC,cAAc,EAAE,aAAa,CAAA;gBAE3B,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa;IAOvD;;;OAGG;IACH,SAAS,CAAC,aAAa,IAAI,SAAS,CAAC,aAAa,CAAC,EAAE;IAIrD;;;;OAIG;IACH,SAAS,KAAK,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,CAM9C;IAID;;;;;;;;OAQG;IACH,WAAW,IAAI,MAAM;IAMrB;;;;;;;;;OASG;IACG,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;IAgBpF;;;;;;;;;;OAUG;IACG,SAAS,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC/D,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,GACjE,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC;IAIpE;;;;;;;;;;OAUG;IACG,UAAU,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAChE,aAAa,EAAE,CAAC,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC,EAAE,GACvE,OAAO,CAAC,CAAC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC;IAKxE;;;;;;;;;;;OAWG;IACG,QAAQ,CACb,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAChD,mBAAmB,SAAS,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,EAErE,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,EACnE,OAAO,EAAE,mBAAmB,GAC1B,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,mBAAmB,CAAC,GAAG,SAAS,CAAC;IAKzE;;;;;;;;;;;OAWG;IACG,WAAW,CAChB,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAChD,mBAAmB,SAAS,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,EAErE,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,EACnE,OAAO,EAAE,mBAAmB,GAC1B,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,mBAAmB,CAAC,EAAE,CAAC;IAK/D;;;;;;;;;;OAUG;IACG,mBAAmB,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EACzE,OAAO,EAAE,cAAc,GACrB,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC;IAI1D;;;;;;;;;;;;;;OAcG;IACG,eAAe,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EACrE,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,GACjE,OAAO,CACT,OAAO,CACN,MAAM,CACL,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,EAC5C,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,EAAE,CAC5E,CACD,CACD;IACK,eAAe,CACpB,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAChD,cAAc,SAAS,OAAO,CAAC,aAAa,EAAE,cAAc,CAAC,EAE7D,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,EACnE,OAAO,EAAE,qBAAqB,CAAC,aAAa,EAAE,cAAc,EAAE,cAAc,CAAC,GAC3E,OAAO,CAAC,qBAAqB,CAAC,aAAa,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IA6BhF;;;;;;;;;;;;OAYG;IACG,aAAa,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EACnE,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,EACnE,OAAO,CAAC,EAAE,oBAAoB,CAAC,aAAa,CAAC,GAC3C,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;IAKrE;;;;;;;;;;;OAWG;IACG,OAAO,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAC7D,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,EACnE,OAAO,CAAC,EAAE,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,GACpD,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC;IAMjE;;;;;;;;;;;OAWG;IACG,YAAY,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAClE,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,EACnE,MAAM,EAAE;QAAE,IAAI,EAAE,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAAC,UAAU,CAAC,EAAE,KAAK,CAAA;KAAE,GAC/E,OAAO,CAAC,qBAAqB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IACxE,YAAY,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAClE,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,EACnE,MAAM,EAAE;QAAE,IAAI,EAAE,YAAY,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAAC,UAAU,EAAE,IAAI,CAAA;KAAE,GAC7E,OAAO,CAAC,qBAAqB,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC;IAkB5E;;;;;;;;;;OAUG;IACG,aAAa,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EACnE,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,EACnE,MAAM,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,KAAK,CAAA;KAAE,GAC7B,OAAO,CAAC,uBAAuB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IAClE;;;;;;;;;;OAUG;IACG,aAAa,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EACnE,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,SAAS,EACnE,MAAM,EAAE;QAAE,UAAU,EAAE,IAAI,CAAA;KAAE,GAC1B,OAAO,CAAC,qBAAqB,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC;IAiBlE;;;;OAIG;IACG,eAAe,CACpB,WAAW,EAAE,cAAc,GAAG,SAAS,EACvC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,KAAK,CAAA;KAAE,GAC1C,OAAO,CAAC,MAAM,CAAC;IACZ,eAAe,CACpB,WAAW,EAAE,cAAc,GAAG,SAAS,EACvC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,IAAI,CAAA;KAAE,GACxC,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAWpC;;;OAGG;IACG,gBAAgB,CACrB,WAAW,EAAE,cAAc,GAAG,SAAS,EACvC,MAAM,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,KAAK,CAAA;KAAE,GAC7B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,gBAAgB,CACrB,WAAW,EAAE,cAAc,GAAG,SAAS,EACvC,MAAM,EAAE;QAAE,UAAU,EAAE,IAAI,CAAA;KAAE,GAC1B,OAAO,CAAC,YAAY,EAAE,CAAC;IAW1B;;;OAGG;IACG,WAAW,CAChB,WAAW,EAAE,cAAc,GAAG,SAAS,EACvC,OAAO,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;IAOvD;;;OAGG;IACG,cAAc,CACnB,WAAW,EAAE,cAAc,GAAG,SAAS,EACvC,OAAO,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,CAAC;IAS7C;;;;;;;;;;;;;OAaG;IACG,gBAAgB,CAAC,cAAc,SAAS,UAAU,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE;QAChF,OAAO,EAAE,cAAc,CAAA;QACvB,UAAU,EAAE,gBAAgB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAA;KAC3D,GAAG,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC;CAG3D"}
|