@haverstack/wire-types 0.41.0 → 0.42.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/dist/discovery.d.ts +6 -6
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js +18 -13
- package/dist/discovery.js.map +1 -1
- package/package.json +2 -2
package/dist/discovery.d.ts
CHANGED
|
@@ -37,13 +37,13 @@ export type DiscoveryCapabilities = {
|
|
|
37
37
|
filter?: {
|
|
38
38
|
content?: string;
|
|
39
39
|
contentPresent?: boolean;
|
|
40
|
-
contentByType?:
|
|
40
|
+
contentByType?: boolean;
|
|
41
41
|
search?: boolean;
|
|
42
42
|
};
|
|
43
43
|
sort?: {
|
|
44
44
|
fields?: string[];
|
|
45
45
|
contentField?: boolean;
|
|
46
|
-
contentFieldByType?:
|
|
46
|
+
contentFieldByType?: boolean;
|
|
47
47
|
};
|
|
48
48
|
limits?: {
|
|
49
49
|
attachmentBytes?: number | null;
|
|
@@ -52,10 +52,10 @@ export type DiscoveryCapabilities = {
|
|
|
52
52
|
};
|
|
53
53
|
/**
|
|
54
54
|
* Resolves anything absent, malformed or unrecognized to the least capable
|
|
55
|
-
* value it could stand for
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
55
|
+
* value it could stand for, and what needs the POST /records/query body to
|
|
56
|
+
* false below `'none'` — applied once, where capabilities enter. A `null`
|
|
57
|
+
* limit is the one permissive reading. See docs/spec/adapters.md § Adapter
|
|
58
|
+
* capabilities.
|
|
59
59
|
*/
|
|
60
60
|
export declare function normalizeCapabilities(capabilities: DiscoveryCapabilities | undefined): StackCapabilities;
|
|
61
61
|
/** Splits a MAJOR.MINOR protocol version. Returns null if it isn't one. */
|
package/dist/discovery.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAuC,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAE3C,wEAAwE;AACxE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAuC,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAE3C,wEAAwE;AACxE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACnF,MAAM,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CAC5E,CAAC;AAKF;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,qBAAqB,GAAG,SAAS,GAC9C,iBAAiB,CAkCnB;AAMD,2EAA2E;AAC3E,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAG7F;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,SAAwB,GAAG,OAAO,CAI9F"}
|
package/dist/discovery.js
CHANGED
|
@@ -18,10 +18,10 @@ const CONTENT_FILTER_REACHES = new Set(['none', 'field', 'path']);
|
|
|
18
18
|
const SORT_FIELDS = new Set(NATIVE_SORT_FIELDS);
|
|
19
19
|
/**
|
|
20
20
|
* Resolves anything absent, malformed or unrecognized to the least capable
|
|
21
|
-
* value it could stand for
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
21
|
+
* value it could stand for, and what needs the POST /records/query body to
|
|
22
|
+
* false below `'none'` — applied once, where capabilities enter. A `null`
|
|
23
|
+
* limit is the one permissive reading. See docs/spec/adapters.md § Adapter
|
|
24
|
+
* capabilities.
|
|
25
25
|
*/
|
|
26
26
|
export function normalizeCapabilities(capabilities) {
|
|
27
27
|
const filter = capabilities?.filter;
|
|
@@ -30,20 +30,27 @@ export function normalizeCapabilities(capabilities) {
|
|
|
30
30
|
const reach = CONTENT_FILTER_REACHES.has(filter?.content)
|
|
31
31
|
? filter?.content
|
|
32
32
|
: 'none';
|
|
33
|
-
//
|
|
34
|
-
//
|
|
35
|
-
const
|
|
33
|
+
// These travel in the POST /records/query body, which a server reaching
|
|
34
|
+
// no content does not serve.
|
|
35
|
+
const reaches = reach !== 'none';
|
|
36
36
|
return {
|
|
37
37
|
filter: {
|
|
38
38
|
content: reach,
|
|
39
|
-
contentPresent: filter?.contentPresent === true,
|
|
40
|
-
contentByType:
|
|
39
|
+
contentPresent: reaches && filter?.contentPresent === true,
|
|
40
|
+
contentByType: reaches && filter?.contentByType === true,
|
|
41
41
|
search: filter?.search === true,
|
|
42
42
|
},
|
|
43
43
|
sort: {
|
|
44
|
-
|
|
44
|
+
// The floor is `createdAt`, not nothing: a query naming no sort reads
|
|
45
|
+
// in it, so every server already orders by it.
|
|
46
|
+
fields: [
|
|
47
|
+
...new Set([
|
|
48
|
+
'createdAt',
|
|
49
|
+
...(sort?.fields ?? []).filter((f) => SORT_FIELDS.has(f)),
|
|
50
|
+
]),
|
|
51
|
+
],
|
|
45
52
|
contentField: sort?.contentField === true,
|
|
46
|
-
contentFieldByType:
|
|
53
|
+
contentFieldByType: reaches && sort?.contentFieldByType === true,
|
|
47
54
|
},
|
|
48
55
|
limits: {
|
|
49
56
|
attachmentBytes: finiteOrNull(limits?.attachmentBytes),
|
|
@@ -51,8 +58,6 @@ export function normalizeCapabilities(capabilities) {
|
|
|
51
58
|
},
|
|
52
59
|
};
|
|
53
60
|
}
|
|
54
|
-
/** A cap on keys, or 0 — declined — for anything but a non-negative integer. */
|
|
55
|
-
const capOrZero = (value) => typeof value === 'number' && Number.isSafeInteger(value) && value > 0 ? value : 0;
|
|
56
61
|
/** A ceiling this client can compare against, or null for "cannot pre-check". */
|
|
57
62
|
const finiteOrNull = (value) => typeof value === 'number' && Number.isFinite(value) ? value : null;
|
|
58
63
|
/** Splits a MAJOR.MINOR protocol version. Returns null if it isn't one. */
|
package/dist/discovery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAMtD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAMtD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,CAAC;AA8B3C,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAS,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAC1E,MAAM,WAAW,GAAwB,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAErE;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,YAA+C;IAE/C,MAAM,MAAM,GAAG,YAAY,EAAE,MAAM,CAAC;IACpC,MAAM,IAAI,GAAG,YAAY,EAAE,IAAI,CAAC;IAChC,MAAM,MAAM,GAAG,YAAY,EAAE,MAAM,CAAC;IACpC,MAAM,KAAK,GAAG,sBAAsB,CAAC,GAAG,CAAC,MAAM,EAAE,OAAiB,CAAC;QACjE,CAAC,CAAE,MAAM,EAAE,OAA8B;QACzC,CAAC,CAAC,MAAM,CAAC;IACX,wEAAwE;IACxE,6BAA6B;IAC7B,MAAM,OAAO,GAAG,KAAK,KAAK,MAAM,CAAC;IACjC,OAAO;QACL,MAAM,EAAE;YACN,OAAO,EAAE,KAAK;YACd,cAAc,EAAE,OAAO,IAAI,MAAM,EAAE,cAAc,KAAK,IAAI;YAC1D,aAAa,EAAE,OAAO,IAAI,MAAM,EAAE,aAAa,KAAK,IAAI;YACxD,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI;SAChC;QACD,IAAI,EAAE;YACJ,sEAAsE;YACtE,+CAA+C;YAC/C,MAAM,EAAE;gBACN,GAAG,IAAI,GAAG,CAAkB;oBAC1B,WAAW;oBACX,GAAG,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAwB,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBAChF,CAAC;aACH;YACD,YAAY,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI;YACzC,kBAAkB,EAAE,OAAO,IAAI,IAAI,EAAE,kBAAkB,KAAK,IAAI;SACjE;QACD,MAAM,EAAE;YACN,eAAe,EAAE,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC;YACtD,YAAY,EAAE,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC;SACjD;KACF,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,MAAM,YAAY,GAAG,CAAC,KAAc,EAAiB,EAAE,CACrD,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAErE,2EAA2E;AAC3E,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe,EAAE,OAAO,GAAG,qBAAqB;IACnF,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC7C,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC;AAC7E,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@haverstack/wire-types",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.42.0",
|
|
4
4
|
"description": "HTTP wire types and serialization for Haverstack",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
},
|
|
22
22
|
"license": "CC0-1.0",
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@haverstack/core": "^0.
|
|
24
|
+
"@haverstack/core": "^0.43.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/node": "^22.0.0",
|