@evenicanpm/storefront-graphql-codegen 1.1.0 → 1.2.1

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.
Files changed (49) hide show
  1. package/codegen.ts +20 -20
  2. package/documents/Account/interfaces.ts +89 -89
  3. package/documents/Address/interfaces.ts +30 -30
  4. package/documents/Cart/add.ts +4 -4
  5. package/documents/Cart/checkoutRead.ts +4 -4
  6. package/documents/Cart/deleteLine.ts +4 -4
  7. package/documents/Cart/interfaces.ts +36 -36
  8. package/documents/Cart/read.ts +4 -4
  9. package/documents/Cart/shippingMethodRead.ts +4 -4
  10. package/documents/Cart/shippingMethodUpdate.ts +4 -4
  11. package/documents/Cart/updateLine.ts +4 -4
  12. package/documents/Catalog/interfaces.ts +26 -26
  13. package/documents/Category/interfaces.ts +13 -13
  14. package/documents/Category/list.ts +4 -4
  15. package/documents/Order/interfaces.ts +22 -22
  16. package/documents/Order/list.ts +4 -4
  17. package/documents/Order/read.ts +4 -4
  18. package/documents/Product/interfaces.ts +39 -39
  19. package/documents/Product/list.ts +5 -5
  20. package/documents/Product/read.ts +5 -5
  21. package/documents/Product/search.ts +5 -5
  22. package/documents/Session/interfaces.ts +7 -7
  23. package/documents/Session/login.ts +22 -29
  24. package/documents/Session/read.ts +3 -3
  25. package/documents/Settings/SystemInformation/interfaces.ts +11 -11
  26. package/documents/Settings/claims.ts +3 -3
  27. package/documents/Settings/roles.ts +9 -9
  28. package/documents/Settings/settingsGroup.ts +57 -57
  29. package/documents/Settings/words.ts +1 -16
  30. package/documents/Theme/interfaces.ts +48 -48
  31. package/documents/User/interfaces.ts +20 -20
  32. package/documents/User/read.ts +4 -4
  33. package/documents/User/update.ts +4 -4
  34. package/documents/WishList/interfaces.ts +50 -50
  35. package/documents/WishList/list.ts +4 -4
  36. package/documents/WishList/read.ts +4 -4
  37. package/documents/base/interfaces.ts +26 -26
  38. package/documents/core/Logger/create.ts +4 -4
  39. package/documents/core/Logger/interfaces.ts +35 -35
  40. package/documents/core/Logger/list.ts +4 -4
  41. package/documents/core/Logger/read.ts +4 -4
  42. package/documents/core/Logger/update.ts +4 -4
  43. package/documents/core/SampleData/create.ts +4 -4
  44. package/documents/core/SampleData/interfaces.ts +9 -9
  45. package/documents/core/SampleData/list.ts +4 -4
  46. package/documents/core/SampleData/read.ts +4 -4
  47. package/documents/core/SampleData/update.ts +4 -4
  48. package/documents/messages/messages.ts +13 -13
  49. package/package.json +20 -20
@@ -1,63 +1,63 @@
1
1
  export interface Theme {
2
- background: string;
3
- textPrimary: string;
4
- textSecondary: string;
5
- colorPrimary: string;
6
- colorSecondary: string;
7
- themeId: string;
8
- themeName: string;
9
- error: string | null;
10
- defaultTheme: boolean;
2
+ background: string;
3
+ textPrimary: string;
4
+ textSecondary: string;
5
+ colorPrimary: string;
6
+ colorSecondary: string;
7
+ themeId: string;
8
+ themeName: string;
9
+ error: string | null;
10
+ defaultTheme: boolean;
11
11
  }
12
12
 
13
13
  export interface ThemeListQuery {
14
- themeListList: Theme[];
14
+ themeListList: Theme[];
15
15
  }
16
16
 
17
17
  export interface ThemeInputBase {
18
- themeId?: string;
19
- themeName: string;
18
+ themeId?: string;
19
+ themeName: string;
20
20
  }
