UNPKG

fabric

Version:

Object model for HTML5 canvas, and SVG-to-canvas parser. Backed by jsdom and node-canvas.

1 lines 3.42 kB
{"version":3,"file":"CommonMethods.mjs","sources":["../../src/CommonMethods.ts"],"sourcesContent":["import { Observable } from './Observable';\n\nexport class CommonMethods<EventSpec> extends Observable<EventSpec> {\n /**\n * Sets object's properties from options, for initialization only\n * @protected\n * @param {Object} [options] Options object\n */\n protected _setOptions(options: any = {}) {\n for (const prop in options) {\n this.set(prop, options[prop]);\n }\n }\n\n /**\n * @private\n */\n _setObject(obj: Record<string, any>) {\n for (const prop in obj) {\n this._set(prop, obj[prop]);\n }\n }\n\n /**\n * Sets property to a given value. When changing position/dimension -related properties (left, top, scale, angle, etc.) `set` does not update position of object's borders/controls. If you need to update those, call `setCoords()`.\n * @param {String|Object} key Property name or object (if object, iterate over the object properties)\n * @param {Object|Function} value Property value (if function, the value is passed into it and its return value is used as a new one)\n */\n set(key: string | Record<string, any>, value?: any) {\n if (typeof key === 'object') {\n this._setObject(key);\n } else {\n this._set(key, value);\n }\n return this;\n }\n\n _set(key: string, value: any) {\n this[key as keyof this] = value;\n }\n\n /**\n * Toggles specified property from `true` to `false` or from `false` to `true`\n * @param {String} property Property to toggle\n */\n toggle(property: string) {\n const value = this.get(property);\n if (typeof value === 'boolean') {\n this.set(property, !value);\n }\n return this;\n }\n\n /**\n * Basic getter\n * @param {String} property Property name\n * @return {*} value of a property\n */\n get(property: string): any {\n return this[property as keyof this];\n }\n}\n"],"names":["CommonMethods","Observable","_setOptions","options","arguments","length","undefined","prop","set","_setObject","obj","_set","key","value","toggle","property","get"],"mappings":";;AAEO,MAAMA,aAAa,SAAoBC,UAAU,CAAY;AAClE;AACF;AACA;AACA;AACA;AACYC,EAAAA,WAAWA,GAAoB;AAAA,IAAA,IAAnBC,OAAY,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE,CAAA;AACrC,IAAA,KAAK,MAAMG,IAAI,IAAIJ,OAAO,EAAE;MAC1B,IAAI,CAACK,GAAG,CAACD,IAAI,EAAEJ,OAAO,CAACI,IAAI,CAAC,CAAC,CAAA;AAC/B,KAAA;AACF,GAAA;;AAEA;AACF;AACA;EACEE,UAAUA,CAACC,GAAwB,EAAE;AACnC,IAAA,KAAK,MAAMH,IAAI,IAAIG,GAAG,EAAE;MACtB,IAAI,CAACC,IAAI,CAACJ,IAAI,EAAEG,GAAG,CAACH,IAAI,CAAC,CAAC,CAAA;AAC5B,KAAA;AACF,GAAA;;AAEA;AACF;AACA;AACA;AACA;AACEC,EAAAA,GAAGA,CAACI,GAAiC,EAAEC,KAAW,EAAE;AAClD,IAAA,IAAI,OAAOD,GAAG,KAAK,QAAQ,EAAE;AAC3B,MAAA,IAAI,CAACH,UAAU,CAACG,GAAG,CAAC,CAAA;AACtB,KAAC,MAAM;AACL,MAAA,IAAI,CAACD,IAAI,CAACC,GAAG,EAAEC,KAAK,CAAC,CAAA;AACvB,KAAA;AACA,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;AAEAF,EAAAA,IAAIA,CAACC,GAAW,EAAEC,KAAU,EAAE;AAC5B,IAAA,IAAI,CAACD,GAAG,CAAe,GAAGC,KAAK,CAAA;AACjC,GAAA;;AAEA;AACF;AACA;AACA;EACEC,MAAMA,CAACC,QAAgB,EAAE;AACvB,IAAA,MAAMF,KAAK,GAAG,IAAI,CAACG,GAAG,CAACD,QAAQ,CAAC,CAAA;AAChC,IAAA,IAAI,OAAOF,KAAK,KAAK,SAAS,EAAE;AAC9B,MAAA,IAAI,CAACL,GAAG,CAACO,QAAQ,EAAE,CAACF,KAAK,CAAC,CAAA;AAC5B,KAAA;AACA,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;;AAEA;AACF;AACA;AACA;AACA;EACEG,GAAGA,CAACD,QAAgB,EAAO;IACzB,OAAO,IAAI,CAACA,QAAQ,CAAe,CAAA;AACrC,GAAA;AACF;;;;"}