@resistdesign/voltra 3.0.0-alpha.4 → 3.0.0-alpha.41
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 +379 -14
- package/api/DBX/DBXAsserts.d.ts +95 -0
- package/api/DBX/DBXRequest.d.ts +5 -0
- package/api/DBX/DBXRuntime.d.ts +5 -0
- package/api/DBX/DBXScenarioConfig.d.ts +9 -0
- package/api/DBX/DBXSeed.d.ts +124 -0
- package/api/DBX/DBXTypes.d.ts +176 -0
- package/api/DBX/index.d.ts +8 -0
- package/api/DataAccessControl.d.ts +220 -0
- package/api/Indexing/API.d.ts +224 -0
- package/api/Indexing/Cursor.d.ts +101 -0
- package/api/Indexing/Handler/Config.d.ts +39 -0
- package/api/Indexing/Handler.d.ts +166 -0
- package/api/Indexing/Trace.d.ts +54 -0
- package/api/Indexing/Types.d.ts +204 -0
- package/api/Indexing/ddb/AwsSdkV3Adapter.d.ts +8 -0
- package/api/Indexing/ddb/Types.d.ts +209 -0
- package/api/Indexing/docId.d.ts +27 -0
- package/api/Indexing/exact/ExactDdb.d.ts +58 -0
- package/api/Indexing/exact/ExactIndex.d.ts +90 -0
- package/api/Indexing/exact/ExactS3.d.ts +41 -0
- package/api/Indexing/fieldQualification.d.ts +12 -0
- package/api/Indexing/fulltext/FullTextDdbBackend.d.ts +212 -0
- package/api/Indexing/fulltext/FullTextMemoryBackend.d.ts +93 -0
- package/api/Indexing/fulltext/Schema.d.ts +164 -0
- package/api/Indexing/hashUniversal.d.ts +13 -0
- package/api/Indexing/index.d.ts +45 -0
- package/api/Indexing/lossy/LossyDdb.d.ts +43 -0
- package/api/Indexing/lossy/LossyIndex.d.ts +72 -0
- package/api/Indexing/lossy/LossyS3.d.ts +40 -0
- package/api/Indexing/rel/Cursor.d.ts +25 -0
- package/api/Indexing/rel/Handlers.d.ts +144 -0
- package/api/Indexing/rel/RelationalDdb.d.ts +169 -0
- package/api/Indexing/rel/RelationalInMemoryBackend.d.ts +38 -0
- package/api/Indexing/rel/Types.d.ts +69 -0
- package/api/Indexing/structured/Cursor.d.ts +26 -0
- package/api/Indexing/structured/Handlers.d.ts +128 -0
- package/api/Indexing/structured/SearchStructured.d.ts +44 -0
- package/api/Indexing/structured/StructuredDdb.d.ts +184 -0
- package/api/Indexing/structured/StructuredDdbBackend.d.ts +112 -0
- package/api/Indexing/structured/StructuredInMemoryBackend.d.ts +40 -0
- package/api/Indexing/structured/StructuredInMemoryIndex.d.ts +61 -0
- package/api/Indexing/structured/StructuredStringLike.d.ts +54 -0
- package/api/Indexing/structured/StructuredWriter.d.ts +74 -0
- package/api/Indexing/structured/Types.d.ts +126 -0
- package/api/Indexing/structured/index.d.ts +9 -0
- package/api/Indexing/tokenize.d.ts +31 -0
- package/api/ORM/DACUtils.d.ts +270 -0
- package/api/ORM/ListItemUtils.d.ts +40 -0
- package/api/ORM/ORMRouteMap.d.ts +55 -0
- package/api/ORM/TypeInfoORMService.d.ts +740 -0
- package/api/ORM/drivers/DynamoDBDataItemDBDriver/ConfigTypes.d.ts +229 -0
- package/api/ORM/drivers/DynamoDBDataItemDBDriver.d.ts +89 -0
- package/api/ORM/drivers/InMemoryDataItemDBDriver/ConfigTypes.d.ts +4 -0
- package/api/ORM/drivers/InMemoryDataItemDBDriver.d.ts +55 -0
- package/api/ORM/drivers/InMemoryFileItemDBDriver/ConfigTypes.d.ts +13 -0
- package/api/ORM/drivers/InMemoryFileItemDBDriver.d.ts +98 -0
- package/api/ORM/drivers/InMemoryItemRelationshipDBDriver.d.ts +16 -0
- package/api/ORM/drivers/IndexingRelationshipDriver.d.ts +123 -0
- package/api/ORM/drivers/S3FileItemDBDriver/ConfigTypes.d.ts +322 -0
- package/api/ORM/drivers/S3FileItemDBDriver/S3FileDriver.d.ts +118 -0
- package/api/ORM/drivers/S3FileItemDBDriver.d.ts +71 -0
- package/api/ORM/drivers/common/SupportedTypeInfoORMDBDrivers.d.ts +36 -0
- package/api/ORM/drivers/common/Types.d.ts +197 -0
- package/api/ORM/drivers/common/index.d.ts +2 -0
- package/api/ORM/drivers/index.d.ts +8 -0
- package/api/ORM/index.d.ts +9 -0
- package/api/ORM/indexing/criteriaToStructuredWhere.d.ts +22 -0
- package/api/Router/AWS.d.ts +80 -0
- package/api/Router/Auth.d.ts +14 -0
- package/api/Router/CORS.d.ts +66 -0
- package/api/Router/Types.d.ts +138 -0
- package/api/Router/index.d.ts +89 -0
- package/api/index.d.ts +72 -6
- package/api/index.js +3291 -1954
- package/app/forms/Engine.d.ts +23 -0
- package/app/forms/UI.d.ts +83 -0
- package/app/forms/core/createAutoField.d.ts +43 -0
- package/app/forms/core/createFormRenderer.d.ts +25 -0
- package/app/forms/core/getFieldKind.d.ts +14 -0
- package/app/forms/core/index.d.ts +11 -0
- package/app/forms/core/mergeSuites.d.ts +23 -0
- package/app/forms/core/resolveSuite.d.ts +15 -0
- package/app/forms/core/types.d.ts +180 -0
- package/app/forms/index.d.ts +9 -0
- package/app/forms/types.d.ts +137 -0
- package/app/helpers/styled.d.ts +3 -0
- package/app/index.d.ts +102 -5
- package/app/index.js +98 -327
- package/app/utils/ApplicationState.d.ts +167 -0
- package/app/utils/ApplicationStateLoader.d.ts +86 -0
- package/app/utils/Controller.d.ts +10 -0
- package/app/utils/Debug.d.ts +14 -0
- package/app/utils/EasyLayout.d.ts +89 -0
- package/app/utils/History.d.ts +165 -0
- package/app/utils/Route.d.ts +173 -0
- package/app/utils/RouteHistory.d.ts +27 -0
- package/app/utils/Service.d.ts +45 -0
- package/app/utils/TypeInfoORMAPIUtils.d.ts +94 -0
- package/app/utils/TypeInfoORMClient.d.ts +103 -0
- package/app/utils/UniversalRouteAdapter.d.ts +73 -0
- package/app/utils/easy-layout/computeAreaBounds.d.ts +5 -0
- package/app/utils/easy-layout/computeTracks.d.ts +16 -0
- package/app/utils/easy-layout/index.d.ts +5 -0
- package/app/utils/easy-layout/parseTemplate.d.ts +12 -0
- package/app/utils/easy-layout/types.d.ts +52 -0
- package/app/utils/easy-layout/validateAreas.d.ts +5 -0
- package/app/utils/index.d.ts +24 -0
- package/build/TypeMapping.d.ts +17 -0
- package/build/TypeParsing.d.ts +10 -0
- package/build/index.d.ts +15 -0
- package/build/index.js +569 -0
- package/chunk-2MOLWZMQ.js +71 -0
- package/chunk-7AMEFPPP.js +78 -0
- package/chunk-ATO2455Q.js +258 -0
- package/chunk-DT6WWJUI.js +1185 -0
- package/chunk-I2KLQ2HA.js +19 -0
- package/chunk-TJFTWPXQ.js +39 -0
- package/chunk-WNFRDIBW.js +121 -0
- package/chunk-YCTVEW2I.js +546 -0
- package/common/CommandLine/collectRequiredEnvironmentVariables.d.ts +9 -0
- package/common/CommandLine/index.d.ts +6 -0
- package/common/HelperTypes.d.ts +9 -0
- package/common/IdGeneration/getSimpleId.d.ts +8 -0
- package/common/IdGeneration/index.d.ts +1 -0
- package/common/ItemRelationshipInfoTypes.d.ts +64 -0
- package/common/ItemRelationships/ItemRelationshipValidation.d.ts +21 -0
- package/common/ItemRelationships/index.d.ts +2 -0
- package/common/Logging/Utils.d.ts +10 -0
- package/common/Logging/index.d.ts +1 -0
- package/common/Routing.d.ts +81 -0
- package/common/SearchTypes.d.ts +227 -0
- package/common/SearchUtils.d.ts +55 -0
- package/common/SearchValidation.d.ts +27 -0
- package/common/StringTransformers.d.ts +28 -0
- package/common/Testing/CLI.d.ts +6 -0
- package/common/Testing/Types.d.ts +216 -0
- package/common/Testing/Utils.d.ts +112 -0
- package/common/Testing/index.d.ts +8 -0
- package/common/TypeInfoDataItemUtils.d.ts +39 -0
- package/{Types-C7XjUjoF.d.ts → common/TypeInfoORM/Types.d.ts} +117 -15
- package/common/TypeInfoORM/index.d.ts +3 -0
- package/common/TypeParsing/Constants.d.ts +4 -0
- package/common/TypeParsing/ParsingUtils/Constants.d.ts +8 -0
- package/common/TypeParsing/ParsingUtils/checkType.d.ts +14 -0
- package/common/TypeParsing/ParsingUtils/checkUnionType.d.ts +12 -0
- package/common/TypeParsing/ParsingUtils/extractCommentTags.d.ts +8 -0
- package/common/TypeParsing/ParsingUtils/extractLiteralValues.d.ts +12 -0
- package/common/TypeParsing/ParsingUtils/extractTypeDetails.d.ts +14 -0
- package/common/TypeParsing/ParsingUtils/getPrimaryFieldForTypeInfo.d.ts +18 -0
- package/common/TypeParsing/ParsingUtils/getTypeInfo.d.ts +9 -0
- package/common/TypeParsing/ParsingUtils/getTypeInfoField.d.ts +9 -0
- package/common/TypeParsing/ParsingUtils/getTypeInfoFromAliasType.d.ts +11 -0
- package/common/TypeParsing/ParsingUtils/getTypeInfoFromFieldFilter.d.ts +12 -0
- package/common/TypeParsing/ParsingUtils/getTypeInfoFromTypeAlias.d.ts +11 -0
- package/common/TypeParsing/ParsingUtils/getTypeKeyword.d.ts +9 -0
- package/common/TypeParsing/ParsingUtils/getUnionOrIntersectionTypeInfo.d.ts +11 -0
- package/common/TypeParsing/ParsingUtils/getUnionOrLiteralStringValues.d.ts +8 -0
- package/common/TypeParsing/TypeInfo.d.ts +222 -0
- package/common/TypeParsing/Utils.d.ts +47 -0
- package/common/TypeParsing/Validation.d.ts +327 -0
- package/common/TypeParsing/index.d.ts +8 -0
- package/common/index.d.ts +40 -4
- package/common/index.js +25 -1737
- package/{index-BkFZlfit.d.ts → iac/SimpleCFT.d.ts} +5 -25
- package/iac/index.d.ts +40 -2
- package/iac/index.js +2 -1661
- package/iac/packs/auth.d.ts +131 -0
- package/iac/packs/build/utils.d.ts +289 -0
- package/iac/packs/build.d.ts +92 -0
- package/iac/packs/cdn.d.ts +33 -0
- package/iac/packs/cloud-function.d.ts +67 -0
- package/iac/packs/database.d.ts +32 -0
- package/iac/packs/dns.d.ts +34 -0
- package/iac/packs/file-storage.d.ts +46 -0
- package/iac/packs/gateway.d.ts +82 -0
- package/iac/packs/index.d.ts +60 -1
- package/iac/packs/index.js +391 -594
- package/iac/packs/repo.d.ts +28 -0
- package/iac/packs/ssl-certificate.d.ts +28 -0
- package/iac/types/Constants.d.ts +24 -0
- package/{index-DcvJOZ_c.d.ts → iac/types/IaCTypes.d.ts} +23 -1018
- package/iac/types/Renderers.d.ts +96 -0
- package/iac/types/Types.d.ts +131 -0
- package/iac/types/Utils.d.ts +9 -0
- package/iac/types/generate.d.ts +1 -0
- package/iac/utils/index.d.ts +87 -0
- package/iac/utils/patch-utils.d.ts +66 -0
- package/iac-packs/index.d.ts +6 -0
- package/native/forms/UI.d.ts +73 -0
- package/native/forms/createNativeFormRenderer.d.ts +21 -0
- package/native/forms/index.d.ts +25 -0
- package/native/forms/primitives/index.d.ts +38 -0
- package/native/forms/suite.d.ts +15 -0
- package/native/index.d.ts +19 -0
- package/native/index.js +748 -0
- package/native/testing/react-native.d.ts +46 -0
- package/native/utils/EasyLayout.d.ts +88 -0
- package/native/utils/History.d.ts +102 -0
- package/native/utils/Route.d.ts +80 -0
- package/native/utils/index.d.ts +20 -0
- package/package.json +54 -21
- package/web/forms/UI.d.ts +74 -0
- package/web/forms/createWebFormRenderer.d.ts +21 -0
- package/web/forms/index.d.ts +9 -0
- package/web/forms/primitives/index.d.ts +21 -0
- package/web/forms/suite.d.ts +15 -0
- package/web/index.d.ts +15 -0
- package/web/index.js +668 -0
- package/web/utils/EasyLayout.d.ts +47 -0
- package/web/utils/Route.d.ts +16 -0
- package/web/utils/index.d.ts +7 -0
- package/SearchTypes-DjN6YQzE.d.ts +0 -577
- package/Validation-CFP59oIP.d.ts +0 -226
- package/index-C3-iD9Mh.d.ts +0 -690
- package/index-DZ2BB4iX.d.ts +0 -5357
- package/index-IokxSNxm.d.ts +0 -745
- package/index.d.ts +0 -13
- package/index.js +0 -10973
package/app/index.d.ts
CHANGED
|
@@ -1,5 +1,102 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
*
|
|
4
|
+
* Build front-end applications with React and TypeScript utilities, including
|
|
5
|
+
* layout/state helpers and form generation support.
|
|
6
|
+
*
|
|
7
|
+
* Import from the app subpath only:
|
|
8
|
+
* ```ts
|
|
9
|
+
* import {
|
|
10
|
+
* createFormRenderer,
|
|
11
|
+
* useApplicationStateLoader,
|
|
12
|
+
* useApplicationStateValueStructure,
|
|
13
|
+
* type RemoteProcedureCall,
|
|
14
|
+
* } from "@resistdesign/voltra/app";
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @see {@link useApplicationStateValueStructure} and
|
|
18
|
+
* {@link useApplicationStateLoader} for good starting points.
|
|
19
|
+
*
|
|
20
|
+
* Reference examples:
|
|
21
|
+
* - `examples/README.md`
|
|
22
|
+
* - `examples/routing/app-routing.ts`
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```tsx
|
|
26
|
+
* import {
|
|
27
|
+
* useApplicationStateLoader,
|
|
28
|
+
* useApplicationStateValueStructure,
|
|
29
|
+
* type RemoteProcedureCall,
|
|
30
|
+
* } from "@resistdesign/voltra/app";
|
|
31
|
+
* import { useCallback } from "react";
|
|
32
|
+
*
|
|
33
|
+
* const APP_STATE_IDENTIFIERS = {
|
|
34
|
+
* LOGIN: {
|
|
35
|
+
* USERNAME: {},
|
|
36
|
+
* PASSWORD: {},
|
|
37
|
+
* LOGGED_IN: {},
|
|
38
|
+
* },
|
|
39
|
+
* };
|
|
40
|
+
*
|
|
41
|
+
* const LOGIN_SERVICE_CONFIG = {
|
|
42
|
+
* protocol: "https",
|
|
43
|
+
* domain: "example.com",
|
|
44
|
+
* basePath: "/api",
|
|
45
|
+
* };
|
|
46
|
+
*
|
|
47
|
+
* const LOGIN_RPC: RemoteProcedureCall = {
|
|
48
|
+
* serviceConfig: LOGIN_SERVICE_CONFIG,
|
|
49
|
+
* path: "/login",
|
|
50
|
+
* args: [],
|
|
51
|
+
* };
|
|
52
|
+
*
|
|
53
|
+
* export const LoginController = () => {
|
|
54
|
+
* const {
|
|
55
|
+
* valueStructure: {
|
|
56
|
+
* username: username = "",
|
|
57
|
+
* password: password = "",
|
|
58
|
+
* loggedIn: loggedIn = false,
|
|
59
|
+
* },
|
|
60
|
+
* onChangeStructure: {
|
|
61
|
+
* username: setUsername,
|
|
62
|
+
* password: setPassword,
|
|
63
|
+
* loggedIn: setLoggedIn,
|
|
64
|
+
* },
|
|
65
|
+
* } = useApplicationStateValueStructure<{
|
|
66
|
+
* username: string;
|
|
67
|
+
* password: string;
|
|
68
|
+
* loggedIn: boolean;
|
|
69
|
+
* }>({
|
|
70
|
+
* username: APP_STATE_IDENTIFIERS.LOGIN.USERNAME,
|
|
71
|
+
* password: APP_STATE_IDENTIFIERS.LOGIN.PASSWORD,
|
|
72
|
+
* loggedIn: APP_STATE_IDENTIFIERS.LOGIN.LOGGED_IN,
|
|
73
|
+
* });
|
|
74
|
+
*
|
|
75
|
+
* const { loading: loadingLogin, makeRemoteProcedureCall } =
|
|
76
|
+
* useApplicationStateLoader({
|
|
77
|
+
* identifier: APP_STATE_IDENTIFIERS.LOGIN.LOGGED_IN,
|
|
78
|
+
* remoteProcedureCall: LOGIN_RPC,
|
|
79
|
+
* manual: true,
|
|
80
|
+
* });
|
|
81
|
+
*
|
|
82
|
+
* const onSubmit = useCallback(() => {
|
|
83
|
+
* makeRemoteProcedureCall(username, password);
|
|
84
|
+
* }, [username, password, makeRemoteProcedureCall]);
|
|
85
|
+
*
|
|
86
|
+
* return { username, password, loggedIn, setUsername, setPassword, onSubmit, loadingLogin };
|
|
87
|
+
* };
|
|
88
|
+
* ```
|
|
89
|
+
*
|
|
90
|
+
* See also: `@resistdesign/voltra/web` and `@resistdesign/voltra/native` for
|
|
91
|
+
* runtime-specific UI helpers.
|
|
92
|
+
*/
|
|
93
|
+
/**
|
|
94
|
+
* @category app
|
|
95
|
+
* @group State and Services
|
|
96
|
+
*/
|
|
97
|
+
export * from "./utils";
|
|
98
|
+
/**
|
|
99
|
+
* @category app
|
|
100
|
+
* @group Forms
|
|
101
|
+
*/
|
|
102
|
+
export * from "./forms";
|
package/app/index.js
CHANGED
|
@@ -1,45 +1,13 @@
|
|
|
1
|
+
export { createEasyLayout, getEasyLayoutTemplateDetails, getPascalCaseAreaName } from '../chunk-2MOLWZMQ.js';
|
|
2
|
+
export { computeTrackPixels } from '../chunk-TJFTWPXQ.js';
|
|
3
|
+
export { AutoForm, AutoFormView, Route, RouteContext, RouteContextConsumer, RouteContextProvider, RouteProvider, buildHistoryPath, buildQueryString, buildRoutePath, canUseBrowserHistory, computeAreaBounds, createAutoField, createBrowserRouteAdapter, createFormRenderer, createHistoryBackHandler, createManualRouteAdapter, createMemoryHistory, createNativeRouteAdapter, createRouteAdapterFromHistory, createUniversalAdapter, defaultTranslateValidationErrorCode, getFieldKind, parseHistoryPath, parseTemplate, resolveSuite, useFormEngine, useRouteContext, validateAreas, wrapRouteAdapterWithPathResolver } from '../chunk-DT6WWJUI.js';
|
|
4
|
+
import '../chunk-7AMEFPPP.js';
|
|
5
|
+
import '../chunk-YCTVEW2I.js';
|
|
6
|
+
import { mergeStringPaths, PATH_DELIMITER } from '../chunk-WNFRDIBW.js';
|
|
7
|
+
import '../chunk-I2KLQ2HA.js';
|
|
1
8
|
import { createContext, useContext, useRef, useMemo, useCallback, useState, useEffect } from 'react';
|
|
2
9
|
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import styled from 'styled-components';
|
|
4
10
|
|
|
5
|
-
var __defProp = Object.defineProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
// src/app/utils/index.ts
|
|
12
|
-
var utils_exports = {};
|
|
13
|
-
__export(utils_exports, {
|
|
14
|
-
ApplicationStateContext: () => ApplicationStateContext,
|
|
15
|
-
ApplicationStateProvider: () => ApplicationStateProvider,
|
|
16
|
-
Route: () => Route,
|
|
17
|
-
RouteContext: () => RouteContext,
|
|
18
|
-
RouteContextConsumer: () => RouteContextConsumer,
|
|
19
|
-
RouteContextProvider: () => RouteContextProvider,
|
|
20
|
-
TypeInfoORMClient: () => TypeInfoORMClient,
|
|
21
|
-
getApplicationStateIdentifier: () => getApplicationStateIdentifier,
|
|
22
|
-
getApplicationStateModified: () => getApplicationStateModified,
|
|
23
|
-
getApplicationStateValue: () => getApplicationStateValue,
|
|
24
|
-
getApplicationStateValueStructure: () => getApplicationStateValueStructure,
|
|
25
|
-
getChangedDependencyIndexes: () => getChangedDependencyIndexes,
|
|
26
|
-
getEasyLayout: () => getEasyLayout,
|
|
27
|
-
getEasyLayoutTemplateDetails: () => getEasyLayoutTemplateDetails,
|
|
28
|
-
getFullUrl: () => getFullUrl,
|
|
29
|
-
getPascalCaseAreaName: () => getPascalCaseAreaName,
|
|
30
|
-
handleRequest: () => handleRequest,
|
|
31
|
-
requestHandlerFactory: () => requestHandlerFactory,
|
|
32
|
-
sendServiceRequest: () => sendServiceRequest,
|
|
33
|
-
setApplicationStateModified: () => setApplicationStateModified,
|
|
34
|
-
setApplicationStateValue: () => setApplicationStateValue,
|
|
35
|
-
useApplicationStateLoader: () => useApplicationStateLoader,
|
|
36
|
-
useApplicationStateValue: () => useApplicationStateValue,
|
|
37
|
-
useApplicationStateValueStructure: () => useApplicationStateValueStructure,
|
|
38
|
-
useController: () => useController,
|
|
39
|
-
useDebugDependencies: () => useDebugDependencies,
|
|
40
|
-
useRouteContext: () => useRouteContext,
|
|
41
|
-
useTypeInfoORMAPI: () => useTypeInfoORMAPI
|
|
42
|
-
});
|
|
43
11
|
var getApplicationStateIdentifier = (subStateIdMap) => subStateIdMap ? subStateIdMap : {};
|
|
44
12
|
var getApplicationStateModified = (identifier, modificationState) => !!modificationState.get(identifier);
|
|
45
13
|
var getApplicationStateValue = (identifier, applicationState) => applicationState.get(identifier);
|
|
@@ -70,6 +38,8 @@ var useApplicationStateValue = (identifier) => {
|
|
|
70
38
|
} = useContext(ApplicationStateContext);
|
|
71
39
|
const appStateRef = useRef(applicationState);
|
|
72
40
|
appStateRef.current = applicationState;
|
|
41
|
+
const modificationStateRef = useRef(modificationState);
|
|
42
|
+
modificationStateRef.current = modificationState;
|
|
73
43
|
const modified = useMemo(
|
|
74
44
|
() => getApplicationStateModified(identifier, modificationState),
|
|
75
45
|
[identifier, modificationState]
|
|
@@ -81,7 +51,11 @@ var useApplicationStateValue = (identifier) => {
|
|
|
81
51
|
const setModified = useCallback(
|
|
82
52
|
(isModified) => {
|
|
83
53
|
setModificationState(
|
|
84
|
-
setApplicationStateModified(
|
|
54
|
+
setApplicationStateModified(
|
|
55
|
+
identifier,
|
|
56
|
+
isModified,
|
|
57
|
+
modificationStateRef.current
|
|
58
|
+
)
|
|
85
59
|
);
|
|
86
60
|
},
|
|
87
61
|
[identifier, setModificationState]
|
|
@@ -160,102 +134,31 @@ var ApplicationStateProvider = ({
|
|
|
160
134
|
return /* @__PURE__ */ jsx(Provider, { value: controller, children });
|
|
161
135
|
};
|
|
162
136
|
|
|
163
|
-
// src/common/Routing.ts
|
|
164
|
-
var PATH_DELIMITER = "/";
|
|
165
|
-
var getPotentialJSONValue = (value) => {
|
|
166
|
-
try {
|
|
167
|
-
return JSON.parse(value);
|
|
168
|
-
} catch (error) {
|
|
169
|
-
return value;
|
|
170
|
-
}
|
|
171
|
-
};
|
|
172
|
-
var getPathArray = (path, delimiter = PATH_DELIMITER, filterEmptyOutput = false, filterEmptyInput = true, useJson = true, uriDecodeParts = true) => path.split(delimiter).filter(filterEmptyInput ? (p) => p !== "" : () => true).map(uriDecodeParts ? decodeURIComponent : (x) => x).map(useJson ? getPotentialJSONValue : (p) => p).filter(filterEmptyOutput ? (p) => p ?? false : () => true);
|
|
173
|
-
var getPathString = (parts = [], delimiter = PATH_DELIMITER, filterEmptyInput = false, useJson = true, uriEncodeParts = false) => parts.filter(filterEmptyInput ? (p) => p ?? false : () => true).map(useJson ? (p) => JSON.stringify(p) : (x) => x).map(uriEncodeParts ? encodeURIComponent : (x) => x).join(delimiter);
|
|
174
|
-
var mergeStringPaths = (path1, path2, delimiter = PATH_DELIMITER, filterEmptyOutput = false, filterEmptyInput = true, useJson = true, uriEncodeParts = false) => getPathString(
|
|
175
|
-
[
|
|
176
|
-
...getPathArray(
|
|
177
|
-
path1,
|
|
178
|
-
delimiter,
|
|
179
|
-
filterEmptyOutput,
|
|
180
|
-
filterEmptyInput,
|
|
181
|
-
useJson,
|
|
182
|
-
uriEncodeParts
|
|
183
|
-
),
|
|
184
|
-
...getPathArray(
|
|
185
|
-
path2,
|
|
186
|
-
delimiter,
|
|
187
|
-
filterEmptyOutput,
|
|
188
|
-
filterEmptyInput,
|
|
189
|
-
useJson,
|
|
190
|
-
uriEncodeParts
|
|
191
|
-
)
|
|
192
|
-
],
|
|
193
|
-
delimiter,
|
|
194
|
-
filterEmptyInput,
|
|
195
|
-
useJson,
|
|
196
|
-
uriEncodeParts
|
|
197
|
-
);
|
|
198
|
-
var resolvePath = (currentPath, newPath) => {
|
|
199
|
-
const newSegments = getPathArray(newPath, PATH_DELIMITER, true);
|
|
200
|
-
let currentSegments = getPathArray(currentPath, PATH_DELIMITER, true);
|
|
201
|
-
if (newPath.startsWith("/")) {
|
|
202
|
-
currentSegments = [];
|
|
203
|
-
}
|
|
204
|
-
newSegments.forEach((segment) => {
|
|
205
|
-
if (segment === "..") {
|
|
206
|
-
if (currentSegments.length > 0) {
|
|
207
|
-
currentSegments.pop();
|
|
208
|
-
}
|
|
209
|
-
} else if (segment !== ".") {
|
|
210
|
-
currentSegments.push(segment);
|
|
211
|
-
}
|
|
212
|
-
});
|
|
213
|
-
return "/" + currentSegments.join("/");
|
|
214
|
-
};
|
|
215
|
-
var getParamsAndTestPath = (path, testPath, exact = false) => {
|
|
216
|
-
const pathList = getPathArray(path);
|
|
217
|
-
const testPathList = getPathArray(testPath);
|
|
218
|
-
if (exact && pathList.length !== testPathList.length) {
|
|
219
|
-
return false;
|
|
220
|
-
} else {
|
|
221
|
-
let params = {};
|
|
222
|
-
if (pathList.length >= testPathList.length) {
|
|
223
|
-
for (let i = 0; i < testPathList.length; i++) {
|
|
224
|
-
const testPathPart = testPathList[i];
|
|
225
|
-
const pathPart = pathList[i];
|
|
226
|
-
if (testPathPart.startsWith(":")) {
|
|
227
|
-
const paramName = testPathPart.slice(1);
|
|
228
|
-
params[paramName] = pathPart;
|
|
229
|
-
} else if (pathPart !== testPathPart) {
|
|
230
|
-
return false;
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
} else {
|
|
234
|
-
return false;
|
|
235
|
-
}
|
|
236
|
-
return params;
|
|
237
|
-
}
|
|
238
|
-
};
|
|
239
|
-
|
|
240
137
|
// src/app/utils/Service.ts
|
|
241
138
|
var getFullUrl = (protocol, domain, basePath = "", path = "", port) => {
|
|
139
|
+
const normalizedProtocol = protocol.endsWith(":") ? protocol.slice(0, -1) : protocol;
|
|
140
|
+
const normalizedDomain = domain.replace(/\/+$/, "");
|
|
242
141
|
const portString = !!port ? `:${port}` : "";
|
|
243
142
|
const fullPath = mergeStringPaths(
|
|
244
143
|
basePath,
|
|
245
144
|
path,
|
|
246
145
|
PATH_DELIMITER,
|
|
247
146
|
false,
|
|
248
|
-
|
|
147
|
+
true,
|
|
249
148
|
false
|
|
250
149
|
);
|
|
251
|
-
|
|
150
|
+
const normalizedPath = fullPath ? fullPath.startsWith(PATH_DELIMITER) ? fullPath : `${PATH_DELIMITER}${fullPath}` : PATH_DELIMITER;
|
|
151
|
+
return `${normalizedProtocol}://${normalizedDomain}${portString}${normalizedPath}`;
|
|
252
152
|
};
|
|
253
153
|
var sendServiceRequest = async (config, path = "", args = []) => {
|
|
254
154
|
const { protocol, domain, port, basePath = "", authorization = "" } = config;
|
|
255
155
|
const fullUrl = getFullUrl(protocol, domain, basePath, path, port);
|
|
256
|
-
const requestHeaders =
|
|
257
|
-
|
|
258
|
-
|
|
156
|
+
const requestHeaders = {
|
|
157
|
+
"Content-Type": "application/json",
|
|
158
|
+
...!!authorization ? {
|
|
159
|
+
Authorization: `Bearer ${authorization}`
|
|
160
|
+
} : {}
|
|
161
|
+
};
|
|
259
162
|
const response = await fetch(fullUrl, {
|
|
260
163
|
headers: requestHeaders,
|
|
261
164
|
credentials: "same-origin",
|
|
@@ -263,11 +166,24 @@ var sendServiceRequest = async (config, path = "", args = []) => {
|
|
|
263
166
|
body: JSON.stringify(args)
|
|
264
167
|
});
|
|
265
168
|
const { ok: responseIsOk } = response;
|
|
266
|
-
const
|
|
267
|
-
|
|
268
|
-
|
|
169
|
+
const textData = await response.text();
|
|
170
|
+
let data = textData;
|
|
171
|
+
try {
|
|
172
|
+
data = JSON.parse(textData);
|
|
173
|
+
} catch (error) {
|
|
174
|
+
}
|
|
175
|
+
if (typeof data === "object") {
|
|
176
|
+
if (responseIsOk) {
|
|
177
|
+
return data;
|
|
178
|
+
} else {
|
|
179
|
+
throw data;
|
|
180
|
+
}
|
|
269
181
|
} else {
|
|
270
|
-
|
|
182
|
+
if (responseIsOk) {
|
|
183
|
+
return { data };
|
|
184
|
+
} else {
|
|
185
|
+
throw { message: data };
|
|
186
|
+
}
|
|
271
187
|
}
|
|
272
188
|
};
|
|
273
189
|
var useApplicationStateLoader = (config) => {
|
|
@@ -335,7 +251,7 @@ var useApplicationStateLoader = (config) => {
|
|
|
335
251
|
var getKeyValueWithoutError = (obj, key) => {
|
|
336
252
|
try {
|
|
337
253
|
return obj[key];
|
|
338
|
-
} catch (
|
|
254
|
+
} catch (_error) {
|
|
339
255
|
return void 0;
|
|
340
256
|
}
|
|
341
257
|
};
|
|
@@ -346,7 +262,8 @@ var useController = (parentValue, key, onParentValueChange, isArrayIndex = false
|
|
|
346
262
|
try {
|
|
347
263
|
setValue(value2);
|
|
348
264
|
if (isArrayIndex) {
|
|
349
|
-
const
|
|
265
|
+
const baseArray = Array.isArray(parentValue) ? parentValue : [];
|
|
266
|
+
const newArray = [...baseArray];
|
|
350
267
|
newArray[key] = value2;
|
|
351
268
|
onParentValueChange(newArray);
|
|
352
269
|
} else {
|
|
@@ -355,7 +272,7 @@ var useController = (parentValue, key, onParentValueChange, isArrayIndex = false
|
|
|
355
272
|
[key]: value2
|
|
356
273
|
});
|
|
357
274
|
}
|
|
358
|
-
} catch (
|
|
275
|
+
} catch (_error) {
|
|
359
276
|
}
|
|
360
277
|
},
|
|
361
278
|
[parentValue, key, onParentValueChange, isArrayIndex]
|
|
@@ -363,7 +280,7 @@ var useController = (parentValue, key, onParentValueChange, isArrayIndex = false
|
|
|
363
280
|
useEffect(() => {
|
|
364
281
|
try {
|
|
365
282
|
setValue(getKeyValueWithoutError(parentValue, key));
|
|
366
|
-
} catch (
|
|
283
|
+
} catch (_error) {
|
|
367
284
|
setValue(void 0);
|
|
368
285
|
}
|
|
369
286
|
}, [parentValue, key]);
|
|
@@ -388,202 +305,33 @@ var useDebugDependencies = (dependencies) => {
|
|
|
388
305
|
prevDeps.current = dependencies;
|
|
389
306
|
}, dependencies);
|
|
390
307
|
};
|
|
391
|
-
|
|
392
|
-
|
|
308
|
+
|
|
309
|
+
// src/common/IdGeneration/getSimpleId.ts
|
|
310
|
+
var LAST_HAST_ID = 0;
|
|
311
|
+
var textEncoder = new TextEncoder();
|
|
312
|
+
var bytesToBinaryString = (bytes) => {
|
|
313
|
+
let out = "";
|
|
314
|
+
for (let i = 0; i < bytes.length; i++) {
|
|
315
|
+
out += String.fromCharCode(bytes[i]);
|
|
316
|
+
}
|
|
317
|
+
return out;
|
|
393
318
|
};
|
|
394
|
-
var
|
|
395
|
-
const
|
|
396
|
-
let
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
319
|
+
var getBase64EncodedString = (input) => {
|
|
320
|
+
const bytes = textEncoder.encode(input);
|
|
321
|
+
let base64 = "";
|
|
322
|
+
if (typeof globalThis.btoa === "function") {
|
|
323
|
+
const binary = bytesToBinaryString(bytes);
|
|
324
|
+
base64 = globalThis.btoa(binary);
|
|
325
|
+
} else {
|
|
326
|
+
const anyGlobal = globalThis;
|
|
327
|
+
if (typeof anyGlobal.Buffer === "function") {
|
|
328
|
+
base64 = anyGlobal.Buffer.from(bytes).toString("base64");
|
|
404
329
|
} else {
|
|
405
|
-
|
|
406
|
-
if (parts[0]) {
|
|
407
|
-
areaRows = [...areaRows, parts[0]];
|
|
408
|
-
if (parts[1]) {
|
|
409
|
-
rows = [...rows, parts[1]];
|
|
410
|
-
}
|
|
411
|
-
}
|
|
330
|
+
throw new Error("No base64 encoder available (need btoa or Buffer).");
|
|
412
331
|
}
|
|
413
332
|
}
|
|
414
|
-
|
|
415
|
-
grid-template-areas:
|
|
416
|
-
${areaRows.filter((a) => !!(a && a.trim())).map((a) => ` "${a}"`).join("\n")};`;
|
|
417
|
-
if (rows.length) {
|
|
418
|
-
css += `
|
|
419
|
-
grid-template-rows: ${rows.filter((r) => !!(r && r.trim())).join(" ")};`;
|
|
420
|
-
}
|
|
421
|
-
const areasList = Object.keys(
|
|
422
|
-
areaRows.reduce(
|
|
423
|
-
(acc, a) => [
|
|
424
|
-
...acc,
|
|
425
|
-
...a.split(" ").map((a2) => a2 && a2.trim()).filter((a2) => !!a2)
|
|
426
|
-
],
|
|
427
|
-
[]
|
|
428
|
-
).reduce((acc, a) => ({ ...acc, [a]: true }), {})
|
|
429
|
-
);
|
|
430
|
-
return {
|
|
431
|
-
areasList,
|
|
432
|
-
css
|
|
433
|
-
};
|
|
333
|
+
return base64;
|
|
434
334
|
};
|
|
435
|
-
var getEasyLayoutTemplateDetails = (layout = "") => convertLayoutToCSS(layout);
|
|
436
|
-
var getEasyLayout = (extendFrom, areasExtendFrom) => {
|
|
437
|
-
return (layoutTemplate, ...expressions) => {
|
|
438
|
-
const mergedTemplate = layoutTemplate.reduce((acc, l, ind) => {
|
|
439
|
-
const expr = expressions[ind - 1];
|
|
440
|
-
const exprStr = typeof expr === "undefined" ? "" : expr;
|
|
441
|
-
return `${acc}${l}${exprStr}`;
|
|
442
|
-
}, "");
|
|
443
|
-
const { areasList, css } = convertLayoutToCSS(mergedTemplate);
|
|
444
|
-
const baseLayoutComp = extendFrom ? styled(extendFrom) : styled.div;
|
|
445
|
-
const layout = baseLayoutComp`
|
|
446
|
-
display: grid;
|
|
447
|
-
${css}
|
|
448
|
-
`;
|
|
449
|
-
const areas = areasList.reduce((acc, area) => {
|
|
450
|
-
const pascalCaseAreaName = getPascalCaseAreaName(area);
|
|
451
|
-
const baseCompFunc = areasExtendFrom ? styled(areasExtendFrom) : styled.div;
|
|
452
|
-
const component = baseCompFunc`
|
|
453
|
-
grid-area: ${area};
|
|
454
|
-
`;
|
|
455
|
-
return {
|
|
456
|
-
...acc,
|
|
457
|
-
[pascalCaseAreaName]: component
|
|
458
|
-
};
|
|
459
|
-
}, {});
|
|
460
|
-
return {
|
|
461
|
-
layout,
|
|
462
|
-
areas
|
|
463
|
-
};
|
|
464
|
-
};
|
|
465
|
-
};
|
|
466
|
-
(function(history2) {
|
|
467
|
-
const pushState = history2.pushState;
|
|
468
|
-
history2.pushState = function(state, ...remainingArguments) {
|
|
469
|
-
if (typeof history2.onpushstate == "function") {
|
|
470
|
-
history2.onpushstate({ state });
|
|
471
|
-
}
|
|
472
|
-
const result = pushState.apply(history2, [state, ...remainingArguments]);
|
|
473
|
-
window.dispatchEvent(new CustomEvent("statechanged", { detail: state }));
|
|
474
|
-
return result;
|
|
475
|
-
};
|
|
476
|
-
})(window.history);
|
|
477
|
-
var CURRENT_PATH = window.location.pathname;
|
|
478
|
-
var RouteContext = createContext({
|
|
479
|
-
currentWindowPath: CURRENT_PATH,
|
|
480
|
-
parentPath: "",
|
|
481
|
-
params: {},
|
|
482
|
-
isTopLevel: true
|
|
483
|
-
});
|
|
484
|
-
var {
|
|
485
|
-
/**
|
|
486
|
-
* @ignore
|
|
487
|
-
* */
|
|
488
|
-
Provider: RouteContextProvider,
|
|
489
|
-
/**
|
|
490
|
-
* @ignore
|
|
491
|
-
* */
|
|
492
|
-
Consumer: RouteContextConsumer
|
|
493
|
-
} = RouteContext;
|
|
494
|
-
var useRouteContext = () => useContext(RouteContext);
|
|
495
|
-
var Route = ({
|
|
496
|
-
/**
|
|
497
|
-
* Use `:` as the first character to denote a parameter in the path.
|
|
498
|
-
* */
|
|
499
|
-
path = "",
|
|
500
|
-
onParamsChange,
|
|
501
|
-
exact = false,
|
|
502
|
-
children
|
|
503
|
-
}) => {
|
|
504
|
-
const [currentPath = "", setCurrentPath] = useState(CURRENT_PATH);
|
|
505
|
-
const {
|
|
506
|
-
currentWindowPath = "",
|
|
507
|
-
parentPath = "",
|
|
508
|
-
params: parentParams = {},
|
|
509
|
-
isTopLevel
|
|
510
|
-
} = useRouteContext();
|
|
511
|
-
const targetCurrentPath = useMemo(
|
|
512
|
-
() => isTopLevel ? currentPath : currentWindowPath,
|
|
513
|
-
[isTopLevel, currentPath, currentWindowPath]
|
|
514
|
-
);
|
|
515
|
-
const fullPath = useMemo(
|
|
516
|
-
() => mergeStringPaths(parentPath, path),
|
|
517
|
-
[parentPath, path]
|
|
518
|
-
);
|
|
519
|
-
const newParams = useMemo(
|
|
520
|
-
() => getParamsAndTestPath(targetCurrentPath, fullPath, exact),
|
|
521
|
-
[targetCurrentPath, fullPath, exact]
|
|
522
|
-
);
|
|
523
|
-
const params = useMemo(
|
|
524
|
-
() => ({
|
|
525
|
-
...parentParams,
|
|
526
|
-
...newParams ? newParams : {}
|
|
527
|
-
}),
|
|
528
|
-
[parentParams, newParams]
|
|
529
|
-
);
|
|
530
|
-
const newRouteContext = useMemo(
|
|
531
|
-
() => ({
|
|
532
|
-
currentWindowPath: targetCurrentPath,
|
|
533
|
-
parentPath: fullPath,
|
|
534
|
-
params,
|
|
535
|
-
isTopLevel: false
|
|
536
|
-
}),
|
|
537
|
-
[targetCurrentPath, fullPath, params]
|
|
538
|
-
);
|
|
539
|
-
useEffect(() => {
|
|
540
|
-
if (onParamsChange) {
|
|
541
|
-
onParamsChange(params);
|
|
542
|
-
}
|
|
543
|
-
}, [params, onParamsChange]);
|
|
544
|
-
useEffect(() => {
|
|
545
|
-
if (isTopLevel) {
|
|
546
|
-
const handleAnchorClick = (event) => {
|
|
547
|
-
let target = event.target;
|
|
548
|
-
while (target && target.nodeName !== "A") {
|
|
549
|
-
target = target.parentNode;
|
|
550
|
-
}
|
|
551
|
-
if (target && target.nodeName === "A") {
|
|
552
|
-
const aTarget = target;
|
|
553
|
-
const href = aTarget.getAttribute("href");
|
|
554
|
-
const title = aTarget.getAttribute("title") ?? "";
|
|
555
|
-
try {
|
|
556
|
-
new URL(href ? href : "");
|
|
557
|
-
} catch (error) {
|
|
558
|
-
const newPath = resolvePath(
|
|
559
|
-
window.location.pathname,
|
|
560
|
-
href ? href : ""
|
|
561
|
-
);
|
|
562
|
-
event.preventDefault();
|
|
563
|
-
history.pushState({}, title, newPath);
|
|
564
|
-
setCurrentPath(newPath);
|
|
565
|
-
}
|
|
566
|
-
}
|
|
567
|
-
};
|
|
568
|
-
const handlePopOrReplaceState = () => {
|
|
569
|
-
setCurrentPath(window.location.pathname);
|
|
570
|
-
};
|
|
571
|
-
window.document.addEventListener("click", handleAnchorClick);
|
|
572
|
-
window.addEventListener("popstate", handlePopOrReplaceState);
|
|
573
|
-
window.addEventListener("statechanged", handlePopOrReplaceState);
|
|
574
|
-
return () => {
|
|
575
|
-
window.document.removeEventListener("click", handleAnchorClick);
|
|
576
|
-
window.removeEventListener("popstate", handlePopOrReplaceState);
|
|
577
|
-
window.removeEventListener("statechanged", handlePopOrReplaceState);
|
|
578
|
-
};
|
|
579
|
-
}
|
|
580
|
-
}, [isTopLevel]);
|
|
581
|
-
return newParams ? /* @__PURE__ */ jsx(RouteContextProvider, { value: newRouteContext, children }) : null;
|
|
582
|
-
};
|
|
583
|
-
|
|
584
|
-
// src/common/IdGeneration/getSimpleId.ts
|
|
585
|
-
var LAST_HAST_ID = 0;
|
|
586
|
-
var getBase64EncodedString = (input) => Buffer.from(input).toString("base64");
|
|
587
335
|
var getSimpleId = () => {
|
|
588
336
|
const hashId = LAST_HAST_ID++;
|
|
589
337
|
const base64Datetime = getBase64EncodedString(
|
|
@@ -653,8 +401,7 @@ var useTypeInfoORMAPI = (typeInfoORMAPI) => {
|
|
|
653
401
|
);
|
|
654
402
|
const api = useMemo(() => {
|
|
655
403
|
const apiBase = {};
|
|
656
|
-
for (const
|
|
657
|
-
const methodName = aM;
|
|
404
|
+
for (const methodName of Object.keys(typeInfoORMAPI)) {
|
|
658
405
|
apiBase[methodName] = requestHandlerFactory(
|
|
659
406
|
typeInfoORMAPI,
|
|
660
407
|
methodName,
|
|
@@ -687,7 +434,11 @@ var TypeInfoORMClient = class {
|
|
|
687
434
|
* @returns Parsed response payload.
|
|
688
435
|
*/
|
|
689
436
|
makeRequest = async (path, args) => {
|
|
690
|
-
const
|
|
437
|
+
const cleanedArgs = [...args];
|
|
438
|
+
while (cleanedArgs.length > 0 && typeof cleanedArgs[cleanedArgs.length - 1] === "undefined") {
|
|
439
|
+
cleanedArgs.pop();
|
|
440
|
+
}
|
|
441
|
+
const result = await sendServiceRequest(this.config, path, cleanedArgs);
|
|
691
442
|
return result;
|
|
692
443
|
};
|
|
693
444
|
/**
|
|
@@ -710,10 +461,11 @@ var TypeInfoORMClient = class {
|
|
|
710
461
|
* @param primaryFieldValue - Primary field value to lookup.
|
|
711
462
|
* @returns The retrieved item, if found.
|
|
712
463
|
*/
|
|
713
|
-
read = async (typeName, primaryFieldValue) => {
|
|
464
|
+
read = async (typeName, primaryFieldValue, selectedFields) => {
|
|
714
465
|
return await this.makeRequest("read" /* READ */, [
|
|
715
466
|
typeName,
|
|
716
|
-
primaryFieldValue
|
|
467
|
+
primaryFieldValue,
|
|
468
|
+
selectedFields
|
|
717
469
|
]);
|
|
718
470
|
};
|
|
719
471
|
/**
|
|
@@ -807,4 +559,23 @@ var TypeInfoORMClient = class {
|
|
|
807
559
|
};
|
|
808
560
|
};
|
|
809
561
|
|
|
810
|
-
|
|
562
|
+
// src/app/forms/core/mergeSuites.ts
|
|
563
|
+
var mergeSuites = (base, overrides) => {
|
|
564
|
+
return {
|
|
565
|
+
renderers: {
|
|
566
|
+
...base.renderers ?? {},
|
|
567
|
+
...overrides.renderers ?? {}
|
|
568
|
+
},
|
|
569
|
+
primitives: {
|
|
570
|
+
...base.primitives ?? {},
|
|
571
|
+
...overrides.primitives ?? {}
|
|
572
|
+
}
|
|
573
|
+
};
|
|
574
|
+
};
|
|
575
|
+
var withRendererOverride = (kind, renderer) => ({
|
|
576
|
+
renderers: {
|
|
577
|
+
[kind]: renderer
|
|
578
|
+
}
|
|
579
|
+
});
|
|
580
|
+
|
|
581
|
+
export { ApplicationStateContext, ApplicationStateProvider, TypeInfoORMClient, getApplicationStateIdentifier, getApplicationStateModified, getApplicationStateValue, getApplicationStateValueStructure, getChangedDependencyIndexes, getFullUrl, handleRequest, mergeSuites, requestHandlerFactory, sendServiceRequest, setApplicationStateModified, setApplicationStateValue, useApplicationStateLoader, useApplicationStateValue, useApplicationStateValueStructure, useController, useDebugDependencies, useTypeInfoORMAPI, withRendererOverride };
|