json-react-layouts-data-loader
Advanced tools
Comparing version 4.0.0-beta.6 to 4.0.0-beta.7
# json-react-layouts-data-loader | ||
## 4.0.0-beta.7 | ||
### Patch Changes | ||
- ddf9a2e: Fixed issue where middleware is violating the rules of hooks | ||
- Updated dependencies [ddf9a2e] | ||
- json-react-layouts@3.0.0-beta.7 | ||
## 4.0.0-beta.6 | ||
@@ -4,0 +12,0 @@ |
@@ -47,3 +47,3 @@ "use strict"; | ||
expect(wrapper.find(TestComponentWithData).text()).toBe('Loading'); | ||
return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve); })]; | ||
return [4 /*yield*/, test_utils_1.act(function () { return new Promise(function (resolve) { return setTimeout(resolve); }); })]; | ||
case 1: | ||
@@ -159,3 +159,3 @@ _b.sent(); | ||
})))); | ||
return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve); })]; | ||
return [4 /*yield*/, test_utils_1.act(function () { return new Promise(function (resolve) { return setTimeout(resolve); }); })]; | ||
case 1: | ||
@@ -175,3 +175,3 @@ _b.sent(); | ||
}); | ||
return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve); })]; | ||
return [4 /*yield*/, test_utils_1.act(function () { return new Promise(function (resolve) { return setTimeout(resolve); }); })]; | ||
case 2: | ||
@@ -178,0 +178,0 @@ _b.sent(); |
@@ -5,2 +5,3 @@ "use strict"; | ||
var tslib_1 = require("tslib"); | ||
var react_1 = tslib_1.__importDefault(require("react")); | ||
var get_data_args_1 = require("./get-data-args"); | ||
@@ -20,2 +21,24 @@ Object.defineProperty(exports, "getComponentDataArgs", { enumerable: true, get: function () { return get_data_args_1.getComponentDataArgs; } }); | ||
}, ['dataDefinitionArgs']); | ||
function WithDataLoad(_a) { | ||
var dataDefinition = _a.dataDefinition, componentProps = _a.componentProps, services = _a.services, next = _a.next, middlewareProps = _a.middlewareProps; | ||
var dataDefinitionArgs = dataDefinition.useRuntimeParams | ||
? tslib_1.__assign(tslib_1.__assign({}, componentProps.dataDefinitionArgs), dataDefinition.useRuntimeParams(componentProps.dataDefinitionArgs, services.services)) : componentProps.dataDefinitionArgs; | ||
if (dataDefinition.useRuntimeParams) { | ||
componentProps = tslib_1.__assign(tslib_1.__assign({}, componentProps), { dataDefinitionArgs: dataDefinitionArgs }); | ||
} | ||
var renderProps = useComponentData({ | ||
dataDefinition: dataDefinition, | ||
dataDefinitionArgs: dataDefinitionArgs, | ||
layout: services.layout, | ||
}); | ||
if (!renderProps.lastAction.success) { | ||
// We have failed to load data, use error boundaries | ||
// to send error back up and render error page | ||
throw renderProps.lastAction.error; | ||
} | ||
var data = renderProps.data.hasData | ||
? { data: { loaded: true, result: renderProps.data.result } } | ||
: { data: { loaded: false } }; | ||
return (next(tslib_1.__assign(tslib_1.__assign({}, componentProps), data), middlewareProps, services) || null); | ||
} | ||
return { | ||
@@ -42,22 +65,3 @@ createRegisterableComponentWithData: function createRegisterableComponentWithData(type, dataDefinition, render) { | ||
if (dataDefinition) { | ||
var dataDefinitionArgs = dataDefinition.useRuntimeParams | ||
? tslib_1.__assign(tslib_1.__assign({}, componentProps.dataDefinitionArgs), dataDefinition.useRuntimeParams(componentProps.dataDefinitionArgs, services.services)) : componentProps.dataDefinitionArgs; | ||
if (dataDefinition.useRuntimeParams) { | ||
componentProps = tslib_1.__assign(tslib_1.__assign({}, componentProps), { dataDefinitionArgs: dataDefinitionArgs }); | ||
} | ||
// eslint-disable-next-line react-hooks/rules-of-hooks | ||
var renderProps = useComponentData({ | ||
dataDefinition: dataDefinition, | ||
dataDefinitionArgs: dataDefinitionArgs, | ||
layout: services.layout, | ||
}); | ||
if (!renderProps.lastAction.success) { | ||
// We have failed to load data, use error boundaries | ||
// to send error back up and render error page | ||
throw renderProps.lastAction.error; | ||
} | ||
var data = renderProps.data.hasData | ||
? { data: { loaded: true, result: renderProps.data.result } } | ||
: { data: { loaded: false } }; | ||
return (next(tslib_1.__assign(tslib_1.__assign({}, componentProps), data), middlewareProps, services) || null); | ||
return (react_1.default.createElement(WithDataLoad, { dataDefinition: dataDefinition, componentProps: componentProps, services: services, next: next, middlewareProps: middlewareProps })); | ||
} | ||
@@ -64,0 +68,0 @@ return next(componentProps, middlewareProps, services); |
@@ -45,3 +45,3 @@ import { __assign, __awaiter, __generator } from "tslib"; | ||
expect(wrapper.find(TestComponentWithData).text()).toBe('Loading'); | ||
return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve); })]; | ||
return [4 /*yield*/, act(function () { return new Promise(function (resolve) { return setTimeout(resolve); }); })]; | ||
case 1: | ||
@@ -157,3 +157,3 @@ _b.sent(); | ||
})))); | ||
return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve); })]; | ||
return [4 /*yield*/, act(function () { return new Promise(function (resolve) { return setTimeout(resolve); }); })]; | ||
case 1: | ||
@@ -173,3 +173,3 @@ _b.sent(); | ||
}); | ||
return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve); })]; | ||
return [4 /*yield*/, act(function () { return new Promise(function (resolve) { return setTimeout(resolve); }); })]; | ||
case 2: | ||
@@ -176,0 +176,0 @@ _b.sent(); |
import { __assign, __rest } from "tslib"; | ||
import React from 'react'; | ||
import { getComponentDataArgs } from './get-data-args'; | ||
@@ -15,2 +16,24 @@ // TODO this could have a better name | ||
}, ['dataDefinitionArgs']); | ||
function WithDataLoad(_a) { | ||
var dataDefinition = _a.dataDefinition, componentProps = _a.componentProps, services = _a.services, next = _a.next, middlewareProps = _a.middlewareProps; | ||
var dataDefinitionArgs = dataDefinition.useRuntimeParams | ||
? __assign(__assign({}, componentProps.dataDefinitionArgs), dataDefinition.useRuntimeParams(componentProps.dataDefinitionArgs, services.services)) : componentProps.dataDefinitionArgs; | ||
if (dataDefinition.useRuntimeParams) { | ||
componentProps = __assign(__assign({}, componentProps), { dataDefinitionArgs: dataDefinitionArgs }); | ||
} | ||
var renderProps = useComponentData({ | ||
dataDefinition: dataDefinition, | ||
dataDefinitionArgs: dataDefinitionArgs, | ||
layout: services.layout, | ||
}); | ||
if (!renderProps.lastAction.success) { | ||
// We have failed to load data, use error boundaries | ||
// to send error back up and render error page | ||
throw renderProps.lastAction.error; | ||
} | ||
var data = renderProps.data.hasData | ||
? { data: { loaded: true, result: renderProps.data.result } } | ||
: { data: { loaded: false } }; | ||
return (next(__assign(__assign({}, componentProps), data), middlewareProps, services) || null); | ||
} | ||
return { | ||
@@ -37,22 +60,3 @@ createRegisterableComponentWithData: function createRegisterableComponentWithData(type, dataDefinition, render) { | ||
if (dataDefinition) { | ||
var dataDefinitionArgs = dataDefinition.useRuntimeParams | ||
? __assign(__assign({}, componentProps.dataDefinitionArgs), dataDefinition.useRuntimeParams(componentProps.dataDefinitionArgs, services.services)) : componentProps.dataDefinitionArgs; | ||
if (dataDefinition.useRuntimeParams) { | ||
componentProps = __assign(__assign({}, componentProps), { dataDefinitionArgs: dataDefinitionArgs }); | ||
} | ||
// eslint-disable-next-line react-hooks/rules-of-hooks | ||
var renderProps = useComponentData({ | ||
dataDefinition: dataDefinition, | ||
dataDefinitionArgs: dataDefinitionArgs, | ||
layout: services.layout, | ||
}); | ||
if (!renderProps.lastAction.success) { | ||
// We have failed to load data, use error boundaries | ||
// to send error back up and render error page | ||
throw renderProps.lastAction.error; | ||
} | ||
var data = renderProps.data.hasData | ||
? { data: { loaded: true, result: renderProps.data.result } } | ||
: { data: { loaded: false } }; | ||
return (next(__assign(__assign({}, componentProps), data), middlewareProps, services) || null); | ||
return (React.createElement(WithDataLoad, { dataDefinition: dataDefinition, componentProps: componentProps, services: services, next: next, middlewareProps: middlewareProps })); | ||
} | ||
@@ -59,0 +63,0 @@ return next(componentProps, middlewareProps, services); |
{ | ||
"name": "json-react-layouts-data-loader", | ||
"version": "4.0.0-beta.6", | ||
"version": "4.0.0-beta.7", | ||
"repository": "github:sevenwestmedia-labs/json-react-layouts", | ||
"author": "Seven West Media WA", | ||
"license": "MIT", | ||
"sideEffects": false, | ||
"main": "dist/cjs/index.js", | ||
@@ -11,3 +12,3 @@ "module": "dist/esm/index.js", | ||
"dependencies": { | ||
"json-react-layouts": "^3.0.0-beta.6" | ||
"json-react-layouts": "^3.0.0-beta.7" | ||
}, | ||
@@ -14,0 +15,0 @@ "peerDependencies": { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
246938
1123