21
21
  export interface ThemeInput extends ThemeInputBase {
22
- textPrimary: string;
23
- textSecondary: string;
24
- colorPrimary: string;
25
- colorSecondary: string;
26
- success: string;
27
- error: string;
28
- info: string;
29
- warning: string;
30
- background: string;
31
- panelBackground: string;
32
- themeName: string;
33
- baseTheme?: string;
34
- newOrExisting: string;
35
- defaultTheme: boolean;
36
- fontFamily: string;
37
- h1: number;
38
- h2: number;
39
- h3: number;
40
- h4: number;
41
- h5: number;
42
- h6: number;
43
- body1: number;
44
- body2: number;
45
- button: number;
46
- h1Font: string | undefined;
47
- h2Font: string | undefined;
48
- h3Font: string | undefined;
49
- h4Font: string | undefined;
50
- h5Font: string | undefined;
51
- h6Font: string | undefined;
52
- body1Font: string | undefined;
53
- body2Font: string | undefined;
54
- buttonFont: string | undefined;
22
+ textPrimary: string;
23
+ textSecondary: string;
24
+ colorPrimary: string;
25
+ colorSecondary: string;
26
+ success: string;
27
+ error: string;
28
+ info: string;
29
+ warning: string;
30
+ background: string;
31
+ panelBackground: string;
32
+ themeName: string;
33
+ baseTheme?: string;
34
+ newOrExisting: string;
35
+ defaultTheme: boolean;
36
+ fontFamily: string;
37
+ h1: number;
38
+ h2: number;
39
+ h3: number;
40
+ h4: number;
41
+ h5: number;
42
+ h6: number;
43
+ body1: number;
44
+ body2: number;
45
+ button: number;
46
+ h1Font: string | undefined;
47
+ h2Font: string | undefined;
48
+ h3Font: string | undefined;
49
+ h4Font: string | undefined;
50
+ h5Font: string | undefined;
51
+ h6Font: string | undefined;
52
+ body1Font: string | undefined;
53
+ body2Font: string | undefined;
54
+ buttonFont: string | undefined;
55
55
  }
56
56
  export interface Font {
57
- family: string;
57
+ family: string;
58
58
  }
59
59
 
60
60
  export interface ThemeData {
61
- themeListList: ThemeInput[];
62
- getFonts: Font[];
61
+ themeListList: ThemeInput[];
62
+ getFonts: Font[];
63
63
  }
@@ -1,29 +1,29 @@
1
1
  import { Address } from "../Address";
2
2
 
3
3
  export interface Me {
4
- id: string;
5
- code?: string;
6
- email?: string;
7
- account?: any;
8
- contact?: any;
9
- defaultBillingAddressId?: string;
10
- defaultShippingAddressId?: string;
11
- defaultShippingCountry?: string;
12
- firstName?: string;
13
- fullName?: string;
14
- lastName?: string;
15
- addresses?: Address[];
16
- roles?: any[];
17
- claims?: any[];
4
+ id: string;
5
+ code?: string;
6
+ email?: string;
7
+ account?: any;
8
+ contact?: any;
9
+ defaultBillingAddressId?: string;
10
+ defaultShippingAddressId?: string;
11
+ defaultShippingCountry?: string;
12
+ firstName?: string;
13
+ fullName?: string;
14
+ lastName?: string;
15
+ addresses?: Address[];
16
+ roles?: any[];
17
+ claims?: any[];
18
18
  }
19
19
 
20
20
  export interface RegistrationInput {
21
- userName: string;
22
- password?: string;
23
- firstName: string;
24
- lastName: string;
25
- address?: Address | null;
26
- orderNumber?: string | null;
21
+ userName: string;
22
+ password?: string;
23
+ firstName: string;
24
+ lastName: string;
25
+ address?: Address | null;
26
+ orderNumber?: string | null;
27
27
  }
28
28
 
29
29
  export type { Address };
@@ -1,10 +1,10 @@
1
1
  import { gql } from "graphql-request";
2
2
 
3
3
  import {
4
- USER_FRAGMENT_XS,
5
- USER_FRAGMENT_SM,
6
- USER_FRAGMENT_MD,
7
- USER_FRAGMENT_LG,
4
+ USER_FRAGMENT_XS,
5
+ USER_FRAGMENT_SM,
6
+ USER_FRAGMENT_MD,
7
+ USER_FRAGMENT_LG,
8
8
  } from "./fragments";
9
9
 
