@es-joy/jsoe 0.29.0 → 0.31.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/.claude/scheduled_tasks.lock +1 -0
- package/CHANGES.md +11 -0
- package/README.md +3 -0
- package/dist/fundamentalTypes/dateType.d.ts +8 -3
- package/dist/fundamentalTypes/dateType.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/search/fundamentalTypes/arraySearchType.d.ts +11 -4
- package/dist/search/fundamentalTypes/arraySearchType.d.ts.map +1 -1
- package/dist/search/fundamentalTypes/bigintSearchType.d.ts.map +1 -1
- package/dist/search/fundamentalTypes/blobSearchType.d.ts.map +1 -1
- package/dist/search/fundamentalTypes/dateSearchType.d.ts +8 -3
- package/dist/search/fundamentalTypes/dateSearchType.d.ts.map +1 -1
- package/dist/search/fundamentalTypes/domexceptionSearchType.d.ts +5 -5
- package/dist/search/fundamentalTypes/domexceptionSearchType.d.ts.map +1 -1
- package/dist/search/fundamentalTypes/enumSearchType.d.ts +4 -0
- package/dist/search/fundamentalTypes/enumSearchType.d.ts.map +1 -1
- package/dist/search/fundamentalTypes/fileSearchType.d.ts +19 -10
- package/dist/search/fundamentalTypes/fileSearchType.d.ts.map +1 -1
- package/dist/search/fundamentalTypes/filelistSearchType.d.ts +4 -12
- package/dist/search/fundamentalTypes/filelistSearchType.d.ts.map +1 -1
- package/dist/search/fundamentalTypes/functionSearchType.d.ts +4 -4
- package/dist/search/fundamentalTypes/functionSearchType.d.ts.map +1 -1
- package/dist/search/fundamentalTypes/mapSearchType.d.ts +8 -4
- package/dist/search/fundamentalTypes/mapSearchType.d.ts.map +1 -1
- package/dist/search/fundamentalTypes/numberSearchType.d.ts.map +1 -1
- package/dist/search/fundamentalTypes/objectSearchType.d.ts +10 -4
- package/dist/search/fundamentalTypes/objectSearchType.d.ts.map +1 -1
- package/dist/search/fundamentalTypes/regexpSearchType.d.ts +7 -1
- package/dist/search/fundamentalTypes/regexpSearchType.d.ts.map +1 -1
- package/dist/search/fundamentalTypes/setSearchType.d.ts +5 -4
- package/dist/search/fundamentalTypes/setSearchType.d.ts.map +1 -1
- package/dist/search/fundamentalTypes/stringSearchType.d.ts +9 -1
- package/dist/search/fundamentalTypes/stringSearchType.d.ts.map +1 -1
- package/dist/search/fundamentalTypes/symbolSearchType.d.ts.map +1 -1
- package/dist/search/index.d.ts +18 -8
- package/dist/search/index.d.ts.map +1 -1
- package/dist/search/queryTree.d.ts +15 -1
- package/dist/search/queryTree.d.ts.map +1 -1
- package/dist/search/queryTreeBuilders.d.ts +8 -1
- package/dist/search/queryTreeBuilders.d.ts.map +1 -1
- package/dist/search/searchElementUtils.d.ts +17 -8
- package/dist/search/searchElementUtils.d.ts.map +1 -1
- package/dist/search/searchUtils.d.ts +350 -18
- package/dist/search/searchUtils.d.ts.map +1 -1
- package/dist/search/subTypes/blobHTMLSearchType.d.ts +32 -5
- package/dist/search/subTypes/blobHTMLSearchType.d.ts.map +1 -1
- package/dist/search/subTypes/recordSearchType.d.ts +4 -4
- package/dist/search/subTypes/recordSearchType.d.ts.map +1 -1
- package/dist/search/subTypes/tupleSearchType.d.ts +3 -3
- package/dist/search/subTypes/tupleSearchType.d.ts.map +1 -1
- package/dist/search/superTypes/buffersourceSearchType.d.ts.map +1 -1
- package/dist/search/unions/unionFamilySearchType.d.ts.map +1 -1
- package/package.json +3 -3
- package/pnpm-workspace.yaml +26 -26
- package/src/fundamentalTypes/dateType.js +9 -4
- package/src/fundamentalTypes/regexpType.js +1 -1
- package/src/jsoe.css +204 -0
- package/src/search/fundamentalTypes/arraySearchType.js +42 -7
- package/src/search/fundamentalTypes/bigintSearchType.js +7 -1
- package/src/search/fundamentalTypes/blobSearchType.js +2 -1
- package/src/search/fundamentalTypes/booleanSearchType.js +1 -1
- package/src/search/fundamentalTypes/dateSearchType.js +113 -20
- package/src/search/fundamentalTypes/domexceptionSearchType.js +39 -10
- package/src/search/fundamentalTypes/enumSearchType.js +5 -1
- package/src/search/fundamentalTypes/fileSearchType.js +64 -11
- package/src/search/fundamentalTypes/filelistSearchType.js +32 -7
- package/src/search/fundamentalTypes/functionSearchType.js +36 -12
- package/src/search/fundamentalTypes/mapSearchType.js +43 -13
- package/src/search/fundamentalTypes/numberSearchType.js +8 -1
- package/src/search/fundamentalTypes/objectSearchType.js +236 -17
- package/src/search/fundamentalTypes/regexpSearchType.js +29 -5
- package/src/search/fundamentalTypes/setSearchType.js +33 -7
- package/src/search/fundamentalTypes/stringSearchType.js +11 -2
- package/src/search/fundamentalTypes/symbolSearchType.js +2 -1
- package/src/search/index.js +26 -9
- package/src/search/queryTree.js +14 -2
- package/src/search/queryTreeBuilders.js +12 -2
- package/src/search/searchElementUtils.js +108 -24
- package/src/search/searchUtils.js +576 -24
- package/src/search/subTypes/blobHTMLSearchType.js +202 -9
- package/src/search/subTypes/recordSearchType.js +34 -13
- package/src/search/subTypes/tupleSearchType.js +51 -10
- package/src/search/superTypes/SpecialRealNumberSearchType.js +1 -1
- package/src/search/superTypes/buffersourceSearchType.js +7 -1
- package/src/search/unions/unionFamilySearchType.js +8 -0
- package/vendor/zod/classic/schemas.d.ts +3 -1
- package/vendor/zod/core/versions.js +1 -1
|
@@ -1,14 +1,21 @@
|
|
|
1
1
|
export default arraySearchType;
|
|
2
2
|
export type SearchTypeObject = import("../searchDispatch.js").SearchTypeObject;
|
|
3
|
-
/**
|
|
4
|
-
* @typedef {import('../searchDispatch.js').SearchTypeObject} SearchTypeObject
|
|
5
|
-
*/
|
|
6
3
|
/**
|
|
7
4
|
* Has length/size of <number>; Is/Is not sparse (README), plus - by
|
|
8
5
|
* recursing into the element schema's own search widget (search plan §6
|
|
9
6
|
* build order) - "the array contains at least one element matching Y",
|
|
10
7
|
* expressed via a `*` path segment (`queryTree.js`) so no dedicated wrapper
|
|
11
|
-
* leaf kind is needed: the two constraints simply combine with `$and`.
|
|
8
|
+
* leaf kind is needed: the two constraints simply combine with `$and`. The
|
|
9
|
+
* element match is wrapped in `buildOptInFieldset` (default unchecked/
|
|
10
|
+
* disabled) so a length/size-only search stays valid: unlike the length/
|
|
11
|
+
* size inputs (plain, un-`required` numbers), the recursed element widget
|
|
12
|
+
* can itself carry `required` controls (e.g. a `string` element's Value),
|
|
13
|
+
* which would otherwise force this whole array invalid just for existing,
|
|
14
|
+
* whether or not the user actually wants an element constraint. Leaving
|
|
15
|
+
* both length/size and the element match unconfigured at once is still
|
|
16
|
+
* invalid, though (`buildAtLeastOneSentinel`) - the same "no absent values"
|
|
17
|
+
* reasoning as everywhere else, just with two facets where either alone
|
|
18
|
+
* already suffices.
|
|
12
19
|
* @type {SearchTypeObject}
|
|
13
20
|
*/
|
|
14
21
|
declare const arraySearchType: SearchTypeObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arraySearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/arraySearchType.js"],"names":[],"mappings":";+
|
|
1
|
+
{"version":3,"file":"arraySearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/arraySearchType.js"],"names":[],"mappings":";+BAUa,OAAO,sBAAsB,EAAE,gBAAgB;AAa5D;;;;;;;;;;;;;;;;;GAiBG;AACH,+BAFU,gBAAgB,CA2DxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bigintSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/bigintSearchType.js"],"names":[],"mappings":";+
|
|
1
|
+
{"version":3,"file":"bigintSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/bigintSearchType.js"],"names":[],"mappings":";+BAOa,OAAO,sBAAsB,EAAE,gBAAgB;AAoB5D;;;;;GAKG;AACH,gCAFU,gBAAgB,CAkCxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blobSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/blobSearchType.js"],"names":[],"mappings":";+
|
|
1
|
+
{"version":3,"file":"blobSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/blobSearchType.js"],"names":[],"mappings":";+BAKa,OAAO,sBAAsB,EAAE,gBAAgB;AAD5D;;GAEG;AAEH;;;;;;;;;;;GAWG;AACH,8BAFU,gBAAgB,CAqBxB"}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
export default dateSearchType;
|
|
2
2
|
export type SearchTypeObject = import("../searchDispatch.js").SearchTypeObject;
|
|
3
3
|
/**
|
|
4
|
-
* OR date range/Is Not Range (README)
|
|
5
|
-
* `buildDateInputControl` is reused twice (range start/
|
|
6
|
-
* wiring and ISO-slicing stay in one place.
|
|
4
|
+
* OR date range/Is Not Range, Is/Is not a valid date (README) -
|
|
5
|
+
* `dateType.js`'s own `buildDateInputControl` is reused twice (range start/
|
|
6
|
+
* end) so the min/max wiring and ISO-slicing stay in one place. Choosing
|
|
7
|
+
* "Invalid date" disables the range fieldset (an "Invalid Date" has no
|
|
8
|
+
* orderable time value to compare - same as `dateType.js`'s own
|
|
9
|
+
* `notANum`/`ValidDate`/`InvalidDate` handling treating it as a distinct
|
|
10
|
+
* state from an ordinary `Date`), producing a `validDateCheck` leaf
|
|
11
|
+
* (`queryTreeBuilders.js`) instead of/alongside the range leaf.
|
|
7
12
|
* @type {SearchTypeObject}
|
|
8
13
|
*/
|
|
9
14
|
declare const dateSearchType: SearchTypeObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dateSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/dateSearchType.js"],"names":[],"mappings":";+
|
|
1
|
+
{"version":3,"file":"dateSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/dateSearchType.js"],"names":[],"mappings":";+BAQa,OAAO,sBAAsB,EAAE,gBAAgB;AA0E5D;;;;;;;;;;GAUG;AACH,8BAFU,gBAAgB,CAwExB"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
export default domexceptionSearchType;
|
|
2
2
|
export type SearchTypeObject = import("../searchDispatch.js").SearchTypeObject;
|
|
3
|
-
/**
|
|
4
|
-
* @typedef {import('../searchDispatch.js').SearchTypeObject} SearchTypeObject
|
|
5
|
-
*/
|
|
6
3
|
/**
|
|
7
4
|
* DOMException: Literal/Regex search of child string properties; also
|
|
8
5
|
* pull-down of name for DOMException (README) - `.name` gets the
|
|
9
6
|
* multi-select pull-down (its standard predefined values, imported as-is
|
|
10
7
|
* from `domexceptionType.js`'s own `domExceptionNames` export rather than a
|
|
11
|
-
* second copy of the list
|
|
12
|
-
*
|
|
8
|
+
* second copy of the list, and already properly optional on its own - an
|
|
9
|
+
* empty selection needs no opt-in gate), `.message` gets the usual literal/
|
|
10
|
+
* regex/does-not-contain control (wrapped in `buildOptInFieldset`, since
|
|
11
|
+
* that one *does* carry a `required` Value input), combined via `$and`.
|
|
12
|
+
* `buildAtLeastOneSentinel` requires at least one of the two.
|
|
13
13
|
* @type {SearchTypeObject}
|
|
14
14
|
*/
|
|
15
15
|
declare const domexceptionSearchType: SearchTypeObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domexceptionSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/domexceptionSearchType.js"],"names":[],"mappings":";+
|
|
1
|
+
{"version":3,"file":"domexceptionSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/domexceptionSearchType.js"],"names":[],"mappings":";+BAWa,OAAO,sBAAsB,EAAE,gBAAgB;AAa5D;;;;;;;;;;;GAWG;AACH,sCAFU,gBAAgB,CA+CxB"}
|
|
@@ -16,6 +16,10 @@ export type SearchTypeObject = import("../searchDispatch.js").SearchTypeObject;
|
|
|
16
16
|
* from its values (unlike a plain `z.enum([...])`, where they're the same)
|
|
17
17
|
* still gets a usable widget here, just not that extra key-vs-value mode
|
|
18
18
|
* yet; `values`'s keys are shown alongside their value as a hint.
|
|
19
|
+
* `buildMultiSelect`'s `required` leaves the whole selection invalid until
|
|
20
|
+
* at least one value is picked, natively (no build-time-empty gap like
|
|
21
|
+
* `buildRangeInputsPair`'s custom validity needed a `connectedCallback`
|
|
22
|
+
* for - `<select multiple required>` is evaluated by the browser itself).
|
|
19
23
|
* @type {SearchTypeObject}
|
|
20
24
|
*/
|
|
21
25
|
declare const enumSearchType: SearchTypeObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enumSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/enumSearchType.js"],"names":[],"mappings":";+BAKa,OAAO,sBAAsB,EAAE,gBAAgB;AAD5D;;GAEG;AAEH
|
|
1
|
+
{"version":3,"file":"enumSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/enumSearchType.js"],"names":[],"mappings":";+BAKa,OAAO,sBAAsB,EAAE,gBAAgB;AAD5D;;GAEG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,8BAFU,gBAAgB,CAkCxB"}
|
|
@@ -1,18 +1,27 @@
|
|
|
1
1
|
export default fileSearchType;
|
|
2
2
|
export type SearchTypeObject = import("../searchDispatch.js").SearchTypeObject;
|
|
3
|
-
/**
|
|
4
|
-
* @typedef {import('../searchDispatch.js').SearchTypeObject} SearchTypeObject
|
|
5
|
-
*/
|
|
6
3
|
/**
|
|
7
4
|
* File: OR literal or regex search/Does Not contain search (README, grouped
|
|
8
5
|
* with string/StringObject/Blob/regexp-source/symbol-description) - against
|
|
9
|
-
* the File's `.name
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
6
|
+
* both the File's `.name` and its `.type` (content/MIME type, the same
|
|
7
|
+
* facet `blobSearchType.js` targets for `Blob`), each a value-level facet
|
|
8
|
+
* the schema itself carries no constraint for (`SzFile` only has
|
|
9
|
+
* `min`/`max`/`mime`, and `mime` is a fixed *allow-list* for validation, not
|
|
10
|
+
* a per-instance value to search against). `name`/`type` sub-paths
|
|
11
|
+
* distinguish the two facets (`${path}/name`, `${path}/type`, matching the
|
|
12
|
+
* real `File` property each reads back), the same convention
|
|
13
|
+
* `errorSearchType.js` uses for its own multiple flat facets, combined via
|
|
14
|
+
* `$and`. Each facet is independently opt-in (`buildOptInFieldset`, so
|
|
15
|
+
* checking against just the name, or just the content type, is as easy as
|
|
16
|
+
* checking against both), but leaving *both* unopted-in is itself invalid
|
|
17
|
+
* (`buildAtLeastOneSentinel`) - the same "key or value, not necessarily
|
|
18
|
+
* both" shape `mapSearchType.js`/`recordSearchType.js` use. `SzFile`'s own
|
|
19
|
+
* `min`/`max` (byte size) is left for a later pass - the README's literal/
|
|
20
|
+
* regex bullet doesn't ask for a size range here, and README explicitly
|
|
21
|
+
* reserves that shape of control ("OR Range/Is Not Range") for
|
|
22
|
+
* `buffersource` instead. `filelistSearchType.js` recurses its element
|
|
23
|
+
* schema through this same module, so a `FileList`'s per-file search gets
|
|
24
|
+
* both facets for free.
|
|
16
25
|
* @type {SearchTypeObject}
|
|
17
26
|
*/
|
|
18
27
|
declare const fileSearchType: SearchTypeObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/fileSearchType.js"],"names":[],"mappings":";+
|
|
1
|
+
{"version":3,"file":"fileSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/fileSearchType.js"],"names":[],"mappings":";+BAUa,OAAO,sBAAsB,EAAE,gBAAgB;AAa5D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,8BAFU,gBAAgB,CA8CxB"}
|
|
@@ -6,17 +6,6 @@ export type FilelistOutputSchema = {
|
|
|
6
6
|
minLength?: number;
|
|
7
7
|
maxLength?: number;
|
|
8
8
|
};
|
|
9
|
-
/**
|
|
10
|
-
* @typedef {import('../searchDispatch.js').SearchTypeObject} SearchTypeObject
|
|
11
|
-
*/
|
|
12
|
-
/**
|
|
13
|
-
* @typedef {{
|
|
14
|
-
* type: 'array',
|
|
15
|
-
* element: import('../../formats/schema.js').ZodexSchema,
|
|
16
|
-
* minLength?: number,
|
|
17
|
-
* maxLength?: number
|
|
18
|
-
* }} FilelistOutputSchema
|
|
19
|
-
*/
|
|
20
9
|
/**
|
|
21
10
|
* Has length/size of <number> (README, grouped with array/set/
|
|
22
11
|
* tuple-with-rest) - no sparse toggle, matching `setSearchType.js`. A
|
|
@@ -25,7 +14,10 @@ export type FilelistOutputSchema = {
|
|
|
25
14
|
* (`src/formats/schema.js`'s `codec`/`filelist` handling); the length
|
|
26
15
|
* bounds and element schema both live on that `output` array shape, whose
|
|
27
16
|
* element recurses into `fileSearchType.js` under the same `*` path-segment
|
|
28
|
-
* convention `arraySearchType.js` uses.
|
|
17
|
+
* convention `arraySearchType.js` uses. Leaving *both* length/size and the
|
|
18
|
+
* element match unconfigured is still invalid, though
|
|
19
|
+
* (`buildAtLeastOneSentinel`), same as `arraySearchType.js`/
|
|
20
|
+
* `setSearchType.js`.
|
|
29
21
|
* @type {SearchTypeObject}
|
|
30
22
|
*/
|
|
31
23
|
declare const filelistSearchType: SearchTypeObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filelistSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/filelistSearchType.js"],"names":[],"mappings":";+
|
|
1
|
+
{"version":3,"file":"filelistSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/filelistSearchType.js"],"names":[],"mappings":";+BAUa,OAAO,sBAAsB,EAAE,gBAAgB;mCAI/C;IACR,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,OAAO,yBAAyB,EAAE,WAAW,CAAC;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAaJ;;;;;;;;;;;;;GAaG;AACH,kCAFU,gBAAgB,CAwDxB"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
export default functionSearchType;
|
|
2
2
|
export type SearchTypeObject = import("../searchDispatch.js").SearchTypeObject;
|
|
3
|
-
/**
|
|
4
|
-
* @typedef {import('../searchDispatch.js').SearchTypeObject} SearchTypeObject
|
|
5
|
-
*/
|
|
6
3
|
/**
|
|
7
4
|
* Function; pass on args, return type (README) - recurses into both
|
|
8
5
|
* `.input` (itself a tuple, so its own per-position controls come for free
|
|
@@ -11,7 +8,10 @@ export type SearchTypeObject = import("../searchDispatch.js").SearchTypeObject;
|
|
|
11
8
|
* note that `function` is "fuzzy" in the README and could ship as a
|
|
12
9
|
* minimal stub predates `tupleSearchType.js` existing; now that it does,
|
|
13
10
|
* recursing into `.input` through it is no more work than `.output` alone
|
|
14
|
-
* would have been.
|
|
11
|
+
* would have been. Each is wrapped in its own `buildOptInFieldset` (an args
|
|
12
|
+
* tuple's own positions are themselves individually opt-in, so args as a
|
|
13
|
+
* whole needs the same treatment one level up), with
|
|
14
|
+
* `buildAtLeastOneSentinel` requiring at least one of the two.
|
|
15
15
|
* @type {SearchTypeObject}
|
|
16
16
|
*/
|
|
17
17
|
declare const functionSearchType: SearchTypeObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functionSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/functionSearchType.js"],"names":[],"mappings":";+
|
|
1
|
+
{"version":3,"file":"functionSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/functionSearchType.js"],"names":[],"mappings":";+BASa,OAAO,sBAAsB,EAAE,gBAAgB;AAa5D;;;;;;;;;;;;;GAaG;AACH,kCAFU,gBAAgB,CAiExB"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
export default mapSearchType;
|
|
2
2
|
export type SearchTypeObject = import("../searchDispatch.js").SearchTypeObject;
|
|
3
|
-
/**
|
|
4
|
-
* @typedef {import('../searchDispatch.js').SearchTypeObject} SearchTypeObject
|
|
5
|
-
*/
|
|
6
3
|
/**
|
|
7
4
|
* Map, Record: string-type searches of keys, values; ideally would allow
|
|
8
5
|
* search to insist on match of key and value (README) - structurally the
|
|
@@ -11,7 +8,14 @@ export type SearchTypeObject = import("../searchDispatch.js").SearchTypeObject;
|
|
|
11
8
|
* leaf), plus a `lengthSize` control for `min`/`max` (a `Map`, unlike a
|
|
12
9
|
* `Record`, carries its own size bounds in the schema - the same
|
|
13
10
|
* affordance `setSearchType.js` gets for the analogous reason), combined
|
|
14
|
-
* with the joint leaf via `$and`.
|
|
11
|
+
* with the joint leaf via `$and`. Key and value are each wrapped in their
|
|
12
|
+
* own `buildOptInFieldset` (so leaving either at "no constraint" doesn't
|
|
13
|
+
* force it via a `required` control inside), but *leaving all three*
|
|
14
|
+
* (key, value, and size) unconfigured is itself invalid via
|
|
15
|
+
* `buildAtLeastOneSentinel` - unlike `recordSearchType.js` (which has no
|
|
16
|
+
* size control of its own and so needs key or value specifically), a
|
|
17
|
+
* length/size-only search is already meaningful here, the same as
|
|
18
|
+
* `arraySearchType.js`/`setSearchType.js`.
|
|
15
19
|
* @type {SearchTypeObject}
|
|
16
20
|
*/
|
|
17
21
|
declare const mapSearchType: SearchTypeObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/mapSearchType.js"],"names":[],"mappings":";+
|
|
1
|
+
{"version":3,"file":"mapSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/mapSearchType.js"],"names":[],"mappings":";+BAUa,OAAO,sBAAsB,EAAE,gBAAgB;AAc5D;;;;;;;;;;;;;;;;;GAiBG;AACH,6BAFU,gBAAgB,CA0ExB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numberSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/numberSearchType.js"],"names":[],"mappings":";+
|
|
1
|
+
{"version":3,"file":"numberSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/numberSearchType.js"],"names":[],"mappings":";+BAQa,OAAO,sBAAsB,EAAE,gBAAgB;AAD5D;;GAEG;AAEH;;;GAGG;AACH,gCAFU,gBAAgB,CA2CxB"}
|
|
@@ -5,10 +5,16 @@ export type SearchTypeObject = import("../searchDispatch.js").SearchTypeObject;
|
|
|
5
5
|
* optional properties are offered ("avoid listing required" - a required
|
|
6
6
|
* property is guaranteed present, so asking about its existence is
|
|
7
7
|
* meaningless), and picking one from the pull-down adds a row for it
|
|
8
|
-
* (
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
8
|
+
* (disabled in the pull-down, rather than removed, so it can't be added a
|
|
9
|
+
* second time while its row exists). Each row's own "Remove" button
|
|
10
|
+
* discards the row and re-enables its property in the pull-down, for
|
|
11
|
+
* undoing an added-by-mistake property - a coarser-grained option than
|
|
12
|
+
* setting the row's toggle back to "(any)" (which already expresses "no
|
|
13
|
+
* constraint from this row" without removing it). A required property gets
|
|
14
|
+
* no pull-down entry (its existence is never in question), but does still
|
|
15
|
+
* get its own row - `buildRequiredPropertyRow`'s opt-in checkbox, defaulting
|
|
16
|
+
* unchecked/disabled, so it doesn't force a search constraint the user never
|
|
17
|
+
* asked for just by existing.
|
|
12
18
|
* @type {SearchTypeObject}
|
|
13
19
|
*/
|
|
14
20
|
declare const objectSearchType: SearchTypeObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objectSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/objectSearchType.js"],"names":[],"mappings":";+
|
|
1
|
+
{"version":3,"file":"objectSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/objectSearchType.js"],"names":[],"mappings":";+BAca,OAAO,sBAAsB,EAAE,gBAAgB;AA8O5D;;;;;;;;;;;;;;;;GAgBG;AACH,gCAFU,gBAAgB,CAiGxB"}
|
|
@@ -7,7 +7,13 @@ export type SearchTypeObject = import("../searchDispatch.js").SearchTypeObject;
|
|
|
7
7
|
* Regexp (source): OR literal or regex search/Does Not contain search, plus
|
|
8
8
|
* a multiple-select search of flags (README). `regexpType.js`'s own
|
|
9
9
|
* `allowedFlags` list is imported as-is for the flags control (search plan
|
|
10
|
-
* §4 - already a plain exported property, no extraction needed).
|
|
10
|
+
* §4 - already a plain exported property, no extraction needed). Flags are
|
|
11
|
+
* a property of the regexp itself, not of how its source is being matched,
|
|
12
|
+
* but the Flags control is only shown (and only contributes to the query)
|
|
13
|
+
* while the source's own Mode is "Matches regex" - searching a source
|
|
14
|
+
* literal/substring while also constraining flags is a much rarer
|
|
15
|
+
* combination, and hiding Flags the rest of the time keeps the common case
|
|
16
|
+
* uncluttered.
|
|
11
17
|
* @type {SearchTypeObject}
|
|
12
18
|
*/
|
|
13
19
|
declare const regexpSearchType: SearchTypeObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"regexpSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/regexpSearchType.js"],"names":[],"mappings":";+
|
|
1
|
+
{"version":3,"file":"regexpSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/regexpSearchType.js"],"names":[],"mappings":";+BASa,OAAO,sBAAsB,EAAE,gBAAgB;AAD5D;;GAEG;AAEH;;;;;;;;;;;;GAYG;AACH,gCAFU,gBAAgB,CA8CxB"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
export default setSearchType;
|
|
2
2
|
export type SearchTypeObject = import("../searchDispatch.js").SearchTypeObject;
|
|
3
|
-
/**
|
|
4
|
-
* @typedef {import('../searchDispatch.js').SearchTypeObject} SearchTypeObject
|
|
5
|
-
*/
|
|
6
3
|
/**
|
|
7
4
|
* Has length/size of <number> (README) - no sparse toggle: unlike
|
|
8
5
|
* `array`, a `Set` cannot have holes. Also recurses into the value schema's
|
|
9
6
|
* own search widget (as `arraySearchType.js` does for its element), via the
|
|
10
|
-
* same `*` path-segment convention (`queryTree.js`)
|
|
7
|
+
* same `*` path-segment convention (`queryTree.js`), wrapped in the same
|
|
8
|
+
* `buildOptInFieldset` `arraySearchType.js` uses and for the same reason -
|
|
9
|
+
* a length/size-only search should stay valid. Leaving *both* length/size
|
|
10
|
+
* and the element match unconfigured is still invalid, though
|
|
11
|
+
* (`buildAtLeastOneSentinel`), same as `arraySearchType.js`.
|
|
11
12
|
* @type {SearchTypeObject}
|
|
12
13
|
*/
|
|
13
14
|
declare const setSearchType: SearchTypeObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/setSearchType.js"],"names":[],"mappings":";+
|
|
1
|
+
{"version":3,"file":"setSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/setSearchType.js"],"names":[],"mappings":";+BAUa,OAAO,sBAAsB,EAAE,gBAAgB;AAa5D;;;;;;;;;;GAUG;AACH,6BAFU,gBAAgB,CAwDxB"}
|
|
@@ -6,7 +6,15 @@ export type SearchTypeObject = import("../searchDispatch.js").SearchTypeObject;
|
|
|
6
6
|
/**
|
|
7
7
|
* OR literal or regex search/Does Not contain search (README; also covers
|
|
8
8
|
* `StringObject` and `templateLiteral`, aliased to this same module in
|
|
9
|
-
* `searchDispatch.js` since the query semantics are identical)
|
|
9
|
+
* `searchDispatch.js` since the query semantics are identical), plus - only
|
|
10
|
+
* while "Matches regex" is the chosen mode - a Flags multi-select
|
|
11
|
+
* (`buildLiteralRegexControls`'s `flagOptions`, `regexpType.js`'s own
|
|
12
|
+
* `allowedFlags` list reused as-is, matching `regexpSearchType.js`'s flags
|
|
13
|
+
* for the actual regexp's own flags): unlike `regexpSearchType.js`, whose
|
|
14
|
+
* "source" is already a real regexp with its own flags regardless of
|
|
15
|
+
* search mode, here the regex is only ever the search's *own* device for
|
|
16
|
+
* matching the string, so flags only make sense while that regex is
|
|
17
|
+
* actually in play.
|
|
10
18
|
* @type {SearchTypeObject}
|
|
11
19
|
*/
|
|
12
20
|
declare const stringSearchType: SearchTypeObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stringSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/stringSearchType.js"],"names":[],"mappings":";+
|
|
1
|
+
{"version":3,"file":"stringSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/stringSearchType.js"],"names":[],"mappings":";+BAKa,OAAO,sBAAsB,EAAE,gBAAgB;AAD5D;;GAEG;AAEH;;;;;;;;;;;;;GAaG;AACH,gCAFU,gBAAgB,CAqBxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"symbolSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/symbolSearchType.js"],"names":[],"mappings":";+
|
|
1
|
+
{"version":3,"file":"symbolSearchType.d.ts","sourceRoot":"","sources":["../../../src/search/fundamentalTypes/symbolSearchType.js"],"names":[],"mappings":";+BAKa,OAAO,sBAAsB,EAAE,gBAAgB;AAD5D;;GAEG;AAEH;;;;;;;;GAQG;AACH,gCAFU,gBAAgB,CAqBxB"}
|
package/dist/search/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @typedef {{
|
|
3
|
-
* container:
|
|
3
|
+
* container: HTMLFormElement,
|
|
4
4
|
* $getQuery: () => import('./queryTree.js').QueryAnd,
|
|
5
5
|
* whenReady: Promise<void>
|
|
6
6
|
* }} SearchChoicesControl
|
|
@@ -32,12 +32,22 @@
|
|
|
32
32
|
* `$getQuery()` reads the live DOM into a `QueryAnd` on demand (`{$and:
|
|
33
33
|
* []}` when nothing has been entered anywhere, matching the empty-`$and`
|
|
34
34
|
* convention of "no constraint"), and a host that wants live updates wraps
|
|
35
|
-
* it in its own `container.addEventListener('input', ...)
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
35
|
+
* it in its own `container.addEventListener('input', ...)`. Every widget
|
|
36
|
+
* built so far is synchronous, so `whenReady` (unlike `buildTypeChoices`'s)
|
|
37
|
+
* has no deferred work to wait on and settles immediately - it's still
|
|
38
|
+
* returned, so a caller can `await` either function uniformly without
|
|
39
|
+
* checking which one it has.
|
|
40
|
+
*
|
|
41
|
+
* `container` is a real `<form>` (its own `submit` prevented, since it is
|
|
42
|
+
* never actually submitted) rather than a plain `<div>`, matching the edit
|
|
43
|
+
* side's own root `<form>` (`src/types.js`'s `Types.validValuesSet` reads
|
|
44
|
+
* `form.checkValidity()`) - the various cross-field checks the individual
|
|
45
|
+
* search widgets wire up (`searchUtils.js`'s `buildRangeInputsPair`,
|
|
46
|
+
* `dateSearchType.js`, etc.) are native Constraint Validation API calls
|
|
47
|
+
* (`setCustomValidity`/`required`), so a host only needs the one native
|
|
48
|
+
* `container.checkValidity()`/`container.reportValidity()` to check them
|
|
49
|
+
* all at once, the same way `demo/index-search.js`'s "Check validity"
|
|
50
|
+
* button does.
|
|
41
51
|
* @param {{
|
|
42
52
|
* schemaContent: import('../formats/schema.js').ZodexSchema,
|
|
43
53
|
* typeNamespace?: string,
|
|
@@ -53,7 +63,7 @@ export function buildSearchChoices({ schemaContent, typeNamespace, topRoot, type
|
|
|
53
63
|
types?: import("../types.js").default;
|
|
54
64
|
}): SearchChoicesControl;
|
|
55
65
|
export type SearchChoicesControl = {
|
|
56
|
-
container:
|
|
66
|
+
container: HTMLFormElement;
|
|
57
67
|
$getQuery: () => import("./queryTree.js").QueryAnd;
|
|
58
68
|
whenReady: Promise<void>;
|
|
59
69
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/search/index.js"],"names":[],"mappings":"AAGA;;;;;;GAMG;AAEH
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/search/index.js"],"names":[],"mappings":"AAGA;;;;;;GAMG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;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,CAmChC;mCA3FY;IACR,SAAS,EAAE,eAAe,CAAC;IAC3B,SAAS,EAAE,MAAM,OAAO,gBAAgB,EAAE,QAAQ,CAAC;IACnD,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;CACzB"}
|
|
@@ -55,6 +55,17 @@ export type QueryIntegerCheckLeaf = {
|
|
|
55
55
|
path: string;
|
|
56
56
|
isInteger: boolean;
|
|
57
57
|
};
|
|
58
|
+
/**
|
|
59
|
+
* `date`: is/is-not a valid `Date` (a structured-cloned `Date` can itself be
|
|
60
|
+
* an "Invalid Date" - a `NaN` internal time value - `dateType.js`'s own
|
|
61
|
+
* `notANum`/`ValidDate`/`InvalidDate` handling deals with the same state on
|
|
62
|
+
* the edit side).
|
|
63
|
+
*/
|
|
64
|
+
export type QueryValidDateCheckLeaf = {
|
|
65
|
+
kind: "validDateCheck";
|
|
66
|
+
path: string;
|
|
67
|
+
isValid: boolean;
|
|
68
|
+
};
|
|
58
69
|
/**
|
|
59
70
|
* `string`/`StringObject`/`Blob`/`File`/regexp-source/symbol-description
|
|
60
71
|
* (via `$in`/`$nin`).
|
|
@@ -116,12 +127,15 @@ export type QueryTypeOfLeaf = {
|
|
|
116
127
|
};
|
|
117
128
|
/**
|
|
118
129
|
* XPath/CSS-selector/full-text/raw-HTML-regex; no Mongo equivalent.
|
|
130
|
+
* `$options`, mirroring `QueryRegexLeaf`'s field of the same name, is only
|
|
131
|
+
* ever populated for `mode: 'rawHTMLRegex'`.
|
|
119
132
|
*/
|
|
120
133
|
export type QueryBlobHTMLLeaf = {
|
|
121
134
|
kind: "blobHTML";
|
|
122
135
|
path: string;
|
|
123
136
|
mode: "xpath" | "cssSelector" | "fullText" | "rawHTMLRegex";
|
|
124
137
|
value: string;
|
|
138
|
+
$options?: string;
|
|
125
139
|
};
|
|
126
140
|
/**
|
|
127
141
|
* Per-dimension ranges for DOMRect/Point/Matrix, each dimension itself a
|
|
@@ -175,6 +189,6 @@ export type QueryBooleanEqualsLeaf = {
|
|
|
175
189
|
path: string;
|
|
176
190
|
value: boolean;
|
|
177
191
|
};
|
|
178
|
-
export type QueryLeaf = QueryHasPropertyLeaf | QueryLengthSizeLeaf | QueryRangeLeaf | QueryNotLeaf | QueryIntegerCheckLeaf | QueryLiteralSetLeaf | QueryRegexLeaf | QueryNotContainsLeaf | QueryMultiSelectLeaf | QueryKeyValueEnumLeaf | QueryTypeOfLeaf | QueryBlobHTMLLeaf | QueryDomShapeLeaf | QueryMapRecordJointLeaf | QueryPassThroughLeaf | QueryPresenceLeaf | QueryBooleanEqualsLeaf;
|
|
192
|
+
export type QueryLeaf = QueryHasPropertyLeaf | QueryLengthSizeLeaf | QueryRangeLeaf | QueryNotLeaf | QueryIntegerCheckLeaf | QueryValidDateCheckLeaf | QueryLiteralSetLeaf | QueryRegexLeaf | QueryNotContainsLeaf | QueryMultiSelectLeaf | QueryKeyValueEnumLeaf | QueryTypeOfLeaf | QueryBlobHTMLLeaf | QueryDomShapeLeaf | QueryMapRecordJointLeaf | QueryPassThroughLeaf | QueryPresenceLeaf | QueryBooleanEqualsLeaf;
|
|
179
193
|
export type QueryNode = QueryAnd | QueryOr | QueryLeaf;
|
|
180
194
|
//# sourceMappingURL=queryTree.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryTree.d.ts","sourceRoot":"","sources":["../../src/search/queryTree.js"],"names":[],"mappings":"uBA2Ca;IAAC,IAAI,EAAE,SAAS,EAAE,CAAA;CAAC;sBAInB;IAAC,GAAG,EAAE,SAAS,EAAE,CAAA;CAAC;;;;mCAKlB;IAAC,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC;;;;;;kCAOrD;IACR,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACzD,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;;;;;;;;6BASS;IACR,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,QAAQ,GAAC,cAAc,GAAC,QAAQ,GAAC,MAAM,GAAC,cAAc,CAAC;IAClE,GAAG,CAAC,EAAE,MAAM,GAAC,MAAM,GAAC,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAC,MAAM,GAAC,MAAM,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,GAAC,MAAM,GAAC,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAC,MAAM,GAAC,MAAM,CAAA;CAC5B;2BAIS;IAAC,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAC;;;;oCAK/B;IAAC,IAAI,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAC;;;;;kCAMxD;IACR,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;CACjB;;;;;6BAMS;IACR,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;;;;;mCAMS;IACR,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAA;CACd;;;;;mCAMS;IACR,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;CACjB;;;;oCAKS;IACR,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,EAAE,CAAA;CAClB;;;;;;8BAOS;IACR,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B
|
|
1
|
+
{"version":3,"file":"queryTree.d.ts","sourceRoot":"","sources":["../../src/search/queryTree.js"],"names":[],"mappings":"uBA2Ca;IAAC,IAAI,EAAE,SAAS,EAAE,CAAA;CAAC;sBAInB;IAAC,GAAG,EAAE,SAAS,EAAE,CAAA;CAAC;;;;mCAKlB;IAAC,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC;;;;;;kCAOrD;IACR,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACzD,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;;;;;;;;6BASS;IACR,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,QAAQ,GAAC,cAAc,GAAC,QAAQ,GAAC,MAAM,GAAC,cAAc,CAAC;IAClE,GAAG,CAAC,EAAE,MAAM,GAAC,MAAM,GAAC,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAC,MAAM,GAAC,MAAM,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,GAAC,MAAM,GAAC,MAAM,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAC,MAAM,GAAC,MAAM,CAAA;CAC5B;2BAIS;IAAC,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAC;;;;oCAK/B;IAAC,IAAI,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAC;;;;;;;sCAQxD;IAAC,IAAI,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC;;;;;kCAMxD;IACR,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;CACjB;;;;;6BAMS;IACR,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;;;;;mCAMS;IACR,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAA;CACd;;;;;mCAMS;IACR,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;CACjB;;;;oCAKS;IACR,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,EAAE,CAAA;CAClB;;;;;;8BAOS;IACR,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B;;;;;;gCAOS;IACR,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,GAAC,aAAa,GAAC,UAAU,GAAC,cAAc,CAAC;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;;;;;;gCAOS;IACR,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE;QAAC,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc,CAAA;KAAC,CAAC;IAClD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,CAAC,GAAC,CAAC,CAAA;CACrB;;;;sCAKS;IACR,IAAI,EAAE,gBAAgB,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,KAAK,EAAE,OAAO,CAAA;CACf;;;;;;mCAOS;IACR,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB;;;;gCAKS;IAAC,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAC;;;;;;qCAOlD;IACR,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAA;CACf;wBAIS,oBAAoB,GAAC,mBAAmB,GAAC,cAAc,GAC/D,YAAY,GAAC,qBAAqB,GAAC,uBAAuB,GAC1D,mBAAmB,GAAC,cAAc,GAClC,oBAAoB,GAAC,oBAAoB,GAAC,qBAAqB,GAC/D,eAAe,GAAC,iBAAiB,GAAC,iBAAiB,GACnD,uBAAuB,GAAC,oBAAoB,GAAC,iBAAiB,GAC9D,sBAAsB;wBAKd,QAAQ,GAAC,OAAO,GAAC,SAAS"}
|
|
@@ -75,6 +75,12 @@ export function makeNotLeaf(query: import("./queryTree.js").QueryNode): import("
|
|
|
75
75
|
* @returns {import('./queryTree.js').QueryIntegerCheckLeaf}
|
|
76
76
|
*/
|
|
77
77
|
export function makeIntegerCheckLeaf(path: string, isInteger: boolean): import("./queryTree.js").QueryIntegerCheckLeaf;
|
|
78
|
+
/**
|
|
79
|
+
* @param {string} path
|
|
80
|
+
* @param {boolean} isValid
|
|
81
|
+
* @returns {import('./queryTree.js').QueryValidDateCheckLeaf}
|
|
82
|
+
*/
|
|
83
|
+
export function makeValidDateCheckLeaf(path: string, isValid: boolean): import("./queryTree.js").QueryValidDateCheckLeaf;
|
|
78
84
|
/**
|
|
79
85
|
* @param {string} path
|
|
80
86
|
* @param {{$in?: unknown[], $nin?: unknown[]}} cfg
|
|
@@ -124,9 +130,10 @@ export function makeTypeOfLeaf(path: string, searchType: string, discriminatorVa
|
|
|
124
130
|
* @param {string} path
|
|
125
131
|
* @param {import('./queryTree.js').QueryBlobHTMLLeaf['mode']} mode
|
|
126
132
|
* @param {string} value
|
|
133
|
+
* @param {string} [$options]
|
|
127
134
|
* @returns {import('./queryTree.js').QueryBlobHTMLLeaf}
|
|
128
135
|
*/
|
|
129
|
-
export function makeBlobHTMLLeaf(path: string, mode: import("./queryTree.js").QueryBlobHTMLLeaf["mode"], value: string): import("./queryTree.js").QueryBlobHTMLLeaf;
|
|
136
|
+
export function makeBlobHTMLLeaf(path: string, mode: import("./queryTree.js").QueryBlobHTMLLeaf["mode"], value: string, $options?: string): import("./queryTree.js").QueryBlobHTMLLeaf;
|
|
130
137
|
/**
|
|
131
138
|
* @param {string} path
|
|
132
139
|
* @param {{[dimension: string]: import('./queryTree.js').QueryRangeLeaf}} dimensions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryTreeBuilders.d.ts","sourceRoot":"","sources":["../../src/search/queryTreeBuilders.js"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,mCAHW,OAAO,gBAAgB,EAAE,SAAS,EAAE,GAClC,OAAO,gBAAgB,EAAE,QAAQ,CAI7C;AAED;;;;;;;;;;GAUG;AACH,kCAHW,CAAC,OAAO,gBAAgB,EAAE,SAAS,GAAC,SAAS,CAAC,EAAE,GAC9C,OAAO,gBAAgB,EAAE,SAAS,GAAC,SAAS,CAaxD;AAED;;;GAGG;AACH,kCAHW,OAAO,gBAAgB,EAAE,SAAS,EAAE,GAClC,OAAO,gBAAgB,EAAE,OAAO,CAI5C;AAED;;;;GAIG;AACH,0CAJW,MAAM,WACN,OAAO,GACL,OAAO,gBAAgB,EAAE,oBAAoB,CAIzD;AAED;;;;;;;;GAQG;AACH,yCARW,MAAM,QACN;IACN,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACzD,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,GACS,OAAO,gBAAgB,EAAE,mBAAmB,CAIxD;AAED;;;;;;;;GAQG;AACH,oCARW,MAAM,aACN,OAAO,gBAAgB,EAAE,cAAc,CAAC,WAAW,CAAC,QACpD;IACN,GAAG,CAAC,EAAE,MAAM,GAAC,MAAM,GAAC,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAC,MAAM,GAAC,MAAM,CAAC;IACxD,GAAG,CAAC,EAAE,MAAM,GAAC,MAAM,GAAC,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAC,MAAM,GAAC,MAAM,CAAA;CACxD,GACS,OAAO,gBAAgB,EAAE,cAAc,CAInD;AAED;;;GAGG;AACH,mCAHW,OAAO,gBAAgB,EAAE,SAAS,GAChC,OAAO,gBAAgB,EAAE,YAAY,CAIjD;AAED;;;;GAIG;AACH,2CAJW,MAAM,aACN,OAAO,GACL,OAAO,gBAAgB,EAAE,qBAAqB,CAI1D;AAED;;;;GAIG;AACH,yCAJW,MAAM,QACN;IAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;CAAC,GACjC,OAAO,gBAAgB,EAAE,mBAAmB,CAIxD;AAED;;;;;GAKG;AACH,oCALW,MAAM,UACN,MAAM,aACN,MAAM,GACJ,OAAO,gBAAgB,EAAE,cAAc,CAInD;AAED;;;;GAIG;AACH,0CAJW,MAAM,SACN,MAAM,GACJ,OAAO,gBAAgB,EAAE,oBAAoB,CAIzD;AAED;;;;GAIG;AACH,0CAJW,MAAM,QACN;IAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;CAAC,GACjC,OAAO,gBAAgB,EAAE,oBAAoB,CAIzD;AAED;;;;;GAKG;AACH,2CALW,MAAM,aACN,OAAO,UACP,OAAO,EAAE,GACP,OAAO,gBAAgB,EAAE,qBAAqB,CAI1D;AAED;;;;;GAKG;AACH,qCALW,MAAM,cACN,MAAM,uBACN,OAAO,GACL,OAAO,gBAAgB,EAAE,eAAe,CASpD;AAED
|
|
1
|
+
{"version":3,"file":"queryTreeBuilders.d.ts","sourceRoot":"","sources":["../../src/search/queryTreeBuilders.js"],"names":[],"mappings":"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"}
|
|
@@ -41,7 +41,12 @@ export function hasGetQuery(el: Element): el is SearchElement;
|
|
|
41
41
|
* leaves (`undefined`/`void`, `null`, `NaN`): the only meaningful question
|
|
42
42
|
* is whether the path is present at all, which only matters once the path
|
|
43
43
|
* is optional or nested in a union - so all three share one tiny, single-
|
|
44
|
-
* checkbox implementation, differing only in tag name/label.
|
|
44
|
+
* checkbox implementation, differing only in tag name/label. Unlike every
|
|
45
|
+
* other leaf, this one is never left for the user to configure at all: its
|
|
46
|
+
* checkbox is pre-checked and `disabled` (`buildCheckbox`'s doc), since a
|
|
47
|
+
* type with only one possible value has nothing else worth offering a
|
|
48
|
+
* choice between - it's simply valid, unconditionally, the moment it
|
|
49
|
+
* exists, rather than needing a `required`-style rule of its own.
|
|
45
50
|
* @param {{tagName: string}} cfg
|
|
46
51
|
* @returns {import('./searchDispatch.js').SearchTypeObject}
|
|
47
52
|
*/
|
|
@@ -51,13 +56,17 @@ export function makePresenceOnlySearchType({ tagName }: {
|
|
|
51
56
|
/**
|
|
52
57
|
* Factory for `errorSearchType.js`/`errorsSpecialSearchType.js`, offering
|
|
53
58
|
* literal/regex search of child string properties, numeric of number
|
|
54
|
-
* children (README) - one `buildLiteralRegexControls`/`buildRangeInputsPair`
|
|
55
|
-
* per known property (`key`-distinguished so they coexist in one
|
|
56
|
-
* see those helpers' docs),
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
59
|
+
* children (README) - one `buildLiteralRegexControls`/`buildRangeInputsPair`
|
|
60
|
+
* pair per known property (`key`-distinguished so they coexist in one
|
|
61
|
+
* widget; see those helpers' docs), each wrapped in its own
|
|
62
|
+
* `buildOptInFieldset` (so picking, say, just `message` doesn't also force
|
|
63
|
+
* `name`/`fileName`/`stack`/`lineNumber`/`columnNumber` to be filled in),
|
|
64
|
+
* combined via `$and`, with `buildAtLeastOneSentinel` requiring at least one
|
|
65
|
+
* of the six to actually be opted into. `.cause` (a recursive, arbitrarily-
|
|
66
|
+
* typed property) and `errorsSpecial`'s `AggregateError.errors` array are
|
|
67
|
+
* deliberately left out of this pass - the README's bullet asks only for
|
|
68
|
+
* the flat string/number children, and open-ended recursion into an
|
|
69
|
+
* arbitrary `cause` chain is a materially bigger feature than "the same
|
|
61
70
|
* shape, twice more".
|
|
62
71
|
* @param {{tagName: string}} cfg
|
|
63
72
|
* @returns {import('./searchDispatch.js').SearchTypeObject}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchElementUtils.d.ts","sourceRoot":"","sources":["../../src/search/searchElementUtils.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"searchElementUtils.d.ts","sourceRoot":"","sources":["../../src/search/searchElementUtils.js"],"names":[],"mappings":"AAWA;;;;;;;;;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;;;;;;;;;;;;;GAaG;AACH,wDAHW;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,GACf,OAAO,qBAAqB,EAAE,gBAAgB,CA4B1D;AAsDD;;;;;;;;;;;;;;;;;GAiBG;AACH,uDAHW;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,GACf,OAAO,qBAAqB,EAAE,gBAAgB,CA+C1D;AAyDD;;;;;;;;;;;;;;;;;;;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,CA8E1D;4BAxVY,WAAW,GAAG;IACtB,QAAQ,EAAE,MAAM,OAAO,gBAAgB,EAAE,SAAS,GAAC,SAAS,CAAA;CAC7D"}
|