|
6 | 6 | */ |
7 | 7 |
|
8 | 8 | // types |
9 | | -import type { BundleProps, BundleMethods, Bundle as IBundle } from '@/types/entities/Bundle'; |
| 9 | +import type { BundleProps, BundleMethods, BundleEntity } from '@/types/entities/Bundle'; |
10 | 10 |
|
11 | 11 | // utils |
12 | 12 | import { set, get } from '@/utils/helpers'; |
@@ -43,74 +43,74 @@ import defineEntity from './defineEntity'; |
43 | 43 | * Arbitrary additional user properties of string type may be associated with each bundle. The name of user property |
44 | 44 | * must not be equal to any of the fixed property names listed above and must be none of id, deleted. |
45 | 45 | */ |
46 | | -const Bundle = function <T extends object>(properties: BundleProps<T> = {} as BundleProps<T>): IBundle<T> { |
| 46 | +const Bundle = function <T extends object>(properties: BundleProps<T> = {} as BundleProps<T>): BundleEntity<T> { |
47 | 47 | const props: BundleProps = { ...properties }; |
48 | 48 |
|
49 | 49 | const methods: BundleMethods = { |
50 | | - setActive(active: boolean) { |
| 50 | + setActive(this: void, active: boolean) { |
51 | 51 | set(props, 'active', active); |
52 | 52 | }, |
53 | 53 |
|
54 | | - getActive<D = undefined>(def?: D): boolean | D { |
| 54 | + getActive<D = undefined>(this: void, def?: D): boolean | D { |
55 | 55 | return get(props, 'active', def) as boolean | D; |
56 | 56 | }, |
57 | 57 |
|
58 | | - setNumber(number: string) { |
| 58 | + setNumber(this: void, number: string) { |
59 | 59 | set(props, 'number', number); |
60 | 60 | }, |
61 | 61 |
|
62 | | - getNumber<D = undefined>(def?: D): string | D { |
| 62 | + getNumber<D = undefined>(this: void, def?: D): string | D { |
63 | 63 | return get(props, 'number', def) as string | D; |
64 | 64 | }, |
65 | 65 |
|
66 | | - setName(name: string): void { |
| 66 | + setName(this: void, name: string): void { |
67 | 67 | set(props, 'name', name); |
68 | 68 | }, |
69 | 69 |
|
70 | | - getName<D = undefined>(def?: D): string | D { |
| 70 | + getName<D = undefined>(this: void, def?: D): string | D { |
71 | 71 | return get(props, 'name', def) as string | D; |
72 | 72 | }, |
73 | 73 |
|
74 | | - setPrice(price: number): void { |
| 74 | + setPrice(this: void, price: number): void { |
75 | 75 | set(props, 'price', price); |
76 | 76 | }, |
77 | 77 |
|
78 | | - getPrice<D = undefined>(def?: D): number | D { |
| 78 | + getPrice<D = undefined>(this: void, def?: D): number | D { |
79 | 79 | return get(props, 'price', def) as number | D; |
80 | 80 | }, |
81 | 81 |
|
82 | | - setCurrency(currency: string): void { |
| 82 | + setCurrency(this: void, currency: string): void { |
83 | 83 | set(props, 'currency', currency); |
84 | 84 | }, |
85 | 85 |
|
86 | | - getCurrency<D = undefined>(def?: D): string | D { |
| 86 | + getCurrency<D = undefined>(this: void, def?: D): string | D { |
87 | 87 | return get(props, 'currency', def) as string | D; |
88 | 88 | }, |
89 | 89 |
|
90 | | - setLicenseTemplateNumbers(numbers: string[]): void { |
| 90 | + setLicenseTemplateNumbers(this: void, numbers: string[]): void { |
91 | 91 | set(props, 'licenseTemplateNumbers', numbers); |
92 | 92 | }, |
93 | 93 |
|
94 | | - addLicenseTemplateNumber(number: string): void { |
| 94 | + addLicenseTemplateNumber(this: void, number: string): void { |
95 | 95 | if (!props.licenseTemplateNumbers) { |
96 | 96 | props.licenseTemplateNumbers = []; |
97 | 97 | } |
98 | 98 |
|
99 | 99 | props.licenseTemplateNumbers.push(number); |
100 | 100 | }, |
101 | 101 |
|
102 | | - getLicenseTemplateNumbers<D = undefined>(def?: D): string[] | D { |
| 102 | + getLicenseTemplateNumbers<D = undefined>(this: void, def?: D): string[] | D { |
103 | 103 | return get(props, 'licenseTemplateNumbers', def) as string[] | D; |
104 | 104 | }, |
105 | 105 |
|
106 | | - removeLicenseTemplateNumber(number: string): void { |
| 106 | + removeLicenseTemplateNumber(this: void, number: string): void { |
107 | 107 | const { licenseTemplateNumbers: numbers = [] } = props; |
108 | 108 |
|
109 | 109 | numbers.splice(numbers.indexOf(number), 1); |
110 | 110 | props.licenseTemplateNumbers = numbers; |
111 | 111 | }, |
112 | 112 |
|
113 | | - serialize(): Record<string, string> { |
| 113 | + serialize(this: void): Record<string, string> { |
114 | 114 | if (props.licenseTemplateNumbers) { |
115 | 115 | const licenseTemplateNumbers = props.licenseTemplateNumbers.join(','); |
116 | 116 | return serialize({ ...props, licenseTemplateNumbers }); |
|
0 commit comments