@j2inn/resolvable-ui-elements 1.1.3-beta.0 → 2.0.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 (99) hide show
  1. package/dist/index.d.ts +12 -12
  2. package/dist/index.js +39 -39
  3. package/dist/resolvableElements/Resolver.d.ts +47 -47
  4. package/dist/resolvableElements/Resolver.js +57 -57
  5. package/dist/resolvableElements/elements/ResolvableElement.d.ts +14 -14
  6. package/dist/resolvableElements/elements/ResolvableElement.js +29 -29
  7. package/dist/resolvableElements/elements/ResolvableValueElement.d.ts +16 -16
  8. package/dist/resolvableElements/elements/ResolvableValueElement.js +38 -38
  9. package/dist/resolvableElements/elements/UiElement.d.ts +31 -31
  10. package/dist/resolvableElements/elements/UiElement.js +56 -56
  11. package/dist/resolvableElements/elements/expr/ResolvableExprElement.d.ts +26 -26
  12. package/dist/resolvableElements/elements/expr/ResolvableExprElement.js +105 -105
  13. package/dist/resolvableElements/elements/expr/ResolvableExprElementMeta.d.ts +10 -10
  14. package/dist/resolvableElements/elements/expr/ResolvableExprElementMeta.js +14 -14
  15. package/dist/resolvableElements/elements/function/FunctionElement.d.ts +12 -12
  16. package/dist/resolvableElements/elements/function/FunctionElement.js +41 -41
  17. package/dist/resolvableElements/elements/function/FunctionElementMeta.d.ts +9 -9
  18. package/dist/resolvableElements/elements/function/FunctionElementMeta.js +14 -14
  19. package/dist/resolvableElements/elements/list/ListElementMeta.d.ts +12 -12
  20. package/dist/resolvableElements/elements/list/ListElementMeta.js +14 -14
  21. package/dist/resolvableElements/elements/list/ResolvableListElement.d.ts +16 -16
  22. package/dist/resolvableElements/elements/list/ResolvableListElement.js +102 -102
  23. package/dist/resolvableElements/elements/makeElement.d.ts +7 -7
  24. package/dist/resolvableElements/elements/makeElement.js +40 -40
  25. package/dist/resolvableElements/elements/section/ResolvableSectionElement.d.ts +24 -24
  26. package/dist/resolvableElements/elements/section/ResolvableSectionElement.js +122 -122
  27. package/dist/resolvableElements/elements/section/SectionElementMeta.d.ts +16 -16
  28. package/dist/resolvableElements/elements/section/SectionElementMeta.js +11 -11
  29. package/dist/resolvableElements/elements/section/resolveSection.d.ts +12 -12
  30. package/dist/resolvableElements/elements/section/resolveSection.js +41 -41
  31. package/dist/resolvableElements/elements/tag/ResolvableTagElement.d.ts +16 -16
  32. package/dist/resolvableElements/elements/tag/ResolvableTagElement.js +105 -105
  33. package/dist/resolvableElements/elements/tag/TagElementMeta.d.ts +12 -12
  34. package/dist/resolvableElements/elements/tag/TagElementMeta.js +14 -14
  35. package/dist/resolvableElements/interfacesGeneration/generateInterfaces.d.ts +17 -17
  36. package/dist/resolvableElements/interfacesGeneration/generateInterfaces.js +135 -134
  37. package/dist/resolvableElements/interfacesGeneration/generateInterfaces.js.map +1 -1
  38. package/dist/resolvableElements/interfacesGeneration/generateTypescriptInterfacesFile.d.ts +4 -4
  39. package/dist/resolvableElements/interfacesGeneration/generateTypescriptInterfacesFile.js +41 -41
  40. package/dist/resolvableElements/react/SectionChecker.d.ts +24 -24
  41. package/dist/resolvableElements/react/SectionChecker.jsx +27 -27
  42. package/dist/resolvableElements/react/useResolveSection.d.ts +21 -21
  43. package/dist/resolvableElements/react/useResolveSection.js +65 -65
  44. package/dist/resolvableElements/react/useResolverContext.d.ts +9 -9
  45. package/dist/resolvableElements/react/useResolverContext.jsx +64 -64
  46. package/dist/resolvableElements/resolveTemplatedExpression.d.ts +22 -22
  47. package/dist/resolvableElements/resolveTemplatedExpression.js +43 -43
  48. package/dist/useCurrentUser.d.ts +10 -10
  49. package/dist/useCurrentUser.jsx +48 -48
  50. package/dist_es/index.d.ts +12 -12
  51. package/dist_es/index.js +20 -20
  52. package/dist_es/resolvableElements/Resolver.d.ts +47 -47
  53. package/dist_es/resolvableElements/Resolver.js +53 -53
  54. package/dist_es/resolvableElements/elements/ResolvableElement.d.ts +14 -14
  55. package/dist_es/resolvableElements/elements/ResolvableElement.js +25 -25
  56. package/dist_es/resolvableElements/elements/ResolvableValueElement.d.ts +16 -16
  57. package/dist_es/resolvableElements/elements/ResolvableValueElement.js +32 -32
  58. package/dist_es/resolvableElements/elements/UiElement.d.ts +31 -31
  59. package/dist_es/resolvableElements/elements/UiElement.js +52 -52
  60. package/dist_es/resolvableElements/elements/expr/ResolvableExprElement.d.ts +26 -26
  61. package/dist_es/resolvableElements/elements/expr/ResolvableExprElement.js +101 -101
  62. package/dist_es/resolvableElements/elements/expr/ResolvableExprElementMeta.d.ts +10 -10
  63. package/dist_es/resolvableElements/elements/expr/ResolvableExprElementMeta.js +9 -9
  64. package/dist_es/resolvableElements/elements/function/FunctionElement.d.ts +12 -12
  65. package/dist_es/resolvableElements/elements/function/FunctionElement.js +36 -36
  66. package/dist_es/resolvableElements/elements/function/FunctionElementMeta.d.ts +9 -9
  67. package/dist_es/resolvableElements/elements/function/FunctionElementMeta.js +9 -9
  68. package/dist_es/resolvableElements/elements/list/ListElementMeta.d.ts +12 -12
  69. package/dist_es/resolvableElements/elements/list/ListElementMeta.js +9 -9
  70. package/dist_es/resolvableElements/elements/list/ResolvableListElement.d.ts +16 -16
  71. package/dist_es/resolvableElements/elements/list/ResolvableListElement.js +98 -98
  72. package/dist_es/resolvableElements/elements/makeElement.d.ts +7 -7
  73. package/dist_es/resolvableElements/elements/makeElement.js +36 -36
  74. package/dist_es/resolvableElements/elements/section/ResolvableSectionElement.d.ts +24 -24
  75. package/dist_es/resolvableElements/elements/section/ResolvableSectionElement.js +117 -117
  76. package/dist_es/resolvableElements/elements/section/SectionElementMeta.d.ts +16 -16
  77. package/dist_es/resolvableElements/elements/section/SectionElementMeta.js +6 -6
  78. package/dist_es/resolvableElements/elements/section/resolveSection.d.ts +12 -12
  79. package/dist_es/resolvableElements/elements/section/resolveSection.js +36 -36
  80. package/dist_es/resolvableElements/elements/tag/ResolvableTagElement.d.ts +16 -16
  81. package/dist_es/resolvableElements/elements/tag/ResolvableTagElement.js +101 -101
  82. package/dist_es/resolvableElements/elements/tag/TagElementMeta.d.ts +12 -12
  83. package/dist_es/resolvableElements/elements/tag/TagElementMeta.js +9 -9
  84. package/dist_es/resolvableElements/interfacesGeneration/generateInterfaces.d.ts +17 -17
  85. package/dist_es/resolvableElements/interfacesGeneration/generateInterfaces.js +129 -128
  86. package/dist_es/resolvableElements/interfacesGeneration/generateInterfaces.js.map +1 -1
  87. package/dist_es/resolvableElements/interfacesGeneration/generateTypescriptInterfacesFile.d.ts +4 -4
  88. package/dist_es/resolvableElements/interfacesGeneration/generateTypescriptInterfacesFile.js +15 -15
  89. package/dist_es/resolvableElements/react/SectionChecker.d.ts +24 -24
  90. package/dist_es/resolvableElements/react/SectionChecker.jsx +20 -20
  91. package/dist_es/resolvableElements/react/useResolveSection.d.ts +21 -21
  92. package/dist_es/resolvableElements/react/useResolveSection.js +61 -61
  93. package/dist_es/resolvableElements/react/useResolverContext.d.ts +9 -9
  94. package/dist_es/resolvableElements/react/useResolverContext.jsx +36 -36
  95. package/dist_es/resolvableElements/resolveTemplatedExpression.d.ts +22 -22
  96. package/dist_es/resolvableElements/resolveTemplatedExpression.js +38 -38
  97. package/dist_es/useCurrentUser.d.ts +10 -10
  98. package/dist_es/useCurrentUser.jsx +20 -20
  99. package/package.json +5 -5
