@resistdesign/voltra 3.0.0-alpha.3 → 3.0.0-alpha.4

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.
Files changed (225) hide show
  1. package/README.md +75 -0
  2. package/SearchTypes-DjN6YQzE.d.ts +577 -0
  3. package/Types-C7XjUjoF.d.ts +240 -0
  4. package/Validation-CFP59oIP.d.ts +226 -0
  5. package/api/index.d.ts +6 -0
  6. package/api/index.js +7968 -0
  7. package/app/index.d.ts +5 -0
  8. package/app/index.js +810 -0
  9. package/common/Testing/CLI.js +432 -0
  10. package/common/index.d.ts +4 -0
  11. package/common/index.js +1760 -0
  12. package/iac/index.d.ts +2 -0
  13. package/iac/index.js +1661 -0
  14. package/iac/packs/index.d.ts +1 -0
  15. package/iac/packs/index.js +1620 -0
  16. package/index-BkFZlfit.d.ts +112 -0
  17. package/index-C3-iD9Mh.d.ts +690 -0
  18. package/index-DZ2BB4iX.d.ts +5357 -0
  19. package/{src/iac/types/IaCTypes.d.ts → index-DcvJOZ_c.d.ts} +1018 -23
  20. package/index-IokxSNxm.d.ts +745 -0
  21. package/index.d.ts +13 -0
  22. package/index.js +10973 -0
  23. package/package.json +40 -41
  24. package/src/api/DataAccessControl.d.ts +0 -85
  25. package/src/api/DataAccessControl.js +0 -159
  26. package/src/api/ORM/DACUtils.d.ts +0 -60
  27. package/src/api/ORM/DACUtils.js +0 -197
  28. package/src/api/ORM/ListItemUtils.d.ts +0 -7
  29. package/src/api/ORM/ListItemUtils.js +0 -22
  30. package/src/api/ORM/ORMRouteMap.d.ts +0 -19
  31. package/src/api/ORM/ORMRouteMap.js +0 -82
  32. package/src/api/ORM/TypeInfoORMService.d.ts +0 -103
  33. package/src/api/ORM/TypeInfoORMService.js +0 -581
  34. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver/ConfigTypes.d.ts +0 -63
  35. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver/ConfigTypes.js +0 -2
  36. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver.d.ts +0 -36
  37. package/src/api/ORM/drivers/DynamoDBDataItemDBDriver.js +0 -282
  38. package/src/api/ORM/drivers/S3FileItemDBDriver/ConfigTypes.d.ts +0 -90
  39. package/src/api/ORM/drivers/S3FileItemDBDriver/ConfigTypes.js +0 -2
  40. package/src/api/ORM/drivers/S3FileItemDBDriver/S3FileDriver.d.ts +0 -45
  41. package/src/api/ORM/drivers/S3FileItemDBDriver/S3FileDriver.js +0 -127
  42. package/src/api/ORM/drivers/S3FileItemDBDriver.d.ts +0 -44
  43. package/src/api/ORM/drivers/S3FileItemDBDriver.js +0 -182
  44. package/src/api/ORM/drivers/common/SupportedTypeInfoORMDBDrivers.d.ts +0 -12
  45. package/src/api/ORM/drivers/common/SupportedTypeInfoORMDBDrivers.js +0 -20
  46. package/src/api/ORM/drivers/common/Types.d.ts +0 -77
  47. package/src/api/ORM/drivers/common/Types.js +0 -14
  48. package/src/api/ORM/drivers/common/index.d.ts +0 -2
  49. package/src/api/ORM/drivers/common/index.js +0 -18
  50. package/src/api/ORM/drivers/index.d.ts +0 -3
  51. package/src/api/ORM/drivers/index.js +0 -19
  52. package/src/api/ORM/index.d.ts +0 -4
  53. package/src/api/ORM/index.js +0 -43
  54. package/src/api/Router/AWS.d.ts +0 -26
  55. package/src/api/Router/AWS.js +0 -76
  56. package/src/api/Router/Auth.d.ts +0 -2
  57. package/src/api/Router/Auth.js +0 -9
  58. package/src/api/Router/CORS.d.ts +0 -6
  59. package/src/api/Router/CORS.js +0 -27
  60. package/src/api/Router/Types.d.ts +0 -71
  61. package/src/api/Router/Types.js +0 -2
  62. package/src/api/Router/index.d.ts +0 -18
  63. package/src/api/Router/index.js +0 -145
  64. package/src/api/index.d.ts +0 -3
  65. package/src/api/index.js +0 -39
  66. package/src/app/index.d.ts +0 -1
  67. package/src/app/index.js +0 -37
  68. package/src/app/utils/ApplicationState.d.ts +0 -52
  69. package/src/app/utils/ApplicationState.js +0 -86
  70. package/src/app/utils/ApplicationStateLoader.d.ts +0 -46
  71. package/src/app/utils/ApplicationStateLoader.js +0 -57
  72. package/src/app/utils/Controller.d.ts +0 -4
  73. package/src/app/utils/Controller.js +0 -47
  74. package/src/app/utils/Debug.d.ts +0 -4
  75. package/src/app/utils/Debug.js +0 -30
  76. package/src/app/utils/EasyLayout.d.ts +0 -49
  77. package/src/app/utils/EasyLayout.js +0 -122
  78. package/src/app/utils/Route.d.ts +0 -28
  79. package/src/app/utils/Route.js +0 -102
  80. package/src/app/utils/Service.d.ts +0 -12
  81. package/src/app/utils/Service.js +0 -34
  82. package/src/app/utils/TypeInfoORMAPIUtils.d.ts +0 -20
  83. package/src/app/utils/TypeInfoORMAPIUtils.js +0 -62
  84. package/src/app/utils/TypeInfoORMClient.d.ts +0 -24
  85. package/src/app/utils/TypeInfoORMClient.js +0 -69
  86. package/src/app/utils/index.d.ts +0 -8
  87. package/src/app/utils/index.js +0 -24
  88. package/src/common/CommandLine/collectRequiredEnvironmentVariables.d.ts +0 -1
  89. package/src/common/CommandLine/collectRequiredEnvironmentVariables.js +0 -16
  90. package/src/common/HelperTypes.d.ts +0 -3
  91. package/src/common/HelperTypes.js +0 -2
  92. package/src/common/IdGeneration/getSimpleId.d.ts +0 -4
  93. package/src/common/IdGeneration/getSimpleId.js +0 -16
  94. package/src/common/IdGeneration/index.d.ts +0 -1
  95. package/src/common/IdGeneration/index.js +0 -17
  96. package/src/common/ItemRelationshipInfoTypes.d.ts +0 -46
  97. package/src/common/ItemRelationshipInfoTypes.js +0 -20
  98. package/src/common/ItemRelationships/ItemRelationshipValidation.d.ts +0 -10
  99. package/src/common/ItemRelationships/ItemRelationshipValidation.js +0 -43
  100. package/src/common/ItemRelationships/index.d.ts +0 -1
  101. package/src/common/ItemRelationships/index.js +0 -17
  102. package/src/common/Logging/Utils.d.ts +0 -10
  103. package/src/common/Logging/Utils.js +0 -33
  104. package/src/common/Logging/index.d.ts +0 -1
  105. package/src/common/Logging/index.js +0 -17
  106. package/src/common/Routing.d.ts +0 -25
  107. package/src/common/Routing.js +0 -102
  108. package/src/common/SearchTypes.d.ts +0 -98
  109. package/src/common/SearchTypes.js +0 -39
  110. package/src/common/SearchUtils.d.ts +0 -22
  111. package/src/common/SearchUtils.js +0 -134
  112. package/src/common/SearchValidation.d.ts +0 -17
  113. package/src/common/SearchValidation.js +0 -90
  114. package/src/common/Storyboarding/Types.d.ts +0 -25
  115. package/src/common/Storyboarding/Types.js +0 -2
  116. package/src/common/StringTransformers.d.ts +0 -17
  117. package/src/common/StringTransformers.js +0 -36
  118. package/src/common/Testing/CLI.d.ts +0 -2
  119. package/src/common/Testing/CLI.js +0 -56
  120. package/src/common/Testing/Types.d.ts +0 -117
  121. package/src/common/Testing/Types.js +0 -19
  122. package/src/common/Testing/Utils.d.ts +0 -48
  123. package/src/common/Testing/Utils.js +0 -334
  124. package/src/common/Testing/index.d.ts +0 -2
  125. package/src/common/Testing/index.js +0 -18
  126. package/src/common/TypeInfoDataItemUtils.d.ts +0 -10
  127. package/src/common/TypeInfoDataItemUtils.js +0 -55
  128. package/src/common/TypeInfoORM/Types.d.ts +0 -76
  129. package/src/common/TypeInfoORM/Types.js +0 -55
  130. package/src/common/TypeInfoORM/index.d.ts +0 -1
  131. package/src/common/TypeInfoORM/index.js +0 -17
  132. package/src/common/TypeParsing/Constants.d.ts +0 -1
  133. package/src/common/TypeParsing/Constants.js +0 -4
  134. package/src/common/TypeParsing/ParsingUtils/Constants.d.ts +0 -5
  135. package/src/common/TypeParsing/ParsingUtils/Constants.js +0 -8
  136. package/src/common/TypeParsing/ParsingUtils/checkType.d.ts +0 -8
  137. package/src/common/TypeParsing/ParsingUtils/checkType.js +0 -46
  138. package/src/common/TypeParsing/ParsingUtils/checkUnionType.d.ts +0 -6
  139. package/src/common/TypeParsing/ParsingUtils/checkUnionType.js +0 -15
  140. package/src/common/TypeParsing/ParsingUtils/extractCommentTags.d.ts +0 -2
  141. package/src/common/TypeParsing/ParsingUtils/extractCommentTags.js +0 -105
  142. package/src/common/TypeParsing/ParsingUtils/extractLiteralValues.d.ts +0 -6
  143. package/src/common/TypeParsing/ParsingUtils/extractLiteralValues.js +0 -42
  144. package/src/common/TypeParsing/ParsingUtils/extractTypeDetails.d.ts +0 -8
  145. package/src/common/TypeParsing/ParsingUtils/extractTypeDetails.js +0 -14
  146. package/src/common/TypeParsing/ParsingUtils/getPrimaryFieldForTypeInfo.d.ts +0 -5
  147. package/src/common/TypeParsing/ParsingUtils/getPrimaryFieldForTypeInfo.js +0 -27
  148. package/src/common/TypeParsing/ParsingUtils/getTypeInfo.d.ts +0 -3
  149. package/src/common/TypeParsing/ParsingUtils/getTypeInfo.js +0 -27
  150. package/src/common/TypeParsing/ParsingUtils/getTypeInfoField.d.ts +0 -3
  151. package/src/common/TypeParsing/ParsingUtils/getTypeInfoField.js +0 -44
  152. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromAliasType.d.ts +0 -4
  153. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromAliasType.js +0 -28
  154. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromFieldFilter.d.ts +0 -4
  155. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromFieldFilter.js +0 -105
  156. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromTypeAlias.d.ts +0 -4
  157. package/src/common/TypeParsing/ParsingUtils/getTypeInfoFromTypeAlias.js +0 -20
  158. package/src/common/TypeParsing/ParsingUtils/getTypeKeyword.d.ts +0 -3
  159. package/src/common/TypeParsing/ParsingUtils/getTypeKeyword.js +0 -17
  160. package/src/common/TypeParsing/ParsingUtils/getUnionOrIntersectionTypeInfo.d.ts +0 -4
  161. package/src/common/TypeParsing/ParsingUtils/getUnionOrIntersectionTypeInfo.js +0 -49
  162. package/src/common/TypeParsing/ParsingUtils/getUnionOrLiteralStringValues.d.ts +0 -2
  163. package/src/common/TypeParsing/ParsingUtils/getUnionOrLiteralStringValues.js +0 -24
  164. package/src/common/TypeParsing/TypeInfo.d.ts +0 -142
  165. package/src/common/TypeParsing/TypeInfo.js +0 -13
  166. package/src/common/TypeParsing/TypeMapping.d.ts +0 -9
  167. package/src/common/TypeParsing/TypeMapping.js +0 -32
  168. package/src/common/TypeParsing/TypeParsing.d.ts +0 -5
  169. package/src/common/TypeParsing/TypeParsing.js +0 -39
  170. package/src/common/TypeParsing/Utils.d.ts +0 -21
  171. package/src/common/TypeParsing/Utils.js +0 -94
  172. package/src/common/TypeParsing/Validation.d.ts +0 -92
  173. package/src/common/TypeParsing/Validation.js +0 -340
  174. package/src/common/TypeParsing/index.d.ts +0 -5
  175. package/src/common/TypeParsing/index.js +0 -44
  176. package/src/common/index.d.ts +0 -11
  177. package/src/common/index.js +0 -47
  178. package/src/iac/SimpleCFT.d.ts +0 -48
  179. package/src/iac/SimpleCFT.js +0 -82
  180. package/src/iac/index.d.ts +0 -9
  181. package/src/iac/index.js +0 -48
  182. package/src/iac/packs/auth/user-management.d.ts +0 -14
  183. package/src/iac/packs/auth/user-management.js +0 -302
  184. package/src/iac/packs/auth.d.ts +0 -19
  185. package/src/iac/packs/auth.js +0 -47
  186. package/src/iac/packs/build/utils.d.ts +0 -100
  187. package/src/iac/packs/build/utils.js +0 -23
  188. package/src/iac/packs/build.d.ts +0 -29
  189. package/src/iac/packs/build.js +0 -217
  190. package/src/iac/packs/cdn.d.ts +0 -12
  191. package/src/iac/packs/cdn.js +0 -126
  192. package/src/iac/packs/cloud-function.d.ts +0 -17
  193. package/src/iac/packs/cloud-function.js +0 -69
  194. package/src/iac/packs/database.d.ts +0 -29
  195. package/src/iac/packs/database.js +0 -27
  196. package/src/iac/packs/dns.d.ts +0 -13
  197. package/src/iac/packs/dns.js +0 -26
  198. package/src/iac/packs/file-storage.d.ts +0 -14
  199. package/src/iac/packs/file-storage.js +0 -71
  200. package/src/iac/packs/gateway.d.ts +0 -27
  201. package/src/iac/packs/gateway.js +0 -342
  202. package/src/iac/packs/index.d.ts +0 -11
  203. package/src/iac/packs/index.js +0 -27
  204. package/src/iac/packs/repo.d.ts +0 -10
  205. package/src/iac/packs/repo.js +0 -34
  206. package/src/iac/packs/ssl-certificate.d.ts +0 -10
  207. package/src/iac/packs/ssl-certificate.js +0 -36
  208. package/src/iac/types/CloudFormationResourceSpecification.d.ts +0 -2
  209. package/src/iac/types/Constants.d.ts +0 -9
  210. package/src/iac/types/Constants.js +0 -20
  211. package/src/iac/types/IaCTypes.js +0 -14
  212. package/src/iac/types/Renderers.d.ts +0 -12
  213. package/src/iac/types/Renderers.js +0 -112
  214. package/src/iac/types/Types.d.ts +0 -37
  215. package/src/iac/types/Types.js +0 -2
  216. package/src/iac/types/Utils.d.ts +0 -2
  217. package/src/iac/types/Utils.js +0 -60
  218. package/src/iac/types/generate.d.ts +0 -1
  219. package/src/iac/types/generate.js +0 -31
  220. package/src/iac/utils/index.d.ts +0 -36
  221. package/src/iac/utils/index.js +0 -105
  222. package/src/iac/utils/patch-utils.d.ts +0 -15
  223. package/src/iac/utils/patch-utils.js +0 -62
  224. package/src/index.d.ts +0 -178
  225. package/src/index.js +0 -214
