@stdlib/esm
Version:
ES module distribution for Stdlib, a standard library for JavaScript and Node.js.
3 lines • 3.77 kB
JavaScript
// This file is a part of stdlib. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0
import e from"./../../../vendor/events.js";import t from"./../../../vendor/debug.js";import r from"./../../../utils/define-property.js";import i from"./../../../utils/define-read-only-property.js";import n from"./../../../utils/copy.js";import a from"./../../../utils/keys.js";import o from"./../../../assert/is-plain-object.js";import u from"./../../../assert/has-own-property.js";import s from"./../../../assert/is-positive-number.js";import h from"./../../../assert/is-boolean.js";import l from"./../../../vendor/virtual-dom/h.js";var v=400,d=400,m=!1,p={width:v,height:d,autoRender:m},f=s.isPrimitive;function c(e){return f(e)?null:new TypeError("invalid value. `width` must be a positive number. Value: `"+e+".`")}var g=s.isPrimitive;function w(e){return g(e)?null:new TypeError("invalid value. `height` must be a positive number. Value: `"+e+".`")}var b=h.isPrimitive;function y(e){return b(e)?null:new TypeError("invalid value. `autoRender` must be a boolean primitive. Value: `"+e+".`")}var _=c,R=w,j=y,E={width:_,height:R,autoRender:j},N=a,V=o,O=u,C=E,T=N(C);function P(e,t){var r,i,n,a;if(!V(t))return new TypeError("invalid argument. Options argument must be an object. Value: `"+t+"`.");for(a=0;a<T.length;a++)if(i=T[a],O(t,i)){if(n=t[i],r=C[i](n))return r;e[i]=n}return null}var J="change",S="change",k="change",x={width:J,height:S,autoRender:k},A=x;function D(e){return A[e]}var G=t,M=D,q=c,z=G("canvas:set:width"),B=M("width");function F(e){var t=q(e);if(t)throw t;z("Current value: %d.",this._width),this._width=e,z("New value: %d.",this._width),this.emit(B)}function H(){return this._width}var I=t,K=D,L=w,Q=I("canvas:set:height"),U=K("height");function W(e){var t=L(e);if(t)throw t;Q("Current value: %d.",this._height),this._height=e,Q("New Value: %d.",this._height),this.emit(U)}function X(){return this._height}var Y=t,Z=D,$=y,ee=Y("canvas:set:auto-render"),te=Z("autoRender");function re(e){var t=$(e);if(t)throw t;ee("Current value: %d.",this._autoRender),this._autoRender=e,ee("New Value: %d.",this._autoRender),this.emit(te)}function ie(){return this._autoRender}var ne=t,ae=l,oe=ne("canvas:render"),ue="svg";function se(){var e,t;return oe("Rendering..."),e={namespace:"http://www.w3.org/2000/svg",property:"canvas",className:"canvas",attributes:{width:this.width,height:this.height}},oe("Generating a virtual DOM tree (%s) with properties: %s.",ue,JSON.stringify(e)),t=ae(ue,e,[]),this.emit("_render",t),t}var he=e.EventEmitter,le=t,ve=r,de=i,me=n,pe=p,fe=P,ce=F,ge=H,we=W,be=X,ye=re,_e=ie,Re=se,je=le("canvas:main");function Ee(e){var t,r,i;if(!(this instanceof Ee))return new Ee(e);if(t=this,r=me(pe),i=fe(r,e))throw i;return je("Creating an instance with the following configuration: %s.",JSON.stringify(r)),he.call(this),ve(this,"_width",{configurable:!1,enumerable:!1,writable:!0,value:r.width}),ve(this,"_height",{configurable:!1,enumerable:!1,writable:!0,value:r.height}),ve(this,"_autoRender",{configurable:!1,enumerable:!1,writable:!0,value:r.autoRender}),this.on("change",(function(){je("Received a change event."),t._autoRender&&t.render()})),this.on("_render",(function(){var e,r;for(je("Received a render event. Re-emitting..."),(e=new Array(arguments.length+1))[0]="render",r=0;r<arguments.length;r++)e[r+1]=arguments[r];t.emit.apply(t,e)})),this}Ee.prototype=Object.create(he.prototype),Ee.prototype.constructor=Ee,ve(Ee.prototype,"width",{configurable:!1,enumerable:!0,set:ce,get:ge}),ve(Ee.prototype,"height",{configurable:!1,enumerable:!0,set:we,get:be}),ve(Ee.prototype,"autoRender",{configurable:!1,enumerable:!0,set:ye,get:_e}),de(Ee.prototype,"render",Re);var Ne=Ee;export default Ne;
//# sourceMappingURL=canvas.js.map