@@ -1,40 +1,40 @@
1
- /*
2
- * Copyright (c) 2022, J2 Innovations. All Rights Reserved
3
- */
4
- import { HDict } from 'haystack-core';
5
- import { Client } from 'haystack-nclient';
6
- import { isResolvableValueElementMeta } from '../elements/ResolvableValueElement';
7
- import { isChildUnresolvedSection, ResolvableSectionElement, } from '../elements/section/ResolvableSectionElement';
8
- import { Resolver } from '../Resolver';
9
- const ROOT_NAME = 'UiElementRoot';
10
- const ELEMENT_INTERFACE_NAME = 'UiElementData';
11
- export const generateInterfaces = (section) => {
12
- return new SectionInterfacesGenerator(section).generate();
13
- };
14
- /**
15
- * Class for generating typescript interfaces from a section data.
16
- */
17
- export class SectionInterfacesGenerator {
18
- constructor(section) {
19
- this.sectionData = section;
20
- }
21
- sectionData;
22
- output = '';
23
- #out = (str, indentation = 0) => {
24
- this.output += this.#indent(indentation) + str + '\n';
25
- };
26
- #indent(indentation = 0) {
27
- return '\t'.repeat(indentation);
28
- }
29
- generate = () => {
30
- this.#generateImports();
31
- const section = makeResolvableSectionElementMock(this.sectionData);
32
- this.#generateSectionDefinition(section);
33
- const result = this.output;
34
- this.output = '';
35
- return result;
36
- };
37
- #generateImports() {
1
+ /*
2
+ * Copyright (c) 2022, J2 Innovations. All Rights Reserved
3
+ */
4
+ import { HDict } from 'haystack-core';
5
+ import { Client } from 'haystack-nclient';
6
+ import { isResolvableValueElementMeta } from '../elements/ResolvableValueElement';
7
+ import { isChildUnresolvedSection, ResolvableSectionElement, } from '../elements/section/ResolvableSectionElement';
8
+ import { Resolver } from '../Resolver';
9
+ const ROOT_NAME = 'UiElementRoot';
10
+ const ELEMENT_INTERFACE_NAME = 'UiElementData';
11
+ export const generateInterfaces = (section) => {
12
+ return new SectionInterfacesGenerator(section).generate();
13
+ };
14
+ /**
15
+ * Class for generating typescript interfaces from a section data.
16
+ */
17
+ export class SectionInterfacesGenerator {
18
+ constructor(section) {
19
+ this.sectionData = section;
20
+ }
21
+ sectionData;
22
+ output = '';
23
+ #out = (str, indentation = 0) => {
24
+ this.output += this.#indent(indentation) + str + '\n';
25
+ };
26
+ #indent(indentation = 0) {
27
+ return '\t'.repeat(indentation);
28
+ }
29
+ generate = () => {
30
+ this.#generateImports();
31
+ const section = makeResolvableSectionElementMock(this.sectionData);
32
+ this.#generateSectionDefinition(section);
33
+ const result = this.output;
34
+ this.output = '';
35
+ return result;
36
+ };
37
+ #generateImports() {
38
38
  this.#out(`/* eslint-disable @typescript-eslint/no-namespace */
