1
0
Fork 0

art: Rewrote index file to avoid use of JS classes

This commit is contained in:
Joost De Cock 2018-12-10 14:08:10 +01:00
parent bd7110b3da
commit 79461b3ba3
2 changed files with 316 additions and 51 deletions

View file

@ -910,18 +910,270 @@
}
}
},
"@freesewing/aaron": {
"version": "0.4.2",
"resolved": "https://registry.npmjs.org/@freesewing/aaron/-/aaron-0.4.2.tgz",
"integrity": "sha512-pXtJjhfLVE97MoMMoUBx07hMdaeWtmtMS+cgO9ctqc7pvTQoE9gbRxQdoTPfGNR8PxtcMh35y111eLf2a+1oCw==",
"requires": {
"@freesewing/brian": "0.14.1"
},
"dependencies": {
"@freesewing/brian": {
"version": "0.14.1",
"resolved": "https://registry.npmjs.org/@freesewing/brian/-/brian-0.14.1.tgz",
"integrity": "sha512-k9TWLNLZIx0cQDlSiJZhrDn2Vn+UBV5Za1qc8lsXI3aTxOkxfU0KX1ydUOCWDzxSB8eSNMrSwqZ8uRe+AKtL5w==",
"requires": {
"@freesewing/plugin-bundle": "0.5.1",
"freesewing": "^0.19"
}
},
"freesewing": {
"version": "0.19.0",
"resolved": "https://registry.npmjs.org/freesewing/-/freesewing-0.19.0.tgz",
"integrity": "sha512-/wSEhF/Z10Pd3IGl3Nq+v/txcOboK21VKdQ1sXuBGp17D6Kq5ah+wbDyBrQRGu0X5sbQo7DazEFZ1kgnxyk5tg==",
"requires": {
"bezier-js": "^2.2.15",
"bin-pack": "1.0.2",
"hooks-fixed": "2.0.2"
}
}
}
},
"@freesewing/antman": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/@freesewing/antman/-/antman-0.2.0.tgz",
"integrity": "sha512-ot9ipuDoHXHgPF5vtIEBa0aV+XVDkpKoNG91yDqaWmh1liXPgQiMAJrvQ+pKGFsGVkaxr61dAv+3B5VOPYiHtg==",
"dev": true
},
"@freesewing/brian": {
"version": "0.14.2",
"resolved": "https://registry.npmjs.org/@freesewing/brian/-/brian-0.14.2.tgz",
"integrity": "sha512-gIbDMhqT4hnLtDrunqlzGqPGgcKOVKfrOT9QryD6w0u7PHENhiOA3qTtRJ8mRKv967wv9M5k1I0J5+GQseCsyw==",
"requires": {
"@freesewing/plugin-bundle": "0.5.1",
"freesewing": "^0.20.1"
}
},
"@freesewing/bruce": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/@freesewing/bruce/-/bruce-0.3.0.tgz",
"integrity": "sha512-kvtu/Y+wxpyPz1tlOhwJBXs09vo0mz0SEIz7ZhFpmjP3AAb5tPKCpvylL2VKkfMGG89/S3YapCaGQRTNYibMQQ==",
"requires": {
"@freesewing/plugin-bundle": "^0.3",
"freesewing": "^0.17"
},
"dependencies": {
"@freesewing/plugin-bundle": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/@freesewing/plugin-bundle/-/plugin-bundle-0.3.0.tgz",
"integrity": "sha512-FUZmGgbrqb3md872w3aXQY+3TReoTeV25ak006UfCBzEJ0lm15QrCanqC46k+0Z6Iv98ChkCo1XZl/kWV1FYFQ==",
"requires": {
"@freesewing/plugin-cutonfold": "0.9.0",
"@freesewing/plugin-dimension": "0.6.1",
"@freesewing/plugin-grainline": "0.0.3",
"@freesewing/plugin-logo": "0.3.3",
"@freesewing/plugin-scalebox": "0.2.0",
"@freesewing/plugin-title": "0.7.0"
}
},
"@freesewing/plugin-cutonfold": {
"version": "0.9.0",
"resolved": "https://registry.npmjs.org/@freesewing/plugin-cutonfold/-/plugin-cutonfold-0.9.0.tgz",
"integrity": "sha512-FZC6bSaDMgXKDzIU5ynByHmiVIVDXKzB9rlxZyldv+q8c0T/xfJ/x15wcey2Bffj/pv37hzLI+CocwGLHjWH7g=="
},
"@freesewing/plugin-dimension": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/@freesewing/plugin-dimension/-/plugin-dimension-0.6.1.tgz",
"integrity": "sha512-OUdF3JyLDIwjHHRyuL0DZnfhykZzozv00AekcVOK3TZ61p+UQO4EK1FbDVczCY5SJx5DpYyuastvZ/FEW3SQMw=="
},
"@freesewing/plugin-grainline": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/@freesewing/plugin-grainline/-/plugin-grainline-0.0.3.tgz",
"integrity": "sha512-Oa+FvjsdDfWxIoXa8bATYwj1Neg6q+gNQWJyX7j1HlJnEflsQtJBB8fqwcGJzeK/QDJauvbAm3sBJP30gMwSTw=="
},
"@freesewing/plugin-logo": {
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/@freesewing/plugin-logo/-/plugin-logo-0.3.3.tgz",
"integrity": "sha512-t9VBoZvFx0tR83bFQMpc4iH/oJaXVr41zX0N8AogTt+FEjnHnZSmCJGTfpYkPtp1mWJSc4ibS95Gyh9c4YNgGA=="
},
"@freesewing/plugin-scalebox": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/@freesewing/plugin-scalebox/-/plugin-scalebox-0.2.0.tgz",
"integrity": "sha512-SskEtAyvYCpjmCHEgjNzuSsMqOyT/ExQVhEdfoS3vjW4I9/uAqhOcI4EYR+gP1N3Ga6yh99hf9gDtSpTJP78pg=="
},
"@freesewing/plugin-title": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/@freesewing/plugin-title/-/plugin-title-0.7.0.tgz",
"integrity": "sha512-LVnokj+SIYPdxehiqoF+RPdLCaCd/MnTBzRebjPWRxGQnywzNyuwgHN8jmJEQGb6dJ/6J4zFEvAm9pS1ID6cug=="
},
"freesewing": {
"version": "0.17.0",
"resolved": "https://registry.npmjs.org/freesewing/-/freesewing-0.17.0.tgz",
"integrity": "sha512-LanZsKfdAan5LQH7HvTlRwF6cFxr64G666OeCY9Ij7NnZ79/+AEuffT0lrLpRa1dNU3SY7BWPlnkA8SMeiB8+Q==",
"requires": {
"bezier-js": "^2.2.13",
"bin-pack": "1.0.2",
"hooks": "^0.3.2"
}
}
}
},
"@freesewing/cathrin": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/@freesewing/cathrin/-/cathrin-0.2.0.tgz",
"integrity": "sha512-HuYLpWunrLrUnBiLc3B4NY2e4EcukIjzLIkPpC2xc2w/FUdDA2Q+FM4sdZLL+VmlkAF7iZjztgI0rh18x1ONBw==",
"requires": {
"@freesewing/plugin-bundle": "^0.3",
"freesewing": "^0.17"
},
"dependencies": {
"@freesewing/plugin-bundle": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/@freesewing/plugin-bundle/-/plugin-bundle-0.3.0.tgz",
"integrity": "sha512-FUZmGgbrqb3md872w3aXQY+3TReoTeV25ak006UfCBzEJ0lm15QrCanqC46k+0Z6Iv98ChkCo1XZl/kWV1FYFQ==",
"requires": {
"@freesewing/plugin-cutonfold": "0.9.0",
"@freesewing/plugin-dimension": "0.6.1",
"@freesewing/plugin-grainline": "0.0.3",
"@freesewing/plugin-logo": "0.3.3",
"@freesewing/plugin-scalebox": "0.2.0",
"@freesewing/plugin-title": "0.7.0"
}
},
"@freesewing/plugin-cutonfold": {
"version": "0.9.0",
"resolved": "https://registry.npmjs.org/@freesewing/plugin-cutonfold/-/plugin-cutonfold-0.9.0.tgz",
"integrity": "sha512-FZC6bSaDMgXKDzIU5ynByHmiVIVDXKzB9rlxZyldv+q8c0T/xfJ/x15wcey2Bffj/pv37hzLI+CocwGLHjWH7g=="
},
"@freesewing/plugin-dimension": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/@freesewing/plugin-dimension/-/plugin-dimension-0.6.1.tgz",
"integrity": "sha512-OUdF3JyLDIwjHHRyuL0DZnfhykZzozv00AekcVOK3TZ61p+UQO4EK1FbDVczCY5SJx5DpYyuastvZ/FEW3SQMw=="
},
"@freesewing/plugin-grainline": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/@freesewing/plugin-grainline/-/plugin-grainline-0.0.3.tgz",
"integrity": "sha512-Oa+FvjsdDfWxIoXa8bATYwj1Neg6q+gNQWJyX7j1HlJnEflsQtJBB8fqwcGJzeK/QDJauvbAm3sBJP30gMwSTw=="
},
"@freesewing/plugin-logo": {
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/@freesewing/plugin-logo/-/plugin-logo-0.3.3.tgz",
"integrity": "sha512-t9VBoZvFx0tR83bFQMpc4iH/oJaXVr41zX0N8AogTt+FEjnHnZSmCJGTfpYkPtp1mWJSc4ibS95Gyh9c4YNgGA=="
},
"@freesewing/plugin-scalebox": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/@freesewing/plugin-scalebox/-/plugin-scalebox-0.2.0.tgz",
"integrity": "sha512-SskEtAyvYCpjmCHEgjNzuSsMqOyT/ExQVhEdfoS3vjW4I9/uAqhOcI4EYR+gP1N3Ga6yh99hf9gDtSpTJP78pg=="
},
"@freesewing/plugin-title": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/@freesewing/plugin-title/-/plugin-title-0.7.0.tgz",
"integrity": "sha512-LVnokj+SIYPdxehiqoF+RPdLCaCd/MnTBzRebjPWRxGQnywzNyuwgHN8jmJEQGb6dJ/6J4zFEvAm9pS1ID6cug=="
},
"freesewing": {
"version": "0.17.0",
"resolved": "https://registry.npmjs.org/freesewing/-/freesewing-0.17.0.tgz",
"integrity": "sha512-LanZsKfdAan5LQH7HvTlRwF6cFxr64G666OeCY9Ij7NnZ79/+AEuffT0lrLpRa1dNU3SY7BWPlnkA8SMeiB8+Q==",
"requires": {
"bezier-js": "^2.2.13",
"bin-pack": "1.0.2",
"hooks": "^0.3.2"
}
}
}
},
"@freesewing/hugo": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/@freesewing/hugo/-/hugo-0.1.0.tgz",
"integrity": "sha512-6wx3UD31WQUlH5zGk7C0sIBgJSlTxSren5+oH4ZyYidoygca60dJ/IQDZw21u5bkNkcU2QN4Qd+kNXgl31Lk6Q==",
"requires": {
"@freesewing/brian": "^0.11",
"@freesewing/plugin-bundle": "^0.3",
"freesewing": "^0.17"
},
"dependencies": {
"@freesewing/brian": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/@freesewing/brian/-/brian-0.11.1.tgz",
"integrity": "sha512-+3xdcBEGKzlGLlmm1z+1C/x77WeByi7O1Q9hQa7Hb9O57mwKK6SmMwUcn6tBx5/fzxOlSpAUUq3WXUf5wK8yXg==",
"requires": {
"@freesewing/plugin-bundle": "^0.3",
"freesewing": "^0.17"
}
},
"@freesewing/plugin-bundle": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/@freesewing/plugin-bundle/-/plugin-bundle-0.3.0.tgz",
"integrity": "sha512-FUZmGgbrqb3md872w3aXQY+3TReoTeV25ak006UfCBzEJ0lm15QrCanqC46k+0Z6Iv98ChkCo1XZl/kWV1FYFQ==",
"requires": {
"@freesewing/plugin-cutonfold": "0.9.0",
"@freesewing/plugin-dimension": "0.6.1",
"@freesewing/plugin-grainline": "0.0.3",
"@freesewing/plugin-logo": "0.3.3",
"@freesewing/plugin-scalebox": "0.2.0",
"@freesewing/plugin-title": "0.7.0"
}
},
"@freesewing/plugin-cutonfold": {
"version": "0.9.0",
"resolved": "https://registry.npmjs.org/@freesewing/plugin-cutonfold/-/plugin-cutonfold-0.9.0.tgz",
"integrity": "sha512-FZC6bSaDMgXKDzIU5ynByHmiVIVDXKzB9rlxZyldv+q8c0T/xfJ/x15wcey2Bffj/pv37hzLI+CocwGLHjWH7g=="
},
"@freesewing/plugin-dimension": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/@freesewing/plugin-dimension/-/plugin-dimension-0.6.1.tgz",
"integrity": "sha512-OUdF3JyLDIwjHHRyuL0DZnfhykZzozv00AekcVOK3TZ61p+UQO4EK1FbDVczCY5SJx5DpYyuastvZ/FEW3SQMw=="
},
"@freesewing/plugin-grainline": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/@freesewing/plugin-grainline/-/plugin-grainline-0.0.3.tgz",
"integrity": "sha512-Oa+FvjsdDfWxIoXa8bATYwj1Neg6q+gNQWJyX7j1HlJnEflsQtJBB8fqwcGJzeK/QDJauvbAm3sBJP30gMwSTw=="
},
"@freesewing/plugin-logo": {
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/@freesewing/plugin-logo/-/plugin-logo-0.3.3.tgz",
"integrity": "sha512-t9VBoZvFx0tR83bFQMpc4iH/oJaXVr41zX0N8AogTt+FEjnHnZSmCJGTfpYkPtp1mWJSc4ibS95Gyh9c4YNgGA=="
},
"@freesewing/plugin-scalebox": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/@freesewing/plugin-scalebox/-/plugin-scalebox-0.2.0.tgz",
"integrity": "sha512-SskEtAyvYCpjmCHEgjNzuSsMqOyT/ExQVhEdfoS3vjW4I9/uAqhOcI4EYR+gP1N3Ga6yh99hf9gDtSpTJP78pg=="
},
"@freesewing/plugin-title": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/@freesewing/plugin-title/-/plugin-title-0.7.0.tgz",
"integrity": "sha512-LVnokj+SIYPdxehiqoF+RPdLCaCd/MnTBzRebjPWRxGQnywzNyuwgHN8jmJEQGb6dJ/6J4zFEvAm9pS1ID6cug=="
},
"freesewing": {
"version": "0.17.0",
"resolved": "https://registry.npmjs.org/freesewing/-/freesewing-0.17.0.tgz",
"integrity": "sha512-LanZsKfdAan5LQH7HvTlRwF6cFxr64G666OeCY9Ij7NnZ79/+AEuffT0lrLpRa1dNU3SY7BWPlnkA8SMeiB8+Q==",
"requires": {
"bezier-js": "^2.2.13",
"bin-pack": "1.0.2",
"hooks": "^0.3.2"
}
}
}
},
"@freesewing/models": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/@freesewing/models/-/models-0.4.0.tgz",
"integrity": "sha512-0LlNkdertF5wkMtmzq4mUZoMMMOZ9Tx5ByMzz45tk+MOLaHQbiQxR5vJKCSVmn8G54MBAgFZCeGLDPHKiVRo/w==",
"dev": true
},
"@freesewing/patterns": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/@freesewing/patterns/-/patterns-0.3.0.tgz",
"integrity": "sha512-wZwbRKkdCApBVqevd+CHa1SNRqQ1qwAMCfFzvTRoavLOyqAdw1fJXyUS3Qlzu6+e8V+1UiaBGG26ShTFpJLm1A==",
"requires": {
"@freesewing/aaron": "^0.4",
"@freesewing/brian": "^0.14",
"@freesewing/bruce": "^0.3",
"@freesewing/cathrin": "^0.2",
"@freesewing/hugo": "^0.1"
}
},
"@freesewing/plugin-bundle": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/@freesewing/plugin-bundle/-/plugin-bundle-0.5.1.tgz",
@ -2750,13 +3002,13 @@
}
},
"freesewing": {
"version": "0.19.0",
"resolved": "https://registry.npmjs.org/freesewing/-/freesewing-0.19.0.tgz",
"integrity": "sha512-/wSEhF/Z10Pd3IGl3Nq+v/txcOboK21VKdQ1sXuBGp17D6Kq5ah+wbDyBrQRGu0X5sbQo7DazEFZ1kgnxyk5tg==",
"version": "0.20.1",
"resolved": "https://registry.npmjs.org/freesewing/-/freesewing-0.20.1.tgz",
"integrity": "sha512-/L9W+NU6QUwY619GLjbcvZRRj7A0QUk3qVjHoqqKYU3E07TB3GP2OGf/IoCXmC8cy9Pp7T5DBylBjVWFrs2Kgg==",
"requires": {
"@freesewing/patterns": "0.3.0",
"bezier-js": "^2.2.15",
"bin-pack": "1.0.2",
"hooks-fixed": "2.0.2"
"bin-pack": "1.0.2"
}
},
"fs-constants": {
@ -3033,6 +3285,11 @@
"os-tmpdir": "^1.0.1"
}
},
"hooks": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/hooks/-/hooks-0.3.2.tgz",
"integrity": "sha1-ox8GDCAmzqbPHKPrF4Qw5xjhxKM="
},
"hooks-fixed": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/hooks-fixed/-/hooks-fixed-2.0.2.tgz",

