1
0
Fork 0

chore(core): Keep defaults in config.mjs

This commit is contained in:
Joost De Cock 2022-09-09 20:29:31 +02:00
parent 0cbffd6dc6
commit c72c1ec485
3 changed files with 26 additions and 22 deletions

View 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: {},
})

View file

@ -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) {

View file

@ -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
} }