@j2inn/resolvable-ui-elements 0.0.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/README.md +2 -0
  2. package/dist/index.d.ts +5 -0
  3. package/dist/index.js +31 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/resolvableElements/Resolver.d.ts +20 -0
  6. package/dist/resolvableElements/Resolver.jsx +28 -0
  7. package/dist/resolvableElements/Resolver.jsx.map +1 -0
  8. package/dist/resolvableElements/elements/ResolvableElement.d.ts +11 -0
  9. package/dist/resolvableElements/elements/ResolvableElement.js +24 -0
  10. package/dist/resolvableElements/elements/ResolvableElement.js.map +1 -0
  11. package/dist/resolvableElements/elements/ResolvableValueElement.d.ts +11 -0
  12. package/dist/resolvableElements/elements/ResolvableValueElement.js +20 -0
  13. package/dist/resolvableElements/elements/ResolvableValueElement.js.map +1 -0
  14. package/dist/resolvableElements/elements/UiElement.d.ts +37 -0
  15. package/dist/resolvableElements/elements/UiElement.js +48 -0
  16. package/dist/resolvableElements/elements/UiElement.js.map +1 -0
  17. package/dist/resolvableElements/elements/expr/ResolvableExprElement.d.ts +11 -0
  18. package/dist/resolvableElements/elements/expr/ResolvableExprElement.js +57 -0
  19. package/dist/resolvableElements/elements/expr/ResolvableExprElement.js.map +1 -0
  20. package/dist/resolvableElements/elements/expr/ResolvableExprElementMeta.d.ts +9 -0
  21. package/dist/resolvableElements/elements/expr/ResolvableExprElementMeta.js +12 -0
  22. package/dist/resolvableElements/elements/expr/ResolvableExprElementMeta.js.map +1 -0
  23. package/dist/resolvableElements/elements/function/FunctionElement.d.ts +9 -0
  24. package/dist/resolvableElements/elements/function/FunctionElement.js +31 -0
  25. package/dist/resolvableElements/elements/function/FunctionElement.js.map +1 -0
  26. package/dist/resolvableElements/elements/function/FunctionElementMeta.d.ts +8 -0
  27. package/dist/resolvableElements/elements/function/FunctionElementMeta.js +12 -0
  28. package/dist/resolvableElements/elements/function/FunctionElementMeta.js.map +1 -0
  29. package/dist/resolvableElements/elements/list/ListElementMeta.d.ts +11 -0
  30. package/dist/resolvableElements/elements/list/ListElementMeta.js +12 -0
  31. package/dist/resolvableElements/elements/list/ListElementMeta.js.map +1 -0
  32. package/dist/resolvableElements/elements/list/ResolvableListElement.d.ts +13 -0
  33. package/dist/resolvableElements/elements/list/ResolvableListElement.js +93 -0
  34. package/dist/resolvableElements/elements/list/ResolvableListElement.js.map +1 -0
  35. package/dist/resolvableElements/elements/makeElement.d.ts +7 -0
  36. package/dist/resolvableElements/elements/makeElement.js +39 -0
  37. package/dist/resolvableElements/elements/makeElement.js.map +1 -0
  38. package/dist/resolvableElements/elements/section/ResolvableSectionElement.d.ts +18 -0
  39. package/dist/resolvableElements/elements/section/ResolvableSectionElement.js +100 -0
  40. package/dist/resolvableElements/elements/section/ResolvableSectionElement.js.map +1 -0
  41. package/dist/resolvableElements/elements/section/SectionElementMeta.d.ts +9 -0
  42. package/dist/resolvableElements/elements/section/SectionElementMeta.js +9 -0
  43. package/dist/resolvableElements/elements/section/SectionElementMeta.js.map +1 -0
  44. package/dist/resolvableElements/elements/tag/ResolvableTagElement.d.ts +13 -0
  45. package/dist/resolvableElements/elements/tag/ResolvableTagElement.js +101 -0
  46. package/dist/resolvableElements/elements/tag/ResolvableTagElement.js.map +1 -0
  47. package/dist/resolvableElements/elements/tag/TagElementMeta.d.ts +12 -0
  48. package/dist/resolvableElements/elements/tag/TagElementMeta.js +12 -0
  49. package/dist/resolvableElements/elements/tag/TagElementMeta.js.map +1 -0
  50. package/dist/resolvableElements/interfacesGeneration/generateInterfaces.d.ts +3 -0
  51. package/dist/resolvableElements/interfacesGeneration/generateInterfaces.js +131 -0
  52. package/dist/resolvableElements/interfacesGeneration/generateInterfaces.js.map +1 -0
  53. package/dist/resolvableElements/interfacesGeneration/generateTypescriptInterfacesFile.d.ts +4 -0
  54. package/dist/resolvableElements/interfacesGeneration/generateTypescriptInterfacesFile.js +39 -0
  55. package/dist/resolvableElements/interfacesGeneration/generateTypescriptInterfacesFile.js.map +1 -0
  56. package/dist/resolvableElements/react/useResolveSection.d.ts +18 -0
  57. package/dist/resolvableElements/react/useResolveSection.js +59 -0
  58. package/dist/resolvableElements/react/useResolveSection.js.map +1 -0
  59. package/dist/resolvableElements/react/useResolverContext.d.ts +4 -0
  60. package/dist/resolvableElements/react/useResolverContext.jsx +54 -0
  61. package/dist/resolvableElements/react/useResolverContext.jsx.map +1 -0
  62. package/dist/resolvableElements/resolveTemplatedExpression.d.ts +19 -0
  63. package/dist/resolvableElements/resolveTemplatedExpression.js +33 -0
  64. package/dist/resolvableElements/resolveTemplatedExpression.js.map +1 -0
  65. package/dist/useCurrentUser.d.ts +4 -0
  66. package/dist/useCurrentUser.jsx +42 -0
  67. package/dist/useCurrentUser.jsx.map +1 -0
  68. package/dist_es/index.d.ts +5 -0
  69. package/dist_es/index.js +15 -0
  70. package/dist_es/index.js.map +1 -0
  71. package/dist_es/resolvableElements/Resolver.d.ts +20 -0
  72. package/dist_es/resolvableElements/Resolver.jsx +24 -0
  73. package/dist_es/resolvableElements/Resolver.jsx.map +1 -0
  74. package/dist_es/resolvableElements/elements/ResolvableElement.d.ts +11 -0
  75. package/dist_es/resolvableElements/elements/ResolvableElement.js +20 -0
  76. package/dist_es/resolvableElements/elements/ResolvableElement.js.map +1 -0
  77. package/dist_es/resolvableElements/elements/ResolvableValueElement.d.ts +11 -0
  78. package/dist_es/resolvableElements/elements/ResolvableValueElement.js +14 -0
  79. package/dist_es/resolvableElements/elements/ResolvableValueElement.js.map +1 -0
  80. package/dist_es/resolvableElements/elements/UiElement.d.ts +37 -0
  81. package/dist_es/resolvableElements/elements/UiElement.js +43 -0
  82. package/dist_es/resolvableElements/elements/UiElement.js.map +1 -0
  83. package/dist_es/resolvableElements/elements/expr/ResolvableExprElement.d.ts +11 -0
  84. package/dist_es/resolvableElements/elements/expr/ResolvableExprElement.js +53 -0
  85. package/dist_es/resolvableElements/elements/expr/ResolvableExprElement.js.map +1 -0
  86. package/dist_es/resolvableElements/elements/expr/ResolvableExprElementMeta.d.ts +9 -0
  87. package/dist_es/resolvableElements/elements/expr/ResolvableExprElementMeta.js +7 -0
  88. package/dist_es/resolvableElements/elements/expr/ResolvableExprElementMeta.js.map +1 -0
  89. package/dist_es/resolvableElements/elements/function/FunctionElement.d.ts +9 -0
  90. package/dist_es/resolvableElements/elements/function/FunctionElement.js +26 -0
  91. package/dist_es/resolvableElements/elements/function/FunctionElement.js.map +1 -0
  92. package/dist_es/resolvableElements/elements/function/FunctionElementMeta.d.ts +8 -0
  93. package/dist_es/resolvableElements/elements/function/FunctionElementMeta.js +7 -0
  94. package/dist_es/resolvableElements/elements/function/FunctionElementMeta.js.map +1 -0
  95. package/dist_es/resolvableElements/elements/list/ListElementMeta.d.ts +11 -0
  96. package/dist_es/resolvableElements/elements/list/ListElementMeta.js +7 -0
  97. package/dist_es/resolvableElements/elements/list/ListElementMeta.js.map +1 -0
  98. package/dist_es/resolvableElements/elements/list/ResolvableListElement.d.ts +13 -0
  99. package/dist_es/resolvableElements/elements/list/ResolvableListElement.js +89 -0
  100. package/dist_es/resolvableElements/elements/list/ResolvableListElement.js.map +1 -0
  101. package/dist_es/resolvableElements/elements/makeElement.d.ts +7 -0
  102. package/dist_es/resolvableElements/elements/makeElement.js +35 -0
  103. package/dist_es/resolvableElements/elements/makeElement.js.map +1 -0
  104. package/dist_es/resolvableElements/elements/section/ResolvableSectionElement.d.ts +18 -0
  105. package/dist_es/resolvableElements/elements/section/ResolvableSectionElement.js +95 -0
  106. package/dist_es/resolvableElements/elements/section/ResolvableSectionElement.js.map +1 -0
  107. package/dist_es/resolvableElements/elements/section/SectionElementMeta.d.ts +9 -0
  108. package/dist_es/resolvableElements/elements/section/SectionElementMeta.js +4 -0
  109. package/dist_es/resolvableElements/elements/section/SectionElementMeta.js.map +1 -0
  110. package/dist_es/resolvableElements/elements/tag/ResolvableTagElement.d.ts +13 -0
  111. package/dist_es/resolvableElements/elements/tag/ResolvableTagElement.js +97 -0
  112. package/dist_es/resolvableElements/elements/tag/ResolvableTagElement.js.map +1 -0
  113. package/dist_es/resolvableElements/elements/tag/TagElementMeta.d.ts +12 -0
  114. package/dist_es/resolvableElements/elements/tag/TagElementMeta.js +7 -0
  115. package/dist_es/resolvableElements/elements/tag/TagElementMeta.js.map +1 -0
  116. package/dist_es/resolvableElements/interfacesGeneration/generateInterfaces.d.ts +3 -0
  117. package/dist_es/resolvableElements/interfacesGeneration/generateInterfaces.js +127 -0
  118. package/dist_es/resolvableElements/interfacesGeneration/generateInterfaces.js.map +1 -0
  119. package/dist_es/resolvableElements/interfacesGeneration/generateTypescriptInterfacesFile.d.ts +4 -0
  120. package/dist_es/resolvableElements/interfacesGeneration/generateTypescriptInterfacesFile.js +13 -0
  121. package/dist_es/resolvableElements/interfacesGeneration/generateTypescriptInterfacesFile.js.map +1 -0
  122. package/dist_es/resolvableElements/react/useResolveSection.d.ts +18 -0
  123. package/dist_es/resolvableElements/react/useResolveSection.js +55 -0
  124. package/dist_es/resolvableElements/react/useResolveSection.js.map +1 -0
  125. package/dist_es/resolvableElements/react/useResolverContext.d.ts +4 -0
  126. package/dist_es/resolvableElements/react/useResolverContext.jsx +26 -0
  127. package/dist_es/resolvableElements/react/useResolverContext.jsx.map +1 -0
  128. package/dist_es/resolvableElements/resolveTemplatedExpression.d.ts +19 -0
  129. package/dist_es/resolvableElements/resolveTemplatedExpression.js +28 -0
  130. package/dist_es/resolvableElements/resolveTemplatedExpression.js.map +1 -0
  131. package/dist_es/useCurrentUser.d.ts +4 -0
  132. package/dist_es/useCurrentUser.jsx +14 -0
  133. package/dist_es/useCurrentUser.jsx.map +1 -0
  134. package/package.json +52 -0
@@ -0,0 +1,55 @@
1
+ import { useEffect, useReducer, useRef, useState } from 'react';
2
+ import { makeParametersDict } from '../elements/function/FunctionElement';
3
+ import { ResolvableSectionElement } from '../elements/section/ResolvableSectionElement';
4
+ import { useResolverContext } from './useResolverContext';
5
+ /**
6
+ * Resolves a section UI element.
7
+ * @param sectionData section data object
8
+ * @param parameters parameters for the resolution
9
+ * @returns the resolved result of the section that will be updated and force rendering when a subvalue changes.
10
+ */
11
+ export function useResolveSection(sectionData, parameters) {
12
+ const [, update] = useReducer((count) => count + 1, 0);
13
+ const resolver = useResolverContext();
14
+ const [refreshes, refresh] = useReducer((count) => count + 1, 0);
15
+ const [initialResolvable] = useState(() => new ResolvableSectionElement({
16
+ element: sectionData,
17
+ resolver,
18
+ onUpdate: () => {
19
+ update();
20
+ },
21
+ }));
22
+ const ref = useRef(initialResolvable);
23
+ const parametersDict = makeParametersDict(parameters);
24
+ useEffect(() => {
25
+ if (areParametersValid(parameters)) {
26
+ ref.current = new ResolvableSectionElement({
27
+ element: sectionData,
28
+ resolver,
29
+ onUpdate: () => {
30
+ update();
31
+ },
32
+ });
33
+ ref.current.initialize(parametersDict);
34
+ return () => {
35
+ ref.current?.close();
36
+ };
37
+ }
38
+ return;
39
+ }, [sectionData, resolver, refreshes, parametersDict.toAxon()]);
40
+ return [
41
+ (ref.current?.value ?? {}),
42
+ {
43
+ refresh: refresh,
44
+ element: ref.current,
45
+ },
46
+ ];
47
+ }
48
+ const areParametersValid = (parameters) => {
49
+ if (parameters &&
50
+ Object.entries(parameters).some(([, value]) => value == null)) {
51
+ return false;
52
+ }
53
+ return true;
54
+ };
55
+ //# sourceMappingURL=useResolveSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useResolveSection.js","sourceRoot":"","sources":["../../../src/resolvableElements/react/useResolveSection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAA;AAGvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAChC,WAAc,EACd,UAAmC;IAEnC,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IAC9D,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IACxE,MAAM,CAAC,iBAAiB,CAAC,GAAG,QAAQ,CACnC,GAAG,EAAE,CACJ,IAAI,wBAAwB,CAAC;QAC5B,OAAO,EAAE,WAAW;QACpB,QAAQ;QACR,QAAQ,EAAE,GAAG,EAAE;YACd,MAAM,EAAE,CAAA;QACT,CAAC;KACD,CAAC,CACH,CAAA;IACD,MAAM,GAAG,GAAG,MAAM,CAA8B,iBAAiB,CAAC,CAAA;IAClE,MAAM,cAAc,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAA;IAErD,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,kBAAkB,CAAC,UAAU,CAAC,EAAE;YACnC,GAAG,CAAC,OAAO,GAAG,IAAI,wBAAwB,CAAC;gBAC1C,OAAO,EAAE,WAAW;gBACpB,QAAQ;gBACR,QAAQ,EAAE,GAAG,EAAE;oBACd,MAAM,EAAE,CAAA;gBACT,CAAC;aACD,CAAC,CAAA;YAEF,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;YAEtC,OAAO,GAAG,EAAE;gBACX,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,CAAA;YACrB,CAAC,CAAA;SACD;QACD,OAAM;IACP,CAAC,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAE/D,OAAO;QACN,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAA6B;QACtD;YACC,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,GAAG,CAAC,OAAO;SACpB;KACD,CAAA;AACF,CAAC;AAED,MAAM,kBAAkB,GAAG,CAC1B,UAAkC,EACjC,EAAE;IACH,IACC,UAAU;QACV,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,EAC5D;QACD,OAAO,KAAK,CAAA;KACZ;IACD,OAAO,IAAI,CAAA;AACZ,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { Resolver } from '../Resolver';
3
+ export declare function useResolverContext(): Resolver;
4
+ export declare const ResolverProvider: React.FC;
@@ -0,0 +1,26 @@
1
+ import { Client } from 'haystack-nclient';
2
+ import { useClient } from 'haystack-react';
3
+ import React, { useContext, useEffect, useState } from 'react';
4
+ import { useCurrentUser } from '../../useCurrentUser';
5
+ import { Resolver } from '../Resolver';
6
+ const ResolverContext = React.createContext(new Resolver({
7
+ client: new Client({
8
+ base: new URL(window.location.href),
9
+ }),
10
+ }));
11
+ ResolverContext.displayName = 'ResolverContext';
12
+ export function useResolverContext() {
13
+ return useContext(ResolverContext);
14
+ }
15
+ export const ResolverProvider = ({ children }) => {
16
+ const client = useClient();
17
+ const user = useCurrentUser();
18
+ const [resolver, setResolver] = useState(() => new Resolver({ client, user }));
19
+ useEffect(() => {
20
+ setResolver(new Resolver({ client, user }));
21
+ }, [client, user]);
22
+ return (<ResolverContext.Provider value={resolver}>
23
+ {children}
24
+ </ResolverContext.Provider>);
25
+ };
26
+ //# sourceMappingURL=useResolverContext.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useResolverContext.jsx","sourceRoot":"","sources":["../../../src/resolvableElements/react/useResolverContext.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,MAAM,eAAe,GAAG,KAAK,CAAC,aAAa,CAC1C,IAAI,QAAQ,CAAC;IACZ,MAAM,EAAE,IAAI,MAAM,CAAC;QAClB,IAAI,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;KACnC,CAAC;CACF,CAAC,CACF,CAAA;AAED,eAAe,CAAC,WAAW,GAAG,iBAAiB,CAAA;AAE/C,MAAM,UAAU,kBAAkB;IACjC,OAAO,UAAU,CAAC,eAAe,CAAC,CAAA;AACnC,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC1D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,IAAI,GAAG,cAAc,EAAE,CAAA;IAE7B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CACvC,GAAG,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CACpC,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACd,WAAW,CAAC,IAAI,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAC5C,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;IAElB,OAAO,CACN,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CACzC;GAAA,CAAC,QAAQ,CACV;EAAA,EAAE,eAAe,CAAC,QAAQ,CAAC,CAC3B,CAAA;AACF,CAAC,CAAA"}
@@ -0,0 +1,19 @@
1
+ import { HDict } from 'haystack-core';
2
+ export declare const REG_EXPR_MATCHING_TEMPLATE: RegExp;
3
+ /**
4
+ * Replaces variables (defined as <$parameterName>) in an expression with the values given in the parameters dict.
5
+ * The HVal.toAxon function is used for conversion to a string.
6
+ * @example
7
+ * resolveTemplatedExpression("func({{num}})", HDict.make({num: HNum.make("22")})) => "func(22)"
8
+ * @param expr the axon expression
9
+ * @param params the parameters expressed as dict
10
+ * @returns the axon expression resolved with the specified params
11
+ */
12
+ export declare const resolveTemplateExpression: (expr: string, parameters?: HDict) => string;
13
+ /**
14
+ * Replaces template variable found in the given string using a given replacer function
15
+ * @param templateString
16
+ * @param replacer
17
+ * @returns a new string containing the compiled template string
18
+ */
19
+ export declare const replaceTemplateVariables: (templateString: string, replacer: (substring: string, match: string) => string) => string;
@@ -0,0 +1,28 @@
1
+ export const REG_EXPR_MATCHING_TEMPLATE = new RegExp('{{([^{}]*)}}', 'g');
2
+ /**
3
+ * Replaces variables (defined as <$parameterName>) in an expression with the values given in the parameters dict.
4
+ * The HVal.toAxon function is used for conversion to a string.
5
+ * @example
6
+ * resolveTemplatedExpression("func({{num}})", HDict.make({num: HNum.make("22")})) => "func(22)"
7
+ * @param expr the axon expression
8
+ * @param params the parameters expressed as dict
9
+ * @returns the axon expression resolved with the specified params
10
+ */
11
+ export const resolveTemplateExpression = (expr, parameters) => {
12
+ const paramDict = parameters;
13
+ return replaceTemplateVariables(expr, (_substring, match) => {
14
+ const parameter = paramDict?.get(match)?.toAxon();
15
+ if (parameter != null) {
16
+ return parameter;
17
+ }
18
+ throw new Error(`ERROR: Missing parameter: ${match} in ${paramDict?.toAxon()}`);
19
+ });
20
+ };
21
+ /**
22
+ * Replaces template variable found in the given string using a given replacer function
23
+ * @param templateString
24
+ * @param replacer
25
+ * @returns a new string containing the compiled template string
26
+ */
27
+ export const replaceTemplateVariables = (templateString, replacer) => templateString.replace(REG_EXPR_MATCHING_TEMPLATE, replacer);
28
+ //# sourceMappingURL=resolveTemplatedExpression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveTemplatedExpression.js","sourceRoot":"","sources":["../../src/resolvableElements/resolveTemplatedExpression.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,CAAA;AAEzE;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACxC,IAAY,EACZ,UAAkB,EACT,EAAE;IACX,MAAM,SAAS,GAAG,UAAU,CAAA;IAE5B,OAAO,wBAAwB,CAC9B,IAAI,EACJ,CAAC,UAAkB,EAAE,KAAa,EAAE,EAAE;QACrC,MAAM,SAAS,GAAG,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;QACjD,IAAI,SAAS,IAAI,IAAI,EAAE;YACtB,OAAO,SAAS,CAAA;SAChB;QACD,MAAM,IAAI,KAAK,CACd,6BAA6B,KAAK,OAAO,SAAS,EAAE,MAAM,EAAE,EAAE,CAC9D,CAAA;IACF,CAAC,CACD,CAAA;AACF,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACvC,cAAsB,EACtB,QAAsD,EAC7C,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { HDict } from 'haystack-core';
2
+ import React from 'react';
3
+ export declare function useCurrentUser(): HDict | undefined;
4
+ export declare const UserContextProvider: React.FC;
@@ -0,0 +1,14 @@
1
+ import { useEval } from 'haystack-react';
2
+ import React, { useContext } from 'react';
3
+ const UserContext = React.createContext(undefined);
4
+ UserContext.displayName = 'CurrentUser';
5
+ export function useCurrentUser() {
6
+ return useContext(UserContext);
7
+ }
8
+ export const UserContextProvider = ({ children }) => {
9
+ const { grid, isLoading } = useEval('finGetCurrentUser()');
10
+ return (<UserContext.Provider value={isLoading ? undefined : grid[0]}>
11
+ {children}
12
+ </UserContext.Provider>);
13
+ };
14
+ //# sourceMappingURL=useCurrentUser.jsx.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCurrentUser.jsx","sourceRoot":"","sources":["../src/useCurrentUser.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzC,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAoB,SAAS,CAAC,CAAA;AAErE,WAAW,CAAC,WAAW,GAAG,aAAa,CAAA;AAEvC,MAAM,UAAU,cAAc;IAC7B,OAAO,UAAU,CAAC,WAAW,CAAC,CAAA;AAC/B,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC7D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAA;IAE1D,OAAO,CACN,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAC5D;GAAA,CAAC,QAAQ,CACV;EAAA,EAAE,WAAW,CAAC,QAAQ,CAAC,CACvB,CAAA;AACF,CAAC,CAAA"}
package/package.json ADDED
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "@j2inn/resolvable-ui-elements",
3
+ "version": "0.0.1-beta.0",
4
+ "description": "",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "module": "dist_es/index.js",
8
+ "scripts": {
9
+ "clean": "rimraf ./dist && rimraf ./dist_es",
10
+ "prebuild": "npm run clean && npm run lint && npm run test",
11
+ "build": "tsc && npm run-script build:es",
12
+ "build:es": "tsc --module ESNext --outDir dist_es",
13
+ "checktypes": "tsc --noEmit",
14
+ "format": "prettier-eslint --list-different --write \"$(pwd)/src/**/*.{ts,tsx,js,jsx}\"",
15
+ "lint": "eslint --fix --ext ts,tsx,js,jsx src/",
16
+ "test": "jest --passWithNoTests",
17
+ "prepack": "npm run lint && npm run test && npm run build"
18
+ },
19
+ "author": "",
20
+ "license": "ISC",
21
+ "files": [
22
+ "dist/**/*",
23
+ "dist_es/**/*"
24
+ ],
25
+ "peerDependencies": {
26
+ "haystack-core": "^2.0.37",
27
+ "haystack-nclient": "^3.0.26",
28
+ "haystack-units": "^1.0.19",
29
+ "haystack-react": "^3.0.9",
30
+ "react": "^17.0.2",
31
+ "react-dom": "^17.0.2"
32
+ },
33
+ "dependencies": {},
34
+ "devDependencies": {
35
+ "@types/jest": "^27.4.0",
36
+ "@types/node": "^15.0.2",
37
+ "@types/react": "^17.0.8",
38
+ "@typescript-eslint/eslint-plugin": "^5.28.0",
39
+ "@typescript-eslint/parser": "^5.28.0",
40
+ "eslint": "^7.32.0",
41
+ "eslint-config-prettier": "^8.3.0",
42
+ "eslint-plugin-jest": "^26.1.3",
43
+ "eslint-plugin-prettier": "^4.0.0",
44
+ "eslint-plugin-react": "^7.29.4",
45
+ "prettier": "^2.6.1",
46
+ "prettier-eslint": "^13.0.0",
47
+ "prettier-eslint-cli": "^5.0.1",
48
+ "rimraf": "^3.0.2",
49
+ "ts-jest": "^28.0.8",
50
+ "typescript": "^4.8.2"
51
+ }
52
+ }