Explorar o código

feature(hooks): add new .starting() and .started() hooks

Ryan Chandler %!s(int64=4) %!d(string=hai) anos
pai
achega
1beaeabbba

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/spruce.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/spruce.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/spruce.module.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/spruce.module.js.map


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/spruce.umd.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
dist/spruce.umd.js.map


+ 16 - 0
src/index.js

@@ -14,7 +14,13 @@ const Spruce = {
 
     disableReactivity: false,
 
+    startingCallbacks: [],
+
+    startedCallbacks: [],
+
     start() {
+        this.startingCallbacks.forEach(fn => fn())
+
         this.attach()
 
         this.stores = createObservable(this.stores, {
@@ -38,6 +44,16 @@ const Spruce = {
                 this.disableReactivity = false
             }
         })
+
+        this.startedCallbacks.forEach(fn => fn())
+    },
+
+    starting(callback) {
+        this.startingCallbacks.push(callback)
+    },
+
+    started(callback) {
+        this.startedCallbacks.push(callback)
     },
 
     attach() {

+ 31 - 0
tests/hooks.spec.js

@@ -0,0 +1,31 @@
+import Alpine from 'alpinejs'
+import Spruce from '../dist/spruce'
+
+beforeEach(() => {
+    Spruce.subscribers = []
+})
+
+beforeAll(() => {
+    window.Spruce = Spruce
+    window.Alpine = Alpine
+})
+
+test('.starting() > callbacks are executed', () => {
+    let fixture = 0;
+
+    Spruce.starting(() => fixture++)
+
+    Spruce.start()
+
+    expect(fixture).toEqual(1)
+})
+
+test('.started() > callbacks are executed', () => {
+    let fixture = 0;
+
+    Spruce.started(() => fixture++)
+
+    Spruce.start()
+
+    expect(fixture).toEqual(1)
+})

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio