@fctc/interface-logic 1.5.4 → 1.5.5
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/configs.js +96 -107
- package/dist/configs.mjs +96 -108
- package/dist/environment.js +122 -137
- package/dist/environment.mjs +122 -140
- package/dist/hooks.js +1396 -1559
- package/dist/hooks.mjs +1396 -1562
- package/dist/provider.d.mts +3 -4
- package/dist/provider.d.ts +3 -4
- package/dist/provider.js +509 -562
- package/dist/provider.mjs +509 -565
- package/dist/services.js +1359 -1524
- package/dist/services.mjs +1355 -1523
- package/dist/store.js +5 -19
- package/dist/store.mjs +5 -22
- package/dist/utils.js +94 -116
- package/dist/utils.mjs +94 -119
- package/package.json +11 -22
package/dist/configs.mjs
CHANGED
|
@@ -1,25 +1,3 @@
|
|
|
1
|
-
var __pow = Math.pow;
|
|
2
|
-
var __async = (__this, __arguments, generator) => {
|
|
3
|
-
return new Promise((resolve, reject) => {
|
|
4
|
-
var fulfilled = (value) => {
|
|
5
|
-
try {
|
|
6
|
-
step(generator.next(value));
|
|
7
|
-
} catch (e) {
|
|
8
|
-
reject(e);
|
|
9
|
-
}
|
|
10
|
-
};
|
|
11
|
-
var rejected = (value) => {
|
|
12
|
-
try {
|
|
13
|
-
step(generator.throw(value));
|
|
14
|
-
} catch (e) {
|
|
15
|
-
reject(e);
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
19
|
-
step((generator = generator.apply(__this, __arguments)).next());
|
|
20
|
-
});
|
|
21
|
-
};
|
|
22
|
-
|
|
23
1
|
// src/configs/axios-client.ts
|
|
24
2
|
import axios from "axios";
|
|
25
3
|
|
|
@@ -1104,6 +1082,22 @@ var PyRelativeDelta = class _PyRelativeDelta {
|
|
|
1104
1082
|
this.microsecond = params.microsecond;
|
|
1105
1083
|
this.weekday = params.weekday;
|
|
1106
1084
|
}
|
|
1085
|
+
years;
|
|
1086
|
+
months;
|
|
1087
|
+
days;
|
|
1088
|
+
hours;
|
|
1089
|
+
minutes;
|
|
1090
|
+
seconds;
|
|
1091
|
+
microseconds;
|
|
1092
|
+
leapDays;
|
|
1093
|
+
year;
|
|
1094
|
+
month;
|
|
1095
|
+
day;
|
|
1096
|
+
hour;
|
|
1097
|
+
minute;
|
|
1098
|
+
second;
|
|
1099
|
+
microsecond;
|
|
1100
|
+
weekday;
|
|
1107
1101
|
negate() {
|
|
1108
1102
|
return new _PyRelativeDelta(this, -1);
|
|
1109
1103
|
}
|
|
@@ -1218,7 +1212,7 @@ function execOnIterable(iterable, func) {
|
|
|
1218
1212
|
if (typeof iterable === "object" && !Array.isArray(iterable) && !(iterable instanceof Set)) {
|
|
1219
1213
|
iterable = Object.keys(iterable);
|
|
1220
1214
|
}
|
|
1221
|
-
if (typeof
|
|
1215
|
+
if (typeof iterable?.[Symbol.iterator] !== "function") {
|
|
1222
1216
|
throw new EvaluationError("value not iterable");
|
|
1223
1217
|
}
|
|
1224
1218
|
return func(iterable);
|
|
@@ -1541,7 +1535,7 @@ function applyBinaryOp(ast, context) {
|
|
|
1541
1535
|
}
|
|
1542
1536
|
return Math.floor(left / right);
|
|
1543
1537
|
case "**":
|
|
1544
|
-
return
|
|
1538
|
+
return left ** right;
|
|
1545
1539
|
case "==":
|
|
1546
1540
|
return isEqual(left, right);
|
|
1547
1541
|
case "<>":
|
|
@@ -1663,7 +1657,7 @@ function evaluate(ast, context = {}) {
|
|
|
1663
1657
|
const dicts = /* @__PURE__ */ new Set();
|
|
1664
1658
|
let pyContext;
|
|
1665
1659
|
const evalContext = Object.create(context);
|
|
1666
|
-
if (!
|
|
1660
|
+
if (!evalContext?.context) {
|
|
1667
1661
|
Object.defineProperty(evalContext, "context", {
|
|
1668
1662
|
get() {
|
|
1669
1663
|
if (!pyContext) {
|
|
@@ -1674,18 +1668,17 @@ function evaluate(ast, context = {}) {
|
|
|
1674
1668
|
});
|
|
1675
1669
|
}
|
|
1676
1670
|
function _innerEvaluate(ast2) {
|
|
1677
|
-
|
|
1678
|
-
switch (ast2 == null ? void 0 : ast2.type) {
|
|
1671
|
+
switch (ast2?.type) {
|
|
1679
1672
|
case 0:
|
|
1680
1673
|
// Number
|
|
1681
1674
|
case 1:
|
|
1682
1675
|
return ast2.value;
|
|
1683
1676
|
case 5:
|
|
1684
1677
|
if (ast2.value in evalContext) {
|
|
1685
|
-
if (typeof evalContext[ast2.value] === "object" &&
|
|
1686
|
-
return
|
|
1678
|
+
if (typeof evalContext[ast2.value] === "object" && evalContext[ast2.value]?.id) {
|
|
1679
|
+
return evalContext[ast2.value]?.id;
|
|
1687
1680
|
}
|
|
1688
|
-
return
|
|
1681
|
+
return evalContext[ast2.value] ?? false;
|
|
1689
1682
|
} else if (ast2.value in BUILTINS) {
|
|
1690
1683
|
return BUILTINS[ast2.value];
|
|
1691
1684
|
} else {
|
|
@@ -1722,7 +1715,7 @@ function evaluate(ast, context = {}) {
|
|
|
1722
1715
|
const args = ast2.args.map(_evaluate);
|
|
1723
1716
|
const kwargs = {};
|
|
1724
1717
|
for (const kwarg in ast2.kwargs) {
|
|
1725
|
-
kwargs[kwarg] = _evaluate(ast2
|
|
1718
|
+
kwargs[kwarg] = _evaluate(ast2?.kwargs[kwarg]);
|
|
1726
1719
|
}
|
|
1727
1720
|
if (fnValue === PyDate || fnValue === PyDateTime || fnValue === PyTime || fnValue === PyRelativeDelta || fnValue === PyTimeDelta) {
|
|
1728
1721
|
return fnValue.create(...args, kwargs);
|
|
@@ -1801,25 +1794,9 @@ function escapeRegExp(str) {
|
|
|
1801
1794
|
var InvalidDomainError = class extends Error {
|
|
1802
1795
|
};
|
|
1803
1796
|
var Domain = class _Domain {
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
return new _Domain(descr.toString());
|
|
1808
|
-
} else {
|
|
1809
|
-
let rawAST;
|
|
1810
|
-
try {
|
|
1811
|
-
rawAST = typeof descr === "string" ? parseExpr(descr) : toAST(descr);
|
|
1812
|
-
} catch (error) {
|
|
1813
|
-
throw new InvalidDomainError(
|
|
1814
|
-
`Invalid domain representation: ${descr}`,
|
|
1815
|
-
{
|
|
1816
|
-
cause: error
|
|
1817
|
-
}
|
|
1818
|
-
);
|
|
1819
|
-
}
|
|
1820
|
-
this.ast = normalizeDomainAST(rawAST);
|
|
1821
|
-
}
|
|
1822
|
-
}
|
|
1797
|
+
ast = { type: -1, value: null };
|
|
1798
|
+
static TRUE;
|
|
1799
|
+
static FALSE;
|
|
1823
1800
|
static combine(domains, operator) {
|
|
1824
1801
|
if (domains.length === 0) {
|
|
1825
1802
|
return new _Domain([]);
|
|
@@ -1898,6 +1875,24 @@ var Domain = class _Domain {
|
|
|
1898
1875
|
processLeaf(d.ast.value, 0, "&", newDomain);
|
|
1899
1876
|
return newDomain;
|
|
1900
1877
|
}
|
|
1878
|
+
constructor(descr = []) {
|
|
1879
|
+
if (descr instanceof _Domain) {
|
|
1880
|
+
return new _Domain(descr.toString());
|
|
1881
|
+
} else {
|
|
1882
|
+
let rawAST;
|
|
1883
|
+
try {
|
|
1884
|
+
rawAST = typeof descr === "string" ? parseExpr(descr) : toAST(descr);
|
|
1885
|
+
} catch (error) {
|
|
1886
|
+
throw new InvalidDomainError(
|
|
1887
|
+
`Invalid domain representation: ${descr}`,
|
|
1888
|
+
{
|
|
1889
|
+
cause: error
|
|
1890
|
+
}
|
|
1891
|
+
);
|
|
1892
|
+
}
|
|
1893
|
+
this.ast = normalizeDomainAST(rawAST);
|
|
1894
|
+
}
|
|
1895
|
+
}
|
|
1901
1896
|
contains(record) {
|
|
1902
1897
|
const expr = evaluate(this.ast, record);
|
|
1903
1898
|
return matchDomain(record, expr);
|
|
@@ -1916,7 +1911,7 @@ var Domain = class _Domain {
|
|
|
1916
1911
|
return evaluatedAsList;
|
|
1917
1912
|
}
|
|
1918
1913
|
return this.toString();
|
|
1919
|
-
} catch
|
|
1914
|
+
} catch {
|
|
1920
1915
|
return this.toString();
|
|
1921
1916
|
}
|
|
1922
1917
|
}
|
|
@@ -2139,22 +2134,22 @@ var updateTokenParamInOriginalRequest = (originalRequest, newAccessToken) => {
|
|
|
2139
2134
|
|
|
2140
2135
|
// src/utils/storage/local-storage.ts
|
|
2141
2136
|
var localStorageUtils = () => {
|
|
2142
|
-
const setToken = (access_token) =>
|
|
2137
|
+
const setToken = async (access_token) => {
|
|
2143
2138
|
localStorage.setItem("accessToken", access_token);
|
|
2144
|
-
}
|
|
2145
|
-
const setRefreshToken = (refresh_token) =>
|
|
2139
|
+
};
|
|
2140
|
+
const setRefreshToken = async (refresh_token) => {
|
|
2146
2141
|
localStorage.setItem("refreshToken", refresh_token);
|
|
2147
|
-
}
|
|
2148
|
-
const getAccessToken = () =>
|
|
2142
|
+
};
|
|
2143
|
+
const getAccessToken = async () => {
|
|
2149
2144
|
return localStorage.getItem("accessToken");
|
|
2150
|
-
}
|
|
2151
|
-
const getRefreshToken = () =>
|
|
2145
|
+
};
|
|
2146
|
+
const getRefreshToken = async () => {
|
|
2152
2147
|
return localStorage.getItem("refreshToken");
|
|
2153
|
-
}
|
|
2154
|
-
const clearToken = () =>
|
|
2148
|
+
};
|
|
2149
|
+
const clearToken = async () => {
|
|
2155
2150
|
localStorage.removeItem("accessToken");
|
|
2156
2151
|
localStorage.removeItem("refreshToken");
|
|
2157
|
-
}
|
|
2152
|
+
};
|
|
2158
2153
|
return {
|
|
2159
2154
|
setToken,
|
|
2160
2155
|
setRefreshToken,
|
|
@@ -2166,9 +2161,9 @@ var localStorageUtils = () => {
|
|
|
2166
2161
|
|
|
2167
2162
|
// src/utils/storage/session-storage.ts
|
|
2168
2163
|
var sessionStorageUtils = () => {
|
|
2169
|
-
const getBrowserSession = () =>
|
|
2164
|
+
const getBrowserSession = async () => {
|
|
2170
2165
|
return sessionStorage.getItem("browserSession");
|
|
2171
|
-
}
|
|
2166
|
+
};
|
|
2172
2167
|
return {
|
|
2173
2168
|
getBrowserSession
|
|
2174
2169
|
};
|
|
@@ -2177,14 +2172,13 @@ var sessionStorageUtils = () => {
|
|
|
2177
2172
|
// src/configs/axios-client.ts
|
|
2178
2173
|
var axiosClient = {
|
|
2179
2174
|
init(config) {
|
|
2180
|
-
|
|
2181
|
-
const
|
|
2182
|
-
const sessionStorage2 = (_b = config.sessionStorageUtils) != null ? _b : sessionStorageUtils();
|
|
2175
|
+
const localStorage2 = config.localStorageUtils ?? localStorageUtils();
|
|
2176
|
+
const sessionStorage2 = config.sessionStorageUtils ?? sessionStorageUtils();
|
|
2183
2177
|
const db = config.db;
|
|
2184
2178
|
let isRefreshing = false;
|
|
2185
2179
|
let failedQueue = [];
|
|
2186
2180
|
const processQueue = (error, token = null) => {
|
|
2187
|
-
failedQueue
|
|
2181
|
+
failedQueue?.forEach((prom) => {
|
|
2188
2182
|
if (error) {
|
|
2189
2183
|
prom.reject(error);
|
|
2190
2184
|
} else {
|
|
@@ -2200,14 +2194,14 @@ var axiosClient = {
|
|
|
2200
2194
|
paramsSerializer: (params) => new URLSearchParams(params).toString()
|
|
2201
2195
|
});
|
|
2202
2196
|
instance.interceptors.request.use(
|
|
2203
|
-
(config2) =>
|
|
2197
|
+
async (config2) => {
|
|
2204
2198
|
const useRefreshToken = config2.useRefreshToken;
|
|
2205
|
-
const token = useRefreshToken ?
|
|
2199
|
+
const token = useRefreshToken ? await localStorage2.getRefreshToken() : await localStorage2.getAccessToken();
|
|
2206
2200
|
if (token) {
|
|
2207
2201
|
config2.headers["Authorization"] = "Bearer " + token;
|
|
2208
2202
|
}
|
|
2209
2203
|
return config2;
|
|
2210
|
-
}
|
|
2204
|
+
},
|
|
2211
2205
|
(error) => {
|
|
2212
2206
|
Promise.reject(error);
|
|
2213
2207
|
}
|
|
@@ -2216,21 +2210,19 @@ var axiosClient = {
|
|
|
2216
2210
|
(response) => {
|
|
2217
2211
|
return handleResponse(response);
|
|
2218
2212
|
},
|
|
2219
|
-
(error) =>
|
|
2220
|
-
|
|
2221
|
-
const handleError3 = (error2) => __async(null, null, function* () {
|
|
2222
|
-
var _a3;
|
|
2213
|
+
async (error) => {
|
|
2214
|
+
const handleError3 = async (error2) => {
|
|
2223
2215
|
if (!error2.response) {
|
|
2224
2216
|
return error2;
|
|
2225
2217
|
}
|
|
2226
2218
|
const { data } = error2.response;
|
|
2227
|
-
if (data && data.code === 400 && ["invalid_grant"].includes(
|
|
2228
|
-
|
|
2219
|
+
if (data && data.code === 400 && ["invalid_grant"].includes(data.data?.error)) {
|
|
2220
|
+
await clearAuthToken();
|
|
2229
2221
|
}
|
|
2230
2222
|
return data;
|
|
2231
|
-
}
|
|
2223
|
+
};
|
|
2232
2224
|
const originalRequest = error.config;
|
|
2233
|
-
if ((
|
|
2225
|
+
if ((error.response?.status === 403 || error.response?.status === 401 || error.response?.status === 404) && ["TOKEN_EXPIRED", "AUTHEN_FAIL", 401, "ERR_2FA_006"].includes(
|
|
2234
2226
|
error.response.data.code
|
|
2235
2227
|
)) {
|
|
2236
2228
|
if (isRefreshing) {
|
|
@@ -2243,19 +2235,18 @@ var axiosClient = {
|
|
|
2243
2235
|
token
|
|
2244
2236
|
);
|
|
2245
2237
|
return instance.request(originalRequest);
|
|
2246
|
-
}).catch((err) =>
|
|
2247
|
-
|
|
2248
|
-
|
|
2249
|
-
yield clearAuthToken();
|
|
2238
|
+
}).catch(async (err) => {
|
|
2239
|
+
if ((err.response?.status === 400 || err.response?.status === 401) && ["invalid_grant"].includes(err.response.data.error)) {
|
|
2240
|
+
await clearAuthToken();
|
|
2250
2241
|
}
|
|
2251
|
-
})
|
|
2242
|
+
});
|
|
2252
2243
|
}
|
|
2253
|
-
const browserSession =
|
|
2254
|
-
const refreshToken =
|
|
2255
|
-
const accessTokenExp =
|
|
2244
|
+
const browserSession = await sessionStorage2.getBrowserSession();
|
|
2245
|
+
const refreshToken = await localStorage2.getRefreshToken();
|
|
2246
|
+
const accessTokenExp = await localStorage2.getAccessToken();
|
|
2256
2247
|
isRefreshing = true;
|
|
2257
2248
|
if (!refreshToken && (!browserSession || browserSession == "unActive")) {
|
|
2258
|
-
|
|
2249
|
+
await clearAuthToken();
|
|
2259
2250
|
} else {
|
|
2260
2251
|
const payload = Object.fromEntries(
|
|
2261
2252
|
Object.entries({
|
|
@@ -2266,9 +2257,8 @@ var axiosClient = {
|
|
|
2266
2257
|
}).filter(([_, value]) => !!value)
|
|
2267
2258
|
);
|
|
2268
2259
|
return new Promise(function(resolve) {
|
|
2269
|
-
var _a3;
|
|
2270
2260
|
axios.post(
|
|
2271
|
-
`${config.baseUrl}${
|
|
2261
|
+
`${config.baseUrl}${config.refreshTokenEndpoint ?? "/authentication/oauth2/token" /* AUTH_TOKEN_PATH */}`,
|
|
2272
2262
|
payload,
|
|
2273
2263
|
{
|
|
2274
2264
|
headers: {
|
|
@@ -2276,10 +2266,10 @@ var axiosClient = {
|
|
|
2276
2266
|
Authorization: `Bearer ${accessTokenExp}`
|
|
2277
2267
|
}
|
|
2278
2268
|
}
|
|
2279
|
-
).then((res) =>
|
|
2269
|
+
).then(async (res) => {
|
|
2280
2270
|
const data = res.data;
|
|
2281
|
-
|
|
2282
|
-
|
|
2271
|
+
await localStorage2.setToken(data.access_token);
|
|
2272
|
+
await localStorage2.setRefreshToken(data.refresh_token);
|
|
2283
2273
|
axios.defaults.headers.common["Authorization"] = "Bearer " + data.access_token;
|
|
2284
2274
|
originalRequest.headers["Authorization"] = "Bearer " + data.access_token;
|
|
2285
2275
|
originalRequest.data = updateTokenParamInOriginalRequest(
|
|
@@ -2288,26 +2278,25 @@ var axiosClient = {
|
|
|
2288
2278
|
);
|
|
2289
2279
|
processQueue(null, data.access_token);
|
|
2290
2280
|
resolve(instance.request(originalRequest));
|
|
2291
|
-
})
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
yield clearAuthToken();
|
|
2281
|
+
}).catch(async (err) => {
|
|
2282
|
+
if (err && (err?.error_code === "AUTHEN_FAIL" || err?.error_code === "TOKEN_EXPIRED" || err?.error_code === "TOKEN_INCORRECT" || err?.code === "ERR_BAD_REQUEST") || err?.error_code === "ERR_2FA_006") {
|
|
2283
|
+
await clearAuthToken();
|
|
2295
2284
|
}
|
|
2296
2285
|
if (err && err.response) {
|
|
2297
|
-
const { error_code } =
|
|
2286
|
+
const { error_code } = err.response?.data || {};
|
|
2298
2287
|
if (error_code === "AUTHEN_FAIL") {
|
|
2299
|
-
|
|
2288
|
+
await clearAuthToken();
|
|
2300
2289
|
}
|
|
2301
2290
|
}
|
|
2302
2291
|
processQueue(err, null);
|
|
2303
|
-
})
|
|
2292
|
+
}).finally(() => {
|
|
2304
2293
|
isRefreshing = false;
|
|
2305
2294
|
});
|
|
2306
2295
|
});
|
|
2307
2296
|
}
|
|
2308
2297
|
}
|
|
2309
|
-
return Promise.reject(
|
|
2310
|
-
}
|
|
2298
|
+
return Promise.reject(await handleError3(error));
|
|
2299
|
+
}
|
|
2311
2300
|
);
|
|
2312
2301
|
const handleResponse = (res) => {
|
|
2313
2302
|
if (res && res.data) {
|
|
@@ -2316,7 +2305,6 @@ var axiosClient = {
|
|
|
2316
2305
|
return res;
|
|
2317
2306
|
};
|
|
2318
2307
|
const handleError2 = (error) => {
|
|
2319
|
-
var _a2, _b2, _c;
|
|
2320
2308
|
if (error.isAxiosError && error.code === "ECONNABORTED") {
|
|
2321
2309
|
console.error("Request Timeout Error:", error);
|
|
2322
2310
|
return "Request Timeout Error";
|
|
@@ -2324,17 +2312,17 @@ var axiosClient = {
|
|
|
2324
2312
|
console.error("Network Error:", error);
|
|
2325
2313
|
return "Network Error";
|
|
2326
2314
|
} else {
|
|
2327
|
-
console.error("Other Error:", error
|
|
2328
|
-
const errorMessage =
|
|
2329
|
-
return { message: errorMessage, status:
|
|
2315
|
+
console.error("Other Error:", error?.response);
|
|
2316
|
+
const errorMessage = error?.response?.data?.message || "An error occurred";
|
|
2317
|
+
return { message: errorMessage, status: error?.response?.status };
|
|
2330
2318
|
}
|
|
2331
2319
|
};
|
|
2332
|
-
const clearAuthToken = () =>
|
|
2333
|
-
|
|
2320
|
+
const clearAuthToken = async () => {
|
|
2321
|
+
await localStorage2.clearToken();
|
|
2334
2322
|
if (typeof window !== "undefined") {
|
|
2335
2323
|
window.location.href = `/login`;
|
|
2336
2324
|
}
|
|
2337
|
-
}
|
|
2325
|
+
};
|
|
2338
2326
|
function formatUrl(url, db2) {
|
|
2339
2327
|
return url + (db2 ? "?db=" + db2 : "");
|
|
2340
2328
|
}
|