zmp-sdk 2.35.3 → 2.35.5

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/apis/index.d.ts CHANGED
@@ -23,205 +23,6 @@ declare enum Events {
23
23
  PaymentResult = "action.payment.result"
24
24
  }
25
25
 
26
- type AsyncCallbackFailObject = {
27
- code: number;
28
- message?: string | undefined;
29
- api?: string | undefined;
30
- [key: string]: any;
31
- };
32
- type AsyncCallback<T = any> = {
33
- success?: ((res: T) => void) | undefined;
34
- fail?: ((err: AsyncCallbackFailObject) => void) | undefined;
35
- };
36
- type AsyncVoidCallback = {
37
- success?: () => void;
38
- fail?: ((err: AsyncCallbackFailObject) => void) | undefined;
39
- };
40
- type GetLocationReturns = {
41
- /** latitude */
42
- latitude?: string;
43
- /** longitude */
44
- longitude?: string;
45
- /** timestamp */
46
- timestamp?: string;
47
- /** provider */
48
- provider?: string;
49
- token?: string;
50
- };
51
- interface SystemInfo {
52
- /** Mini app version */
53
- version: string;
54
- /** SDK version */
55
- apiVersion: string;
56
- /** Zalo version */
57
- zaloVersion: string;
58
- /** Client platform */
59
- platform: string;
60
- /** Language set in Zalo */
61
- language: string;
62
- /** Language set in Zalo */
63
- zaloLanguage: string;
64
- /** Theme set in Zalo */
65
- zaloTheme: string;
66
- }
67
- type SetStorageReturns = {
68
- errorKeys: string[];
69
- };
70
- type GetStorageReturns = {
71
- [key: string]: any;
72
- };
73
- type StorageInfo = {
74
- currentSize: number;
75
- limitSize: number;
76
- };
77
- type RemoveStorageReturns = {
78
- errorKeys: string[];
79
- };
80
- type GetUserInfoReturns = {
81
- userInfo: {
82
- id: string;
83
- name: string;
84
- avatar: string;
85
- idByOA?: string;
86
- isSensitive?: boolean;
87
- };
88
- };
89
- type GetNetworkTypeReturns = {
90
- networkType: NetworkType;
91
- };
92
- type iBeaconInfo = {
93
- /** The iBeacon device broadcast UUID. */
94
- uuid: string;
95
- /** The iBeacon device primary ID. */
96
- major: string;
97
- /** The iBeacon device secondary ID. */
98
- minor: string;
99
- /** The iBeacon device distance. */
100
- distance: number;
101
- /** The signal strength of the device. */
102
- rssi: number;
103
- };
104
- type GetBeaconDiscoveryReturns = {
105
- beacons: Array<iBeaconInfo>;
106
- };
107
- type ScanQRCodeReturns = {
108
- content: string;
109
- };
110
- type OpenPostFeedReturns = {
111
- status: 0 | 1;
112
- shareType: 0 | 1 | 2;
113
- numberOfUser: number;
114
- };
115
- type OpenShareSheetReturns = {
116
- status: 0 | 2 | 1;
117
- shareType: 0 | 2 | 1;
118
- numberOfUser: number;
119
- };
120
- type RequestCameraPermissionReturns = {
121
- userAllow: boolean;
122
- message: string;
123
- };
124
- type CheckZaloCameraPermissionReturns = {
125
- userAllow: boolean;
126
- };
127
- type OpenBioAuthenticationReturns = {
128
- code: number;
129
- message: string;
130
- data: {
131
- domain: string;
132
- code: number;
133
- message: string;
134
- payToken: string;
135
- };
136
- };
137
- type CheckStateBioAuthenticationReturns = {
138
- bioState: string;
139
- };
140
- type KeepScreenReturns = {
141
- success: boolean;
142
- };
143
- type OpenWebviewReturns = {
144
- success: boolean;
145
- };
146
- type GetAppInfoReturns = {
147
- description: string;
148
- version: string;
149
- name: string;
150
- appUrl: string;
151
- qrCodeUrl: string;
152
- logoUrl?: string;
153
- };
154
- type GetPhoneNumberReturns = {
155
- number?: string;
156
- token?: string;
157
- };
158
- type OpenProfilePickerReturns = {
159
- users: {
160
- id: string;
161
- profile: {
162
- name: string;
163
- avatar: string;
164
- };
165
- code: number;
166
- message: string;
167
- }[];
168
- };
169
- type OpenMediaPickerReturns = {
170
- data: string;
171
- };
172
- /**
173
- * Context info
174
- */
175
- type ContextInfo = {
176
- type?: string;
177
- id?: string;
178
- };
179
- type GetAuthCodeReturns = {
180
- authCode: string;
181
- authCodeVerify: string;
182
- };
183
- type GetZPITokenReturns = {
184
- utoken: string;
185
- gtoken: string;
186
- zpp: string;
187
- zpt: string;
188
- };
189
- type ChooseImageReturns = {
190
- filePaths: Array<string>;
191
- tempFiles: Array<{
192
- path: string;
193
- size: number;
194
- }>;
195
- };
196
- type CreateOrderReturns = {
197
- orderId: string;
198
- };
199
- type CheckTransactionReturns = {
200
- msg: string;
201
- orderId: string;
202
- transId: string;
203
- resultCode: number;
204
- transTime: string;
205
- createdAt: string;
206
- };
207
- type CreateOrderIAPReturns = {
208
- orderId: string;
209
- };
210
- type AuthenResponse = {
211
- [key: string]: boolean;
212
- };
213
- type GetSettingReturn = {
214
- authSetting: AuthenResponse;
215
- };
216
-
217
- declare function login(args?: AsyncCallback<string>): Promise<string>;
218
-
219
- declare function getAccessToken(args?: AsyncCallback<string>): Promise<string>;
220
-
221
- declare function getVersion(): string;
222
-
223
- declare function getSystemInfo(): SystemInfo;
224
-
225
26
  declare type Primitive = string | number | symbol | bigint | boolean | null | undefined;
