@jsonforms/core 3.0.0-alpha.0 → 3.0.0-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 (268) hide show
  1. package/README.md +1 -1
  2. package/docs/assets/js/search.json +1 -1
  3. package/docs/enums/ruleeffect.html +4 -4
  4. package/docs/globals.html +1095 -703
  5. package/docs/index.html +70 -43
  6. package/docs/interfaces/addcellrendereraction.html +3 -3
  7. package/docs/interfaces/addrendereraction.html +3 -3
  8. package/docs/interfaces/adduischemaaction.html +3 -3
  9. package/docs/interfaces/andcondition.html +2 -2
  10. package/docs/interfaces/arraycontrolprops.html +22 -22
  11. package/docs/interfaces/arraylayoutprops.html +22 -22
  12. package/docs/interfaces/categorization.html +5 -5
  13. package/docs/interfaces/category.html +5 -5
  14. package/docs/interfaces/cellprops.html +14 -14
  15. package/docs/interfaces/combinatorrendererprops.html +13 -13
  16. package/docs/interfaces/combinatorsubschemarenderinfo.html +3 -3
  17. package/docs/interfaces/composablecondition.html +2 -2
  18. package/docs/interfaces/condition.html +1 -1
  19. package/docs/interfaces/controlelement.html +5 -5
  20. package/docs/interfaces/controlprops.html +17 -17
  21. package/docs/interfaces/controlstate.html +2 -2
  22. package/docs/interfaces/controlwithdetailprops.html +18 -18
  23. package/docs/interfaces/dispatchcellprops.html +13 -13
  24. package/docs/interfaces/dispatchcellstateprops.html +13 -13
  25. package/docs/interfaces/dispatchpropsofarraycontrol.html +4 -4
  26. package/docs/interfaces/dispatchpropsofcontrol.html +1 -1
  27. package/docs/interfaces/dispatchpropsofmultienumcontrol.html +2 -2
  28. package/docs/interfaces/enumcellprops.html +15 -15
  29. package/docs/interfaces/enumoption.html +2 -2
  30. package/docs/interfaces/formatted.html +2 -2
  31. package/docs/interfaces/grouplayout.html +5 -5
  32. package/docs/interfaces/horizontallayout.html +4 -4
  33. package/docs/interfaces/initaction.html +6 -6
  34. package/docs/interfaces/initactionoptions.html +3 -3
  35. package/docs/interfaces/jsonformscellrendererregistryentry.html +2 -2
  36. package/docs/interfaces/jsonformscore.html +7 -7
  37. package/docs/interfaces/jsonformsdefaultdataregistryentry.html +2 -2
  38. package/docs/interfaces/jsonformsextendedstate.html +1 -1
  39. package/docs/interfaces/{jsonformslocalestate.html → jsonformsi18nstate.html} +20 -20
  40. package/docs/interfaces/jsonformsprops.html +9 -9
  41. package/docs/interfaces/jsonformsrendererregistryentry.html +2 -2
  42. package/docs/interfaces/jsonformsstate.html +1 -1
  43. package/docs/interfaces/jsonformsstore.html +5 -5
  44. package/docs/interfaces/jsonformssubstates.html +18 -8
  45. package/docs/interfaces/jsonformsuischemaregistryentry.html +2 -2
  46. package/docs/interfaces/labeldescription.html +2 -2
  47. package/docs/interfaces/labelelement.html +4 -4
  48. package/docs/interfaces/layout.html +4 -4
  49. package/docs/interfaces/layoutprops.html +10 -10
  50. package/docs/interfaces/leafcondition.html +3 -3
  51. package/docs/interfaces/orcondition.html +2 -2
  52. package/docs/interfaces/ownpropsofcell.html +10 -10
  53. package/docs/interfaces/ownpropsofcontrol.html +9 -9
  54. package/docs/interfaces/ownpropsofenum.html +1 -1
  55. package/docs/interfaces/ownpropsofenumcell.html +11 -11
  56. package/docs/interfaces/ownpropsofjsonformsrenderer.html +8 -8
  57. package/docs/interfaces/ownpropsoflayout.html +9 -9
  58. package/docs/interfaces/ownpropsofmasterlistitem.html +6 -6
  59. package/docs/interfaces/ownpropsofrenderer.html +8 -8
  60. package/docs/interfaces/registerdefaultdataaction.html +3 -3
  61. package/docs/interfaces/removecellrendereraction.html +3 -3
  62. package/docs/interfaces/removerendereraction.html +3 -3
  63. package/docs/interfaces/removeuischemaaction.html +2 -2
  64. package/docs/interfaces/rendererprops.html +9 -9
  65. package/docs/interfaces/rule.html +2 -2
  66. package/docs/interfaces/schemabasedcondition.html +3 -3
  67. package/docs/interfaces/scopable.html +1 -1
  68. package/docs/interfaces/setajvaction.html +3 -3
  69. package/docs/interfaces/setconfigaction.html +2 -2
  70. package/docs/interfaces/setlocaleaction.html +3 -3
  71. package/docs/interfaces/setschemaaction.html +2 -2
  72. package/docs/interfaces/{setlocalizedschemasaction.html → settranslatoraction.html} +29 -15
  73. package/docs/interfaces/setuischemaaction.html +2 -2
  74. package/docs/interfaces/setvalidationmodeaction.html +2 -2
  75. package/docs/interfaces/statepropsofarraycontrol.html +18 -18
  76. package/docs/interfaces/statepropsofarraylayout.html +18 -18
  77. package/docs/interfaces/statepropsofcell.html +13 -13
  78. package/docs/interfaces/statepropsofcombinator.html +12 -12
  79. package/docs/interfaces/statepropsofcontrol.html +16 -16
  80. package/docs/interfaces/statepropsofcontrolwithdetail.html +17 -17
  81. package/docs/interfaces/statepropsofenumcell.html +14 -14
  82. package/docs/interfaces/statepropsofjsonformsrenderer.html +9 -9
  83. package/docs/interfaces/statepropsoflayout.html +10 -10
  84. package/docs/interfaces/statepropsofmasteritem.html +7 -7
  85. package/docs/interfaces/statepropsofrenderer.html +9 -9
  86. package/docs/interfaces/statepropsofscopedrenderer.html +12 -12
  87. package/docs/interfaces/uischemaelement.html +3 -3
  88. package/docs/interfaces/unregisterdefaultdataaction.html +2 -2
  89. package/docs/interfaces/updateaction.html +3 -3
  90. package/docs/interfaces/updatecoreaction.html +6 -6
  91. package/docs/interfaces/updateerrorsaction.html +2 -2
  92. package/docs/interfaces/{setlocalizeduischemasaction.html → updatei18naction.html} +43 -15
  93. package/docs/interfaces/verticallayout.html +4 -4
  94. package/docs/interfaces/withclassname.html +1 -1
  95. package/lib/Helpers.d.ts +5 -0
  96. package/lib/actions/actions.d.ts +181 -0
  97. package/lib/actions/index.d.ts +1 -178
  98. package/lib/configDefault.d.ts +6 -6
  99. package/lib/generators/Generate.d.ts +6 -0
  100. package/lib/generators/index.d.ts +3 -10
  101. package/lib/generators/schema.d.ts +8 -8
  102. package/lib/generators/uischema.d.ts +12 -13
  103. package/lib/i18n/i18nTypes.d.ts +15 -0
  104. package/lib/i18n/i18nUtil.d.ts +18 -0
  105. package/lib/i18n/index.d.ts +2 -0
  106. package/lib/index.d.ts +11 -23
  107. package/lib/jsonforms-core.cjs.js +2445 -0
  108. package/lib/jsonforms-core.cjs.js.map +1 -0
  109. package/lib/jsonforms-core.esm.js +2164 -0
  110. package/lib/jsonforms-core.esm.js.map +1 -0
  111. package/lib/models/draft4.d.ts +198 -198
  112. package/lib/models/index.d.ts +5 -0
  113. package/lib/models/jsonSchema.d.ts +3 -3
  114. package/lib/models/jsonSchema4.d.ts +110 -110
  115. package/lib/models/jsonSchema7.d.ts +119 -119
  116. package/lib/models/uischema.d.ts +201 -201
  117. package/lib/reducers/cells.d.ts +11 -11
  118. package/lib/reducers/config.d.ts +3 -3
  119. package/lib/reducers/core.d.ts +24 -23
  120. package/lib/reducers/default-data.d.ts +10 -10
  121. package/lib/reducers/i18n.d.ts +8 -11
  122. package/lib/reducers/index.d.ts +9 -47
  123. package/lib/reducers/reducers.d.ts +29 -0
  124. package/lib/reducers/renderers.d.ts +10 -10
  125. package/lib/reducers/selectors.d.ts +15 -0
  126. package/lib/reducers/uischemas.d.ts +10 -10
  127. package/lib/store.d.ts +53 -56
  128. package/lib/testers/index.d.ts +1 -204
  129. package/lib/testers/testers.d.ts +203 -0
  130. package/lib/util/Formatted.d.ts +19 -19
  131. package/lib/util/array.d.ts +3 -3
  132. package/lib/util/cell.d.ts +79 -79
  133. package/lib/util/combinators.d.ts +10 -11
  134. package/lib/util/ids.d.ts +3 -3
  135. package/lib/util/index.d.ts +15 -49
  136. package/lib/util/label.d.ts +9 -10
  137. package/lib/util/path.d.ts +25 -24
  138. package/lib/util/renderer.d.ts +398 -395
  139. package/lib/util/resolvers.d.ts +25 -25
  140. package/lib/util/runtime.d.ts +18 -19
  141. package/lib/util/schema.d.ts +1 -1
  142. package/lib/util/type.d.ts +174 -174
  143. package/lib/util/uischema.d.ts +5 -5
  144. package/lib/util/util.d.ts +31 -0
  145. package/lib/util/validator.d.ts +3 -2
  146. package/package.json +18 -14
  147. package/rollup.config.js +44 -0
  148. package/{lib/models/jsonSchema4.js → src/Helpers.ts} +16 -8
  149. package/src/actions/actions.ts +345 -0
  150. package/src/actions/index.ts +1 -310
  151. package/src/configDefault.ts +1 -0
  152. package/{lib/util/validator.js → src/generators/Generate.ts} +18 -11
  153. package/src/generators/index.ts +3 -21
  154. package/src/generators/schema.ts +1 -1
  155. package/src/generators/uischema.ts +4 -4
  156. package/src/i18n/i18nTypes.ts +17 -0
  157. package/src/i18n/i18nUtil.ts +105 -0
  158. package/src/i18n/index.ts +2 -0
  159. package/src/index.ts +7 -31
  160. package/src/models/draft4.ts +1 -0
  161. package/{lib/util/type.js → src/models/index.ts} +10 -7
  162. package/src/models/jsonSchema.ts +1 -0
  163. package/src/models/uischema.ts +1 -0
  164. package/src/reducers/cells.ts +2 -1
  165. package/src/reducers/config.ts +2 -1
  166. package/src/reducers/core.ts +74 -52
  167. package/src/reducers/default-data.ts +2 -1
  168. package/src/reducers/i18n.ts +42 -35
  169. package/src/reducers/index.ts +9 -154
  170. package/src/reducers/reducers.ts +128 -0
  171. package/src/reducers/renderers.ts +2 -1
  172. package/src/reducers/selectors.ts +65 -0
  173. package/src/reducers/uischemas.ts +4 -2
  174. package/src/store.ts +11 -8
  175. package/src/testers/index.ts +1 -516
  176. package/src/testers/testers.ts +547 -0
  177. package/src/util/Formatted.ts +1 -0
  178. package/src/util/array.ts +25 -0
  179. package/src/util/cell.ts +45 -10
  180. package/src/util/combinators.ts +2 -4
  181. package/src/util/ids.ts +1 -0
  182. package/src/util/index.ts +11 -123
  183. package/src/util/label.ts +2 -2
  184. package/src/util/path.ts +4 -1
  185. package/src/util/renderer.ts +139 -66
  186. package/src/util/resolvers.ts +2 -1
  187. package/src/util/runtime.ts +3 -2
  188. package/src/util/schema.ts +26 -1
  189. package/src/util/uischema.ts +2 -1
  190. package/src/util/util.ts +127 -0
  191. package/src/util/validator.ts +5 -8
  192. package/stats.html +3279 -0
  193. package/{lib/configDefault.js → test/i18n/i18nUtil.test.ts} +25 -24
  194. package/test/reducers/core.test.ts +31 -44
  195. package/test/util/cell.test.ts +2 -2
  196. package/test/util/renderer.test.ts +543 -31
  197. package/docs/interfaces/labels.html +0 -157
  198. package/lib/actions/index.js +0 -125
  199. package/lib/actions/index.js.map +0 -1
  200. package/lib/configDefault.js.map +0 -1
  201. package/lib/generators/index.js +0 -12
  202. package/lib/generators/index.js.map +0 -1
  203. package/lib/generators/schema.js +0 -152
  204. package/lib/generators/schema.js.map +0 -1
  205. package/lib/generators/uischema.js +0 -167
  206. package/lib/generators/uischema.js.map +0 -1
  207. package/lib/index.js +0 -45
  208. package/lib/index.js.map +0 -1
  209. package/lib/jsonforms-core.js +0 -19
  210. package/lib/jsonforms-core.js.map +0 -1
  211. package/lib/models/draft4.js +0 -173
  212. package/lib/models/draft4.js.map +0 -1
  213. package/lib/models/jsonSchema.js +0 -3
  214. package/lib/models/jsonSchema.js.map +0 -1
  215. package/lib/models/jsonSchema4.js.map +0 -1
  216. package/lib/models/jsonSchema7.js +0 -30
  217. package/lib/models/jsonSchema7.js.map +0 -1
  218. package/lib/models/uischema.js +0 -31
  219. package/lib/models/uischema.js.map +0 -1
  220. package/lib/reducers/cells.js +0 -16
  221. package/lib/reducers/cells.js.map +0 -1
  222. package/lib/reducers/config.js +0 -44
  223. package/lib/reducers/config.js.map +0 -1
  224. package/lib/reducers/core.js +0 -259
  225. package/lib/reducers/core.js.map +0 -1
  226. package/lib/reducers/default-data.js +0 -42
  227. package/lib/reducers/default-data.js.map +0 -1
  228. package/lib/reducers/i18n.js +0 -66
  229. package/lib/reducers/i18n.js.map +0 -1
  230. package/lib/reducers/index.js +0 -92
  231. package/lib/reducers/index.js.map +0 -1
  232. package/lib/reducers/renderers.js +0 -17
  233. package/lib/reducers/renderers.js.map +0 -1
  234. package/lib/reducers/uischemas.js +0 -57
  235. package/lib/reducers/uischemas.js.map +0 -1
  236. package/lib/store.js +0 -3
  237. package/lib/store.js.map +0 -1
  238. package/lib/testers/index.js +0 -402
  239. package/lib/testers/index.js.map +0 -1
  240. package/lib/util/Formatted.js +0 -3
  241. package/lib/util/Formatted.js.map +0 -1
  242. package/lib/util/array.js +0 -19
  243. package/lib/util/array.js.map +0 -1
  244. package/lib/util/cell.js +0 -133
  245. package/lib/util/cell.js.map +0 -1
  246. package/lib/util/combinators.js +0 -56
  247. package/lib/util/combinators.js.map +0 -1
  248. package/lib/util/ids.js +0 -50
  249. package/lib/util/ids.js.map +0 -1
  250. package/lib/util/index.js +0 -132
  251. package/lib/util/index.js.map +0 -1
  252. package/lib/util/label.js +0 -70
  253. package/lib/util/label.js.map +0 -1
  254. package/lib/util/path.js +0 -84
  255. package/lib/util/path.js.map +0 -1
  256. package/lib/util/renderer.js +0 -447
  257. package/lib/util/renderer.js.map +0 -1
  258. package/lib/util/resolvers.js +0 -165
  259. package/lib/util/resolvers.js.map +0 -1
  260. package/lib/util/runtime.js +0 -159
  261. package/lib/util/runtime.js.map +0 -1
  262. package/lib/util/schema.js +0 -16
  263. package/lib/util/schema.js.map +0 -1
  264. package/lib/util/type.js.map +0 -1
  265. package/lib/util/uischema.js +0 -52
  266. package/lib/util/uischema.js.map +0 -1
  267. package/lib/util/validator.js.map +0 -1
  268. package/webpack.build.js +0 -13
