Selaa lähdekoodia

feature: add new set() method

Ryan Chandler 4 vuotta sitten
vanhempi
commit
7896a5ea88
7 muutettua tiedostoa jossa 20 lisäystä ja 0 poistoa
  1. 0 0
      dist/spruce.js
  2. 0 0
      dist/spruce.js.map
  3. 0 0
      dist/spruce.module.js
  4. 0 0
      dist/spruce.module.js.map
  5. 0 0
      dist/spruce.umd.js
  6. 0 0
      dist/spruce.umd.js.map
  7. 20 0
      src/index.js

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/spruce.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/spruce.js.map


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/spruce.module.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/spruce.module.js.map


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/spruce.umd.js


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
dist/spruce.umd.js.map


+ 20 - 0
src/index.js

@@ -156,6 +156,26 @@ const Spruce = {
         return name.split('.').reduce((target, part) => target[part], this.stores)
         return name.split('.').reduce((target, part) => target[part], this.stores)
     },
     },
 
 
+    set(name, value, target) {
+        if (! target) {
+            target = this.stores
+        }
+
+        if (! isArray(name)) {
+            name = name.split('.')
+        }
+
+        if (name.length === 1) return target[name[0]] = value
+
+        if (target[name[0]]) {
+            return this.set(name.slice(1), value, target[name[0]])
+        } else {
+            target[name[0]] = {}
+
+            return this.set(name.slice(1), value, target[name[0]])
+        }
+    },
+
     watch(name, callback) {
     watch(name, callback) {
         if (! this.hasStarted) {
         if (! this.hasStarted) {
             this.watchers[name] || (this.watchers[name] = [])
             this.watchers[name] || (this.watchers[name] = [])

Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä