chore(core): Keep defaults in config.mjs
This commit is contained in:
parent
0cbffd6dc6
commit
c72c1ec485
3 changed files with 26 additions and 22 deletions
22
packages/core/src/config.mjs
Normal file
22
packages/core/src/config.mjs
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
export const loadDesignDefaults = () => ({
|
||||||
|
measurements: [],
|
||||||
|
optionalMeasurements: [],
|
||||||
|
options: {},
|
||||||
|
parts: [],
|
||||||
|
data: {},
|
||||||
|
plugins: [],
|
||||||
|
})
|
||||||
|
|
||||||
|
export const loadPatternDefaults = () => ({
|
||||||
|
complete: true,
|
||||||
|
idPrefix: 'fs-',
|
||||||
|
locale: 'en',
|
||||||
|
units: 'metric',
|
||||||
|
margin: 2,
|
||||||
|
scale: 1,
|
||||||
|
layout: true,
|
||||||
|
debug: false,
|
||||||
|
options: {},
|
||||||
|
absoluteOptions: {},
|
||||||
|
})
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import { Pattern } from './pattern.mjs'
|
import { Pattern } from './pattern.mjs'
|
||||||
import { addPartConfig } from './utils.mjs'
|
import { addPartConfig } from './utils.mjs'
|
||||||
|
import { loadDesignDefaults } from './config.mjs'
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The Design constructor. Returns a Pattern constructor
|
* The Design constructor. Returns a Pattern constructor
|
||||||
|
@ -8,15 +9,7 @@ import { addPartConfig } from './utils.mjs'
|
||||||
export function Design(config) {
|
export function Design(config) {
|
||||||
|
|
||||||
// Initialize config with defaults
|
// Initialize config with defaults
|
||||||
config = {
|
config = { ...loadDesignDefaults(), ...config }
|
||||||
measurements: [],
|
|
||||||
optionalMeasurements: [],
|
|
||||||
options: {},
|
|
||||||
parts: [],
|
|
||||||
data: {},
|
|
||||||
plugins: [],
|
|
||||||
...config
|
|
||||||
}
|
|
||||||
|
|
||||||
// Create the pattern constructor
|
// Create the pattern constructor
|
||||||
const pattern = function (settings) {
|
const pattern = function (settings) {
|
||||||
|
|
|
@ -16,6 +16,7 @@ import { Svg } from './svg.mjs'
|
||||||
import { Store } from './store.mjs'
|
import { Store } from './store.mjs'
|
||||||
import { Hooks } from './hooks.mjs'
|
import { Hooks } from './hooks.mjs'
|
||||||
import { version } from '../data.mjs'
|
import { version } from '../data.mjs'
|
||||||
|
import { loadPatternDefaults } from './config.mjs'
|
||||||
|
|
||||||
export function Pattern(config) {
|
export function Pattern(config) {
|
||||||
// Non-enumerable properties
|
// Non-enumerable properties
|
||||||
|
@ -824,19 +825,7 @@ Pattern.prototype.getRenderProps = function () {
|
||||||
|
|
||||||
// Merges settings object with default settings
|
// Merges settings object with default settings
|
||||||
Pattern.prototype.__applySettings = function (settings) {
|
Pattern.prototype.__applySettings = function (settings) {
|
||||||
this.settings = {
|
this.settings = { ...loadPatternDefaults(), ...settings }
|
||||||
complete: true,
|
|
||||||
idPrefix: 'fs-',
|
|
||||||
locale: 'en',
|
|
||||||
units: 'metric',
|
|
||||||
margin: 2,
|
|
||||||
scale: 1,
|
|
||||||
layout: true,
|
|
||||||
debug: false,
|
|
||||||
options: {},
|
|
||||||
absoluteOptions: {},
|
|
||||||
...settings
|
|
||||||
}
|
|
||||||
|
|
||||||
return this
|
return this
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue