@bagelink/vue 0.0.19 → 0.0.22

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.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bagelink/vue",
3
3
  "type": "module",
4
- "version": "0.0.19",
4
+ "version": "0.0.22",
5
5
  "description": "Bagel core sdk packages",
6
6
  "author": {
7
7
  "name": "Neveh Allon",
@@ -20,7 +20,7 @@
20
20
  "sideEffects": false,
21
21
  "exports": {
22
22
  "./package.json": "./package.json",
23
- "./src/index": "./src/index.ts",
23
+ "./src": "./src/index.ts",
24
24
  ".": {
25
25
  "types": "./dist/index.d.ts",
26
26
  "require": "./dist/index.cjs",
@@ -39,13 +39,14 @@
39
39
  }
40
40
  },
41
41
  "files": [
42
- "dist"
42
+ "dist",
43
+ "src"
43
44
  ],
44
45
  "dependencies": {
45
46
  "vue": "^3.3.8"
46
47
  },
47
48
  "devDependencies": {
48
- "@bagelink/sdk": "0.0.19"
49
+ "@bagelink/sdk": "0.0.22"
49
50
  },
50
51
  "peerDependencies": {
51
52
  "@bagelink/sdk": "*"
package/src/index.ts ADDED
@@ -0,0 +1,26 @@
1
+ import { inject } from 'vue';
2
+ import type { InjectionKey, Plugin } from 'vue';
3
+ import { Bagel } from '@bagelink/sdk';
4
+
5
+ export const bagelInjectionKey = Symbol('bagel') as InjectionKey<Bagel>;
6
+
7
+ export function useBagel() {
8
+ const bagel = inject(bagelInjectionKey);
9
+ if (!bagel)
10
+ throw new Error('No bagel provided');
11
+
12
+ return bagel;
13
+ }
14
+
15
+ export interface BagelOptions {
16
+ host: string
17
+ onError?: (err: Error) => void
18
+ }
19
+
20
+ export const BagelVue: Plugin = {
21
+ install: (app, options: BagelOptions) => {
22
+ const bagel = new Bagel({ host: options.host, onError: options.onError });
23
+ app.config.globalProperties.$bagel = bagel;
24
+ app.provide(bagelInjectionKey, bagel);
25
+ },
26
+ };