jstd-web/node_modules/moddle/dist/moddle.umd.prod.js

2 lines
8.6 KiB
JavaScript
Raw Normal View History

2025-11-25 15:23:22 +08:00
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).Moddle={})}(this,function(e){"use strict";var t=Object.prototype.toString,r=Object.prototype.hasOwnProperty;function i(e,t){return r.call(e,t)}function n(e,r){if(void 0!==e){var n=function(e){return"[object Array]"===t.call(e)}(e)?p:o;for(var s in e){if(i(e,s))if(!1===r(e[s],n(s)))return}}}function o(e){return e}function p(e){return Number(e)}function s(e,t){return e.bind(t)}var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e};function f(e){for(var t=arguments.length,r=Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return a.apply(void 0,[e].concat(r))}function y(){}function c(e,t){this.model=e,this.properties=t}y.prototype.get=function(e){return this.$model.properties.get(this,e)},y.prototype.set=function(e,t){this.$model.properties.set(this,e,t)},c.prototype.createType=function(e){var t=this.model,r=this.properties,i=Object.create(y.prototype);n(e.properties,function(e){e.isMany||void 0===e.default||(i[e.name]=e.default)}),r.defineModel(i,t),r.defineDescriptor(i,e);var o=e.ns.name;function p(e){r.define(this,"$type",{value:o,enumerable:!0}),r.define(this,"$attrs",{value:{}}),r.define(this,"$parent",{writable:!0}),n(e,s(function(e,t){this.set(t,e)},this))}return p.prototype=i,p.hasType=i.$instanceOf=this.model.hasType,r.defineModel(p,t),r.defineDescriptor(p,e),p};var u={String:!0,Boolean:!0,Integer:!0,Real:!0,Element:!0},d={String:function(e){return e},Boolean:function(e){return"true"===e},Integer:function(e){return parseInt(e,10)},Real:function(e){return parseFloat(e)}};function l(e){return!!u[e]}function h(e,t){var r,i,n=e.split(/:/);if(1===n.length)r=e,i=t;else{if(2!==n.length)throw new Error("expected <prefix:localName> or <localName>, got "+e);r=n[1],i=n[0]}return{name:e=(i?i+":":"")+r,prefix:i,localName:r}}function m(e){this.ns=e,this.name=e.name,this.allTypes=[],this.allTypesByName={},this.properties=[],this.propertiesByName={}}function v(e,t){this.packageMap={},this.typeMap={},this.packages=[],this.properties=t,n(e,s(this.registerPackage,this))}function g(e,t,r){var i=t[r];if(i in e)throw new Error("package with "+r+" <"+i+"> already defined")}function P(e){this.model=e}function b(e,t,r){Object.defineProperty(e,t.name,{enumerable:!t.isReference,writable:!0,value:r,configurable:!0})}function w(e){this.properties=new P(this),this.factory=new c(this,this.properties),this.registry=new v(e,this.properties),this.typeCache={}}m.prototype.build=function(){return e=this,t=["ns","name","allTypes","allTypesByName","properties","propertiesByName","bodyProperty","idProperty"],r={},i=Object(e),n(t,function(t){t in i&&(r[t]=e[t])}),r;var e,t,r,i},m.prototype.addProperty=function(e,t,r){"boolean"==typeof t&&(r=t,t=void 0),this.addNamedProperty(e,!1!==r);var i=this.properties;void 0!==t?i.splice(t,0,e):i.push(e)},m.prototype.replaceProperty=function(e,t,r){var i=e.ns,n=this.properties,o=this.propertiesByName,p=e.name!==t.name;if(e.isId){if(!t.isId)throw new Error("property <"+t.ns.name+"> must be id property to refine <"+e.ns.name+">");this.setIdProperty(t,!1)}if(e.isBody){if(!t.isBody)throw new Error("property <"+t.ns.name+"> must be body property to refine <"+e.ns.name+">");this.setBodyProperty(t,!1)}var s=n.indexOf(e);if(-1===s)throw new Error("property <"+i.name+"> not found in property list");n.splice(s,1),this.addProperty(t,r?void 0:s,p),o[i.name]=o[i.localName]=t},m.prototype.redefineProperty=function(e,t,r){var i=e.ns.prefix,n=t.split("#"),o=h(n[0],i),p=h(n[1],o.prefix).name,s=this.propertiesByName[p];if(!s)throw new Error("refined property <"+p+"> not found");this.replaceProperty(s,e,r),delete e.redefines},m.prototype.addNamedProperty=function(e,t){var r=e.ns,i=this.propertiesByName;t&&(this.assertNotDefined(e,r.name),this.assertNotDefined(e,r.localName)),i[r.name]=i[r.localName]=e},m.prototype.removeNamedProperty=function(e){var t=e.ns,r=this.propertiesB