orderopia-ordering-api-client-vue 0.0.1 → 0.0.2
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/dist/index.cjs +6 -10
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +7 -11
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -30,23 +30,19 @@ var import_vue = require("vue");
|
|
|
30
30
|
var import_orderopia_ordering_api_client = require("orderopia-ordering-api-client");
|
|
31
31
|
function useBasket() {
|
|
32
32
|
const basket = (0, import_vue.ref)(import_orderopia_ordering_api_client.basketManager.getBasket());
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
unsubscribe = import_orderopia_ordering_api_client.basketManager.subscribe((state) => {
|
|
36
|
-
basket.value = state;
|
|
37
|
-
});
|
|
33
|
+
const unsubscribe = import_orderopia_ordering_api_client.basketManager.subscribe((state) => {
|
|
34
|
+
basket.value = state;
|
|
38
35
|
});
|
|
39
|
-
(0, import_vue.
|
|
40
|
-
unsubscribe
|
|
41
|
-
unsubscribe = null;
|
|
36
|
+
(0, import_vue.onScopeDispose)(() => {
|
|
37
|
+
unsubscribe();
|
|
42
38
|
});
|
|
43
39
|
const totalQuantity = (0, import_vue.computed)(
|
|
44
|
-
() => basket.value.items.reduce((sum, i) => sum + i.quantity, 0)
|
|
40
|
+
() => basket.value.items.reduce((sum, i) => sum + (i.quantity ?? 0), 0)
|
|
45
41
|
);
|
|
46
42
|
return {
|
|
47
43
|
basket,
|
|
48
44
|
totalQuantity,
|
|
49
|
-
// pass-through
|
|
45
|
+
// pass-through helpers (nice DX)
|
|
50
46
|
addToBasket: import_orderopia_ordering_api_client.basketManager.addToBasket.bind(import_orderopia_ordering_api_client.basketManager),
|
|
51
47
|
removeFromBasket: import_orderopia_ordering_api_client.basketManager.removeFromBasket.bind(import_orderopia_ordering_api_client.basketManager),
|
|
52
48
|
clearBasket: import_orderopia_ordering_api_client.basketManager.clearBasket.bind(import_orderopia_ordering_api_client.basketManager)
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/composables/useBasket.ts","../src/install.ts"],"sourcesContent":["// src/index.ts\r\nexport { useBasket } from './composables/useBasket'\r\nexport { OrderopiaVuePlugin } from './install'\r\n","// src/composables/useBasket.ts\r\nimport { ref, computed,
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/composables/useBasket.ts","../src/install.ts"],"sourcesContent":["// src/index.ts\r\nexport { useBasket } from './composables/useBasket'\r\nexport { OrderopiaVuePlugin } from './install'\r\n","// src/composables/useBasket.ts\r\nimport { ref, computed, onScopeDispose } from 'vue'\r\nimport {\r\n basketManager,\r\n type BasketState\r\n} from 'orderopia-ordering-api-client'\r\n\r\nexport function useBasket() {\r\n // Start with current basket immediately\r\n const basket = ref<BasketState>(basketManager.getBasket())\r\n\r\n // Subscribe immediately (NOT in onMounted)\r\n const unsubscribe = basketManager.subscribe(state => {\r\n basket.value = state\r\n })\r\n\r\n // Auto-cleanup when the component/composable scope is destroyed\r\n onScopeDispose(() => {\r\n unsubscribe()\r\n })\r\n\r\n const totalQuantity = computed(() =>\r\n basket.value.items.reduce((sum, i) => sum + (i.quantity ?? 0), 0)\r\n )\r\n\r\n return {\r\n basket,\r\n totalQuantity,\r\n\r\n // pass-through helpers (nice DX)\r\n addToBasket: basketManager.addToBasket.bind(basketManager),\r\n removeFromBasket: basketManager.removeFromBasket.bind(basketManager),\r\n clearBasket: basketManager.clearBasket.bind(basketManager)\r\n }\r\n}\r\n","// src/install.ts\r\nimport type { App } from 'vue'\r\n\r\nexport function OrderopiaVuePlugin() {\r\n return {\r\n install(app: App) {\r\n // nothing yet, but future-proof\r\n }\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACCA,iBAA8C;AAC9C,2CAGO;AAEA,SAAS,YAAY;AAE1B,QAAM,aAAS,gBAAiB,mDAAc,UAAU,CAAC;AAGzD,QAAM,cAAc,mDAAc,UAAU,WAAS;AACnD,WAAO,QAAQ;AAAA,EACjB,CAAC;AAGD,iCAAe,MAAM;AACnB,gBAAY;AAAA,EACd,CAAC;AAED,QAAM,oBAAgB;AAAA,IAAS,MAC7B,OAAO,MAAM,MAAM,OAAO,CAAC,KAAK,MAAM,OAAO,EAAE,YAAY,IAAI,CAAC;AAAA,EAClE;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA;AAAA,IAGA,aAAa,mDAAc,YAAY,KAAK,kDAAa;AAAA,IACzD,kBAAkB,mDAAc,iBAAiB,KAAK,kDAAa;AAAA,IACnE,aAAa,mDAAc,YAAY,KAAK,kDAAa;AAAA,EAC3D;AACF;;;AC/BO,SAAS,qBAAqB;AACnC,SAAO;AAAA,IACL,QAAQ,KAAU;AAAA,IAElB;AAAA,EACF;AACF;","names":[]}
|
package/dist/index.js
CHANGED
|
@@ -1,27 +1,23 @@
|
|
|
1
1
|
// src/composables/useBasket.ts
|
|
2
|
-
import { ref, computed,
|
|
2
|
+
import { ref, computed, onScopeDispose } from "vue";
|
|
3
3
|
import {
|
|
4
4
|
basketManager
|
|
5
5
|
} from "orderopia-ordering-api-client";
|
|
6
6
|
function useBasket() {
|
|
7
7
|
const basket = ref(basketManager.getBasket());
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
unsubscribe = basketManager.subscribe((state) => {
|
|
11
|
-
basket.value = state;
|
|
12
|
-
});
|
|
8
|
+
const unsubscribe = basketManager.subscribe((state) => {
|
|
9
|
+
basket.value = state;
|
|
13
10
|
});
|
|
14
|
-
|
|
15
|
-
unsubscribe
|
|
16
|
-
unsubscribe = null;
|
|
11
|
+
onScopeDispose(() => {
|
|
12
|
+
unsubscribe();
|
|
17
13
|
});
|
|
18
14
|
const totalQuantity = computed(
|
|
19
|
-
() => basket.value.items.reduce((sum, i) => sum + i.quantity, 0)
|
|
15
|
+
() => basket.value.items.reduce((sum, i) => sum + (i.quantity ?? 0), 0)
|
|
20
16
|
);
|
|
21
17
|
return {
|
|
22
18
|
basket,
|
|
23
19
|
totalQuantity,
|
|
24
|
-
// pass-through
|
|
20
|
+
// pass-through helpers (nice DX)
|
|
25
21
|
addToBasket: basketManager.addToBasket.bind(basketManager),
|
|
26
22
|
removeFromBasket: basketManager.removeFromBasket.bind(basketManager),
|
|
27
23
|
clearBasket: basketManager.clearBasket.bind(basketManager)
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/composables/useBasket.ts","../src/install.ts"],"sourcesContent":["// src/composables/useBasket.ts\r\nimport { ref, computed,
|
|
1
|
+
{"version":3,"sources":["../src/composables/useBasket.ts","../src/install.ts"],"sourcesContent":["// src/composables/useBasket.ts\r\nimport { ref, computed, onScopeDispose } from 'vue'\r\nimport {\r\n basketManager,\r\n type BasketState\r\n} from 'orderopia-ordering-api-client'\r\n\r\nexport function useBasket() {\r\n // Start with current basket immediately\r\n const basket = ref<BasketState>(basketManager.getBasket())\r\n\r\n // Subscribe immediately (NOT in onMounted)\r\n const unsubscribe = basketManager.subscribe(state => {\r\n basket.value = state\r\n })\r\n\r\n // Auto-cleanup when the component/composable scope is destroyed\r\n onScopeDispose(() => {\r\n unsubscribe()\r\n })\r\n\r\n const totalQuantity = computed(() =>\r\n basket.value.items.reduce((sum, i) => sum + (i.quantity ?? 0), 0)\r\n )\r\n\r\n return {\r\n basket,\r\n totalQuantity,\r\n\r\n // pass-through helpers (nice DX)\r\n addToBasket: basketManager.addToBasket.bind(basketManager),\r\n removeFromBasket: basketManager.removeFromBasket.bind(basketManager),\r\n clearBasket: basketManager.clearBasket.bind(basketManager)\r\n }\r\n}\r\n","// src/install.ts\r\nimport type { App } from 'vue'\r\n\r\nexport function OrderopiaVuePlugin() {\r\n return {\r\n install(app: App) {\r\n // nothing yet, but future-proof\r\n }\r\n }\r\n}\r\n"],"mappings":";AACA,SAAS,KAAK,UAAU,sBAAsB;AAC9C;AAAA,EACE;AAAA,OAEK;AAEA,SAAS,YAAY;AAE1B,QAAM,SAAS,IAAiB,cAAc,UAAU,CAAC;AAGzD,QAAM,cAAc,cAAc,UAAU,WAAS;AACnD,WAAO,QAAQ;AAAA,EACjB,CAAC;AAGD,iBAAe,MAAM;AACnB,gBAAY;AAAA,EACd,CAAC;AAED,QAAM,gBAAgB;AAAA,IAAS,MAC7B,OAAO,MAAM,MAAM,OAAO,CAAC,KAAK,MAAM,OAAO,EAAE,YAAY,IAAI,CAAC;AAAA,EAClE;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA;AAAA,IAGA,aAAa,cAAc,YAAY,KAAK,aAAa;AAAA,IACzD,kBAAkB,cAAc,iBAAiB,KAAK,aAAa;AAAA,IACnE,aAAa,cAAc,YAAY,KAAK,aAAa;AAAA,EAC3D;AACF;;;AC/BO,SAAS,qBAAqB;AACnC,SAAO;AAAA,IACL,QAAQ,KAAU;AAAA,IAElB;AAAA,EACF;AACF;","names":[]}
|