@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.
- package/README.md +1 -1
- package/docs/assets/js/search.json +1 -1
- package/docs/enums/ruleeffect.html +4 -4
- package/docs/globals.html +1095 -703
- package/docs/index.html +70 -43
- package/docs/interfaces/addcellrendereraction.html +3 -3
- package/docs/interfaces/addrendereraction.html +3 -3
- package/docs/interfaces/adduischemaaction.html +3 -3
- package/docs/interfaces/andcondition.html +2 -2
- package/docs/interfaces/arraycontrolprops.html +22 -22
- package/docs/interfaces/arraylayoutprops.html +22 -22
- package/docs/interfaces/categorization.html +5 -5
- package/docs/interfaces/category.html +5 -5
- package/docs/interfaces/cellprops.html +14 -14
- package/docs/interfaces/combinatorrendererprops.html +13 -13
- package/docs/interfaces/combinatorsubschemarenderinfo.html +3 -3
- package/docs/interfaces/composablecondition.html +2 -2
- package/docs/interfaces/condition.html +1 -1
- package/docs/interfaces/controlelement.html +5 -5
- package/docs/interfaces/controlprops.html +17 -17
- package/docs/interfaces/controlstate.html +2 -2
- package/docs/interfaces/controlwithdetailprops.html +18 -18
- package/docs/interfaces/dispatchcellprops.html +13 -13
- package/docs/interfaces/dispatchcellstateprops.html +13 -13
- package/docs/interfaces/dispatchpropsofarraycontrol.html +4 -4
- package/docs/interfaces/dispatchpropsofcontrol.html +1 -1
- package/docs/interfaces/dispatchpropsofmultienumcontrol.html +2 -2
- package/docs/interfaces/enumcellprops.html +15 -15
- package/docs/interfaces/enumoption.html +2 -2
- package/docs/interfaces/formatted.html +2 -2
- package/docs/interfaces/grouplayout.html +5 -5
- package/docs/interfaces/horizontallayout.html +4 -4
- package/docs/interfaces/initaction.html +6 -6
- package/docs/interfaces/initactionoptions.html +3 -3
- package/docs/interfaces/jsonformscellrendererregistryentry.html +2 -2
- package/docs/interfaces/jsonformscore.html +7 -7
- package/docs/interfaces/jsonformsdefaultdataregistryentry.html +2 -2
- package/docs/interfaces/jsonformsextendedstate.html +1 -1
- package/docs/interfaces/{jsonformslocalestate.html → jsonformsi18nstate.html} +20 -20
- package/docs/interfaces/jsonformsprops.html +9 -9
- package/docs/interfaces/jsonformsrendererregistryentry.html +2 -2
- package/docs/interfaces/jsonformsstate.html +1 -1
- package/docs/interfaces/jsonformsstore.html +5 -5
- package/docs/interfaces/jsonformssubstates.html +18 -8
- package/docs/interfaces/jsonformsuischemaregistryentry.html +2 -2
- package/docs/interfaces/labeldescription.html +2 -2
- package/docs/interfaces/labelelement.html +4 -4
- package/docs/interfaces/layout.html +4 -4
- package/docs/interfaces/layoutprops.html +10 -10
- package/docs/interfaces/leafcondition.html +3 -3
- package/docs/interfaces/orcondition.html +2 -2
- package/docs/interfaces/ownpropsofcell.html +10 -10
- package/docs/interfaces/ownpropsofcontrol.html +9 -9
- package/docs/interfaces/ownpropsofenum.html +1 -1
- package/docs/interfaces/ownpropsofenumcell.html +11 -11
- package/docs/interfaces/ownpropsofjsonformsrenderer.html +8 -8
- package/docs/interfaces/ownpropsoflayout.html +9 -9
- package/docs/interfaces/ownpropsofmasterlistitem.html +6 -6
- package/docs/interfaces/ownpropsofrenderer.html +8 -8
- package/docs/interfaces/registerdefaultdataaction.html +3 -3
- package/docs/interfaces/removecellrendereraction.html +3 -3
- package/docs/interfaces/removerendereraction.html +3 -3
- package/docs/interfaces/removeuischemaaction.html +2 -2
- package/docs/interfaces/rendererprops.html +9 -9
- package/docs/interfaces/rule.html +2 -2
- package/docs/interfaces/schemabasedcondition.html +3 -3
- package/docs/interfaces/scopable.html +1 -1
- package/docs/interfaces/setajvaction.html +3 -3
- package/docs/interfaces/setconfigaction.html +2 -2
- package/docs/interfaces/setlocaleaction.html +3 -3
- package/docs/interfaces/setschemaaction.html +2 -2
- package/docs/interfaces/{setlocalizedschemasaction.html → settranslatoraction.html} +29 -15
- package/docs/interfaces/setuischemaaction.html +2 -2
- package/docs/interfaces/setvalidationmodeaction.html +2 -2
- package/docs/interfaces/statepropsofarraycontrol.html +18 -18
- package/docs/interfaces/statepropsofarraylayout.html +18 -18
- package/docs/interfaces/statepropsofcell.html +13 -13
- package/docs/interfaces/statepropsofcombinator.html +12 -12
- package/docs/interfaces/statepropsofcontrol.html +16 -16
- package/docs/interfaces/statepropsofcontrolwithdetail.html +17 -17
- package/docs/interfaces/statepropsofenumcell.html +14 -14
- package/docs/interfaces/statepropsofjsonformsrenderer.html +9 -9
- package/docs/interfaces/statepropsoflayout.html +10 -10
- package/docs/interfaces/statepropsofmasteritem.html +7 -7
- package/docs/interfaces/statepropsofrenderer.html +9 -9
- package/docs/interfaces/statepropsofscopedrenderer.html +12 -12
- package/docs/interfaces/uischemaelement.html +3 -3
- package/docs/interfaces/unregisterdefaultdataaction.html +2 -2
- package/docs/interfaces/updateaction.html +3 -3
- package/docs/interfaces/updatecoreaction.html +6 -6
- package/docs/interfaces/updateerrorsaction.html +2 -2
- package/docs/interfaces/{setlocalizeduischemasaction.html → updatei18naction.html} +43 -15
- package/docs/interfaces/verticallayout.html +4 -4
- package/docs/interfaces/withclassname.html +1 -1
- package/lib/Helpers.d.ts +5 -0
- package/lib/actions/actions.d.ts +181 -0
- package/lib/actions/index.d.ts +1 -178
- package/lib/configDefault.d.ts +6 -6
- package/lib/generators/Generate.d.ts +6 -0
- package/lib/generators/index.d.ts +3 -10
- package/lib/generators/schema.d.ts +8 -8
- package/lib/generators/uischema.d.ts +12 -13
- package/lib/i18n/i18nTypes.d.ts +15 -0
- package/lib/i18n/i18nUtil.d.ts +18 -0
- package/lib/i18n/index.d.ts +2 -0
- package/lib/index.d.ts +11 -23
- package/lib/jsonforms-core.cjs.js +2445 -0
- package/lib/jsonforms-core.cjs.js.map +1 -0
- package/lib/jsonforms-core.esm.js +2164 -0
- package/lib/jsonforms-core.esm.js.map +1 -0
- package/lib/models/draft4.d.ts +198 -198
- package/lib/models/index.d.ts +5 -0
- package/lib/models/jsonSchema.d.ts +3 -3
- package/lib/models/jsonSchema4.d.ts +110 -110
- package/lib/models/jsonSchema7.d.ts +119 -119
- package/lib/models/uischema.d.ts +201 -201
- package/lib/reducers/cells.d.ts +11 -11
- package/lib/reducers/config.d.ts +3 -3
- package/lib/reducers/core.d.ts +24 -23
- package/lib/reducers/default-data.d.ts +10 -10
- package/lib/reducers/i18n.d.ts +8 -11
- package/lib/reducers/index.d.ts +9 -47
- package/lib/reducers/reducers.d.ts +29 -0
- package/lib/reducers/renderers.d.ts +10 -10
- package/lib/reducers/selectors.d.ts +15 -0
- package/lib/reducers/uischemas.d.ts +10 -10
- package/lib/store.d.ts +53 -56
- package/lib/testers/index.d.ts +1 -204
- package/lib/testers/testers.d.ts +203 -0
- package/lib/util/Formatted.d.ts +19 -19
- package/lib/util/array.d.ts +3 -3
- package/lib/util/cell.d.ts +79 -79
- package/lib/util/combinators.d.ts +10 -11
- package/lib/util/ids.d.ts +3 -3
- package/lib/util/index.d.ts +15 -49
- package/lib/util/label.d.ts +9 -10
- package/lib/util/path.d.ts +25 -24
- package/lib/util/renderer.d.ts +398 -395
- package/lib/util/resolvers.d.ts +25 -25
- package/lib/util/runtime.d.ts +18 -19
- package/lib/util/schema.d.ts +1 -1
- package/lib/util/type.d.ts +174 -174
- package/lib/util/uischema.d.ts +5 -5
- package/lib/util/util.d.ts +31 -0
- package/lib/util/validator.d.ts +3 -2
- package/package.json +18 -14
- package/rollup.config.js +44 -0
- package/{lib/models/jsonSchema4.js → src/Helpers.ts} +16 -8
- package/src/actions/actions.ts +345 -0
- package/src/actions/index.ts +1 -310
- package/src/configDefault.ts +1 -0
- package/{lib/util/validator.js → src/generators/Generate.ts} +18 -11
- package/src/generators/index.ts +3 -21
- package/src/generators/schema.ts +1 -1
- package/src/generators/uischema.ts +4 -4
- package/src/i18n/i18nTypes.ts +17 -0
- package/src/i18n/i18nUtil.ts +105 -0
- package/src/i18n/index.ts +2 -0
- package/src/index.ts +7 -31
- package/src/models/draft4.ts +1 -0
- package/{lib/util/type.js → src/models/index.ts} +10 -7
- package/src/models/jsonSchema.ts +1 -0
- package/src/models/uischema.ts +1 -0
- package/src/reducers/cells.ts +2 -1
- package/src/reducers/config.ts +2 -1
- package/src/reducers/core.ts +74 -52
- package/src/reducers/default-data.ts +2 -1
- package/src/reducers/i18n.ts +42 -35
- package/src/reducers/index.ts +9 -154
- package/src/reducers/reducers.ts +128 -0
- package/src/reducers/renderers.ts +2 -1
- package/src/reducers/selectors.ts +65 -0
- package/src/reducers/uischemas.ts +4 -2
- package/src/store.ts +11 -8
- package/src/testers/index.ts +1 -516
- package/src/testers/testers.ts +547 -0
- package/src/util/Formatted.ts +1 -0
- package/src/util/array.ts +25 -0
- package/src/util/cell.ts +45 -10
- package/src/util/combinators.ts +2 -4
- package/src/util/ids.ts +1 -0
- package/src/util/index.ts +11 -123
- package/src/util/label.ts +2 -2
- package/src/util/path.ts +4 -1
- package/src/util/renderer.ts +139 -66
- package/src/util/resolvers.ts +2 -1
- package/src/util/runtime.ts +3 -2
- package/src/util/schema.ts +26 -1
- package/src/util/uischema.ts +2 -1
- package/src/util/util.ts +127 -0
- package/src/util/validator.ts +5 -8
- package/stats.html +3279 -0
- package/{lib/configDefault.js → test/i18n/i18nUtil.test.ts} +25 -24
- package/test/reducers/core.test.ts +31 -44
- package/test/util/cell.test.ts +2 -2
- package/test/util/renderer.test.ts +543 -31
- package/docs/interfaces/labels.html +0 -157
- package/lib/actions/index.js +0 -125
- package/lib/actions/index.js.map +0 -1
- package/lib/configDefault.js.map +0 -1
- package/lib/generators/index.js +0 -12
- package/lib/generators/index.js.map +0 -1
- package/lib/generators/schema.js +0 -152
- package/lib/generators/schema.js.map +0 -1
- package/lib/generators/uischema.js +0 -167
- package/lib/generators/uischema.js.map +0 -1
- package/lib/index.js +0 -45
- package/lib/index.js.map +0 -1
- package/lib/jsonforms-core.js +0 -19
- package/lib/jsonforms-core.js.map +0 -1
- package/lib/models/draft4.js +0 -173
- package/lib/models/draft4.js.map +0 -1
- package/lib/models/jsonSchema.js +0 -3
- package/lib/models/jsonSchema.js.map +0 -1
- package/lib/models/jsonSchema4.js.map +0 -1
- package/lib/models/jsonSchema7.js +0 -30
- package/lib/models/jsonSchema7.js.map +0 -1
- package/lib/models/uischema.js +0 -31
- package/lib/models/uischema.js.map +0 -1
- package/lib/reducers/cells.js +0 -16
- package/lib/reducers/cells.js.map +0 -1
- package/lib/reducers/config.js +0 -44
- package/lib/reducers/config.js.map +0 -1
- package/lib/reducers/core.js +0 -259
- package/lib/reducers/core.js.map +0 -1
- package/lib/reducers/default-data.js +0 -42
- package/lib/reducers/default-data.js.map +0 -1
- package/lib/reducers/i18n.js +0 -66
- package/lib/reducers/i18n.js.map +0 -1
- package/lib/reducers/index.js +0 -92
- package/lib/reducers/index.js.map +0 -1
- package/lib/reducers/renderers.js +0 -17
- package/lib/reducers/renderers.js.map +0 -1
- package/lib/reducers/uischemas.js +0 -57
- package/lib/reducers/uischemas.js.map +0 -1
- package/lib/store.js +0 -3
- package/lib/store.js.map +0 -1
- package/lib/testers/index.js +0 -402
- package/lib/testers/index.js.map +0 -1
- package/lib/util/Formatted.js +0 -3
- package/lib/util/Formatted.js.map +0 -1
- package/lib/util/array.js +0 -19
- package/lib/util/array.js.map +0 -1
- package/lib/util/cell.js +0 -133
- package/lib/util/cell.js.map +0 -1
- package/lib/util/combinators.js +0 -56
- package/lib/util/combinators.js.map +0 -1
- package/lib/util/ids.js +0 -50
- package/lib/util/ids.js.map +0 -1
- package/lib/util/index.js +0 -132
- package/lib/util/index.js.map +0 -1
- package/lib/util/label.js +0 -70
- package/lib/util/label.js.map +0 -1
- package/lib/util/path.js +0 -84
- package/lib/util/path.js.map +0 -1
- package/lib/util/renderer.js +0 -447
- package/lib/util/renderer.js.map +0 -1
- package/lib/util/resolvers.js +0 -165
- package/lib/util/resolvers.js.map +0 -1
- package/lib/util/runtime.js +0 -159
- package/lib/util/runtime.js.map +0 -1
- package/lib/util/schema.js +0 -16
- package/lib/util/schema.js.map +0 -1
- package/lib/util/type.js.map +0 -1
- package/lib/util/uischema.js +0 -52
- package/lib/util/uischema.js.map +0 -1
- package/lib/util/validator.js.map +0 -1
- package/webpack.build.js +0 -13
package/lib/util/renderer.js
DELETED
|
@@ -1,447 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var tslib_1 = require("tslib");
|
|
4
|
-
/*
|
|
5
|
-
The MIT License
|
|
6
|
-
|
|
7
|
-
Copyright (c) 2017-2019 EclipseSource Munich
|
|
8
|
-
https://github.com/eclipsesource/jsonforms
|
|
9
|
-
|
|
10
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
11
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
12
|
-
in the Software without restriction, including without limitation the rights
|
|
13
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
14
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
15
|
-
furnished to do so, subject to the following conditions:
|
|
16
|
-
|
|
17
|
-
The above copyright notice and this permission notice shall be included in
|
|
18
|
-
all copies or substantial portions of the Software.
|
|
19
|
-
|
|
20
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
21
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
22
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
23
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
24
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
25
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
26
|
-
THE SOFTWARE.
|
|
27
|
-
*/
|
|
28
|
-
var get_1 = tslib_1.__importDefault(require("lodash/get"));
|
|
29
|
-
var union_1 = tslib_1.__importDefault(require("lodash/union"));
|
|
30
|
-
var find_1 = tslib_1.__importDefault(require("lodash/find"));
|
|
31
|
-
var reducers_1 = require("../reducers");
|
|
32
|
-
var util_1 = require("../util");
|
|
33
|
-
var actions_1 = require("../actions");
|
|
34
|
-
exports.isPlainLabel = function (label) {
|
|
35
|
-
return typeof label === 'string';
|
|
36
|
-
};
|
|
37
|
-
var isRequired = function (schema, schemaPath, rootSchema) {
|
|
38
|
-
var pathSegments = schemaPath.split('/');
|
|
39
|
-
var lastSegment = pathSegments[pathSegments.length - 1];
|
|
40
|
-
var nextHigherSchemaSegments = pathSegments.slice(0, pathSegments.length - 2);
|
|
41
|
-
var nextHigherSchemaPath = nextHigherSchemaSegments.join('/');
|
|
42
|
-
var nextHigherSchema = util_1.Resolve.schema(schema, nextHigherSchemaPath, rootSchema);
|
|
43
|
-
return (nextHigherSchema !== undefined &&
|
|
44
|
-
nextHigherSchema.required !== undefined &&
|
|
45
|
-
nextHigherSchema.required.indexOf(lastSegment) !== -1);
|
|
46
|
-
};
|
|
47
|
-
/**
|
|
48
|
-
* Adds an asterisk to the given label string based
|
|
49
|
-
* on the required parameter.
|
|
50
|
-
*
|
|
51
|
-
* @param {string} label the label string
|
|
52
|
-
* @param {boolean} required whether the label belongs to a control which is required
|
|
53
|
-
* @returns {string} the label string
|
|
54
|
-
*/
|
|
55
|
-
exports.computeLabel = function (label, required, hideRequiredAsterisk) {
|
|
56
|
-
return required && !hideRequiredAsterisk ? label + '*' : label;
|
|
57
|
-
};
|
|
58
|
-
/**
|
|
59
|
-
* Create a default value based on the given scheam.
|
|
60
|
-
* @param schema the schema for which to create a default value.
|
|
61
|
-
* @returns {any}
|
|
62
|
-
*/
|
|
63
|
-
exports.createDefaultValue = function (schema) {
|
|
64
|
-
switch (schema.type) {
|
|
65
|
-
case 'string':
|
|
66
|
-
if (schema.format === 'date-time' ||
|
|
67
|
-
schema.format === 'date' ||
|
|
68
|
-
schema.format === 'time') {
|
|
69
|
-
return new Date();
|
|
70
|
-
}
|
|
71
|
-
return '';
|
|
72
|
-
case 'integer':
|
|
73
|
-
case 'number':
|
|
74
|
-
return 0;
|
|
75
|
-
case 'boolean':
|
|
76
|
-
return false;
|
|
77
|
-
case 'array':
|
|
78
|
-
return [];
|
|
79
|
-
case 'null':
|
|
80
|
-
return null;
|
|
81
|
-
default:
|
|
82
|
-
return {};
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
/**
|
|
86
|
-
* Whether an element's description should be hidden.
|
|
87
|
-
*
|
|
88
|
-
* @param visible whether an element is visible
|
|
89
|
-
* @param description the element's description
|
|
90
|
-
* @param isFocused whether the element is focused
|
|
91
|
-
*
|
|
92
|
-
* @returns {boolean} true, if the description is to be hidden, false otherwise
|
|
93
|
-
*/
|
|
94
|
-
exports.isDescriptionHidden = function (visible, description, isFocused, showUnfocusedDescription) {
|
|
95
|
-
return (description === undefined ||
|
|
96
|
-
(description !== undefined && !visible) ||
|
|
97
|
-
(!showUnfocusedDescription && !isFocused));
|
|
98
|
-
};
|
|
99
|
-
exports.enumToEnumOptionMapper = function (e) {
|
|
100
|
-
var stringifiedEnum = typeof e === 'string' ? e : JSON.stringify(e);
|
|
101
|
-
return { label: stringifiedEnum, value: e };
|
|
102
|
-
};
|
|
103
|
-
exports.oneOfToEnumOptionMapper = function (e) {
|
|
104
|
-
var _a;
|
|
105
|
-
return ({
|
|
106
|
-
value: e.const,
|
|
107
|
-
label: (_a = e.title) !== null && _a !== void 0 ? _a : (typeof e.const === 'string' ? e.const : JSON.stringify(e.const))
|
|
108
|
-
});
|
|
109
|
-
};
|
|
110
|
-
/**
|
|
111
|
-
* Map state to control props.
|
|
112
|
-
* @param state the store's state
|
|
113
|
-
* @param ownProps any own props
|
|
114
|
-
* @returns {StatePropsOfControl} state props for a control
|
|
115
|
-
*/
|
|
116
|
-
exports.mapStateToControlProps = function (state, ownProps) {
|
|
117
|
-
var uischema = ownProps.uischema;
|
|
118
|
-
var rootData = reducers_1.getData(state);
|
|
119
|
-
var path = util_1.composeWithUi(uischema, ownProps.path);
|
|
120
|
-
var visible = ownProps.visible === undefined || util_1.hasShowRule(uischema)
|
|
121
|
-
? util_1.isVisible(uischema, rootData, ownProps.path, reducers_1.getAjv(state))
|
|
122
|
-
: ownProps.visible;
|
|
123
|
-
var controlElement = uischema;
|
|
124
|
-
var id = ownProps.id;
|
|
125
|
-
var rootSchema = reducers_1.getSchema(state);
|
|
126
|
-
var required = controlElement.scope !== undefined &&
|
|
127
|
-
isRequired(ownProps.schema, controlElement.scope, rootSchema);
|
|
128
|
-
var resolvedSchema = util_1.Resolve.schema(ownProps.schema || rootSchema, controlElement.scope, rootSchema);
|
|
129
|
-
var errors = util_1.formatErrorMessage(union_1.default(reducers_1.getErrorAt(path, resolvedSchema)(state).map(function (error) { return error.message; })));
|
|
130
|
-
var description = resolvedSchema !== undefined ? resolvedSchema.description : '';
|
|
131
|
-
var data = util_1.Resolve.data(rootData, path);
|
|
132
|
-
var labelDesc = util_1.createLabelDescriptionFrom(uischema, resolvedSchema);
|
|
133
|
-
var label = labelDesc.show ? labelDesc.text : '';
|
|
134
|
-
var config = reducers_1.getConfig(state);
|
|
135
|
-
var enabled = util_1.isInherentlyEnabled(state, ownProps, uischema, resolvedSchema || rootSchema, rootData, config);
|
|
136
|
-
return {
|
|
137
|
-
data: data,
|
|
138
|
-
description: description,
|
|
139
|
-
errors: errors,
|
|
140
|
-
label: label,
|
|
141
|
-
visible: visible,
|
|
142
|
-
enabled: enabled,
|
|
143
|
-
id: id,
|
|
144
|
-
path: path,
|
|
145
|
-
required: required,
|
|
146
|
-
uischema: ownProps.uischema,
|
|
147
|
-
schema: resolvedSchema || rootSchema,
|
|
148
|
-
config: reducers_1.getConfig(state),
|
|
149
|
-
cells: ownProps.cells || state.jsonforms.cells,
|
|
150
|
-
rootSchema: rootSchema
|
|
151
|
-
};
|
|
152
|
-
};
|
|
153
|
-
/**
|
|
154
|
-
*
|
|
155
|
-
* Map dispatch to control props.
|
|
156
|
-
*
|
|
157
|
-
* @param dispatch the store's dispatch method
|
|
158
|
-
* @returns {DispatchPropsOfControl} dispatch props for a control
|
|
159
|
-
*/
|
|
160
|
-
exports.mapDispatchToControlProps = function (dispatch) { return ({
|
|
161
|
-
handleChange: function (path, value) {
|
|
162
|
-
dispatch(actions_1.update(path, function () { return value; }));
|
|
163
|
-
}
|
|
164
|
-
}); };
|
|
165
|
-
/**
|
|
166
|
-
* Default mapStateToCellProps for enum control. Options is used for populating dropdown list
|
|
167
|
-
* @param state
|
|
168
|
-
* @param ownProps
|
|
169
|
-
* @returns {StatePropsOfControl & OwnPropsOfEnum}
|
|
170
|
-
*/
|
|
171
|
-
exports.mapStateToEnumControlProps = function (state, ownProps) {
|
|
172
|
-
var _a;
|
|
173
|
-
var props = exports.mapStateToControlProps(state, ownProps);
|
|
174
|
-
var options = ownProps.options || ((_a = props.schema.enum) === null || _a === void 0 ? void 0 : _a.map(exports.enumToEnumOptionMapper)) ||
|
|
175
|
-
(props.schema.const && [exports.enumToEnumOptionMapper(props.schema.const)]);
|
|
176
|
-
return tslib_1.__assign(tslib_1.__assign({}, props), { options: options });
|
|
177
|
-
};
|
|
178
|
-
/**
|
|
179
|
-
* Default mapStateToCellProps for enum control based on oneOf. Options is used for populating dropdown list
|
|
180
|
-
* @param state
|
|
181
|
-
* @param ownProps
|
|
182
|
-
* @returns {StatePropsOfControl & OwnPropsOfEnum}
|
|
183
|
-
*/
|
|
184
|
-
exports.mapStateToOneOfEnumControlProps = function (state, ownProps) {
|
|
185
|
-
var _a;
|
|
186
|
-
var props = exports.mapStateToControlProps(state, ownProps);
|
|
187
|
-
var options = ownProps.options || ((_a = props.schema.oneOf) === null || _a === void 0 ? void 0 : _a.map(exports.oneOfToEnumOptionMapper));
|
|
188
|
-
return tslib_1.__assign(tslib_1.__assign({}, props), { options: options });
|
|
189
|
-
};
|
|
190
|
-
/**
|
|
191
|
-
* Default mapStateToCellProps for multi enum control. Options is used for populating dropdown list
|
|
192
|
-
* @param state
|
|
193
|
-
* @param ownProps
|
|
194
|
-
* @returns {StatePropsOfControl & OwnPropsOfEnum}
|
|
195
|
-
*/
|
|
196
|
-
exports.mapStateToMultiEnumControlProps = function (state, ownProps) {
|
|
197
|
-
var _a;
|
|
198
|
-
var props = exports.mapStateToControlProps(state, ownProps);
|
|
199
|
-
var items = props.schema.items;
|
|
200
|
-
var options = ownProps.options ||
|
|
201
|
-
((items === null || items === void 0 ? void 0 : items.oneOf) &&
|
|
202
|
-
items.oneOf.map(exports.oneOfToEnumOptionMapper)) || ((_a = items === null || items === void 0 ? void 0 : items.enum) === null || _a === void 0 ? void 0 : _a.map(exports.enumToEnumOptionMapper));
|
|
203
|
-
return tslib_1.__assign(tslib_1.__assign({}, props), { options: options });
|
|
204
|
-
};
|
|
205
|
-
/**
|
|
206
|
-
* Map state to control props.
|
|
207
|
-
* @param state the store's state
|
|
208
|
-
* @param ownProps any own props
|
|
209
|
-
* @returns {StatePropsOfControl} state props for a control
|
|
210
|
-
*/
|
|
211
|
-
exports.mapStateToMasterListItemProps = function (state, ownProps) {
|
|
212
|
-
var schema = ownProps.schema, path = ownProps.path, index = ownProps.index;
|
|
213
|
-
var firstPrimitiveProp = schema.properties
|
|
214
|
-
? find_1.default(Object.keys(schema.properties), function (propName) {
|
|
215
|
-
var prop = schema.properties[propName];
|
|
216
|
-
return (prop.type === 'string' ||
|
|
217
|
-
prop.type === 'number' ||
|
|
218
|
-
prop.type === 'integer');
|
|
219
|
-
})
|
|
220
|
-
: undefined;
|
|
221
|
-
var childPath = util_1.composePaths(path, "" + index);
|
|
222
|
-
var childData = util_1.Resolve.data(reducers_1.getData(state), childPath);
|
|
223
|
-
var childLabel = firstPrimitiveProp ? childData[firstPrimitiveProp] : '';
|
|
224
|
-
return tslib_1.__assign(tslib_1.__assign({}, ownProps), { childLabel: childLabel });
|
|
225
|
-
};
|
|
226
|
-
/**
|
|
227
|
-
* Map state to control with detail props
|
|
228
|
-
*
|
|
229
|
-
* @param state the store's state
|
|
230
|
-
* @param ownProps any element's own props
|
|
231
|
-
* @returns {StatePropsOfArrayControl} state props for a table control
|
|
232
|
-
*/
|
|
233
|
-
exports.mapStateToControlWithDetailProps = function (state, ownProps) {
|
|
234
|
-
var props = tslib_1.__rest(exports.mapStateToControlProps(state, ownProps), []);
|
|
235
|
-
return tslib_1.__assign(tslib_1.__assign({}, props), { uischemas: state.jsonforms.uischemas });
|
|
236
|
-
};
|
|
237
|
-
/**
|
|
238
|
-
* Map state to table props
|
|
239
|
-
*
|
|
240
|
-
* @param state the store's state
|
|
241
|
-
* @param ownProps any element's own props
|
|
242
|
-
* @returns {StatePropsOfArrayControl} state props for a table control
|
|
243
|
-
*/
|
|
244
|
-
exports.mapStateToArrayControlProps = function (state, ownProps) {
|
|
245
|
-
var _a = exports.mapStateToControlWithDetailProps(state, ownProps), path = _a.path, schema = _a.schema, uischema = _a.uischema, props = tslib_1.__rest(_a, ["path", "schema", "uischema"]);
|
|
246
|
-
var resolvedSchema = util_1.Resolve.schema(schema, 'items', props.rootSchema);
|
|
247
|
-
var childErrors = reducers_1.getSubErrorsAt(path, resolvedSchema)(state);
|
|
248
|
-
return tslib_1.__assign(tslib_1.__assign({}, props), { path: path,
|
|
249
|
-
uischema: uischema, schema: resolvedSchema, childErrors: childErrors, renderers: ownProps.renderers || reducers_1.getRenderers(state), cells: ownProps.cells || reducers_1.getCells(state) });
|
|
250
|
-
};
|
|
251
|
-
/**
|
|
252
|
-
* Maps state to dispatch properties of an array control.
|
|
253
|
-
*
|
|
254
|
-
* @param dispatch the store's dispatch method
|
|
255
|
-
* @returns {DispatchPropsOfArrayControl} dispatch props of an array control
|
|
256
|
-
*/
|
|
257
|
-
exports.mapDispatchToArrayControlProps = function (dispatch) { return ({
|
|
258
|
-
addItem: function (path, value) { return function () {
|
|
259
|
-
dispatch(actions_1.update(path, function (array) {
|
|
260
|
-
if (array === undefined || array === null) {
|
|
261
|
-
return [value];
|
|
262
|
-
}
|
|
263
|
-
array.push(value);
|
|
264
|
-
return array;
|
|
265
|
-
}));
|
|
266
|
-
}; },
|
|
267
|
-
removeItems: function (path, toDelete) { return function () {
|
|
268
|
-
dispatch(actions_1.update(path, function (array) {
|
|
269
|
-
toDelete
|
|
270
|
-
.sort()
|
|
271
|
-
.reverse()
|
|
272
|
-
.forEach(function (s) { return array.splice(s, 1); });
|
|
273
|
-
return array;
|
|
274
|
-
}));
|
|
275
|
-
}; },
|
|
276
|
-
moveUp: function (path, toMove) { return function () {
|
|
277
|
-
dispatch(actions_1.update(path, function (array) {
|
|
278
|
-
util_1.moveUp(array, toMove);
|
|
279
|
-
return array;
|
|
280
|
-
}));
|
|
281
|
-
}; },
|
|
282
|
-
moveDown: function (path, toMove) { return function () {
|
|
283
|
-
dispatch(actions_1.update(path, function (array) {
|
|
284
|
-
util_1.moveDown(array, toMove);
|
|
285
|
-
return array;
|
|
286
|
-
}));
|
|
287
|
-
}; }
|
|
288
|
-
}); };
|
|
289
|
-
exports.mapDispatchToMultiEnumProps = function (dispatch) { return ({
|
|
290
|
-
addItem: function (path, value) {
|
|
291
|
-
dispatch(actions_1.update(path, function (data) {
|
|
292
|
-
if (data === undefined || data === null) {
|
|
293
|
-
return [value];
|
|
294
|
-
}
|
|
295
|
-
data.push(value);
|
|
296
|
-
return data;
|
|
297
|
-
}));
|
|
298
|
-
},
|
|
299
|
-
removeItem: function (path, toDelete) {
|
|
300
|
-
dispatch(actions_1.update(path, function (data) {
|
|
301
|
-
var indexInData = data.indexOf(toDelete);
|
|
302
|
-
data.splice(indexInData, 1);
|
|
303
|
-
return data;
|
|
304
|
-
}));
|
|
305
|
-
}
|
|
306
|
-
}); };
|
|
307
|
-
exports.layoutDefaultProps = {
|
|
308
|
-
visible: true,
|
|
309
|
-
enabled: true,
|
|
310
|
-
path: '',
|
|
311
|
-
direction: 'column'
|
|
312
|
-
};
|
|
313
|
-
var getDirection = function (uischema) {
|
|
314
|
-
if (uischema.type === 'HorizontalLayout') {
|
|
315
|
-
return 'row';
|
|
316
|
-
}
|
|
317
|
-
if (uischema.type === 'VerticalLayout') {
|
|
318
|
-
return 'column';
|
|
319
|
-
}
|
|
320
|
-
return exports.layoutDefaultProps.direction;
|
|
321
|
-
};
|
|
322
|
-
/**
|
|
323
|
-
* Map state to layout props.
|
|
324
|
-
* @param state JSONForms state tree
|
|
325
|
-
* @param ownProps any own props
|
|
326
|
-
* @returns {StatePropsOfLayout}
|
|
327
|
-
*/
|
|
328
|
-
exports.mapStateToLayoutProps = function (state, ownProps) {
|
|
329
|
-
var _a;
|
|
330
|
-
var rootData = reducers_1.getData(state);
|
|
331
|
-
var uischema = ownProps.uischema;
|
|
332
|
-
var visible = ownProps.visible === undefined || util_1.hasShowRule(uischema)
|
|
333
|
-
? util_1.isVisible(ownProps.uischema, rootData, ownProps.path, reducers_1.getAjv(state))
|
|
334
|
-
: ownProps.visible;
|
|
335
|
-
var data = util_1.Resolve.data(rootData, ownProps.path);
|
|
336
|
-
var config = reducers_1.getConfig(state);
|
|
337
|
-
var enabled = util_1.isInherentlyEnabled(state, ownProps, uischema, undefined, // layouts have no associated schema
|
|
338
|
-
rootData, config);
|
|
339
|
-
return tslib_1.__assign(tslib_1.__assign({}, exports.layoutDefaultProps), { renderers: ownProps.renderers || reducers_1.getRenderers(state), cells: ownProps.cells || reducers_1.getCells(state), visible: visible,
|
|
340
|
-
enabled: enabled, path: ownProps.path, data: data, uischema: ownProps.uischema, schema: ownProps.schema, direction: (_a = ownProps.direction) !== null && _a !== void 0 ? _a : getDirection(uischema) });
|
|
341
|
-
};
|
|
342
|
-
exports.mapStateToJsonFormsRendererProps = function (state, ownProps) {
|
|
343
|
-
var uischema = ownProps.uischema;
|
|
344
|
-
if (uischema === undefined) {
|
|
345
|
-
if (ownProps.schema) {
|
|
346
|
-
uischema = reducers_1.findUISchema(state.jsonforms.uischemas, ownProps.schema, undefined, ownProps.path);
|
|
347
|
-
}
|
|
348
|
-
else {
|
|
349
|
-
uischema = reducers_1.getUiSchema(state);
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
return {
|
|
353
|
-
renderers: ownProps.renderers || get_1.default(state.jsonforms, 'renderers') || [],
|
|
354
|
-
cells: ownProps.cells || get_1.default(state.jsonforms, 'cells') || [],
|
|
355
|
-
schema: ownProps.schema || reducers_1.getSchema(state),
|
|
356
|
-
rootSchema: reducers_1.getSchema(state),
|
|
357
|
-
uischema: uischema,
|
|
358
|
-
path: ownProps.path
|
|
359
|
-
};
|
|
360
|
-
};
|
|
361
|
-
exports.controlDefaultProps = tslib_1.__assign(tslib_1.__assign({}, exports.layoutDefaultProps), { errors: [] });
|
|
362
|
-
var mapStateToCombinatorRendererProps = function (state, ownProps, keyword) {
|
|
363
|
-
var uischema = ownProps.uischema;
|
|
364
|
-
var path = util_1.composeWithUi(uischema, ownProps.path);
|
|
365
|
-
var rootSchema = reducers_1.getSchema(state);
|
|
366
|
-
var resolvedSchema = util_1.Resolve.schema(ownProps.schema || rootSchema, uischema.scope, rootSchema);
|
|
367
|
-
var visible = ownProps.visible === undefined || util_1.hasShowRule(uischema)
|
|
368
|
-
? util_1.isVisible(uischema, reducers_1.getData(state), ownProps.path, reducers_1.getAjv(state))
|
|
369
|
-
: ownProps.visible;
|
|
370
|
-
var id = ownProps.id;
|
|
371
|
-
var data = util_1.Resolve.data(reducers_1.getData(state), path);
|
|
372
|
-
var ajv = state.jsonforms.core.ajv;
|
|
373
|
-
var schema = resolvedSchema || rootSchema;
|
|
374
|
-
var _schema = util_1.resolveSubSchemas(schema, rootSchema, keyword);
|
|
375
|
-
var structuralKeywords = [
|
|
376
|
-
'required',
|
|
377
|
-
'additionalProperties',
|
|
378
|
-
'type',
|
|
379
|
-
'enum'
|
|
380
|
-
];
|
|
381
|
-
var dataIsValid = function (errors) {
|
|
382
|
-
return (!errors ||
|
|
383
|
-
errors.length === 0 ||
|
|
384
|
-
!errors.find(function (e) { return structuralKeywords.indexOf(e.keyword) !== -1; }));
|
|
385
|
-
};
|
|
386
|
-
var indexOfFittingSchema;
|
|
387
|
-
// TODO instead of compiling the combinator subschemas we can compile the original schema
|
|
388
|
-
// without the combinator alternatives and then revalidate and check the errors for the
|
|
389
|
-
// element
|
|
390
|
-
for (var i = 0; i < _schema[keyword].length; i++) {
|
|
391
|
-
try {
|
|
392
|
-
var valFn = ajv.compile(_schema[keyword][i]);
|
|
393
|
-
valFn(data);
|
|
394
|
-
if (dataIsValid(valFn.errors)) {
|
|
395
|
-
indexOfFittingSchema = i;
|
|
396
|
-
break;
|
|
397
|
-
}
|
|
398
|
-
}
|
|
399
|
-
catch (error) {
|
|
400
|
-
console.debug("Combinator subschema is not self contained, can't hand it over to AJV");
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
|
-
return {
|
|
404
|
-
data: data,
|
|
405
|
-
path: path,
|
|
406
|
-
schema: schema,
|
|
407
|
-
rootSchema: rootSchema,
|
|
408
|
-
visible: visible,
|
|
409
|
-
id: id,
|
|
410
|
-
indexOfFittingSchema: indexOfFittingSchema,
|
|
411
|
-
uischemas: state.jsonforms.uischemas,
|
|
412
|
-
uischema: uischema
|
|
413
|
-
};
|
|
414
|
-
};
|
|
415
|
-
/**
|
|
416
|
-
* Map state to all of renderer props.
|
|
417
|
-
* @param state the store's state
|
|
418
|
-
* @param ownProps any own props
|
|
419
|
-
* @returns {StatePropsOfCombinator} state props for a combinator
|
|
420
|
-
*/
|
|
421
|
-
exports.mapStateToAllOfProps = function (state, ownProps) {
|
|
422
|
-
return mapStateToCombinatorRendererProps(state, ownProps, 'allOf');
|
|
423
|
-
};
|
|
424
|
-
exports.mapStateToAnyOfProps = function (state, ownProps) {
|
|
425
|
-
return mapStateToCombinatorRendererProps(state, ownProps, 'anyOf');
|
|
426
|
-
};
|
|
427
|
-
exports.mapStateToOneOfProps = function (state, ownProps) {
|
|
428
|
-
return mapStateToCombinatorRendererProps(state, ownProps, 'oneOf');
|
|
429
|
-
};
|
|
430
|
-
/**
|
|
431
|
-
* Map state to table props
|
|
432
|
-
*
|
|
433
|
-
* @param state the store's state
|
|
434
|
-
* @param ownProps any element's own props
|
|
435
|
-
* @returns {StatePropsOfArrayControl} state props for a table control
|
|
436
|
-
*/
|
|
437
|
-
exports.mapStateToArrayLayoutProps = function (state, ownProps) {
|
|
438
|
-
var _a = exports.mapStateToControlWithDetailProps(state, ownProps), path = _a.path, schema = _a.schema, uischema = _a.uischema, errors = _a.errors, props = tslib_1.__rest(_a, ["path", "schema", "uischema", "errors"]);
|
|
439
|
-
var resolvedSchema = util_1.Resolve.schema(schema, 'items', props.rootSchema);
|
|
440
|
-
var childErrors = util_1.formatErrorMessage(reducers_1.getSubErrorsAt(path, resolvedSchema)(state).map(function (error) { return error.message; }));
|
|
441
|
-
var allErrors = errors +
|
|
442
|
-
(errors.length > 0 && childErrors.length > 0 ? '\n' : '') +
|
|
443
|
-
childErrors;
|
|
444
|
-
return tslib_1.__assign(tslib_1.__assign({}, props), { path: path,
|
|
445
|
-
uischema: uischema, schema: resolvedSchema, data: props.data ? props.data.length : 0, errors: allErrors, minItems: schema.minItems });
|
|
446
|
-
};
|
|
447
|
-
//# sourceMappingURL=renderer.js.map
|
package/lib/util/renderer.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/util/renderer.ts"],"names":[],"mappings":"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"}
|
package/lib/util/resolvers.js
DELETED
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var tslib_1 = require("tslib");
|
|
4
|
-
/*
|
|
5
|
-
The MIT License
|
|
6
|
-
|
|
7
|
-
Copyright (c) 2017-2019 EclipseSource Munich
|
|
8
|
-
https://github.com/eclipsesource/jsonforms
|
|
9
|
-
|
|
10
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
11
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
12
|
-
in the Software without restriction, including without limitation the rights
|
|
13
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
14
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
15
|
-
furnished to do so, subject to the following conditions:
|
|
16
|
-
|
|
17
|
-
The above copyright notice and this permission notice shall be included in
|
|
18
|
-
all copies or substantial portions of the Software.
|
|
19
|
-
|
|
20
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
21
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
22
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
23
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
24
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
25
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
26
|
-
THE SOFTWARE.
|
|
27
|
-
*/
|
|
28
|
-
var isEmpty_1 = tslib_1.__importDefault(require("lodash/isEmpty"));
|
|
29
|
-
var get_1 = tslib_1.__importDefault(require("lodash/get"));
|
|
30
|
-
var isObjectSchema = function (schema) {
|
|
31
|
-
return schema.properties !== undefined;
|
|
32
|
-
};
|
|
33
|
-
var isArraySchema = function (schema) {
|
|
34
|
-
return schema.type === 'array' && schema.items !== undefined;
|
|
35
|
-
};
|
|
36
|
-
exports.resolveData = function (instance, dataPath) {
|
|
37
|
-
if (isEmpty_1.default(dataPath)) {
|
|
38
|
-
return instance;
|
|
39
|
-
}
|
|
40
|
-
var dataPathSegments = dataPath.split('.');
|
|
41
|
-
return dataPathSegments
|
|
42
|
-
.map(function (segment) { return decodeURIComponent(segment); })
|
|
43
|
-
.reduce(function (curInstance, decodedSegment) {
|
|
44
|
-
if (!curInstance || !curInstance.hasOwnProperty(decodedSegment)) {
|
|
45
|
-
return undefined;
|
|
46
|
-
}
|
|
47
|
-
return curInstance[decodedSegment];
|
|
48
|
-
}, instance);
|
|
49
|
-
};
|
|
50
|
-
/**
|
|
51
|
-
* Finds all references inside the given schema.
|
|
52
|
-
*
|
|
53
|
-
* @param schema The {@link JsonSchema} to find the references in
|
|
54
|
-
* @param result The initial result map, default: empty map (this parameter is used for recursion
|
|
55
|
-
* inside the function)
|
|
56
|
-
* @param resolveTuples Whether arrays of tuples should be considered; default: false
|
|
57
|
-
*/
|
|
58
|
-
exports.findAllRefs = function (schema, result, resolveTuples) {
|
|
59
|
-
if (result === void 0) { result = {}; }
|
|
60
|
-
if (resolveTuples === void 0) { resolveTuples = false; }
|
|
61
|
-
if (isObjectSchema(schema)) {
|
|
62
|
-
Object.keys(schema.properties).forEach(function (key) {
|
|
63
|
-
return exports.findAllRefs(schema.properties[key], result);
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
if (isArraySchema(schema)) {
|
|
67
|
-
if (Array.isArray(schema.items)) {
|
|
68
|
-
if (resolveTuples) {
|
|
69
|
-
var items = schema.items;
|
|
70
|
-
items.forEach(function (child) { return exports.findAllRefs(child, result); });
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
exports.findAllRefs(schema.items, result);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
if (Array.isArray(schema.anyOf)) {
|
|
78
|
-
var anyOf = schema.anyOf;
|
|
79
|
-
anyOf.forEach(function (child) { return exports.findAllRefs(child, result); });
|
|
80
|
-
}
|
|
81
|
-
if (schema.$ref !== undefined) {
|
|
82
|
-
result[schema.$ref] = schema;
|
|
83
|
-
}
|
|
84
|
-
return result;
|
|
85
|
-
};
|
|
86
|
-
var invalidSegment = function (pathSegment) {
|
|
87
|
-
return pathSegment === '#' || pathSegment === undefined || pathSegment === '';
|
|
88
|
-
};
|
|
89
|
-
/**
|
|
90
|
-
* Resolve the given schema path in order to obtain a subschema.
|
|
91
|
-
* @param {JsonSchema} schema the root schema from which to start
|
|
92
|
-
* @param {string} schemaPath the schema path to be resolved
|
|
93
|
-
* @param {JsonSchema} rootSchema the actual root schema
|
|
94
|
-
* @returns {JsonSchema} the resolved sub-schema
|
|
95
|
-
*/
|
|
96
|
-
exports.resolveSchema = function (schema, schemaPath, rootSchema) {
|
|
97
|
-
var _a, _b, _c;
|
|
98
|
-
if (isEmpty_1.default(schema)) {
|
|
99
|
-
return undefined;
|
|
100
|
-
}
|
|
101
|
-
var validPathSegments = schemaPath.split('/');
|
|
102
|
-
var resultSchema = schema;
|
|
103
|
-
for (var i = 0; i < validPathSegments.length; i++) {
|
|
104
|
-
var pathSegment = validPathSegments[i];
|
|
105
|
-
resultSchema =
|
|
106
|
-
resultSchema === undefined || resultSchema.$ref === undefined
|
|
107
|
-
? resultSchema
|
|
108
|
-
: exports.resolveSchema(schema, resultSchema.$ref);
|
|
109
|
-
if (invalidSegment(pathSegment)) {
|
|
110
|
-
// skip invalid segments
|
|
111
|
-
continue;
|
|
112
|
-
}
|
|
113
|
-
var curSchema = get_1.default(resultSchema, pathSegment);
|
|
114
|
-
if (!curSchema) {
|
|
115
|
-
// resolving was not successful, check whether the scope omitted an oneOf, allOf or anyOf and resolve anyway
|
|
116
|
-
var schemas = [].concat((_a = resultSchema === null || resultSchema === void 0 ? void 0 : resultSchema.oneOf) !== null && _a !== void 0 ? _a : [], (_b = resultSchema === null || resultSchema === void 0 ? void 0 : resultSchema.allOf) !== null && _b !== void 0 ? _b : [], (_c = resultSchema === null || resultSchema === void 0 ? void 0 : resultSchema.anyOf) !== null && _c !== void 0 ? _c : []);
|
|
117
|
-
for (var _i = 0, schemas_1 = schemas; _i < schemas_1.length; _i++) {
|
|
118
|
-
var item = schemas_1[_i];
|
|
119
|
-
curSchema = exports.resolveSchema(item, validPathSegments.slice(i).join('/'));
|
|
120
|
-
if (curSchema) {
|
|
121
|
-
break;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
if (curSchema) {
|
|
125
|
-
// already resolved rest of the path
|
|
126
|
-
resultSchema = curSchema;
|
|
127
|
-
break;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
resultSchema = curSchema;
|
|
131
|
-
}
|
|
132
|
-
// TODO: because schema is already scoped we might end up with refs pointing
|
|
133
|
-
// outside of the current schema. It would be better if we'd always could deal
|
|
134
|
-
// with absolute paths here, so that we don't need to keep two different
|
|
135
|
-
// schemas around
|
|
136
|
-
if (resultSchema !== undefined && resultSchema.$ref !== undefined) {
|
|
137
|
-
try {
|
|
138
|
-
return retrieveResolvableSchema(schema, resultSchema.$ref);
|
|
139
|
-
}
|
|
140
|
-
catch (e) {
|
|
141
|
-
return retrieveResolvableSchema(rootSchema, resultSchema.$ref);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
return resultSchema;
|
|
145
|
-
};
|
|
146
|
-
/**
|
|
147
|
-
* Normalizes the schema and resolves the given ref.
|
|
148
|
-
*
|
|
149
|
-
* @param {JsonSchema} full the JSON schema to resolved the reference against
|
|
150
|
-
* @param {string} reference the reference to be resolved
|
|
151
|
-
* @returns {JsonSchema} the resolved sub-schema
|
|
152
|
-
*/
|
|
153
|
-
// disable rule because resolve is mutually recursive
|
|
154
|
-
// tslint:disable:only-arrow-functions
|
|
155
|
-
function retrieveResolvableSchema(full, reference) {
|
|
156
|
-
// tslint:enable:only-arrow-functions
|
|
157
|
-
var child = exports.resolveSchema(full, reference);
|
|
158
|
-
var allRefs = exports.findAllRefs(child);
|
|
159
|
-
var innerSelfReference = allRefs[reference];
|
|
160
|
-
if (innerSelfReference !== undefined) {
|
|
161
|
-
innerSelfReference.$ref = '#';
|
|
162
|
-
}
|
|
163
|
-
return child;
|
|
164
|
-
}
|
|
165
|
-
//# sourceMappingURL=resolvers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../../src/util/resolvers.ts"],"names":[],"mappings":"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"}
|