@repobit/dex-store 0.1.0 → 0.2.0
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/CHANGELOG.md +17 -0
- package/dist/src/products/product.base.d.ts +3 -2
- package/dist/src/products/product.base.js +5 -4
- package/dist/src/products/product.base.js.map +1 -1
- package/dist/src/products/product.vlaicu.js +2 -1
- package/dist/src/products/product.vlaicu.js.map +1 -1
- package/dist/src/providers/provider.base.d.ts +29 -0
- package/dist/src/providers/provider.base.js +53 -0
- package/dist/src/providers/provider.base.js.map +1 -0
- package/dist/src/providers/provider.init-selector.d.ts +5 -6
- package/dist/src/providers/provider.init-selector.js +17 -25
- package/dist/src/providers/provider.init-selector.js.map +1 -1
- package/dist/src/providers/provider.vlaicu.d.ts +31 -5
- package/dist/src/providers/provider.vlaicu.js +66 -5
- package/dist/src/providers/provider.vlaicu.js.map +1 -1
- package/dist/src/store.d.ts +22 -14
- package/dist/src/store.js +19 -17
- package/dist/src/store.js.map +1 -1
- package/package.json +10 -17
- package/dist/src/providers/provider.interface.d.ts +0 -9
- package/dist/src/providers/provider.interface.js +0 -2
- package/dist/src/providers/provider.interface.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,23 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [0.2.0](https://github.com/bitdefender/dex-core/compare/@repobit/dex-store@0.1.0...@repobit/dex-store@0.2.0) (2025-03-25)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **DEX-21811:** add overrides ([d226d0e](https://github.com/bitdefender/dex-core/commit/d226d0ec7ede7fe51b2d6451f0356f76cd6b7d52))
|
|
12
|
+
* **DEX-21811:** add vlaicu as a provider ([9a0ddcc](https://github.com/bitdefender/dex-core/commit/9a0ddcc213bc99839594a8fd2082a3559e5894a6))
|
|
13
|
+
* **DEX-21811:** hide properties from store ([51ca86b](https://github.com/bitdefender/dex-core/commit/51ca86b9e73d70b4242efa210856da11394a0db2))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Bug Fixes
|
|
17
|
+
|
|
18
|
+
* **DEX-21811:** add default campaign returned by api ([56e7a8d](https://github.com/bitdefender/dex-core/commit/56e7a8d6c0f51e988b29647dbfb18bf05a8359ef))
|
|
19
|
+
* **DEX-21811:** apply changes for ts ([974670b](https://github.com/bitdefender/dex-core/commit/974670bd4a36c7dfbf86f09a7b3d8fac7e09f6a7))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
6
23
|
## 0.1.0 (2025-03-25)
|
|
7
24
|
|
|
8
25
|
|
|
@@ -10,7 +10,8 @@ export type ProductData = {
|
|
|
10
10
|
options: Map<string, UnboundProductOptionData>;
|
|
11
11
|
platformId: string;
|
|
12
12
|
};
|
|
13
|
-
export
|
|
13
|
+
export type UnboundProductData = Omit<ProductData, "store">;
|
|
14
|
+
export declare const SET_OPTION: unique symbol;
|
|
14
15
|
type MinMaxType = {
|
|
15
16
|
min: number;
|
|
16
17
|
max: number;
|
|
@@ -50,7 +51,7 @@ export declare class Product {
|
|
|
50
51
|
subscription: number;
|
|
51
52
|
bundle?: (ProductOption | undefined)[];
|
|
52
53
|
}): Promise<ProductOption | undefined>;
|
|
53
|
-
[
|
|
54
|
+
[SET_OPTION](param: {
|
|
54
55
|
options: ProductOption | ProductOption[];
|
|
55
56
|
}): void;
|
|
56
57
|
getPrice(): {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { formatPrice } from "../format-price.js";
|
|
2
2
|
import { ProductOption } from "../product-options/option.base.js";
|
|
3
|
-
|
|
3
|
+
import { STORE_ADAPTER } from "../store.js";
|
|
4
|
+
export const SET_OPTION = Symbol("setOption");
|
|
4
5
|
export class Product {
|
|
5
6
|
store;
|
|
6
7
|
name;
|
|
@@ -102,7 +103,7 @@ export class Product {
|
|
|
102
103
|
return this.currency;
|
|
103
104
|
}
|
|
104
105
|
async getOption(param) {
|
|
105
|
-
const adaptor = await this.store
|
|
106
|
+
const adaptor = await this.store[STORE_ADAPTER];
|
|
106
107
|
const { devices, subscription } = await adaptor.adaptTo({
|
|
107
108
|
id: this.id,
|
|
108
109
|
subscription: Number(param?.subscription),
|
|
@@ -131,11 +132,11 @@ export class Product {
|
|
|
131
132
|
//return all options
|
|
132
133
|
return [...this.options.values()];
|
|
133
134
|
}
|
|
134
|
-
[
|
|
135
|
+
[SET_OPTION](param) {
|
|
135
136
|
const options = Array.isArray(param.options) ? param.options : [param.options];
|
|
136
137
|
for (const option of options) {
|
|
137
138
|
const devices = option.getDevices();
|
|
138
|
-
const subscription = option.
|
|
139
|
+
const subscription = option.getSubscription();
|
|
139
140
|
this.options.set(`${devices}-${subscription}`, option);
|
|
140
141
|
}
|
|
141
142
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product.base.js","sourceRoot":"","sources":["../../../src/products/product.base.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"product.base.js","sourceRoot":"","sources":["../../../src/products/product.base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAqB,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAS,aAAa,EAAE,MAAM,SAAS,CAAC;AAgB/C,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAuB9C,MAAM,OAAO,OAAO;IACV,KAAK,CAAkB;IACvB,IAAI,CAAoB;IACxB,QAAQ,CAAgB;IACxB,EAAE,CAAsB;IACxB,QAAQ,CAAgB;IACxB,OAAO,CAAqC;IAC5C,UAAU,CAAc;IACxB,OAAO,CAAsB;IAC7B,aAAa,CAAqB;IAClC,QAAQ,CAAsB;IAC9B,KAAK,CAAuB;IAC5B,eAAe,CAAY;IAEnC,YAAY,OAAoB;QAC9B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG;YACb,GAAG,EAAK,MAAM,CAAC,gBAAgB;YAC/B,GAAG,EAAK,MAAM,CAAC,gBAAgB;YAC/B,MAAM,EAAE,EAAE;SACX,CAAC;QACF,IAAI,CAAC,aAAa,GAAG;YACnB,GAAG,EAAK,MAAM,CAAC,gBAAgB;YAC/B,GAAG,EAAK,MAAM,CAAC,gBAAgB;YAC/B,MAAM,EAAE,EAAE;SACX,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG;YACd,GAAG,EAAS,MAAM,CAAC,gBAAgB;YACnC,GAAG,EAAS,MAAM,CAAC,gBAAgB;YACnC,UAAU,EAAE;gBACV,GAAG,EAAE,MAAM,CAAC,gBAAgB;gBAC5B,GAAG,EAAE,MAAM,CAAC,gBAAgB;aAC7B;SACF,CAAC;QACF,IAAI,CAAC,KAAK,GAAG;YACX,GAAG,EAAM,MAAM,CAAC,gBAAgB;YAChC,GAAG,EAAM,MAAM,CAAC,gBAAgB;YAChC,OAAO,EAAE;gBACP,GAAG,EAAE,MAAM,CAAC,gBAAgB;gBAC5B,GAAG,EAAE,MAAM,CAAC,gBAAgB;aAC7B;SACF,CAAC;QACF,IAAI,CAAC,eAAe,GAAG;YACrB,GAAG,EAAM,MAAM,CAAC,gBAAgB;YAChC,GAAG,EAAM,MAAM,CAAC,gBAAgB;YAChC,OAAO,EAAE;gBACP,GAAG,EAAE,MAAM,CAAC,gBAAgB;gBAC5B,GAAG,EAAE,MAAM,CAAC,gBAAgB;aAC7B;SACF,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QAEzB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QAExC,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACtD,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;YACrE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;YAEpC,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CACvB,aAAa,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAC3C,IAAI,CAAC,KAAK,CAAC,GAAG,CACf,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CACvB,aAAa,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAC3C,IAAI,CAAC,KAAK,CAAC,GAAG,CACf,CAAC;YAEF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAC/B,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CACvB,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAC/B,aAAa,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CACvB,CAAC;YAEF,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CACjC,aAAa,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EACrD,IAAI,CAAC,eAAe,CAAC,GAAG,CACzB,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CACjC,aAAa,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EACrD,IAAI,CAAC,eAAe,CAAC,GAAG,CACzB,CAAC;YAEF,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CACzC,aAAa,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EACpE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CACjC,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CACzC,aAAa,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EACpE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CACjC,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC1E,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC;YAExC,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC3F,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAC3F,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC,CAAC;YAEnD,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC9F,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAE9F,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACtI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACxI,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;QACnC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC;IACjD,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAKD,KAAK,CAAC,SAAS,CAAC,KAA2F;QACzG,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAChD,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;YACtD,EAAE,EAAY,IAAI,CAAC,EAAE;YACrB,YAAY,EAAE,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC;YACzC,OAAO,EAAO,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC;SACrC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,MAAM,EAA2B,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAE3F,MAAM,UAAU,GAAG,KAAK,EAAE,MAAqB,EAAE,MAAuB,EAAE,EAAE,CAAC,IAAI,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAEzJ,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,IAAI,YAAY,EAAE,CAAC,CAAC;YAC9D,IAAI,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAC;YAE9B,wBAAwB;YACxB,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,MAAM,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBACN,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,iBAAiB,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YAC/F,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;YAC5D,OAAO,OAAO;iBACX,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;QAC9E,CAAC;QAED,oBAAoB;QACpB,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,CAAC,UAAU,CAAC,CAAC,KAAmD;QAC9D,MAAM,OAAO,GAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YACpC,MAAM,YAAY,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;YAE9C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,IAAI,YAAY,EAAE,EAAE,MAAM,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;IAKD,QAAQ,CAAC,KAAiD;QACxD,MAAM,EAAE,OAAO,GAAG,KAAK,EAAE,QAAQ,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC;QAEzD,MAAM,KAAK,GAAG,OAAO;YACnB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO;YACpB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAEf,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO;gBACL,GAAG,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC/D,GAAG,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;aAChE,CAAC;QACJ,CAAC;QAED,OAAO;YACL,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,GAAG,EAAE,KAAK,CAAC,GAAG;SACf,CAAC;IACJ,CAAC;IAKD,kBAAkB,CAAC,KAAiD;QAClE,MAAM,EAAE,OAAO,GAAG,KAAK,EAAE,QAAQ,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC;QAEzD,MAAM,eAAe,GAAG,OAAO;YAC7B,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO;YAC9B,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;QAEzB,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO;gBACL,GAAG,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACzE,GAAG,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;aAC1E,CAAC;QACJ,CAAC;QAED,OAAO;YACL,GAAG,EAAE,eAAe,CAAC,GAAG;YACxB,GAAG,EAAE,eAAe,CAAC,GAAG;SACzB,CAAC;IACJ,CAAC;IAKD,WAAW,CAAC,KAAkD;QAC5D,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC;QAE1D,MAAM,aAAa,GAAG,UAAU;YAC9B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU;YAC1B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAElB,IAAI,UAAU,EAAE,CAAC;YACf,OAAO,MAAM;gBACX,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC,GAAG,GAAG,EAAE;gBAChE,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,aAAa,CAAC,GAAG,EAAE,CAAA;QACxD,CAAC;QAED,OAAO,MAAM;YACX,CAAC,CAAC;gBACA,GAAG,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACvE,GAAG,EAAE,WAAW,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;aACxE;YACD,CAAC,CAAC;gBACA,GAAG,EAAE,aAAa,CAAC,GAAG;gBACtB,GAAG,EAAE,aAAa,CAAC,GAAG;aACvB,CAAC;IACN,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAES,KAAK,CAAC,MAAM,CAAC,IAAmB,EAAE,OAAwB;QAClE,MAAM,KAAK,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1D,0CAA0C;QAC1C,MAAM,aAAa,GAA6B;YAC9C,KAAK,EAAY,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YACnD,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YAC7D,OAAO,EAAU,IAAI,CAAC,UAAU,EAAE;YAClC,YAAY,EAAK,IAAI,CAAC,eAAe,EAAE;YACvC,OAAO,EAAU,IAAI,CAAC,UAAU,EAAE;SACnC,CAAC;QAEF,gCAAgC;QAChC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACzD,MAAM,qBAAqB,GAAG,MAAM,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YAE7E,qDAAqD;YACrD,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC;YAE/D,IAAI,qBAAqB,EAAE,CAAC;gBAC1B,IAAI,aAAa,CAAC,eAAe,EAAE,CAAC;oBAClC,gCAAgC;oBAChC,aAAa,CAAC,eAAe,GAAG,KAAK,CAAC,aAAa,CAAC,eAAe,GAAG,qBAAqB,CAAC,CAAC;gBAC/F,CAAC;qBAAM,CAAC;oBACN,8DAA8D;oBAC9D,aAAa,CAAC,eAAe,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,GAAG,qBAAqB,CAAC,CAAC;gBACrF,CAAC;YACH,CAAC;iBAAM,IAAI,aAAa,CAAC,eAAe,EAAE,CAAC;gBACzC,uEAAuE;gBACvE,gEAAgE;gBAChE,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,eAAe,GAAG,WAAW,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;CACF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Product } from "../products/product.base.js";
|
|
2
|
+
import { STORE_LOCALE } from "../store.js";
|
|
2
3
|
export class VlaicuProduct extends Product {
|
|
3
4
|
constructor(product) {
|
|
4
5
|
super(product);
|
|
@@ -6,7 +7,7 @@ export class VlaicuProduct extends Product {
|
|
|
6
7
|
async bundle(base, options) {
|
|
7
8
|
// Get the base bundle from common logic.
|
|
8
9
|
const bundleOption = await super.bundle(base, options);
|
|
9
|
-
const locale = this.getStore()
|
|
10
|
+
const locale = this.getStore()[STORE_LOCALE];
|
|
10
11
|
const campaign = this.getCampaign();
|
|
11
12
|
const url = new URL(`https://www.bitdefender.com/p-api/v1/buy-links/locale/${locale}`);
|
|
12
13
|
if (campaign) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"product.vlaicu.js","sourceRoot":"","sources":["../../../src/products/product.vlaicu.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAyC,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"product.vlaicu.js","sourceRoot":"","sources":["../../../src/products/product.vlaicu.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAyC,MAAM,yBAAyB,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,OAAO,aAAc,SAAQ,OAAO;IACxC,YAAY,OAAoB;QAC9B,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAES,KAAK,CAAC,MAAM,CACpB,IAAmB,EACnB,OAAwB;QAExB,yCAAyC;QACzC,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEpC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,yDAAyD,MAAM,EAAE,CAAC,CAAA;QAEtF,IAAI,QAAQ,EAAE,CAAC;YACb,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC;aAC/B,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,IAAI,MAAM,CAAC,UAAU,EAAE,IAAI,MAAM,CAAC,eAAe,EAAE,EAAE,CAAC;aAClG,IAAI,CAAC,GAAG,CAAC,CAAA;QAEZ,IAAI,OAAO,EAAE,CAAC;YACZ,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAE7B,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;YACX,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACtC,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;CACF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Product, UnboundProductData } from "../products/product.base.js";
|
|
2
|
+
import { ProductSelector, Store } from "../store.js";
|
|
3
|
+
export type ProviderData = {
|
|
4
|
+
store: Store;
|
|
5
|
+
};
|
|
6
|
+
export declare const INGNORE_CAMPAIGN: string[];
|
|
7
|
+
export declare abstract class Provider {
|
|
8
|
+
protected store: Store;
|
|
9
|
+
constructor({ store }: ProviderData);
|
|
10
|
+
getProduct(param: ProductSelector): Promise<Product | undefined>;
|
|
11
|
+
private applyOverrides;
|
|
12
|
+
private applyTransformers;
|
|
13
|
+
getCampaign(id: string, campaign?: string): Promise<string | undefined>;
|
|
14
|
+
adaptTo(param: {
|
|
15
|
+
id: string;
|
|
16
|
+
}): Promise<{
|
|
17
|
+
id: string;
|
|
18
|
+
}>;
|
|
19
|
+
adaptTo(param: {
|
|
20
|
+
id: string;
|
|
21
|
+
devices: number;
|
|
22
|
+
subscription: number;
|
|
23
|
+
}): Promise<{
|
|
24
|
+
id: string;
|
|
25
|
+
devices: number;
|
|
26
|
+
subscription: number;
|
|
27
|
+
}>;
|
|
28
|
+
protected abstract fetch(product: ProductSelector): Promise<UnboundProductData | undefined>;
|
|
29
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Product } from "../products/product.base.js";
|
|
2
|
+
import { STORE_ADAPTER, STORE_CAMPAIGN, STORE_OVERRIDES, STORE_TRANSFORMERS } from "../store.js";
|
|
3
|
+
export const INGNORE_CAMPAIGN = ["ignore", "none", "0"];
|
|
4
|
+
export class Provider {
|
|
5
|
+
store;
|
|
6
|
+
constructor({ store }) {
|
|
7
|
+
this.store = store;
|
|
8
|
+
}
|
|
9
|
+
async getProduct(param) {
|
|
10
|
+
let product = await this.fetch(param);
|
|
11
|
+
product = await this.applyOverrides(product);
|
|
12
|
+
product = await this.applyTransformers(product);
|
|
13
|
+
return product ? new Product({ ...product, store: this.store }) : product;
|
|
14
|
+
}
|
|
15
|
+
async applyOverrides(product) {
|
|
16
|
+
if (!product) {
|
|
17
|
+
return product;
|
|
18
|
+
}
|
|
19
|
+
const ovProduct = this.store[STORE_OVERRIDES]?.[product.id];
|
|
20
|
+
if (!ovProduct) {
|
|
21
|
+
return product;
|
|
22
|
+
}
|
|
23
|
+
for (const [variation, ovOption] of Object.entries(ovProduct.options)) {
|
|
24
|
+
const option = product.options.get(variation);
|
|
25
|
+
if (!ovOption) {
|
|
26
|
+
product.options.delete(variation);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
product.options.set(variation, { ...option, ...ovOption });
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return product;
|
|
33
|
+
}
|
|
34
|
+
async applyTransformers(product) {
|
|
35
|
+
if (!product) {
|
|
36
|
+
return product;
|
|
37
|
+
}
|
|
38
|
+
for (const option of product.options.values()) {
|
|
39
|
+
if (this.store[STORE_TRANSFORMERS]?.option?.buyLink) {
|
|
40
|
+
option.buyLink = await this.store[STORE_TRANSFORMERS]?.option?.buyLink(option.buyLink);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return product;
|
|
44
|
+
}
|
|
45
|
+
async getCampaign(id, campaign) {
|
|
46
|
+
return this.store[STORE_OVERRIDES]?.[id]?.campaign || await this.store[STORE_CAMPAIGN]({ id, campaign });
|
|
47
|
+
}
|
|
48
|
+
async adaptTo(param) {
|
|
49
|
+
const adaptor = await this.store[STORE_ADAPTER];
|
|
50
|
+
return await adaptor.adaptTo(param);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=provider.base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.base.js","sourceRoot":"","sources":["../../../src/providers/provider.base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAgD,MAAM,yBAAyB,CAAC;AAChG,OAAO,EAA0B,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAGrH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;AAExD,MAAM,OAAgB,QAAQ;IAClB,KAAK,CAAQ;IAEvB,YAAY,EAAE,KAAK,EAAgB;QACjC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,KAAsB;QACrC,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtC,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAEhD,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC5E,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,OAAuC;QAClE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAE5D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,KAAK,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YACtE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,GAAG,MAAM,EAAE,GAAG,QAAQ,EAA8B,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,OAAuC;QACrE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;gBACpD,MAAM,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAU,EAAE,QAAiB;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,QAAQ,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC1G,CAAC;IAID,KAAK,CAAC,OAAO,CAAC,KAA8D;QAC1E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAChD,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;CAGF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { UnboundProductData } from "../products/product.base.js";
|
|
2
2
|
import { ProductSelector } from "../store.js";
|
|
3
|
-
import { Provider, ProviderData } from "./provider.
|
|
3
|
+
import { Provider, ProviderData } from "./provider.base.js";
|
|
4
4
|
export interface FetchResponse {
|
|
5
5
|
code: number;
|
|
6
6
|
data: {
|
|
@@ -55,12 +55,11 @@ export interface ConfigData {
|
|
|
55
55
|
pid: string | null;
|
|
56
56
|
};
|
|
57
57
|
}
|
|
58
|
-
export declare class InitSelectorProvider
|
|
58
|
+
export declare class InitSelectorProvider extends Provider {
|
|
59
59
|
private country;
|
|
60
60
|
private language;
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
getProduct({ id, campaign }: ProductSelector): Promise<Product | undefined>;
|
|
61
|
+
constructor(config: ProviderData);
|
|
62
|
+
fetch({ id, campaign }: ProductSelector): Promise<UnboundProductData | undefined>;
|
|
64
63
|
private buildPayload;
|
|
65
64
|
private buildApiURL;
|
|
66
65
|
private processVariations;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { INGNORE_CAMPAIGN } from "./provider.
|
|
1
|
+
import { STORE_LOCALE } from "../store.js";
|
|
2
|
+
import { INGNORE_CAMPAIGN, Provider } from "./provider.base.js";
|
|
3
3
|
const countriesMapping = new Map([
|
|
4
4
|
["gb", "uk"],
|
|
5
5
|
["ch", "de"],
|
|
@@ -9,19 +9,18 @@ const countriesMapping = new Map([
|
|
|
9
9
|
["nz", "au"]
|
|
10
10
|
]);
|
|
11
11
|
const getCountry = (country) => countriesMapping.get(country) ?? country;
|
|
12
|
-
export class InitSelectorProvider {
|
|
12
|
+
export class InitSelectorProvider extends Provider {
|
|
13
13
|
country;
|
|
14
14
|
language;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const [language, country] = store.locale.split("-");
|
|
15
|
+
constructor(config) {
|
|
16
|
+
super(config);
|
|
17
|
+
const [language, country] = this.store[STORE_LOCALE].split("-");
|
|
19
18
|
this.language = language;
|
|
20
19
|
this.country = getCountry(country);
|
|
21
20
|
}
|
|
22
|
-
async
|
|
23
|
-
const
|
|
24
|
-
const computedCampaign = await this.
|
|
21
|
+
async fetch({ id, campaign }) {
|
|
22
|
+
const adaptedId = (await this.adaptTo({ id })).id;
|
|
23
|
+
const computedCampaign = await this.getCampaign(adaptedId, campaign);
|
|
25
24
|
const payload = this.buildPayload(id, computedCampaign);
|
|
26
25
|
const apiURL = this.buildApiURL();
|
|
27
26
|
let fetchResponse;
|
|
@@ -46,17 +45,16 @@ export class InitSelectorProvider {
|
|
|
46
45
|
return undefined;
|
|
47
46
|
}
|
|
48
47
|
// Process variations into option data.
|
|
49
|
-
const { options, platformId, currency } = await this.processVariations(id, fetchResponse.data.product.variations,
|
|
50
|
-
// Return
|
|
51
|
-
return
|
|
52
|
-
id:
|
|
48
|
+
const { options, platformId, currency } = await this.processVariations(id, fetchResponse.data.product.variations, computedCampaign);
|
|
49
|
+
// Return an UnboundProductData.
|
|
50
|
+
return {
|
|
51
|
+
id: adaptedId,
|
|
53
52
|
name: fetchResponse.data.product.product_name,
|
|
54
|
-
store: this.store,
|
|
55
53
|
campaign: computedCampaign,
|
|
56
54
|
currency,
|
|
57
55
|
platformId,
|
|
58
56
|
options
|
|
59
|
-
}
|
|
57
|
+
};
|
|
60
58
|
}
|
|
61
59
|
buildPayload(id, campaign) {
|
|
62
60
|
const config = { country_code: this.country };
|
|
@@ -77,14 +75,14 @@ export class InitSelectorProvider {
|
|
|
77
75
|
url.searchParams.set("force_country", this.country);
|
|
78
76
|
return url;
|
|
79
77
|
}
|
|
80
|
-
async processVariations(id, variations,
|
|
78
|
+
async processVariations(id, variations, campaign) {
|
|
81
79
|
const options = new Map();
|
|
82
80
|
let platformId = "";
|
|
83
81
|
let currency = "";
|
|
84
82
|
// Loop through devices and subscriptions.
|
|
85
83
|
for (const [devices, devicesValue] of Object.entries(variations)) {
|
|
86
84
|
for (const [subscription, subscriptionsValue] of Object.entries(devicesValue)) {
|
|
87
|
-
const adaptedVariation = await
|
|
85
|
+
const adaptedVariation = await this.adaptTo({
|
|
88
86
|
id,
|
|
89
87
|
subscription: Number(subscription),
|
|
90
88
|
devices: Number(devices)
|
|
@@ -99,15 +97,9 @@ export class InitSelectorProvider {
|
|
|
99
97
|
// Capture common info.
|
|
100
98
|
platformId = subscriptionsValue.platform_product_id;
|
|
101
99
|
currency = subscriptionsValue.currency_iso;
|
|
100
|
+
campaign = campaign || subscriptionsValue.promotion;
|
|
102
101
|
//compute buy link
|
|
103
102
|
variationData.buyLink = this.buildBuyLink(id, variationData, subscriptionsValue, campaign);
|
|
104
|
-
//apply transforms
|
|
105
|
-
// if (this.store.transformers?.product) {
|
|
106
|
-
// variationData = await this.store.transformers?.product?.getOption?.(variationData);
|
|
107
|
-
// }
|
|
108
|
-
// if (this.store.transformers?.product?.getOption) {
|
|
109
|
-
// variationData = await this.store.transformers?.product?.getOption(variationData);
|
|
110
|
-
// }
|
|
111
103
|
options.set(`${adaptedVariation.devices}-${adaptedVariation.subscription}`, variationData);
|
|
112
104
|
}
|
|
113
105
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.init-selector.js","sourceRoot":"","sources":["../../../src/providers/provider.init-selector.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"provider.init-selector.js","sourceRoot":"","sources":["../../../src/providers/provider.init-selector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,33 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { UnboundProductData } from "../products/product.base.js";
|
|
2
|
+
import { ProductSelector } from "../store.js";
|
|
3
|
+
import { Provider, ProviderData } from "./provider.base.js";
|
|
4
|
+
export interface FetchResponse {
|
|
5
|
+
code: number;
|
|
6
|
+
message: string;
|
|
7
|
+
campaign: string;
|
|
8
|
+
campaignType: string;
|
|
9
|
+
platformProductId: string;
|
|
10
|
+
verifoneProductCode: string;
|
|
11
|
+
product: ProductData;
|
|
12
|
+
}
|
|
13
|
+
export interface ProductData {
|
|
14
|
+
productId: string;
|
|
15
|
+
productName: string;
|
|
16
|
+
options: OptionData[];
|
|
17
|
+
}
|
|
18
|
+
export interface OptionData {
|
|
19
|
+
slots: number;
|
|
20
|
+
months: number;
|
|
21
|
+
currency: string;
|
|
22
|
+
price: number;
|
|
23
|
+
discountedPrice: number;
|
|
24
|
+
discountAmount: number;
|
|
25
|
+
discountPercentage: number;
|
|
26
|
+
buyLink: string;
|
|
27
|
+
}
|
|
28
|
+
export declare class VlaicuProvider extends Provider {
|
|
5
29
|
constructor(param: ProviderData);
|
|
6
|
-
|
|
30
|
+
fetch({ id, campaign }: ProductSelector): Promise<UnboundProductData | undefined>;
|
|
31
|
+
private buildApiURL;
|
|
32
|
+
private processVariations;
|
|
7
33
|
}
|
|
@@ -1,10 +1,71 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { STORE_LOCALE } from "../store.js";
|
|
2
|
+
import { INGNORE_CAMPAIGN, Provider } from "./provider.base.js";
|
|
3
|
+
export class VlaicuProvider extends Provider {
|
|
3
4
|
constructor(param) {
|
|
4
|
-
|
|
5
|
+
super(param);
|
|
5
6
|
}
|
|
6
|
-
async
|
|
7
|
-
|
|
7
|
+
async fetch({ id, campaign }) {
|
|
8
|
+
const adaptedId = (await this.adaptTo({ id })).id;
|
|
9
|
+
const computedCampaign = await this.getCampaign(adaptedId, campaign);
|
|
10
|
+
const apiURL = this.buildApiURL(adaptedId, this.store[STORE_LOCALE], computedCampaign);
|
|
11
|
+
let fetchResponse;
|
|
12
|
+
try {
|
|
13
|
+
const response = await fetch(apiURL.href, {
|
|
14
|
+
method: "get",
|
|
15
|
+
headers: {
|
|
16
|
+
"Content-Type": "application/json"
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
if (!response.ok)
|
|
20
|
+
return undefined;
|
|
21
|
+
fetchResponse = await response.json();
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
console.error("Failed to fetch product:", error);
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
// Process variations into option data.
|
|
28
|
+
const { options, currency } = await this.processVariations(adaptedId, fetchResponse.product.options);
|
|
29
|
+
// Return an UnboundProductData.
|
|
30
|
+
return {
|
|
31
|
+
id: adaptedId,
|
|
32
|
+
name: fetchResponse.product.productName,
|
|
33
|
+
campaign: computedCampaign || fetchResponse.campaign,
|
|
34
|
+
currency,
|
|
35
|
+
platformId: fetchResponse.platformProductId,
|
|
36
|
+
options
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
buildApiURL(id, locale, campaign) {
|
|
40
|
+
const apiParams = ["products", id, "locale", locale];
|
|
41
|
+
if (campaign) {
|
|
42
|
+
apiParams.push("campaign", INGNORE_CAMPAIGN.includes(String(campaign)) ? "null" : campaign);
|
|
43
|
+
}
|
|
44
|
+
const url = new URL(`https://www.bitdefender.com/p-api/v1/${apiParams.join("/")}`);
|
|
45
|
+
return url;
|
|
46
|
+
}
|
|
47
|
+
async processVariations(id, variations) {
|
|
48
|
+
const options = new Map();
|
|
49
|
+
let currency = "";
|
|
50
|
+
// Loop through devices and subscriptions.
|
|
51
|
+
for (const variation of variations) {
|
|
52
|
+
const adaptedVariation = await this.adaptTo({
|
|
53
|
+
id,
|
|
54
|
+
subscription: Number(variation.months),
|
|
55
|
+
devices: Number(variation.slots)
|
|
56
|
+
});
|
|
57
|
+
const variationData = {
|
|
58
|
+
devices: adaptedVariation.devices,
|
|
59
|
+
subscription: adaptedVariation.subscription,
|
|
60
|
+
price: Number(variation.price),
|
|
61
|
+
discountedPrice: Number(variation.discountedPrice || 0),
|
|
62
|
+
buyLink: variation.buyLink
|
|
63
|
+
};
|
|
64
|
+
// Capture common info.
|
|
65
|
+
currency = variation.currency;
|
|
66
|
+
options.set(`${adaptedVariation.devices}-${adaptedVariation.subscription}`, variationData);
|
|
67
|
+
}
|
|
68
|
+
return { options, currency };
|
|
8
69
|
}
|
|
9
70
|
}
|
|
10
71
|
//# sourceMappingURL=provider.vlaicu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.vlaicu.js","sourceRoot":"","sources":["../../../src/providers/provider.vlaicu.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"provider.vlaicu.js","sourceRoot":"","sources":["../../../src/providers/provider.vlaicu.ts"],"names":[],"mappings":"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"}
|
package/dist/src/store.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { Adaptor } from "./adaptors/adaptor.base.js";
|
|
2
1
|
import { Product, UnboundProductOptionData } from "./products/product.base.js";
|
|
2
|
+
import { Provider, ProviderData } from "./providers/provider.base.js";
|
|
3
3
|
import { InitSelectorProvider } from "./providers/provider.init-selector.js";
|
|
4
|
-
import { Provider, ProviderData } from "./providers/provider.interface.js";
|
|
5
4
|
import { VlaicuProvider } from "./providers/provider.vlaicu.js";
|
|
6
5
|
export type ProductSelector = {
|
|
7
6
|
id: string;
|
|
@@ -19,25 +18,34 @@ type ProviderSelector = {
|
|
|
19
18
|
type StoreConfig = {
|
|
20
19
|
provider: ProviderSelector;
|
|
21
20
|
locale: Locale;
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
campaign?: (param: ProductSelector) => Promise<string | undefined>;
|
|
22
|
+
overrides?: {
|
|
23
|
+
[key: string]: {
|
|
24
|
+
campaign?: string;
|
|
25
|
+
options: {
|
|
26
|
+
[key: `${string}-${string}`]: Partial<UnboundProductOptionData> | undefined | null;
|
|
27
|
+
};
|
|
26
28
|
};
|
|
27
|
-
|
|
28
|
-
|
|
29
|
+
};
|
|
30
|
+
transformers?: {
|
|
31
|
+
option?: {
|
|
32
|
+
buyLink: (buyLink: string) => Promise<string>;
|
|
29
33
|
};
|
|
30
34
|
};
|
|
31
35
|
};
|
|
36
|
+
export declare const STORE_LOCALE: unique symbol;
|
|
37
|
+
export declare const STORE_ADAPTER: unique symbol;
|
|
38
|
+
export declare const STORE_CAMPAIGN: unique symbol;
|
|
39
|
+
export declare const STORE_TRANSFORMERS: unique symbol;
|
|
40
|
+
export declare const STORE_OVERRIDES: unique symbol;
|
|
32
41
|
export declare class Store {
|
|
33
|
-
private _locale;
|
|
34
42
|
private cache;
|
|
35
|
-
private
|
|
36
|
-
|
|
37
|
-
|
|
43
|
+
private [STORE_LOCALE];
|
|
44
|
+
private [STORE_ADAPTER];
|
|
45
|
+
private [STORE_CAMPAIGN];
|
|
46
|
+
private [STORE_TRANSFORMERS];
|
|
47
|
+
private [STORE_OVERRIDES];
|
|
38
48
|
constructor(config: StoreConfig);
|
|
39
|
-
get locale(): `${string}-${string}`;
|
|
40
|
-
get adaptor(): Promise<Adaptor>;
|
|
41
49
|
getProduct(param: ProductSelector): Promise<Product | undefined>;
|
|
42
50
|
getProduct(param: ProductSelector[]): Promise<(Product | undefined)[]>;
|
|
43
51
|
private getProvider;
|
package/dist/src/store.js
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import { Adaptor } from "./adaptors/adaptor.base.js";
|
|
2
|
-
import {
|
|
2
|
+
import { SET_OPTION } from "./products/product.base.js";
|
|
3
3
|
import { InitSelectorProvider } from "./providers/provider.init-selector.js";
|
|
4
4
|
import { VlaicuProvider } from "./providers/provider.vlaicu.js";
|
|
5
5
|
const BuiltInProviders = {
|
|
6
6
|
init: InitSelectorProvider,
|
|
7
7
|
vlaicu: VlaicuProvider
|
|
8
8
|
};
|
|
9
|
+
export const STORE_LOCALE = Symbol("locale");
|
|
10
|
+
export const STORE_ADAPTER = Symbol("adapter");
|
|
11
|
+
export const STORE_CAMPAIGN = Symbol("campaign");
|
|
12
|
+
export const STORE_TRANSFORMERS = Symbol("transformers");
|
|
13
|
+
export const STORE_OVERRIDES = Symbol("overrides");
|
|
9
14
|
class Cache {
|
|
10
15
|
products;
|
|
11
16
|
provider;
|
|
@@ -16,7 +21,7 @@ class Cache {
|
|
|
16
21
|
this.store = param.store;
|
|
17
22
|
}
|
|
18
23
|
async get({ id, campaign }) {
|
|
19
|
-
const adaptor = await this.store
|
|
24
|
+
const adaptor = await this.store[STORE_ADAPTER];
|
|
20
25
|
const { id: adaptedId } = await adaptor.adaptTo({ id });
|
|
21
26
|
const productKey = `${adaptedId}-${campaign}`;
|
|
22
27
|
// Check if we already have a cached entry.
|
|
@@ -36,7 +41,7 @@ class Cache {
|
|
|
36
41
|
// If both exist, aggregate the new options into the base product.
|
|
37
42
|
if (baseProduct && newProduct) {
|
|
38
43
|
// This assumes that setOption aggregates the options into baseProduct.
|
|
39
|
-
baseProduct[
|
|
44
|
+
baseProduct[SET_OPTION]({ options: await newProduct.getOption() });
|
|
40
45
|
}
|
|
41
46
|
return baseProduct;
|
|
42
47
|
})();
|
|
@@ -51,26 +56,23 @@ class Cache {
|
|
|
51
56
|
}
|
|
52
57
|
}
|
|
53
58
|
export class Store {
|
|
54
|
-
_locale;
|
|
55
59
|
cache;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
60
|
+
[STORE_LOCALE];
|
|
61
|
+
[STORE_ADAPTER];
|
|
62
|
+
[STORE_CAMPAIGN];
|
|
63
|
+
[STORE_TRANSFORMERS];
|
|
64
|
+
[STORE_OVERRIDES];
|
|
59
65
|
constructor(config) {
|
|
60
|
-
|
|
66
|
+
const defaultCampaign = async ({ campaign }) => campaign;
|
|
67
|
+
this[STORE_LOCALE] = config.locale;
|
|
68
|
+
this[STORE_ADAPTER] = Adaptor.create();
|
|
69
|
+
this[STORE_CAMPAIGN] = config.campaign ?? defaultCampaign;
|
|
70
|
+
this[STORE_TRANSFORMERS] = config.transformers;
|
|
71
|
+
this[STORE_OVERRIDES] = config.overrides;
|
|
61
72
|
this.cache = new Cache({
|
|
62
73
|
provider: this.getProvider(config.provider),
|
|
63
74
|
store: this
|
|
64
75
|
});
|
|
65
|
-
this._locale = config.locale;
|
|
66
|
-
this.getCampaign = config.getCampaign;
|
|
67
|
-
this.transformers = config.transformers;
|
|
68
|
-
}
|
|
69
|
-
get locale() {
|
|
70
|
-
return this._locale;
|
|
71
|
-
}
|
|
72
|
-
get adaptor() {
|
|
73
|
-
return this._adaptor;
|
|
74
76
|
}
|
|
75
77
|
async getProduct(param) {
|
|
76
78
|
const productListToFetch = Array.isArray(param) ? param : [param];
|
package/dist/src/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAW,
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@repobit/dex-store",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Client for pricing API",
|
|
5
5
|
"author": "Buga Adrian Alexandru <abuga@bitdefender.com>",
|
|
6
6
|
"homepage": "https://github.com/bitdefender/dex-core#readme",
|
|
@@ -30,24 +30,17 @@
|
|
|
30
30
|
},
|
|
31
31
|
"scripts": {
|
|
32
32
|
"build": "tsc && tsc-alias",
|
|
33
|
-
"test": "
|
|
33
|
+
"test": "vitest run"
|
|
34
34
|
},
|
|
35
35
|
"bugs": {
|
|
36
36
|
"url": "https://github.com/bitdefender/dex-core/issues"
|
|
37
37
|
},
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
"ts-jest": "^29.2.5",
|
|
47
|
-
"ts-node": "^10.9.2",
|
|
48
|
-
"tsc-alias": "^1.8.11",
|
|
49
|
-
"typescript": "^5.7.3",
|
|
50
|
-
"typescript-eslint": "^8.23.0"
|
|
51
|
-
},
|
|
52
|
-
"gitHead": "d93fde85701f3b37988b3f33e453c1dbdb17301e"
|
|
38
|
+
"volta": {
|
|
39
|
+
"node": "22.14.0"
|
|
40
|
+
},
|
|
41
|
+
"engines": {
|
|
42
|
+
"npm": ">=10.9.2",
|
|
43
|
+
"node": ">=22.14.0"
|
|
44
|
+
},
|
|
45
|
+
"gitHead": "33d90bc644458a14640ef570406767b12c8242f5"
|
|
53
46
|
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Product } from "../products/product.base.js";
|
|
2
|
-
import { ProductSelector, Store } from "../store.js";
|
|
3
|
-
export type ProviderData = {
|
|
4
|
-
store: Store;
|
|
5
|
-
};
|
|
6
|
-
export declare const INGNORE_CAMPAIGN: string[];
|
|
7
|
-
export interface Provider {
|
|
8
|
-
getProduct(param: ProductSelector): Promise<Product | undefined>;
|
|
9
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"provider.interface.js","sourceRoot":"","sources":["../../../src/providers/provider.interface.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC"}
|