10
10
  const USER_READ_XS = gql`
@@ -1,10 +1,10 @@
1
1
  import { gql } from "graphql-request";
2
2
 
3
3
  import {
4
- USER_FRAGMENT_XS,
5
- USER_FRAGMENT_SM,
6
- USER_FRAGMENT_MD,
7
- USER_FRAGMENT_LG,
4
+ USER_FRAGMENT_XS,
5
+ USER_FRAGMENT_SM,
6
+ USER_FRAGMENT_MD,
7
+ USER_FRAGMENT_LG,
8
8
  } from "./fragments";
9
9
 
10
10
  const USER_UPDATE_XS = gql`
@@ -1,68 +1,68 @@
1
1
  import { Product } from "../Product/interfaces";
2
2
 
3
3
  export interface PageInfo {
4
- top?: number;
5
- skip?: number;
6
- search?: string;
7
- sort?: string;
8
- sortDesc?: boolean;
9
- startCursor?: string;
10
- endCursor?: string;
11
- hasNextPage?: boolean;
12
- hasPreviousPage?: boolean;
13
- currentPage?: number;
14
- after?: string;
15
- before?: string;
16
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
17
- filter?: any;
4
+ top?: number;
5
+ skip?: number;
6
+ search?: string;
7
+ sort?: string;
8
+ sortDesc?: boolean;
9
+ startCursor?: string;
10
+ endCursor?: string;
11
+ hasNextPage?: boolean;
12
+ hasPreviousPage?: boolean;
13
+ currentPage?: number;
14
+ after?: string;
15
+ before?: string;
16
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
17
+ filter?: any;
18
18
  }
19
19
  export interface AddToWishlistInput {
20
- wishlistId: string;
21
- productId: string;
22
- quantityRequested?: number;
23
- unitOfMeasureId?: string;
20
+ wishlistId: string;
21
+ productId: string;
22
+ quantityRequested?: number;
23
+ unitOfMeasureId?: string;
24
24
  }
25
25
 
26
26
  export interface deleteItemFromWishlistInput {
27
- wishlistId: string;
28
- productId: string;
29
- quantityRequested?: number;
30
- unitOfMeasureId?: string;
27
+ wishlistId: string;
28
+ productId: string;
29
+ quantityRequested?: number;
30
+ unitOfMeasureId?: string;
31
31
  }
32
32
 
33
33
  export interface WishListProductConnection {
34
- pageInfo: PageInfo;
35
- nodes: Product[];
36
- recordCount?: number;
34
+ pageInfo: PageInfo;
35
+ nodes: Product[];
36
+ recordCount?: number;
37
37
  }
38
38
 
39
39
  export interface WishList {
40
- id: string;
41
- name?: string;
42
- account: any;
43
- products: WishListProductConnection;
44
- contactId?: string;
45
- isDefault: boolean;
46
- listCreatorId?: string;
47
- listCreatorName?: string;
48
- contactCode?: number;
49
- contactName?: string;
50
- accountProductListTypeId?: number;
51
- accountProductListTypeCode?: string;
52
- accountProductListTypeName?: string;
53
- isRemoveAfterPurchase?: boolean;
54
- isPublic?: boolean;
55
- comment?: string;
56
- quantity?: number;
57
- totalProducts?: number;
58
- totalPurchased?: number;
59
- created: string;
60
- modified?: string;
61
- searchText?: string;
40
+ id: string;
41
+ name?: string;
42
+ account: any;
43
+ products: WishListProductConnection;
44
+ contactId?: string;
45
+ isDefault: boolean;
46
+ listCreatorId?: string;
47
+ listCreatorName?: string;
48
+ contactCode?: number;
49
+ contactName?: string;
50
+ accountProductListTypeId?: number;
51
+ accountProductListTypeCode?: string;
52
+ accountProductListTypeName?: string;
53
+ isRemoveAfterPurchase?: boolean;
54
+ isPublic?: boolean;
55
+ comment?: string;
56
+ quantity?: number;
57
+ totalProducts?: number;
58
+ totalPurchased?: number;
59
+ created: string;
60
+ modified?: string;
61
+ searchText?: string;
62
62
  }
63
63
 
64
64
  export interface WishListConnection {
65
- pageInfo: PageInfo;
66
- nodes: WishList[];
67
- recordCount?: number;
65
+ pageInfo: PageInfo;
66
+ nodes: WishList[];
67
+ recordCount?: number;
68
68
  }
@@ -1,9 +1,9 @@
1
1
  import { gql } from "graphql-request";
2
2
  import {
3
- WISHLIST_FRAGMENT_XS,
4
- WISHLIST_FRAGMENT_SM,
5
- WISHLIST_FRAGMENT_MD,
6
- WISHLIST_FRAGMENT_LG,
3
+ WISHLIST_FRAGMENT_XS,
4
+ WISHLIST_FRAGMENT_SM,
5
+ WISHLIST_FRAGMENT_MD,
6
+ WISHLIST_FRAGMENT_LG,
7
7
  } from "./fragments";
8
8
 
9
9
  const PAGE_INFO = gql`
@@ -1,10 +1,10 @@
1
1
  import { gql } from "graphql-request";
2
2
 
3
3
  import {
4
- WISHLIST_FRAGMENT_XS,
5
- WISHLIST_FRAGMENT_SM,
6
- WISHLIST_FRAGMENT_MD,
7
- WISHLIST_FRAGMENT_LG,
4
+ WISHLIST_FRAGMENT_XS,
5
+ WISHLIST_FRAGMENT_SM,
6
+ WISHLIST_FRAGMENT_MD,
7
+ WISHLIST_FRAGMENT_LG,
8
8
  } from "./fragments";
9
9
 
10
10
  const WISHLIST_READ_XS = gql`
@@ -1,34 +1,34 @@
1
1
  export interface PageInfo {
2
- top?: number;
3
- skip?: number;
4
- search?: string;
5
- sort?: string;
6
- sortDesc?: boolean;
7
- startCursor?: string;
8
- endCursor?: string;
9
- hasNextPage?: boolean;
10
- hasPreviousPage?: boolean;
11
- currentPage?: number;
12
- after?: string;
13
- before?: string;
14
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
- filter?: any;
2
+ top?: number;
3
+ skip?: number;
4
+ search?: string;
5
+ sort?: string;
6
+ sortDesc?: boolean;
7
+ startCursor?: string;
8
+ endCursor?: string;
9
+ hasNextPage?: boolean;
10
+ hasPreviousPage?: boolean;
11
+ currentPage?: number;
12
+ after?: string;
13
+ before?: string;
14
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
+ filter?: any;
16
16
  }
17
17
 
18
18
  export interface SettingsValue {
19
- displayName: string;
20
- enumId: number | null;
21
- id: number;
22
- isEnum: boolean;
23
- name: string;
24
- bigIntValue: string;
25
- options: SettingsOption[];
26
- value: string | number;
27
- attributeEntityValueId?: string;
19
+ displayName: string;
20
+ enumId: number | null;
21
+ id: number;
22
+ isEnum: boolean;
23
+ name: string;
24
+ bigIntValue: string;
25
+ options: SettingsOption[];
26
+ value: string | number;
27
+ attributeEntityValueId?: string;
28
28
  }
29
29
 
30
30
  export interface SettingsOption {
31
- displayName: string;
32
- code: string;
33
- id: string | number;
31
+ displayName: string;
32
+ code: string;
33
+ id: string | number;
34
34
  }
@@ -1,10 +1,10 @@
1
1
  import { gql } from "graphql-request";
2
2
 
3
3
  import {
4
- LOGGER_FRAGMENT_XS,
5
- LOGGER_FRAGMENT_SM,
6
- LOGGER_FRAGMENT_MD,
7
- LOGGER_FRAGMENT_LG,
4
+ LOGGER_FRAGMENT_XS,
5
+ LOGGER_FRAGMENT_SM,
6
+ LOGGER_FRAGMENT_MD,
7
+ LOGGER_FRAGMENT_LG,
8
8
  } from "./fragments";
9
9
 
