From c72c1ec485eb2596f919bb038bc3d38398509ac8 Mon Sep 17 00:00:00 2001 From: Joost De Cock Date: Fri, 9 Sep 2022 20:29:31 +0200 Subject: [PATCH] chore(core): Keep defaults in config.mjs --- packages/core/src/config.mjs | 22 ++++++++++++++++++++++ packages/core/src/design.mjs | 11 ++--------- packages/core/src/pattern.mjs | 15 ++------------- 3 files changed, 26 insertions(+), 22 deletions(-) create mode 100644 packages/core/src/config.mjs diff --git a/packages/core/src/config.mjs b/packages/core/src/config.mjs new file mode 100644 index 00000000000..90754a4d4e7 --- /dev/null +++ b/packages/core/src/config.mjs @@ -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: {}, +}) + diff --git a/packages/core/src/design.mjs b/packages/core/src/design.mjs index 5587361d286..975a2b586f2 100644 --- a/packages/core/src/design.mjs +++ b/packages/core/src/design.mjs @@ -1,5 +1,6 @@ import { Pattern } from './pattern.mjs' import { addPartConfig } from './utils.mjs' +import { loadDesignDefaults } from './config.mjs' /* * The Design constructor. Returns a Pattern constructor @@ -8,15 +9,7 @@ import { addPartConfig } from './utils.mjs' export function Design(config) { // Initialize config with defaults - config = { - measurements: [], - optionalMeasurements: [], - options: {}, - parts: [], - data: {}, - plugins: [], - ...config - } + config = { ...loadDesignDefaults(), ...config } // Create the pattern constructor const pattern = function (settings) { diff --git a/packages/core/src/pattern.mjs b/packages/core/src/pattern.mjs index 982f8520110..6c1254b9dad 100644 --- a/packages/core/src/pattern.mjs +++ b/packages/core/src/pattern.mjs @@ -16,6 +16,7 @@ import { Svg } from './svg.mjs' import { Store } from './store.mjs' import { Hooks } from './hooks.mjs' import { version } from '../data.mjs' +import { loadPatternDefaults } from './config.mjs' export function Pattern(config) { // Non-enumerable properties @@ -824,19 +825,7 @@ Pattern.prototype.getRenderProps = function () { // Merges settings object with default settings Pattern.prototype.__applySettings = function (settings) { - this.settings = { - complete: true, - idPrefix: 'fs-', - locale: 'en', - units: 'metric', - margin: 2, - scale: 1, - layout: true, - debug: false, - options: {}, - absoluteOptions: {}, - ...settings - } + this.settings = { ...loadPatternDefaults(), ...settings } return this }