Design

The Design named export in FreeSewing’s core library is a constructor that creates new pattern designs.

Signature

Javascript
Pattern Design({
  array parts,
  object data
})

Example

Javascript
const Sorcha = new Design({ 
  // design configuration here
})

This constructor creates a new pattern design. It takes a single argument, an object holding the design’s configuration.

Design configuration

Since a design’s configuration is managed at the part level, the Design configuration object only requires a parts property that should hold an array of parts to include in the Design.

Javascript
const Sorcha = new Design({ 
  parts: [ front, back, sleeve ],
})
TIP
A Design in FreeSewing is little more than a container for various Parts

Optionally, you can also pass it a data attribute to hold any custom data you’d like to add to your Design.

Any data you add to the Design constructor will be added to the Store.

Javascript
const Sorcha = new Design({ 
  parts: [ front, back, sleeve ],
  data: {
    version: 3,
    price: 12,
    currency: 'euro'
  }
})

Notes

The Design constructor is a super-constructor. It will return a constructor method that will a pattern based on your design.

Properties

In addition to the returned constructor method, an instantiated Design object also provides the following properties:

Design.designConfig

This holds the design configuration as passed to the Design constructor.

Design.patternConfig

Holds the resolved pattern configuration based on the configuration passed to the Design constructor.