@earthranger/react-native-jsonforms-formatter 2.0.0-beta.3 → 2.0.0-beta.4
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/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/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/package.json +1 -1
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!==m&&m.toStringTag&&Object.defineProperty(e,m.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{detectSchemaVersion:()=>dt,generateUISchema:()=>Xe,processSchema:()=>ht,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,s=Object,function(e){return c(s(e))});var c,s,u=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,v=h.hasOwnProperty,y=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=v.call(e,b),r=e[b];try{e[b]=void 0;var n=!0}catch(e){}var i=y.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},S=f["__core-js_shared__"];var E,A=(E=/[^.]+$/.exec(S&&S.keys&&S.keys.IE_PROTO||""))?"Symbol(src)_1."+E:"";var x=Function.prototype.toString;const T=function(e){if(null!=e){try{return x.call(e)}catch(e){}try{return e+""}catch(e){}}return""};var C=/^\[object .+?Constructor\]$/,I=Function.prototype,N=Object.prototype,M=I.toString,_=N.hasOwnProperty,F=RegExp("^"+M.call(_).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");const D=function(e){return!(!k(e)||function(e){return!!A&&A 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]",J="[object Promise]",V="[object Set]",B="[object WeakMap]",z="[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)))!=z||L&&Y(new L)!=$||H&&Y(H.resolve())!=J||R&&Y(new R)!=V||U&&Y(new U)!=B)&&(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 z;case G:return $;case X:return J;case K:return V;case Q:return B}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 se="object"==typeof exports&&exports&&!exports.nodeType&&exports,ue=se&&"object"==typeof module&&module&&!module.nodeType&&module,pe=ue&&ue.exports===se?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,ve=function(){try{return de&&de.require&&de.require("util").types||he&&he.binding&&he.binding("util")}catch(e){}}(),ye=ve&&ve.isTypedArray;const be=ye?function(e){return function(t){return e(t)}}(ye):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))u.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,Se=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",Ae="checkboxes",xe="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},Ne=function(e){return qe(e)&&e.type===Ae},Me=function(e){return null==e||0===e.trim().length},_e=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===xe&&(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===xe},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,Se(Se([],r,!0),[n.toString()],!1))})):Object.entries(e).forEach((function(e){var n=e[0],i=e[1];return Ue(i,t,Se(Se([],r,!0),[n],!1))})))},$e=function(e){return e.includes(Ae)},Je=function(e){return e.includes("inactive_enum")},Ve=function(e){return e.includes("inactive_titleMap")},Be=function(e){return e.includes("enum")},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)};!function(e){e.Number="number",e.String="string",e.Array="array"}(Te||(Te={}));var We=function(e,t,r){return void 0===r&&(r={}),ze({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 Me(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),Me(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)}))},st=function(e){return e.titleMap.filter((function(t){return!e.inactive_titleMap.includes(t.value)}))},ut=function(e,t,r,n){var i,o,a,c,s=e.hasCheckboxes,u=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])),u&&function(e){var t,r;return qe(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 p=r.definition.indexOf(n),l=r.definition[p].items.indexOf(t);r.definition[p].items[l].titleMap=st(t)}else r.definition[r.definition.indexOf(t)].titleMap=st(t);s&&Ne(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:Je(e),hasDisabledChoices:Ve(e),hasEnums:Be(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 s=0,u=Object.keys(t.schema.properties);s<u.length;s++)if(a=u[s],!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 _e(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 s=c[a];ut(e,s,t,i)}break;case Ne(i):ut(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];ut(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 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=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(s)}})),{type:"VerticalLayout",elements:a}},dt=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"))}},ht=function(e){var t=dt(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/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"}
|