View file

@ -8,26 +8,32 @@ import front from "./front";
import sleevecap from "./sleevecap";
import sleeve from "./sleeve";
export default class Brian extends freesewing.Pattern {
constructor(settings = false) {
super({ version: version, ...config }).with(pluginBundle);
const Brian = function(settings = false) {
// Make this a new freesewing.Pattern instance
freesewing.Pattern.call(this, { version: version, ...config });
// Load plugins
this.with(pluginBundle);
// Inject settings passed to the constructor
if (settings !== false) {
for (let key of Object.keys(settings)) {
this.settings[key] = settings[key];
}
}
}
};
_draft() {
// Setup inheritance
Brian.prototype = Object.create(freesewing.Pattern.prototype);
Brian.prototype.constructor = Brian;
// Draft method
Brian.prototype._draft = function() {
this.parts.base = this.draftBase(this.createPart());
if (!this.needs("base", true)) this.parts.base.render = false;
if (this.needs(["back", "front", "sleeve", "sleevecap"])) {
this.parts.back = this.draftBack(this.createPart().copy(this.parts.base));
}
if (this.needs(["front", "sleeve", "sleevecap"])) {
this.parts.front = this.draftFront(
this.createPart().copy(this.parts.back)
);
this.parts.front = this.draftFront(this.createPart().copy(this.parts.back));
}
if (this.needs(["sleeve", "sleevecap"])) {
this.parts.sleevecap = this.draftSleevecap(this.createPart());
@ -41,21 +47,23 @@ export default class Brian extends freesewing.Pattern {
}
return this;
}
};
draftBase(part) {
// Per-part draft methods
Brian.prototype.draftBase = function(part) {
return base.draft(part);
}
draftBack(part) {
};
Brian.prototype.draftBack = function(part) {
return back.draft(part);
}
draftFront(part) {
};
Brian.prototype.draftFront = function(part) {
return front.draft(part);
}
draftSleevecap(part) {
};
Brian.prototype.draftSleevecap = function(part) {
return sleevecap.draft(part);
}
draftSleeve(part) {
};
Brian.prototype.draftSleeve = function(part) {
return sleeve.draft(part);
}
}
};
export default Brian;