39 lines
1.2 KiB
JavaScript
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;
|
|
});
|