10
10
  const LOGGER_CREATE_XS = gql`
@@ -1,39 +1,39 @@
1
1
  export type LogLevel =
2
- | "assert"
3
- | "clear"
4
- | "count"
5
- | "countReset"
6
- | "debug"
7
- | "dir"
8
- | "dirxml"
9
- | "error"
10
- | "group"
11
- | "groupCollapsed"
12
- | "groupEnd"
13
- | "info"
14
- | "log"
15
- | "profile"
16
- | "profileEnd"
17
- | "table"
18
- | "time"
19
- | "timeEnd"
20
- | "timeLog"
21
- | "timeStamp"
22
- | "trace"
23
- | "warn";
2
+ | "assert"
3
+ | "clear"
4
+ | "count"
5
+ | "countReset"
6
+ | "debug"
7
+ | "dir"
8
+ | "dirxml"
9
+ | "error"
10
+ | "group"
11
+ | "groupCollapsed"
12
+ | "groupEnd"
13
+ | "info"
14
+ | "log"
15
+ | "profile"
16
+ | "profileEnd"
17
+ | "table"
18
+ | "time"
19
+ | "timeEnd"
20
+ | "timeLog"
21
+ | "timeStamp"
22
+ | "trace"
23
+ | "warn";
24
24
 
25
25
  export interface LoggerMessage {
26
- application: string;
27
- version: string;
28
- environment: string;
29
- sessionId: string;
30
- date: string;
31
- message: string;
32
- aspNetUserId?: number;
33
- location?: string;
34
- line?: number;
35
- level: LogLevel;
36
- stack?: any;
37
- graphQLErrors?: any;
38
- info?: any;
26
+ application: string;
27
+ version: string;
28
+ environment: string;
29
+ sessionId: string;
30
+ date: string;
31
+ message: string;
32
+ aspNetUserId?: number;
33
+ location?: string;
34
+ line?: number;
35
+ level: LogLevel;
36
+ stack?: any;
37
+ graphQLErrors?: any;
38
+ info?: any;
39
39
  }
@@ -1,10 +1,10 @@
1
1
  import { gql } from "graphql-request";
2
2
 
3
3
  import {
4
- LOGGER_FRAGMENT_XS,
5
- LOGGER_FRAGMENT_SM,
6
- LOGGER_FRAGMENT_MD,
7
- LOGGER_FRAGMENT_LG,
4
+ LOGGER_FRAGMENT_XS,
5
+ LOGGER_FRAGMENT_SM,
6
+ LOGGER_FRAGMENT_MD,
7
+ LOGGER_FRAGMENT_LG,
8
8
  } from "./fragments";
9
9
 
10
10
  const LOGGER_LIST_XS = gql`
@@ -1,10 +1,10 @@
1
1
  import { gql } from "graphql-request";
2
2
 
3
3
  import {
4
- LOGGER_FRAGMENT_XS,
5
- LOGGER_FRAGMENT_SM,
6
- LOGGER_FRAGMENT_MD,
7
- LOGGER_FRAGMENT_LG,
4
+ LOGGER_FRAGMENT_XS,
5
+ LOGGER_FRAGMENT_SM,
6
+ LOGGER_FRAGMENT_MD,
7
+ LOGGER_FRAGMENT_LG,
8
8
  } from "./fragments";
9
9
 
10
10
  const LOGGER_READ_XS = gql`
@@ -1,10 +1,10 @@
1
1
  import { gql } from "graphql-request";
2
2
 
3
3
  import {
4
- LOGGER_FRAGMENT_XS,
5
- LOGGER_FRAGMENT_SM,
6
- LOGGER_FRAGMENT_MD,
7
- LOGGER_FRAGMENT_LG,
4
+ LOGGER_FRAGMENT_XS,
5
+ LOGGER_FRAGMENT_SM,
6
+ LOGGER_FRAGMENT_MD,
7
+ LOGGER_FRAGMENT_LG,
8
8
  } from "./fragments";
9
9
 
10
10
  const LOGGER_UPDATE_XS = gql`
@@ -1,10 +1,10 @@
1
1
  import { gql } from "graphql-request";
2
2
 
3
3
  import {
4
- SAMPLE_DATA_FRAGMENT_XS,
5
- SAMPLE_DATA_FRAGMENT_SM,
6
- SAMPLE_DATA_FRAGMENT_MD,
7
- SAMPLE_DATA_FRAGMENT_LG,
4
+ SAMPLE_DATA_FRAGMENT_XS,
5
+ SAMPLE_DATA_FRAGMENT_SM,
6
+ SAMPLE_DATA_FRAGMENT_MD,
7
+ SAMPLE_DATA_FRAGMENT_LG,
8
8
  } from "./fragments";