226
27
 
227
28
  declare namespace util {
@@ -1164,6 +965,208 @@ declare enum ZodFirstPartyTypeKind {
1164
965
  ZodPipeline = "ZodPipeline"
1165
966
  }
1166
967
 
968
+ type AsyncCallbackFailObject = {
969
+ code: number;
970
+ message?: string | undefined;
971
+ api?: string | undefined;
972
+ [key: string]: any;
973
+ };
974
+ type AsyncCallback<T = any> = {
975
+ success?: ((res: T) => void) | undefined;
976
+ fail?: ((err: AsyncCallbackFailObject) => void) | undefined;
977
+ };
978
+ type AsyncVoidCallback = {
979
+ success?: () => void;
980
+ fail?: ((err: AsyncCallbackFailObject) => void) | undefined;
981
+ };
982
+ type GetLocationReturns = {
983
+ /** latitude */
984
+ latitude?: string;
985
+ /** longitude */
986
+ longitude?: string;
987
+ /** timestamp */
988
+ timestamp?: string;
989
+ /** provider */
990
+ provider?: string;
991
+ token?: string;
992
+ };
993
+ interface SystemInfo {
994
+ /** Mini app version */
995
+ version: string;
996
+ /** SDK version */
997
+ apiVersion: string;
998
+ /** Zalo version */
999
+ zaloVersion: string;
1000
+ /** Client platform */
1001
+ platform: string;
1002
+ /** Language set in Zalo */
1003
+ language: string;
1004
+ /** Language set in Zalo */
1005
+ zaloLanguage: string;
1006
+ /** Theme set in Zalo */
1007
+ zaloTheme: string;
1008
+ }
1009
+ type SetStorageReturns = {
1010
+ errorKeys: string[];
1011
+ };
1012
+ type GetStorageReturns = {
1013
+ [key: string]: any;
1014
+ };
1015
+ type StorageInfo = {
1016
+ currentSize: number;
1017
+ limitSize: number;
1018
+ };
1019
+ type RemoveStorageReturns = {
1020
+ errorKeys: string[];
1021
+ };
1022
+ type GetUserInfoReturns = {
1023
+ userInfo: {
1024
+ id: string;
1025
+ name: string;
1026
+ avatar: string;
1027
+ idByOA?: string;
1028
+ isSensitive?: boolean;
1029
+ followedOA?: boolean;
1030
+ };
1031
+ };
1032
+ type GetNetworkTypeReturns = {
1033
+ networkType: NetworkType;
1034
+ };
1035
+ type iBeaconInfo = {
1036
+ /** The iBeacon device broadcast UUID. */
1037
+ uuid: string;
1038
+ /** The iBeacon device primary ID. */
1039
+ major: string;
1040
+ /** The iBeacon device secondary ID. */
1041
+ minor: string;
1042
+ /** The iBeacon device distance. */
1043
+ distance: number;
1044
+ /** The signal strength of the device. */
1045
+ rssi: number;
1046
+ };
1047
+ type GetBeaconDiscoveryReturns = {
1048
+ beacons: Array<iBeaconInfo>;
1049
+ };
1050
+ type ScanQRCodeReturns = {
1051
+ content: string;
1052
+ };
1053
+ type OpenPostFeedReturns = {
1054
+ status: 0 | 1;
1055
+ shareType: 0 | 1 | 2;
1056
+ numberOfUser: number;
1057
+ };
1058
+ type OpenShareSheetReturns = {
1059
+ status: 0 | 2 | 1;
1060
+ shareType: 0 | 2 | 1;
1061
+ numberOfUser: number;
1062
+ };
1063
+ type RequestCameraPermissionReturns = {
1064
+ userAllow: boolean;
1065
+ message: string;
1066
+ };
1067
+ type CheckZaloCameraPermissionReturns = {
1068
+ userAllow: boolean;
1069
+ };
1070
+ type OpenBioAuthenticationReturns = {
1071
+ code: number;
1072
+ message: string;
1073
+ data: {
1074
+ domain: string;
1075
+ code: number;
1076
+ message: string;
1077
+ payToken: string;
1078
+ };
1079
+ };
1080
+ type CheckStateBioAuthenticationReturns = {
1081
+ bioState: string;
1082
+ };
1083
+ type KeepScreenReturns = {
1084
+ success: boolean;
1085
+ };
1086
+ type OpenWebviewReturns = {
1087
+ success: boolean;
1088
+ };
1089
+ type GetAppInfoReturns = {
1090
+ description: string;
1091
+ version: string;
1092
+ name: string;
1093
+ appUrl: string;
1094
+ qrCodeUrl: string;
1095
+ logoUrl?: string;
1096
+ };
1097
+ type GetPhoneNumberReturns = {
1098
+ number?: string;
1099
+ token?: string;
1100
+ };
1101
+ type OpenProfilePickerReturns = {
1102
+ users: {
1103
+ id: string;
1104
+ profile: {
1105
+ name: string;
1106
+ avatar: string;
1107
+ };
1108
+ code: number;
1109
+ message: string;
1110
+ }[];
1111
+ };
1112
+ type OpenMediaPickerReturns = {
1113
+ data: string;
1114
+ };
1115
+ /**
1116
+ * Context info
1117
+ */
1118
+ type ContextInfo = {
1119
+ type?: string;
1120
+ id?: string;
1121
+ };
1122
+ type GetAuthCodeReturns = {
1123
+ authCode: string;
1124
+ authCodeVerify: string;
1125
+ };
1126
+ type GetZPITokenReturns = {
1127
+ utoken: string;
1128
+ gtoken: string;
1129
+ zpp: string;
1130
+ zpt: string;
1131
+ };
1132
+ type ChooseImageReturns = {
1133
+ filePaths: Array<string>;
1134
+ tempFiles: Array<{
1135
+ path: string;
1136
+ size: number;
1137
+ }>;
1138
+ };
1139
+ type CreateOrderReturns = {
1140
+ orderId: string;
1141
+ };
1142
+ type CheckTransactionReturns = {
1143
+ msg: string;
1144
+ orderId: string;
1145
+ transId: string;
1146
+ resultCode: number;
1147
+ transTime: string;
1148
+ createdAt: string;
1149
+ };
1150
+ type CreateOrderIAPReturns = {
1151
+ orderId: string;
1152
+ };
1153
+ declare const AuthenScopeProperty: ZodEnum<["scope.userInfo", "scope.userLocation", "scope.userPhonenumber"]>;
1154
+ type AuthenScopeType = TypeOf<typeof AuthenScopeProperty>;
1155
+ type AuthenResponse = Partial<{
1156
+ [key in AuthenScopeType]: boolean;
1157
+ }>;
1158
+ type GetSettingReturn = {
1159
+ authSetting: AuthenResponse;
1160
+ };
1161
+
1162
+ declare function login(args?: AsyncCallback<string>): Promise<string>;
1163
+
1164
+ declare function getAccessToken(args?: AsyncCallback<string>): Promise<string>;
1165
+
1166
+ declare function getVersion(): string;
1167
+
1168
+ declare function getSystemInfo(): SystemInfo;
1169
+
1167
1170
  declare const setNavigationBarTitleArgs: ZodOptional<ZodObject<{
1168
1171
  title: ZodString;
1169
1172
  }, "strip", ZodTypeAny, {
@@ -1413,15 +1416,15 @@ declare const openPostFeedArgs: ZodUnion<[ZodObject<{
1413
1416
  imageUrl?: string | undefined;
1414
1417
  }>;
1415
1418
  }, "strip", ZodTypeAny, {
1419
+ type: "image";
1416
1420
  data: {
1417
1421
  imageUrl?: string | undefined;
1418
1422
  };
1419
- type: "image";
1420
1423
  }, {
1424
+ type: "image";
1421
1425
  data: {
1422
1426
  imageUrl?: string | undefined;
1423
1427
  };
1424
- type: "image";
1425
1428
  }>, ZodObject<{
1426
1429
  type: ZodEnum<["link"]>;
1427
1430
  data: ZodObject<{
@@ -1441,21 +1444,21 @@ declare const openPostFeedArgs: ZodUnion<[ZodObject<{
1441
1444
  link: string;
1442
1445
  }>;
1443
1446
  }, "strip", ZodTypeAny, {
1447
+ type: "link";
1444
1448
  data: {
1445
1449
  description?: string | undefined;
1446
1450
  title?: string | undefined;
1447
1451
  thumb?: string | undefined;
1448
1452
  link: string;
1449
1453
  };
1450
- type: "link";
1451
1454
  }, {
1455
+ type: "link";
1452
1456
  data: {
1453
1457
  description?: string | undefined;
1454
1458
  title?: string | undefined;
1455
1459
  thumb?: string | undefined;
1456
1460
  link: string;
1457
1461
  };
1458
- type: "link";
1459
1462
  }>, ZodObject<{
1460
1463
  type: ZodEnum<["profile"]>;
1461
1464
  data: ZodObject<{
@@ -1466,15 +1469,15 @@ declare const openPostFeedArgs: ZodUnion<[ZodObject<{
1466
1469
  id?: string | undefined;
1467
1470
  }>;
1468
1471
  }, "strip", ZodTypeAny, {
1472
+ type: "profile";
1469
1473
  data: {
1470
1474
  id?: string | undefined;
1471
1475
  };
1472
- type: "profile";
1473
1476
  }, {
1477
+ type: "profile";
1474
1478
  data: {
1475
1479
  id?: string | undefined;
1476
1480
  };
1477
- type: "profile";
1478
1481
  }>]>[];
1479
1482
  declare function openPostFeed(args: AsyncCallback<OpenPostFeedReturns> & TypeOf<(typeof openPostFeedArgs)[0]>): Promise<OpenPostFeedReturns>;
1480
1483
 
@@ -1512,17 +1515,17 @@ declare const openShareSheetArgs: ZodUnion<[ZodObject<{
1512
1515
  imageUrl: string;
1513
1516
  }>;
1514
1517
  }, "strip", ZodTypeAny, {
1518
+ type: "image";
1515
1519
  data: {
1516
1520
  imageUrls?: string[] | undefined;
1517
1521
  imageUrl: string;
1518
1522
  };
1519
- type: "image";
1520
1523
  }, {
1524
+ type: "image";
1521
1525
  data: {
1522
1526
  imageUrls?: string[] | undefined;
1523
1527
  imageUrl: string;
1524
1528
  };
1525
- type: "image";
1526
1529
  }>, ZodObject<{
1527
1530
  type: ZodEnum<["link"]>;
1528
1531
  data: ZodObject<{
@@ -1536,17 +1539,17 @@ declare const openShareSheetArgs: ZodUnion<[ZodObject<{
1536
1539
  link: string;
1537
1540
  }>;
1538
1541
  }, "strip", ZodTypeAny, {
1542
+ type: "link";
1539
1543
  data: {
1540
1544
  chatOnly?: boolean | undefined;
1541
1545
  link: string;
1542
1546
  };
1543
- type: "link";
1544
1547
  }, {
1548
+ type: "link";
1545
1549
  data: {
1546
1550
  chatOnly?: boolean | undefined;
1547
1551
  link: string;
1548
1552
  };
1549
- type: "link";
1550
1553
  }>, ZodObject<{
1551
1554
  type: ZodEnum<["oa"]>;
1552
1555
  data: ZodObject<{
@@ -1557,15 +1560,15 @@ declare const openShareSheetArgs: ZodUnion<[ZodObject<{
1557
1560
  id: string;
1558
1561
  }>;
1559
1562
  }, "strip", ZodTypeAny, {
1563
+ type: "oa";
1560
1564
  data: {
1561
1565
  id: string;
1562
1566
  };
1563
- type: "oa";
1564
1567
  }, {
1568
+ type: "oa";
1565
1569
  data: {
1566
1570
  id: string;
1567
1571
  };
1568
- type: "oa";
1569
1572
  }>, ZodObject<{
1570
1573
  type: ZodEnum<["gif"]>;
1571
1574
  data: ZodObject<{
@@ -1585,21 +1588,21 @@ declare const openShareSheetArgs: ZodUnion<[ZodObject<{
1585
1588
  gifUrl: string;
1586
1589
  }>;
1587
1590
  }, "strip", ZodTypeAny, {
1591
+ type: "gif";
1588
1592
  data: {
1589
1593
  imageUrl?: string | undefined;
1590
1594
  width?: number | undefined;
1591
1595
  height?: number | undefined;
1592
1596
  gifUrl: string;
1593
1597
  };
1594
- type: "gif";
1595
1598
  }, {
1599
+ type: "gif";
1596
1600
  data: {
1597
1601
  imageUrl?: string | undefined;
1598
1602
  width?: number | undefined;
1599
1603
  height?: number | undefined;
1600
1604
  gifUrl: string;
1601
1605
  };
1602
- type: "gif";
1603
1606
  }>, ZodObject<{
1604
1607
  type: ZodEnum<["video"]>;
1605
1608
  data: ZodObject<{
@@ -1619,21 +1622,21 @@ declare const openShareSheetArgs: ZodUnion<[ZodObject<{
1619
1622
  videoUrl: string;
1620
1623
  }>;
1621
1624
  }, "strip", ZodTypeAny, {
1625
+ type: "video";
1622
1626
  data: {
1623
1627
  width?: number | undefined;
1624
1628
  height?: number | undefined;
1625
1629
  videoThumb: string;
1626
1630
  videoUrl: string;
1627
1631
  };
1628
- type: "video";
1629
1632
  }, {
1633
+ type: "video";
1630
1634
  data: {
1631
1635
  width?: number | undefined;
1632
1636
  height?: number | undefined;
1633
1637
  videoThumb: string;
1634
1638
  videoUrl: string;
1635
1639
  };
1636
- type: "video";
1637
1640
  }>, ZodObject<{
1638
1641
  type: ZodEnum<["zmp", "zmp_deep_link"]>;
1639
1642
  data: ZodObject<{
@@ -1642,32 +1645,32 @@ declare const openShareSheetArgs: ZodUnion<[ZodObject<{
1642
1645
  path: ZodOptional<ZodString>;
1643
1646
  description: ZodOptional<ZodDefault<ZodString>>;
1644
1647
  }, "strip", ZodTypeAny, {
1645
- description?: string | undefined;
1646
1648
  path?: string | undefined;
1649
+ description?: string | undefined;
1647
1650
  title: string;
1648
1651
  thumbnail: string;
1649
1652
  }, {
1650
- description?: string | undefined;
1651
1653
  path?: string | undefined;
1654
+ description?: string | undefined;
1652
1655
  title: string;
1653
1656
  thumbnail: string;
1654
1657
  }>;
1655
1658
  }, "strip", ZodTypeAny, {
1659
+ type: "zmp" | "zmp_deep_link";
1656
1660
  data: {
1657
- description?: string | undefined;
1658
1661
  path?: string | undefined;
1662
+ description?: string | undefined;
1659
1663
  title: string;
1660
1664
  thumbnail: string;
1661
1665
  };
1662
- type: "zmp" | "zmp_deep_link";
1663
1666
  }, {
1667
+ type: "zmp" | "zmp_deep_link";
1664
1668
  data: {
1665
- description?: string | undefined;
1666
1669
  path?: string | undefined;
1670
+ description?: string | undefined;
1667
1671
  title: string;
1668
1672
  thumbnail: string;
1669
1673
  };
1670
- type: "zmp" | "zmp_deep_link";
1671
1674
  }>]>[];
1672
1675
  declare function openShareSheet(args: AsyncCallback<OpenShareSheetReturns> & TypeOf<(typeof openShareSheetArgs)[0]>): Promise<OpenShareSheetReturns>;
1673
1676
 
@@ -1931,8 +1934,8 @@ declare const getShareableLinkArgs: ZodObject<{
1931
1934
  description: string;
1932
1935
  title: string;
1933
1936
  }, {
1934
- description?: string | undefined;
1935
1937
  path?: string | undefined;
1938
+ description?: string | undefined;
1936
1939
  thumbnail?: string | undefined;
1937
1940
  title: string;
1938
1941
  }>[];
@@ -2002,16 +2005,19 @@ declare const createOrderArgs: ZodObject<{
2002
2005
  item: ZodArray<ZodRecord<ZodString, ZodAny>, "many">;
2003
2006
  desc: ZodString;
2004
2007
  extradata: ZodOptional<ZodAny>;
2008
+ payload: ZodOptional<ZodAny>;
2005
2009
  method: ZodOptional<ZodEnum<["MOMO", "ZALOPAY", "MOMO_SANDBOX", "ZALOPAY_SANDBOX", "CC", "CC_SANDBOX", "ATM", "ATM_SANDBOX", "VNPAY", "VNPAY_SANDBOX"]>>;
2006
2010
  }, "strip", ZodTypeAny, {
2007
2011
  method?: "ZALOPAY" | "MOMO" | "ZALOPAY_SANDBOX" | "MOMO_SANDBOX" | "ATM" | "ATM_SANDBOX" | "CC" | "CC_SANDBOX" | "VNPAY" | "VNPAY_SANDBOX" | undefined;
2008
2012
  extradata?: any;
2013
+ payload?: any;
2009
2014
  desc: string;
2010
2015
  amount: string | number;
2011
2016
  item: Record<string, any>[];
2012
2017
  }, {
2013
2018
  method?: "ZALOPAY" | "MOMO" | "ZALOPAY_SANDBOX" | "MOMO_SANDBOX" | "ATM" | "ATM_SANDBOX" | "CC" | "CC_SANDBOX" | "VNPAY" | "VNPAY_SANDBOX" | undefined;
2014
2019
  extradata?: any;
2020
+ payload?: any;
2015
2021
  desc: string;
2016
2022
  amount: string | number;
2017
2023
  item: Record<string, any>[];
@@ -2298,11 +2304,11 @@ declare function checkIsAllowedInteractWithOA(args: AsyncVoidCallback & TypeOf<(
2298
2304
  declare function getSetting(args?: AsyncCallback<GetSettingReturn>): Promise<GetSettingReturn>;
2299
2305
 
2300
2306
  declare const authorizeArgs: ZodOptional<ZodObject<{
2301
- scopes: ZodOptional<ZodArray<ZodString, "many">>;
2307
+ scopes: ZodOptional<ZodArray<ZodEnum<["scope.userInfo", "scope.userLocation", "scope.userPhonenumber"]>, "many">>;
2302
2308
  }, "strip", ZodTypeAny, {
2303
- scopes?: string[] | undefined;
2309
+ scopes?: ("scope.userInfo" | "scope.userLocation" | "scope.userPhonenumber")[] | undefined;
2304
2310
  }, {
2305
- scopes?: string[] | undefined;
2311
+ scopes?: ("scope.userInfo" | "scope.userLocation" | "scope.userPhonenumber")[] | undefined;
2306
2312
  }>>[];
2307
2313
  declare function authorize(args?: AsyncVoidCallback & TypeOf<(typeof authorizeArgs)[0]>): Promise<AuthenResponse>;
2308
2314
 
@@ -1 +1 @@
1
- var r="2.35.3";export{r as version};
1
+ var r="2.35.5";export{r as version};