@effect-rx/rx-react 0.40.15 → 0.41.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/cjs/Hooks.js +7 -13
- package/dist/cjs/Hooks.js.map +1 -1
- package/dist/dts/Hooks.d.ts +4 -10
- package/dist/dts/Hooks.d.ts.map +1 -1
- package/dist/esm/Hooks.js +5 -10
- package/dist/esm/Hooks.js.map +1 -1
- package/package.json +2 -2
- package/src/Hooks.ts +10 -18
package/dist/cjs/Hooks.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", {
|
|
9
9
|
value: true
|
|
10
10
|
});
|
|
11
|
-
exports.useRxValue = exports.
|
|
11
|
+
exports.useRxValue = exports.useRxSuspense = exports.useRxSubscribe = exports.useRxSetPromise = exports.useRxSet = exports.useRxRefresh = exports.useRxRefPropValue = exports.useRxRefProp = exports.useRxRef = exports.useRxMount = exports.useRxInitialValues = exports.useRx = void 0;
|
|
12
12
|
var Registry = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@effect-rx/rx/Registry"));
|
|
13
13
|
var Rx = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@effect-rx/rx/Rx"));
|
|
14
14
|
var _effect = /*#__PURE__*/require("effect");
|
|
@@ -139,7 +139,9 @@ const useRxSetPromise = rx => {
|
|
|
139
139
|
mountRx(registry, rx);
|
|
140
140
|
return React.useCallback((value, options) => {
|
|
141
141
|
registry.set(rx, value);
|
|
142
|
-
return _effect.Effect.runPromiseExit(Registry.getResult(registry, rx
|
|
142
|
+
return _effect.Effect.runPromiseExit(Registry.getResult(registry, rx, {
|
|
143
|
+
suspendOnWaiting: true
|
|
144
|
+
}), options);
|
|
143
145
|
}, [registry, rx]);
|
|
144
146
|
};
|
|
145
147
|
/**
|
|
@@ -200,16 +202,8 @@ function rxResultOrSuspend(registry, rx, suspendOnWaiting) {
|
|
|
200
202
|
*/
|
|
201
203
|
const useRxSuspense = (rx, options) => {
|
|
202
204
|
const registry = React.useContext(_RegistryContext.RegistryContext);
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
/**
|
|
206
|
-
* @since 1.0.0
|
|
207
|
-
* @category hooks
|
|
208
|
-
*/
|
|
209
|
-
exports.useRxSuspense = useRxSuspense;
|
|
210
|
-
const useRxSuspenseSuccess = (rx, options) => {
|
|
211
|
-
const result = useRxSuspense(rx, options);
|
|
212
|
-
if (result._tag === "Failure") {
|
|
205
|
+
const result = rxResultOrSuspend(registry, rx, options?.suspendOnWaiting ?? false);
|
|
206
|
+
if (result._tag === "Failure" && !options?.includeFailure) {
|
|
213
207
|
throw Cause.squash(result.cause);
|
|
214
208
|
}
|
|
215
209
|
return result;
|
|
@@ -218,7 +212,7 @@ const useRxSuspenseSuccess = (rx, options) => {
|
|
|
218
212
|
* @since 1.0.0
|
|
219
213
|
* @category hooks
|
|
220
214
|
*/
|
|
221
|
-
exports.
|
|
215
|
+
exports.useRxSuspense = useRxSuspense;
|
|
222
216
|
const useRxSubscribe = (rx, f, options) => {
|
|
223
217
|
const registry = React.useContext(_RegistryContext.RegistryContext);
|
|
224
218
|
React.useEffect(() => registry.subscribe(rx, f, options), [registry, rx, f, options?.immediate]);
|
package/dist/cjs/Hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hooks.js","names":["Object","defineProperty","exports","value","useRxValue","
|
|
1
|
+
{"version":3,"file":"Hooks.js","names":["Object","defineProperty","exports","value","useRxValue","useRxSuspense","useRxSubscribe","useRxSetPromise","useRxSet","useRxRefresh","useRxRefPropValue","useRxRefProp","useRxRef","useRxMount","useRxInitialValues","useRx","Registry","_interopRequireWildcard","require","Rx","_effect","Cause","_GlobalValue","React","_RegistryContext","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","getOwnPropertyDescriptor","storeRegistry","globalValue","makeStore","registry","rx","stores","undefined","store","newStore","subscribe","snapshot","getServerSnapshot","getServerValue","useStore","useSyncExternalStore","initialValuesSet","initialValues","useContext","RegistryContext","WeakSet","add","ensureNode","setValue","rxB","useMemo","map","mountRx","useEffect","mount","setRx","useCallback","options","Effect","runPromiseExit","getResult","suspendOnWaiting","refresh","rxPromiseMap","Map","rxToPromise","promise","Promise","resolve","dispose","result","_tag","waiting","setTimeout","delete","rxResultOrSuspend","includeFailure","squash","cause","immediate","ref","useState","prop"],"sources":["../../src/Hooks.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/dts/Hooks.d.ts
CHANGED
|
@@ -46,16 +46,10 @@ export declare const useRx: <R, W>(rx: Rx.Writable<R, W>) => readonly [value: R,
|
|
|
46
46
|
* @since 1.0.0
|
|
47
47
|
* @category hooks
|
|
48
48
|
*/
|
|
49
|
-
export declare const useRxSuspense: <A, E>(rx: Rx.Rx<Result.Result<A, E>>, options?: {
|
|
50
|
-
readonly suspendOnWaiting?: boolean;
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
* @since 1.0.0
|
|
54
|
-
* @category hooks
|
|
55
|
-
*/
|
|
56
|
-
export declare const useRxSuspenseSuccess: <A, E>(rx: Rx.Rx<Result.Result<A, E>>, options?: {
|
|
57
|
-
readonly suspendOnWaiting?: boolean;
|
|
58
|
-
}) => Result.Success<A, E>;
|
|
49
|
+
export declare const useRxSuspense: <A, E, const IncludeFailure extends boolean = false>(rx: Rx.Rx<Result.Result<A, E>>, options?: {
|
|
50
|
+
readonly suspendOnWaiting?: boolean | undefined;
|
|
51
|
+
readonly includeFailure?: IncludeFailure | undefined;
|
|
52
|
+
}) => Result.Success<A, E> | (IncludeFailure extends true ? Result.Failure<A, E> : never);
|
|
59
53
|
/**
|
|
60
54
|
* @since 1.0.0
|
|
61
55
|
* @category hooks
|
package/dist/dts/Hooks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hooks.d.ts","sourceRoot":"","sources":["../../src/Hooks.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAGjD,OAAO,KAAK,KAAK,IAAI,MAAM,aAAa,CAAA;AAoDxC;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,eAAe,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,KAAG,IAaxF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE;IACvB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;CAQxC,CAAA;AAiBD;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAG,IAG5C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAIhF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EACrC,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,KACtC,CACD,CAAC,EAAE,CAAC,EACJ,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;CAC1C,GAAG,SAAS,KACV,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAO3B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAG,MAAM,IAMpD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,EAAE,CAAC,EACxB,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,KACpB,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAMjE,CAAA;AA8CD;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"Hooks.d.ts","sourceRoot":"","sources":["../../src/Hooks.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,MAAM,sBAAsB,CAAA;AACnD,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAGjD,OAAO,KAAK,KAAK,IAAI,MAAM,aAAa,CAAA;AAoDxC;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,eAAe,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,KAAG,IAaxF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE;IACvB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACpB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;CAQxC,CAAA;AAiBD;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAG,IAG5C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,KAAG,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAIhF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EACrC,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,KACtC,CACD,CAAC,EAAE,CAAC,EACJ,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;CAC1C,GAAG,SAAS,KACV,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAO3B,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAG,MAAM,IAMpD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,EAAE,CAAC,EACxB,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,KACpB,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAMjE,CAAA;AA8CD;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,cAAc,SAAS,OAAO,GAAG,KAAK,EAC9E,IAAI,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAC9B,UAAU;IACR,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC/C,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,GAAG,SAAS,CAAA;CACrD,KACA,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,SAAS,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAOpF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,EAC9B,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EACZ,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,EACjB,UAAU;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,KACzC,IAMF,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAG,CAIvD,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAChD,CAAA;AAElD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAG,CAAC,CAAC,CAAC,CACvD,CAAA"}
|
package/dist/esm/Hooks.js
CHANGED
|
@@ -109,7 +109,9 @@ export const useRxSetPromise = rx => {
|
|
|
109
109
|
mountRx(registry, rx);
|
|
110
110
|
return React.useCallback((value, options) => {
|
|
111
111
|
registry.set(rx, value);
|
|
112
|
-
return Effect.runPromiseExit(Registry.getResult(registry, rx
|
|
112
|
+
return Effect.runPromiseExit(Registry.getResult(registry, rx, {
|
|
113
|
+
suspendOnWaiting: true
|
|
114
|
+
}), options);
|
|
113
115
|
}, [registry, rx]);
|
|
114
116
|
};
|
|
115
117
|
/**
|
|
@@ -167,15 +169,8 @@ function rxResultOrSuspend(registry, rx, suspendOnWaiting) {
|
|
|
167
169
|
*/
|
|
168
170
|
export const useRxSuspense = (rx, options) => {
|
|
169
171
|
const registry = React.useContext(RegistryContext);
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
/**
|
|
173
|
-
* @since 1.0.0
|
|
174
|
-
* @category hooks
|
|
175
|
-
*/
|
|
176
|
-
export const useRxSuspenseSuccess = (rx, options) => {
|
|
177
|
-
const result = useRxSuspense(rx, options);
|
|
178
|
-
if (result._tag === "Failure") {
|
|
172
|
+
const result = rxResultOrSuspend(registry, rx, options?.suspendOnWaiting ?? false);
|
|
173
|
+
if (result._tag === "Failure" && !options?.includeFailure) {
|
|
179
174
|
throw Cause.squash(result.cause);
|
|
180
175
|
}
|
|
181
176
|
return result;
|
package/dist/esm/Hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hooks.js","names":["Registry","Rx","Effect","Cause","globalValue","React","RegistryContext","storeRegistry","WeakMap","makeStore","registry","rx","stores","get","undefined","set","store","newStore","subscribe","f","snapshot","getServerSnapshot","getServerValue","useStore","useSyncExternalStore","initialValuesSet","useRxInitialValues","initialValues","useContext","WeakSet","value","has","add","ensureNode","setValue","useRxValue","rxB","useMemo","map","mountRx","useEffect","mount","setRx","useCallback","useRxMount","useRxSet","useRxSetPromise","options","runPromiseExit","getResult","useRxRefresh","refresh","useRx","rxPromiseMap","
|
|
1
|
+
{"version":3,"file":"Hooks.js","names":["Registry","Rx","Effect","Cause","globalValue","React","RegistryContext","storeRegistry","WeakMap","makeStore","registry","rx","stores","get","undefined","set","store","newStore","subscribe","f","snapshot","getServerSnapshot","getServerValue","useStore","useSyncExternalStore","initialValuesSet","useRxInitialValues","initialValues","useContext","WeakSet","value","has","add","ensureNode","setValue","useRxValue","rxB","useMemo","map","mountRx","useEffect","mount","setRx","useCallback","useRxMount","useRxSet","useRxSetPromise","options","runPromiseExit","getResult","suspendOnWaiting","useRxRefresh","refresh","useRx","rxPromiseMap","Map","default","rxToPromise","promise","Promise","resolve","dispose","result","_tag","waiting","setTimeout","delete","rxResultOrSuspend","useRxSuspense","includeFailure","squash","cause","useRxSubscribe","immediate","useRxRef","ref","useState","useRxRefProp","prop","useRxRefPropValue"],"sources":["../../src/Hooks.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-rx/rx-react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.41.0",
|
|
4
4
|
"description": "Reactive toolkit for Effect",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"author": "Effect contributors",
|
|
12
12
|
"homepage": "https://github.com/effect-ts/rx",
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"@effect-rx/rx": "^0.48.
|
|
14
|
+
"@effect-rx/rx": "^0.48.2"
|
|
15
15
|
},
|
|
16
16
|
"peerDependencies": {
|
|
17
17
|
"effect": "^3.17",
|
package/src/Hooks.ts
CHANGED
|
@@ -145,7 +145,7 @@ export const useRxSetPromise = <E, A, W>(
|
|
|
145
145
|
mountRx(registry, rx)
|
|
146
146
|
return React.useCallback((value, options) => {
|
|
147
147
|
registry.set(rx, value)
|
|
148
|
-
return Effect.runPromiseExit(Registry.getResult(registry, rx), options)
|
|
148
|
+
return Effect.runPromiseExit(Registry.getResult(registry, rx, { suspendOnWaiting: true }), options)
|
|
149
149
|
}, [registry, rx])
|
|
150
150
|
}
|
|
151
151
|
|
|
@@ -223,27 +223,19 @@ function rxResultOrSuspend<A, E>(
|
|
|
223
223
|
* @since 1.0.0
|
|
224
224
|
* @category hooks
|
|
225
225
|
*/
|
|
226
|
-
export const useRxSuspense = <A, E>(
|
|
226
|
+
export const useRxSuspense = <A, E, const IncludeFailure extends boolean = false>(
|
|
227
227
|
rx: Rx.Rx<Result.Result<A, E>>,
|
|
228
|
-
options?: {
|
|
229
|
-
|
|
228
|
+
options?: {
|
|
229
|
+
readonly suspendOnWaiting?: boolean | undefined
|
|
230
|
+
readonly includeFailure?: IncludeFailure | undefined
|
|
231
|
+
}
|
|
232
|
+
): Result.Success<A, E> | (IncludeFailure extends true ? Result.Failure<A, E> : never) => {
|
|
230
233
|
const registry = React.useContext(RegistryContext)
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
/**
|
|
235
|
-
* @since 1.0.0
|
|
236
|
-
* @category hooks
|
|
237
|
-
*/
|
|
238
|
-
export const useRxSuspenseSuccess = <A, E>(
|
|
239
|
-
rx: Rx.Rx<Result.Result<A, E>>,
|
|
240
|
-
options?: { readonly suspendOnWaiting?: boolean }
|
|
241
|
-
): Result.Success<A, E> => {
|
|
242
|
-
const result = useRxSuspense(rx, options)
|
|
243
|
-
if (result._tag === "Failure") {
|
|
234
|
+
const result = rxResultOrSuspend(registry, rx, options?.suspendOnWaiting ?? false)
|
|
235
|
+
if (result._tag === "Failure" && !options?.includeFailure) {
|
|
244
236
|
throw Cause.squash(result.cause)
|
|
245
237
|
}
|
|
246
|
-
return result
|
|
238
|
+
return result as any
|
|
247
239
|
}
|
|
248
240
|
|
|
249
241
|
/**
|