1
0
Fork 0
freesewing/src/part.js
2018-07-23 20:14:32 +02:00

32 lines
714 B
JavaScript

import { macroName } from "./utils";
import point from "./point";
import attributes from "./attributes";
import * as hooklib from "hooks";
function part(id) {
this.attributes = new attributes();
this.points = {};
this.paths = {};
this.snippets = {};
this.id = id;
this.render = id.substr(0, 1) === "_" ? false : true;
this.points.origin = new point(0, 0);
for (let k in hooklib) this[k] = hooklib[k];
return this;
}
part.prototype.macroRunner = function(args) {
let self = this;
let data = args;
let method = function(key, data) {
let macro = macroName(key);
if (typeof self[macro] === "function") {
self[macro](data);
}
};
return method;
};
export default part;