@mlightcad/common 1.2.3 → 1.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/dist/common.js +1478 -0
  2. package/dist/common.umd.cjs +1 -0
  3. package/lib/AcCmColor.d.ts +201 -0
  4. package/lib/AcCmColor.d.ts.map +1 -0
  5. package/lib/AcCmColor.js +641 -0
  6. package/lib/AcCmColor.js.map +1 -0
  7. package/lib/AcCmColorUtil.d.ts +41 -0
  8. package/lib/AcCmColorUtil.d.ts.map +1 -0
  9. package/lib/AcCmColorUtil.js +90 -0
  10. package/lib/AcCmColorUtil.js.map +1 -0
  11. package/lib/AcCmErrors.d.ts +56 -0
  12. package/lib/AcCmErrors.d.ts.map +1 -0
  13. package/lib/AcCmErrors.js +70 -0
  14. package/lib/AcCmErrors.js.map +1 -0
  15. package/lib/AcCmEventDispatcher.d.ts +101 -0
  16. package/lib/AcCmEventDispatcher.d.ts.map +1 -0
  17. package/lib/AcCmEventDispatcher.js +97 -0
  18. package/lib/AcCmEventDispatcher.js.map +1 -0
  19. package/lib/AcCmEventManager.d.ts +66 -0
  20. package/lib/AcCmEventManager.d.ts.map +1 -0
  21. package/lib/AcCmEventManager.js +133 -0
  22. package/lib/AcCmEventManager.js.map +1 -0
  23. package/lib/AcCmLodashUtils.d.ts +145 -0
  24. package/lib/AcCmLodashUtils.d.ts.map +1 -0
  25. package/lib/AcCmLodashUtils.js +293 -0
  26. package/lib/AcCmLodashUtils.js.map +1 -0
  27. package/lib/AcCmLogUtil.d.ts +80 -0
  28. package/lib/AcCmLogUtil.d.ts.map +1 -0
  29. package/lib/AcCmLogUtil.js +72 -0
  30. package/lib/AcCmLogUtil.js.map +1 -0
  31. package/lib/AcCmObject.d.ts +150 -0
  32. package/lib/AcCmObject.d.ts.map +1 -0
  33. package/lib/AcCmObject.js +204 -0
  34. package/lib/AcCmObject.js.map +1 -0
  35. package/lib/AcCmPerformanceCollector.d.ts +89 -0
  36. package/lib/AcCmPerformanceCollector.d.ts.map +1 -0
  37. package/lib/AcCmPerformanceCollector.js +119 -0
  38. package/lib/AcCmPerformanceCollector.js.map +1 -0
  39. package/lib/AcCmStringUtil.d.ts +44 -0
  40. package/lib/AcCmStringUtil.d.ts.map +1 -0
  41. package/lib/AcCmStringUtil.js +58 -0
  42. package/lib/AcCmStringUtil.js.map +1 -0
  43. package/lib/AcCmTaskScheduler.d.ts +188 -0
  44. package/lib/AcCmTaskScheduler.d.ts.map +1 -0
  45. package/lib/AcCmTaskScheduler.js +256 -0
  46. package/lib/AcCmTaskScheduler.js.map +1 -0
  47. package/lib/index.d.ts +12 -0
  48. package/lib/index.d.ts.map +1 -0
  49. package/lib/index.js +12 -0
  50. package/lib/index.js.map +1 -0
  51. package/lib/loader/AcCmFileLoader.d.ts +95 -0
  52. package/lib/loader/AcCmFileLoader.d.ts.map +1 -0
  53. package/lib/loader/AcCmFileLoader.js +275 -0
  54. package/lib/loader/AcCmFileLoader.js.map +1 -0
  55. package/lib/loader/AcCmLoader.d.ts +125 -0
  56. package/lib/loader/AcCmLoader.d.ts.map +1 -0
  57. package/lib/loader/AcCmLoader.js +116 -0
  58. package/lib/loader/AcCmLoader.js.map +1 -0
  59. package/lib/loader/AcCmLoadingManager.d.ts +166 -0
  60. package/lib/loader/AcCmLoadingManager.d.ts.map +1 -0
  61. package/lib/loader/AcCmLoadingManager.js +172 -0
  62. package/lib/loader/AcCmLoadingManager.js.map +1 -0
  63. package/lib/loader/index.d.ts +3 -0
  64. package/lib/loader/index.d.ts.map +1 -0
  65. package/lib/loader/index.js +3 -0
  66. package/lib/loader/index.js.map +1 -0
  67. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ (function(a,_){typeof exports=="object"&&typeof module<"u"?_(exports):typeof define=="function"&&define.amd?define(["exports"],_):(a=typeof globalThis<"u"?globalThis:a||self,_(a.common={}))})(this,function(a){"use strict";function _(n,e){for(var t=0;t<e.length;t++){const r=e[t];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in n)){const s=Object.getOwnPropertyDescriptor(r,o);s&&Object.defineProperty(n,o,s.get?s:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}))}const C={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074},M=[0,16711680,16776960,65280,65535,255,16711935,16777215,8421504,12632256,16711680,16744319,13369344,13395558,10027008,10046540,8323072,8339263,4980736,4990502,16727808,16752511,13382400,13401958,10036736,10051404,8331008,8343359,4985600,4992806,16744192,16760703,13395456,13408614,10046464,10056268,8339200,8347455,4990464,4995366,16760576,16768895,13408512,13415014,10056192,10061132,8347392,8351551,4995328,4997670,16776960,16777087,13421568,13421670,10000384,10000460,8355584,8355647,5000192,5000230,12582656,14679935,10079232,11717734,7510016,8755276,6258432,7307071,3755008,4344870,8388352,12582783,6736896,10079334,5019648,7510092,4161280,6258495,2509824,3755046,4194048,10485631,3394560,8375398,2529280,6264908,2064128,5209919,1264640,3099686,65280,8388479,52224,6736998,38912,5019724,32512,4161343,19456,2509862,65343,8388511,52275,6737023,38950,5019743,32543,4161359,19475,2509871,65407,8388543,52326,6737049,38988,5019762,32575,4161375,19494,2509881,65471,8388575,52377,6737074,39026,5019781,32607,4161391,19513,2509890,65535,8388607,52428,6737100,39064,5019800,32639,4161407,19532,2509900,49151,8380415,39372,6730444,29336,5014936,24447,4157311,14668,2507340,32767,8372223,26316,6724044,19608,5010072,16255,4153215,9804,2505036,16383,8364031,13260,6717388,9880,5005208,8063,4149119,4940,2502476,255,8355839,204,6710988,152,5000344,127,4145023,76,2500172,4129023,10452991,3342540,8349388,2490520,6245528,2031743,5193599,1245260,3089996,8323327,12550143,6684876,10053324,4980888,7490712,4128895,6242175,2490444,3745356,12517631,14647295,10027212,11691724,7471256,8735896,6226047,7290751,3735628,4335180,16711935,16744447,13369548,13395660,9961624,9981080,8323199,8339327,4980812,4990540,16711871,16744415,13369497,13395634,9961586,9981061,8323167,8339311,4980793,4990530,16711807,16744383,13369446,13395609,9961548,9981042,8323135,8339295,4980774,4990521,16711743,16744351,13369395,13395583,9961510,9981023,8323103,8339279,4980755,4990511,3355443,5987163,8684676,11382189,14079702,16777215,0];function L(n,e,t){return Math.max(e,Math.min(t,n))}const I=class I{constructor(){this._colorIndex=256,this._color=null,this._colorName=null}get color(){return this._color}set color(e){e==null?this._color=null:(this._color=Math.round(L(e,0,256*256*256-1)),this._colorIndex=this.getColorIndexByValue(this._color),this._colorName=this.getColorNameByValue(this._color))}get hexColor(){if(this._color&&this._color>0&&this._color<=16777215){let e=this._color.toString(16).toUpperCase();for(;e.length<6;)e="0"+e;return`0x${e}`}return""}get cssColor(){return`rgb(${this.red},${this.green},${this.blue})`}get red(){return this.color?this.color>>16&255:null}get green(){return this.color?this.color>>8&255:null}get blue(){return this.color?this.color&255:null}get colorIndex(){return this._colorIndex}set colorIndex(e){e==null?this._colorIndex=null:(this._colorIndex=L(e,0,256),this._colorIndex>0&&this._colorIndex<256?(this._color=M[e],this._colorName=this.getColorNameByValue(this._color)):(this._color=null,this._colorName=null))}get colorName(){return this._colorName}set colorName(e){if(e){const t=C[e.toLowerCase()];t!==void 0?(this._colorName=e,this._color=t,this._colorIndex=this.getColorIndexByValue(this._color)):console.warn("Unknown color: "+e)}else this._colorName=null}get hasColorName(){return this._colorName==null}get hasColorIndex(){return this._colorIndex==null}get isByLayer(){return this.colorIndex==256}setByLayer(){return this.colorIndex=256,this}get isByBlock(){return this.colorIndex==0}setByBlock(){return this.colorIndex=0,this}setScalar(e){return this.setRGB(e,e,e),this}setRGB(e,t,r){const o=Math.round(L(e,0,255)),s=Math.round(L(t,0,255)),l=Math.round(L(r,0,255));return this.color=(o<<16)+(s<<8)+l,this}setColorName(e){const t=C[e.toLowerCase()];return t!==void 0?this.color=t:console.warn("Unknown color "+e),this}clone(){const e=new I;return e.colorIndex=this.colorIndex,e.color=this.color,e._colorName=this._colorName,this}copy(e){return this.colorIndex=e.colorIndex,this.color=e.color,this._colorName=e._colorName,this}equals(e){return e.color==this.color&&e.colorIndex==this.colorIndex&&e._colorName==this._colorName}toString(){return this.isByLayer?"ByLayer":this.isByBlock?"ByBlock":this.colorName?this.colorName:this.hexColor}getColorNameByValue(e){for(const[t,r]of Object.entries(C))if(r===e)return t;return null}getColorIndexByValue(e){const t=M.length-1;for(let r=1;r<t;++r)if(M[r]===e)return r;return null}};I.NAMES=C;let B=I;const W={get ILLEGAL_PARAMETERS(){return new ReferenceError("Illegal Parameters")},get ZERO_DIVISION(){return new Error("Zero division")},get UNRESOLVED_BOUNDARY_CONFLICT(){return new Error("Unresolved boundary conflict in boolean operation")},get INFINITE_LOOP(){return new Error("Infinite loop")},get CANNOT_INVOKE_ABSTRACT_METHOD(){return new Error("Abstract method cannot be invoked")},get OPERATION_IS_NOT_SUPPORTED(){return new Error("Operation is not supported")},get NOT_IMPLEMENTED(){return new Error("Not implemented yet")}};class Y{constructor(){this._listeners={}}addEventListener(e,t){this._listeners===void 0&&(this._listeners={});const r=this._listeners;r[e]===void 0&&(r[e]=[]),r[e].indexOf(t)===-1&&r[e].push(t)}hasEventListener(e,t){if(this._listeners===void 0)return!1;const r=this._listeners;return r[e]!==void 0&&r[e].indexOf(t)!==-1}removeEventListener(e,t){if(this._listeners===void 0)return;const o=this._listeners[e];if(o!==void 0){const s=o.indexOf(t);s!==-1&&o.splice(s,1)}}dispatchEvent(e){if(this._listeners===void 0)return;const r=this._listeners[e.type];if(r!==void 0){e.target=this;const o=r.slice(0);for(let s=0,l=o.length;s<l;s++)o[s].call(this,e)}}}class x{constructor(){this.listeners=[]}addEventListener(e){this.listeners.push(e)}removeEventListener(e){this.listeners=this.listeners.filter(t=>t!==e)}replaceEventListener(e){this.removeEventListener(e),this.addEventListener(e)}dispatch(e,...t){for(const r of this.listeners)r.call(null,e,...t)}}var Z=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function J(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var U={exports:{}};(function(n){(function(e,t){n.exports?n.exports=t():e.log=t()})(Z,function(){var e=function(){},t="undefined",r=typeof window!==t&&typeof window.navigator!==t&&/Trident\/|MSIE /.test(window.navigator.userAgent),o=["trace","debug","info","warn","error"],s={},l=null;function f(c,h){var i=c[h];if(typeof i.bind=="function")return i.bind(c);try{return Function.prototype.bind.call(i,c)}catch{return function(){return Function.prototype.apply.apply(i,[c,arguments])}}}function O(){console.log&&(console.log.apply?console.log.apply(console,arguments):Function.prototype.apply.apply(console.log,[console,arguments])),console.trace&&console.trace()}function w(c){return c==="debug"&&(c="log"),typeof console===t?!1:c==="trace"&&r?O:console[c]!==void 0?f(console,c):console.log!==void 0?f(console,"log"):e}function y(){for(var c=this.getLevel(),h=0;h<o.length;h++){var i=o[h];this[i]=h<c?e:this.methodFactory(i,c,this.name)}if(this.log=this.debug,typeof console===t&&c<this.levels.SILENT)return"No console available for logging"}function P(c){return function(){typeof console!==t&&(y.call(this),this[c].apply(this,arguments))}}function g(c,h,i){return w(c)||P.apply(this,arguments)}function G(c,h){var i=this,T,R,b,p="loglevel";typeof c=="string"?p+=":"+c:typeof c=="symbol"&&(p=void 0);function se(u){var d=(o[u]||"silent").toUpperCase();if(!(typeof window===t||!p)){try{window.localStorage[p]=d;return}catch{}try{window.document.cookie=encodeURIComponent(p)+"="+d+";"}catch{}}}function H(){var u;if(!(typeof window===t||!p)){try{u=window.localStorage[p]}catch{}if(typeof u===t)try{var d=window.document.cookie,N=encodeURIComponent(p),z=d.indexOf(N+"=");z!==-1&&(u=/^([^;]+)/.exec(d.slice(z+N.length+1))[1])}catch{}return i.levels[u]===void 0&&(u=void 0),u}}function le(){if(!(typeof window===t||!p)){try{window.localStorage.removeItem(p)}catch{}try{window.document.cookie=encodeURIComponent(p)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch{}}}function k(u){var d=u;if(typeof d=="string"&&i.levels[d.toUpperCase()]!==void 0&&(d=i.levels[d.toUpperCase()]),typeof d=="number"&&d>=0&&d<=i.levels.SILENT)return d;throw new TypeError("log.setLevel() called with invalid level: "+u)}i.name=c,i.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5},i.methodFactory=h||g,i.getLevel=function(){return b??R??T},i.setLevel=function(u,d){return b=k(u),d!==!1&&se(b),y.call(i)},i.setDefaultLevel=function(u){R=k(u),H()||i.setLevel(u,!1)},i.resetLevel=function(){b=null,le(),y.call(i)},i.enableAll=function(u){i.setLevel(i.levels.TRACE,u)},i.disableAll=function(u){i.setLevel(i.levels.SILENT,u)},i.rebuild=function(){if(l!==i&&(T=k(l.getLevel())),y.call(i),l===i)for(var u in s)s[u].rebuild()},T=k(l?l.getLevel():"WARN");var K=H();K!=null&&(b=k(K)),y.call(i)}l=new G,l.getLogger=function(h){if(typeof h!="symbol"&&typeof h!="string"||h==="")throw new TypeError("You must supply a name when creating a logger.");var i=s[h];return i||(i=s[h]=new G(h,l.methodFactory)),i};var ie=typeof window!==t?window.log:void 0;return l.noConflict=function(){return typeof window!==t&&window.log===l&&(window.log=ie),l},l.getLoggers=function(){return s},l.default=l,l})})(U);var D=U.exports;const X=_({__proto__:null,default:J(D)},[D]),Q=!0,E=X;E.setLevel("debug");const ee=n=>{try{E.setLevel(n)}catch(e){E.setLevel("error"),E.error(e)}};function A(n){return n===null||typeof n!="object"?n:Array.isArray(n)?[...n]:{...n}}function q(n,...e){for(const t of e)if(t)for(const r in t)Object.prototype.hasOwnProperty.call(t,r)&&n[r]===void 0&&(n[r]=t[r]);return n}function F(n,e){return n!=null&&Object.prototype.hasOwnProperty.call(n,e)}function j(n){return n==null?!0:Array.isArray(n)||typeof n=="string"?n.length===0:n instanceof Map||n instanceof Set?n.size===0:typeof n=="object"?Object.keys(n).length===0:!1}function m(n,e){if(n===e)return!0;if(n==null||e==null)return n===e;if(typeof n!=typeof e)return!1;if(typeof n!="object")return n===e;if(Array.isArray(n)!==Array.isArray(e))return!1;if(Array.isArray(n)){if(n.length!==e.length)return!1;for(let o=0;o<n.length;o++)if(!m(n[o],e[o]))return!1;return!0}const t=Object.keys(n),r=Object.keys(e);if(t.length!==r.length)return!1;for(const o of t)if(!Object.prototype.hasOwnProperty.call(e,o)||!m(n[o],e[o]))return!1;return!0}class S{constructor(e,t){this.events={attrChanged:new x,modelChanged:new x},this._changing=!1,this._previousAttributes={},this._pending=!1;const r=e||{};t&&q(r,t),this.attributes=r,this.changed={}}get(e){return this.attributes[e]}set(e,t,r){if(e==null)return this;let o;typeof e=="object"?(o=e,r=t):(o={},o[e]=t),r||(r={});const s=r.unset,l=r.silent,f=[],O=this._changing;this._changing=!0,O||(this._previousAttributes=A(this.attributes),this.changed={});const w=this.attributes,y=this.changed,P=this._previousAttributes;for(const g in o)t=o[g],m(w[g],t)||f.push(g),m(P[g],t)?delete y[g]:y[g]=t,s?delete w[g]:w[g]=t;if(!l){f.length&&(this._pending=r);for(let g=0;g<f.length;g++)this.events.attrChanged.dispatch({object:this,attrName:f[g],attrValue:w[f[g]],options:r})}if(O)return this;if(!l)for(;this._pending;)r=this._pending,this._pending=!1,this.events.modelChanged.dispatch({object:this,options:r});return this._pending=!1,this._changing=!1,this}has(e){return this.get(e)!=null}hasChanged(e){return e==null?!j(this.changed):F(this.changed,e)}changedAttributes(e){if(!e)return this.hasChanged()?A(this.changed):{};const t=this._changing?this._previousAttributes:this.attributes,r={};for(const o in e){const s=e[o];m(t[o],s)||(r[o]=s)}return r}previous(e){return e==null||!this._previousAttributes?null:this._previousAttributes[e]}previousAttributes(){return A(this._previousAttributes)}clone(){const e=A(this.attributes);return new S(e)}}class v{constructor(){this.entries=new Map}static getInstance(){return v.instance||(v.instance=new v),v.instance}collect(e){this.entries.set(e.name,e)}printAll(){for(const[e,t]of this.entries)console.log(`${e}:`),console.log(t.format())}clear(){this.entries.clear()}getAll(){return Array.from(this.entries.values())}getEntry(e){return this.entries.get(e)}remove(e){return this.entries.delete(e)}}class te{static formatBytes(e,t=2){if(e===0)return"0 B";const r=1024,o=Math.max(0,t),s=["B","KB","MB","GB","TB"],l=Math.floor(Math.log(e)/Math.log(r)),f=e/Math.pow(r,l);return`${parseFloat(f.toFixed(o))} ${s[l]}`}}class re{constructor(e){this.name=e}run(e){throw new Error("run() must be implemented by subclass")}}class ne{constructor(){this.tasks=[],this.onProgress=()=>{},this.onComplete=()=>{},this.onError=()=>!1}scheduleTask(e){return new Promise((t,r)=>{const o=()=>{Promise.resolve(e()).then(t).catch(r)};typeof window<"u"&&typeof window.requestAnimationFrame=="function"?window.requestAnimationFrame(o):setTimeout(o,0)})}addTask(e){this.tasks.push(e)}setProgressCallback(e){this.onProgress=e}setCompleteCallback(e){this.onComplete=e}setErrorCallback(e){this.onError=e}async run(e){const t=this.tasks.length;let r=e;for(let o=0;o<t;o++){const s=this.tasks[o];try{r=await this.scheduleTask(async()=>{const l=await s.run(r);return this.onProgress((o+1)/t,s),l})}catch(l){if(this.onError({error:l,taskIndex:o,task:s}))break}}this.onComplete(r)}}class V{constructor(e,t,r){this.isLoading=!1,this.itemsLoaded=0,this.itemsTotal=0,this.urlModifier=void 0,this.handlers=[],this.onStart=void 0,this.onLoad=e,this.onProgress=t,this.onError=r}itemStart(e){this.itemsTotal++,this.isLoading===!1&&this.onStart!==void 0&&this.onStart(e,this.itemsLoaded,this.itemsTotal),this.isLoading=!0}itemEnd(e){this.itemsLoaded++,this.onProgress!==void 0&&this.onProgress(e,this.itemsLoaded,this.itemsTotal),this.itemsLoaded===this.itemsTotal&&(this.isLoading=!1,this.onLoad!==void 0&&this.onLoad())}itemError(e){this.onError!==void 0&&this.onError(e)}resolveURL(e){return this.urlModifier?this.urlModifier(e):e}setURLModifier(e){return this.urlModifier=e,this}addHandler(e,t){return this.handlers.push(e,t),this}removeHandler(e){const t=this.handlers.indexOf(e);return t!==-1&&this.handlers.splice(t,2),this}getHandler(e){for(let t=0,r=this.handlers.length;t<r;t+=2){const o=this.handlers[t],s=this.handlers[t+1];if(o.global&&(o.lastIndex=0),o.test(e))return s}return null}}const $=new V;class oe{constructor(e){this.manager=e!==void 0?e:$,this.crossOrigin="anonymous",this.withCredentials=!1,this.path="",this.resourcePath="",this.requestHeader={}}loadAsync(e,t){return new Promise((r,o)=>{this.load(e,r,t,o)})}parse(e){}setCrossOrigin(e){return this.crossOrigin=e,this}setWithCredentials(e){return this.withCredentials=e,this}setPath(e){return this.path=e,this}setResourcePath(e){return this.resourcePath=e,this}setRequestHeader(e){return this.requestHeader=e,this}}a.AcCmColor=B,a.AcCmErrors=W,a.AcCmEventDispatcher=Y,a.AcCmEventManager=x,a.AcCmLoader=oe,a.AcCmLoadingManager=V,a.AcCmObject=S,a.AcCmPerformanceCollector=v,a.AcCmTask=re,a.AcCmTaskScheduler=ne,a.AcTrStringUtil=te,a.DEBUG_MODE=Q,a.DefaultLoadingManager=$,a.clone=A,a.defaults=q,a.has=F,a.isEmpty=j,a.isEqual=m,a.log=E,a.setLogLevel=ee,Object.defineProperty(a,Symbol.toStringTag,{value:"Module"})});
