Skip to content

Commit 8a3e0d7

Browse files
committed
add WarningLevelSummary interface
add Bundle "productNumber" prop
1 parent eaad1b4 commit 8a3e0d7

File tree

2 files changed

+24
-3
lines changed

2 files changed

+24
-3
lines changed

src/entities/Bundle.ts

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,14 @@ const Bundle = function <T extends object>(properties: BundleProps<T> = {} as Bu
8787
return get(props, 'currency', def) as string | D;
8888
},
8989

90+
setProductNumber(number: string) {
91+
set(props, 'productNumber', number);
92+
},
93+
94+
getProductNumber<D = undefined>(def?: D): string | D {
95+
return get(props, 'productNumber', def) as string | D;
96+
},
97+
9098
setLicenseTemplateNumbers(this: void, numbers: string[]): void {
9199
set(props, 'licenseTemplateNumbers', numbers);
92100
},
@@ -110,13 +118,18 @@ const Bundle = function <T extends object>(properties: BundleProps<T> = {} as Bu
110118
props.licenseTemplateNumbers = numbers;
111119
},
112120

121+
getStaleLicenseTemplateNumbers<D = undefined>(this: void, def?: D): string[] | D {
122+
return get(props, 'staleLicenseTemplateNumbers', def) as string[] | D;
123+
},
124+
113125
serialize(this: void): Record<string, string> {
126+
const cast: Record<string, string> = {};
127+
114128
if (props.licenseTemplateNumbers) {
115-
const licenseTemplateNumbers = props.licenseTemplateNumbers.join(',');
116-
return serialize({ ...props, licenseTemplateNumbers });
129+
cast['licenseTemplateNumbers'] = props.licenseTemplateNumbers.join(',');
117130
}
118131

119-
return serialize(props);
132+
return serialize({ ...props, ...cast }, { ignore: ['staleLicenseTemplateNumbers'] });
120133
},
121134
};
122135

src/types/entities/Bundle.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@ export type BundleProps<T extends object = object> = T & {
1313
name?: string;
1414
price?: number;
1515
currency?: string;
16+
productNumber?: string;
1617
licenseTemplateNumbers?: string[];
18+
readonly staleLicenseTemplateNumbers?: string[];
1719
};
1820

1921
export type SavedBundleProps<T extends object = object> = RequiredProps<BundleProps, 'active' | 'number' | 'name'> &
@@ -40,6 +42,10 @@ export interface BundleMethods {
4042

4143
getCurrency<D = undefined>(def?: D): string | D;
4244

45+
setProductNumber(number: string): void;
46+
47+
getProductNumber<D = undefined>(def?: D): string | D;
48+
4349
setLicenseTemplateNumbers(numbers: string[]): void;
4450

4551
getLicenseTemplateNumbers<D = undefined>(def?: D): string[] | D;
@@ -48,6 +54,8 @@ export interface BundleMethods {
4854

4955
removeLicenseTemplateNumber(number: string): void;
5056

57+
getStaleLicenseTemplateNumbers<D = undefined>(def?: D): string[] | D;
58+
5159
serialize(): Record<string, string>;
5260
}
5361

0 commit comments

Comments
 (0)