@@ -1,122 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getEasyLayout = void 0;
7
- const styled_components_1 = __importDefault(require("styled-components"));
8
- const getPascalCaseAreaName = (area) => {
9
- return area
10
- .split("-")
11
- .map((a) => a[0].toUpperCase() + a.slice(1))
12
- .join("");
13
- };
14
- const convertLayoutToCSS = (layout = "") => {
15
- const lines = layout.split("\n");
16
- let areaRows = [];
17
- let rows = [];
18
- let css = "";
19
- for (let i = 0; i < lines.length; i++) {
20
- const line = lines[i].trim();
21
- if (line.indexOf("\\") === 0) {
22
- // Column Widths
23
- css += `\ngrid-template-columns: ${line.split("\\").join("").trim()};`;
24
- }
25
- else {
26
- const parts = line.split(",").map((p) => p && p.trim());
27
- if (parts[0]) {
28
- areaRows = [...areaRows, parts[0]];
29
- if (parts[1]) {
30
- rows = [...rows, parts[1]];
31
- }
32
- }
33
- }
34
- }
35
- css += `\ngrid-template-areas:\n${areaRows
36
- .filter((a) => !!(a && a.trim()))
37
- .map((a) => ` "${a}"`)
38
- .join("\n")};`;
39
- if (rows.length) {
40
- css += `\ngrid-template-rows: ${rows
41
- .filter((r) => !!(r && r.trim()))
42
- .join(" ")};`;
43
- }
44
- const areasList = Object.keys(areaRows
45
- .reduce((acc, a) => [
46
- ...acc,
47
- ...a
48
- .split(" ")
49
- .map((a) => a && a.trim())
50
- .filter((a) => !!a),
51
- ], [])
52
- .reduce((acc, a) => ({ ...acc, [a]: true }), {}));
53
- return {
54
- areasList,
55
- css,
56
- };
57
- };
58
- /**
59
- * Quickly express advanced, extensible grid layouts with styled-components.
60
- *
61
- * @example
62
- * ```tsx
63
- * const {
64
- * layout: Container,
65
- * areas: {
66
- * Header,
67
- * Side,
68
- * Main,
69
- * Footer,
70
- * },
71
- * } = getEasyLayout(styled.div)`
72
- * header header header, 1fr
73
- * side main main, 5fr
74
- * footer footer footer, 1fr
75
- * \\ 1fr 1fr 1fr
76
- * `;
77
- *
78
- * const App = () => {
79
- * return (
80
- * <Container>
81
- * <Header>Header Content</Header>
82
- * <Side>Side Content</Side>
83
- * <Main>Main Content</Main>
84
- * <Footer>Footer Content</Footer>
85
- * </Container>
86
- * );
87
- * };
88
- * ```
89
- * */
90
- const getEasyLayout = (extendFrom, areasExtendFrom) => {
91
- return (layoutTemplate, ...expressions) => {
92
- const mergedTemplate = layoutTemplate.reduce((acc, l, ind) => {
93
- const expr = expressions[ind - 1];
94
- const exprStr = typeof expr === "undefined" ? "" : expr;
95
- return `${acc}${l}${exprStr}`;
96
- }, "");
97
- const { areasList, css } = convertLayoutToCSS(mergedTemplate);
98
- const baseLayoutComp = extendFrom ? (0, styled_components_1.default)(extendFrom) : styled_components_1.default.div;
99
- const layout = baseLayoutComp `
100
- display: grid;
101
- ${css}
102
- `;
103
- const areas = areasList.reduce((acc, area) => {
104
- const pascalCaseAreaName = getPascalCaseAreaName(area);
105
- const baseCompFunc = areasExtendFrom
106
- ? (0, styled_components_1.default)(areasExtendFrom)
107
- : styled_components_1.default.div;
108
- const component = baseCompFunc `
109
- grid-area: ${area};
110
- `;
111
- return {
112
- ...acc,
113
- [pascalCaseAreaName]: component,
114
- };
115
- }, {});
116
- return {
117
- layout,
118
- areas,
119
- };
120
- };
121
- };
122
- exports.getEasyLayout = getEasyLayout;
@@ -1,28 +0,0 @@
1
- import React, { PropsWithChildren } from "react";
2
- /**
3
- * Access values for the current Route.
4
- * */
5
- export type RouteContextType = {
6
- currentWindowPath: string;
7
- parentPath: string;
8
- params: Record<string, any>;
9
- isTopLevel: boolean;
10
- };
11
- export declare const RouteContext: React.Context<RouteContextType>;
12
- export declare const RouteContextProvider: React.Provider<RouteContextType>, RouteContextConsumer: React.Consumer<RouteContextType>;
13
- /**
14
- * Access Route path and parameter information.
15
- * */
16
- export declare const useRouteContext: () => RouteContextType;
17
- /**
18
- * Configure the Route.
19
- * */
20
- export type RouteProps<ParamsType extends Record<string, any>> = {
21
- path?: string;
22
- onParamsChange?: (params: ParamsType) => void;
23
- exact?: boolean;
24
- };
25
- /**
26
- * Organize nested routes with parameters and integrate with the browser history.
27
- * */
28
- export declare const Route: <ParamsType extends Record<string, any>>({ path, onParamsChange, exact, children, }: PropsWithChildren<RouteProps<ParamsType>>) => import("react/jsx-runtime").JSX.Element | null;
@@ -1,102 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Route = exports.useRouteContext = exports.RouteContextConsumer = exports.RouteContextProvider = exports.RouteContext = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
6
- const Routing_1 = require("../../common/Routing");
7
- (function (history) {
8
- const pushState = history.pushState;
9
- history.pushState = function (state, ...remainingArguments) {
10
- // @ts-ignore
11
- if (typeof history.onpushstate == "function") {
12
- // @ts-ignore
13
- history.onpushstate({ state: state });
14
- }
15
- // @ts-ignore
16
- const result = pushState.apply(history, [state, ...remainingArguments]);
17
- // Dispatch a custom event 'statechanged'
18
- window.dispatchEvent(new CustomEvent("statechanged", { detail: state }));
19
- return result;
20
- };
21
- })(window.history);
22
- const CURRENT_PATH = window.location.pathname;
23
- exports.RouteContext = (0, react_1.createContext)({
24
- currentWindowPath: CURRENT_PATH,
25
- parentPath: "",
26
- params: {},
27
- isTopLevel: true,
28
- });
29
- exports.RouteContextProvider = exports.RouteContext.Provider, exports.RouteContextConsumer = exports.RouteContext.Consumer;
30
- /**
31
- * Access Route path and parameter information.
32
- * */
33
- const useRouteContext = () => (0, react_1.useContext)(exports.RouteContext);
34
- exports.useRouteContext = useRouteContext;
35
- /**
36
- * Organize nested routes with parameters and integrate with the browser history.
37
- * */
38
- const Route = ({
39
- /**
40
- * Use `:` as the first character to denote a parameter in the path.
41
- * */
42
- path = "", onParamsChange, exact = false, children, }) => {
43
- const [currentPath = "", setCurrentPath] = (0, react_1.useState)(CURRENT_PATH);
44
- const { currentWindowPath = "", parentPath = "", params: parentParams = {}, isTopLevel, } = (0, exports.useRouteContext)();
45
- const targetCurrentPath = (0, react_1.useMemo)(() => (isTopLevel ? currentPath : currentWindowPath), [isTopLevel, currentPath, currentWindowPath]);
46
- const fullPath = (0, react_1.useMemo)(() => (0, Routing_1.mergeStringPaths)(parentPath, path), [parentPath, path]);
47
- const newParams = (0, react_1.useMemo)(() => (0, Routing_1.getParamsAndTestPath)(targetCurrentPath, fullPath, exact), [targetCurrentPath, fullPath, exact]);
48
- const params = (0, react_1.useMemo)(() => ({
49
- ...parentParams,
50
- ...(newParams ? newParams : {}),
51
- }), [parentParams, newParams]);
52
- const newRouteContext = (0, react_1.useMemo)(() => ({
53
- currentWindowPath: targetCurrentPath,
54
- parentPath: fullPath,
55
- params,
56
- isTopLevel: false,
57
- }), [targetCurrentPath, fullPath, params]);
58
- (0, react_1.useEffect)(() => {
59
- if (onParamsChange) {
60
- onParamsChange(params);
61
- }
62
- }, [params, onParamsChange]);
63
- (0, react_1.useEffect)(() => {
64
- if (isTopLevel) {
65
- const handleAnchorClick = (event) => {
66
- let target = event.target;
67
- while (target && target.nodeName !== "A") {
68
- target = target.parentNode;
69
- }
70
- if (target && target.nodeName === "A") {
71
- const aTarget = target;
72
- const href = aTarget.getAttribute("href");
73
- const title = aTarget.getAttribute("title") ?? "";
74
- try {
75
- new URL(href ? href : "");
76
- // Full URL
77
- }
78
- catch (error) {
79
- // Partial URL
80
- const newPath = (0, Routing_1.resolvePath)(window.location.pathname, href ? href : "");
81
- event.preventDefault();
82
- history.pushState({}, title, newPath);
83
- setCurrentPath(newPath);
84
- }
85
- }
86
- };
87
- const handlePopOrReplaceState = () => {
88
- setCurrentPath(window.location.pathname);
89
- };
90
- window.document.addEventListener("click", handleAnchorClick);
91
- window.addEventListener("popstate", handlePopOrReplaceState);
92
- window.addEventListener("statechanged", handlePopOrReplaceState);
93
- return () => {
94
- window.document.removeEventListener("click", handleAnchorClick);
95
- window.removeEventListener("popstate", handlePopOrReplaceState);
96
- window.removeEventListener("statechanged", handlePopOrReplaceState);
97
- };
98
- }
99
- }, [isTopLevel]);
100
- return newParams ? ((0, jsx_runtime_1.jsx)(exports.RouteContextProvider, { value: newRouteContext, children: children })) : null;
101
- };
102
- exports.Route = Route;
@@ -1,12 +0,0 @@
1
- /**
2
- * The HTTP service configuration, including authorization, to be used for a service call.
3
- * */
4
- export type ServiceConfig = {
5
- protocol: string;
6
- domain: string;
7
- port?: number;
8
- basePath?: string;
9
- authorization?: string;
10
- };
11
- export declare const getFullUrl: (protocol: string, domain: string, basePath?: string, path?: string, port?: number) => string;
12
- export declare const sendServiceRequest: (config: ServiceConfig, path?: string, args?: any[]) => Promise<any>;
@@ -1,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sendServiceRequest = exports.getFullUrl = void 0;
4
- const Routing_1 = require("../../common/Routing");
5
- const getFullUrl = (protocol, domain, basePath = "", path = "", port) => {
6
- const portString = !!port ? `:${port}` : "";
7
- const fullPath = (0, Routing_1.mergeStringPaths)(basePath, path, Routing_1.PATH_DELIMITER, false, false, false);
8
- return `${protocol}://${domain}${portString}${fullPath}`;
9
- };
10
- exports.getFullUrl = getFullUrl;
11
- const sendServiceRequest = async (config, path = "", args = []) => {
12
- const { protocol, domain, port, basePath = "", authorization = "" } = config;
13
- const fullUrl = (0, exports.getFullUrl)(protocol, domain, basePath, path, port);
14
- const requestHeaders = !!authorization
15
- ? {
16
- Authorization: `Bearer ${authorization}`,
17
- }
18
- : undefined;
19
- const response = await fetch(fullUrl, {
20
- headers: requestHeaders,
21
- credentials: "same-origin",
22
- method: "POST",
23
- body: JSON.stringify(args),
24
- });
25
- const { ok: responseIsOk } = response;
26
- const data = await response.json();
27
- if (responseIsOk) {
28
- return data;
29
- }
30
- else {
31
- throw data;
32
- }
33
- };
34
- exports.sendServiceRequest = sendServiceRequest;
@@ -1,20 +0,0 @@
1
- import { TypeInfoORMAPI, TypeInfoORMServiceError } from "../../common/TypeInfoORM";
2
- import { ExpandComplexType } from "../../common/HelperTypes";
3
- export type SyncRequestHandler<ArgsType extends any[]> = (...args: ArgsType) => string;
4
- export type TypeInfoORMServiceAPI = ExpandComplexType<{
5
- [K in keyof TypeInfoORMAPI]: TypeInfoORMAPI[K] extends (...args: infer A) => Promise<any> ? SyncRequestHandler<A> : TypeInfoORMAPI[K];
6
- }>;
7
- export type BaseTypeInfoORMAPIRequestState = {
8
- loading?: boolean;
9
- data?: any;
10
- error?: TypeInfoORMServiceError;
11
- };
12
- export type TypeInfoORMAPIRequestState = ExpandComplexType<BaseTypeInfoORMAPIRequestState & {
13
- activeRequests?: string[];
14
- }>;
15
- export type TypeInfoORMAPIState = Partial<Record<keyof TypeInfoORMAPI, TypeInfoORMAPIRequestState>>;
16
- export type TypeInfoORMAPIController = {
17
- state: TypeInfoORMAPIState;
18
- api: TypeInfoORMServiceAPI;
19
- };
20
- export declare const useTypeInfoORMAPI: (typeInfoORMAPI: TypeInfoORMAPI) => TypeInfoORMAPIController;
@@ -1,62 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useTypeInfoORMAPI = void 0;
4
- const react_1 = require("react");
5
- const IdGeneration_1 = require("../../common/IdGeneration");
6
- const handleRequest = async (requestId, args, typeInfoORMAPI, methodName, onRequestStateChange) => {
7
- onRequestStateChange(methodName, requestId, { loading: true });
8
- try {
9
- const requestMethod = typeInfoORMAPI[methodName];
10
- const result = await requestMethod(...args);
11
- onRequestStateChange(methodName, requestId, {
12
- loading: false,
13
- data: result,
14
- });
15
- }
16
- catch (error) {
17
- onRequestStateChange(methodName, requestId, {
18
- loading: false,
19
- error: typeof error === "object" && error !== null && "message" in error
20
- ? error.message
21
- : undefined,
22
- });
23
- }
24
- };
25
- const requestHandlerFactory = (typeInfoORMAPI, methodName, onRequestStateChange) => (...args) => {
26
- const requestId = (0, IdGeneration_1.getSimpleId)();
27
- handleRequest(requestId, args, typeInfoORMAPI, methodName, onRequestStateChange);
28
- return requestId;
29
- };
30
- const useTypeInfoORMAPI = (typeInfoORMAPI) => {
31
- const [state, setState] = (0, react_1.useState)({});
32
- const onRequestStateChange = (0, react_1.useCallback)((methodName, requestId, { loading, data, error }) => {
33
- setState(({ [methodName]: { activeRequests: prevActiveRequests = [], data: prevData, error: prevError, } = {}, ...prevState }) => {
34
- const newActiveRequests = loading
35
- ? [...prevActiveRequests, requestId]
36
- : prevActiveRequests.filter((id) => id !== requestId);
37
- const currentlyLoading = newActiveRequests.length > 0;
38
- return {
39
- ...prevState,
40
- [methodName]: {
41
- activeRequests: newActiveRequests,
42
- loading: currentlyLoading,
43
- data: currentlyLoading ? undefined : (data ?? prevData),
44
- error: currentlyLoading ? undefined : (error ?? prevError),
45
- },
46
- };
47
- });
48
- }, []);
49
- const api = (0, react_1.useMemo)(() => {
50
- const apiBase = {};
51
- for (const aM in typeInfoORMAPI) {
52
- const methodName = aM;
53
- apiBase[methodName] = requestHandlerFactory(typeInfoORMAPI, methodName, onRequestStateChange);
54
- }
55
- return apiBase;
56
- }, [typeInfoORMAPI, onRequestStateChange]);
57
- return {
58
- state,
59
- api,
60
- };
61
- };
62
- exports.useTypeInfoORMAPI = useTypeInfoORMAPI;
@@ -1,24 +0,0 @@
1
- import { DeleteRelationshipResults, TypeInfoORMAPI, TypeInfoORMAPIRoutePaths } from "../../common/TypeInfoORM";
2
- import { ServiceConfig } from "./Service";
3
- import { TypeInfoDataItem } from "../../common/TypeParsing/TypeInfo";
4
- import { ListItemsConfig, ListItemsResults, ListRelationshipsConfig } from "../../common/SearchTypes";
5
- import { BaseItemRelationshipInfo, ItemRelationshipInfo } from "../../common/ItemRelationshipInfoTypes";
6
- /**
7
- * A client for a TypeInfoORM API or service.
8
- *
9
- * @param config - The configuration pointing to the Type Info ORM `RouteMap`.
10
- * */
11
- export declare class TypeInfoORMClient implements TypeInfoORMAPI {
12
- private config;
13
- constructor(config: ServiceConfig);
14
- protected makeRequest: (path: TypeInfoORMAPIRoutePaths, args: any[]) => Promise<any>;
15
- create: (typeName: string, item: TypeInfoDataItem) => Promise<any>;
16
- read: (typeName: string, primaryFieldValue: any) => Promise<TypeInfoDataItem>;
17
- update: (typeName: string, item: TypeInfoDataItem) => Promise<boolean>;
18
- delete: (typeName: string, primaryFieldValue: any) => Promise<boolean>;
19
- list: (typeName: string, config: ListItemsConfig, selectedFields?: (keyof TypeInfoDataItem)[]) => Promise<ListItemsResults<TypeInfoDataItem>>;
20
- createRelationship: (relationshipItem: BaseItemRelationshipInfo) => Promise<boolean>;
21
- deleteRelationship: (relationshipItem: BaseItemRelationshipInfo) => Promise<DeleteRelationshipResults>;
22
- listRelationships: (config: ListRelationshipsConfig) => Promise<ListItemsResults<ItemRelationshipInfo>>;
23
- listRelatedItems: (config: ListRelationshipsConfig, selectedFields?: (keyof TypeInfoDataItem)[]) => Promise<ListItemsResults<Partial<TypeInfoDataItem>>>;
24
- }
@@ -1,69 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TypeInfoORMClient = void 0;
4
- const TypeInfoORM_1 = require("../../common/TypeInfoORM");
5
- const Service_1 = require("./Service");
6
- /**
7
- * A client for a TypeInfoORM API or service.
8
- *
9
- * @param config - The configuration pointing to the Type Info ORM `RouteMap`.
10
- * */
11
- class TypeInfoORMClient {
12
- config;
13
- constructor(config) {
14
- this.config = config;
15
- }
16
- makeRequest = async (path, args) => {
17
- const result = await (0, Service_1.sendServiceRequest)(this.config, path, args);
18
- return result;
19
- };
20
- create = async (typeName, item) => {
21
- return await this.makeRequest(TypeInfoORM_1.TypeInfoORMAPIRoutePaths.CREATE, [
22
- typeName,
23
- item,
24
- ]);
25
- };
26
- read = async (typeName, primaryFieldValue) => {
27
- return await this.makeRequest(TypeInfoORM_1.TypeInfoORMAPIRoutePaths.READ, [
28
- typeName,
29
- primaryFieldValue,
30
- ]);
31
- };
32
- update = async (typeName, item) => {
33
- return await this.makeRequest(TypeInfoORM_1.TypeInfoORMAPIRoutePaths.UPDATE, [
34
- typeName,
35
- item,
36
- ]);
37
- };
38
- delete = async (typeName, primaryFieldValue) => {
39
- return await this.makeRequest(TypeInfoORM_1.TypeInfoORMAPIRoutePaths.DELETE, [
40
- typeName,
41
- primaryFieldValue,
42
- ]);
43
- };
44
- list = async (typeName, config, selectedFields) => {
45
- return await this.makeRequest(TypeInfoORM_1.TypeInfoORMAPIRoutePaths.LIST, [
46
- typeName,
47
- config,
48
- selectedFields,
49
- ]);
50
- };
51
- createRelationship = async (relationshipItem) => {
52
- return await this.makeRequest(TypeInfoORM_1.TypeInfoORMAPIRoutePaths.CREATE_RELATIONSHIP, [relationshipItem]);
53
- };
54
- deleteRelationship = async (relationshipItem) => {
55
- return await this.makeRequest(TypeInfoORM_1.TypeInfoORMAPIRoutePaths.DELETE_RELATIONSHIP, [relationshipItem]);
56
- };
57
- listRelationships = async (config) => {
58
- return await this.makeRequest(TypeInfoORM_1.TypeInfoORMAPIRoutePaths.LIST_RELATIONSHIPS, [
59
- config,
60
- ]);
61
- };
62
- listRelatedItems = async (config, selectedFields) => {
63
- return await this.makeRequest(TypeInfoORM_1.TypeInfoORMAPIRoutePaths.LIST_RELATED_ITEMS, [
64
- config,
65
- selectedFields,
66
- ]);
67
- };
68
- }
69
- exports.TypeInfoORMClient = TypeInfoORMClient;
@@ -1,8 +0,0 @@
1
- export * from "./ApplicationState";
2
- export * from "./ApplicationStateLoader";
3
- export * from "./Controller";
4
- export * from "./Debug";
5
- export * from "./EasyLayout";
6
- export * from "./Route";
7
- export * from "./Service";
8
- export * from "./TypeInfoORMClient";
@@ -1,24 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./ApplicationState"), exports);
18
- __exportStar(require("./ApplicationStateLoader"), exports);
19
- __exportStar(require("./Controller"), exports);
20
- __exportStar(require("./Debug"), exports);
21
- __exportStar(require("./EasyLayout"), exports);
22
- __exportStar(require("./Route"), exports);
23
- __exportStar(require("./Service"), exports);
24
- __exportStar(require("./TypeInfoORMClient"), exports);
@@ -1 +0,0 @@
1
- export declare const collectRequiredEnvironmentVariables: <VarName extends string>(varNames: VarName[]) => Record<VarName, string>;
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.collectRequiredEnvironmentVariables = void 0;
4
- const collectRequiredEnvironmentVariables = (varNames) => {
5
- const result = {};
6
- for (const vN of varNames) {
7
- const value = process.env[vN];
8
- // IMPORTANT: Verify that we have all required environment variables.
9
- if (!value) {
10
- throw new Error(`Missing required environment variable: ${vN}`);
11
- }
12
- result[vN] = value;
13
- }
14
- return result;
15
- };
16
- exports.collectRequiredEnvironmentVariables = collectRequiredEnvironmentVariables;
@@ -1,3 +0,0 @@
1
- export type ExpandComplexType<T> = {
2
- [K in keyof T]: T[K];
3
- } & {};
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,4 +0,0 @@
1
- /**
2
- * Get a simple id, unique to the current run session.
3
- * */
4
- export declare const getSimpleId: () => string;
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSimpleId = void 0;
4
- let LAST_HAST_ID = 0;
5
- const getBase64EncodedString = (input) => Buffer.from(input).toString("base64");
6
- /**
7
- * Get a simple id, unique to the current run session.
8
- * */
9
- const getSimpleId = () => {
10
- const hashId = LAST_HAST_ID++;
11
- const base64Datetime = getBase64EncodedString(new Date().toISOString());
12
- const rand1 = Math.random().toString(36).substring(2, 15);
13
- const rand2 = Math.random().toString(36).substring(2, 15);
14
- return `${hashId}-${base64Datetime}-${rand1}-${rand2}`;
15
- };
16
- exports.getSimpleId = getSimpleId;
@@ -1 +0,0 @@
1
- export * from "./getSimpleId";
@@ -1,17 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./getSimpleId"), exports);
@@ -1,46 +0,0 @@
1
- import { ExpandComplexType } from "./HelperTypes";
2
- /**
3
- * The keys for item relationship info.
4
- * */
5
- export declare enum ItemRelationshipInfoKeys {
6
- fromTypeName = "fromTypeName",
7
- fromTypeFieldName = "fromTypeFieldName",
8
- fromTypePrimaryFieldValue = "fromTypePrimaryFieldValue",
9
- toTypePrimaryFieldValue = "toTypePrimaryFieldValue"
10
- }
11
- /**
12
- * The identifying keys for item relationship info.
13
- * */
14
- export declare enum ItemRelationshipInfoIdentifyingKeys {
15
- id = "id"
16
- }
17
- /**
18
- * The basis for an `ItemRelationshipInfo` without an assigned identifier.
19
- * */
20
- export type BaseItemRelationshipInfo = Record<ItemRelationshipInfoKeys, string>;
21
- /**
22
- * An item containing the information about a relationship between two items.
23
- * */
24
- export type ItemRelationshipInfo = BaseItemRelationshipInfo & Record<ItemRelationshipInfoIdentifyingKeys, string>;
25
- /**
26
- * The origination portion of an `ItemRelationshipInfo`.
27
- * */
28
- export type ItemRelationshipOriginInfo = Record<ItemRelationshipInfoKeys.fromTypeName | ItemRelationshipInfoKeys.fromTypeFieldName, string>;
29
- /**
30
- * The origination portion of an `ItemRelationshipInfo` for a specific item and field relationship.
31
- * */
32
- export type ItemRelationshipOriginItemInfo = ExpandComplexType<ItemRelationshipOriginInfo & Record<ItemRelationshipInfoKeys.fromTypePrimaryFieldValue, string>>;
33
- /**
34
- * The destination portion of an `ItemRelationshipInfo` for a specific, related item.
35
- * */
36
- export type ItemRelationshipDestinationItemInfo = Record<ItemRelationshipInfoKeys.toTypePrimaryFieldValue, string>;
37
- /**
38
- * The originating item info portion of an `ItemRelationshipInfo`.
39
- *
40
- * Used for relationship originating from a specific item, regardless of field relationship.
41
- * */
42
- export type ItemRelationshipOriginatingItemInfo = Record<ItemRelationshipInfoKeys.fromTypeName | ItemRelationshipInfoKeys.fromTypePrimaryFieldValue, string>;
43
- /**
44
- * One of the various types describing an item relationship.
45
- * */
46
- export type ItemRelationshipInfoType = BaseItemRelationshipInfo | ItemRelationshipInfo | ItemRelationshipOriginInfo | ItemRelationshipOriginItemInfo;
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ItemRelationshipInfoIdentifyingKeys = exports.ItemRelationshipInfoKeys = void 0;
4
- /**
5
- * The keys for item relationship info.
6
- * */
7
- var ItemRelationshipInfoKeys;
8
- (function (ItemRelationshipInfoKeys) {
9
- ItemRelationshipInfoKeys["fromTypeName"] = "fromTypeName";
10
- ItemRelationshipInfoKeys["fromTypeFieldName"] = "fromTypeFieldName";
11
- ItemRelationshipInfoKeys["fromTypePrimaryFieldValue"] = "fromTypePrimaryFieldValue";
12
- ItemRelationshipInfoKeys["toTypePrimaryFieldValue"] = "toTypePrimaryFieldValue";
13
- })(ItemRelationshipInfoKeys || (exports.ItemRelationshipInfoKeys = ItemRelationshipInfoKeys = {}));
14
- /**
15
- * The identifying keys for item relationship info.
16
- * */
17
- var ItemRelationshipInfoIdentifyingKeys;
18
- (function (ItemRelationshipInfoIdentifyingKeys) {
19
- ItemRelationshipInfoIdentifyingKeys["id"] = "id";
20
- })(ItemRelationshipInfoIdentifyingKeys || (exports.ItemRelationshipInfoIdentifyingKeys = ItemRelationshipInfoIdentifyingKeys = {}));