@inertiajs/svelte 1.0.8 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +4 -3
  2. package/src/useForm.js +9 -7
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inertiajs/svelte",
3
- "version": "1.0.8",
3
+ "version": "1.0.10",
4
4
  "license": "MIT",
5
5
  "description": "The Svelte adapter for Inertia.js",
6
6
  "contributors": [
@@ -25,10 +25,11 @@
25
25
  },
26
26
  "main": "src/index.js",
27
27
  "peerDependencies": {
28
- "svelte": "^3.20.0"
28
+ "svelte": "^3.20.0 || ^4.0.0"
29
29
  },
30
30
  "dependencies": {
31
- "@inertiajs/core": "1.0.8",
31
+ "@inertiajs/core": "1.0.10",
32
+ "lodash.clonedeep": "^4.5.0",
32
33
  "lodash.isequal": "^4.5.0"
33
34
  }
34
35
  }
package/src/useForm.js CHANGED
@@ -1,12 +1,13 @@
1
1
  import { router } from '@inertiajs/core'
2
2
  import isEqual from 'lodash.isequal'
3
+ import cloneDeep from 'lodash.clonedeep'
3
4
  import { writable } from 'svelte/store'
4
5
 
5
6
  function useForm(...args) {
6
7
  const rememberKey = typeof args[0] === 'string' ? args[0] : null
7
8
  const data = (typeof args[0] === 'string' ? args[1] : args[0]) || {}
8
9
  const restored = rememberKey ? router.restore(rememberKey) : null
9
- let defaults = data
10
+ let defaults = cloneDeep(data)
10
11
  let cancelToken = null
11
12
  let recentlySuccessfulTimeoutId = null
12
13
  let transform = (data) => data
@@ -22,7 +23,7 @@ function useForm(...args) {
22
23
  processing: false,
23
24
  setStore(key, value) {
24
25
  store.update((store) => {
25
- return Object.assign({}, store, typeof key === 'string' ? { [key]: value } : key)
26
+ return Object.assign(store, typeof key === 'string' ? { [key]: value } : key)
26
27
  })
27
28
  },
28
29
  data() {
@@ -38,24 +39,25 @@ function useForm(...args) {
38
39
  },
39
40
  defaults(key, value) {
40
41
  if (typeof key === 'undefined') {
41
- defaults = Object.assign(defaults, this.data())
42
+ defaults = Object.assign(defaults, cloneDeep(this.data()))
42
43
 
43
44
  return this
44
45
  }
45
46
 
46
- defaults = Object.assign(defaults, value ? { [key]: value } : key)
47
+ defaults = Object.assign(defaults, cloneDeep(value ? { [key]: value } : key))
47
48
 
48
49
  return this
49
50
  },
50
51
  reset(...fields) {
52
+ let clonedDefaults = cloneDeep(defaults)
51
53
  if (fields.length === 0) {
52
- this.setStore(defaults)
54
+ this.setStore(clonedDefaults)
53
55
  } else {
54
56
  this.setStore(
55
- Object.keys(defaults)
57
+ Object.keys(clonedDefaults)
56
58
  .filter((key) => fields.includes(key))
57
59
  .reduce((carry, key) => {
58
- carry[key] = defaults[key]
60
+ carry[key] = clonedDefaults[key]
59
61
  return carry
60
62
  }, {}),
61
63
  )