diff options
author | 2022-12-21 21:02:57 +0100 | |
---|---|---|
committer | 2022-12-21 21:02:57 +0100 | |
commit | def60e7248003e74ed67e9ff116b438bab410a92 (patch) | |
tree | 246ca3b6298b500b5df786bf5624bf34ddad8259 /src/modules | |
parent | bf88836dbe4037019e9545deaae1db06e5768cfb (diff) | |
download | it-tools-def60e7248003e74ed67e9ff116b438bab410a92.tar.gz it-tools-def60e7248003e74ed67e9ff116b438bab410a92.tar.zst it-tools-def60e7248003e74ed67e9ff116b438bab410a92.zip |
refactor(tracker): better tracker injection
Diffstat (limited to 'src/modules')
-rw-r--r-- | src/modules/tracker/tracker.services.ts | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/modules/tracker/tracker.services.ts b/src/modules/tracker/tracker.services.ts index c05dccc..bd3c0ec 100644 --- a/src/modules/tracker/tracker.services.ts +++ b/src/modules/tracker/tracker.services.ts @@ -1,6 +1,8 @@ +import _ from 'lodash'; import type Plausible from 'plausible-tracker'; +import { inject } from 'vue'; -export { createTrackerService }; +export { createTrackerService, useTracker }; function createTrackerService({ plausible }: { plausible: ReturnType<typeof Plausible> }) { return { @@ -9,3 +11,17 @@ function createTrackerService({ plausible }: { plausible: ReturnType<typeof Plau }, }; } + +function useTracker() { + const plausible: ReturnType<typeof Plausible> | undefined = inject('plausible'); + + if (_.isNil(plausible)) { + throw new Error('Plausible must be instantiated'); + } + + const tracker = createTrackerService({ plausible }); + + return { + tracker, + }; +} |