1
0
Fork 0
freesewing/packages/pattern-bundle/src/index.js
2019-04-19 08:28:41 +02:00

39 lines
1.2 KiB
JavaScript

import Aaron from "@freesewing/aaron";
import Brian from "@freesewing/brian";
import Bruce from "@freesewing/bruce";
import Cathrin from "@freesewing/cathrin";
import Hugo from "@freesewing/hugo";
import Simon from "@freesewing/simon";
import info from "./info";
const capitalize = string => string.charAt(0).toUpperCase() + string.slice(1);
const uncapitalize = string => string.charAt(0).toLowerCase() + string.slice(1);
export const patterns = {
Aaron,
Brian,
Bruce,
Cathrin,
Hugo,
Simon
};
export const patternList = Object.keys(patterns).map(p => uncapitalize(p));
let list = [];
for (let p of patternList) {
let pattern = new patterns[(capitalize(p))]();
for (let m of pattern.config.measurements) list.push(m);
info[p].version = pattern.config.version;
info[p].measurements = pattern.config.measurements;
info[p].options = [];
for (let o of Object.keys(pattern.config.options)) {
if (typeof pattern.config.options[o] === "object") info[p].options.push(o);
}
info[p].config = pattern.config;
}
export const patternInfo = info;
export const measurementList = list.filter(function(value, index, self) {
return self.indexOf(value) === index;
});