39
39
  /* eslint-disable @typescript-eslint/ban-ts-comment */
40
40
 
@@ -43,6 +43,7 @@ export class SectionInterfacesGenerator {
43
43
  //////////////////////////////////////////////////////////////////////////
44
44
 
45
45
  import json from './elements.json'
46
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
46
47
  // @ts-ignore: Unused import
47
48
  import { FunctionResult, UiElementData } from '@j2inn/resolvable-ui-elements'
48
49
  import HCore from 'haystack-core'
@@ -52,95 +53,95 @@ export const UI_ELEMENTS = json as UiElementRoot
52
53
  //////////////////////////////////////////////////////////////////////////
53
54
  // Interfaces
54
55
  //////////////////////////////////////////////////////////////////////////
55
- `);
56
- }
57
- #generateSectionDefinition(section, indentation = 0) {
58
- this.generateInterface(section, indentation);
59
- if (hasChildrenSections(section)) {
60
- this.generateNamespace(section, indentation);
61
- }
62
- }
63
- generateInterface(section, indentation) {
64
- const name = section.name ?? ROOT_NAME;
65
- this.#out(`export interface ${capitalize(name)} extends UiElementData {`, indentation);
66
- const parameters = section.getParameterList();
67
- if (parameters.length > 0) {
68
- this.#generateParametersProperty(parameters, indentation + 1);
69
- }
70
- this.#generateResolvedProperty(section, indentation + 1);
71
- section.children.forEach((child) => this.#out(isChildUnresolvedSection(child)
72
- ? `${child[0]}: ${capitalize(name)}.${capitalize(child[0] ?? '')}`
73
- : `${child.name}: ${ELEMENT_INTERFACE_NAME}`, indentation + 1));
74
- this.#out(`}`, indentation);
75
- }
76
- #generateParametersProperty(parameters, indentation) {
77
- this.#out(`_parameters?: {`, indentation);
78
- parameters.forEach((param) => this.#out(`${param}: HCore.HVal`, indentation + 1));
79
- this.#out(`}`, indentation);
80
- }
81
- #generateResolvedProperty(section, indentation) {
82
- const name = section.name ?? ROOT_NAME;
83
- if (section.children.length > 0) {
84
- this.#out('_resolved?: {', indentation);
85
- section.children.forEach((child) => this.#out(isChildUnresolvedSection(child)
86
- ? `${child[0]}?: ${capitalize(name)}.${capitalize(child[0] ?? '')}`
87
- : `${child.name}?: ${getResolvedType(child)}`, indentation + 1));
88
- this.#out('}', indentation);
89
- }
90
- else {
91
- this.#out(`_resolved?: Record<string, unknown>`, indentation);
92
- }
93
- }
94
- generateNamespace(section, indentation) {
95
- const name = section.name ?? ROOT_NAME;
96
- this.#out(`export namespace ${capitalize(name)} {`, indentation);
97
- section.children
98
- .filter((child) => isChildUnresolvedSection(child))
99
- .forEach((child) => {
100
- if (isChildUnresolvedSection(child)) {
101
- const section = makeResolvableSectionElementMock(child[1], child[0]);
102
- this.#generateSectionDefinition(section, indentation + 1);
103
- }
104
- });
105
- this.#out(`}`, indentation);
106
- }
107
- }
108
- export function makeResolvableSectionElementMock(sectionData, name) {
109
- return new ResolvableSectionElement({
110
- name,
111
- element: sectionData,
112
- onUpdate: () => {
113
- return;
114
- },
115
- resolver: new Resolver({
116
- client: makeMockedClient(),
117
- user: HDict.make({ userRole: 'su' }),
118
- }),
119
- });
120
- }
121
- function makeMockedClient() {
122
- return new Client({
123
- base: new URL('http://localhost:8080'),
124
- fetch: () => new Promise(() => {
125
- return new Response();
126
- }),
127
- });
128
- }
129
- function capitalize(str) {
130
- return str.charAt(0)?.toUpperCase() + str.substring(1);
131
- }
132
- function getResolvedType(child) {
133
- if (child._meta && isResolvableValueElementMeta(child._meta)) {
134
- return child._meta.resolvedType.startsWith('H')
135
- ? 'HCore.' + child._meta.resolvedType
136
- : child._meta.resolvedType;
137
- }
138
- else {
139
- return 'unknown';
140
- }
141
- }
142
- function hasChildrenSections(section) {
143
- return (section.children.filter((child) => isChildUnresolvedSection(child))
144
- .length > 0);
145
- }
56
+ `);
57
+ }
58
+ #generateSectionDefinition(section, indentation = 0) {
59
+ this.generateInterface(section, indentation);
60
+ if (hasChildrenSections(section)) {
61
+ this.generateNamespace(section, indentation);
62
+ }
63
+ }
64
+ generateInterface(section, indentation) {
65
+ const name = section.name ?? ROOT_NAME;
66
+ this.#out(`export interface ${capitalize(name)} extends UiElementData {`, indentation);
67
+ const parameters = section.getParameterList();
68
+ if (parameters.length > 0) {
69
+ this.#generateParametersProperty(parameters, indentation + 1);
70
+ }
71
+ this.#generateResolvedProperty(section, indentation + 1);
72
+ section.children.forEach((child) => this.#out(isChildUnresolvedSection(child)
73
+ ? `${child[0]}: ${capitalize(name)}.${capitalize(child[0] ?? '')}`
74
+ : `${child.name}: ${ELEMENT_INTERFACE_NAME}`, indentation + 1));
75
+ this.#out(`}`, indentation);
76
+ }
77
+ #generateParametersProperty(parameters, indentation) {
78
+ this.#out(`_parameters?: {`, indentation);
79
+ parameters.forEach((param) => this.#out(`${param}: HCore.HVal`, indentation + 1));
80
+ this.#out(`}`, indentation);
81
+ }
82
+ #generateResolvedProperty(section, indentation) {
83
+ const name = section.name ?? ROOT_NAME;
84
+ if (section.children.length > 0) {
85
+ this.#out('_resolved?: {', indentation);
86
+ section.children.forEach((child) => this.#out(isChildUnresolvedSection(child)
87
+ ? `${child[0]}?: ${capitalize(name)}.${capitalize(child[0] ?? '')}`
88
+ : `${child.name}?: ${getResolvedType(child)}`, indentation + 1));
89
+ this.#out('}', indentation);
90
+ }
91
+ else {
92
+ this.#out(`_resolved?: Record<string, unknown>`, indentation);
93
+ }
94
+ }
95
+ generateNamespace(section, indentation) {
96
+ const name = section.name ?? ROOT_NAME;
97
+ this.#out(`export namespace ${capitalize(name)} {`, indentation);
98
+ section.children
99
+ .filter((child) => isChildUnresolvedSection(child))
100
+ .forEach((child) => {
101
+ if (isChildUnresolvedSection(child)) {
102
+ const section = makeResolvableSectionElementMock(child[1], child[0]);
103
+ this.#generateSectionDefinition(section, indentation + 1);
104
+ }
105
+ });
106
+ this.#out(`}`, indentation);
107
+ }
108
+ }
109
+ export function makeResolvableSectionElementMock(sectionData, name) {
110
+ return new ResolvableSectionElement({
111
+ name,
112
+ element: sectionData,
113
+ onUpdate: () => {
114
+ return;
115
+ },
116
+ resolver: new Resolver({
117
+ client: makeMockedClient(),
118
+ user: HDict.make({ userRole: 'su' }),
119
+ }),
120
+ });
121
+ }
122
+ function makeMockedClient() {
123
+ return new Client({
124
+ base: new URL('http://localhost:8080'),
125
+ fetch: () => new Promise(() => {
126
+ return new Response();
127
+ }),
128
+ });
129
+ }
130
+ function capitalize(str) {
131
+ return str.charAt(0)?.toUpperCase() + str.substring(1);
132
+ }
133
+ function getResolvedType(child) {
134
+ if (child._meta && isResolvableValueElementMeta(child._meta)) {
135
+ return child._meta.resolvedType.startsWith('H')
136
+ ? 'HCore.' + child._meta.resolvedType
137
+ : child._meta.resolvedType;
138
+ }
139
+ else {
140
+ return 'unknown';
141
+ }
142
+ }
143
+ function hasChildrenSections(section) {
144
+ return (section.children.filter((child) => isChildUnresolvedSection(child))
145
+ .length > 0);
146
+ }
146
147
  //# sourceMappingURL=generateInterfaces.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateInterfaces.js","sourceRoot":"","sources":["../../../src/resolvableElements/interfacesGeneration/generateInterfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateInterfaces.js","sourceRoot":"","sources":["../../../src/resolvableElements/interfacesGeneration/generateInterfaces.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAA;AACjF,OAAO,EACN,wBAAwB,EACxB,wBAAwB,GACxB,MAAM,8CAA8C,CAAA;AAGrD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,MAAM,SAAS,GAAG,eAAe,CAAA;AACjC,MAAM,sBAAsB,GAAG,eAAe,CAAA;AAE9C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CACjC,OAA4C,EACnC,EAAE;IACX,OAAO,IAAI,0BAA0B,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAA;AAC1D,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,OAAO,0BAA0B;IACtC,YAAY,OAA4C;QACvD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAA;IAC3B,CAAC;IACD,WAAW,CAAqC;IAChD,MAAM,GAAG,EAAE,CAAA;IAEX,IAAI,GAAG,CAAC,GAAW,EAAE,WAAW,GAAG,CAAC,EAAE,EAAE;QACvC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,GAAG,GAAG,IAAI,CAAA;IACtD,CAAC,CAAA;IAED,OAAO,CAAC,WAAW,GAAG,CAAC;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAChC,CAAC;IAED,QAAQ,GAAG,GAAW,EAAE;QACvB,IAAI,CAAC,gBAAgB,EAAE,CAAA;QAEvB,MAAM,OAAO,GAAG,gCAAgC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAClE,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAA;QAExC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC1B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;QAChB,OAAO,MAAM,CAAA;IACd,CAAC,CAAA;IAED,gBAAgB;QACf,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;CAkBX,CAAC,CAAA;IACD,CAAC;IAED,0BAA0B,CACzB,OAAiC,EACjC,WAAW,GAAG,CAAC;QAEf,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;QAE5C,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE;YACjC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;SAC5C;IACF,CAAC;IAED,iBAAiB,CAAC,OAAiC,EAAE,WAAmB;QACvE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAA;QAEtC,IAAI,CAAC,IAAI,CACR,oBAAoB,UAAU,CAAC,IAAI,CAAC,0BAA0B,EAC9D,WAAW,CACX,CAAA;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAA;QAC7C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,IAAI,CAAC,2BAA2B,CAAC,UAAU,EAAE,WAAW,GAAG,CAAC,CAAC,CAAA;SAC7D;QAED,IAAI,CAAC,yBAAyB,CAAC,OAAO,EAAE,WAAW,GAAG,CAAC,CAAC,CAAA;QAExD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAClC,IAAI,CAAC,IAAI,CACR,wBAAwB,CAAC,KAAK,CAAC;YAC9B,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAC9C,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CACb,EAAE;YACL,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,sBAAsB,EAAE,EAC7C,WAAW,GAAG,CAAC,CACf,CACD,CAAA;QAED,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;IAC5B,CAAC;IAED,2BAA2B,CAAC,UAAoB,EAAE,WAAmB;QACpE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAA;QAEzC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,cAAc,EAAE,WAAW,GAAG,CAAC,CAAC,CAClD,CAAA;QAED,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;IAC5B,CAAC;IACD,yBAAyB,CACxB,OAAsE,EACtE,WAAmB;QAEnB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAA;QAEtC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAChC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAA;YAEvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAClC,IAAI,CAAC,IAAI,CACR,wBAAwB,CAAC,KAAK,CAAC;gBAC9B,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAC/C,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CACb,EAAE;gBACL,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,MAAM,eAAe,CAAC,KAAK,CAAC,EAAE,EAC9C,WAAW,GAAG,CAAC,CACf,CACD,CAAA;YAED,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;SAC3B;aAAM;YACN,IAAI,CAAC,IAAI,CAAC,qCAAqC,EAAE,WAAW,CAAC,CAAA;SAC7D;IACF,CAAC;IAED,iBAAiB,CAChB,OAAsE,EACtE,WAAmB;QAEnB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAA;QAEtC,IAAI,CAAC,IAAI,CAAC,oBAAoB,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;QAEhE,OAAO,CAAC,QAAQ;aACd,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;aAClD,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAClB,IAAI,wBAAwB,CAAC,KAAK,CAAC,EAAE;gBACpC,MAAM,OAAO,GAAG,gCAAgC,CAC/C,KAAK,CAAC,CAAC,CAAC,EACR,KAAK,CAAC,CAAC,CAAC,CACR,CAAA;gBAED,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,WAAW,GAAG,CAAC,CAAC,CAAA;aACzD;QACF,CAAC,CAAC,CAAA;QAEH,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;IAC5B,CAAC;CACD;AAED,MAAM,UAAU,gCAAgC,CAC/C,WAAgD,EAChD,IAAa;IAEb,OAAO,IAAI,wBAAwB,CAAC;QACnC,IAAI;QACJ,OAAO,EAAE,WAAW;QACpB,QAAQ,EAAE,GAAG,EAAE;YACd,OAAM;QACP,CAAC;QACD,QAAQ,EAAE,IAAI,QAAQ,CAAC;YACtB,MAAM,EAAE,gBAAgB,EAAE;YAC1B,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;SACpC,CAAC;KACF,CAAC,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB;IACxB,OAAO,IAAI,MAAM,CAAC;QACjB,IAAI,EAAE,IAAI,GAAG,CAAC,uBAAuB,CAAC;QACtC,KAAK,EAAE,GAAG,EAAE,CACX,IAAI,OAAO,CAAC,GAAG,EAAE;YAChB,OAAO,IAAI,QAAQ,EAAE,CAAA;QACtB,CAAC,CAAC;KACH,CAAC,CAAA;AACH,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC9B,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AACvD,CAAC;AAED,SAAS,eAAe,CAAC,KAA+B;IACvD,IAAI,KAAK,CAAC,KAAK,IAAI,4BAA4B,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QAC7D,OAAO,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC;YAC9C,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY;YACrC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,CAAA;KAC3B;SAAM;QACN,OAAO,SAAS,CAAA;KAChB;AACF,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAgD;IAC5E,OAAO,CACN,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;SACjE,MAAM,GAAG,CAAC,CACZ,CAAA;AACF,CAAC"}
