11declare module '@vkontakte/vk-bridge' {
2+ export enum EGetLaunchParamsResponseLanguages {
3+ RU = 'ru' ,
4+ UK = 'uk' ,
5+ UA = 'ua' ,
6+ EN = 'en' ,
7+ BE = 'be' ,
8+ KZ = 'kz' ,
9+ PT = 'pt' ,
10+ ES = 'es' ,
11+ }
12+
13+ export enum EGetLaunchParamsResponseGroupRole {
14+ EDITOR = 'editor' ,
15+ MEMBER = 'member' ,
16+ ADMIN = 'admin' ,
17+ MODER = 'moder' ,
18+ NONE = 'none' ,
19+ }
20+
21+ export enum EGetLaunchParamsResponsePlatforms {
22+ DESKTOP_WEB = 'desktop_web' ,
23+ DESKTOP_WEB_MESSENGER = 'desktop_web_messenger' ,
24+ DESKTOP_APP_MESSENGER = 'desktop_app_messenger' ,
25+ MOBILE_WEB = 'mobile_web' ,
26+ MOBILE_ANDROID = 'mobile_android' ,
27+ MOBILE_ANDROID_MESSENGER = 'mobile_android_messenger' ,
28+ MOBILE_IPHONE = 'mobile_iphone' ,
29+ MOBILE_IPHONE_MESSENGER = 'mobile_iphone_messenger' ,
30+ MOBILE_IPAD = 'mobile_ipad' ,
31+ }
32+
33+ export type GetLaunchParamsResponse = {
34+ vk_user_id : number ;
35+ vk_app_id : number ;
36+ vk_is_app_user : 0 | 1 ;
37+ vk_are_notifications_enabled : 0 | 1 ;
38+ vk_language : EGetLaunchParamsResponseLanguages ;
39+ vk_ref : string ;
40+ vk_access_token_settings : string ;
41+ vk_group_id ?: number ;
42+ vk_viewer_group_role ?: EGetLaunchParamsResponseGroupRole ;
43+ vk_platform : EGetLaunchParamsResponsePlatforms ;
44+ vk_is_favorite : 0 | 1 ;
45+ vk_ts : number ;
46+ sign : string ;
47+ } ;
48+
49+ export interface LaunchParams extends GetLaunchParamsResponse {
50+ vk_chat_id : string ;
51+ vk_is_recommended : number ;
52+ vk_profile_id : number ;
53+ vk_has_profile_button : number ;
54+ vk_testing_group_id : number ;
55+ odr_enabled : undefined | 1 ;
56+ }
57+
58+ export declare const parseURLSearchParamsForGetLaunchParams : (
59+ searchParams : string ,
60+ ) => Partial < LaunchParams > ;
61+
262 export type ChangeFragmentResponse = {
363 location : string ;
464 } ;
@@ -26,31 +86,30 @@ declare module '@vkontakte/vk-bridge' {
2686 T extends keyof RequestPropsMap ,
2787 R extends string ,
2888 F extends string ,
29- > = Record < T , { result : R ; failed : F } > ;
89+ > = Record < T , { result : R ; failed : F } > ;
3090 /**
3191 * Map of event names.
3292 */
33- export type ReceiveEventMap =
34- EventReceiveNames <
35- 'VKWebAppSetSwipeSettings' ,
36- 'VKWebAppSetSwipeSettingsResult' ,
37- 'VKWebAppSetSwipeSettingsFailed'
38- > &
93+ export type ReceiveEventMap = EventReceiveNames <
94+ 'VKWebAppSetSwipeSettings' ,
95+ 'VKWebAppSetSwipeSettingsResult' ,
96+ 'VKWebAppSetSwipeSettingsFailed'
97+ > &
3998 EventReceiveNames <
4099 'VKWebAppDisableSwipeBack' ,
41100 'VKWebAppDisableSwipeBackResult' ,
42101 'VKWebAppDisableSwipeBackFailed'
43- > &
102+ > &
44103 EventReceiveNames <
45104 'VKWebAppEnableSwipeBack' ,
46105 'VKWebAppEnableSwipeBackResult' ,
47106 'VKWebAppEnableSwipeBackFailed'
48- > &
107+ > &
49108 EventReceiveNames <
50109 'VKWebAppSetLocation' ,
51110 'VKWebAppSetLocationResult' ,
52111 'VKWebAppSetLocationFailed'
53- > ;
112+ > ;
54113 /**
55114 * Name of a method that can be sent.
56115 */
@@ -70,15 +129,18 @@ declare module '@vkontakte/vk-bridge' {
70129 /**
71130 * Getter of failed event name of a method.
72131 */
73- export type FailedResponseEventName < M extends AnyRequestMethodName > = M extends keyof ReceiveEventMap ? ReceiveEventMap [ M ] [ 'failed' ] : never ;
132+ export type FailedResponseEventName < M extends AnyRequestMethodName > =
133+ M extends keyof ReceiveEventMap ? ReceiveEventMap [ M ] [ 'failed' ] : never ;
74134 /**
75135 * Getter of result event name of a method.
76136 */
77- export type ResultResponseEventName < M extends AnyRequestMethodName > = M extends keyof ReceiveEventMap ? ReceiveEventMap [ M ] [ 'result' ] : never ;
137+ export type ResultResponseEventName < M extends AnyRequestMethodName > =
138+ M extends keyof ReceiveEventMap ? ReceiveEventMap [ M ] [ 'result' ] : never ;
78139 /**
79140 * Getter of request properties of a method.
80141 */
81- export type RequestProps < M extends AnyRequestMethodName = AnyRequestMethodName > = RequestPropsMap [ M ] ;
142+ export type RequestProps < M extends AnyRequestMethodName = AnyRequestMethodName > =
143+ RequestPropsMap [ M ] ;
82144 /**
83145 * Getter of response data of a method.
84146 */
@@ -116,19 +178,22 @@ declare module '@vkontakte/vk-bridge' {
116178 /**
117179 * Type of error data
118180 */
119- export type ErrorData = {
120- error_type : 'client_error' ;
121- error_data : ErrorDataClientError ;
122- request_id ?: number | string ;
123- } | {
124- error_type : 'api_error' ;
125- error_data : ErrorDataAPIError ;
126- request_id ?: number | string ;
127- } | {
128- error_type : 'auth_error' ;
129- error_data : ErrorDataAuthError ;
130- request_id ?: number | string ;
131- } ;
181+ export type ErrorData =
182+ | {
183+ error_type : 'client_error' ;
184+ error_data : ErrorDataClientError ;
185+ request_id ?: number | string ;
186+ }
187+ | {
188+ error_type : 'api_error' ;
189+ error_data : ErrorDataAPIError ;
190+ request_id ?: number | string ;
191+ }
192+ | {
193+ error_type : 'auth_error' ;
194+ error_data : ErrorDataAuthError ;
195+ request_id ?: number | string ;
196+ } ;
132197 /**
133198 * Generic event type for creating event types.
134199 */
@@ -141,7 +206,10 @@ declare module '@vkontakte/vk-bridge' {
141206 /**
142207 * Type of error event data
143208 */
144- export type VKBridgeErrorEvent < M extends AnyReceiveMethodName > = VKBridgeEventBase < M extends AnyRequestMethodName ? FailedResponseEventName < M > : never , ErrorData > ;
209+ export type VKBridgeErrorEvent < M extends AnyReceiveMethodName > = VKBridgeEventBase <
210+ M extends AnyRequestMethodName ? FailedResponseEventName < M > : never ,
211+ ErrorData
212+ > ;
145213 /**
146214 * Type of event that is a response to a request
147215 */
@@ -157,11 +225,18 @@ declare module '@vkontakte/vk-bridge' {
157225 /**
158226 * Type of result event data
159227 */
160- export type VKBridgeResultEvent < M extends AnyReceiveMethodName > = M extends AnyReceiveOnlyMethodName ? VKBridgeReceiveOnlyEvent < M > : M extends AnyIOMethodName ? VKBridgeIOEvent < M > : never ;
228+ export type VKBridgeResultEvent < M extends AnyReceiveMethodName > =
229+ M extends AnyReceiveOnlyMethodName
230+ ? VKBridgeReceiveOnlyEvent < M >
231+ : M extends AnyIOMethodName
232+ ? VKBridgeIOEvent < M >
233+ : never ;
161234 /**
162235 * VK Bridge event.
163236 */
164- export type VKBridgeEvent < M extends AnyReceiveMethodName > = VKBridgeErrorEvent < M > | VKBridgeResultEvent < M > ;
237+ export type VKBridgeEvent < M extends AnyReceiveMethodName > =
238+ | VKBridgeErrorEvent < M >
239+ | VKBridgeResultEvent < M > ;
165240 /**
166241 * Type of function that will be subscribed to VK Bridge events.
167242 */
@@ -173,7 +248,10 @@ declare module '@vkontakte/vk-bridge' {
173248 * @param props Method properties.
174249 * @returns The Promise object with response data.
175250 */
176- export type VKBridgeSend = < K extends AnyRequestMethodName > ( method : K , props ?: RequestProps < K > & RequestIdProp ) => Promise < K extends AnyReceiveMethodName ? ReceiveData < K > : void > ;
251+ export type VKBridgeSend = < K extends AnyRequestMethodName > (
252+ method : K ,
253+ props ?: RequestProps < K > & RequestIdProp ,
254+ ) => Promise < K extends AnyReceiveMethodName ? ReceiveData < K > : void > ;
177255 /**
178256 * VK Bridge interface.
179257 */
0 commit comments