9
9
 
10
10
  export const SAMPLE_DATA_CREATE_XS = gql`
@@ -1,11 +1,11 @@
1
1
  export interface SampleData {
2
- id: string;
3
- code?: string;
4
- name?: string;
5
- description?: string;
6
- status?: boolean;
7
- sort?: number;
8
- extendedFields?: any;
9
- modified?: string;
10
- created?: string;
2
+ id: string;
3
+ code?: string;
4
+ name?: string;
5
+ description?: string;
6
+ status?: boolean;
7
+ sort?: number;
8
+ extendedFields?: any;
9
+ modified?: string;
10
+ created?: string;
11
11
  }
@@ -2,10 +2,10 @@ import { gql } from "graphql-request";
2
2
 
3
3
  import { PAGE_INFO, PAGE_INFO_ENDLESS } from "../../base/fragments";
4
4
  import {
5
- SAMPLE_DATA_FRAGMENT_XS,
6
- SAMPLE_DATA_FRAGMENT_SM,
7
- SAMPLE_DATA_FRAGMENT_MD,
8
- SAMPLE_DATA_FRAGMENT_LG,
5
+ SAMPLE_DATA_FRAGMENT_XS,
6
+ SAMPLE_DATA_FRAGMENT_SM,
7
+ SAMPLE_DATA_FRAGMENT_MD,
8
+ SAMPLE_DATA_FRAGMENT_LG,
9
9
  } from "./fragments";
10
10
 
11
11
  // PAGINATION
@@ -1,10 +1,10 @@
1
1
  import { gql } from "graphql-request";
2
2
 
3
3
  import {
4
- SAMPLE_DATA_FRAGMENT_XS,
5
- SAMPLE_DATA_FRAGMENT_SM,
6
- SAMPLE_DATA_FRAGMENT_MD,
7
- SAMPLE_DATA_FRAGMENT_LG,
4
+ SAMPLE_DATA_FRAGMENT_XS,
5
+ SAMPLE_DATA_FRAGMENT_SM,
6
+ SAMPLE_DATA_FRAGMENT_MD,
7
+ SAMPLE_DATA_FRAGMENT_LG,
8
8
  } from "./fragments";
9
9
 
10
10
  export const SAMPLE_DATA_READ_XS = gql`
@@ -1,10 +1,10 @@
1
1
  import { gql } from "graphql-request";
2
2
 
3
3
  import {
4
- SAMPLE_DATA_FRAGMENT_XS,
5
- SAMPLE_DATA_FRAGMENT_SM,
6
- SAMPLE_DATA_FRAGMENT_MD,
7
- SAMPLE_DATA_FRAGMENT_LG,
4
+ SAMPLE_DATA_FRAGMENT_XS,
5
+ SAMPLE_DATA_FRAGMENT_SM,
6
+ SAMPLE_DATA_FRAGMENT_MD,
7
+ SAMPLE_DATA_FRAGMENT_LG,
8
8
  } from "./fragments";
9
9
 
10
10
  export const SAMPLE_DATA_UPDATE_XS = gql`
@@ -1,21 +1,21 @@
1
1
  export interface AddToCartMessage {
2
- id: number;
3
- name: string;
4
- img: any[];
5
- quantity: number;
6
- attributes: AttentionMessageVariant[];
7
- price: number;
8
- seoName: string;
2
+ id: number;
3
+ name: string;
4
+ img: any[];
5
+ quantity: number;
6
+ attributes: AttentionMessageVariant[];
7
+ price: number;
8
+ seoName: string;
9
9
  }
10
10
 
11
11
  export interface AttentionMessage {
12
- id: number;
13
- text: string;
14
- variant: "alert" | "confirmation" | "error";
15
- severity: "error" | "warning" | "info" | "success";
12
+ id: number;
13
+ text: string;
14
+ variant: "alert" | "confirmation" | "error";
15
+ severity: "error" | "warning" | "info" | "success";
16
16
  }
17
17
 
18
18
  export interface AttentionMessageVariant {
19
- name: string;
20
- value: string;
19
+ name: string;
20
+ value: string;
21
21
  }