@@ -1,4 +1,4 @@
1
- /**
2
- * Generate typescript interfaces file from json ui-elements data
3
- */
4
- export default function generateTypescriptInterfacesFile(inputPath?: string, outputPath?: string): Promise<void>;
1
+ /**
2
+ * Generate typescript interfaces file from json ui-elements data
3
+ */
4
+ export default function generateTypescriptInterfacesFile(inputPath?: string, outputPath?: string): Promise<void>;
@@ -1,16 +1,16 @@
1
- /*
2
- * Copyright (c) 2022, J2 Innovations. All Rights Reserved
3
- */
4
- import * as fs from 'fs';
5
- import { generateInterfaces } from './generateInterfaces';
6
- /**
7
- * Generate typescript interfaces file from json ui-elements data
8
- */
9
- export default async function generateTypescriptInterfacesFile(inputPath = '../elements.json', outputPath = '../elements.ts') {
10
- console.log(`Generating interfaces from ${inputPath} \n...`);
11
- const json = fs.readFileSync(inputPath, { encoding: 'utf-8' });
12
- const result = generateInterfaces(JSON.parse(json));
13
- fs.writeFileSync(outputPath, result);
14
- console.log(`File successfully generated at: ${outputPath}`);
15
- }
1
+ /*
2
+ * Copyright (c) 2022, J2 Innovations. All Rights Reserved
3
+ */
4
+ import * as fs from 'fs';
5
+ import { generateInterfaces } from './generateInterfaces';
6
+ /**
7
+ * Generate typescript interfaces file from json ui-elements data
8
+ */
9
+ export default async function generateTypescriptInterfacesFile(inputPath = '../elements.json', outputPath = '../elements.ts') {
10
+ console.log(`Generating interfaces from ${inputPath} \n...`);
11
+ const json = fs.readFileSync(inputPath, { encoding: 'utf-8' });
12
+ const result = generateInterfaces(JSON.parse(json));
13
+ fs.writeFileSync(outputPath, result);
14
+ console.log(`File successfully generated at: ${outputPath}`);
15
+ }
16
16
  //# sourceMappingURL=generateTypescriptInterfacesFile.js.map
