@metaobjectsdev/runtime-web 1.0.5-rc.6 → 1.0.5-rc.7
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/filter-qs.d.ts +8 -2
- package/dist/filter-qs.d.ts.map +1 -1
- package/dist/filter-qs.js +9 -3
- package/dist/filter-qs.js.map +1 -1
- package/package.json +2 -2
- package/src/filter-qs.ts +9 -3
package/dist/filter-qs.d.ts
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Build a bracketed qs URL fragment from a filter object.
|
|
3
3
|
*
|
|
4
|
-
* Output shape (qs's
|
|
5
|
-
* ?filter[email][like]
|
|
4
|
+
* Output shape (qs's bracketed style), shown DECODED:
|
|
5
|
+
* ?filter[email][like]=%@x.com&filter[subscribed]=true&sort=createdAt:desc&limit=25&withCount=1&search=term
|
|
6
|
+
*
|
|
7
|
+
* On the wire the brackets are percent-encoded (`filter%5Bemail%5D%5Blike%5D=…`). RFC 3986
|
|
8
|
+
* admits no raw `[`/`]` in a query, and Tomcat — every Spring Boot app's default server —
|
|
9
|
+
* answers a raw one with its own HTML 400, so the generated Java and Kotlin controllers could
|
|
10
|
+
* not serve a single filtered request while this sent them raw. Every server-side parser
|
|
11
|
+
* decodes before it reads the brackets, so the encoded form means the same thing everywhere.
|
|
6
12
|
*
|
|
7
13
|
* Top-level `limit`, `offset`, `sort`, `withCount`, and `search` are emitted
|
|
8
14
|
* at the top level (not under `filter`). All other keys go inside `filter`.
|
package/dist/filter-qs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-qs.d.ts","sourceRoot":"","sources":["../src/filter-qs.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"filter-qs.d.ts","sourceRoot":"","sources":["../src/filter-qs.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAYrE"}
|
package/dist/filter-qs.js
CHANGED
|
@@ -2,8 +2,14 @@ import qs from "qs";
|
|
|
2
2
|
/**
|
|
3
3
|
* Build a bracketed qs URL fragment from a filter object.
|
|
4
4
|
*
|
|
5
|
-
* Output shape (qs's
|
|
6
|
-
* ?filter[email][like]
|
|
5
|
+
* Output shape (qs's bracketed style), shown DECODED:
|
|
6
|
+
* ?filter[email][like]=%@x.com&filter[subscribed]=true&sort=createdAt:desc&limit=25&withCount=1&search=term
|
|
7
|
+
*
|
|
8
|
+
* On the wire the brackets are percent-encoded (`filter%5Bemail%5D%5Blike%5D=…`). RFC 3986
|
|
9
|
+
* admits no raw `[`/`]` in a query, and Tomcat — every Spring Boot app's default server —
|
|
10
|
+
* answers a raw one with its own HTML 400, so the generated Java and Kotlin controllers could
|
|
11
|
+
* not serve a single filtered request while this sent them raw. Every server-side parser
|
|
12
|
+
* decodes before it reads the brackets, so the encoded form means the same thing everywhere.
|
|
7
13
|
*
|
|
8
14
|
* Top-level `limit`, `offset`, `sort`, `withCount`, and `search` are emitted
|
|
9
15
|
* at the top level (not under `filter`). All other keys go inside `filter`.
|
|
@@ -34,6 +40,6 @@ export function buildFilterQs(filter) {
|
|
|
34
40
|
filterObj.or = or;
|
|
35
41
|
if (and !== undefined)
|
|
36
42
|
filterObj.and = and;
|
|
37
|
-
return qs.stringify({ ...top, filter: filterObj }
|
|
43
|
+
return qs.stringify({ ...top, filter: filterObj });
|
|
38
44
|
}
|
|
39
45
|
//# sourceMappingURL=filter-qs.js.map
|
package/dist/filter-qs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-qs.js","sourceRoot":"","sources":["../src/filter-qs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB
|
|
1
|
+
{"version":3,"file":"filter-qs.js","sourceRoot":"","sources":["../src/filter-qs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,aAAa,CAAC,MAA+B;IAC3D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,MAAa,CAAC;IACrF,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,IAAI,KAAK,KAAS,SAAS;QAAE,GAAG,CAAC,KAAK,GAAO,KAAK,CAAC;IACnD,IAAI,MAAM,KAAQ,SAAS;QAAE,GAAG,CAAC,MAAM,GAAM,MAAM,CAAC;IACpD,IAAI,IAAI,KAAU,SAAS;QAAE,GAAG,CAAC,IAAI,GAAQ,IAAI,CAAC;IAClD,IAAI,SAAS,KAAK,SAAS;QAAE,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;IACvD,IAAI,MAAM,KAAQ,SAAS;QAAE,GAAG,CAAC,MAAM,GAAM,MAAM,CAAC;IACpD,MAAM,SAAS,GAA4B,EAAE,GAAG,MAAM,EAAE,CAAC;IACzD,IAAI,EAAE,KAAM,SAAS;QAAE,SAAS,CAAC,EAAE,GAAI,EAAE,CAAC;IAC1C,IAAI,GAAG,KAAK,SAAS;QAAE,SAAS,CAAC,GAAG,GAAG,GAAG,CAAC;IAC3C,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;AACrD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metaobjectsdev/runtime-web",
|
|
3
|
-
"version": "1.0.5-rc.
|
|
3
|
+
"version": "1.0.5-rc.7",
|
|
4
4
|
"description": "Pure framework-agnostic browser core for metaobjects: currency, filter URL serialization, fetcher contract types.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"access": "public"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@metaobjectsdev/metadata": "1.0.5-rc.
|
|
48
|
+
"@metaobjectsdev/metadata": "1.0.5-rc.7",
|
|
49
49
|
"qs": "^6.13.0"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
package/src/filter-qs.ts
CHANGED
|
@@ -3,8 +3,14 @@ import qs from "qs";
|
|
|
3
3
|
/**
|
|
4
4
|
* Build a bracketed qs URL fragment from a filter object.
|
|
5
5
|
*
|
|
6
|
-
* Output shape (qs's
|
|
7
|
-
* ?filter[email][like]
|
|
6
|
+
* Output shape (qs's bracketed style), shown DECODED:
|
|
7
|
+
* ?filter[email][like]=%@x.com&filter[subscribed]=true&sort=createdAt:desc&limit=25&withCount=1&search=term
|
|
8
|
+
*
|
|
9
|
+
* On the wire the brackets are percent-encoded (`filter%5Bemail%5D%5Blike%5D=…`). RFC 3986
|
|
10
|
+
* admits no raw `[`/`]` in a query, and Tomcat — every Spring Boot app's default server —
|
|
11
|
+
* answers a raw one with its own HTML 400, so the generated Java and Kotlin controllers could
|
|
12
|
+
* not serve a single filtered request while this sent them raw. Every server-side parser
|
|
13
|
+
* decodes before it reads the brackets, so the encoded form means the same thing everywhere.
|
|
8
14
|
*
|
|
9
15
|
* Top-level `limit`, `offset`, `sort`, `withCount`, and `search` are emitted
|
|
10
16
|
* at the top level (not under `filter`). All other keys go inside `filter`.
|
|
@@ -28,5 +34,5 @@ export function buildFilterQs(filter: Record<string, unknown>): string {
|
|
|
28
34
|
const filterObj: Record<string, unknown> = { ...fields };
|
|
29
35
|
if (or !== undefined) filterObj.or = or;
|
|
30
36
|
if (and !== undefined) filterObj.and = and;
|
|
31
|
-
return qs.stringify({ ...top, filter: filterObj }
|
|
37
|
+
return qs.stringify({ ...top, filter: filterObj });
|
|
32
38
|
}
|