@iankibetsh/vue-streamline 1.1.5 → 1.1.6
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/README.md +2 -2
- package/package.json +1 -1
- package/src/App.vue +6 -3
- package/src/composables/useStreamline.js +27 -2
- package/dist/vite.svg +0 -1
- package/dist/vue-streamline.es.js +0 -1739
- package/dist/vue-streamline.umd.js +0 -6
package/README.md
CHANGED
|
@@ -32,7 +32,7 @@ Vue.use(streamline, {
|
|
|
32
32
|
import { useStreamline } from '@iankibet/vue-streamline'
|
|
33
33
|
|
|
34
34
|
|
|
35
|
-
const {service:tasksService} = useStreamline('tasks')
|
|
35
|
+
const {getActionUrl, service:tasksService} = useStreamline('tasks')
|
|
36
36
|
|
|
37
37
|
// call the service methods
|
|
38
38
|
|
|
@@ -46,5 +46,5 @@ tasksServices.getTasks().then(response => {
|
|
|
46
46
|
|
|
47
47
|
You can get the url to an action/method in the service by calling the getActionUrl method on the service object passing the action name and any parameters
|
|
48
48
|
```js
|
|
49
|
-
|
|
49
|
+
getActionUrl('getTasks', 'active')
|
|
50
50
|
```
|
package/package.json
CHANGED
package/src/App.vue
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import useStreamline from './composables/useStreamline.js'
|
|
3
|
-
import { ref, toRefs } from 'vue'
|
|
3
|
+
import { onMounted, ref, toRefs } from 'vue'
|
|
4
4
|
|
|
5
5
|
const {loading, service:paybillService, getActionUrl} = useStreamline('mpesa/paybill',3)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
const foundPaybill = ref(null)
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
onMounted(()=>{
|
|
11
|
+
paybillService.callAnyMethod(3).then(res=>{
|
|
12
|
+
foundPaybill.value = res
|
|
13
|
+
})
|
|
14
|
+
})
|
|
11
15
|
const findPaybill = async ()=>{
|
|
12
16
|
foundPaybill.value = await paybillService.getPaybill(3)
|
|
13
17
|
console.log(getActionUrl('getPaybill',3))
|
|
@@ -16,7 +20,6 @@ const findPaybill = async ()=>{
|
|
|
16
20
|
|
|
17
21
|
<template>
|
|
18
22
|
<div>
|
|
19
|
-
{{ paybill }}
|
|
20
23
|
<hr/>
|
|
21
24
|
<h3 class="text-success" >Loading : {{ loading }}</h3>
|
|
22
25
|
<h1 @click="findPaybill">Get Paybill</h1>
|
|
@@ -14,8 +14,33 @@ const useStreamline = (stream, ...initialArgs) => {
|
|
|
14
14
|
...streamlineHeaders
|
|
15
15
|
}
|
|
16
16
|
})
|
|
17
|
+
const handler = {
|
|
18
|
+
get(target, prop, receiver) {
|
|
19
|
+
if (prop in target) {
|
|
20
|
+
return target[prop]
|
|
21
|
+
}
|
|
22
|
+
return async (...args) => {
|
|
23
|
+
loading.value = true
|
|
24
|
+
try {
|
|
25
|
+
const response = await axios.post(streamlineUrl, {
|
|
26
|
+
action: prop,
|
|
27
|
+
stream,
|
|
28
|
+
...formData,
|
|
29
|
+
params: args
|
|
30
|
+
})
|
|
31
|
+
return response.data
|
|
32
|
+
} catch (error) {
|
|
33
|
+
console.error(`Error calling ${prop} on stream ${stream}`, error)
|
|
34
|
+
throw error
|
|
35
|
+
} finally {
|
|
36
|
+
loading.value = false
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
17
41
|
|
|
18
|
-
const service = reactive({
|
|
42
|
+
const service = reactive({
|
|
43
|
+
}) // Make the service object reactive
|
|
19
44
|
|
|
20
45
|
// Function to fetch the public properties of the service class
|
|
21
46
|
const fetchServiceProperties = async () => {
|
|
@@ -78,7 +103,7 @@ const useStreamline = (stream, ...initialArgs) => {
|
|
|
78
103
|
|
|
79
104
|
return {
|
|
80
105
|
loading,
|
|
81
|
-
service,
|
|
106
|
+
service: new Proxy(service, handler),
|
|
82
107
|
getActionUrl
|
|
83
108
|
}
|
|
84
109
|
}
|
package/dist/vite.svg
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
|