@@ -0,0 +1,201 @@
1
+ /**
2
+ * @fileoverview This module provides color handling functionality for AutoCAD files,
3
+ * including color representation, color name mapping, and color index conversion.
4
+ *
5
+ * The module supports various color formats including RGB values, named colors,
6
+ * AutoCAD color indices, and special values like "ByLayer" and "ByBlock".
7
+ *
8
+ * @module AcCmColor
9
+ * @version 1.0.0
10
+ */
11
+ /**
12
+ * Represents a color in AutoCAD, supporting various color formats.
13
+ *
14
+ * @class AcCmColor
15
+ * @version 1.0.0
16
+ */
17
+ export declare class AcCmColor {
18
+ private _colorIndex;
19
+ private _color;
20
+ private _colorName;
21
+ static NAMES: Record<string, number>;
22
+ /**
23
+ * Constructs a new AcCmColor instance.
24
+ * Initializes the color to "ByLayer" (index 256) and null RGB values.
25
+ */
26
+ constructor();
27
+ /**
28
+ * Gets the current color value.
29
+ *
30
+ * @returns {number | null} The color value (RGB or index).
31
+ */
32
+ get color(): number | null;
33
+ /**
34
+ * Sets the color value.
35
+ *
36
+ * @param {number | null} value - The color value to set (RGB or index).
37
+ */
38
+ set color(value: number | null);
39
+ /**
40
+ * Gets the hexadecimal representation of the current color.
41
+ *
42
+ * @returns {string} The hexadecimal color string (e.g., "0xFFFFFF").
43
+ */
44
+ get hexColor(): string;
45
+ /**
46
+ * Gets the CSS RGB color string representation.
47
+ *
48
+ * @returns {string} The CSS RGB color string (e.g., "rgb(255,255,255)").
49
+ */
50
+ get cssColor(): string;
51
+ /**
52
+ * Gets the red component of the current color.
53
+ *
54
+ * @returns {number | null} The red component (0-255).
55
+ */
56
+ get red(): number | null;
57
+ /**
58
+ * Gets the green component of the current color.
59
+ *
60
+ * @returns {number | null} The green component (0-255).
61
+ */
62
+ get green(): number | null;
63
+ /**
64
+ * Gets the blue component of the current color.
65
+ *
66
+ * @returns {number | null} The blue component (0-255).
67
+ */
68
+ get blue(): number | null;
69
+ /**
70
+ * Gets the AutoCAD color index value. The index value will be in the range 0 to 256.
71
+ * 0 and 256 are special values.
72
+ *
73
+ * @returns {number | null} The color index.
74
+ */
75
+ get colorIndex(): number | null;
76
+ /**
77
+ * Sets the AutoCAD color index value. If value less than 0 is set, 0 will be used. If value greater than
78
+ * 256 is set, 256 will be used.
79
+ * - 0 indicates that the entity uses the color of the BlockReference that's displaying it. If the entity
80
+ * is not displayed through a block reference (for example, it is directly owned by the model space
81
+ * block table record) and its color is 0, then it will display as though its color were 7.
82
+ * - 256 indicates that the entity uses the color specified in the layer table record it references.
83
+ *
84
+ * @param {number | null} value - The color index to set (0-256).
85
+ */
86
+ set colorIndex(value: number | null);
87
+ /**
88
+ * Gets the name of the current color.
89
+ *
90
+ * @returns {string | null} The color name.
91
+ */
92
+ get colorName(): string | null;
93
+ /**
94
+ * Sets the color by name.
95
+ *
96
+ * @param {string | null} value - The color name to set.
97
+ */
98
+ set colorName(value: string | null);
99
+ /**
100
+ * Checks if the color has a name.
101
+ *
102
+ * @returns {boolean} True if the color has no name, false otherwise.
103
+ */
104
+ get hasColorName(): boolean;
105
+ /**
106
+ * Checks if the color has an index.
107
+ *
108
+ * @returns {boolean} True if the color has no index, false otherwise.
109
+ */
110
+ get hasColorIndex(): boolean;
111
+ /**
112
+ * Checks if the color is set to "ByLayer".
113
+ *
114
+ * @returns {boolean} True if the color is "ByLayer", false otherwise.
115
+ */
116
+ get isByLayer(): boolean;
117
+ /**
118
+ * Sets the color to "ByLayer".
119
+ *
120
+ * @returns {AcCmColor} The current instance.
121
+ */
122
+ setByLayer(): this;
123
+ /**
124
+ * Checks if the color is set to "ByBlock".
125
+ *
126
+ * @returns {boolean} True if the color is "ByBlock", false otherwise.
127
+ */
128
+ get isByBlock(): boolean;
129
+ /**
130
+ * Sets the color to "ByBlock".
131
+ *
132
+ * @returns {AcCmColor} The current instance.
133
+ */
134
+ setByBlock(): this;
135
+ /**
136
+ * Sets the color using a scalar value (RGB).
137
+ *
138
+ * @param {number} scalar - The scalar value (0-255).
139
+ * @returns {AcCmColor} The current instance.
140
+ */
141
+ setScalar(scalar: number): this;
142
+ /**
143
+ * Sets the color using RGB values.
144
+ *
145
+ * @param {number} r - The red component (0-255).
146
+ * @param {number} g - The green component (0-255).
147
+ * @param {number} b - The blue component (0-255).
148
+ * @returns {AcCmColor} The current instance.
149
+ */
150
+ setRGB(r: number, g: number, b: number): this;
151
+ /**
152
+ * Sets the color by name.
153
+ *
154
+ * @param {string} style - The color name to set.
155
+ * @returns {AcCmColor} The current instance.
156
+ */
157
+ setColorName(style: string): this;
158
+ /**
159
+ * Clones the current AcCmColor instance.
160
+ *
161
+ * @returns {AcCmColor} A new AcCmColor instance with the same color and index.
162
+ */
163
+ clone(): this;
164
+ /**
165
+ * Copies the color from another AcCmColor instance.
166
+ *
167
+ * @param {AcCmColor} color - The color to copy from.
168
+ * @returns {AcCmColor} The current instance.
169
+ */
170
+ copy(color: AcCmColor): this;
171
+ /**
172
+ * Checks if two AcCmColor instances are equal.
173
+ *
174
+ * @param {AcCmColor} c - The color to compare with.
175
+ * @returns {boolean} True if the colors and their indices are the same.
176
+ */
177
+ equals(c: AcCmColor): boolean;
178
+ /**
179
+ * Returns a string representation of the color.
180
+ *
181
+ * @returns {string} The color name or hexadecimal string.
182
+ */
183
+ toString(): string;
184
+ /**
185
+ * Finds the color name associated with a given RGB value.
186
+ *
187
+ * @private
188
+ * @param {number} target - The RGB value to find a name for.
189
+ * @returns {string | null} The color name if found, null otherwise.
190
+ */
191
+ private getColorNameByValue;
192
+ /**
193
+ * Finds the AutoCAD color index associated with a given RGB value.
194
+ *
195
+ * @private
196
+ * @param {number} target - The RGB value to find an index for.
197
+ * @returns {number | null} The color index if found, null otherwise.
198
+ */
199
+ private getColorIndexByValue;
200
+ }
201
+ //# sourceMappingURL=AcCmColor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcCmColor.d.ts","sourceRoot":"","sources":["../src/AcCmColor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAoNH;;;;;GAKG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,UAAU,CAAe;IACjC,MAAM,CAAC,KAAK,yBAAiB;IAE7B;;;OAGG;;IAOH;;;;OAIG;IACH,IAAI,KAAK,IASQ,MAAM,GAAG,IAAI,CAP7B;IAED;;;;OAIG;IACH,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAQ7B;IAED;;;;OAIG;IACH,IAAI,QAAQ,WAWX;IAED;;;;OAIG;IACH,IAAI,QAAQ,WAEX;IAED;;;;OAIG;IACH,IAAI,GAAG,kBAEN;IAED;;;;OAIG;IACH,IAAI,KAAK,kBAER;IAED;;;;OAIG;IACH,IAAI,IAAI,kBAEP;IAED;;;;;OAKG;IACH,IAAI,UAAU,IAaQ,MAAM,GAAG,IAAI,CAXlC;IACD;;;;;;;;;OASG;IACH,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAclC;IAED;;;;OAIG;IACH,IAAI,SAAS,IAQQ,MAAM,GAAG,IAAI,CANjC;IACD;;;;OAIG;IACH,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAejC;IAED;;;;OAIG;IACH,IAAI,YAAY,YAEf;IAED;;;;OAIG;IACH,IAAI,aAAa,YAEhB;IAED;;;;OAIG;IACH,IAAI,SAAS,YAEZ;IACD;;;;OAIG;IACH,UAAU;IAKV;;;;OAIG;IACH,IAAI,SAAS,YAEZ;IACD;;;;OAIG;IACH,UAAU;IAKV;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM;IAKxB;;;;;;;OAOG;IACH,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAQtC;;;;;OAKG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM;IAY1B;;;;OAIG;IACH,KAAK;IAQL;;;;;OAKG;IACH,IAAI,CAAC,KAAK,EAAE,SAAS;IAOrB;;;;;OAKG;IACH,MAAM,CAAC,CAAC,EAAE,SAAS;IAQnB;;;;OAIG;IACH,QAAQ;IAYR;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAS3B;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;CAS7B"}