Skip to content

Commit e73965d

Browse files
committed
improve cast
1 parent 6b36de8 commit e73965d

27 files changed

+642
-48
lines changed

dist/index.d.mts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -786,7 +786,7 @@ type ProductProps<T extends object = object> = {
786786
active?: boolean;
787787
number?: string;
788788
name?: string;
789-
version?: string | number;
789+
version?: string;
790790
description?: string;
791791
licensingInfo?: string;
792792
licenseeAutoCreate?: boolean;
@@ -1275,7 +1275,10 @@ declare const _default$b: <T extends object = LicenseTemplateProps>(item?: Item)
12751275

12761276
declare const _default$a: <T extends object = NotificationProps>(item?: Item) => NotificationEntity<T>;
12771277

1278-
declare const itemToObject: <T extends object = Record<string, unknown>>(item?: Item | List) => T;
1278+
type CastType = 'auto' | 'string' | 'number' | 'boolean' | 'null' | 'json';
1279+
1280+
type ItemToObjectCastMap = Record<string, CastType>;
1281+
declare const itemToObject: <T extends object = Record<string, unknown>>(item?: Item | List, castMap?: ItemToObjectCastMap) => T;
12791282

12801283
declare const _default$9: <T extends object = PaymentMethodProps>(item?: Item) => PaymentMethodEntity<T>;
12811284

dist/index.d.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -786,7 +786,7 @@ type ProductProps<T extends object = object> = {
786786
active?: boolean;
787787
number?: string;
788788
name?: string;
789-
version?: string | number;
789+
version?: string;
790790
description?: string;
791791
licensingInfo?: string;
792792
licenseeAutoCreate?: boolean;
@@ -1275,7 +1275,10 @@ declare const _default$b: <T extends object = LicenseTemplateProps>(item?: Item)
12751275

12761276
declare const _default$a: <T extends object = NotificationProps>(item?: Item) => NotificationEntity<T>;
12771277

1278-
declare const itemToObject: <T extends object = Record<string, unknown>>(item?: Item | List) => T;
1278+
type CastType = 'auto' | 'string' | 'number' | 'boolean' | 'null' | 'json';
1279+
1280+
type ItemToObjectCastMap = Record<string, CastType>;
1281+
declare const itemToObject: <T extends object = Record<string, unknown>>(item?: Item | List, castMap?: ItemToObjectCastMap) => T;
12791282

12801283
declare const _default$9: <T extends object = PaymentMethodProps>(item?: Item) => PaymentMethodEntity<T>;
12811284

dist/index.global.js

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/index.global.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/index.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/index.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/index.mjs

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

dist/index.mjs.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/converters/itemToBundle.ts

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,26 @@ import { Item } from '@/types/api/response';
1212
import { BundleProps } from '@/types/entities/Bundle';
1313

1414
export default <T extends object = BundleProps>(item?: Item) => {
15-
const props = itemToObject<Record<string, unknown>>(item);
15+
const props = itemToObject<Record<string, unknown>>(item,{
16+
active: 'boolean',
17+
number: 'string',
18+
name: 'string',
19+
price: 'number',
20+
currency: 'string',
21+
productNumber: 'string',
22+
licenseTemplateNumbers: 'string',
23+
staleLicenseTemplateNumbers: 'string',
24+
});
1625

17-
const { licenseTemplateNumbers } = props;
26+
const { licenseTemplateNumbers, staleLicenseTemplateNumbers } = props;
1827

1928
if (licenseTemplateNumbers && typeof licenseTemplateNumbers === 'string') {
2029
props.licenseTemplateNumbers = licenseTemplateNumbers.split(',');
2130
}
2231

32+
if (staleLicenseTemplateNumbers && typeof staleLicenseTemplateNumbers === 'string') {
33+
props.staleLicenseTemplateNumbers = staleLicenseTemplateNumbers.split(',');
34+
}
35+
2336
return Bundle<T>(props as BundleProps<T>);
2437
};

src/converters/itemToCountry.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,12 @@ import Country from '@/entities/Country';
1313
import { Item } from '@/types/api/response';
1414
import { CountryProps } from '@/types/entities/Country';
1515

16-
export default (item?: Item) => Country(itemToObject<CountryProps>(item));
16+
export default (item?: Item) =>
17+
Country(
18+
itemToObject<CountryProps>(item, {
19+
code: 'string',
20+
name: 'string',
21+
vatPercent: 'number',
22+
isEu: 'boolean',
23+
}),
24+
);

0 commit comments

Comments
 (0)