@next-core/brick-kit 2.107.4 → 2.110.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/CHANGELOG.md +33 -0
- package/dist/index.bundle.js +335 -45
- package/dist/index.bundle.js.map +1 -1
- package/dist/index.esm.js +337 -48
- package/dist/index.esm.js.map +1 -1
- package/dist/types/core/StoryboardFunctionRegistryFactory.d.ts.map +1 -1
- package/dist/types/hooks/index.d.ts +2 -0
- package/dist/types/hooks/index.d.ts.map +1 -0
- package/dist/types/hooks/useProvider/fetch.d.ts +3 -0
- package/dist/types/hooks/useProvider/fetch.d.ts.map +1 -0
- package/dist/types/hooks/useProvider/fetchProviderArgs.d.ts +3 -0
- package/dist/types/hooks/useProvider/fetchProviderArgs.d.ts.map +1 -0
- package/dist/types/hooks/useProvider/useProvider.d.ts +3 -0
- package/dist/types/hooks/useProvider/useProvider.d.ts.map +1 -0
- package/dist/types/hooks/useProvider/useProvider.spec.d.ts +2 -0
- package/dist/types/hooks/useProvider/useProvider.spec.d.ts.map +1 -0
- package/dist/types/hooks/useProvider/useProviderArgs.d.ts +3 -0
- package/dist/types/hooks/useProvider/useProviderArgs.d.ts.map +1 -0
- package/dist/types/hooks/useProvider/useProviderArgsDefaults.d.ts +5 -0
- package/dist/types/hooks/useProvider/useProviderArgsDefaults.d.ts.map +1 -0
- package/dist/types/hooks/useProvider/useProviderTypes.d.ts +60 -0
- package/dist/types/hooks/useProvider/useProviderTypes.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/internal/getGeneralGlobals.d.ts +1 -0
- package/dist/types/internal/getGeneralGlobals.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/index.esm.js
CHANGED
|
@@ -3,9 +3,9 @@ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
|
3
3
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
4
4
|
import _asyncToGenerator$4 from '@babel/runtime/helpers/asyncToGenerator';
|
|
5
5
|
import _defineProperty$1 from '@babel/runtime/helpers/defineProperty';
|
|
6
|
-
import React, { useState, useEffect, useRef, forwardRef, useImperativeHandle, useMemo, useContext, createContext } from 'react';
|
|
6
|
+
import React, { useState, useEffect, useRef, forwardRef, useImperativeHandle, useMemo, useContext, createContext, useReducer, useCallback } from 'react';
|
|
7
7
|
import { JsonStorage, toPath, computeRealRoutePath, hasOwnProperty, isObject, isEvaluable, transformAndInject, transform, trackContext, trackState, scanPermissionActionsInStoryboard, precookFunction, cook, resolveContextConcurrently, syncResolveContextConcurrently, shouldAllowRecursiveEvaluations, preevaluate, inject, deepFreeze, createProviderClass, scanRouteAliasInStoryboard, loadScript, getTemplateDepsOfStoryboard, getDllAndDepsOfStoryboard, asyncProcessStoryboard, prefetchScript, scanBricksInBrickConf, scanProcessorsInAny, getDllAndDepsByResource, matchPath, asyncProcessBrick, restoreDynamicTemplates, mapCustomApisToNameAndNamespace, scanCustomApisInStoryboard } from '@next-core/brick-utils';
|
|
8
|
-
import lodash, { set, get, difference, identity, uniqueId, cloneDeep, isNil, sortBy, merge, orderBy, omit, clamp, isEmpty, noop } from 'lodash';
|
|
8
|
+
import lodash, { set, get, difference, identity, uniqueId, cloneDeep, isNil, sortBy, merge, orderBy, omit, clamp, isEmpty, noop, isObject as isObject$1, isString } from 'lodash';
|
|
9
9
|
import { http, HttpResponseError, HttpFetchError } from '@next-core/brick-http';
|
|
10
10
|
import moment from 'moment';
|
|
11
11
|
import { pipes } from '@next-core/pipes';
|
|
@@ -1511,6 +1511,39 @@ function resetPermissionPreChecks() {
|
|
|
1511
1511
|
permissionMap.clear();
|
|
1512
1512
|
}
|
|
1513
1513
|
|
|
1514
|
+
var THROW = () => {
|
|
1515
|
+
throw new Error("Can't modify read-only proxy object");
|
|
1516
|
+
};
|
|
1517
|
+
|
|
1518
|
+
var readOnlyHandler = {
|
|
1519
|
+
set: THROW,
|
|
1520
|
+
defineProperty: THROW,
|
|
1521
|
+
deleteProperty: THROW,
|
|
1522
|
+
setPrototypeOf: THROW
|
|
1523
|
+
};
|
|
1524
|
+
function getReadOnlyProxy(object) {
|
|
1525
|
+
return new Proxy(object, readOnlyHandler);
|
|
1526
|
+
} // First, we want to make accessing property of globals lazy,
|
|
1527
|
+
// So we use *Proxy* to make a dynamic accessor for each of these globals.
|
|
1528
|
+
// But we also want to keep them working in devtools.
|
|
1529
|
+
|
|
1530
|
+
function getDynamicReadOnlyProxy(_ref) {
|
|
1531
|
+
var {
|
|
1532
|
+
get,
|
|
1533
|
+
ownKeys
|
|
1534
|
+
} = _ref;
|
|
1535
|
+
|
|
1536
|
+
if (getDevHook()) {
|
|
1537
|
+
// In devtools, we extract them at beginning.
|
|
1538
|
+
var target = Object.fromEntries(ownKeys(null).map(key => [key, get(null, key, null)]));
|
|
1539
|
+
return getReadOnlyProxy(target);
|
|
1540
|
+
}
|
|
1541
|
+
|
|
1542
|
+
return new Proxy(Object.freeze({}), {
|
|
1543
|
+
get
|
|
1544
|
+
});
|
|
1545
|
+
}
|
|
1546
|
+
|
|
1514
1547
|
// `GeneralGlobals` are globals which are page-state-agnostic,
|
|
1515
1548
|
// thus they can be used both in storyboard expressions and functions.
|
|
1516
1549
|
function getGeneralGlobals(attemptToVisitGlobals, options) {
|
|
@@ -1532,7 +1565,8 @@ function getIndividualGlobal(variableName, _ref) {
|
|
|
1532
1565
|
collectCoverage,
|
|
1533
1566
|
widgetId,
|
|
1534
1567
|
app,
|
|
1535
|
-
storyboardFunctions
|
|
1568
|
+
storyboardFunctions,
|
|
1569
|
+
isStoryboardFunction
|
|
1536
1570
|
} = _ref;
|
|
1537
1571
|
|
|
1538
1572
|
switch (variableName) {
|
|
@@ -1560,6 +1594,9 @@ function getIndividualGlobal(variableName, _ref) {
|
|
|
1560
1594
|
return {
|
|
1561
1595
|
getTheme: collectCoverage ? () => "light" : getTheme
|
|
1562
1596
|
};
|
|
1597
|
+
|
|
1598
|
+
case "console":
|
|
1599
|
+
return isStoryboardFunction ? getReadOnlyProxy(console) : undefined;
|
|
1563
1600
|
}
|
|
1564
1601
|
}
|
|
1565
1602
|
|
|
@@ -1646,7 +1683,8 @@ function StoryboardFunctionRegistryFactory() {
|
|
|
1646
1683
|
collectCoverage,
|
|
1647
1684
|
widgetId,
|
|
1648
1685
|
app: currentApp,
|
|
1649
|
-
storyboardFunctions
|
|
1686
|
+
storyboardFunctions,
|
|
1687
|
+
isStoryboardFunction: true
|
|
1650
1688
|
})),
|
|
1651
1689
|
hooks: collector && {
|
|
1652
1690
|
beforeEvaluate: collector.beforeEvaluate,
|
|
@@ -1700,39 +1738,6 @@ function registerWidgetFunctions(widgetId, functions) {
|
|
|
1700
1738
|
registerStoryboardFunctions(functions);
|
|
1701
1739
|
}
|
|
1702
1740
|
|
|
1703
|
-
var THROW = () => {
|
|
1704
|
-
throw new Error("Can't modify read-only proxy object");
|
|
1705
|
-
};
|
|
1706
|
-
|
|
1707
|
-
var readOnlyHandler = {
|
|
1708
|
-
set: THROW,
|
|
1709
|
-
defineProperty: THROW,
|
|
1710
|
-
deleteProperty: THROW,
|
|
1711
|
-
setPrototypeOf: THROW
|
|
1712
|
-
};
|
|
1713
|
-
function getReadOnlyProxy(object) {
|
|
1714
|
-
return new Proxy(object, readOnlyHandler);
|
|
1715
|
-
} // First, we want to make accessing property of globals lazy,
|
|
1716
|
-
// So we use *Proxy* to make a dynamic accessor for each of these globals.
|
|
1717
|
-
// But we also want to keep them working in devtools.
|
|
1718
|
-
|
|
1719
|
-
function getDynamicReadOnlyProxy(_ref) {
|
|
1720
|
-
var {
|
|
1721
|
-
get,
|
|
1722
|
-
ownKeys
|
|
1723
|
-
} = _ref;
|
|
1724
|
-
|
|
1725
|
-
if (getDevHook()) {
|
|
1726
|
-
// In devtools, we extract them at beginning.
|
|
1727
|
-
var target = Object.fromEntries(ownKeys(null).map(key => [key, get(null, key, null)]));
|
|
1728
|
-
return getReadOnlyProxy(target);
|
|
1729
|
-
}
|
|
1730
|
-
|
|
1731
|
-
return new Proxy(Object.freeze({}), {
|
|
1732
|
-
get
|
|
1733
|
-
});
|
|
1734
|
-
}
|
|
1735
|
-
|
|
1736
1741
|
/*! (c) Andrea Giammarchi - ISC */
|
|
1737
1742
|
var self = {};
|
|
1738
1743
|
|
|
@@ -2648,7 +2653,7 @@ function getNextInternalOptions(internalOptions, isArray, key) {
|
|
|
2648
2653
|
}) : internalOptions;
|
|
2649
2654
|
}
|
|
2650
2655
|
|
|
2651
|
-
var _excluded$
|
|
2656
|
+
var _excluded$6 = ["children"],
|
|
2652
2657
|
_excluded2$1 = ["items", "app"];
|
|
2653
2658
|
var symbolAppId = Symbol("appId");
|
|
2654
2659
|
// Caching menu requests to avoid flicker.
|
|
@@ -2860,7 +2865,7 @@ function computeMenuItemsWithOverrideApp(items, context, kernel) {
|
|
|
2860
2865
|
var {
|
|
2861
2866
|
children
|
|
2862
2867
|
} = _ref,
|
|
2863
|
-
rest = _objectWithoutProperties(_ref, _excluded$
|
|
2868
|
+
rest = _objectWithoutProperties(_ref, _excluded$6);
|
|
2864
2869
|
|
|
2865
2870
|
return _objectSpread(_objectSpread({}, yield computeRealValueWithOverrideApp(rest, rest[symbolAppId], context, kernel)), {}, {
|
|
2866
2871
|
children: children && (yield computeMenuItemsWithOverrideApp(children, context, kernel))
|
|
@@ -3421,7 +3426,7 @@ function _internalApiLoadDynamicBricksInBrickConf(brickConf) {
|
|
|
3421
3426
|
return kernel.loadDynamicBricksInBrickConf(brickConf);
|
|
3422
3427
|
}
|
|
3423
3428
|
|
|
3424
|
-
var _excluded$
|
|
3429
|
+
var _excluded$5 = ["extraQuery", "clear", "keepHash"];
|
|
3425
3430
|
function historyExtended(browserHistory) {
|
|
3426
3431
|
var {
|
|
3427
3432
|
push: originalPush,
|
|
@@ -3437,7 +3442,7 @@ function historyExtended(browserHistory) {
|
|
|
3437
3442
|
clear,
|
|
3438
3443
|
keepHash
|
|
3439
3444
|
} = options,
|
|
3440
|
-
state = _objectWithoutProperties(options, _excluded$
|
|
3445
|
+
state = _objectWithoutProperties(options, _excluded$5);
|
|
3441
3446
|
|
|
3442
3447
|
var urlSearchParams = new URLSearchParams(clear ? "" : browserHistory.location.search);
|
|
3443
3448
|
var params = {};
|
|
@@ -6607,7 +6612,7 @@ function initAnalytics() {
|
|
|
6607
6612
|
}
|
|
6608
6613
|
}
|
|
6609
6614
|
|
|
6610
|
-
var _excluded$
|
|
6615
|
+
var _excluded$4 = ["feature_flags"];
|
|
6611
6616
|
function standaloneBootstrap() {
|
|
6612
6617
|
return _standaloneBootstrap.apply(this, arguments);
|
|
6613
6618
|
}
|
|
@@ -6643,7 +6648,7 @@ function _standaloneBootstrap() {
|
|
|
6643
6648
|
var {
|
|
6644
6649
|
feature_flags: featureFlags
|
|
6645
6650
|
} = sys_settings,
|
|
6646
|
-
rest = _objectWithoutProperties(sys_settings, _excluded$
|
|
6651
|
+
rest = _objectWithoutProperties(sys_settings, _excluded$4);
|
|
6647
6652
|
|
|
6648
6653
|
settings = _objectSpread({
|
|
6649
6654
|
featureFlags
|
|
@@ -10335,7 +10340,7 @@ function collectMergeBases(conf, mergeBases, contextInTemplate, refToBrickConf)
|
|
|
10335
10340
|
}
|
|
10336
10341
|
}
|
|
10337
10342
|
|
|
10338
|
-
var _excluded$
|
|
10343
|
+
var _excluded$3 = ["properties", "slots"],
|
|
10339
10344
|
_excluded2 = ["ref", "slots"];
|
|
10340
10345
|
function expandCustomTemplate(brickConf, proxyBrick, context) {
|
|
10341
10346
|
var tplContext = new CustomTemplateContext(proxyBrick);
|
|
@@ -10376,7 +10381,7 @@ function lowLevelExpandCustomTemplate(template, brickConf, proxyBrick, context,
|
|
|
10376
10381
|
properties: templateProperties,
|
|
10377
10382
|
slots: externalSlots
|
|
10378
10383
|
} = brickConf,
|
|
10379
|
-
restBrickConf = _objectWithoutProperties(brickConf, _excluded$
|
|
10384
|
+
restBrickConf = _objectWithoutProperties(brickConf, _excluded$3);
|
|
10380
10385
|
|
|
10381
10386
|
var newBrickConf = restBrickConf; // Get a copy of proxy for each instance of custom template.
|
|
10382
10387
|
|
|
@@ -12812,7 +12817,7 @@ var developHelper = {
|
|
|
12812
12817
|
checkoutTplContext: noop
|
|
12813
12818
|
};
|
|
12814
12819
|
|
|
12815
|
-
var _excluded = ["type"];
|
|
12820
|
+
var _excluded$2 = ["type"];
|
|
12816
12821
|
// Inspired by [LitElement](https://github.com/Polymer/lit-element)
|
|
12817
12822
|
|
|
12818
12823
|
/**
|
|
@@ -13082,7 +13087,7 @@ class UpdatingElement extends HTMLElement {
|
|
|
13082
13087
|
var {
|
|
13083
13088
|
type
|
|
13084
13089
|
} = options,
|
|
13085
|
-
eventInit = _objectWithoutProperties(options, _excluded);
|
|
13090
|
+
eventInit = _objectWithoutProperties(options, _excluded$2);
|
|
13086
13091
|
|
|
13087
13092
|
this.__dev_only_definedEvents.add(type); // Make event emitter readonly.
|
|
13088
13093
|
|
|
@@ -13174,5 +13179,289 @@ var ModalElement = _decorate(null, function (_initialize, _UpdatingElement) {
|
|
|
13174
13179
|
};
|
|
13175
13180
|
}, UpdatingElement);
|
|
13176
13181
|
|
|
13177
|
-
|
|
13182
|
+
var useProviderArgsDefaults = {
|
|
13183
|
+
provider: "",
|
|
13184
|
+
customOptions: {
|
|
13185
|
+
onError: () => {
|
|
13186
|
+
/* Do nothing.. */
|
|
13187
|
+
},
|
|
13188
|
+
transform: (oldData, newData) => newData,
|
|
13189
|
+
data: undefined,
|
|
13190
|
+
loading: false,
|
|
13191
|
+
suspense: false
|
|
13192
|
+
},
|
|
13193
|
+
dependencies: undefined
|
|
13194
|
+
};
|
|
13195
|
+
var defaults = Object.entries(useProviderArgsDefaults).reduce((acc, _ref) => {
|
|
13196
|
+
var [key, value] = _ref;
|
|
13197
|
+
if (Object.prototype.toString.call(value) === "[object Object]") return _objectSpread(_objectSpread({}, acc), value);
|
|
13198
|
+
return _objectSpread(_objectSpread({}, acc), {}, {
|
|
13199
|
+
[key]: value
|
|
13200
|
+
});
|
|
13201
|
+
}, {});
|
|
13202
|
+
|
|
13203
|
+
var _excluded$1 = ["args"];
|
|
13204
|
+
function useProviderArgs(providerOrParamsOrGlobalOptions, gloabalOptionsOrDeps, deps) {
|
|
13205
|
+
var provider = useMemo(() => {
|
|
13206
|
+
if (typeof providerOrParamsOrGlobalOptions === "string") {
|
|
13207
|
+
return providerOrParamsOrGlobalOptions;
|
|
13208
|
+
}
|
|
13209
|
+
|
|
13210
|
+
return useProviderArgsDefaults.provider;
|
|
13211
|
+
}, [providerOrParamsOrGlobalOptions, gloabalOptionsOrDeps]);
|
|
13212
|
+
var options = useMemo(() => {
|
|
13213
|
+
var localOptions = {};
|
|
13214
|
+
|
|
13215
|
+
if (isObject$1(providerOrParamsOrGlobalOptions)) {
|
|
13216
|
+
localOptions = providerOrParamsOrGlobalOptions;
|
|
13217
|
+
} else if (isObject$1(gloabalOptionsOrDeps)) {
|
|
13218
|
+
localOptions = gloabalOptionsOrDeps;
|
|
13219
|
+
}
|
|
13220
|
+
|
|
13221
|
+
return _objectSpread(_objectSpread({}, defaults), localOptions);
|
|
13222
|
+
}, [providerOrParamsOrGlobalOptions, gloabalOptionsOrDeps]);
|
|
13223
|
+
var requestInit = useMemo(() => {
|
|
13224
|
+
var customOptionKeys = [...Object.keys(useProviderArgsDefaults), ...Object.keys(useProviderArgsDefaults.customOptions)];
|
|
13225
|
+
|
|
13226
|
+
var _reduce = Object.keys(options).reduce((acc, key) => {
|
|
13227
|
+
if (!customOptionKeys.includes(key)) acc[key] = options[key];
|
|
13228
|
+
return acc;
|
|
13229
|
+
}, {}),
|
|
13230
|
+
{
|
|
13231
|
+
args = null
|
|
13232
|
+
} = _reduce,
|
|
13233
|
+
restOptions = _objectWithoutProperties(_reduce, _excluded$1);
|
|
13234
|
+
|
|
13235
|
+
return {
|
|
13236
|
+
options: _objectSpread({}, restOptions),
|
|
13237
|
+
args
|
|
13238
|
+
};
|
|
13239
|
+
}, [options]);
|
|
13240
|
+
var dependencies = useMemo(() => {
|
|
13241
|
+
if (Array.isArray(gloabalOptionsOrDeps)) return gloabalOptionsOrDeps;
|
|
13242
|
+
if (Array.isArray(deps)) return deps;
|
|
13243
|
+
return defaults.dependencies;
|
|
13244
|
+
}, [gloabalOptionsOrDeps, deps]);
|
|
13245
|
+
var loading = options.loading || Array.isArray(dependencies);
|
|
13246
|
+
var customOptions = useMemo(() => {
|
|
13247
|
+
var customOptionKeys = Object.keys(useProviderArgsDefaults.customOptions);
|
|
13248
|
+
var customOptions = customOptionKeys.reduce((opts, key) => {
|
|
13249
|
+
opts[key] = options[key];
|
|
13250
|
+
return opts;
|
|
13251
|
+
}, {});
|
|
13252
|
+
return _objectSpread(_objectSpread({}, customOptions), {}, {
|
|
13253
|
+
loading
|
|
13254
|
+
});
|
|
13255
|
+
}, [options]);
|
|
13256
|
+
return {
|
|
13257
|
+
provider,
|
|
13258
|
+
customOptions,
|
|
13259
|
+
requestInit,
|
|
13260
|
+
dependencies
|
|
13261
|
+
};
|
|
13262
|
+
}
|
|
13263
|
+
|
|
13264
|
+
var cache$1 = new Map();
|
|
13265
|
+
function fetchProviderArgs(_x, _x2) {
|
|
13266
|
+
return _fetchProviderArgs.apply(this, arguments);
|
|
13267
|
+
}
|
|
13268
|
+
|
|
13269
|
+
function _fetchProviderArgs() {
|
|
13270
|
+
_fetchProviderArgs = _asyncToGenerator$4(function* (provider, args) {
|
|
13271
|
+
for (var _len = arguments.length, originalArgs = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
13272
|
+
originalArgs[_key - 2] = arguments[_key];
|
|
13273
|
+
}
|
|
13274
|
+
|
|
13275
|
+
var cacheKey = JSON.stringify({
|
|
13276
|
+
provider,
|
|
13277
|
+
args,
|
|
13278
|
+
originalArgs
|
|
13279
|
+
});
|
|
13280
|
+
if (cache$1.has(cacheKey)) return cache$1.get(cacheKey);
|
|
13281
|
+
var actualArgs = yield getArgsOfCustomApi(provider, [...args, ...originalArgs]);
|
|
13282
|
+
cache$1.set(cacheKey, actualArgs);
|
|
13283
|
+
return actualArgs;
|
|
13284
|
+
});
|
|
13285
|
+
return _fetchProviderArgs.apply(this, arguments);
|
|
13286
|
+
}
|
|
13287
|
+
|
|
13288
|
+
var cache = new Map();
|
|
13289
|
+
function fetch(_x) {
|
|
13290
|
+
return _fetch.apply(this, arguments);
|
|
13291
|
+
}
|
|
13292
|
+
|
|
13293
|
+
function _fetch() {
|
|
13294
|
+
_fetch = _asyncToGenerator$4(function* (provider) {
|
|
13295
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
13296
|
+
args[_key - 1] = arguments[_key];
|
|
13297
|
+
}
|
|
13298
|
+
|
|
13299
|
+
var cacheKey = JSON.stringify({
|
|
13300
|
+
provider,
|
|
13301
|
+
args
|
|
13302
|
+
});
|
|
13303
|
+
var promise;
|
|
13304
|
+
|
|
13305
|
+
if (cache.has(cacheKey)) {
|
|
13306
|
+
promise = cache.get(cacheKey);
|
|
13307
|
+
} else {
|
|
13308
|
+
promise = _asyncToGenerator$4(function* () {
|
|
13309
|
+
if (!isCustomApiProvider(provider)) {
|
|
13310
|
+
var providerBrick = yield _internalApiGetProviderBrick(provider);
|
|
13311
|
+
var providerTagName = providerBrick.tagName.toLowerCase();
|
|
13312
|
+
|
|
13313
|
+
if (!customElements.get(providerTagName)) {
|
|
13314
|
+
throw new Error("Provider not defined: \"".concat(providerTagName, "\", please make sure the related package is installed."));
|
|
13315
|
+
}
|
|
13316
|
+
|
|
13317
|
+
return providerBrick["resolve"](...args);
|
|
13318
|
+
}
|
|
13319
|
+
|
|
13320
|
+
return CustomApi(...args);
|
|
13321
|
+
})();
|
|
13322
|
+
cache.set(cacheKey, promise);
|
|
13323
|
+
}
|
|
13324
|
+
|
|
13325
|
+
return promise;
|
|
13326
|
+
});
|
|
13327
|
+
return _fetch.apply(this, arguments);
|
|
13328
|
+
}
|
|
13329
|
+
|
|
13330
|
+
var _excluded = ["onError", "transform", "suspense"];
|
|
13331
|
+
function useProvider() {
|
|
13332
|
+
var {
|
|
13333
|
+
provider,
|
|
13334
|
+
customOptions,
|
|
13335
|
+
dependencies,
|
|
13336
|
+
requestInit
|
|
13337
|
+
} = useProviderArgs(...arguments);
|
|
13338
|
+
|
|
13339
|
+
var {
|
|
13340
|
+
onError,
|
|
13341
|
+
transform,
|
|
13342
|
+
suspense
|
|
13343
|
+
} = customOptions,
|
|
13344
|
+
defaults = _objectWithoutProperties(customOptions, _excluded);
|
|
13345
|
+
|
|
13346
|
+
var [loading, setLoading] = useState(defaults.loading);
|
|
13347
|
+
var suspenseStatus = useRef("pending");
|
|
13348
|
+
var suspender = useRef();
|
|
13349
|
+
var mounted = useRef(false);
|
|
13350
|
+
var error = useRef();
|
|
13351
|
+
var response = useRef();
|
|
13352
|
+
var data = useRef(defaults.data);
|
|
13353
|
+
var forceUpdate = useReducer(() => ({}), [])[1];
|
|
13354
|
+
var doFetch = useCallback( /*#__PURE__*/_asyncToGenerator$4(function* () {
|
|
13355
|
+
try {
|
|
13356
|
+
error.current = undefined;
|
|
13357
|
+
if (!suspense) setLoading(true);
|
|
13358
|
+
|
|
13359
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
13360
|
+
args[_key] = arguments[_key];
|
|
13361
|
+
}
|
|
13362
|
+
|
|
13363
|
+
var newRes = yield fetch(provider, ...args);
|
|
13364
|
+
response.current = newRes;
|
|
13365
|
+
data.current = transform(data.current, newRes);
|
|
13366
|
+
} catch (e) {
|
|
13367
|
+
error.current = e;
|
|
13368
|
+
}
|
|
13369
|
+
|
|
13370
|
+
if (!suspense) setLoading(false);
|
|
13371
|
+
if (error.current) onError(error.current);
|
|
13372
|
+
return data.current;
|
|
13373
|
+
}), [provider, customOptions, dependencies, requestInit, suspense, transform, defaults.data, onError]);
|
|
13374
|
+
var makeFetch = useCallback( /*#__PURE__*/function () {
|
|
13375
|
+
var _ref2 = _asyncToGenerator$4(function* (providerOrBody, args) {
|
|
13376
|
+
var providerStr = provider;
|
|
13377
|
+
var providerArgs = [];
|
|
13378
|
+
|
|
13379
|
+
if (isString(providerOrBody)) {
|
|
13380
|
+
providerStr = providerOrBody;
|
|
13381
|
+
}
|
|
13382
|
+
|
|
13383
|
+
if (isObject$1(providerOrBody)) {
|
|
13384
|
+
providerArgs = providerOrBody;
|
|
13385
|
+
} else if (isObject$1(args)) {
|
|
13386
|
+
providerArgs = args;
|
|
13387
|
+
}
|
|
13388
|
+
|
|
13389
|
+
var actualArgs = yield fetchProviderArgs(providerStr, providerArgs, requestInit.options);
|
|
13390
|
+
|
|
13391
|
+
if (suspense) {
|
|
13392
|
+
return _asyncToGenerator$4(function* () {
|
|
13393
|
+
suspender.current = doFetch(...actualArgs).then(newData => {
|
|
13394
|
+
suspenseStatus.current = "success";
|
|
13395
|
+
return newData;
|
|
13396
|
+
}, error => {
|
|
13397
|
+
suspenseStatus.current = "error";
|
|
13398
|
+
error.current = error;
|
|
13399
|
+
return error;
|
|
13400
|
+
});
|
|
13401
|
+
forceUpdate();
|
|
13402
|
+
return yield suspender.current;
|
|
13403
|
+
})();
|
|
13404
|
+
}
|
|
13405
|
+
|
|
13406
|
+
return doFetch(...actualArgs);
|
|
13407
|
+
});
|
|
13408
|
+
|
|
13409
|
+
return function (_x, _x2) {
|
|
13410
|
+
return _ref2.apply(this, arguments);
|
|
13411
|
+
};
|
|
13412
|
+
}(), [doFetch]);
|
|
13413
|
+
var request = useMemo(() => Object.defineProperties({
|
|
13414
|
+
query: makeFetch
|
|
13415
|
+
}, {
|
|
13416
|
+
loading: {
|
|
13417
|
+
get() {
|
|
13418
|
+
return loading;
|
|
13419
|
+
}
|
|
13420
|
+
|
|
13421
|
+
},
|
|
13422
|
+
data: {
|
|
13423
|
+
get() {
|
|
13424
|
+
return data.current;
|
|
13425
|
+
}
|
|
13426
|
+
|
|
13427
|
+
},
|
|
13428
|
+
error: {
|
|
13429
|
+
get() {
|
|
13430
|
+
return error.current;
|
|
13431
|
+
}
|
|
13432
|
+
|
|
13433
|
+
}
|
|
13434
|
+
}), [makeFetch]); // onMount/onUpdate
|
|
13435
|
+
|
|
13436
|
+
useEffect(() => {
|
|
13437
|
+
mounted.current = true;
|
|
13438
|
+
|
|
13439
|
+
if (Array.isArray(dependencies) && provider) {
|
|
13440
|
+
request.query(provider, requestInit.args);
|
|
13441
|
+
}
|
|
13442
|
+
|
|
13443
|
+
return () => mounted.current = false;
|
|
13444
|
+
}, dependencies);
|
|
13445
|
+
|
|
13446
|
+
if (suspense && suspender.current) {
|
|
13447
|
+
switch (suspenseStatus.current) {
|
|
13448
|
+
case "pending":
|
|
13449
|
+
throw suspender.current;
|
|
13450
|
+
|
|
13451
|
+
case "error":
|
|
13452
|
+
throw error.current;
|
|
13453
|
+
}
|
|
13454
|
+
}
|
|
13455
|
+
|
|
13456
|
+
return Object.assign([request, response.current, loading, error.current], _objectSpread(_objectSpread({
|
|
13457
|
+
request
|
|
13458
|
+
}, request), {}, {
|
|
13459
|
+
response: response.current,
|
|
13460
|
+
data: data.current,
|
|
13461
|
+
loading,
|
|
13462
|
+
error: error.current
|
|
13463
|
+
}));
|
|
13464
|
+
}
|
|
13465
|
+
|
|
13466
|
+
export { BrickAsComponent, BrickWrapper, DisplayByFeatureFlags, EasyopsEmpty, ErrorBoundary, FeatureFlagsProvider, ForwardRefSingleBrickAsComponent, ModalElement, SingleBrickAsComponent, StoryboardFunctionRegistryFactory, UpdatingElement, authenticate, batchSetAppsLocalTheme, checkIf, checkIfByTransform, createHistory, createRuntime, developHelper, doTransform, event, getAuth, getCssPropertyValue, getCurrentTheme, getHistory, getMockInfo, getRuntime, handleHttpError, httpErrorToString, i18nText, initI18n, isLoggedIn, logout, looseCheckIf, looseCheckIfByTransform, looseCheckIfOfComputed, method, preprocessTransformProperties, property, reTransformForDevtools, renderEasyopsEmpty, transformElementProperties, transformIntermediateData, transformProperties, useApplyPageTitle, useCurrentApp, useCurrentMode, useCurrentTheme, useFeatureFlags, useLocation, useProvider, useRecentApps };
|
|
13178
13467
|
//# sourceMappingURL=index.esm.js.map
|