@@ -1,24 +1,24 @@
1
- import React from 'react';
2
- import { UiElementData } from 'resolvableElements/elements/UiElement';
3
- /**
4
- * An utility type that allows a component to accept props with or without a 'section' property.
5
- */
6
- export type OptionalSection<P> = P | (Omit<P, 'section'> & {
7
- section?: undefined;
8
- });
9
- /**
10
- * Higher-Order Component that takes a section based component as an argument and returns a new component
11
- * that checks if the 'section' prop is defined before rendering the SectionComponent.
12
- * If the 'section' prop is undefined, it returns an empty element.
13
- *
14
- * @template P - Props of the original SectionComponent
15
- * @param {React.FC<P>} SectionComponent - The original component that will be wrapped
16
- * @returns {React.FC<P | (Omit<P, 'section'> & { section?: undefined })>} - The wrapped component
17
- * @example
18
- * const CheckedComponent = SectionChecker(({section, ...props}) => {
19
- * return <div>{section.title}</div>
20
- * })
21
- */
22
- export declare const SectionChecker: <P extends {
23
- section: UiElementData;
24
- }>(SectionComponent: React.FC<P>) => (props: OptionalSection<P>) => JSX.Element;
1
+ import React from 'react';
2
+ import { UiElementData } from 'resolvableElements/elements/UiElement';
3
+ /**
4
+ * An utility type that allows a component to accept props with or without a 'section' property.
5
+ */
6
+ export type OptionalSection<P> = P | (Omit<P, 'section'> & {
7
+ section?: undefined;
8
+ });
9
+ /**
10
+ * Higher-Order Component that takes a section based component as an argument and returns a new component
11
+ * that checks if the 'section' prop is defined before rendering the SectionComponent.
12
+ * If the 'section' prop is undefined, it returns an empty element.
13
+ *
14
+ * @template P - Props of the original SectionComponent
15
+ * @param {React.FC<P>} SectionComponent - The original component that will be wrapped
16
+ * @returns {React.FC<P | (Omit<P, 'section'> & { section?: undefined })>} - The wrapped component
17
+ * @example
18
+ * const CheckedComponent = SectionChecker(({section, ...props}) => {
19
+ * return <div>{section.title}</div>
20
+ * })
21
+ */
22
+ export declare const SectionChecker: <P extends {
23
+ section: UiElementData;
24
+ }>(SectionComponent: React.FC<P>) => (props: OptionalSection<P>) => JSX.Element;
@@ -1,21 +1,21 @@
1
- import React from 'react';
2
- /**
3
- * Higher-Order Component that takes a section based component as an argument and returns a new component
4
- * that checks if the 'section' prop is defined before rendering the SectionComponent.
5
- * If the 'section' prop is undefined, it returns an empty element.
6
- *
7
- * @template P - Props of the original SectionComponent
8
- * @param {React.FC<P>} SectionComponent - The original component that will be wrapped
9
- * @returns {React.FC<P | (Omit<P, 'section'> & { section?: undefined })>} - The wrapped component
10
- * @example
11
- * const CheckedComponent = SectionChecker(({section, ...props}) => {
12
- * return <div>{section.title}</div>
13
- * })
14
- */
15
- export const SectionChecker = (SectionComponent) => {
16
- const CheckedSectionComponent = (props) => {
17
- return !props.section ? <></> : <SectionComponent {...props}/>;
18
- };
19
- return CheckedSectionComponent;
20
- };
1
+ import React from 'react';
2
+ /**
3
+ * Higher-Order Component that takes a section based component as an argument and returns a new component
4
+ * that checks if the 'section' prop is defined before rendering the SectionComponent.
5
+ * If the 'section' prop is undefined, it returns an empty element.
6
+ *
7
+ * @template P - Props of the original SectionComponent
8
+ * @param {React.FC<P>} SectionComponent - The original component that will be wrapped
9
+ * @returns {React.FC<P | (Omit<P, 'section'> & { section?: undefined })>} - The wrapped component
10
+ * @example
11
+ * const CheckedComponent = SectionChecker(({section, ...props}) => {
12
+ * return <div>{section.title}</div>
13
+ * })
14
+ */
15
+ export const SectionChecker = (SectionComponent) => {
16
+ const CheckedSectionComponent = (props) => {
17
+ return !props.section ? <></> : <SectionComponent {...props}/>;
18
+ };
19
+ return CheckedSectionComponent;
20
+ };
21
21
  //# sourceMappingURL=SectionChecker.jsx.map