@@ -1,23 +1,24 @@
1
- import { Ajv, ErrorObject, ValidateFunction } from 'ajv';
2
- import { CoreActions } from '../actions';
3
- import { Reducer } from '../util/type';
4
- import { JsonSchema, UISchemaElement } from '..';
5
- export declare const sanitizeErrors: (validator: ValidateFunction, data: any) => ErrorObject[];
6
- export declare type ValidationMode = 'ValidateAndShow' | 'ValidateAndHide' | 'NoValidation';
7
- export interface JsonFormsCore {
8
- data: any;
9
- schema: JsonSchema;
10
- uischema: UISchemaElement;
11
- errors?: ErrorObject[];
12
- validator?: ValidateFunction;
13
- ajv?: Ajv;
14
- validationMode?: ValidationMode;
15
- }
16
- export declare const coreReducer: Reducer<JsonFormsCore, CoreActions>;
17
- export declare const extractData: (state: JsonFormsCore) => any;
18
- export declare const extractSchema: (state: JsonFormsCore) => JsonSchema;
19
- export declare const extractUiSchema: (state: JsonFormsCore) => UISchemaElement;
20
- export declare const extractAjv: (state: JsonFormsCore) => Ajv;
21
- export declare const errorsAt: (instancePath: string, schema: JsonSchema, matchPath: (path: string) => boolean) => (errors: ErrorObject[]) => ErrorObject[];
22
- export declare const errorAt: (instancePath: string, schema: JsonSchema) => (state: JsonFormsCore) => ErrorObject[];
23
- export declare const subErrorsAt: (instancePath: string, schema: JsonSchema) => (state: JsonFormsCore) => ErrorObject[];
1
+ import Ajv, { ErrorObject, ValidateFunction } from 'ajv';
2
+ import { CoreActions } from '../actions';
3
+ import { Reducer } from '../util';
4
+ import { JsonSchema, UISchemaElement } from '../models';
5
+ export declare const validate: (validator: ValidateFunction | undefined, data: any) => ErrorObject[];
6
+ export declare type ValidationMode = 'ValidateAndShow' | 'ValidateAndHide' | 'NoValidation';
7
+ export interface JsonFormsCore {
8
+ data: any;
9
+ schema: JsonSchema;
10
+ uischema: UISchemaElement;
11
+ errors?: ErrorObject[];
12
+ validator?: ValidateFunction;
13
+ ajv?: Ajv;
14
+ validationMode?: ValidationMode;
15
+ }
16
+ export declare const coreReducer: Reducer<JsonFormsCore, CoreActions>;
17
+ export declare const extractData: (state: JsonFormsCore) => any;
18
+ export declare const extractSchema: (state: JsonFormsCore) => JsonSchema;
19
+ export declare const extractUiSchema: (state: JsonFormsCore) => UISchemaElement;
20
+ export declare const extractAjv: (state: JsonFormsCore) => Ajv;
21
+ export declare const getControlPath: (error: ErrorObject) => any;
22
+ export declare const errorsAt: (instancePath: string, schema: JsonSchema, matchPath: (path: string) => boolean) => (errors: ErrorObject[]) => ErrorObject[];
23
+ export declare const errorAt: (instancePath: string, schema: JsonSchema) => (state: JsonFormsCore) => ErrorObject[];
24
+ export declare const subErrorsAt: (instancePath: string, schema: JsonSchema) => (state: JsonFormsCore) => ErrorObject[];
@@ -1,10 +1,10 @@
1
- import { RegisterDefaultDataAction, UnregisterDefaultDataAction } from '../actions';
2
- import { Reducer } from '../util/type';
3
- export interface JsonFormsDefaultDataRegistryEntry {
4
- schemaPath: string;
5
- data: any;
6
- }
7
- declare type ValidDefaultDataActions = RegisterDefaultDataAction | UnregisterDefaultDataAction;
8
- export declare const defaultDataReducer: Reducer<JsonFormsDefaultDataRegistryEntry[], ValidDefaultDataActions>;
9
- export declare const extractDefaultData: (state: JsonFormsDefaultDataRegistryEntry[]) => JsonFormsDefaultDataRegistryEntry[];
10
- export {};
1
+ import { RegisterDefaultDataAction, UnregisterDefaultDataAction } from '../actions';
2
+ import { Reducer } from '../util';
3
+ export interface JsonFormsDefaultDataRegistryEntry {
4
+ schemaPath: string;
5
+ data: any;
6
+ }
7
+ declare type ValidDefaultDataActions = RegisterDefaultDataAction | UnregisterDefaultDataAction;
8
+ export declare const defaultDataReducer: Reducer<JsonFormsDefaultDataRegistryEntry[], ValidDefaultDataActions>;
9
+ export declare const extractDefaultData: (state: JsonFormsDefaultDataRegistryEntry[]) => JsonFormsDefaultDataRegistryEntry[];
10
+ export {};
@@ -1,11 +1,8 @@
1
- import { JsonSchema, UISchemaElement } from '..';
2
- import { Reducer } from '../util/type';
3
- export interface JsonFormsLocaleState {
4
- locale?: string;
5
- localizedSchemas: Map<string, JsonSchema>;
6
- localizedUISchemas: Map<string, UISchemaElement>;
7
- }
8
- export declare const i18nReducer: Reducer<any, any>;
9
- export declare const fetchLocale: (state?: JsonFormsLocaleState) => string;
10
- export declare const findLocalizedSchema: (locale: string) => (state?: JsonFormsLocaleState) => JsonSchema;
11
- export declare const findLocalizedUISchema: (locale: string) => (state?: JsonFormsLocaleState) => UISchemaElement;
1
+ import { JsonFormsI18nState } from '../i18n';
2
+ import { I18nActions } from '../actions';
3
+ import { Reducer } from '../util';
4
+ export declare const defaultJsonFormsI18nState: JsonFormsI18nState;
5
+ export declare const i18nReducer: Reducer<JsonFormsI18nState, I18nActions>;
6
+ export declare const fetchLocale: (state?: JsonFormsI18nState) => string;
7
+ export declare const fetchTranslator: (state?: JsonFormsI18nState) => import("../i18n").Translator;
8
+ export declare const fetchErrorTranslator: (state?: JsonFormsI18nState) => import("../i18n").ErrorTranslator;
@@ -1,47 +1,9 @@
1
- import { ControlElement, UISchemaElement } from '../models/uischema';
2
- import { coreReducer, errorsAt, JsonFormsCore, ValidationMode } from './core';
3
- import { JsonFormsDefaultDataRegistryEntry } from './default-data';
4
- import { JsonFormsRendererRegistryEntry, rendererReducer } from './renderers';
5
- import { JsonFormsState } from '../store';
6
- import { findMatchingUISchema, JsonFormsUISchemaRegistryEntry, uischemaRegistryReducer, UISchemaTester } from './uischemas';
7
- import { i18nReducer } from './i18n';
8
- import { JsonFormsCellRendererRegistryEntry } from './cells';
9
- import { JsonSchema } from '../models/jsonSchema';
10
- import { cellReducer } from './cells';
11
- import { configReducer } from './config';
12
- import { Ajv } from 'ajv';
13
- export { rendererReducer, cellReducer, coreReducer, i18nReducer, configReducer, UISchemaTester, uischemaRegistryReducer, findMatchingUISchema, JsonFormsUISchemaRegistryEntry };
14
- export { JsonFormsCore, ValidationMode };
15
- export declare const jsonFormsReducerConfig: {
16
- core: import("..").Reducer<JsonFormsCore, import("..").CoreActions>;
17
- renderers: import("..").Reducer<JsonFormsRendererRegistryEntry[], import("..").AddRendererAction | import("..").RemoveRendererAction>;
18
- cells: import("..").Reducer<import("./cells").JsonFormsCellRendererRegistryState, import("..").AddCellRendererAction | import("..").RemoveCellRendererAction>;
19
- config: import("..").Reducer<any, import("..").SetConfigAction>;
20
- uischemas: import("..").Reducer<JsonFormsUISchemaRegistryEntry[], import("..").UISchemaActions>;
21
- defaultData: import("..").Reducer<JsonFormsDefaultDataRegistryEntry[], import("..").RegisterDefaultDataAction | import("..").UnregisterDefaultDataAction>;
22
- i18n: import("..").Reducer<any, any>;
23
- };
24
- export declare const getData: (state: JsonFormsState) => any;
25
- export declare const getSchema: (state: JsonFormsState) => JsonSchema;
26
- export declare const getUiSchema: (state: JsonFormsState) => UISchemaElement;
27
- export declare const getAjv: (state: JsonFormsState) => Ajv;
28
- export declare const getDefaultData: (state: JsonFormsState) => JsonFormsDefaultDataRegistryEntry[];
29
- export declare const getRenderers: (state: JsonFormsState) => JsonFormsRendererRegistryEntry[];
30
- export declare const getCells: (state: JsonFormsState) => JsonFormsCellRendererRegistryEntry[];
31
- export declare const getUISchemas: (state: JsonFormsState) => JsonFormsUISchemaRegistryEntry[];
32
- /**
33
- * Finds a registered UI schema to use, if any.
34
- * @param schema the JSON schema describing the data to be rendered
35
- * @param schemaPath the according schema path
36
- * @param path the instance path
37
- * @param fallbackLayoutType the type of the layout to use
38
- * @param control may be checked for embedded inline uischema options
39
- */
40
- export declare const findUISchema: (uischemas: JsonFormsUISchemaRegistryEntry[], schema: JsonSchema, schemaPath: string, path: string, fallbackLayoutType?: string, control?: ControlElement, rootSchema?: JsonSchema) => UISchemaElement;
41
- export declare const getErrorAt: (instancePath: string, schema: JsonSchema) => (state: JsonFormsState) => import("ajv").ErrorObject[];
42
- export { errorsAt };
43
- export declare const getSubErrorsAt: (instancePath: string, schema: JsonSchema) => (state: JsonFormsState) => import("ajv").ErrorObject[];
44
- export declare const getConfig: (state: JsonFormsState) => any;
45
- export declare const getLocale: (state: JsonFormsState) => string;
46
- export declare const getLocalizedSchema: (locale: string) => (state: JsonFormsState) => JsonSchema;
47
- export declare const getLocalizedUISchema: (locale: string) => (state: JsonFormsState) => UISchemaElement;
1
+ export * from './cells';
2
+ export * from './config';
3
+ export * from './core';
4
+ export * from './default-data';
5
+ export * from './i18n';
6
+ export * from './reducers';
7
+ export * from './renderers';
8
+ export * from './selectors';
9
+ export * from './uischemas';
@@ -0,0 +1,29 @@
1
+ import { ControlElement, UISchemaElement } from '../models';
2
+ import { JsonFormsState } from '../store';
3
+ import type { JsonFormsUISchemaRegistryEntry } from './uischemas';
4
+ import { JsonSchema } from '../models/jsonSchema';
5
+ import { ErrorTranslator, Translator } from '../i18n';
6
+ export declare const jsonFormsReducerConfig: {
7
+ core: import("..").Reducer<import("./core").JsonFormsCore, import("..").CoreActions>;
8
+ renderers: import("..").Reducer<import("./renderers").JsonFormsRendererRegistryEntry[], import("..").AddRendererAction | import("..").RemoveRendererAction>;
9
+ cells: import("..").Reducer<import("./cells").JsonFormsCellRendererRegistryState, import("..").AddCellRendererAction | import("..").RemoveCellRendererAction>;
10
+ config: import("..").Reducer<any, import("..").SetConfigAction>;
11
+ uischemas: import("..").Reducer<JsonFormsUISchemaRegistryEntry[], import("..").UISchemaActions>;
12
+ defaultData: import("..").Reducer<import("./default-data").JsonFormsDefaultDataRegistryEntry[], import("..").RegisterDefaultDataAction | import("..").UnregisterDefaultDataAction>;
13
+ i18n: import("..").Reducer<import("../i18n").JsonFormsI18nState, import("..").I18nActions>;
14
+ };
15
+ /**
16
+ * Finds a registered UI schema to use, if any.
17
+ * @param schema the JSON schema describing the data to be rendered
18
+ * @param schemaPath the according schema path
19
+ * @param path the instance path
20
+ * @param fallbackLayoutType the type of the layout to use
21
+ * @param control may be checked for embedded inline uischema options
22
+ */
23
+ export declare const findUISchema: (uischemas: JsonFormsUISchemaRegistryEntry[], schema: JsonSchema, schemaPath: string, path: string, fallbackLayoutType?: string, control?: ControlElement, rootSchema?: JsonSchema) => UISchemaElement;
24
+ export declare const getErrorAt: (instancePath: string, schema: JsonSchema) => (state: JsonFormsState) => import("ajv").ErrorObject<string, Record<string, any>, unknown>[];
25
+ export declare const getSubErrorsAt: (instancePath: string, schema: JsonSchema) => (state: JsonFormsState) => import("ajv").ErrorObject<string, Record<string, any>, unknown>[];
26
+ export declare const getConfig: (state: JsonFormsState) => any;
27
+ export declare const getLocale: (state: JsonFormsState) => string;
28
+ export declare const getTranslator: () => (state: JsonFormsState) => Translator;
29
+ export declare const getErrorTranslator: () => (state: JsonFormsState) => ErrorTranslator;
@@ -1,10 +1,10 @@
1
- import { RankedTester } from '../testers';
2
- import { AddRendererAction, RemoveRendererAction } from '../actions';
3
- import { Reducer } from '../util/type';
4
- export interface JsonFormsRendererRegistryEntry {
5
- tester: RankedTester;
6
- renderer: any;
7
- }
8
- declare type ValidRendererReducerActions = AddRendererAction | RemoveRendererAction;
9
- export declare const rendererReducer: Reducer<JsonFormsRendererRegistryEntry[], ValidRendererReducerActions>;
10
- export {};
1
+ import { RankedTester } from '../testers';
2
+ import { AddRendererAction, RemoveRendererAction } from '../actions';
3
+ import { Reducer } from '../util';
4
+ export interface JsonFormsRendererRegistryEntry {
5
+ tester: RankedTester;
6
+ renderer: any;
7
+ }
8
+ declare type ValidRendererReducerActions = AddRendererAction | RemoveRendererAction;
9
+ export declare const rendererReducer: Reducer<JsonFormsRendererRegistryEntry[], ValidRendererReducerActions>;
10
+ export {};
@@ -0,0 +1,15 @@
1
+ import Ajv from 'ajv';
2
+ import { JsonFormsState } from '../store';
3
+ import { JsonSchema, UISchemaElement } from '../models';
4
+ import { JsonFormsDefaultDataRegistryEntry } from './default-data';
5
+ import { JsonFormsRendererRegistryEntry } from './renderers';
6
+ import { JsonFormsCellRendererRegistryEntry } from './cells';
7
+ import { JsonFormsUISchemaRegistryEntry } from './uischemas';
8
+ export declare const getData: (state: JsonFormsState) => any;
9
+ export declare const getSchema: (state: JsonFormsState) => JsonSchema;
10
+ export declare const getUiSchema: (state: JsonFormsState) => UISchemaElement;
11
+ export declare const getAjv: (state: JsonFormsState) => Ajv;
12
+ export declare const getDefaultData: (state: JsonFormsState) => JsonFormsDefaultDataRegistryEntry[];
13
+ export declare const getRenderers: (state: JsonFormsState) => JsonFormsRendererRegistryEntry[];
14
+ export declare const getCells: (state: JsonFormsState) => JsonFormsCellRendererRegistryEntry[];
15
+ export declare const getUISchemas: (state: JsonFormsState) => JsonFormsUISchemaRegistryEntry[];
@@ -1,10 +1,10 @@
1
- import { UISchemaActions } from '../actions';
2
- import { JsonSchema, UISchemaElement } from '..';
3
- import { Reducer } from '../util/type';
4
- export declare type UISchemaTester = (schema: JsonSchema, schemaPath: string, path: string) => number;
5
- export interface JsonFormsUISchemaRegistryEntry {
6
- tester: UISchemaTester;
7
- uischema: UISchemaElement;
8
- }
9
- export declare const uischemaRegistryReducer: Reducer<JsonFormsUISchemaRegistryEntry[], UISchemaActions>;
10
- export declare const findMatchingUISchema: (state: JsonFormsUISchemaRegistryEntry[]) => (jsonSchema: JsonSchema, schemaPath: string, path: string) => UISchemaElement;
1
+ import { UISchemaActions } from '../actions';
2
+ import { JsonSchema, UISchemaElement } from '../models';
3
+ import { Reducer } from '../util';
4
+ export declare type UISchemaTester = (schema: JsonSchema, schemaPath: string, path: string) => number;
5
+ export interface JsonFormsUISchemaRegistryEntry {
6
+ tester: UISchemaTester;
7
+ uischema: UISchemaElement;
8
+ }
9
+ export declare const uischemaRegistryReducer: Reducer<JsonFormsUISchemaRegistryEntry[], UISchemaActions>;
10
+ export declare const findMatchingUISchema: (state: JsonFormsUISchemaRegistryEntry[]) => (jsonSchema: JsonSchema, schemaPath: string, path: string) => UISchemaElement;
package/lib/store.d.ts CHANGED
@@ -1,56 +1,53 @@
1
- import { Store } from './util';
2
- import { JsonFormsCore } from './reducers/core';
3
- import { JsonFormsCellRendererRegistryEntry } from './reducers/cells';
4
- import { JsonFormsRendererRegistryEntry } from './reducers/renderers';
5
- import { JsonFormsLocaleState } from './reducers/i18n';
6
- import { JsonFormsUISchemaRegistryEntry } from './reducers/uischemas';
7
- /**
8
- * JSONForms store.
9
- */
10
- export interface JsonFormsStore extends Store<JsonFormsState> {
11
- }
12
- /**
13
- * The state shape of JSONForms.
14
- */
15
- export interface JsonFormsState {
16
- /**
17
- * Represents JSONForm's sub-state.
18
- */
19
- jsonforms: JsonFormsSubStates;
20
- }
21
- export interface JsonFormsSubStates {
22
- /**
23
- * Substate for storing mandatory sub-state.
24
- */
25
- core?: JsonFormsCore;
26
- /**
27
- * Global configuration options.
28
- */
29
- config?: any;
30
- /**
31
- * All available renderers.
32
- */
33
- renderers?: JsonFormsRendererRegistryEntry[];
34
- /**
35
- * All available cell renderers.
36
- */
37
- cells?: JsonFormsCellRendererRegistryEntry[];
38
- /**
39
- *
40
- */
41
- i18n?: JsonFormsLocaleState;
42
- /**
43
- *
44
- */
45
- uischemas?: JsonFormsUISchemaRegistryEntry[];
46
- /**
47
- * If true, sets all controls to read-only.
48
- */
49
- readonly?: boolean;
50
- [additionalState: string]: any;
51
- }
52
- export interface JsonFormsExtendedState<T> extends JsonFormsState {
53
- jsonforms: {
54
- [subState: string]: T;
55
- };
56
- }
1
+ import { Store } from './util';
2
+ import { JsonFormsCore, JsonFormsCellRendererRegistryEntry, JsonFormsRendererRegistryEntry, JsonFormsUISchemaRegistryEntry } from './reducers';
3
+ import { JsonFormsI18nState } from './i18n';
4
+ /**
5
+ * JSONForms store.
6
+ */
7
+ export interface JsonFormsStore extends Store<JsonFormsState> {
8
+ }
9
+ /**
10
+ * The state shape of JSONForms.
11
+ */
12
+ export interface JsonFormsState {
13
+ /**
14
+ * Represents JSONForm's sub-state.
15
+ */
16
+ jsonforms: JsonFormsSubStates;
17
+ }
18
+ export interface JsonFormsSubStates {
19
+ /**
20
+ * Substate for storing mandatory sub-state.
21
+ */
22
+ core?: JsonFormsCore;
23
+ /**
24
+ * Global configuration options.
25
+ */
26
+ config?: any;
27
+ /**
28
+ * All available renderers.
29
+ */
30
+ renderers?: JsonFormsRendererRegistryEntry[];
31
+ /**
32
+ * All available cell renderers.
33
+ */
34
+ cells?: JsonFormsCellRendererRegistryEntry[];
35
+ /**
36
+ * I18n settings.
37
+ */
38
+ i18n?: JsonFormsI18nState;
39
+ /**
40
+ * The UI schema registry used in detail renderers.
41
+ */
42
+ uischemas?: JsonFormsUISchemaRegistryEntry[];
43
+ /**
44
+ * If true, sets all controls to read-only.
45
+ */
46
+ readonly?: boolean;
47
+ [additionalState: string]: any;
48
+ }
49
+ export interface JsonFormsExtendedState<T> extends JsonFormsState {
50
+ jsonforms: {
51
+ [subState: string]: T;
52
+ };
53
+ }
@@ -1,204 +1 @@
1
- import { JsonSchema } from '../models/jsonSchema';
2
- import { Categorization, ControlElement, UISchemaElement } from '../models/uischema';
3
- /**
4
- * Constant that indicates that a tester is not capable of handling
5
- * a combination of schema/data.
6
- * @type {number}
7
- */
8
- export declare const NOT_APPLICABLE = -1;
9
- /**
10
- * A tester is a function that receives an UI schema and a JSON schema and returns a boolean.
11
- */
12
- export declare type Tester = (uischema: UISchemaElement, schema: JsonSchema) => boolean;
13
- /**
14
- * A ranked tester associates a tester with a number.
15
- */
16
- export declare type RankedTester = (uischema: UISchemaElement, schema: JsonSchema) => number;
17
- export declare const isControl: (uischema: any) => uischema is ControlElement;
18
- /**
19
- * Only applicable for Controls.
20
- *
21
- * This function checks whether the given UI schema is of type Control
22
- * and if so, resolves the sub-schema referenced by the control and applies
23
- * the given predicate
24
- *
25
- * @param {(JsonSchema) => boolean} predicate the predicate that should be
26
- * applied to the resolved sub-schema
27
- */
28
- export declare const schemaMatches: (predicate: (schema: JsonSchema) => boolean) => Tester;
29
- export declare const schemaSubPathMatches: (subPath: string, predicate: (schema: JsonSchema) => boolean) => Tester;
30
- /**
31
- * Only applicable for Controls.
32
- *
33
- * This function checks whether the given UI schema is of type Control
34
- * and if so, resolves the sub-schema referenced by the control and checks
35
- * whether the type of the sub-schema matches the expected one.
36
- *
37
- * @param {string} expectedType the expected type of the resolved sub-schema
38
- */
39
- export declare const schemaTypeIs: (expectedType: string) => Tester;
40
- /**
41
- * Only applicable for Controls.
42
- *
43
- * This function checks whether the given UI schema is of type Control
44
- * and if so, resolves the sub-schema referenced by the control and checks
45
- * whether the format of the sub-schema matches the expected one.
46
- *
47
- * @param {string} expectedFormat the expected format of the resolved sub-schema
48
- */
49
- export declare const formatIs: (expectedFormat: string) => Tester;
50
- /**
51
- * Checks whether the given UI schema has the expected type.
52
- *
53
- * @param {string} expected the expected UI schema type
54
- */
55
- export declare const uiTypeIs: (expected: string) => Tester;
56
- /**
57
- * Checks whether the given UI schema has an option with the given
58
- * name and whether it has the expected value. If no options property
59
- * is set, returns false.
60
- *
61
- * @param {string} optionName the name of the option to check
62
- * @param {any} optionValue the expected value of the option
63
- */
64
- export declare const optionIs: (optionName: string, optionValue: any) => Tester;
65
- /**
66
- * Only applicable for Controls.
67
- *
68
- * Checks whether the scope of a control ends with the expected string.
69
- *
70
- * @param {string} expected the expected ending of the reference
71
- */
72
- export declare const scopeEndsWith: (expected: string) => Tester;
73
- /**
74
- * Only applicable for Controls.
75
- *
76
- * Checks whether the last segment of the scope matches the expected string.
77
- *
78
- * @param {string} expected the expected ending of the reference
79
- */
80
- export declare const scopeEndIs: (expected: string) => Tester;
81
- /**
82
- * A tester that allow composing other testers by && them.
83
- *
84
- * @param {Array<Tester>} testers the testers to be composed
85
- */
86
- export declare const and: (...testers: Tester[]) => Tester;
87
- /**
88
- * A tester that allow composing other testers by || them.
89
- *
90
- * @param {Array<Tester>} testers the testers to be composed
91
- */
92
- export declare const or: (...testers: Tester[]) => Tester;
93
- /**
94
- * Create a ranked tester that will associate a number with a given tester, if the
95
- * latter returns true.
96
- *
97
- * @param {number} rank the rank to be returned in case the tester returns true
98
- * @param {Tester} tester a tester
99
- */
100
- export declare const rankWith: (rank: number, tester: Tester) => (uischema: UISchemaElement, schema: JsonSchema) => number;
101
- export declare const withIncreasedRank: (by: number, rankedTester: RankedTester) => (uischema: UISchemaElement, schema: JsonSchema) => number;
102
- /**
103
- * Default tester for boolean.
104
- * @type {RankedTester}
105
- */
106
- export declare const isBooleanControl: Tester;
107
- export declare const isObjectControl: Tester;
108
- export declare const isAllOfControl: Tester;
109
- export declare const isAnyOfControl: Tester;
110
- export declare const isOneOfControl: Tester;
111
- /**
112
- * Tests whether the given UI schema is of type Control and if the schema
113
- * has a 'date' format.
114
- * @type {Tester}
115
- */
116
- export declare const isDateControl: Tester;
117
- /**
118
- * Tests whether the given UI schema is of type Control and if the schema
119
- * has an enum.
120
- * @type {Tester}
121
- */
122
- export declare const isEnumControl: Tester;
123
- /**
124
- * Tests whether the given UI schema is of type Control and if the schema
125
- * has an enum based on oneOf.
126
- * @type {Tester}
127
- */
128
- export declare const isOneOfEnumControl: Tester;
129
- /**
130
- * Tests whether the given UI schema is of type Control and if the schema
131
- * is of type integer
132
- * @type {Tester}
133
- */
134
- export declare const isIntegerControl: Tester;
135
- /**
136
- * Tests whether the given UI schema is of type Control and if the schema
137
- * is of type number
138
- * @type {Tester}
139
- */
140
- export declare const isNumberControl: Tester;
141
- /**
142
- * Tests whether the given UI schema is of type Control and if the schema
143
- * is of type string
144
- * @type {Tester}
145
- */
146
- export declare const isStringControl: Tester;
147
- /**
148
- * Tests whether the given UI schema is of type Control and if is has
149
- * a 'multi' option.
150
- * @type {Tester}
151
- */
152
- export declare const isMultiLineControl: Tester;
153
- /**
154
- * Tests whether the given UI schema is of type Control and if the schema
155
- * has a 'time' format.
156
- * @type {Tester}
157
- */
158
- export declare const isTimeControl: Tester;
159
- /**
160
- * Tests whether the given UI schema is of type Control and if the schema
161
- * has a 'date-time' format.
162
- * @type {Tester}
163
- */
164
- export declare const isDateTimeControl: Tester;
165
- /**
166
- * Tests whether the given schema is an array of objects.
167
- * @type {Tester}
168
- */
169
- export declare const isObjectArray: Tester;
170
- /**
171
- * Tests whether the given UI schema is of type Control and if the schema
172
- * is an array of objects.
173
- * @type {Tester}
174
- */
175
- export declare const isObjectArrayControl: Tester;
176
- export declare const isObjectArrayWithNesting: (uischema: UISchemaElement, schema: JsonSchema) => boolean;
177
- /**
178
- * Synonym for isObjectArrayControl
179
- */
180
- export declare const isArrayObjectControl: Tester;
181
- /**
182
- * Tests whether the given UI schema is of type Control and if the schema
183
- * is an array of a primitive type.
184
- * @type {Tester}
185
- */
186
- export declare const isPrimitiveArrayControl: Tester;
187
- /**
188
- * Tests whether a given UI schema is of type Control,
189
- * if the schema is of type number or integer and
190
- * whether the schema defines a numerical range with a default value.
191
- * @type {Tester}
192
- */
193
- export declare const isRangeControl: Tester;
194
- /**
195
- * Tests whether the given UI schema is of type Control, if the schema
196
- * is of type string and has option format
197
- * @type {Tester}
198
- */
199
- export declare const isNumberFormatControl: Tester;
200
- export declare const isCategorization: (category: UISchemaElement) => category is Categorization;
201
- export declare const isCategory: (uischema: UISchemaElement) => boolean;
202
- export declare const hasCategory: (categorization: Categorization) => boolean;
203
- export declare const categorizationHasCategory: (uischema: UISchemaElement) => boolean;
204
- export declare const not: (tester: Tester) => Tester;
1
+ export * from './testers';