From 0b406595c7140e997bc400c0071bab614d4f6f60 Mon Sep 17 00:00:00 2001 From: Settel Date: Mon, 1 Aug 2022 17:56:51 +0200 Subject: [PATCH] refactor: move engine's start() to separate file --- client/src/composables/engine/start.ts | 9 +++++++++ client/src/composables/useEngine.ts | 28 +++++++++++++------------- 2 files changed, 23 insertions(+), 14 deletions(-) create mode 100644 client/src/composables/engine/start.ts diff --git a/client/src/composables/engine/start.ts b/client/src/composables/engine/start.ts new file mode 100644 index 0000000..78b16f2 --- /dev/null +++ b/client/src/composables/engine/start.ts @@ -0,0 +1,9 @@ +export default function (): void { + if (this.isActive.value && !this.shouldStop.value) { + console.warn('attempt to start already running engine!') + return + } + this.isActive.value = true + this.shouldStop.value = false + console.log('start engine') +} diff --git a/client/src/composables/useEngine.ts b/client/src/composables/useEngine.ts index f434b33..8cd99f8 100644 --- a/client/src/composables/useEngine.ts +++ b/client/src/composables/useEngine.ts @@ -1,4 +1,11 @@ import { useState } from '#app' +import { Ref } from 'vue' +import start from '@/composables/engine/start' + +interface EngineContext { + isActive: Ref + shouldStop: Ref +} export interface useEngine { start(): void @@ -6,23 +13,16 @@ export interface useEngine { } export default (): useEngine => { - const isActive = useState('engine__is-active', () => false) - const shouldStop = useState('engine__should-stop', () => false) + const context: EngineContext = { + isActive: useState('engine__is-active', () => false), + shouldStop: useState('engine__should-stop', () => false), + } return { - start: (): void => { - if (isActive.value && !shouldStop.value) { - console.warn('attempt to start already running engine!') - return - } - isActive.value = true - shouldStop.value = false - console.log('start engine') - }, - + start: () => start.apply(context), stop: (): void => { - if (isActive.value) { - shouldStop.value = true + if (context.isActive.value) { + context.shouldStop.value = true console.log('shut down engine') } },