@es-joy/jsoe 0.28.2 → 0.29.0
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/CHANGES.md +19 -0
- package/README.md +2 -0
- package/dist/formatAndTypeChoices.d.ts +6 -6
- package/dist/formatAndTypeChoices.d.ts.map +1 -1
- package/dist/formats/schema.d.ts +5 -0
- package/dist/formats/schema.d.ts.map +1 -1
- package/dist/formats.d.ts +2 -2
- package/dist/formats.d.ts.map +1 -1
- package/dist/fundamentalTypes/dateType.d.ts +21 -2
- package/dist/fundamentalTypes/dateType.d.ts.map +1 -1
- package/dist/fundamentalTypes/domexceptionType.d.ts +7 -0
- package/dist/fundamentalTypes/domexceptionType.d.ts.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/jtltExtensions.d.ts +112 -0
- package/dist/jtltExtensions.d.ts.map +1 -0
- package/dist/search/fundamentalTypes/arraySearchType.d.ts +15 -0
- package/dist/search/fundamentalTypes/arraySearchType.d.ts.map +1 -0
- package/dist/search/fundamentalTypes/bigintSearchType.d.ts +10 -0
- package/dist/search/fundamentalTypes/bigintSearchType.d.ts.map +1 -0
- package/dist/search/fundamentalTypes/blobSearchType.d.ts +19 -0
- package/dist/search/fundamentalTypes/blobSearchType.d.ts.map +1 -0
- package/dist/search/fundamentalTypes/booleanSearchType.d.ts +11 -0
- package/dist/search/fundamentalTypes/booleanSearchType.d.ts.map +1 -0
- package/dist/search/fundamentalTypes/catchSearchType.d.ts +18 -0
- package/dist/search/fundamentalTypes/catchSearchType.d.ts.map +1 -0
- package/dist/search/fundamentalTypes/dateSearchType.d.ts +10 -0
- package/dist/search/fundamentalTypes/dateSearchType.d.ts.map +1 -0
- package/dist/search/fundamentalTypes/domexceptionSearchType.d.ts +16 -0
- package/dist/search/fundamentalTypes/domexceptionSearchType.d.ts.map +1 -0
- package/dist/search/fundamentalTypes/enumSearchType.d.ts +22 -0
- package/dist/search/fundamentalTypes/enumSearchType.d.ts.map +1 -0
- package/dist/search/fundamentalTypes/errorSearchType.d.ts +9 -0
- package/dist/search/fundamentalTypes/errorSearchType.d.ts.map +1 -0
- package/dist/search/fundamentalTypes/fileSearchType.d.ts +19 -0
- package/dist/search/fundamentalTypes/fileSearchType.d.ts.map +1 -0
- package/dist/search/fundamentalTypes/filelistSearchType.d.ts +32 -0
- package/dist/search/fundamentalTypes/filelistSearchType.d.ts.map +1 -0
- package/dist/search/fundamentalTypes/functionSearchType.d.ts +18 -0
- package/dist/search/fundamentalTypes/functionSearchType.d.ts.map +1 -0
- package/dist/search/fundamentalTypes/mapSearchType.d.ts +18 -0
- package/dist/search/fundamentalTypes/mapSearchType.d.ts.map +1 -0
- package/dist/search/fundamentalTypes/nanSearchType.d.ts +7 -0
- package/dist/search/fundamentalTypes/nanSearchType.d.ts.map +1 -0
- package/dist/search/fundamentalTypes/nullSearchType.d.ts +7 -0
- package/dist/search/fundamentalTypes/nullSearchType.d.ts.map +1 -0
- package/dist/search/fundamentalTypes/numberSearchType.d.ts +11 -0
- package/dist/search/fundamentalTypes/numberSearchType.d.ts.map +1 -0
- package/dist/search/fundamentalTypes/objectSearchType.d.ts +15 -0
- package/dist/search/fundamentalTypes/objectSearchType.d.ts.map +1 -0
- package/dist/search/fundamentalTypes/promiseSearchType.d.ts +20 -0
- package/dist/search/fundamentalTypes/promiseSearchType.d.ts.map +1 -0
- package/dist/search/fundamentalTypes/regexpSearchType.d.ts +14 -0
- package/dist/search/fundamentalTypes/regexpSearchType.d.ts.map +1 -0
- package/dist/search/fundamentalTypes/setSearchType.d.ts +14 -0
- package/dist/search/fundamentalTypes/setSearchType.d.ts.map +1 -0
- package/dist/search/fundamentalTypes/stringSearchType.d.ts +13 -0
- package/dist/search/fundamentalTypes/stringSearchType.d.ts.map +1 -0
- package/dist/search/fundamentalTypes/symbolSearchType.d.ts +16 -0
- package/dist/search/fundamentalTypes/symbolSearchType.d.ts.map +1 -0
- package/dist/search/fundamentalTypes/undefinedSearchType.d.ts +7 -0
- package/dist/search/fundamentalTypes/undefinedSearchType.d.ts.map +1 -0
- package/dist/search/index.d.ts +60 -0
- package/dist/search/index.d.ts.map +1 -0
- package/dist/search/queryTree.d.ts.map +1 -1
- package/dist/search/queryTreeBuilders.d.ts +12 -0
- package/dist/search/queryTreeBuilders.d.ts.map +1 -1
- package/dist/search/searchDispatch.d.ts +44 -0
- package/dist/search/searchDispatch.d.ts.map +1 -1
- package/dist/search/searchElementUtils.d.ts +97 -0
- package/dist/search/searchElementUtils.d.ts.map +1 -0
- package/dist/search/searchUtils.d.ts +225 -0
- package/dist/search/searchUtils.d.ts.map +1 -0
- package/dist/search/subTypes/blobHTMLSearchType.d.ts +16 -0
- package/dist/search/subTypes/blobHTMLSearchType.d.ts.map +1 -0
- package/dist/search/subTypes/recordSearchType.d.ts +18 -0
- package/dist/search/subTypes/recordSearchType.d.ts.map +1 -0
- package/dist/search/subTypes/tupleSearchType.d.ts +21 -0
- package/dist/search/subTypes/tupleSearchType.d.ts.map +1 -0
- package/dist/search/superTypes/SpecialRealNumberSearchType.d.ts +14 -0
- package/dist/search/superTypes/SpecialRealNumberSearchType.d.ts.map +1 -0
- package/dist/search/superTypes/buffersourceSearchType.d.ts +17 -0
- package/dist/search/superTypes/buffersourceSearchType.d.ts.map +1 -0
- package/dist/search/superTypes/dommatrixSearchType.d.ts +11 -0
- package/dist/search/superTypes/dommatrixSearchType.d.ts.map +1 -0
- package/dist/search/superTypes/dompointSearchType.d.ts +9 -0
- package/dist/search/superTypes/dompointSearchType.d.ts.map +1 -0
- package/dist/search/superTypes/domrectSearchType.d.ts +9 -0
- package/dist/search/superTypes/domrectSearchType.d.ts.map +1 -0
- package/dist/search/superTypes/errorsSpecialSearchType.d.ts +11 -0
- package/dist/search/superTypes/errorsSpecialSearchType.d.ts.map +1 -0
- package/dist/search/unions/discriminatedUnionSearchType.d.ts +12 -0
- package/dist/search/unions/discriminatedUnionSearchType.d.ts.map +1 -0
- package/dist/search/unions/unionFamilySearchType.d.ts +36 -0
- package/dist/search/unions/unionFamilySearchType.d.ts.map +1 -0
- package/dist/search/unions/unionSearchType.d.ts +8 -0
- package/dist/search/unions/unionSearchType.d.ts.map +1 -0
- package/dist/search/unions/xorSearchType.d.ts +12 -0
- package/dist/search/unions/xorSearchType.d.ts.map +1 -0
- package/dist/superTypes/buffersourceType.d.ts.map +1 -1
- package/dist/typeChoices.d.ts +3 -3
- package/dist/typeChoices.d.ts.map +1 -1
- package/dist/types.d.ts +3 -3
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -4
- package/pnpm-workspace.yaml +1 -1
- package/rollup.config.js +12 -0
- package/src/formatAndTypeChoices.js +4 -4
- package/src/formats/schema.js +1 -1
- package/src/formats.js +1 -1
- package/src/fundamentalTypes/dateType.js +35 -14
- package/src/fundamentalTypes/domexceptionType.js +41 -33
- package/src/index.js +6 -0
- package/src/jtltExtensions.js +103 -0
- package/src/search/fundamentalTypes/arraySearchType.js +66 -0
- package/src/search/fundamentalTypes/bigintSearchType.js +62 -0
- package/src/search/fundamentalTypes/blobSearchType.js +41 -0
- package/src/search/fundamentalTypes/booleanSearchType.js +40 -0
- package/src/search/fundamentalTypes/catchSearchType.js +59 -0
- package/src/search/fundamentalTypes/dateSearchType.js +73 -0
- package/src/search/fundamentalTypes/domexceptionSearchType.js +55 -0
- package/src/search/fundamentalTypes/enumSearchType.js +58 -0
- package/src/search/fundamentalTypes/errorSearchType.js +11 -0
- package/src/search/fundamentalTypes/fileSearchType.js +41 -0
- package/src/search/fundamentalTypes/filelistSearchType.js +78 -0
- package/src/search/fundamentalTypes/functionSearchType.js +78 -0
- package/src/search/fundamentalTypes/mapSearchType.js +87 -0
- package/src/search/fundamentalTypes/nanSearchType.js +11 -0
- package/src/search/fundamentalTypes/nullSearchType.js +11 -0
- package/src/search/fundamentalTypes/numberSearchType.js +52 -0
- package/src/search/fundamentalTypes/objectSearchType.js +148 -0
- package/src/search/fundamentalTypes/promiseSearchType.js +61 -0
- package/src/search/fundamentalTypes/regexpSearchType.js +48 -0
- package/src/search/fundamentalTypes/setSearchType.js +65 -0
- package/src/search/fundamentalTypes/stringSearchType.js +35 -0
- package/src/search/fundamentalTypes/symbolSearchType.js +38 -0
- package/src/search/fundamentalTypes/undefinedSearchType.js +11 -0
- package/src/search/index.js +79 -0
- package/src/search/queryTree.js +235 -0
- package/src/search/queryTreeBuilders.js +224 -0
- package/src/search/searchDispatch.js +291 -0
- package/src/search/searchElementUtils.js +289 -0
- package/src/search/searchUtils.js +355 -0
- package/src/search/subTypes/blobHTMLSearchType.js +65 -0
- package/src/search/subTypes/recordSearchType.js +84 -0
- package/src/search/subTypes/tupleSearchType.js +111 -0
- package/src/search/superTypes/SpecialRealNumberSearchType.js +42 -0
- package/src/search/superTypes/buffersourceSearchType.js +47 -0
- package/src/search/superTypes/dommatrixSearchType.js +24 -0
- package/src/search/superTypes/dompointSearchType.js +15 -0
- package/src/search/superTypes/domrectSearchType.js +15 -0
- package/src/search/superTypes/errorsSpecialSearchType.js +15 -0
- package/src/search/unions/discriminatedUnionSearchType.js +16 -0
- package/src/search/unions/unionFamilySearchType.js +160 -0
- package/src/search/unions/unionSearchType.js +12 -0
- package/src/search/unions/xorSearchType.js +16 -0
- package/src/superTypes/buffersourceType.js +13 -15
- package/src/typeChoices.js +2 -2
- package/src/types.js +2 -2
- package/tsconfig-prod.json +12 -0
- package/tsconfig.json +5 -10
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {{
|
|
3
|
+
* container: HTMLDivElement,
|
|
4
|
+
* $getQuery: () => import('./queryTree.js').QueryAnd,
|
|
5
|
+
* whenReady: Promise<void>
|
|
6
|
+
* }} SearchChoicesControl
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* The top-level entry point (search plan §5): builds the whole recursive
|
|
10
|
+
* search widget tree for `schemaContent` via `buildSearchWidget`
|
|
11
|
+
* (`searchDispatch.js`), starting at `path = '#/'`. Does not route through
|
|
12
|
+
* `getTypesForSchema` for the general case - that function flattens union
|
|
13
|
+
* members into one flat `Set` of leaf types for a type-choice pull-down,
|
|
14
|
+
* whereas search needs union branches to stay distinguishable nested
|
|
15
|
+
* sub-widgets for the "has type" affordance (`unionSearchType.js` et al.) -
|
|
16
|
+
* `getTypesForSchema` is only reused narrowly, for intersection resolution,
|
|
17
|
+
* inside `buildSearchWidget`/`resolveIntersection` - which run at *every*
|
|
18
|
+
* recursive call site (every composite module's own child recursion uses
|
|
19
|
+
* `buildSearchWidget` too), not just here at the root, so an intersection
|
|
20
|
+
* schema nested anywhere in the tree resolves the same way a top-level one
|
|
21
|
+
* does rather than falling through to the `noneditableSearchType` escape
|
|
22
|
+
* hatch.
|
|
23
|
+
*
|
|
24
|
+
* `resolveIntersection` is called here too (redundantly, but cheaply, since
|
|
25
|
+
* it's a no-op for anything that isn't itself an `intersection`) purely so
|
|
26
|
+
* `$getQuery()` below dispatches through the *same* resolved schema
|
|
27
|
+
* `buildSearchWidget` actually built the UI for, rather than the original
|
|
28
|
+
* (possibly-`intersection`) one.
|
|
29
|
+
*
|
|
30
|
+
* Mirrors `buildTypeChoices`'s (`src/typeChoices.js`) `whenReady`/
|
|
31
|
+
* pull-based convention rather than inventing a push/callback API:
|
|
32
|
+
* `$getQuery()` reads the live DOM into a `QueryAnd` on demand (`{$and:
|
|
33
|
+
* []}` when nothing has been entered anywhere, matching the empty-`$and`
|
|
34
|
+
* convention of "no constraint"), and a host that wants live updates wraps
|
|
35
|
+
* it in its own `container.addEventListener('input', ...)` since
|
|
36
|
+
* `container` is a plain `HTMLDivElement`. Every widget built so far is
|
|
37
|
+
* synchronous, so `whenReady` (unlike `buildTypeChoices`'s) has no deferred
|
|
38
|
+
* work to wait on and settles immediately - it's still returned, so a
|
|
39
|
+
* caller can `await` either function uniformly without checking which one
|
|
40
|
+
* it has.
|
|
41
|
+
* @param {{
|
|
42
|
+
* schemaContent: import('../formats/schema.js').ZodexSchema,
|
|
43
|
+
* typeNamespace?: string,
|
|
44
|
+
* topRoot?: import('../types.js').RootElement,
|
|
45
|
+
* types?: import('../types.js').default
|
|
46
|
+
* }} cfg
|
|
47
|
+
* @returns {SearchChoicesControl}
|
|
48
|
+
*/
|
|
49
|
+
export function buildSearchChoices({ schemaContent, typeNamespace, topRoot, types }: {
|
|
50
|
+
schemaContent: import("../formats/schema.js").ZodexSchema;
|
|
51
|
+
typeNamespace?: string;
|
|
52
|
+
topRoot?: import("../types.js").RootElement;
|
|
53
|
+
types?: import("../types.js").default;
|
|
54
|
+
}): SearchChoicesControl;
|
|
55
|
+
export type SearchChoicesControl = {
|
|
56
|
+
container: HTMLDivElement;
|
|
57
|
+
$getQuery: () => import("./queryTree.js").QueryAnd;
|
|
58
|
+
whenReady: Promise<void>;
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/search/index.js"],"names":[],"mappings":"AAGA;;;;;;GAMG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,qFARW;IACN,aAAa,EAAE,OAAO,sBAAsB,EAAE,WAAW,CAAC;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,aAAa,EAAE,WAAW,CAAC;IAC5C,KAAK,CAAC,EAAE,OAAO,aAAa,EAAE,OAAO,CAAA;CACtC,GACS,oBAAoB,CA4BhC;mCA1EY;IACR,SAAS,EAAE,cAAc,CAAC;IAC1B,SAAS,EAAE,MAAM,OAAO,gBAAgB,EAAE,QAAQ,CAAC;IACnD,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;CACzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryTree.d.ts","sourceRoot":"","sources":["../../src/search/queryTree.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"queryTree.d.ts","sourceRoot":"","sources":["../../src/search/queryTree.js"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,18 @@
|
|
|
9
9
|
* @returns {import('./queryTree.js').QueryAnd}
|
|
10
10
|
*/
|
|
11
11
|
export function makeAndNode(nodes: import("./queryTree.js").QueryNode[]): import("./queryTree.js").QueryAnd;
|
|
12
|
+
/**
|
|
13
|
+
* Combines the leaves a single widget contributes (e.g. a number leaf's
|
|
14
|
+
* range plus its separate "Is/Is Not Integer" check) into one `QueryNode`:
|
|
15
|
+
* drops any `undefined` (no constraint entered there), returns `undefined`
|
|
16
|
+
* if nothing is left, the bare node if only one is left, else an `$and` of
|
|
17
|
+
* the rest - so a widget with several independent controls still honors
|
|
18
|
+
* `getQuery`'s "`undefined` means no constraint" convention without every
|
|
19
|
+
* such widget re-implementing this collapsing logic itself.
|
|
20
|
+
* @param {(import('./queryTree.js').QueryNode|undefined)[]} nodes
|
|
21
|
+
* @returns {import('./queryTree.js').QueryNode|undefined}
|
|
22
|
+
*/
|
|
23
|
+
export function combineAnd(nodes: (import("./queryTree.js").QueryNode | undefined)[]): import("./queryTree.js").QueryNode | undefined;
|
|
12
24
|
/**
|
|
13
25
|
* @param {import('./queryTree.js').QueryNode[]} nodes
|
|
14
26
|
* @returns {import('./queryTree.js').QueryOr}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryTreeBuilders.d.ts","sourceRoot":"","sources":["../../src/search/queryTreeBuilders.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"queryTreeBuilders.d.ts","sourceRoot":"","sources":["../../src/search/queryTreeBuilders.js"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,35 @@ export function getSearchSchemaType(schemaObject: import("../formats/schema.js")
|
|
|
28
28
|
* @returns {SearchTypeObject}
|
|
29
29
|
*/
|
|
30
30
|
export function getSearchTypeObject(schemaObject: import("../formats/schema.js").ZodexSchema): SearchTypeObject;
|
|
31
|
+
/**
|
|
32
|
+
* The call site every *recursive* search widget uses in place of calling
|
|
33
|
+
* `getSearchTypeObject(...).buildUI(...)` directly - it's the same thing,
|
|
34
|
+
* plus `resolveIntersection` run first, so an intersection schema at any
|
|
35
|
+
* depth (not just the one `buildSearchChoices` is called with) still
|
|
36
|
+
* resolves instead of falling through to the `noneditableSearchType`
|
|
37
|
+
* escape hatch. `originalJSON` (needed for the `getTypesForSchema` call's
|
|
38
|
+
* own `$ref` resolution) defaults to `schemaObject` itself only as a last
|
|
39
|
+
* resort for a call site that has none to pass down - every recursive
|
|
40
|
+
* caller should be threading the true document root through via its own
|
|
41
|
+
* `originalJSON` parameter instead.
|
|
42
|
+
* @param {{
|
|
43
|
+
* schemaObject: import('../formats/schema.js').ZodexSchema,
|
|
44
|
+
* path: string,
|
|
45
|
+
* typeNamespace?: string,
|
|
46
|
+
* topRoot?: import('../types.js').RootElement,
|
|
47
|
+
* types?: import('../types.js').default,
|
|
48
|
+
* originalJSON?: import('../formats/schema.js').ZodexSchema
|
|
49
|
+
* }} cfg
|
|
50
|
+
* @returns {import('../types.js').JamilihArray}
|
|
51
|
+
*/
|
|
52
|
+
export function buildSearchWidget({ schemaObject, path, typeNamespace, topRoot, types, originalJSON }: {
|
|
53
|
+
schemaObject: import("../formats/schema.js").ZodexSchema;
|
|
54
|
+
path: string;
|
|
55
|
+
typeNamespace?: string;
|
|
56
|
+
topRoot?: import("../types.js").RootElement;
|
|
57
|
+
types?: import("../types.js").default;
|
|
58
|
+
originalJSON?: import("../formats/schema.js").ZodexSchema;
|
|
59
|
+
}): import("../types.js").JamilihArray;
|
|
31
60
|
export type QueryNode = import("./queryTree.js").QueryNode;
|
|
32
61
|
/**
|
|
33
62
|
* The search-side analogue of `TypeObject` (`src/types.js:308-408`): two
|
|
@@ -41,6 +70,7 @@ export type SearchTypeObject = {
|
|
|
41
70
|
typeNamespace?: string;
|
|
42
71
|
topRoot?: import("../types.js").RootElement;
|
|
43
72
|
types?: import("../types.js").default;
|
|
73
|
+
originalJSON?: import("../formats/schema.js").ZodexSchema;
|
|
44
74
|
}) => import("../types.js").JamilihArray;
|
|
45
75
|
getQuery: (cfg: {
|
|
46
76
|
root: HTMLElement;
|
|
@@ -74,4 +104,18 @@ export const availableSearchTypes: {
|
|
|
74
104
|
* @type {SearchTypeObject}
|
|
75
105
|
*/
|
|
76
106
|
export const noneditableSearchType: SearchTypeObject;
|
|
107
|
+
/**
|
|
108
|
+
* Intersection schemas are never registered in `availableSearchTypes` -
|
|
109
|
+
* resolved here instead of in `getSearchSchemaType`, reusing jsoe's
|
|
110
|
+
* existing intersection-merging machinery (`getTypesForSchema`,
|
|
111
|
+
* `src/formats/schema.js`) rather than reinventing it (search plan §3/§5).
|
|
112
|
+
* A single merged result replaces the intersection outright; more than one
|
|
113
|
+
* (e.g. one side of the intersection is itself a union) is handed to
|
|
114
|
+
* `unionSearchType.js` unchanged via a synthesized `union` wrapper, the
|
|
115
|
+
* same way `unionSearchType.js` already treats distinguishable branches.
|
|
116
|
+
* @param {import('../formats/schema.js').ZodexSchema} schemaObject
|
|
117
|
+
* @param {import('../formats/schema.js').ZodexSchema} originalJSON
|
|
118
|
+
* @returns {import('../formats/schema.js').ZodexSchema}
|
|
119
|
+
*/
|
|
120
|
+
export function resolveIntersection(schemaObject: import("../formats/schema.js").ZodexSchema, originalJSON: import("../formats/schema.js").ZodexSchema): import("../formats/schema.js").ZodexSchema;
|
|
77
121
|
//# sourceMappingURL=searchDispatch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchDispatch.d.ts","sourceRoot":"","sources":["../../src/search/searchDispatch.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"searchDispatch.d.ts","sourceRoot":"","sources":["../../src/search/searchDispatch.js"],"names":[],"mappings":"AAqKA;;;;;;;;;;;;;;;;;GAiBG;AACH,kDAHW,OAAO,sBAAsB,EAAE,WAAW,GACxC,MAAM,CA+BlB;AAED;;;;;;;;;GASG;AACH,kDAHW,OAAO,sBAAsB,EAAE,WAAW,GACxC,gBAAgB,CAK5B;AA2BD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,uGAVW;IACN,YAAY,EAAE,OAAO,sBAAsB,EAAE,WAAW,CAAC;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,aAAa,EAAE,WAAW,CAAC;IAC5C,KAAK,CAAC,EAAE,OAAO,aAAa,EAAE,OAAO,CAAC;IACtC,YAAY,CAAC,EAAE,OAAO,sBAAsB,EAAE,WAAW,CAAA;CAC1D,GACS,OAAO,aAAa,EAAE,YAAY,CAe9C;wBAzPY,OAAO,gBAAgB,EAAE,SAAS;;;;;;+BAOlC;IACR,OAAO,EAAE,CAAC,GAAG,EAAE;QACb,YAAY,EAAE,OAAO,sBAAsB,EAAE,WAAW,CAAC;QACzD,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,OAAO,CAAC,EAAE,OAAO,aAAa,EAAE,WAAW,CAAC;QAC5C,KAAK,CAAC,EAAE,OAAO,aAAa,EAAE,OAAO,CAAC;QACtC,YAAY,CAAC,EAAE,OAAO,sBAAsB,EAAE,WAAW,CAAA;KAC1D,KAAK,OAAO,aAAa,EAAE,YAAY,CAAC;IACzC,QAAQ,EAAE,CAAC,GAAG,EAAE;QACd,IAAI,EAAE,WAAW,CAAC;QAClB,IAAI,EAAE,MAAM,CAAA;KACb,KAAK,SAAS,GAAC,SAAS,CAAA;CAC1B;AAyBJ;;;;;;;;;;;;;;;;;GAiBG;AACH,mCAFU;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAA;CAAC,CA+DzC;AAtFF;;;;GAIG;AACH,oCAFU,gBAAgB,CAEkC;AAmJ5D;;;;;;;;;;;;GAYG;AACH,kDAJW,OAAO,sBAAsB,EAAE,WAAW,gBAC1C,OAAO,sBAAsB,EAAE,WAAW,GACxC,OAAO,sBAAsB,EAAE,WAAW,CAYtD"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Locates a built search element by the JSON-Pointer path it was built for.
|
|
3
|
+
* Compares `dataset.searchPath` in JS rather than interpolating `path` into
|
|
4
|
+
* a `querySelector` attribute-value string, since a schema path can embed
|
|
5
|
+
* arbitrary property-name characters (only `~`/`/` are escaped by
|
|
6
|
+
* `makeJSONPointer`) that would otherwise need CSS-selector escaping.
|
|
7
|
+
* @param {ParentNode} root
|
|
8
|
+
* @param {string} path
|
|
9
|
+
* @returns {HTMLElement|undefined}
|
|
10
|
+
*/
|
|
11
|
+
export function findSearchElement(root: ParentNode, path: string): HTMLElement | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* @typedef {HTMLElement & {
|
|
14
|
+
* getQuery: () => import('./queryTree.js').QueryNode|undefined
|
|
15
|
+
* }} SearchElement
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* The `SearchTypeObject.getQuery` every leaf module implements identically:
|
|
19
|
+
* locate the element it built under `root` and delegate to its own
|
|
20
|
+
* (per-element, `dataset`-driven) `getQuery()` method.
|
|
21
|
+
* @param {{root: HTMLElement, path: string}} cfg
|
|
22
|
+
* @returns {import('./queryTree.js').QueryNode|undefined}
|
|
23
|
+
*/
|
|
24
|
+
export function getQueryViaElement({ root, path }: {
|
|
25
|
+
root: HTMLElement;
|
|
26
|
+
path: string;
|
|
27
|
+
}): import("./queryTree.js").QueryNode | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Type-predicate guard distinguishing a built search element (leaf or
|
|
30
|
+
* container, either answers to `.getQuery()`) from a plain DOM node - used
|
|
31
|
+
* by container elements (e.g. `objectSearchType.js`'s `<jsoe-search-object>`)
|
|
32
|
+
* that walk `this.children` polymorphically (search plan §8) without
|
|
33
|
+
* knowing which children are search elements and which are plain layout
|
|
34
|
+
* (a controls `<div>`, etc.).
|
|
35
|
+
* @param {Element} el
|
|
36
|
+
* @returns {el is SearchElement}
|
|
37
|
+
*/
|
|
38
|
+
export function hasGetQuery(el: Element): el is SearchElement;
|
|
39
|
+
/**
|
|
40
|
+
* Factory for the README's "no variants to allow for distinct search"
|
|
41
|
+
* leaves (`undefined`/`void`, `null`, `NaN`): the only meaningful question
|
|
42
|
+
* is whether the path is present at all, which only matters once the path
|
|
43
|
+
* is optional or nested in a union - so all three share one tiny, single-
|
|
44
|
+
* checkbox implementation, differing only in tag name/label.
|
|
45
|
+
* @param {{tagName: string}} cfg
|
|
46
|
+
* @returns {import('./searchDispatch.js').SearchTypeObject}
|
|
47
|
+
*/
|
|
48
|
+
export function makePresenceOnlySearchType({ tagName }: {
|
|
49
|
+
tagName: string;
|
|
50
|
+
}): import("./searchDispatch.js").SearchTypeObject;
|
|
51
|
+
/**
|
|
52
|
+
* Factory for `errorSearchType.js`/`errorsSpecialSearchType.js`, offering
|
|
53
|
+
* literal/regex search of child string properties, numeric of number
|
|
54
|
+
* children (README) - one `buildLiteralRegexControls`/`buildRangeInputsPair` pair
|
|
55
|
+
* per known property (`key`-distinguished so they coexist in one widget;
|
|
56
|
+
* see those helpers' docs), combined via `$and`. `.cause` (a recursive,
|
|
57
|
+
* arbitrarily-typed property) and `errorsSpecial`'s `AggregateError.errors`
|
|
58
|
+
* array are deliberately left out of this pass - the README's bullet asks
|
|
59
|
+
* only for the flat string/number children, and open-ended recursion into
|
|
60
|
+
* an arbitrary `cause` chain is a materially bigger feature than "the same
|
|
61
|
+
* shape, twice more".
|
|
62
|
+
* @param {{tagName: string}} cfg
|
|
63
|
+
* @returns {import('./searchDispatch.js').SearchTypeObject}
|
|
64
|
+
*/
|
|
65
|
+
export function makeErrorFamilySearchType({ tagName }: {
|
|
66
|
+
tagName: string;
|
|
67
|
+
}): import("./searchDispatch.js").SearchTypeObject;
|
|
68
|
+
/**
|
|
69
|
+
* Factory for `domrectSearchType.js`/`dompointSearchType.js`/
|
|
70
|
+
* `dommatrixSearchType.js`: numeric search ranges for children; "Is/Is not
|
|
71
|
+
* Readonly"; DOMMatrix: "Is/Is not 3d" (README) - one `buildRangeInputsPair`
|
|
72
|
+
* per known dimension (`key`-distinguished so they coexist in one widget;
|
|
73
|
+
* `dimensionKeys` covers DOMMatrix's 2D (`a`-`f`) *and* 3D (`m11`-`m44`)
|
|
74
|
+
* shapes at once rather than switching the control set on an "Is/Is not 3d"
|
|
75
|
+
* answer that's itself just another optional search constraint, not a
|
|
76
|
+
* schema fact - `domrect`/`dompoint`/`dommatrix` are all "checked" types
|
|
77
|
+
* with no structural schema to derive dimension names from in the first
|
|
78
|
+
* place, same reasoning as `makeErrorFamilySearchType`), combined into one
|
|
79
|
+
* `domShape` leaf (`queryTree.js`) rather than separate leaves via `$and`.
|
|
80
|
+
* @param {{
|
|
81
|
+
* tagName: string,
|
|
82
|
+
* dimensionKeys: string[],
|
|
83
|
+
* includeReadonly?: boolean,
|
|
84
|
+
* includeDimensionCheck?: boolean
|
|
85
|
+
* }} cfg
|
|
86
|
+
* @returns {import('./searchDispatch.js').SearchTypeObject}
|
|
87
|
+
*/
|
|
88
|
+
export function makeDomShapeSearchType({ tagName, dimensionKeys, includeReadonly, includeDimensionCheck }: {
|
|
89
|
+
tagName: string;
|
|
90
|
+
dimensionKeys: string[];
|
|
91
|
+
includeReadonly?: boolean;
|
|
92
|
+
includeDimensionCheck?: boolean;
|
|
93
|
+
}): import("./searchDispatch.js").SearchTypeObject;
|
|
94
|
+
export type SearchElement = HTMLElement & {
|
|
95
|
+
getQuery: () => import("./queryTree.js").QueryNode | undefined;
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=searchElementUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"searchElementUtils.d.ts","sourceRoot":"","sources":["../../src/search/searchElementUtils.js"],"names":[],"mappings":"AAQA;;;;;;;;;GASG;AACH,wCAJW,UAAU,QACV,MAAM,GACJ,WAAW,GAAC,SAAS,CAMjC;AAED;;;;GAIG;AAEH;;;;;;GAMG;AACH,mDAHW;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,GAC/B,OAAO,gBAAgB,EAAE,SAAS,GAAC,SAAS,CAOxD;AAED;;;;;;;;;GASG;AACH,gCAHW,OAAO,GACL,EAAE,IAAI,aAAa,CAK/B;AAED;;;;;;;;GAQG;AACH,wDAHW;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,GACf,OAAO,qBAAqB,EAAE,gBAAgB,CA0B1D;AAqCD;;;;;;;;;;;;;GAaG;AACH,uDAHW;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,GACf,OAAO,qBAAqB,EAAE,gBAAgB,CAkC1D;AAyCD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,2GARW;IACN,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,GACS,OAAO,qBAAqB,EAAE,gBAAgB,CAsD1D;4BAvQY,WAAW,GAAG;IACtB,QAAQ,EAAE,MAAM,OAAO,gBAAgB,EAAE,SAAS,GAAC,SAAS,CAAA;CAC7D"}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {import('../types.js').JamilihArray} JamilihArray
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Label for a leaf/container's own control, preferring the schema's own
|
|
6
|
+
* `meta.title`/`meta.description`/`description` (via `schemaLabel`, same
|
|
7
|
+
* precedence the value-editing side uses) and falling back to the JSON
|
|
8
|
+
* Pointer path's final segment so every control still has a legible label
|
|
9
|
+
* even when the schema carries no metadata.
|
|
10
|
+
* @param {import('../formats/schema.js').ZodexSchema|undefined} schemaObject
|
|
11
|
+
* @param {string} path
|
|
12
|
+
* @returns {string}
|
|
13
|
+
*/
|
|
14
|
+
export function buildPathLabel(schemaObject: import("../formats/schema.js").ZodexSchema | undefined, path: string): string;
|
|
15
|
+
/**
|
|
16
|
+
* Finds a control belonging directly to `root`'s own widget - as opposed to
|
|
17
|
+
* one belonging to a search widget recursively nested inside it (e.g.
|
|
18
|
+
* `arraySearchType.js`'s own "size" input vs. a nested array-of-arrays'
|
|
19
|
+
* element widget's own "size" input, both reachable from `root` via a plain
|
|
20
|
+
* `querySelectorAll`). A match only counts if the nearest ancestor of the
|
|
21
|
+
* match carrying `data-search-path` is `root` itself; every search element
|
|
22
|
+
* carries that attribute (`searchElementUtils.js`'s `findSearchElement`), so
|
|
23
|
+
* this reliably stops at the first nested search element's boundary.
|
|
24
|
+
*
|
|
25
|
+
* This is also why every `build*`/`read*` pair below reads its class-based
|
|
26
|
+
* selector back through this helper rather than a raw
|
|
27
|
+
* `root.querySelector(...)`: a fixed class name is safe to reuse across
|
|
28
|
+
* every instance of a given control on the page precisely because lookups
|
|
29
|
+
* are always scoped this way, and - unlike a `name` built from a
|
|
30
|
+
* `typeNamespace` closed over inside a `$define` mixin, which is installed
|
|
31
|
+
* once on the shared custom-element prototype the first time a tag is
|
|
32
|
+
* defined - nothing here depends on a per-instance closure at all.
|
|
33
|
+
* @param {HTMLElement} root
|
|
34
|
+
* @param {string} selector
|
|
35
|
+
* @returns {HTMLElement|undefined}
|
|
36
|
+
*/
|
|
37
|
+
export function findOwnControl(root: HTMLElement, selector: string): HTMLElement | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* A "from"/"to" pair of native inputs sharing one `type`, for the OR-range/
|
|
40
|
+
* Is-Not-Range README affordance (number/bigint/buffersource; `date` uses
|
|
41
|
+
* `dateType.js`'s own `buildDateInputControl` instead, since a
|
|
42
|
+
* `datetime-local` input needs its own ISO-slicing).
|
|
43
|
+
*
|
|
44
|
+
* `key` distinguishes multiple range pairs *within one widget* (e.g.
|
|
45
|
+
* `domrectSearchType.js`'s `x`/`y`/`width`/`height` dimensions, or
|
|
46
|
+
* `errorSearchType.js`'s `lineNumber`/`columnNumber`): `findOwnControl`
|
|
47
|
+
* already isolates one widget's controls from another's, but can't tell
|
|
48
|
+
* apart two same-class controls belonging to the *same* widget, so those
|
|
49
|
+
* need distinct classes. Leave it at the default `''` for the common case
|
|
50
|
+
* of a widget with only one range pair.
|
|
51
|
+
* @param {{
|
|
52
|
+
* name: string,
|
|
53
|
+
* key?: string,
|
|
54
|
+
* type?: string,
|
|
55
|
+
* min?: string|number,
|
|
56
|
+
* max?: string|number,
|
|
57
|
+
* step?: string|number
|
|
58
|
+
* }} cfg
|
|
59
|
+
* @returns {JamilihArray[]}
|
|
60
|
+
*/
|
|
61
|
+
export function buildRangeInputsPair({ name, key, type, min, max, step }: {
|
|
62
|
+
name: string;
|
|
63
|
+
key?: string;
|
|
64
|
+
type?: string;
|
|
65
|
+
min?: string | number;
|
|
66
|
+
max?: string | number;
|
|
67
|
+
step?: string | number;
|
|
68
|
+
}): JamilihArray[];
|
|
69
|
+
/**
|
|
70
|
+
* Reads back a `buildRangeInputsPair` - pass the same `key` it was built
|
|
71
|
+
* with.
|
|
72
|
+
* @param {HTMLElement} el
|
|
73
|
+
* @param {string} [key]
|
|
74
|
+
* @returns {{gte: string, lte: string}}
|
|
75
|
+
*/
|
|
76
|
+
export function readRangeInputsPair(el: HTMLElement, key?: string): {
|
|
77
|
+
gte: string;
|
|
78
|
+
lte: string;
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* A `<select multiple>` populated from a fixed candidate list - used by
|
|
82
|
+
* `enum`/`multiSelect`/`literalSet` leaf controls (README: "multiple
|
|
83
|
+
* select").
|
|
84
|
+
* @param {{
|
|
85
|
+
* name: string,
|
|
86
|
+
* options: (string|[value: string, title: string])[]
|
|
87
|
+
* }} cfg
|
|
88
|
+
* @returns {JamilihArray}
|
|
89
|
+
*/
|
|
90
|
+
export function buildMultiSelect({ name, options }: {
|
|
91
|
+
name: string;
|
|
92
|
+
options: (string | [value: string, title: string])[];
|
|
93
|
+
}): JamilihArray;
|
|
94
|
+
/**
|
|
95
|
+
* Reads back a `buildMultiSelect` into the selected values, `[]` if none.
|
|
96
|
+
* @param {HTMLElement} el
|
|
97
|
+
* @returns {string[]}
|
|
98
|
+
*/
|
|
99
|
+
export function readMultiSelect(el: HTMLElement): string[];
|
|
100
|
+
/**
|
|
101
|
+
* A tri-state "has property" control for one already-chosen property name
|
|
102
|
+
* (README: "Has property <property pull-down>", "avoid listing
|
|
103
|
+
* required"). `objectSearchType.js` supplies the additive pull-down that
|
|
104
|
+
* lets a user pick *which* property to add one of these for; this helper is
|
|
105
|
+
* only the fixed per-property toggle it adds each time, so the "any" state
|
|
106
|
+
* (no constraint entered) is distinguishable from an explicit "has"/
|
|
107
|
+
* "doesn't have" - matching `SearchTypeObject.getQuery`'s
|
|
108
|
+
* `undefined`-means-"no constraint" convention. Shares `readTriStateSelect`
|
|
109
|
+
* with `buildTriStateSelect` below - same three-value shape, just different
|
|
110
|
+
* option labels.
|
|
111
|
+
* @param {{name: string, propertyName: string}} cfg
|
|
112
|
+
* @returns {JamilihArray}
|
|
113
|
+
*/
|
|
114
|
+
export function buildHasPropertyToggle({ name, propertyName }: {
|
|
115
|
+
name: string;
|
|
116
|
+
propertyName: string;
|
|
117
|
+
}): JamilihArray;
|
|
118
|
+
/**
|
|
119
|
+
* A generic "(any)"/true/false `<select>`, shared by every leaf whose only
|
|
120
|
+
* constraint is a plain boolean choice - `booleanSearchType.js`'s "true or
|
|
121
|
+
* false" (README) and `numberSearchType.js`'s "Is/Is Not Integer" both read
|
|
122
|
+
* back through this same three-way convention rather than each rolling
|
|
123
|
+
* their own.
|
|
124
|
+
*
|
|
125
|
+
* `key` distinguishes multiple tri-states *within one widget* (e.g.
|
|
126
|
+
* `dommatrixSearchType.js`'s "Is/Is not Readonly" and "Is/Is not 3d" side
|
|
127
|
+
* by side); see `buildRangeInputsPair`'s doc for why. Leave it at the
|
|
128
|
+
* default `''` for the common case of a widget with only one tri-state.
|
|
129
|
+
* @param {{name: string, key?: string, trueLabel: string, falseLabel: string}} cfg
|
|
130
|
+
* @returns {JamilihArray}
|
|
131
|
+
*/
|
|
132
|
+
export function buildTriStateSelect({ name, key, trueLabel, falseLabel }: {
|
|
133
|
+
name: string;
|
|
134
|
+
key?: string;
|
|
135
|
+
trueLabel: string;
|
|
136
|
+
falseLabel: string;
|
|
137
|
+
}): JamilihArray;
|
|
138
|
+
/**
|
|
139
|
+
* Reads back a `buildTriStateSelect`/`buildHasPropertyToggle` - pass the
|
|
140
|
+
* same `key` it was built with. `''` (any) maps to `undefined`.
|
|
141
|
+
* @param {HTMLElement} el
|
|
142
|
+
* @param {string} [key]
|
|
143
|
+
* @returns {boolean|undefined}
|
|
144
|
+
*/
|
|
145
|
+
export function readTriStateSelect(el: HTMLElement, key?: string): boolean | undefined;
|
|
146
|
+
/**
|
|
147
|
+
* A single checkbox - the only search affordance the README grants
|
|
148
|
+
* `undefined`/`void`/`null`/`NaN` ("Require present"; they have "no
|
|
149
|
+
* variants to allow for distinct search", since existence only becomes a
|
|
150
|
+
* meaningful question once the path is optional or nested in a union), and
|
|
151
|
+
* also used by `recordSearchType.js` for its "require same entry" toggle.
|
|
152
|
+
* @param {{name: string, label: string}} cfg
|
|
153
|
+
* @returns {JamilihArray}
|
|
154
|
+
*/
|
|
155
|
+
export function buildCheckbox({ name, label }: {
|
|
156
|
+
name: string;
|
|
157
|
+
label: string;
|
|
158
|
+
}): JamilihArray;
|
|
159
|
+
/**
|
|
160
|
+
* Reads back a `buildCheckbox`.
|
|
161
|
+
* @param {HTMLElement} el
|
|
162
|
+
* @returns {boolean}
|
|
163
|
+
*/
|
|
164
|
+
export function readCheckbox(el: HTMLElement): boolean;
|
|
165
|
+
/**
|
|
166
|
+
* The mode selector for the README's "string, StringObject, Blob, File,
|
|
167
|
+
* regexp (source), symbol (description): OR literal or regex search/Does
|
|
168
|
+
* Not contain search" - one shared control (and reader, below) that
|
|
169
|
+
* `stringSearchType.js`, `symbolSearchType.js`, and `regexpSearchType.js`
|
|
170
|
+
* (for its source) each build their own custom element around, since the
|
|
171
|
+
* query semantics are identical and only the label/target facet differs.
|
|
172
|
+
*
|
|
173
|
+
* `key` distinguishes multiple literal/regex controls *within one widget*
|
|
174
|
+
* (e.g. `errorSearchType.js`'s `message`/`name`/`fileName`/`stack`); see
|
|
175
|
+
* `buildRangeInputsPair`'s doc for why. Leave it at the default `''` for
|
|
176
|
+
* the common case of a widget with only one such control.
|
|
177
|
+
* @param {{name: string, key?: string}} cfg
|
|
178
|
+
* @returns {JamilihArray}
|
|
179
|
+
*/
|
|
180
|
+
export function buildLiteralRegexControls({ name, key }: {
|
|
181
|
+
name: string;
|
|
182
|
+
key?: string;
|
|
183
|
+
}): JamilihArray;
|
|
184
|
+
/**
|
|
185
|
+
* Reads back `buildLiteralRegexControls` into the corresponding
|
|
186
|
+
* `literalSet`/`regex`/`notContains` leaf - pass the same `key` it was
|
|
187
|
+
* built with.
|
|
188
|
+
* @param {HTMLElement} el
|
|
189
|
+
* @param {string} path
|
|
190
|
+
* @param {string} [key]
|
|
191
|
+
* @returns {import('./queryTree.js').QueryLiteralSetLeaf|
|
|
192
|
+
* import('./queryTree.js').QueryRegexLeaf|
|
|
193
|
+
* import('./queryTree.js').QueryNotContainsLeaf|undefined}
|
|
194
|
+
*/
|
|
195
|
+
export function readLiteralRegexQuery(el: HTMLElement, path: string, key?: string): import("./queryTree.js").QueryLiteralSetLeaf | import("./queryTree.js").QueryRegexLeaf | import("./queryTree.js").QueryNotContainsLeaf | undefined;
|
|
196
|
+
/**
|
|
197
|
+
* Has length/size of <number> (README; array/set/tuple-with-rest/
|
|
198
|
+
* filelist), + "Is/Is not sparse" for arrays only. Returns `[]` (no
|
|
199
|
+
* control) when the schema pins an exact length/size, since searching on a
|
|
200
|
+
* constant is uninteresting - the schema's `min`/`max` otherwise become the
|
|
201
|
+
* input's HTML `min`/`max` attributes.
|
|
202
|
+
* @param {{
|
|
203
|
+
* name: string,
|
|
204
|
+
* min?: number,
|
|
205
|
+
* max?: number,
|
|
206
|
+
* includeSparse?: boolean
|
|
207
|
+
* }} cfg
|
|
208
|
+
* @returns {JamilihArray[]}
|
|
209
|
+
*/
|
|
210
|
+
export function buildLengthSizeControls({ name, min, max, includeSparse }: {
|
|
211
|
+
name: string;
|
|
212
|
+
min?: number;
|
|
213
|
+
max?: number;
|
|
214
|
+
includeSparse?: boolean;
|
|
215
|
+
}): JamilihArray[];
|
|
216
|
+
/**
|
|
217
|
+
* Reads back `buildLengthSizeControls` into one `lengthSize` leaf, or
|
|
218
|
+
* `undefined` if neither the size nor the sparse control was set.
|
|
219
|
+
* @param {HTMLElement} el
|
|
220
|
+
* @param {string} path
|
|
221
|
+
* @returns {import('./queryTree.js').QueryLengthSizeLeaf|undefined}
|
|
222
|
+
*/
|
|
223
|
+
export function readLengthSizeQuery(el: HTMLElement, path: string): import("./queryTree.js").QueryLengthSizeLeaf | undefined;
|
|
224
|
+
export type JamilihArray = import("../types.js").JamilihArray;
|
|
225
|
+
//# sourceMappingURL=searchUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"searchUtils.d.ts","sourceRoot":"","sources":["../../src/search/searchUtils.js"],"names":[],"mappings":"AAGA;;GAEG;AAEH;;;;;;;;;GASG;AACH,6CAJW,OAAO,sBAAsB,EAAE,WAAW,GAAC,SAAS,QACpD,MAAM,GACJ,MAAM,CASlB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qCAJW,WAAW,YACX,MAAM,GACJ,WAAW,GAAC,SAAS,CAMjC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,0EAVW;IACN,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,GAAC,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,GAAC,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,GAAC,MAAM,CAAA;CACrB,GACS,YAAY,EAAE,CAe1B;AAED;;;;;;GAMG;AACH,wCAJW,WAAW,QACX,MAAM,GACJ;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAC,CAUtC;AAED;;;;;;;;;GASG;AACH,oDANW;IACN,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,MAAM,GAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAA;CACnD,GACS,YAAY,CAOxB;AAED;;;;GAIG;AACH,oCAHW,WAAW,GACT,MAAM,EAAE,CAOpB;AAED;;;;;;;;;;;;;GAaG;AACH,+DAHW;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAC,GAClC,YAAY,CAWxB;AAED;;;;;;;;;;;;;GAaG;AACH,0EAHW;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAC,GACjE,YAAY,CAQxB;AAED;;;;;;GAMG;AACH,uCAJW,WAAW,QACX,MAAM,GACJ,OAAO,GAAC,SAAS,CAU7B;AAED;;;;;;;;GAQG;AACH,+CAHW;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,GAC3B,YAAY,CAOxB;AAED;;;;GAIG;AACH,iCAHW,WAAW,GACT,OAAO,CAMnB;AAED;;;;;;;;;;;;;;GAcG;AACH,yDAHW;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAC,GAC1B,YAAY,CAiBxB;AAED;;;;;;;;;;GAUG;AACH,0CAPW,WAAW,QACX,MAAM,QACN,MAAM,GACJ,OAAO,gBAAgB,EAAE,mBAAmB,GACxD,OAAW,gBAAgB,EAAE,cAAc,GAC3C,OAAW,gBAAgB,EAAE,oBAAoB,GAAC,SAAS,CAuB3D;AAED;;;;;;;;;;;;;GAaG;AACH,2EARW;IACN,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB,GACS,YAAY,EAAE,CAwB1B;AAED;;;;;;GAMG;AACH,wCAJW,WAAW,QACX,MAAM,GACJ,OAAO,gBAAgB,EAAE,mBAAmB,GAAC,SAAS,CAgBlE;2BA9VY,OAAO,aAAa,EAAE,YAAY"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export default blobHTMLSearchType;
|
|
2
|
+
export type SearchTypeObject = import("../searchDispatch.js").SearchTypeObject;
|
|
3
|
+
/**
|
|
4
|
+
* @typedef {import('../searchDispatch.js').SearchTypeObject} SearchTypeObject
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Blob HTML: XPath, CSS selectors, full text search, regex search of raw
|
|
8
|
+
* HTML (README) - a mode `<select>` plus one text `<input>`, the same
|
|
9
|
+
* "pick a mode, give it one value" shape as `buildLiteralRegexControls`
|
|
10
|
+
* (`searchUtils.js`), but not built through it: the four modes and the
|
|
11
|
+
* `blobHTML` leaf kind they produce are specific to this one type, with no
|
|
12
|
+
* second caller to share the helper with.
|
|
13
|
+
* @type {SearchTypeObject}
|
|
14
|
+
*/
|
|
15
|
+
declare const blobHTMLSearchType: SearchTypeObject;
|
|
16
|
+
//# sourceMappingURL=blobHTMLSearchType.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blobHTMLSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/subTypes/blobHTMLSearchType.js"],"names":[],"mappings":";+BAKa,OAAO,sBAAsB,EAAE,gBAAgB;AAD5D;;GAEG;AAEH;;;;;;;;GAQG;AACH,kCAFU,gBAAgB,CA+CxB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export default recordSearchType;
|
|
2
|
+
export type SearchTypeObject = import("../searchDispatch.js").SearchTypeObject;
|
|
3
|
+
/**
|
|
4
|
+
* @typedef {import('../searchDispatch.js').SearchTypeObject} SearchTypeObject
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Record search is "key-schema search AND/OR value-schema search,"
|
|
8
|
+
* structurally unlike object's additive "has property" (search plan §1) -
|
|
9
|
+
* recurses into both the `key` and `value` schemas' own search widgets
|
|
10
|
+
* (`*key`/`*value` path segments, `queryTree.js`), and lets the user say
|
|
11
|
+
* whether a match must come from the *same* entry ("has key 2-4 and value
|
|
12
|
+
* 7-9", README) via the "joint" toggle on the resulting `mapRecordJoint`
|
|
13
|
+
* leaf - also used for `looseRecord`, aliased to this same module in
|
|
14
|
+
* `searchDispatch.js` since the search semantics are identical.
|
|
15
|
+
* @type {SearchTypeObject}
|
|
16
|
+
*/
|
|
17
|
+
declare const recordSearchType: SearchTypeObject;
|
|
18
|
+
//# sourceMappingURL=recordSearchType.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recordSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/subTypes/recordSearchType.js"],"names":[],"mappings":";+BAMa,OAAO,sBAAsB,EAAE,gBAAgB;AAD5D;;GAEG;AAEH;;;;;;;;;;GAUG;AACH,gCAFU,gBAAgB,CA+DxB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export default tupleSearchType;
|
|
2
|
+
export type SearchTypeObject = import("../searchDispatch.js").SearchTypeObject;
|
|
3
|
+
/**
|
|
4
|
+
* @typedef {import('../searchDispatch.js').SearchTypeObject} SearchTypeObject
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Each fixed position gets its own control from `.items[i]`, not one
|
|
8
|
+
* control repeated per element (search plan §1 - unlike the value-editing
|
|
9
|
+
* side, this gets a dedicated module rather than delegating to
|
|
10
|
+
* `arraySearchType.js`, since positions aren't interchangeable). A tuple
|
|
11
|
+
* with no `rest` has an inherently fixed length (`items.length`), so - as
|
|
12
|
+
* with a fixed-length array - no length control is shown for it; "with rest
|
|
13
|
+
* has size search as with arrays" (README) applies once `rest` is present:
|
|
14
|
+
* total length becomes a variable-length `lengthSize` control (`min:
|
|
15
|
+
* items.length`, no sparse toggle - not applicable to a tuple), and the
|
|
16
|
+
* `rest` element itself recurses into its own search widget under the same
|
|
17
|
+
* `*` path-segment convention `arraySearchType.js` uses for its element.
|
|
18
|
+
* @type {SearchTypeObject}
|
|
19
|
+
*/
|
|
20
|
+
declare const tupleSearchType: SearchTypeObject;
|
|
21
|
+
//# sourceMappingURL=tupleSearchType.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tupleSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/subTypes/tupleSearchType.js"],"names":[],"mappings":";+BAMa,OAAO,sBAAsB,EAAE,gBAAgB;AAD5D;;GAEG;AAEH;;;;;;;;;;;;;GAaG;AACH,+BAFU,gBAAgB,CAuFxB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export default SpecialRealNumberSearchType;
|
|
2
|
+
export type SearchTypeObject = import("../searchDispatch.js").SearchTypeObject;
|
|
3
|
+
/**
|
|
4
|
+
* @typedef {import('../searchDispatch.js').SearchTypeObject} SearchTypeObject
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Special number: multiple select of "Infinity", "-Infinity" (README;
|
|
8
|
+
* `NaN` is covered separately by `nanSearchType.js`'s presence-only
|
|
9
|
+
* control, since it's its own zodex schema type - `SpecialRealNumberType.js`
|
|
10
|
+
* itself covers exactly `Infinity`/`-Infinity`/`-0`, not `NaN`).
|
|
11
|
+
* @type {SearchTypeObject}
|
|
12
|
+
*/
|
|
13
|
+
declare const SpecialRealNumberSearchType: SearchTypeObject;
|
|
14
|
+
//# sourceMappingURL=SpecialRealNumberSearchType.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpecialRealNumberSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/superTypes/SpecialRealNumberSearchType.js"],"names":[],"mappings":";+BAKa,OAAO,sBAAsB,EAAE,gBAAgB;AAD5D;;GAEG;AAEH;;;;;;GAMG;AACH,2CAFU,gBAAgB,CA0BxB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export default buffersourceSearchType;
|
|
2
|
+
export type SearchTypeObject = import("../searchDispatch.js").SearchTypeObject;
|
|
3
|
+
/**
|
|
4
|
+
* @typedef {import('../searchDispatch.js').SearchTypeObject} SearchTypeObject
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* BufferSource: OR Range/Is Not Range (README) - a byte-length range, per
|
|
8
|
+
* the build order's own note that `buffersource` (like `function`) is
|
|
9
|
+
* "fuzzy" enough in the README to ship as a minimal, honest stub rather
|
|
10
|
+
* than over-build past what the spec defines. `buffersource` is one of
|
|
11
|
+
* jsoe's "checked" types (`{type: 'any', checks: [{name: 'buffersource'}]}`)
|
|
12
|
+
* with no schema-level byte-length bounds to read `min`/`max` HTML
|
|
13
|
+
* attributes from, unlike `array`'s `minLength`/`maxLength`.
|
|
14
|
+
* @type {SearchTypeObject}
|
|
15
|
+
*/
|
|
16
|
+
declare const buffersourceSearchType: SearchTypeObject;
|
|
17
|
+
//# sourceMappingURL=buffersourceSearchType.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buffersourceSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/superTypes/buffersourceSearchType.js"],"names":[],"mappings":";+BAKa,OAAO,sBAAsB,EAAE,gBAAgB;AAD5D;;GAEG;AAEH;;;;;;;;;GASG;AACH,sCAFU,gBAAgB,CA4BxB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export default dommatrixSearchType;
|
|
2
|
+
/**
|
|
3
|
+
* DOMMatrix: numeric search ranges for children; "Is/Is not Readonly";
|
|
4
|
+
* "Is/Is not 3d" (README) - see `searchElementUtils.js`'s
|
|
5
|
+
* `makeDomShapeSearchType` for the shared implementation. `dimensionKeys`
|
|
6
|
+
* covers both the 2D (`a`-`f`) and 3D (`m11`-`m44`) property sets at once;
|
|
7
|
+
* see that factory's doc for why.
|
|
8
|
+
* @type {import('../searchDispatch.js').SearchTypeObject}
|
|
9
|
+
*/
|
|
10
|
+
declare const dommatrixSearchType: import("../searchDispatch.js").SearchTypeObject;
|
|
11
|
+
//# sourceMappingURL=dommatrixSearchType.d.ts.map
|