@earthranger/react-native-jsonforms-formatter 2.0.0-beta.3 → 2.0.0-beta.31
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 +6 -0
- package/dist/bundle.js +1 -1
- package/dist/common/schemaUtils.d.ts +23 -0
- package/dist/common/schemaUtils.d.ts.map +1 -0
- package/dist/common/schemaUtils.js +56 -0
- package/dist/common/schemaUtils.js.map +1 -0
- package/dist/common/types.d.ts +35 -2
- package/dist/common/types.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/v2/conditions.d.ts +80 -0
- package/dist/v2/conditions.d.ts.map +1 -0
- package/dist/v2/conditions.js +364 -0
- package/dist/v2/conditions.js.map +1 -0
- package/dist/v2/generateUISchema.d.ts +1 -0
- package/dist/v2/generateUISchema.d.ts.map +1 -1
- package/dist/v2/generateUISchema.js +68 -2
- package/dist/v2/generateUISchema.js.map +1 -1
- package/dist/v2/index.d.ts +4 -1
- package/dist/v2/index.d.ts.map +1 -1
- package/dist/v2/index.js +5 -0
- package/dist/v2/index.js.map +1 -1
- package/dist/v2/mockData.d.ts.map +1 -1
- package/dist/v2/mockData.js +15 -6
- package/dist/v2/mockData.js.map +1 -1
- package/dist/v2/normalizeJsonSchema.d.ts +11 -0
- package/dist/v2/normalizeJsonSchema.d.ts.map +1 -0
- package/dist/v2/normalizeJsonSchema.js +65 -0
- package/dist/v2/normalizeJsonSchema.js.map +1 -0
- package/dist/v2/utils.d.ts +14 -4
- package/dist/v2/utils.d.ts.map +1 -1
- package/dist/v2/utils.js +172 -68
- package/dist/v2/utils.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -435,6 +435,12 @@ const V2App = () => {
|
|
|
435
435
|
);
|
|
436
436
|
};
|
|
437
437
|
```
|
|
438
|
+
|
|
439
|
+
## Contributors
|
|
440
|
+
<a href="https://github.com/PADAS/react-native-jsonforms-formatter/graphs/contributors">
|
|
441
|
+
<img src="https://contributors-img.web.app/image?repo=PADAS/react-native-jsonforms-formatter" />
|
|
442
|
+
</a>
|
|
443
|
+
|
|
438
444
|
## Licensing
|
|
439
445
|
|
|
440
446
|
A copy of the license is available in the repository's [LICENSE](LICENSE) file.
|
package/dist/bundle.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";var e={d:(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{void 0!==m&&m.toStringTag&&Object.defineProperty(e,m.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{generateUISchema:()=>Xe,v1:()=>r,v2:()=>n,validateJSONSchema:()=>pt});var r={};e.r(r),e.d(r,{generateUISchema:()=>Xe,validateJSONSchema:()=>pt});var n={};e.r(n),e.d(n,{generateUISchema:()=>mt});var i=Object.prototype;const o=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||i)},a=(c=Object.keys,u=Object,function(e){return c(u(e))});var c,u,s=Object.prototype.hasOwnProperty;const p="object"==typeof global&&global&&global.Object===Object&&global;var l="object"==typeof self&&self&&self.Object===Object&&self;const f=p||l||Function("return this")();var m=f.Symbol;const d=m;var h=Object.prototype,y=h.hasOwnProperty,v=h.toString,b=d?d.toStringTag:void 0;var g=Object.prototype.toString;var j=d?d.toStringTag:void 0;const O=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":j&&j in Object(e)?function(e){var t=y.call(e,b),r=e[b];try{e[b]=void 0;var n=!0}catch(e){}var i=v.call(e);return n&&(t?e[b]=r:delete e[b]),i}(e):function(e){return g.call(e)}(e)},k=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},w=function(e){if(!k(e))return!1;var t=O(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},A=f["__core-js_shared__"];var E,x=(E=/[^.]+$/.exec(A&&A.keys&&A.keys.IE_PROTO||""))?"Symbol(src)_1."+E:"";var S=Function.prototype.toString;const T=function(e){if(null!=e){try{return S.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var C=/^\[object .+?Constructor\]$/,I=Function.prototype,M=Object.prototype,_=I.toString,N=M.hasOwnProperty,F=RegExp("^"+_.call(N).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const D=function(e){return!(!k(e)||function(e){return!!x&&x in e}(e))&&(w(e)?F:C).test(T(e))},q=function(e,t){var r=function(e,t){return null==e?void 0:e[t]}(e,t);return D(r)?r:void 0},P=q(f,"DataView"),L=q(f,"Map"),H=q(f,"Promise"),R=q(f,"Set"),U=q(f,"WeakMap");var $="[object Map]",B="[object Promise]",V="[object Set]",z="[object WeakMap]",J="[object DataView]",W=T(P),G=T(L),X=T(H),K=T(R),Q=T(U),Y=O;(P&&Y(new P(new ArrayBuffer(1)))!=J||L&&Y(new L)!=$||H&&Y(H.resolve())!=B||R&&Y(new R)!=V||U&&Y(new U)!=z)&&(Y=function(e){var t=O(e),r="[object Object]"==t?e.constructor:void 0,n=r?T(r):"";if(n)switch(n){case W:return J;case G:return $;case X:return B;case K:return V;case Q:return z}return t});const Z=Y,ee=function(e){return null!=e&&"object"==typeof e},te=function(e){return ee(e)&&"[object Arguments]"==O(e)};var re=Object.prototype,ne=re.hasOwnProperty,ie=re.propertyIsEnumerable;const oe=te(function(){return arguments}())?te:function(e){return ee(e)&&ne.call(e,"callee")&&!ie.call(e,"callee")},ae=Array.isArray,ce=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991};var ue="object"==typeof exports&&exports&&!exports.nodeType&&exports,se=ue&&"object"==typeof module&&module&&!module.nodeType&&module,pe=se&&se.exports===ue?f.Buffer:void 0;const le=(pe?pe.isBuffer:void 0)||function(){return!1};var fe={};fe["[object Float32Array]"]=fe["[object Float64Array]"]=fe["[object Int8Array]"]=fe["[object Int16Array]"]=fe["[object Int32Array]"]=fe["[object Uint8Array]"]=fe["[object Uint8ClampedArray]"]=fe["[object Uint16Array]"]=fe["[object Uint32Array]"]=!0,fe["[object Arguments]"]=fe["[object Array]"]=fe["[object ArrayBuffer]"]=fe["[object Boolean]"]=fe["[object DataView]"]=fe["[object Date]"]=fe["[object Error]"]=fe["[object Function]"]=fe["[object Map]"]=fe["[object Number]"]=fe["[object Object]"]=fe["[object RegExp]"]=fe["[object Set]"]=fe["[object String]"]=fe["[object WeakMap]"]=!1;var me="object"==typeof exports&&exports&&!exports.nodeType&&exports,de=me&&"object"==typeof module&&module&&!module.nodeType&&module,he=de&&de.exports===me&&p.process,ye=function(){try{return de&&de.require&&de.require("util").types||he&&he.binding&&he.binding("util")}catch(e){}}(),ve=ye&&ye.isTypedArray;const be=ve?function(e){return function(t){return e(t)}}(ve):function(e){return ee(e)&&ce(e.length)&&!!fe[O(e)]};var ge=Object.prototype.hasOwnProperty;const je=function(e){if(null==e)return!0;if(function(e){return null!=e&&ce(e.length)&&!w(e)}(e)&&(ae(e)||"string"==typeof e||"function"==typeof e.splice||le(e)||be(e)||oe(e)))return!e.length;var t=Z(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(o(e))return!function(e){if(!o(e))return a(e);var t=[];for(var r in Object(e))s.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e).length;for(var r in e)if(ge.call(e,r))return!1;return!0};var Oe,ke,we,Ae=function(e,t,r){if(r||2===arguments.length)for(var n,i=0,o=t.length;i<o;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))},Ee="fieldset",xe="checkboxes",Se="string";!function(e){e.DateTime="date-time",e.Date="date"}(Oe||(Oe={})),function(e){e.DateTime="date-time",e.MultiSelect="multiselect",e.RepeatableField="repeatable-field",e.FormLabel="form-label"}(ke||(ke={})),function(e){e.Header="header"}(we||(we={}));var Te,Ce=function(e){var t=e.toLowerCase().replace(/[\s\\/\\%]/gi,"_");return"fieldset__title_".concat(t)},Ie=function(e){return new Set(e).size!==e.length},Me=function(e){return qe(e)&&e.type===xe},_e=function(e){return null==e||0===e.trim().length},Ne=function(e){return qe(e)&&e.type===Ee&&!je(e.title)},Fe=function(e){return qe(e)&&e.type===Ee&&e.items.length>0},De=function(e){var t,r;return e.type===Se&&(null===(t=e.enum)||void 0===t?void 0:t.length)>0&&(null===(r=e.inactive_enum)||void 0===r?void 0:r.length)>0},qe=function(e){return e instanceof Object},Pe=function(e){return!je(e.key)},Le=function(e){return 0!==e.length&&void 0!==e.find((function(e){return qe(e)&&e&&(e.type||"")===Ee}))},He=function(e){return typeof e===Se},Re=function(e){if("number"==typeof e)return e;if("string"!=typeof e)return e;var t=e.trim();if(""===t)return e;if(/^-?\d+,\d+$/.test(t)){var r=t.replace(",","."),n=parseFloat(r);if(!isNaN(n))return r}return e},Ue=function(e,t,r){void 0===r&&(r=[]),"object"==typeof e&&null!==e&&(t(e,r),Array.isArray(e)?e.forEach((function(e,n){return Ue(e,t,Ae(Ae([],r,!0),[n.toString()],!1))})):Object.entries(e).forEach((function(e){var n=e[0],i=e[1];return Ue(i,t,Ae(Ae([],r,!0),[n],!1))})))},$e=function(e){return e.includes(xe)},Be=function(e){return e.includes("inactive_enum")},Ve=function(e){return e.includes("inactive_titleMap")},ze=function(e){return e.includes("enum")},Je=function(){return Je=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},Je.apply(this,arguments)};!function(e){e.Number="number",e.String="string",e.Array="array"}(Te||(Te={}));var We=function(e,t,r){return void 0===r&&(r={}),Je({type:"Control",scope:"#/properties/".concat(e),label:t},r&&{options:r})},Ge=function(e,t,r){void 0===r&&(r=void 0);try{var n=r||t.definition.find((function(t){return t.key===e}));if("date-time-picker json-schema"===n.fieldHtmlClass||n&&"datetime"===(n.type||""))return"date"===t.schema.properties[e].format?Oe.Date:Oe.DateTime;if("date-picker json-schema"===n.fieldHtmlClass||"date"===t.schema.properties[e].format)return Oe.Date}catch(e){return}},Xe=function(e){var t=[];return Le(e.definition)?t.push.apply(t,Ke(e)):Object.keys(e.schema.properties).forEach((function(r){var n=Ye(r,e);je(n)||t.push(n)})),{type:"Category",elements:t}},Ke=function(e){var t=[];return e.definition.forEach((function(r){if("string"==typeof r)t.push(We(r,e.schema.properties[r].title||""));else if(r instanceof Object)switch(!0){case function(e){return qe(e)&&e.type===Ee&&0===e.items.length&&!je(e.title)}(r):t.push(We(Ce(r.title),r.title,Qe(ke.FormLabel)));break;case Fe(r):r.title&&t.push(We(Ce(r.title),r.title,Qe(ke.FormLabel))),r.items.forEach((function(r){if(r instanceof Object){var n=Ye(r.key||"",e,r);n&&t.push(n)}else if("string"==typeof r){var i=Ye(r,e);i&&t.push(i)}}));break;case Pe(r):var n=Ye(r.key,e);n&&t.push(n)}})),t},Qe=function(e,t){if(void 0===e&&(e=""),void 0===t&&(t=""),je(e))return{};var r={format:e};return je(t)||(r.display=t),r},Ye=function(e,t,r){void 0===r&&(r=void 0);var n={};switch(t.schema.properties[e].type){case Te.Number:return We(e,t.schema.properties[e].title||"");case Te.String:var i=Ge(e,t,r);return _e(i)?t.schema.properties[e].display&&t.schema.properties[e].display===we.Header&&(n=Qe(ke.FormLabel)):n=Qe(ke.DateTime,i),We(e,t.schema.properties[e].title||"",n);case Te.Array:return t.schema.properties[e].items.enum&&t.schema.properties[e].items.enumNames?n=Qe(ke.MultiSelect):t.schema.properties[e].items&&(n=Qe(ke.RepeatableField)),We(e,t.schema.properties[e].title||"",n);case void 0:var o=function(e,t){try{var r=t.definition.find((function(t){return t.key===e}));return"json-schema-checkbox-wrapper"===r.fieldHtmlClass||"checkboxes"===r.type?r:void 0}catch(e){return}}(e,t);return o?(n=Qe(ke.MultiSelect),We(e,o.title||"",n)):(i=Ge(e,t,r),_e(i)?void 0:(n=Qe(ke.DateTime,i),We(e,t.schema.properties[e].title||"",n)))}},Ze=function(){return Ze=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},Ze.apply(this,arguments)},et=function(e,t,r){if(r||2===arguments.length)for(var n,i=0,o=t.length;i<o;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))},tt=/[^\w\n\s_"](?=[^:\n\s{}[]]*:[\t\n\s]*(\{|\[)+)/g,rt=/"minimum"(?:[^\\"]|\\\\|\\")*"\d+\.*\d*"/g,nt=/"maximum"(?:[^\\"]|\\\\|\\")*"\d+\.*\d*"/g,it=/"(?=[^"]*(?:"[^"]*)?$)/g,ot=function(e){return{type:"string",readOnly:!0,isHidden:!1,display:we.Header,title:e}},at=function(e){return(null==e?void 0:e.isHidden)||!1},ct=function(e){return e.enum.filter((function(t){return!e.inactive_enum.includes(t)}))},ut=function(e){return e.titleMap.filter((function(t){return!e.inactive_titleMap.includes(t.value)}))},st=function(e,t,r,n){var i,o,a,c,u=e.hasCheckboxes,s=e.hasDisabledChoices;if(He(t)&&r.schema.properties[t])r.schema.properties[t].isHidden=at(r.schema.properties[t]);else{if((qe(t)||Pe(t))&&t.key&&r.schema.properties[t.key]&&(r.schema.properties[t.key].isHidden=at(r.schema.properties[t.key])),s&&function(e){var t,r;return qe(e)&&e.type===xe&&(null===(t=e.inactive_titleMap)||void 0===t?void 0:t.length)>0&&(null===(r=e.titleMap)||void 0===r?void 0:r.length)>0}(t))if(n){var p=r.definition.indexOf(n),l=r.definition[p].items.indexOf(t);r.definition[p].items[l].titleMap=ut(t)}else r.definition[r.definition.indexOf(t)].titleMap=ut(t);u&&Me(t)&&(r.schema.properties[t.key]=(i=t,o=r.schema.properties[t.key].title||"",a=r.schema.properties[t.key].required||!1,c=r.schema.properties[t.key].default||!1,Ze(Ze(Ze({type:"array",uniqueItems:!0,isHidden:!1},a&&{required:a}),{title:o||i.title,items:{enum:i.titleMap.map((function(e){return e.value})),enumNames:i.titleMap.map((function(e){return e.name}))}}),c&&{default:c})))}},pt=function(e){var t;e=function(e){if(null!==e.match(tt))throw Error("Special characters not supported in JSON Schema");return(e=(e=(e=(e=(e=e.replace(/([“”])/g,'"')).replace(new RegExp('\\"enum\\"\\n*\\s*\\:\\n*\\s*\\[\\n*\\s*\\]',"g"),'"enum": ["0"]')).replace(new RegExp('\\"enumNames\\"\\n*\\s*\\:\\n*\\s*\\{\\n*\\s*\\}',"g"),'"enumNames": {"0":"No Options"}')).replace(new RegExp('\\"titleMap\\"\\n*\\s*\\:\\n*\\s*\\[\\n*\\s*\\]',"g"),'"titleMap": [{"value":"no_option", "name":"No Option"}]')).replace(rt,(function(e){return e.replace(it,"")}))).replace(nt,(function(e){return e.replace(it,"")}))}(e);var r=JSON.parse(e);delete r.schema.$schema,delete r.schema.id,function(e){if(e.schema.definition){var t=e.schema.definition;delete e.schema.definition,e.definition=t}}(r);var n=function(e){return{hasCheckboxes:$e(e),hasInactiveChoices:Be(e),hasDisabledChoices:Ve(e),hasEnums:ze(e)}}(e);if(function(e){Ue(e,(function(e){"object"===e.type&&e.properties&&Object.entries(e.properties).forEach((function(e){var t=e[1];"number"===t.type&&(void 0!==t.default&&(t.default=Re(t.default)),void 0!==t.minimum&&(t.minimum=Re(t.minimum)),void 0!==t.maximum&&(t.maximum=Re(t.maximum)))}))}))}(r.schema),function(e,t){var r=e.hasInactiveChoices,n=e.hasEnums;if(r)for(var i=0,o=Object.keys(t.schema.properties);i<o.length;i++){var a=o[i],c=t.schema.properties[a];De(c)&&(t.schema.properties[a].enum=ct(c),je(t.schema.properties[a].enum)&&(t.schema.properties[a].enum=["0"],t.schema.properties[a].enumNames={0:"No Options"}))}if(n)for(var u=0,s=Object.keys(t.schema.properties);u<s.length;u++)if(a=s[u],!je(t.schema.properties[a].enum)&&Ie(t.schema.properties[a].enum))throw new Error("Duplicated enum items")}(n,r),function(e,t){var r;if(Le(t.definition))!function(e,t){for(var r=0,n=t.definition;r<n.length;r++){var i=n[r];switch(!0){case He(i):break;case Ne(i):var o=Ce(i.title);t.schema.properties[o]=ot(i.title);break;case Fe(i):for(var a=0,c=i.items;a<c.length;a++){var u=c[a];st(e,u,t,i)}break;case Me(i):st(e,i,t)}}}(e,t);else if((null===(r=t.definition)||void 0===r?void 0:r.length)>0)for(var n=0,i=t.definition;n<i.length;n++){var o=i[n];st(e,o,t)}}(n,r),e.includes("helpvalue")&&function(e){for(var t={},r=0,n=0,i=e.definition;n<i.length;n++){var o=i[n];if(He(o))t[o]=e.schema.properties[o],delete e.schema.properties[o];else if(qe(o))if(o.helpvalue){var a="help_value_".concat(r);r+=1,t[a]=ot((o.helpvalue||"").replace(/(<.+?>)/g,""))}else o.key&&(t[o.key]=e.schema.properties[o.key],delete e.schema.properties[o.key])}e.schema.properties=Object.assign(t,e.schema.properties)}(r),e.includes("required")){if((null===(t=r.schema.required)||void 0===t?void 0:t.length)>0&&Ie(r.schema.required))throw new Error("Duplicated required properties");r.schema=function(e){var t=Array.isArray(e.required)?et([],e.required,!0):null;return Ue(e,(function(e,r){if("object"===e.type&&e.properties){var n=[];if(Object.entries(e.properties).forEach((function(e){var t=e[0],r=e[1];(function(e){return"true"===e.required||e.required>0})(r)&&(n.push(t),delete r.required)})),je(n))r.length>0&&e.required&&delete e.required;else if(0===r.length&&t){var i=et(et([],t,!0),n,!0);e.required=Array.from(new Set(i))}else e.required=n}})),e}(r.schema)}return r},lt=function(e,t){return{type:"Label",text:t.label,options:{size:t.size}}},ft=function(e,t,r){if(r||2===arguments.length)for(var n,i=0,o=t.length;i<o;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))},mt=function(e){var t,r,n,i=function(e){var t=[];return Object.entries(e.json.properties).forEach((function(r){var n=r[0],i=r[1],o=e.ui.fields[n];(function(e){return!e.deprecated})(i)&&o&&t.push({name:n,property:i,uiField:o})})),t}(e),o=(t=i,r=e.ui.sections,n={},t.forEach((function(e){var t=e.uiField.parent;r[t]&&(n[t]||(n[t]=[]),n[t].push(e))})),n),a=[];return e.ui.order.forEach((function(t){var r=e.ui.sections[t],n=o[t]||[],i=n.length>0,c=ft(ft([],r.leftColumn,!0),r.rightColumn,!0).some((function(t){return"header"===t.type&&e.ui.headers[t.name]}));if((null==r?void 0:r.isActive)&&(i||c)){var u=function(e,t,r,n){var i={type:"VerticalLayout",label:t.label,elements:[]},o=[];return t.leftColumn.forEach((function(e){if("field"===e.type){var t=r.find((function(t){return t.scope==="#/properties/".concat(e.name)}));t&&o.push(t)}else if("header"===e.type){var i=n[e.name];if(i){var a=lt(e.name,i);o.push(a)}}})),t.rightColumn.forEach((function(e){if("field"===e.type){var t=r.find((function(t){return t.scope==="#/properties/".concat(e.name)}));t&&o.push(t)}else if("header"===e.type){var i=n[e.name];if(i){var a=lt(e.name,i);o.push(a)}}})),i.elements=o,i}(0,r,n.map((function(e){return function(e,t,r){var n,i={type:"Control",scope:"#/properties/".concat(e),label:t.title,options:{}};switch(r.type){case"TEXT":"LONG_TEXT"===r.inputType&&(i.options.multi=!0),r.placeholder&&(i.options.placeholder=r.placeholder);break;case"NUMERIC":i.options.format="number",r.placeholder&&(i.options.placeholder=r.placeholder);break;case"DATE_TIME":t.format&&(i.options.format=t.format,i.options.display=t.format);break;case"CHOICE_LIST":"DROPDOWN"===r.inputType?(i.options.format="dropdown",r.placeholder&&(i.options.placeholder=r.placeholder)):"LIST"===r.inputType&&(i.options.format="radio"),"array"===t.type&&(i.options.multi=!0);break;case"LOCATION":i.options.format="location",i.options.display="map";break;case"COLLECTION":i.options.format="array",i.options.addButtonText=r.buttonText||"Add Item",r.itemIdentifier&&(i.options.itemIdentifier=r.itemIdentifier),void 0!==t.maxItems&&(i.options.maxItems=t.maxItems),void 0!==t.minItems&&(i.options.minItems=t.minItems),"array"===t.type&&(null===(n=t.items)||void 0===n?void 0:n.properties)&&(i.options.detail=function(e,t){var r;if("array"!==e.type||!(null===(r=e.items)||void 0===r?void 0:r.properties))throw new Error("Collection property must be an array with item properties");var n=e.items.properties,i=[],o=function(e,t){var r={type:"Control",scope:"#/properties/".concat(e),label:t.title||e,options:{}};switch(t.type){case"string":"uri"===t.format&&(r.options.format="file",r.options.accept="image/*");break;case"number":r.options.format="number"}return t.description&&(r.options.description=t.description),r};return t&&(t.leftColumn||t.rightColumn)?(t.leftColumn&&t.leftColumn.forEach((function(e){n[e]&&i.push(o(e,n[e]))})),t.rightColumn&&t.rightColumn.forEach((function(e){n[e]&&i.push(o(e,n[e]))}))):Object.entries(n).forEach((function(e){var t=e[0],r=e[1];i.push(o(t,r))})),{type:"VerticalLayout",elements:i}}(t,r));break;case"ATTACHMENT":i.options.format="file",r.allowableFileTypes&&(i.options.accept=r.allowableFileTypes.join(","))}return t.description&&(i.options.description=t.description),i}(e.name,e.property,e.uiField)})),e.ui.headers);a.push(u)}})),{type:"VerticalLayout",elements:a}};module.exports=t})();
|
|
1
|
+
(()=>{"use strict";var e={d:(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{void 0!==d&&d.toStringTag&&Object.defineProperty(e,d.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{detectSchemaVersion:()=>Pt,generateUISchema:()=>ze,processSchema:()=>Lt,v1:()=>r,v2:()=>n,validateJSONSchema:()=>lt});var r={};e.r(r),e.d(r,{generateUISchema:()=>ze,validateJSONSchema:()=>lt});var n={};e.r(n),e.d(n,{buildConditionSchema:()=>bt,buildContainsSchema:()=>pt,buildIsContainedBySchema:()=>mt,buildIsEmptySchema:()=>ft,buildIsExactlySchema:()=>dt,buildIsNotContainedBySchema:()=>yt,buildSchemaBasedCondition:()=>Ot,createSectionRule:()=>gt,extractConditionalProperties:()=>St,extractConditionalRequired:()=>At,generateUISchema:()=>wt,normalizeJsonSchema:()=>qt,validateConditions:()=>jt});var i=Object.prototype;const o=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||i)},a=(c=Object.keys,u=Object,function(e){return c(u(e))});var c,u,s=Object.prototype.hasOwnProperty;const l="object"==typeof global&&global&&global.Object===Object&&global;var p="object"==typeof self&&self&&self.Object===Object&&self;const f=l||p||Function("return this")();var d=f.Symbol;const m=d;var y=Object.prototype,h=y.hasOwnProperty,v=y.toString,b=m?m.toStringTag:void 0;var O=Object.prototype.toString;var g=m?m.toStringTag:void 0;const j=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":g&&g in Object(e)?function(e){var t=h.call(e,b),r=e[b];try{e[b]=void 0;var n=!0}catch(e){}var i=v.call(e);return n&&(t?e[b]=r:delete e[b]),i}(e):function(e){return O.call(e)}(e)},E=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},I=function(e){if(!E(e))return!1;var t=j(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t},T=f["__core-js_shared__"];var S,A=(S=/[^.]+$/.exec(T&&T.keys&&T.keys.IE_PROTO||""))?"Symbol(src)_1."+S:"";var N=Function.prototype.toString;const _=function(e){if(null!=e){try{return N.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var w=/^\[object .+?Constructor\]$/,C=Function.prototype,k=Object.prototype,x=C.toString,q=k.hasOwnProperty,P=RegExp("^"+x.call(q).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const L=function(e){return!(!E(e)||function(e){return!!A&&A in e}(e))&&(I(e)?P:w).test(_(e))},M=function(e,t){var r=function(e,t){return null==e?void 0:e[t]}(e,t);return L(r)?r:void 0},D=M(f,"DataView"),U=M(f,"Map"),Y=M(f,"Promise"),F=M(f,"Set"),H=M(f,"WeakMap");var B="[object Map]",R="[object Promise]",X="[object Set]",V="[object WeakMap]",$="[object DataView]",J=_(D),W=_(U),z=_(Y),G=_(F),K=_(H),Q=j;(D&&Q(new D(new ArrayBuffer(1)))!=$||U&&Q(new U)!=B||Y&&Q(Y.resolve())!=R||F&&Q(new F)!=X||H&&Q(new H)!=V)&&(Q=function(e){var t=j(e),r="[object Object]"==t?e.constructor:void 0,n=r?_(r):"";if(n)switch(n){case J:return $;case W:return B;case z:return R;case G:return X;case K:return V}return t});const Z=Q,ee=function(e){return null!=e&&"object"==typeof e},te=function(e){return ee(e)&&"[object Arguments]"==j(e)};var re=Object.prototype,ne=re.hasOwnProperty,ie=re.propertyIsEnumerable;const oe=te(function(){return arguments}())?te:function(e){return ee(e)&&ne.call(e,"callee")&&!ie.call(e,"callee")},ae=Array.isArray,ce=function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=9007199254740991};var ue="object"==typeof exports&&exports&&!exports.nodeType&&exports,se=ue&&"object"==typeof module&&module&&!module.nodeType&&module,le=se&&se.exports===ue?f.Buffer:void 0;const pe=(le?le.isBuffer:void 0)||function(){return!1};var fe={};fe["[object Float32Array]"]=fe["[object Float64Array]"]=fe["[object Int8Array]"]=fe["[object Int16Array]"]=fe["[object Int32Array]"]=fe["[object Uint8Array]"]=fe["[object Uint8ClampedArray]"]=fe["[object Uint16Array]"]=fe["[object Uint32Array]"]=!0,fe["[object Arguments]"]=fe["[object Array]"]=fe["[object ArrayBuffer]"]=fe["[object Boolean]"]=fe["[object DataView]"]=fe["[object Date]"]=fe["[object Error]"]=fe["[object Function]"]=fe["[object Map]"]=fe["[object Number]"]=fe["[object Object]"]=fe["[object RegExp]"]=fe["[object Set]"]=fe["[object String]"]=fe["[object WeakMap]"]=!1;var de="object"==typeof exports&&exports&&!exports.nodeType&&exports,me=de&&"object"==typeof module&&module&&!module.nodeType&&module,ye=me&&me.exports===de&&l.process,he=function(){try{return me&&me.require&&me.require("util").types||ye&&ye.binding&&ye.binding("util")}catch(e){}}(),ve=he&&he.isTypedArray;const be=ve?function(e){return function(t){return e(t)}}(ve):function(e){return ee(e)&&ce(e.length)&&!!fe[j(e)]};var Oe=Object.prototype.hasOwnProperty;const ge=function(e){if(null==e)return!0;if(function(e){return null!=e&&ce(e.length)&&!I(e)}(e)&&(ae(e)||"string"==typeof e||"function"==typeof e.splice||pe(e)||be(e)||oe(e)))return!e.length;var t=Z(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(o(e))return!function(e){if(!o(e))return a(e);var t=[];for(var r in Object(e))s.call(e,r)&&"constructor"!=r&&t.push(r);return t}(e).length;for(var r in e)if(Oe.call(e,r))return!1;return!0};var je,Ee,Ie,Te=function(e,t,r){if(r||2===arguments.length)for(var n,i=0,o=t.length;i<o;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))},Se="fieldset",Ae="checkboxes",Ne="string";!function(e){e.DateTime="date-time",e.Date="date"}(je||(je={})),function(e){e.DateTime="date-time",e.MultiSelect="multiselect",e.RepeatableField="repeatable-field",e.FormLabel="form-label"}(Ee||(Ee={})),function(e){e.Header="header"}(Ie||(Ie={}));var _e,we=function(e){var t=e.toLowerCase().replace(/[\s\\/\\%]/gi,"_");return"fieldset__title_".concat(t)},Ce=function(e){return new Set(e).size!==e.length},ke=function(e){return Me(e)&&e.type===Ae},xe=function(e){return null==e||0===e.trim().length},qe=function(e){return Me(e)&&e.type===Se&&!ge(e.title)},Pe=function(e){return Me(e)&&e.type===Se&&e.items.length>0},Le=function(e){var t,r;return e.type===Ne&&(null===(t=e.enum)||void 0===t?void 0:t.length)>0&&(null===(r=e.inactive_enum)||void 0===r?void 0:r.length)>0},Me=function(e){return e instanceof Object},De=function(e){return!ge(e.key)},Ue=function(e){return 0!==e.length&&void 0!==e.find((function(e){return Me(e)&&e&&(e.type||"")===Se}))},Ye=function(e){return typeof e===Ne},Fe=function(e){if("number"==typeof e)return e;if("string"!=typeof e)return e;var t=e.trim();if(""===t)return e;if(/^-?\d+,\d+$/.test(t)){var r=t.replace(",","."),n=parseFloat(r);if(!isNaN(n))return r}return e},He=function(e,t,r){void 0===r&&(r=[]),"object"==typeof e&&null!==e&&(t(e,r),Array.isArray(e)?e.forEach((function(e,n){return He(e,t,Te(Te([],r,!0),[n.toString()],!1))})):Object.entries(e).forEach((function(e){var n=e[0],i=e[1];return He(i,t,Te(Te([],r,!0),[n],!1))})))},Be=function(e){return e.includes(Ae)},Re=function(e){return e.includes("inactive_enum")},Xe=function(e){return e.includes("inactive_titleMap")},Ve=function(e){return e.includes("enum")},$e=function(){return $e=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},$e.apply(this,arguments)};!function(e){e.Number="number",e.String="string",e.Array="array"}(_e||(_e={}));var Je=function(e,t,r){return void 0===r&&(r={}),$e({type:"Control",scope:"#/properties/".concat(e),label:t},r&&{options:r})},We=function(e,t,r){void 0===r&&(r=void 0);try{var n=r||t.definition.find((function(t){return t.key===e}));if("date-time-picker json-schema"===n.fieldHtmlClass||n&&"datetime"===(n.type||""))return"date"===t.schema.properties[e].format?je.Date:je.DateTime;if("date-picker json-schema"===n.fieldHtmlClass||"date"===t.schema.properties[e].format)return je.Date}catch(e){return}},ze=function(e){var t=[];return Ue(e.definition)?t.push.apply(t,Ge(e)):Object.keys(e.schema.properties).forEach((function(r){var n=Qe(r,e);ge(n)||t.push(n)})),{type:"Category",elements:t}},Ge=function(e){var t=[];return e.definition.forEach((function(r){if("string"==typeof r)t.push(Je(r,e.schema.properties[r].title||""));else if(r instanceof Object)switch(!0){case function(e){return Me(e)&&e.type===Se&&0===e.items.length&&!ge(e.title)}(r):t.push(Je(we(r.title),r.title,Ke(Ee.FormLabel)));break;case Pe(r):r.title&&t.push(Je(we(r.title),r.title,Ke(Ee.FormLabel))),r.items.forEach((function(r){if(r instanceof Object){var n=Qe(r.key||"",e,r);n&&t.push(n)}else if("string"==typeof r){var i=Qe(r,e);i&&t.push(i)}}));break;case De(r):var n=Qe(r.key,e);n&&t.push(n)}})),t},Ke=function(e,t){if(void 0===e&&(e=""),void 0===t&&(t=""),ge(e))return{};var r={format:e};return ge(t)||(r.display=t),r},Qe=function(e,t,r){void 0===r&&(r=void 0);var n={};switch(t.schema.properties[e].type){case _e.Number:return Je(e,t.schema.properties[e].title||"");case _e.String:var i=We(e,t,r);return xe(i)?t.schema.properties[e].display&&t.schema.properties[e].display===Ie.Header&&(n=Ke(Ee.FormLabel)):n=Ke(Ee.DateTime,i),Je(e,t.schema.properties[e].title||"",n);case _e.Array:return t.schema.properties[e].items.enum&&t.schema.properties[e].items.enumNames?n=Ke(Ee.MultiSelect):t.schema.properties[e].items&&(n=Ke(Ee.RepeatableField)),Je(e,t.schema.properties[e].title||"",n);case void 0:var o=function(e,t){try{var r=t.definition.find((function(t){return t.key===e}));return"json-schema-checkbox-wrapper"===r.fieldHtmlClass||"checkboxes"===r.type?r:void 0}catch(e){return}}(e,t);return o?(n=Ke(Ee.MultiSelect),Je(e,o.title||"",n)):(i=We(e,t,r),xe(i)?void 0:(n=Ke(Ee.DateTime,i),Je(e,t.schema.properties[e].title||"",n)))}},Ze=function(){return Ze=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},Ze.apply(this,arguments)},et=function(e,t,r){if(r||2===arguments.length)for(var n,i=0,o=t.length;i<o;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))},tt=/[^\w\n\s_"](?=[^:\n\s{}[]]*:[\t\n\s]*(\{|\[)+)/g,rt=/"minimum"(?:[^\\"]|\\\\|\\")*"\d+\.*\d*"/g,nt=/"maximum"(?:[^\\"]|\\\\|\\")*"\d+\.*\d*"/g,it=/"(?=[^"]*(?:"[^"]*)?$)/g,ot=function(e){return{type:"string",readOnly:!0,isHidden:!1,display:Ie.Header,title:e}},at=function(e){return(null==e?void 0:e.isHidden)||!1},ct=function(e){return e.enum.filter((function(t){return!e.inactive_enum.includes(t)}))},ut=function(e){return e.titleMap.filter((function(t){return!e.inactive_titleMap.includes(t.value)}))},st=function(e,t,r,n){var i,o,a,c,u=e.hasCheckboxes,s=e.hasDisabledChoices;if(Ye(t)&&r.schema.properties[t])r.schema.properties[t].isHidden=at(r.schema.properties[t]);else{if((Me(t)||De(t))&&t.key&&r.schema.properties[t.key]&&(r.schema.properties[t.key].isHidden=at(r.schema.properties[t.key])),s&&function(e){var t,r;return Me(e)&&e.type===Ae&&(null===(t=e.inactive_titleMap)||void 0===t?void 0:t.length)>0&&(null===(r=e.titleMap)||void 0===r?void 0:r.length)>0}(t))if(n){var l=r.definition.indexOf(n),p=r.definition[l].items.indexOf(t);r.definition[l].items[p].titleMap=ut(t)}else r.definition[r.definition.indexOf(t)].titleMap=ut(t);u&&ke(t)&&(r.schema.properties[t.key]=(i=t,o=r.schema.properties[t.key].title||"",a=r.schema.properties[t.key].required||!1,c=r.schema.properties[t.key].default||!1,Ze(Ze(Ze({type:"array",uniqueItems:!0,isHidden:!1},a&&{required:a}),{title:o||i.title,items:{enum:i.titleMap.map((function(e){return e.value})),enumNames:i.titleMap.map((function(e){return e.name}))}}),c&&{default:c})))}},lt=function(e){var t;e=function(e){if(null!==e.match(tt))throw Error("Special characters not supported in JSON Schema");return(e=(e=(e=(e=(e=e.replace(/([“”])/g,'"')).replace(new RegExp('\\"enum\\"\\n*\\s*\\:\\n*\\s*\\[\\n*\\s*\\]',"g"),'"enum": ["0"]')).replace(new RegExp('\\"enumNames\\"\\n*\\s*\\:\\n*\\s*\\{\\n*\\s*\\}',"g"),'"enumNames": {"0":"No Options"}')).replace(new RegExp('\\"titleMap\\"\\n*\\s*\\:\\n*\\s*\\[\\n*\\s*\\]',"g"),'"titleMap": [{"value":"no_option", "name":"No Option"}]')).replace(rt,(function(e){return e.replace(it,"")}))).replace(nt,(function(e){return e.replace(it,"")}))}(e);var r=JSON.parse(e);delete r.schema.$schema,delete r.schema.id,function(e){if(e.schema.definition){var t=e.schema.definition;delete e.schema.definition,e.definition=t}}(r);var n=function(e){return{hasCheckboxes:Be(e),hasInactiveChoices:Re(e),hasDisabledChoices:Xe(e),hasEnums:Ve(e)}}(e);if(function(e){He(e,(function(e){"object"===e.type&&e.properties&&Object.entries(e.properties).forEach((function(e){var t=e[1];"number"===t.type&&(void 0!==t.default&&(t.default=Fe(t.default)),void 0!==t.minimum&&(t.minimum=Fe(t.minimum)),void 0!==t.maximum&&(t.maximum=Fe(t.maximum)))}))}))}(r.schema),function(e,t){var r=e.hasInactiveChoices,n=e.hasEnums;if(r)for(var i=0,o=Object.keys(t.schema.properties);i<o.length;i++){var a=o[i],c=t.schema.properties[a];Le(c)&&(t.schema.properties[a].enum=ct(c),ge(t.schema.properties[a].enum)&&(t.schema.properties[a].enum=["0"],t.schema.properties[a].enumNames={0:"No Options"}))}if(n)for(var u=0,s=Object.keys(t.schema.properties);u<s.length;u++)if(a=s[u],!ge(t.schema.properties[a].enum)&&Ce(t.schema.properties[a].enum))throw new Error("Duplicated enum items")}(n,r),function(e,t){var r;if(Ue(t.definition))!function(e,t){for(var r=0,n=t.definition;r<n.length;r++){var i=n[r];switch(!0){case Ye(i):break;case qe(i):var o=we(i.title);t.schema.properties[o]=ot(i.title);break;case Pe(i):for(var a=0,c=i.items;a<c.length;a++){var u=c[a];st(e,u,t,i)}break;case ke(i):st(e,i,t)}}}(e,t);else if((null===(r=t.definition)||void 0===r?void 0:r.length)>0)for(var n=0,i=t.definition;n<i.length;n++){var o=i[n];st(e,o,t)}}(n,r),e.includes("helpvalue")&&function(e){for(var t={},r=0,n=0,i=e.definition;n<i.length;n++){var o=i[n];if(Ye(o))t[o]=e.schema.properties[o],delete e.schema.properties[o];else if(Me(o))if(o.helpvalue){var a="help_value_".concat(r);r+=1,t[a]=ot((o.helpvalue||"").replace(/(<.+?>)/g,""))}else o.key&&(t[o.key]=e.schema.properties[o.key],delete e.schema.properties[o.key])}e.schema.properties=Object.assign(t,e.schema.properties)}(r),e.includes("required")){if((null===(t=r.schema.required)||void 0===t?void 0:t.length)>0&&Ce(r.schema.required))throw new Error("Duplicated required properties");r.schema=function(e){var t=Array.isArray(e.required)?et([],e.required,!0):null;return He(e,(function(e,r){if("object"===e.type&&e.properties){var n=[];if(Object.entries(e.properties).forEach((function(e){var t=e[0],r=e[1];(function(e){return"true"===e.required||e.required>0})(r)&&(n.push(t),delete r.required)})),ge(n))r.length>0&&e.required&&delete e.required;else if(0===r.length&&t){var i=et(et([],t,!0),n,!0);e.required=Array.from(new Set(i))}else e.required=n}})),e}(r.schema)}return r},pt=function(e){var t=Array.isArray(e)?e:[e];if(1===t.length){var r=t[0];return{anyOf:[{allOf:[{contains:{const:r}}],type:"array"},{required:[r],type:"object"},{pattern:r,type:"string"}]}}return{anyOf:[{allOf:t.map((function(e){return{contains:{const:e}}})),type:"array"},{required:t,type:"object"},{const:null,type:"string"}]}},ft=function(e){var t,r,n,i;return{anyOf:[{not:{required:[e]}},{properties:(t={},t[e]={maxItems:0,type:"array"},t),required:[e]},{properties:(r={},r[e]={type:"null"},r),required:[e]},{properties:(n={},n[e]={maxProperties:0,type:"object"},n),required:[e]},{properties:(i={},i[e]={maxLength:0,type:"string"},i),required:[e]}]}},dt=function(e){var t=Array.isArray(e)?e:[e],r=1===t.length,n={allOf:t.map((function(e){return{contains:{const:e}}})),maxItems:t.length,type:"array"},i=null;if(r){var o=t[0].toLowerCase();"true"===o?i=!0:"false"===o&&(i=!1)}var a=null!==i?{const:i,type:"boolean"}:{const:null,type:"boolean"},c=null;if(r){var u=Number(t[0]);isNaN(u)||""===t[0]||(c=u)}var s=null!==c?{const:c,type:"number"}:{const:null,type:"number"},l={};return t.forEach((function(e){l[e]={}})),{anyOf:[n,a,s,{properties:l,required:t,type:"object",unevaluatedProperties:!1},r?{const:t[0],type:"string"}:{const:null,type:"string"}]}},mt=function(e){var t=Array.isArray(e)?e:[e];return{anyOf:[{items:{enum:t},minItems:1,type:"array"},{minProperties:1,propertyNames:{enum:t},type:"object"},{enum:t,type:"string"}]}},yt=function(e){var t=Array.isArray(e)?e:[e];return{anyOf:[{allOf:[{minItems:1,type:"array"},{not:{items:{enum:t},type:"array"}}]},{allOf:[{minProperties:1,type:"object"},{not:{propertyNames:{enum:t},type:"object"}}]},{not:{enum:t},type:"string"}]}},ht=["CONTAINS","DOES_NOT_HAVE_INPUT","HAS_INPUT","INPUT_IS_EXACTLY","IS_CONTAINED_BY","IS_EMPTY","IS_EXACTLY","IS_NOT_CONTAINED_BY","IS_NOT_EMPTY"],vt=function(e){switch(e.operator){case"CONTAINS":if(void 0===e.value||null===e.value)throw new Error("CONTAINS operator requires a value for condition '".concat(e.id,"'"));return pt(e.value);case"DOES_NOT_HAVE_INPUT":return{not:{allOf:[{not:{type:"null"}},{anyOf:[{type:"array",minItems:1},{type:"boolean"},{type:"number"},{type:"object",minProperties:1},{type:"string",minLength:1}]}]}};case"HAS_INPUT":case"IS_NOT_EMPTY":return{allOf:[{not:{type:"null"}},{anyOf:[{type:"array",minItems:1},{type:"boolean"},{type:"number"},{type:"object",minProperties:1},{type:"string",minLength:1}]}]};case"IS_EMPTY":return ft(e.field);case"INPUT_IS_EXACTLY":if(void 0===e.value)throw new Error("INPUT_IS_EXACTLY operator requires a value for condition '".concat(e.id,"'"));return function(e){if(null===e)return{type:"null"};if("boolean"==typeof e)return{const:e};if("number"==typeof e)return{enum:[e,String(e)]};var t=Number(e);return isNaN(t)||""===e?{const:e}:{enum:[t,e]}}(e.value);case"IS_EXACTLY":if(void 0===e.value||null===e.value)throw new Error("IS_EXACTLY operator requires a value for condition '".concat(e.id,"'"));return dt(e.value);case"IS_CONTAINED_BY":if(void 0===e.value||null===e.value)throw new Error("IS_CONTAINED_BY operator requires a value for condition '".concat(e.id,"'"));return mt(e.value);case"IS_NOT_CONTAINED_BY":if(void 0===e.value||null===e.value)throw new Error("IS_NOT_CONTAINED_BY operator requires a value for condition '".concat(e.id,"'"));return yt(e.value);default:throw new Error("Unknown operator '".concat(e.operator,"' in condition '").concat(e.id,"'"))}},bt=function(e){var t;if("IS_EMPTY"===e.operator)return ft(e.field);var r=vt(e);return{properties:(t={},t[e.field]=r,t),required:[e.field]}},Ot=function(e){if(0===e.length)throw new Error("At least one condition is required");if(1===e.length){var t=e[0];return"IS_EMPTY"===t.operator?{scope:"#",schema:ft(t.field)}:{scope:"#/properties/".concat(t.field),schema:vt(t)}}var r=e.map((function(e){return bt(e)}));return{scope:"#",schema:{allOf:r}}},gt=function(e){return{effect:"SHOW",condition:Ot(e)}},jt=function(e,t){for(var r=["CONTAINS","IS_EXACTLY","IS_CONTAINED_BY","IS_NOT_CONTAINED_BY"],n=0,i=e;n<i.length;n++){var o=i[n];if(!ht.includes(o.operator))throw new Error("Invalid operator '".concat(o.operator,"'"));if(!t.includes(o.field))throw new Error("Unknown field '".concat(o.field,"'"));if(r.includes(o.operator)&&(void 0===o.value||null===o.value))throw new Error("".concat(o.operator," operator requires a value"));if("INPUT_IS_EXACTLY"===o.operator&&void 0===o.value)throw new Error("INPUT_IS_EXACTLY operator requires a value")}},Et=function(e){return!e.deprecated},It=function(e,t,r,n,i,o){var a,c={type:"Control",scope:"#/properties/".concat(e),label:t.title,options:{}};switch(i&&(c.options.conditionallyRequired=!0),r.type){case"BOOLEAN":c.options.format="boolean";break;case"TEXT":"LONG_TEXT"===r.inputType&&(c.options.multi=!0),r.placeholder&&(c.options.placeholder=r.placeholder);break;case"NUMERIC":c.options.format="number",r.placeholder&&(c.options.placeholder=r.placeholder);break;case"DATE_TIME":c.options.format=t.format||"date-time",c.options.display=t.format||"date-time";break;case"CHOICE_LIST":"array"===t.type?(c.options.multi=!0,"DROPDOWN"===r.inputType?c.options.format="dropdown":"LIST"===r.inputType&&(c.options.format="checkbox")):"DROPDOWN"===r.inputType?c.options.format="dropdown":"LIST"===r.inputType&&(c.options.format="radio"),r.placeholder&&(c.options.placeholder=r.placeholder);break;case"LOCATION":c.options.format="location",c.options.display="map";break;case"COLLECTION":if(c.options.format="array",c.options.addButtonText=r.buttonText||"Add Item",r.itemIdentifier){var u="".concat(null!=o?o:e,".");c.options.itemIdentifier=r.itemIdentifier.startsWith(u)?r.itemIdentifier.slice(u.length):r.itemIdentifier}void 0!==t.maxItems&&(c.options.maxItems=t.maxItems),void 0!==t.minItems&&(c.options.minItems=t.minItems),"array"===t.type&&(null===(a=t.items)||void 0===a?void 0:a.properties)&&n&&(c.options.detail=Nt(t,r,n,null!=o?o:e));break;case"ATTACHMENT":c.options.format="file",r.allowableFileTypes&&(c.options.accept=r.allowableFileTypes.join(","))}return t.description&&(c.options.description=t.description),c},Tt=function(e,t){return{type:"Label",text:t.label,options:{size:t.size}}},St=function(e){var t={},r=e.json.allOf;return Array.isArray(r)?(r.forEach((function(r){var n;(null===(n=r.then)||void 0===n?void 0:n.properties)&&Object.entries(r.then.properties).forEach((function(r){var n=r[0],i=r[1];e.json.properties[n]||(t[n]=i)}))})),t):t},At=function(e){var t=new Set,r=e.json.allOf;return Array.isArray(r)?(r.forEach((function(e){var r;(null===(r=e.then)||void 0===r?void 0:r.required)&&Array.isArray(e.then.required)&&e.then.required.forEach((function(e){t.add(e)}))})),t):t},Nt=function(e,t,r,n){var i;if("array"!==e.type||!(null===(i=e.items)||void 0===i?void 0:i.properties))throw new Error("Collection property must be an array with item properties");var o=e.items.properties,a=[],c=function(e){var t="".concat(n,".");return e.startsWith(t)?e.slice(t.length):e},u=function(e,t){var i,o="".concat(n,".").concat(e),a=r.ui.fields[e],c=n.split(".").pop(),u=null==a?void 0:a.parent,s=null!==(i=r.ui.fields[o])&&void 0!==i?i:u===n||u===c&&!r.ui.sections[u]?a:void 0;if(s)return It(e,t,s,r,void 0,o);var l={type:"Control",scope:"#/properties/".concat(e),label:t.title||e,options:{}};switch(t.type){case"string":"uri"===t.format&&(l.options.format="file",l.options.accept="image/*");break;case"number":l.options.format="number"}return t.description&&(l.options.description=t.description),l};return t&&(t.leftColumn||t.rightColumn)?(t.leftColumn&&t.leftColumn.forEach((function(e){var t=c(e);o[t]&&a.push(u(t,o[t]))})),t.rightColumn&&t.rightColumn.forEach((function(e){var t=c(e);o[t]&&a.push(u(t,o[t]))}))):Object.entries(o).forEach((function(e){var t=e[0],r=e[1];a.push(u(t,r))})),{type:"VerticalLayout",elements:a}},_t=function(e,t,r){if(r||2===arguments.length)for(var n,i=0,o=t.length;i<o;i++)!n&&i in t||(n||(n=Array.prototype.slice.call(t,0,i)),n[i]=t[i]);return e.concat(n||Array.prototype.slice.call(t))},wt=function(e){!function(e){var t=[],r=["BOOLEAN","TEXT","NUMERIC","DATE_TIME","CHOICE_LIST","LOCATION","COLLECTION","ATTACHMENT"];Object.entries(e.json.properties).forEach((function(n){var i,o=n[0],a=n[1],c=e.ui.fields[o];if(c||!a.deprecated)if(c)if(r.includes(c.type)){if("CHOICE_LIST"===c.type){var u=!1,s=function(e){return e.oneOf&&Array.isArray(e.oneOf)||e.enum&&Array.isArray(e.enum)};"array"===a.type&&(null===(i=a.items)||void 0===i?void 0:i.anyOf)?u=a.items.anyOf.some(s):a.anyOf&&(u=a.anyOf.some(s)),u||t.push("".concat(o,": CHOICE_LIST field requires embedded oneOf arrays - $ref not supported"))}}else t.push("".concat(o,": unsupported field type '").concat(c.type,"'"));else t.push("".concat(o,": missing UI field definition"))}));var n=St(e),i=_t(_t([],Object.keys(e.json.properties),!0),Object.keys(n),!0);if(Object.entries(e.ui.sections).forEach((function(e){var r=e[0],n=e[1];if(n.conditions&&n.conditions.length>0)try{jt(n.conditions,i)}catch(e){t.push("Section '".concat(r,"': ").concat(e.message))}})),t.length>0)throw new Error("Invalid V2 schema structure: ".concat(t.join(", ")))}(e);var t,r,n,i=function(e){var t=[];Object.entries(e.json.properties).forEach((function(r){var n=r[0],i=r[1],o=e.ui.fields[n];Et(i)&&o&&t.push({name:n,property:i,uiField:o})}));var r=St(e);return Object.entries(r).forEach((function(r){var n=r[0],i=r[1],o=e.ui.fields[n];Et(i)&&o&&t.push({name:n,property:i,uiField:o})})),t}(e),o=(t=i,r=e.ui.sections,n={},t.forEach((function(e){var t=e.uiField.parent;r[t]&&(n[t]||(n[t]=[]),n[t].push(e))})),n),a=At(e),c=[];return e.ui.order.forEach((function(t){var r=e.ui.sections[t],n=o[t]||[],i=n.length>0,u=_t(_t([],r.leftColumn,!0),r.rightColumn,!0).some((function(t){return"header"===t.type&&e.ui.headers[t.name]}));if((null==r?void 0:r.isActive)&&(i||u)){var s=function(e,t,r,n){var i={type:"VerticalLayout",label:t.label,elements:[]},o=[];return t.leftColumn.forEach((function(e){if("field"===e.type){var t=r.find((function(t){return t.scope==="#/properties/".concat(e.name)}));t&&o.push(t)}else if("header"===e.type){var i=n[e.name];if(i){var a=Tt(e.name,i);o.push(a)}}})),t.rightColumn.forEach((function(e){if("field"===e.type){var t=r.find((function(t){return t.scope==="#/properties/".concat(e.name)}));t&&o.push(t)}else if("header"===e.type){var i=n[e.name];if(i){var a=Tt(e.name,i);o.push(a)}}})),i.elements=o,t.conditions&&t.conditions.length>0&&(i.rule=gt(t.conditions)),i}(0,r,n.map((function(t){var r=t.name,n=t.property,i=t.uiField;return It(r,n,i,e,a.has(r))})),e.ui.headers);c.push(s)}})),{type:"VerticalLayout",elements:c}},Ct=function(){return Ct=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},Ct.apply(this,arguments)},kt=function(e){return e.enum&&Array.isArray(e.enum)&&e["x-enumExtra"]?{oneOf:e.enum.map((function(t){var r,n;return{const:t,title:null!==(n=null===(r=e["x-enumExtra"][t])||void 0===r?void 0:r.display)&&void 0!==n?n:String(t)}}))}:e},xt=function(e){var t=Ct({},e);if(t.anyOf&&(t.anyOf=t.anyOf.map(kt)),t.items&&(t.items=xt(t.items)),t.properties){for(var r={},n=0,i=Object.entries(t.properties);n<i.length;n++){var o=i[n],a=o[0],c=o[1];r[a]=xt(c)}t.properties=r}return t},qt=function(e){for(var t={},r=0,n=Object.entries(e.json.properties);r<n.length;r++){var i=n[r],o=i[0],a=i[1];t[o]=xt(a)}return Ct(Ct({},e.json),{properties:t})},Pt=function(e){try{var t=JSON.parse(e),r=t.data||t;return r.json&&r.ui?{version:"v2",data:r}:(r.schema&&r.definition||r.schema&&r.ui,{version:"v1",data:r})}catch(e){throw new Error("Invalid JSON schema: ".concat(e instanceof Error?e.message:"Unknown error"))}},Lt=function(e){var t=Pt(e),r=t.version,n=t.data;return{version:r,processedData:JSON.stringify(n)}};module.exports=t})();
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility functions for schema version detection and handling
|
|
3
|
+
*/
|
|
4
|
+
export type SchemaVersion = 'v1' | 'v2';
|
|
5
|
+
export interface ParsedSchema {
|
|
6
|
+
version: SchemaVersion;
|
|
7
|
+
data: any;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Detects whether a schema string contains v1 or v2 format
|
|
11
|
+
*
|
|
12
|
+
* v1 schema structure: { schema: {...}, definition: [...] } or { data: { schema: {...}, definition: [...] } }
|
|
13
|
+
* v2 schema structure: { json: {...}, ui: {...} } or { data: { json: {...}, ui: {...} } }
|
|
14
|
+
*/
|
|
15
|
+
export declare const detectSchemaVersion: (schemaString: string) => ParsedSchema;
|
|
16
|
+
/**
|
|
17
|
+
* Processes a schema string and returns the appropriate data structure for the detected version
|
|
18
|
+
*/
|
|
19
|
+
export declare const processSchema: (schemaString: string) => {
|
|
20
|
+
version: SchemaVersion;
|
|
21
|
+
processedData: string;
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=schemaUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemaUtils.d.ts","sourceRoot":"","sources":["../../src/common/schemaUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC;AAExC,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,IAAI,EAAE,GAAG,CAAC;CACX;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,iBAAkB,MAAM,KAAG,YAwC1D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,iBAAkB,MAAM;aAAc,aAAa;mBAAiB,MAAM;CAOnG,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility functions for schema version detection and handling
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Detects whether a schema string contains v1 or v2 format
|
|
6
|
+
*
|
|
7
|
+
* v1 schema structure: { schema: {...}, definition: [...] } or { data: { schema: {...}, definition: [...] } }
|
|
8
|
+
* v2 schema structure: { json: {...}, ui: {...} } or { data: { json: {...}, ui: {...} } }
|
|
9
|
+
*/
|
|
10
|
+
export var detectSchemaVersion = function (schemaString) {
|
|
11
|
+
try {
|
|
12
|
+
var parsed = JSON.parse(schemaString);
|
|
13
|
+
// Handle wrapped responses (API responses with data wrapper)
|
|
14
|
+
var actualSchema = parsed.data || parsed;
|
|
15
|
+
// Check for v2 schema structure
|
|
16
|
+
if (actualSchema.json && actualSchema.ui) {
|
|
17
|
+
return {
|
|
18
|
+
version: 'v2',
|
|
19
|
+
data: actualSchema
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
// Check for v1 schema structure
|
|
23
|
+
if (actualSchema.schema && actualSchema.definition) {
|
|
24
|
+
return {
|
|
25
|
+
version: 'v1',
|
|
26
|
+
data: actualSchema
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
// If we have a schema property but no ui property, assume v1
|
|
30
|
+
if (actualSchema.schema && !actualSchema.ui) {
|
|
31
|
+
return {
|
|
32
|
+
version: 'v1',
|
|
33
|
+
data: actualSchema
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
// Default to v1 for backward compatibility
|
|
37
|
+
return {
|
|
38
|
+
version: 'v1',
|
|
39
|
+
data: actualSchema
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
throw new Error("Invalid JSON schema: ".concat(error instanceof Error ? error.message : 'Unknown error'));
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Processes a schema string and returns the appropriate data structure for the detected version
|
|
48
|
+
*/
|
|
49
|
+
export var processSchema = function (schemaString) {
|
|
50
|
+
var _a = detectSchemaVersion(schemaString), version = _a.version, data = _a.data;
|
|
51
|
+
return {
|
|
52
|
+
version: version,
|
|
53
|
+
processedData: JSON.stringify(data)
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=schemaUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schemaUtils.js","sourceRoot":"","sources":["../../src/common/schemaUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH;;;;;GAKG;AACH,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAC,YAAoB;IACtD,IAAI,CAAC;QACH,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAExC,6DAA6D;QAC7D,IAAM,YAAY,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC;QAE3C,gCAAgC;QAChC,IAAI,YAAY,CAAC,IAAI,IAAI,YAAY,CAAC,EAAE,EAAE,CAAC;YACzC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,YAAY;aACnB,CAAC;QACJ,CAAC;QAED,gCAAgC;QAChC,IAAI,YAAY,CAAC,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;YACnD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,YAAY;aACnB,CAAC;QACJ,CAAC;QAED,6DAA6D;QAC7D,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;YAC5C,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,YAAY;aACnB,CAAC;QACJ,CAAC;QAED,2CAA2C;QAC3C,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,YAAY;SACnB,CAAC;IAEJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,+BAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAE,CAAC,CAAC;IACtG,CAAC;AACH,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,IAAM,aAAa,GAAG,UAAC,YAAoB;IAC1C,IAAA,KAAoB,mBAAmB,CAAC,YAAY,CAAC,EAAnD,OAAO,aAAA,EAAE,IAAI,UAAsC,CAAC;IAE5D,OAAO;QACL,OAAO,SAAA;QACP,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KACpC,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/common/types.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ export interface V2Schema {
|
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
30
|
export interface V2BaseProperty {
|
|
31
|
-
type: 'string' | 'number' | 'array' | 'object';
|
|
31
|
+
type: 'boolean' | 'string' | 'number' | 'array' | 'object';
|
|
32
32
|
description?: string;
|
|
33
33
|
default?: any;
|
|
34
34
|
minimum?: number;
|
|
@@ -36,6 +36,20 @@ export interface V2BaseProperty {
|
|
|
36
36
|
format?: 'date-time' | 'date' | 'time' | 'uri';
|
|
37
37
|
anyOf?: Array<{
|
|
38
38
|
$ref: string;
|
|
39
|
+
} | {
|
|
40
|
+
oneOf: Array<{
|
|
41
|
+
const: any;
|
|
42
|
+
title?: string;
|
|
43
|
+
}>;
|
|
44
|
+
} | {
|
|
45
|
+
type?: string;
|
|
46
|
+
title?: string;
|
|
47
|
+
description?: string;
|
|
48
|
+
enum: any[];
|
|
49
|
+
'x-enumExtra'?: Record<string, {
|
|
50
|
+
display: string;
|
|
51
|
+
description?: string;
|
|
52
|
+
}>;
|
|
39
53
|
}>;
|
|
40
54
|
items?: V2BaseProperty;
|
|
41
55
|
properties?: Record<string, V2BaseProperty>;
|
|
@@ -53,7 +67,7 @@ export interface V2Property extends V2BaseProperty {
|
|
|
53
67
|
properties?: Record<string, V2BaseProperty>;
|
|
54
68
|
}
|
|
55
69
|
export interface V2UIField {
|
|
56
|
-
type: 'TEXT' | 'NUMERIC' | 'CHOICE_LIST' | 'DATE_TIME' | 'LOCATION' | 'COLLECTION' | 'ATTACHMENT';
|
|
70
|
+
type: 'BOOLEAN' | 'TEXT' | 'NUMERIC' | 'CHOICE_LIST' | 'DATE_TIME' | 'LOCATION' | 'COLLECTION' | 'ATTACHMENT';
|
|
57
71
|
parent: string;
|
|
58
72
|
inputType?: 'SHORT_TEXT' | 'LONG_TEXT' | 'DROPDOWN' | 'LIST';
|
|
59
73
|
placeholder?: string;
|
|
@@ -65,6 +79,7 @@ export interface V2UIField {
|
|
|
65
79
|
leftColumn?: string[];
|
|
66
80
|
rightColumn?: string[];
|
|
67
81
|
allowableFileTypes?: string[];
|
|
82
|
+
conditionalDependents?: string[];
|
|
68
83
|
}
|
|
69
84
|
export interface V2Choices {
|
|
70
85
|
type: 'EXISTING_CHOICE_LIST' | 'MY_DATA';
|
|
@@ -80,12 +95,20 @@ export interface V2Header {
|
|
|
80
95
|
section: string;
|
|
81
96
|
size: 'LARGE' | 'MEDIUM' | 'SMALL';
|
|
82
97
|
}
|
|
98
|
+
export type V2ConditionOperator = 'CONTAINS' | 'DOES_NOT_HAVE_INPUT' | 'HAS_INPUT' | 'INPUT_IS_EXACTLY' | 'IS_CONTAINED_BY' | 'IS_EMPTY' | 'IS_EXACTLY' | 'IS_NOT_CONTAINED_BY' | 'IS_NOT_EMPTY';
|
|
99
|
+
export interface V2Condition {
|
|
100
|
+
field: string;
|
|
101
|
+
id: string;
|
|
102
|
+
operator: V2ConditionOperator;
|
|
103
|
+
value?: string | string[] | number | boolean | null;
|
|
104
|
+
}
|
|
83
105
|
export interface V2Section {
|
|
84
106
|
columns: 1 | 2;
|
|
85
107
|
isActive: boolean;
|
|
86
108
|
label: string;
|
|
87
109
|
leftColumn: V2ColumnItem[];
|
|
88
110
|
rightColumn: V2ColumnItem[];
|
|
111
|
+
conditions?: V2Condition[];
|
|
89
112
|
}
|
|
90
113
|
export interface V2ColumnItem {
|
|
91
114
|
name: string;
|
|
@@ -110,10 +133,20 @@ export interface JSONFormsControl extends JSONFormsUIElement {
|
|
|
110
133
|
[key: string]: any;
|
|
111
134
|
};
|
|
112
135
|
}
|
|
136
|
+
export type JSONFormsRuleEffect = 'SHOW' | 'HIDE' | 'ENABLE' | 'DISABLE';
|
|
137
|
+
export interface JSONFormsSchemaBasedCondition {
|
|
138
|
+
scope: string;
|
|
139
|
+
schema: Record<string, unknown>;
|
|
140
|
+
}
|
|
141
|
+
export interface JSONFormsRule {
|
|
142
|
+
effect: JSONFormsRuleEffect;
|
|
143
|
+
condition: JSONFormsSchemaBasedCondition;
|
|
144
|
+
}
|
|
113
145
|
export interface JSONFormsLayout extends JSONFormsUIElement {
|
|
114
146
|
type: 'VerticalLayout' | 'HorizontalLayout' | 'Group' | 'Categorization';
|
|
115
147
|
elements: JSONFormsUIElement[];
|
|
116
148
|
label?: string;
|
|
149
|
+
rule?: JSONFormsRule;
|
|
117
150
|
}
|
|
118
151
|
export interface JSONFormsLabel extends JSONFormsUIElement {
|
|
119
152
|
type: 'Label';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/common/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;IACF,UAAU,EAAE,GAAG,EAAE,CAAC;CACnB;AAGD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,oBAAoB,EAAE,OAAO,CAAC;QAC9B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACvC,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,EAAE,EAAE;QACF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAClC,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;KACrC,CAAC;CACH;AAGD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/common/types.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { generateUISchema, validateJSONSchema } from './v1/index';
|
|
2
2
|
export * as v1 from './v1/index';
|
|
3
3
|
export * as v2 from './v2/index';
|
|
4
|
+
export { detectSchemaVersion, processSchema, type SchemaVersion, type ParsedSchema } from './common/schemaUtils';
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGlE,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGlE,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAGjC,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;sBAG9C,YAAY;iBAApB,EAAE;sBACM,YAAY;iBAApB,EAAE"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;sBAG9C,YAAY;iBAApB,EAAE;sBACM,YAAY;iBAApB,EAAE;AAEd,mBAAmB;AACnB,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAyC,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { V2Condition, JSONFormsRule, JSONFormsSchemaBasedCondition } from '../common/types';
|
|
2
|
+
/**
|
|
3
|
+
* Builds a JSON Schema for the CONTAINS operator.
|
|
4
|
+
* Handles array, object, and string field types via anyOf.
|
|
5
|
+
* When value is an array, all values must be contained; the string branch
|
|
6
|
+
* becomes unsatisfiable (const: null) since a string can't contain multiple
|
|
7
|
+
* independent required values simultaneously.
|
|
8
|
+
*/
|
|
9
|
+
export declare const buildContainsSchema: (value: string | string[]) => Record<string, unknown>;
|
|
10
|
+
/**
|
|
11
|
+
* Builds a JSON Schema for the IS_EMPTY operator.
|
|
12
|
+
* Returns a root-level schema (not field-scoped) because it must check for
|
|
13
|
+
* field absence using `not: { required: [fieldName] }`.
|
|
14
|
+
*/
|
|
15
|
+
export declare const buildIsEmptySchema: (fieldName: string) => Record<string, unknown>;
|
|
16
|
+
/**
|
|
17
|
+
* Builds a JSON Schema for the IS_NOT_EMPTY / HAS_INPUT operator.
|
|
18
|
+
* Matches when the field is present and has a meaningful (non-null, non-empty) value.
|
|
19
|
+
*/
|
|
20
|
+
export declare const buildHasInputSchema: () => Record<string, unknown>;
|
|
21
|
+
/**
|
|
22
|
+
* Builds a JSON Schema for the DOES_NOT_HAVE_INPUT operator (legacy).
|
|
23
|
+
*/
|
|
24
|
+
export declare const buildDoesNotHaveInputSchema: () => Record<string, unknown>;
|
|
25
|
+
/**
|
|
26
|
+
* Builds a JSON Schema for the IS_EXACTLY operator.
|
|
27
|
+
* Handles array, boolean, number, object, and string field types via anyOf.
|
|
28
|
+
* When value is an array, non-array/object branches become unsatisfiable (const: null).
|
|
29
|
+
* When value is a single string parseable as boolean/number, those branches use the parsed value.
|
|
30
|
+
*/
|
|
31
|
+
export declare const buildIsExactlySchema: (value: string | string[]) => Record<string, unknown>;
|
|
32
|
+
/**
|
|
33
|
+
* Builds a JSON Schema for the INPUT_IS_EXACTLY operator (legacy).
|
|
34
|
+
* Matches when the field value equals the specified value exactly.
|
|
35
|
+
*/
|
|
36
|
+
export declare const buildInputIsExactlySchema: (value: string | number | boolean | null) => Record<string, unknown>;
|
|
37
|
+
/**
|
|
38
|
+
* Builds a JSON Schema for the IS_CONTAINED_BY operator.
|
|
39
|
+
* The condition is fulfilled when all elements of the field are included
|
|
40
|
+
* within the specified set of values.
|
|
41
|
+
*/
|
|
42
|
+
export declare const buildIsContainedBySchema: (value: string | string[]) => Record<string, unknown>;
|
|
43
|
+
/**
|
|
44
|
+
* Builds a JSON Schema for the IS_NOT_CONTAINED_BY operator.
|
|
45
|
+
* The condition is fulfilled when at least one element of the field is not
|
|
46
|
+
* included within the specified set of values.
|
|
47
|
+
*/
|
|
48
|
+
export declare const buildIsNotContainedBySchema: (value: string | string[]) => Record<string, unknown>;
|
|
49
|
+
/**
|
|
50
|
+
* Gets the operator schema for a condition.
|
|
51
|
+
* Note: IS_EMPTY is root-scoped; callers that need field-scoped wrapping
|
|
52
|
+
* should use buildConditionSchema instead.
|
|
53
|
+
*/
|
|
54
|
+
export declare const getOperatorSchema: (condition: V2Condition) => Record<string, unknown>;
|
|
55
|
+
/**
|
|
56
|
+
* Builds a root-scoped JSON Schema for a single condition.
|
|
57
|
+
* IS_EMPTY contributes its root-level anyOf directly; all other operators
|
|
58
|
+
* are wrapped in a properties/required structure.
|
|
59
|
+
*/
|
|
60
|
+
export declare const buildConditionSchema: (condition: V2Condition) => Record<string, unknown>;
|
|
61
|
+
/**
|
|
62
|
+
* Builds a JSONForms schema-based condition from one or more V2 conditions.
|
|
63
|
+
*
|
|
64
|
+
* Single condition:
|
|
65
|
+
* - IS_EMPTY → root scope "#" (must check for field absence at object level)
|
|
66
|
+
* - All others → field scope "#/properties/fieldName"
|
|
67
|
+
*
|
|
68
|
+
* Multiple conditions: root scope "#" with allOf combining all condition schemas.
|
|
69
|
+
*/
|
|
70
|
+
export declare const buildSchemaBasedCondition: (conditions: V2Condition[]) => JSONFormsSchemaBasedCondition;
|
|
71
|
+
/**
|
|
72
|
+
* Creates a complete JSONForms rule for a section with the given conditions.
|
|
73
|
+
*/
|
|
74
|
+
export declare const createSectionRule: (conditions: V2Condition[]) => JSONFormsRule;
|
|
75
|
+
/**
|
|
76
|
+
* Validates conditions for a section.
|
|
77
|
+
* Throws an error if any condition is invalid.
|
|
78
|
+
*/
|
|
79
|
+
export declare const validateConditions: (conditions: V2Condition[], fieldNames: string[]) => void;
|
|
80
|
+
//# sourceMappingURL=conditions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conditions.d.ts","sourceRoot":"","sources":["../../src/v2/conditions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,aAAa,EACb,6BAA6B,EAC9B,MAAM,iBAAiB,CAAC;AAEzB;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,UAAW,MAAM,GAAG,MAAM,EAAE,KAAG,OAAO,MAAM,EAAE,OAAO,CAwCpF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,cAAe,MAAM,KAAG,OAAO,MAAM,EAAE,OAAO,CAsB5E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,QAAO,OAAO,MAAM,EAAE,OAAO,CAe5D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,QAAO,OAAO,MAAM,EAAE,OAAO,CAIpE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,UAAW,MAAM,GAAG,MAAM,EAAE,KAAG,OAAO,MAAM,EAAE,OAAO,CAqDrF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,UAC7B,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,KACtC,OAAO,MAAM,EAAE,OAAO,CAexB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,UAAW,MAAM,GAAG,MAAM,EAAE,KAAG,OAAO,MAAM,EAAE,OAAO,CASzF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,UAC/B,MAAM,GAAG,MAAM,EAAE,KACvB,OAAO,MAAM,EAAE,OAAO,CAmBxB,CAAC;AAcF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,cACjB,WAAW,KACrB,OAAO,MAAM,EAAE,OAAO,CAyDxB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,cACpB,WAAW,KACrB,OAAO,MAAM,EAAE,OAAO,CAYxB,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,eACxB,WAAW,EAAE,KACxB,6BA8BF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,eAAgB,WAAW,EAAE,KAAG,aAK7D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,eACjB,WAAW,EAAE,cACb,MAAM,EAAE,KACnB,IA+BF,CAAC"}
|