ð§ Question time
This commit is contained in:
parent
38ccf65789
commit
20eafd4a99
17 changed files with 123 additions and 44 deletions
2
dist/index.d.ts
vendored
2
dist/index.d.ts
vendored
|
@ -1,8 +1,10 @@
|
||||||
import pattern from './lib/pattern';
|
import pattern from './lib/pattern';
|
||||||
|
import point from './lib/point';
|
||||||
import bezier from 'bezier-js';
|
import bezier from 'bezier-js';
|
||||||
declare var Freesewing: {
|
declare var Freesewing: {
|
||||||
version: string;
|
version: string;
|
||||||
pattern: typeof pattern;
|
pattern: typeof pattern;
|
||||||
|
point: typeof point;
|
||||||
bezier: typeof bezier;
|
bezier: typeof bezier;
|
||||||
};
|
};
|
||||||
export default Freesewing;
|
export default Freesewing;
|
||||||
|
|
2
dist/index.js
vendored
2
dist/index.js
vendored
|
@ -4,10 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
var pattern_1 = __importDefault(require("./lib/pattern"));
|
var pattern_1 = __importDefault(require("./lib/pattern"));
|
||||||
|
var point_1 = __importDefault(require("./lib/point"));
|
||||||
var bezier_js_1 = __importDefault(require("bezier-js"));
|
var bezier_js_1 = __importDefault(require("bezier-js"));
|
||||||
var Freesewing = {
|
var Freesewing = {
|
||||||
version: '0.0.1',
|
version: '0.0.1',
|
||||||
pattern: pattern_1.default,
|
pattern: pattern_1.default,
|
||||||
|
point: point_1.default,
|
||||||
bezier: bezier_js_1.default
|
bezier: bezier_js_1.default
|
||||||
};
|
};
|
||||||
exports.default = Freesewing;
|
exports.default = Freesewing;
|
||||||
|
|
21
dist/lib/model.d.ts
vendored
21
dist/lib/model.d.ts
vendored
|
@ -1,7 +1,16 @@
|
||||||
import { PatternOption } from './types';
|
import { PatternConfig } from './types';
|
||||||
export default class Model {
|
import Part from './part';
|
||||||
id: string;
|
import Option from './option';
|
||||||
config: PatternOption;
|
export default class Pattern {
|
||||||
val: number;
|
config: PatternConfig;
|
||||||
constructor(config: PatternOption);
|
parts: {
|
||||||
|
[propName: string]: Part;
|
||||||
|
};
|
||||||
|
options: {
|
||||||
|
[propName: string]: Option;
|
||||||
|
};
|
||||||
|
constructor(config: PatternConfig);
|
||||||
|
draft(config: object): void;
|
||||||
|
getOption(id: string | number): any;
|
||||||
|
o(id: string | number): any;
|
||||||
}
|
}
|
||||||
|
|
34
dist/lib/model.js
vendored
34
dist/lib/model.js
vendored
|
@ -1,12 +1,34 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||||
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||||
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
var Model = /** @class */ (function () {
|
var part_1 = __importDefault(require("./part"));
|
||||||
function Model(config) {
|
var option_1 = __importDefault(require("./option"));
|
||||||
this.id = config.id;
|
var Pattern = /** @class */ (function () {
|
||||||
|
function Pattern(config) {
|
||||||
this.config = config;
|
this.config = config;
|
||||||
this.val = config.val;
|
this.parts = {};
|
||||||
|
for (var _i = 0, _a = config.parts; _i < _a.length; _i++) {
|
||||||
|
var id = _a[_i];
|
||||||
|
this.parts[id] = new part_1.default(id);
|
||||||
|
}
|
||||||
|
this.options = {};
|
||||||
|
for (var _b = 0, _c = config.options; _b < _c.length; _b++) {
|
||||||
|
var conf = _c[_b];
|
||||||
|
this.options[conf.id] = new option_1.default(conf);
|
||||||
|
}
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
return Model;
|
Pattern.prototype.draft = function (config) {
|
||||||
|
throw Error('You have to implement the draft() method in your Pattern instance.');
|
||||||
|
};
|
||||||
|
Pattern.prototype.getOption = function (id) {
|
||||||
|
return this.options[id].val;
|
||||||
|
};
|
||||||
|
Pattern.prototype.o = function (id) {
|
||||||
|
return this.getOption(id);
|
||||||
|
};
|
||||||
|
return Pattern;
|
||||||
}());
|
}());
|
||||||
exports.default = Model;
|
exports.default = Pattern;
|
||||||
|
|
10
dist/lib/part.d.ts
vendored
10
dist/lib/part.d.ts
vendored
|
@ -1,4 +1,10 @@
|
||||||
|
import Point from './point';
|
||||||
export default class Part {
|
export default class Part {
|
||||||
id: string;
|
id: string | number;
|
||||||
constructor(id: string);
|
points: {
|
||||||
|
[index: string]: Point;
|
||||||
|
};
|
||||||
|
[propName: string]: any;
|
||||||
|
constructor(id: string | number);
|
||||||
|
newPoint(id: string | number, x: number, y: number): void;
|
||||||
}
|
}
|
||||||
|
|
8
dist/lib/part.js
vendored
8
dist/lib/part.js
vendored
|
@ -1,10 +1,18 @@
|
||||||
"use strict";
|
"use strict";
|
||||||
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||||
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||||
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
var point_1 = __importDefault(require("./point"));
|
||||||
var Part = /** @class */ (function () {
|
var Part = /** @class */ (function () {
|
||||||
function Part(id) {
|
function Part(id) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
|
this.points = {};
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
Part.prototype.newPoint = function (id, x, y) {
|
||||||
|
this.points[id] = new point_1.default(x, y);
|
||||||
|
};
|
||||||
return Part;
|
return Part;
|
||||||
}());
|
}());
|
||||||
exports.default = Part;
|
exports.default = Part;
|
||||||
|
|
2
dist/lib/pattern.d.ts
vendored
2
dist/lib/pattern.d.ts
vendored
|
@ -11,4 +11,6 @@ export default class Pattern {
|
||||||
};
|
};
|
||||||
constructor(config: PatternConfig);
|
constructor(config: PatternConfig);
|
||||||
draft(config: object): void;
|
draft(config: object): void;
|
||||||
|
getOption(id: string | number): any;
|
||||||
|
o(id: string | number): any;
|
||||||
}
|
}
|
||||||
|
|
6
dist/lib/pattern.js
vendored
6
dist/lib/pattern.js
vendored
|
@ -23,6 +23,12 @@ var Pattern = /** @class */ (function () {
|
||||||
Pattern.prototype.draft = function (config) {
|
Pattern.prototype.draft = function (config) {
|
||||||
throw Error('You have to implement the draft() method in your Pattern instance.');
|
throw Error('You have to implement the draft() method in your Pattern instance.');
|
||||||
};
|
};
|
||||||
|
Pattern.prototype.getOption = function (id) {
|
||||||
|
return this.options[id].val;
|
||||||
|
};
|
||||||
|
Pattern.prototype.o = function (id) {
|
||||||
|
return this.getOption(id);
|
||||||
|
};
|
||||||
return Pattern;
|
return Pattern;
|
||||||
}());
|
}());
|
||||||
exports.default = Pattern;
|
exports.default = Pattern;
|
||||||
|
|
5
dist/lib/point.d.ts
vendored
Normal file
5
dist/lib/point.d.ts
vendored
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
export default class Point {
|
||||||
|
x: number;
|
||||||
|
y: number;
|
||||||
|
constructor(x: number, y: number);
|
||||||
|
}
|
12
dist/lib/point.js
vendored
Normal file
12
dist/lib/point.js
vendored
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
"use strict";
|
||||||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
var PRECISION = 2;
|
||||||
|
var Point = /** @class */ (function () {
|
||||||
|
function Point(x, y) {
|
||||||
|
this.x = +x.toFixed(PRECISION);
|
||||||
|
this.y = +y.toFixed(PRECISION);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
return Point;
|
||||||
|
}());
|
||||||
|
exports.default = Point;
|
5
dist/lib/types.d.ts
vendored
5
dist/lib/types.d.ts
vendored
|
@ -19,11 +19,6 @@ export interface PatternConfig {
|
||||||
options: PatternOption[];
|
options: PatternOption[];
|
||||||
[propName: string]: any;
|
[propName: string]: any;
|
||||||
}
|
}
|
||||||
export declare type Pattern = {
|
|
||||||
parts: string[];
|
|
||||||
measurements: string[];
|
|
||||||
config: PatternConfig;
|
|
||||||
};
|
|
||||||
export declare type DraftMode = "sample" | "compare" | "draft";
|
export declare type DraftMode = "sample" | "compare" | "draft";
|
||||||
export declare type CompareGroup = "men" | "women";
|
export declare type CompareGroup = "men" | "women";
|
||||||
export declare type Units = "metric" | "imperial";
|
export declare type Units = "metric" | "imperial";
|
||||||
|
|
2
index.ts
2
index.ts
|
@ -1,9 +1,11 @@
|
||||||
import pattern from './lib/pattern'
|
import pattern from './lib/pattern'
|
||||||
|
import point from './lib/point'
|
||||||
import bezier from 'bezier-js'
|
import bezier from 'bezier-js'
|
||||||
|
|
||||||
var Freesewing = {
|
var Freesewing = {
|
||||||
version: '0.0.1',
|
version: '0.0.1',
|
||||||
pattern,
|
pattern,
|
||||||
|
point,
|
||||||
bezier
|
bezier
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
14
lib/model.ts
14
lib/model.ts
|
@ -1,14 +0,0 @@
|
||||||
import { PatternOption } from './types'
|
|
||||||
export default class Model {
|
|
||||||
id: string;
|
|
||||||
config: PatternOption;
|
|
||||||
val: number;
|
|
||||||
|
|
||||||
constructor(config: PatternOption) {
|
|
||||||
this.id = config.id;
|
|
||||||
this.config = config;
|
|
||||||
this.val = config.val;
|
|
||||||
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
}
|
|
15
lib/part.ts
15
lib/part.ts
|
@ -1,11 +1,20 @@
|
||||||
import { PatternOption } from './types'
|
import Point from './point'
|
||||||
|
|
||||||
export default class Part {
|
export default class Part {
|
||||||
id: string;
|
id: string | number;
|
||||||
|
points: {
|
||||||
|
[index: string]: Point;
|
||||||
|
}
|
||||||
|
[propName: string]: any;
|
||||||
|
|
||||||
constructor(id: string) {
|
constructor(id: string | number) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
|
this.points = {};
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
newPoint(id: string | number, x: number, y: number) {
|
||||||
|
this.points[id] = new Point(x, y);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,4 +26,12 @@ export default class Pattern {
|
||||||
draft(config: object): void {
|
draft(config: object): void {
|
||||||
throw Error('You have to implement the draft() method in your Pattern instance.');
|
throw Error('You have to implement the draft() method in your Pattern instance.');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getOption(id: string | number): any {
|
||||||
|
return this.options[id].val;
|
||||||
|
}
|
||||||
|
|
||||||
|
o(id: string | number): any {
|
||||||
|
return this.getOption(id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
13
lib/point.ts
Normal file
13
lib/point.ts
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
const PRECISION = 2;
|
||||||
|
|
||||||
|
export default class Point {
|
||||||
|
x: number;
|
||||||
|
y: number;
|
||||||
|
|
||||||
|
constructor(x: number, y: number) {
|
||||||
|
this.x = +x.toFixed(PRECISION);
|
||||||
|
this.y = +y.toFixed(PRECISION);
|
||||||
|
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
}
|
|
@ -22,12 +22,6 @@ export interface PatternConfig {
|
||||||
[propName: string]: any;
|
[propName: string]: any;
|
||||||
}
|
}
|
||||||
|
|
||||||
export type Pattern = {
|
|
||||||
parts: string[];
|
|
||||||
measurements: string[];
|
|
||||||
config: PatternConfig;
|
|
||||||
}
|
|
||||||
|
|
||||||
export type DraftMode = "sample" | "compare" | "draft";
|
export type DraftMode = "sample" | "compare" | "draft";
|
||||||
export type CompareGroup = "men" | "women";
|
export type CompareGroup = "men" | "women";
|
||||||
export type Units = "metric" | "imperial";
|
export type Units = "metric" | "imperial";
|
||||||
|
@ -43,5 +37,3 @@ export interface DraftConfig {
|
||||||
scope?: string[];
|
scope?: string[];
|
||||||
theme?: string;
|
theme?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue