@cratestack/refine 0.8.14 → 0.9.1
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/README.md +28 -0
- package/dist/errors.d.ts +25 -7
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +71 -9
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +44 -22
- package/dist/index.js.map +1 -1
- package/dist/rpc-provider.d.ts.map +1 -1
- package/dist/rpc-provider.js +40 -18
- package/dist/rpc-provider.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -194,6 +194,34 @@ optimistic-lock-aware bulk workflows). Calling `update`/`deleteOne` on a `@versi
|
|
|
194
194
|
known version and no override throws rather than silently omitting `If-Match` — omitting it doesn't
|
|
195
195
|
fail on the wire the way a *stale* value does, so this package refuses to make that mistake for you.
|
|
196
196
|
|
|
197
|
+
## Errors
|
|
198
|
+
|
|
199
|
+
**Every method converts the same way, and conversion never destroys what was thrown.** All of
|
|
200
|
+
`getList`, `getMany`, `getOne`, `create`, `update`, `deleteOne` and `custom` route a thrown value
|
|
201
|
+
through `toRefineError` (exported, so you can reuse it) — there is no method that rethrows raw and
|
|
202
|
+
no method whose errors reach refine without `statusCode` (cratestack#786; before that fix the two
|
|
203
|
+
list methods and the four single-record methods disagreed, and which one you hit depended on which
|
|
204
|
+
screen the user was on).
|
|
205
|
+
|
|
206
|
+
Conversion **annotates the thrown value in place** rather than replacing it. If your transport
|
|
207
|
+
throws a typed error, the value your `onError` handler receives *is* that error:
|
|
208
|
+
|
|
209
|
+
```ts
|
|
210
|
+
class DeviceNotEnrolledError extends Error {}
|
|
211
|
+
|
|
212
|
+
// works identically on list screens and on detail/create/edit screens
|
|
213
|
+
if (error instanceof DeviceNotEnrolledError) { … }
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
`message` and `statusCode` are set on it, which is what refine renders — so a `CratestackHttpError`
|
|
217
|
+
gets its envelope's `payload.message` promoted, and a `412` gets the optimistic-locking message
|
|
218
|
+
above, while `status`/`payload`/`response` stay readable on the same object. When the thrown value
|
|
219
|
+
cannot be annotated (a thrown primitive, a frozen object), you get `{ message, statusCode, cause }`
|
|
220
|
+
with the original under `cause`.
|
|
221
|
+
|
|
222
|
+
Do not classify errors by string-matching `message` — it is the one field conversion is allowed to
|
|
223
|
+
rewrite.
|
|
224
|
+
|
|
197
225
|
## `createMany` / `updateMany` / `deleteMany`
|
|
198
226
|
|
|
199
227
|
Implemented, not declined, on both providers — but as N sequential single-record round trips
|
package/dist/errors.d.ts
CHANGED
|
@@ -10,12 +10,30 @@ import type { CratestackHttpErrorLike } from "./types.js";
|
|
|
10
10
|
* envelope's `payload.code`. */
|
|
11
11
|
export declare function isCratestackHttpError(error: unknown): error is CratestackHttpErrorLike;
|
|
12
12
|
/** Converts a thrown error from a generated model API call into refine's
|
|
13
|
-
* `HttpError`.
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
13
|
+
* `HttpError`.
|
|
14
|
+
*
|
|
15
|
+
* cratestack#786: this **preserves the thrown value** rather than
|
|
16
|
+
* flattening it into a bare object literal. It used to return
|
|
17
|
+
* `{ message, statusCode }` for anything that was not a
|
|
18
|
+
* `CratestackHttpError`, discarding the value's class, `name`, `cause`
|
|
19
|
+
* and every own property — so a consumer throwing a typed error from a
|
|
20
|
+
* custom transport (a `DeviceNotEnrolledError` raised before the request
|
|
21
|
+
* ever leaves the browser, say) and classifying it with `instanceof` got
|
|
22
|
+
* correct behaviour on list screens, where nothing wrapped, and silently
|
|
23
|
+
* wrong behaviour on every detail/create/edit screen, where this ran.
|
|
24
|
+
* The only workaround was string-matching the one field that survived.
|
|
25
|
+
*
|
|
26
|
+
* Whenever the thrown value is an ordinary mutable object, the returned
|
|
27
|
+
* value **is** that object, with `message` and `statusCode` set on it —
|
|
28
|
+
* `instanceof` keeps working, and so does reading any other field the
|
|
29
|
+
* thrower put there. Otherwise (a thrown primitive, a frozen object) the
|
|
30
|
+
* original is attached as `cause`, which is the standard place to look
|
|
31
|
+
* for it.
|
|
32
|
+
*
|
|
33
|
+
* Note that `message` is normalized either way: a 412 gets the conflict
|
|
34
|
+
* message above, and a `CratestackHttpError` gets its envelope's
|
|
35
|
+
* `payload.message` promoted. That is the field refine renders. The
|
|
36
|
+
* original stays readable on the same object (`status`, `payload`,
|
|
37
|
+
* `response`), since it *is* the same object. */
|
|
20
38
|
export declare function toRefineError(error: unknown): HttpError;
|
|
21
39
|
//# sourceMappingURL=errors.d.ts.map
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D;;;;;;;iCAOiC;AACjC,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,uBAAuB,CAOtF;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D;;;;;;;iCAOiC;AACjC,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,uBAAuB,CAOtF;AA+DD;;;;;;;;;;;;;;;;;;;;;;;;;kDAyBkD;AAClD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAGvD"}
|
package/dist/errors.js
CHANGED
|
@@ -12,15 +12,14 @@ export function isCratestackHttpError(error) {
|
|
|
12
12
|
"status" in error &&
|
|
13
13
|
typeof error.status === "number");
|
|
14
14
|
}
|
|
15
|
-
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
|
|
23
|
-
export function toRefineError(error) {
|
|
15
|
+
/** The `message`/`statusCode` refine needs, derived from whatever was
|
|
16
|
+
* thrown. A `412 Precondition Failed` — the response an `If-Match`-guarded
|
|
17
|
+
* update/delete returns on a stale version — is surfaced as a
|
|
18
|
+
* distinguishable conflict with a human-readable message rather than
|
|
19
|
+
* folded into a generic failure; this is the one piece of information a
|
|
20
|
+
* refine UI needs to tell "your edit was rejected because someone else
|
|
21
|
+
* changed this record first" apart from every other kind of failure. */
|
|
22
|
+
function describe(error) {
|
|
24
23
|
if (isCratestackHttpError(error)) {
|
|
25
24
|
if (error.status === 412) {
|
|
26
25
|
return {
|
|
@@ -36,4 +35,67 @@ export function toRefineError(error) {
|
|
|
36
35
|
}
|
|
37
36
|
return { message: error instanceof Error ? error.message : "Unknown error", statusCode: 500 };
|
|
38
37
|
}
|
|
38
|
+
/** Annotates the thrown value in place with the fields refine reads,
|
|
39
|
+
* and returns it — so its prototype, `name`, `cause`, and every own
|
|
40
|
+
* property survive the trip. `undefined` when that is not possible
|
|
41
|
+
* (a thrown primitive, a frozen or sealed object, a class exposing
|
|
42
|
+
* `message` as a getter with no setter), leaving the caller to fall
|
|
43
|
+
* back to a plain object.
|
|
44
|
+
*
|
|
45
|
+
* Mutating rather than copying is deliberate: an `Object.create`-based
|
|
46
|
+
* clone preserves the prototype but silently drops private class fields
|
|
47
|
+
* (`#foo`), which is precisely the state a typed error's own methods
|
|
48
|
+
* read. There is no way to copy a class instance faithfully from
|
|
49
|
+
* outside the class. */
|
|
50
|
+
function annotateInPlace(error, message, statusCode) {
|
|
51
|
+
if (typeof error !== "object" || error === null || !Object.isExtensible(error)) {
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
try {
|
|
55
|
+
const target = error;
|
|
56
|
+
target.statusCode = statusCode;
|
|
57
|
+
target.message = message;
|
|
58
|
+
if (target.message !== message || target.statusCode !== statusCode) {
|
|
59
|
+
// A setter that ignored the assignment leaves the object failing
|
|
60
|
+
// `HttpError`'s contract. (A non-writable data property throws
|
|
61
|
+
// instead — modules are strict mode — and lands in the `catch`.)
|
|
62
|
+
// Better a plain object than a lie.
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
return error;
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/** Converts a thrown error from a generated model API call into refine's
|
|
72
|
+
* `HttpError`.
|
|
73
|
+
*
|
|
74
|
+
* cratestack#786: this **preserves the thrown value** rather than
|
|
75
|
+
* flattening it into a bare object literal. It used to return
|
|
76
|
+
* `{ message, statusCode }` for anything that was not a
|
|
77
|
+
* `CratestackHttpError`, discarding the value's class, `name`, `cause`
|
|
78
|
+
* and every own property — so a consumer throwing a typed error from a
|
|
79
|
+
* custom transport (a `DeviceNotEnrolledError` raised before the request
|
|
80
|
+
* ever leaves the browser, say) and classifying it with `instanceof` got
|
|
81
|
+
* correct behaviour on list screens, where nothing wrapped, and silently
|
|
82
|
+
* wrong behaviour on every detail/create/edit screen, where this ran.
|
|
83
|
+
* The only workaround was string-matching the one field that survived.
|
|
84
|
+
*
|
|
85
|
+
* Whenever the thrown value is an ordinary mutable object, the returned
|
|
86
|
+
* value **is** that object, with `message` and `statusCode` set on it —
|
|
87
|
+
* `instanceof` keeps working, and so does reading any other field the
|
|
88
|
+
* thrower put there. Otherwise (a thrown primitive, a frozen object) the
|
|
89
|
+
* original is attached as `cause`, which is the standard place to look
|
|
90
|
+
* for it.
|
|
91
|
+
*
|
|
92
|
+
* Note that `message` is normalized either way: a 412 gets the conflict
|
|
93
|
+
* message above, and a `CratestackHttpError` gets its envelope's
|
|
94
|
+
* `payload.message` promoted. That is the field refine renders. The
|
|
95
|
+
* original stays readable on the same object (`status`, `payload`,
|
|
96
|
+
* `response`), since it *is* the same object. */
|
|
97
|
+
export function toRefineError(error) {
|
|
98
|
+
const { message, statusCode } = describe(error);
|
|
99
|
+
return annotateInPlace(error, message, statusCode) ?? { message, statusCode, cause: error };
|
|
100
|
+
}
|
|
39
101
|
//# sourceMappingURL=errors.js.map
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAGA;;;;;;;iCAOiC;AACjC,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,QAAQ,IAAI,KAAK;QACjB,OAAQ,KAA6B,CAAC,MAAM,KAAK,QAAQ,CAC1D,CAAC;AACJ,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAGA;;;;;;;iCAOiC;AACjC,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,QAAQ,IAAI,KAAK;QACjB,OAAQ,KAA6B,CAAC,MAAM,KAAK,QAAQ,CAC1D,CAAC;AACJ,CAAC;AAED;;;;;;yEAMyE;AACzE,SAAS,QAAQ,CAAC,KAAc;IAC9B,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACzB,OAAO;gBACL,OAAO,EAAE,mEAAmE;gBAC5E,UAAU,EAAE,GAAG;aAChB,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,KAAK,CAAC,OAA2C,CAAC;QAClE,OAAO;YACL,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,gBAAgB;YAC9D,UAAU,EAAE,KAAK,CAAC,MAAM;SACzB,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;AAChG,CAAC;AAED;;;;;;;;;;;yBAWyB;AACzB,SAAS,eAAe,CACtB,KAAc,EACd,OAAe,EACf,UAAkB;IAElB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/E,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,KAAgC,CAAC;QAChD,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;QAC/B,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;QACzB,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO,IAAI,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YACnE,iEAAiE;YACjE,+DAA+D;YAC/D,iEAAiE;YACjE,oCAAoC;YACpC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,KAAkB,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;kDAyBkD;AAClD,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,OAAO,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC9F,CAAC"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EASV,YAAY,EAeb,MAAM,iBAAiB,CAAC;AAGzB,OAAO,KAAK,EAAwD,WAAW,EAAE,MAAM,YAAY,CAAC;AAGpG,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrE,YAAY,EAAE,sCAAsC,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AACpE,YAAY,EACV,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,WAAW,GACZ,MAAM,YAAY,CAAC;AAwBpB,MAAM,WAAW,mCAAmC;IAClD;;;iDAG6C;IAC7C,SAAS,CAAC,EAAE,MAAM,MAAM,CAAC;IACzB;;;;;oDAKgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;CAClE;AAED;;;;;;;;;;;;;kBAakB;AAClB,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,WAAW,EACtB,OAAO,GAAE,mCAAwC,GAChD,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EASV,YAAY,EAeb,MAAM,iBAAiB,CAAC;AAGzB,OAAO,KAAK,EAAwD,WAAW,EAAE,MAAM,YAAY,CAAC;AAGpG,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrE,YAAY,EAAE,sCAAsC,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AACpE,YAAY,EACV,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,WAAW,GACZ,MAAM,YAAY,CAAC;AAwBpB,MAAM,WAAW,mCAAmC;IAClD;;;iDAG6C;IAC7C,SAAS,CAAC,EAAE,MAAM,MAAM,CAAC;IACzB;;;;;oDAKgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;CAClE;AAED;;;;;;;;;;;;;kBAakB;AAClB,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,WAAW,EACtB,OAAO,GAAE,mCAAwC,GAChD,YAAY,CAuOd"}
|
package/dist/index.js
CHANGED
|
@@ -39,6 +39,13 @@ function requireResource(resources, resource) {
|
|
|
39
39
|
* only" note. */
|
|
40
40
|
export function createCratestackDataProvider(resources, options = {}) {
|
|
41
41
|
const versionCache = createVersionCache();
|
|
42
|
+
// cratestack#786: EVERY method below routes a thrown value through
|
|
43
|
+
// `toRefineError` — no exceptions, including the two list methods that
|
|
44
|
+
// used to rethrow raw. A method that skips it hands refine an error
|
|
45
|
+
// with no `statusCode`; a method that flattened instead of annotating
|
|
46
|
+
// would break `instanceof` for a consumer's typed transport errors.
|
|
47
|
+
// Both failure modes are invisible until a consumer classifies errors,
|
|
48
|
+
// and both are covered by `tests/error-preservation.test.ts`.
|
|
42
49
|
async function getList(params) {
|
|
43
50
|
const config = requireResource(resources, params.resource);
|
|
44
51
|
const usePaging = config.paged && params.pagination?.mode !== "off";
|
|
@@ -50,21 +57,26 @@ export function createCratestackDataProvider(resources, options = {}) {
|
|
|
50
57
|
...(sort ? { sort } : {}),
|
|
51
58
|
...(usePaging ? { limit: pageSize, offset: (currentPage - 1) * pageSize } : {}),
|
|
52
59
|
};
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
60
|
+
try {
|
|
61
|
+
const result = await config.api.list({ query });
|
|
62
|
+
const items = config.paged ? result.items : result;
|
|
63
|
+
for (const item of items) {
|
|
64
|
+
rememberVersion(versionCache, params.resource, item[config.primaryKey], item, config);
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
data: items.map((item) => withRefineId(item, config.primaryKey)),
|
|
68
|
+
// A non-`@@paged` resource has no server-computed total beyond what
|
|
69
|
+
// one page returned — `items.length` here is honest about *that*
|
|
70
|
+
// response, not a claim about the full row count. See the README's
|
|
71
|
+
// "Pagination" section before wiring page controls to one.
|
|
72
|
+
total: config.paged
|
|
73
|
+
? (result.totalCount ?? items.length)
|
|
74
|
+
: items.length,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
throw toRefineError(error);
|
|
79
|
+
}
|
|
68
80
|
}
|
|
69
81
|
async function getOne(params) {
|
|
70
82
|
const config = requireResource(resources, params.resource);
|
|
@@ -86,12 +98,17 @@ export function createCratestackDataProvider(resources, options = {}) {
|
|
|
86
98
|
const query = {
|
|
87
99
|
filters: { [`${config.primaryKey}__in`]: params.ids.map(String).join(",") },
|
|
88
100
|
};
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
101
|
+
try {
|
|
102
|
+
const result = await config.api.list({ query });
|
|
103
|
+
const items = config.paged ? result.items : result;
|
|
104
|
+
for (const item of items) {
|
|
105
|
+
rememberVersion(versionCache, params.resource, item[config.primaryKey], item, config);
|
|
106
|
+
}
|
|
107
|
+
return { data: items.map((item) => withRefineId(item, config.primaryKey)) };
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
throw toRefineError(error);
|
|
93
111
|
}
|
|
94
|
-
return { data: items.map((item) => withRefineId(item, config.primaryKey)) };
|
|
95
112
|
}
|
|
96
113
|
async function create(params) {
|
|
97
114
|
const config = requireResource(resources, params.resource);
|
|
@@ -178,8 +195,13 @@ export function createCratestackDataProvider(resources, options = {}) {
|
|
|
178
195
|
throw new Error('custom() needs meta: { procedure: "<name>" } naming an entry in the "procedures" map ' +
|
|
179
196
|
"passed to createCratestackDataProvider");
|
|
180
197
|
}
|
|
181
|
-
|
|
182
|
-
|
|
198
|
+
try {
|
|
199
|
+
const data = await procedureFn(params.payload ?? {});
|
|
200
|
+
return { data: data };
|
|
201
|
+
}
|
|
202
|
+
catch (error) {
|
|
203
|
+
throw toRefineError(error);
|
|
204
|
+
}
|
|
183
205
|
}
|
|
184
206
|
// Cast, not a structural coincidence: `DataProvider`'s methods are
|
|
185
207
|
// individually generic over a caller-chosen `TData extends BaseRecord`
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAElG,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3D,yEAAyE;AACzE,uEAAuE;AACvE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAErE,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AAqBpE,SAAS,YAAY,CAAC,MAAW,EAAE,UAAkB;IACnD,qEAAqE;IACrE,uEAAuE;IACvE,qEAAqE;IACrE,uEAAuE;IACvE,0BAA0B;IAC1B,OAAO,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,UAAU,CAAY,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,eAAe,CAAC,SAAsB,EAAE,QAAgB;IAC/D,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,0CAA0C,QAAQ,oCAAoC;YACpF,wCAAwC,CAC3C,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAiBD;;;;;;;;;;;;;kBAakB;AAClB,MAAM,UAAU,4BAA4B,CAC1C,SAAsB,EACtB,OAAO,GAAwC,EAAE;IAEjD,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;IAE1C,KAAK,UAAU,OAAO,CAAC,MAAqB;QAC1C,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,UAAU,EAAE,IAAI,KAAK,KAAK,CAAC;QACpE,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE,WAAW,IAAI,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,QAAQ,IAAI,EAAE,CAAC;QAEnD,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,KAAK,GAAyB;YAClC,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC;YACvC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc-provider.d.ts","sourceRoot":"","sources":["../src/rpc-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EASV,YAAY,EAeb,MAAM,iBAAiB,CAAC;AAIzB,OAAO,KAAK,EAA6C,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAuBhG,MAAM,WAAW,sCAAsC;IACrD;;mEAE+D;IAC/D,SAAS,CAAC,EAAE,MAAM,MAAM,CAAC;IACzB;;;+CAG2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;CAClE;AAED;;;;;;;;;;;;;;+DAc+D;AAC/D,wBAAgB,+BAA+B,CAC7C,SAAS,EAAE,cAAc,EACzB,OAAO,GAAE,sCAA2C,GACnD,YAAY,
|
|
1
|
+
{"version":3,"file":"rpc-provider.d.ts","sourceRoot":"","sources":["../src/rpc-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EASV,YAAY,EAeb,MAAM,iBAAiB,CAAC;AAIzB,OAAO,KAAK,EAA6C,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAuBhG,MAAM,WAAW,sCAAsC;IACrD;;mEAE+D;IAC/D,SAAS,CAAC,EAAE,MAAM,MAAM,CAAC;IACzB;;;+CAG2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;CAClE;AAED;;;;;;;;;;;;;;+DAc+D;AAC/D,wBAAgB,+BAA+B,CAC7C,SAAS,EAAE,cAAc,EACzB,OAAO,GAAE,sCAA2C,GACnD,YAAY,CAyKd"}
|
package/dist/rpc-provider.js
CHANGED
|
@@ -32,6 +32,13 @@ function requireResource(resources, resource) {
|
|
|
32
32
|
* reason, same as REST's non-atomic N-round-trip strategy. */
|
|
33
33
|
export function createCratestackRpcDataProvider(resources, options = {}) {
|
|
34
34
|
const versionCache = createVersionCache();
|
|
35
|
+
// cratestack#786: EVERY method below routes a thrown value through
|
|
36
|
+
// `toRefineError` — no exceptions, including the two list methods that
|
|
37
|
+
// used to rethrow raw. A method that skips it hands refine an error
|
|
38
|
+
// with no `statusCode`; a method that flattened instead of annotating
|
|
39
|
+
// would break `instanceof` for a consumer's typed transport errors.
|
|
40
|
+
// Both failure modes are invisible until a consumer classifies errors,
|
|
41
|
+
// and both are covered by `tests/error-preservation.test.ts`.
|
|
35
42
|
async function getList(params) {
|
|
36
43
|
const config = requireResource(resources, params.resource);
|
|
37
44
|
const usePaging = config.paged && params.pagination?.mode !== "off";
|
|
@@ -43,17 +50,22 @@ export function createCratestackRpcDataProvider(resources, options = {}) {
|
|
|
43
50
|
...(sort ? { sort } : {}),
|
|
44
51
|
...(usePaging ? { limit: pageSize, offset: (currentPage - 1) * pageSize } : {}),
|
|
45
52
|
};
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
try {
|
|
54
|
+
const result = await config.api.list(query);
|
|
55
|
+
const items = config.paged ? result.items : result;
|
|
56
|
+
for (const item of items) {
|
|
57
|
+
rememberVersion(versionCache, params.resource, item[config.primaryKey], item, config);
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
data: items.map((item) => withRefineId(item, config.primaryKey)),
|
|
61
|
+
total: config.paged
|
|
62
|
+
? (result.totalCount ?? items.length)
|
|
63
|
+
: items.length,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
throw toRefineError(error);
|
|
68
|
+
}
|
|
57
69
|
}
|
|
58
70
|
async function getOne(params) {
|
|
59
71
|
const config = requireResource(resources, params.resource);
|
|
@@ -73,12 +85,17 @@ export function createCratestackRpcDataProvider(resources, options = {}) {
|
|
|
73
85
|
const query = {
|
|
74
86
|
filters: [{ key: `${config.primaryKey}__in`, value: params.ids.map(String).join(",") }],
|
|
75
87
|
};
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
88
|
+
try {
|
|
89
|
+
const result = await config.api.list(query);
|
|
90
|
+
const items = config.paged ? result.items : result;
|
|
91
|
+
for (const item of items) {
|
|
92
|
+
rememberVersion(versionCache, params.resource, item[config.primaryKey], item, config);
|
|
93
|
+
}
|
|
94
|
+
return { data: items.map((item) => withRefineId(item, config.primaryKey)) };
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
throw toRefineError(error);
|
|
80
98
|
}
|
|
81
|
-
return { data: items.map((item) => withRefineId(item, config.primaryKey)) };
|
|
82
99
|
}
|
|
83
100
|
async function create(params) {
|
|
84
101
|
const config = requireResource(resources, params.resource);
|
|
@@ -137,8 +154,13 @@ export function createCratestackRpcDataProvider(resources, options = {}) {
|
|
|
137
154
|
throw new Error('custom() needs meta: { procedure: "<name>" } naming an entry in the "procedures" map ' +
|
|
138
155
|
"passed to createCratestackRpcDataProvider");
|
|
139
156
|
}
|
|
140
|
-
|
|
141
|
-
|
|
157
|
+
try {
|
|
158
|
+
const data = await procedureFn(params.payload ?? {});
|
|
159
|
+
return { data: data };
|
|
160
|
+
}
|
|
161
|
+
catch (error) {
|
|
162
|
+
throw toRefineError(error);
|
|
163
|
+
}
|
|
142
164
|
}
|
|
143
165
|
// Same cast, same reasoning as REST's `createCratestackDataProvider` —
|
|
144
166
|
// see that function's closing comment in `index.ts`.
|
package/dist/rpc-provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc-provider.js","sourceRoot":"","sources":["../src/rpc-provider.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG5E,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAIlG,SAAS,YAAY,CAAC,MAAW,EAAE,UAAkB;IACnD,qEAAqE;IACrE,0BAA0B;IAC1B,OAAO,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,UAAU,CAAY,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,eAAe,CAAC,SAAyB,EAAE,QAAgB;IAClE,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,0CAA0C,QAAQ,oCAAoC;YACpF,2CAA2C,CAC9C,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAcD;;;;;;;;;;;;;;+DAc+D;AAC/D,MAAM,UAAU,+BAA+B,CAC7C,SAAyB,EACzB,OAAO,GAA2C,EAAE;IAEpD,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;IAE1C,KAAK,UAAU,OAAO,CAAC,MAAqB;QAC1C,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,UAAU,EAAE,IAAI,KAAK,KAAK,CAAC;QACpE,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,EAAE,WAAW,IAAI,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,QAAQ,IAAI,EAAE,CAAC;QAEnD,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,KAAK,GAA2B;YACpC,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC;YAC1C,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChF,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"rpc-provider.js","sourceRoot":"","sources":["../src/rpc-provider.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cratestack/refine",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"description": "A refine.dev DataProvider over CrateStack's generated TypeScript client (REST or RPC) — the safe end-user admin-UI surface that goes through the generated API (policy, validation, @version concurrency, audit), unlike cratestack-studio's direct-to-database sysadmin access.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -45,9 +45,9 @@
|
|
|
45
45
|
"@refinedev/core": "^5.0.0",
|
|
46
46
|
"decimal.js": "^10.6.0",
|
|
47
47
|
"typescript": "^7.0.2",
|
|
48
|
-
"vitest": "^4.1.
|
|
48
|
+
"vitest": "^4.1.11"
|
|
49
49
|
},
|
|
50
50
|
"engines": {
|
|
51
|
-
"node": ">=
|
|
51
|
+
"node": ">=24"
|
|
52
52
|
}
|
|
53
53
|
}
|