@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 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
- tasksService.getActionUrl('getTasks', 'active')
49
+ getActionUrl('getTasks', 'active')
50
50
  ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iankibetsh/vue-streamline",
3
- "version": "1.1.5",
3
+ "version": "1.1.6",
4
4
  "description": "Vue library for streamlining laravel backend services with @iankibet/streamline composer package",
5
5
  "type": "module",
6
6
  "scripts": {
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({}) // Make the service object 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>