@@ -1,21 +1,21 @@
1
- import { UiElementData } from '../elements/UiElement';
2
- import { ResolvableSectionElement } from '../elements/section/ResolvableSectionElement';
3
- import { ParametersOfSection, ResolvedSection } from '../elements/section/SectionElementMeta';
4
- /**
5
- * Resolves a section UI element.
6
- * IMPORTANT: This hook requires a resolver react context defined. @See `ResolverProvider`.
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 declare function useResolveSection<T extends UiElementData>(sectionData: T, parameters?: ParametersOfSection<T>): UseResolveSectionResult<T>;
12
- export type UseResolveSectionResult<T extends UiElementData> = [
13
- ResolvedSection<T>,
14
- UseResolveSectionExtra<T>
15
- ];
16
- export interface UseResolveSectionExtra<T extends UiElementData> {
17
- refresh: () => void;
18
- element?: ResolvableSectionElement<T>;
19
- loads: number;
20
- isLoading: boolean;
21
- }
1
+ import { UiElementData } from '../elements/UiElement';
2
+ import { ResolvableSectionElement } from '../elements/section/ResolvableSectionElement';
3
+ import { ParametersOfSection, ResolvedSection } from '../elements/section/SectionElementMeta';
4
+ /**
5
+ * Resolves a section UI element.
6
+ * IMPORTANT: This hook requires a resolver react context defined. @See `ResolverProvider`.
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 declare function useResolveSection<T extends UiElementData>(sectionData: T, parameters?: ParametersOfSection<T>): UseResolveSectionResult<T>;
12
+ export type UseResolveSectionResult<T extends UiElementData> = [
13
+ ResolvedSection<T>,
14
+ UseResolveSectionExtra<T>
15
+ ];
16
+ export interface UseResolveSectionExtra<T extends UiElementData> {
17
+ refresh: () => void;
18
+ element?: ResolvableSectionElement<T>;
19
+ loads: number;
20
+ isLoading: boolean;
21
+ }
@@ -1,62 +1,62 @@
1
- /*
2
- * Copyright (c) 2022, J2 Innovations. All Rights Reserved
3
- */
4
- import { useEffect, useReducer, useRef, useState } from 'react';
5
- import { makeParametersDict } from '../elements/function/FunctionElement';
6
- import { ResolvableSectionElement } from '../elements/section/ResolvableSectionElement';
7
- import { areParametersValid } from '../elements/section/resolveSection';
8
- import { useResolverContext } from './useResolverContext';
9
- /**
10
- * Resolves a section UI element.
11
- * IMPORTANT: This hook requires a resolver react context defined. @See `ResolverProvider`.
12
- * @param sectionData section data object
13
- * @param parameters parameters for the resolution
14
- * @returns the resolved result of the section that will be updated and force rendering when a subvalue changes.
15
- */
16
- export function useResolveSection(sectionData, parameters) {
17
- const [, update] = useReducer((count) => count + 1, 0);
18
- const resolver = useResolverContext();
19
- const [refreshes, refresh] = useReducer((count) => count + 1, 0);
20
- const [loads, setLoads] = useState(0);
21
- const [isLoading, setLoading] = useState(false);
22
- const ref = useRef();
23
- if (!ref.current) {
24
- ref.current = new ResolvableSectionElement({
25
- element: sectionData,
26
- resolver,
27
- onUpdate: update,
28
- });
29
- }
30
- const parametersDict = makeParametersDict(parameters);
31
- useEffect(() => {
32
- if (areParametersValid(parameters)) {
33
- ref.current = new ResolvableSectionElement({
34
- element: sectionData,
35
- resolver,
36
- onUpdate: update,
37
- });
38
- setLoading(true);
39
- const promise = ref.current
40
- .initialize(parametersDict)
41
- .then(() => setLoads(loads + 1))
42
- .finally(() => setLoading(false));
43
- return () => {
44
- const sectionElement = ref.current;
45
- promise.finally(() => {
46
- sectionElement?.close();
47
- });
48
- };
49
- }
50
- return;
51
- }, [sectionData, resolver, refreshes, parametersDict.toAxon()]);
52
- return [
53
- (ref.current.value ?? {}),
54
- {
55
- refresh: refresh,
56
- element: ref.current,
57
- loads,
58
- isLoading,
59
- },
60
- ];
61
- }
1
+ /*
2
+ * Copyright (c) 2022, J2 Innovations. All Rights Reserved
3
+ */
4
+ import { useEffect, useReducer, useRef, useState } from 'react';
5
+ import { makeParametersDict } from '../elements/function/FunctionElement';
6
+ import { ResolvableSectionElement } from '../elements/section/ResolvableSectionElement';
7
+ import { areParametersValid } from '../elements/section/resolveSection';
8
+ import { useResolverContext } from './useResolverContext';
9
+ /**
10
+ * Resolves a section UI element.
11
+ * IMPORTANT: This hook requires a resolver react context defined. @See `ResolverProvider`.
12
+ * @param sectionData section data object
13
+ * @param parameters parameters for the resolution
14
+ * @returns the resolved result of the section that will be updated and force rendering when a subvalue changes.
15
+ */
16
+ export function useResolveSection(sectionData, parameters) {
17
+ const [, update] = useReducer((count) => count + 1, 0);
18
+ const resolver = useResolverContext();
19
+ const [refreshes, refresh] = useReducer((count) => count + 1, 0);
20
+ const [loads, setLoads] = useState(0);
21
+ const [isLoading, setLoading] = useState(false);
22
+ const ref = useRef();
23
+ if (!ref.current) {
24
+ ref.current = new ResolvableSectionElement({
25
+ element: sectionData,
26
+ resolver,
27
+ onUpdate: update,
28
+ });
29
+ }
30
+ const parametersDict = makeParametersDict(parameters);
31
+ useEffect(() => {
32
+ if (areParametersValid(parameters)) {
33
+ ref.current = new ResolvableSectionElement({
34
+ element: sectionData,
35
+ resolver,
36
+ onUpdate: update,
37
+ });
38
+ setLoading(true);
39
+ const promise = ref.current
40
+ .initialize(parametersDict)
41
+ .then(() => setLoads(loads + 1))
42
+ .finally(() => setLoading(false));
43
+ return () => {
44
+ const sectionElement = ref.current;
45
+ promise.finally(() => {
46
+ sectionElement?.close();
47
+ });
48
+ };
49
+ }
50
+ return;
51
+ }, [sectionData, resolver, refreshes, parametersDict.toAxon()]);
52
+ return [
53
+ (ref.current.value ?? {}),
54
+ {
55
+ refresh: refresh,
56
+ element: ref.current,
57
+ loads,
58
+ isLoading,
59
+ },
60
+ ];
61
+ }
62
62
  //# sourceMappingURL=useResolveSection.js.map
@@ -1,9 +1,9 @@
1
- import React, { PropsWithChildren } from 'react';
2
- import { Resolver } from '../Resolver';
3
- export declare function useResolverContext(): Resolver;
4
- interface ResolverProviderProps extends PropsWithChildren {
5
- userRoleTagName?: string;
6
- evalFuncName?: string;
7
- }
8
- export declare const ResolverProvider: React.FC<ResolverProviderProps>;
9
- export {};
1
+ import React, { PropsWithChildren } from 'react';
2
+ import { Resolver } from '../Resolver';
3
+ export declare function useResolverContext(): Resolver;
4
+ interface ResolverProviderProps extends PropsWithChildren {
5
+ userRoleTagName?: string;
6
+ evalFuncName?: string;
7
+ }
8
+ export declare const ResolverProvider: React.FC<ResolverProviderProps>;
9
+ export {};