@tma.js/sdk 1.5.3 → 2.0.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 (255) hide show
  1. package/dist/dts/bridge/events/event-emitter/createMiniAppsEventEmitter.d.ts +15 -0
  2. package/dist/dts/bridge/events/event-emitter/singleton.d.ts +8 -0
  3. package/dist/dts/bridge/events/event-handlers/cleanupEventHandlers.d.ts +4 -0
  4. package/dist/dts/bridge/events/event-handlers/defineEventHandlers.d.ts +6 -0
  5. package/dist/dts/bridge/events/event-handlers/emitMiniAppsEvent.d.ts +9 -0
  6. package/dist/dts/bridge/events/{off.d.ts → listening/off.d.ts} +3 -2
  7. package/dist/dts/bridge/events/listening/on.d.ts +12 -0
  8. package/dist/dts/bridge/events/listening/subscribe.d.ts +9 -0
  9. package/dist/dts/bridge/events/listening/unsubscribe.d.ts +7 -0
  10. package/dist/dts/bridge/events/types.d.ts +294 -2
  11. package/dist/dts/bridge/methods/createPostEvent.d.ts +7 -4
  12. package/dist/dts/bridge/methods/postEvent.d.ts +24 -15
  13. package/dist/dts/bridge/methods/{custom-methods.d.ts → types/custom-methods.d.ts} +2 -1
  14. package/dist/dts/bridge/methods/types/index.d.ts +4 -0
  15. package/dist/dts/bridge/methods/{methods.d.ts → types/methods.d.ts} +70 -17
  16. package/dist/dts/{globals.d.ts → bridge/target-origin.d.ts} +0 -9
  17. package/dist/dts/bridge/{invokeCustomMethod.d.ts → utils/invokeCustomMethod.d.ts} +7 -2
  18. package/dist/dts/bridge/utils/request.d.ts +35 -0
  19. package/dist/dts/classes/State/State.d.ts +46 -0
  20. package/dist/dts/classes/State/types.d.ts +29 -0
  21. package/dist/dts/classes/WithStateUtils.d.ts +18 -0
  22. package/dist/dts/classes/WithSupports.d.ts +19 -0
  23. package/dist/dts/classes/WithSupportsAndStateUtils.d.ts +24 -0
  24. package/dist/dts/classes/WithSupportsAndTrackableState.d.ts +16 -0
  25. package/dist/dts/classes/WithTrackableState.d.ts +16 -0
  26. package/dist/dts/classnames/mergeClassNames.d.ts +2 -1
  27. package/dist/dts/colors/isRGB.d.ts +2 -1
  28. package/dist/dts/colors/isRGBShort.d.ts +2 -1
  29. package/dist/dts/colors/toRGB.d.ts +2 -1
  30. package/dist/dts/components/BackButton/BackButton.d.ts +41 -0
  31. package/dist/dts/components/BackButton/initBackButton.d.ts +7 -0
  32. package/dist/dts/components/BackButton/types.d.ts +25 -0
  33. package/dist/dts/components/BiometryManager/BiometryManager.d.ts +61 -0
  34. package/dist/dts/components/BiometryManager/formatEvent.d.ts +34 -0
  35. package/dist/dts/components/BiometryManager/initBiometryManager.d.ts +7 -0
  36. package/dist/dts/components/BiometryManager/requestBiometryInfo.d.ts +8 -0
  37. package/dist/dts/components/BiometryManager/types.d.ts +40 -0
  38. package/dist/dts/components/ClosingBehavior/ClosingBehavior.d.ts +26 -0
  39. package/dist/dts/components/ClosingBehavior/initClosingBehavior.d.ts +7 -0
  40. package/dist/dts/components/{closing-behavior → ClosingBehavior}/types.d.ts +14 -1
  41. package/dist/dts/components/{cloud-storage → CloudStorage}/CloudStorage.d.ts +11 -11
  42. package/dist/dts/components/CloudStorage/initCloudStorage.d.ts +7 -0
  43. package/dist/dts/components/{haptic-feedback → HapticFeedback}/HapticFeedback.d.ts +9 -13
  44. package/dist/dts/components/HapticFeedback/initHapticFeedback.d.ts +7 -0
  45. package/dist/dts/components/{init-data → InitData}/InitData.d.ts +4 -2
  46. package/dist/dts/components/InitData/initInitData.d.ts +7 -0
  47. package/dist/dts/components/{init-data → InitData}/parseInitData.d.ts +2 -1
  48. package/dist/dts/components/InitData/parsers/chat.d.ts +3 -0
  49. package/dist/dts/components/InitData/parsers/initData.d.ts +7 -0
  50. package/dist/dts/components/InitData/parsers/user.d.ts +3 -0
  51. package/dist/dts/components/{init-data → InitData}/types.d.ts +2 -3
  52. package/dist/dts/components/Invoice/Invoice.d.ts +31 -0
  53. package/dist/dts/components/Invoice/initInvoice.d.ts +7 -0
  54. package/dist/dts/components/{invoice → Invoice}/types.d.ts +14 -1
  55. package/dist/dts/components/MainButton/MainButton.d.ts +106 -0
  56. package/dist/dts/components/MainButton/initMainButton.d.ts +7 -0
  57. package/dist/dts/components/MainButton/types.d.ts +40 -0
  58. package/dist/dts/components/{mini-app → MiniApp}/MiniApp.d.ts +29 -43
  59. package/dist/dts/components/MiniApp/initMiniApp.d.ts +7 -0
  60. package/dist/dts/components/MiniApp/parsing/contact.d.ts +7 -0
  61. package/dist/dts/components/MiniApp/types.d.ts +53 -0
  62. package/dist/dts/components/Popup/Popup.d.ts +30 -0
  63. package/dist/dts/components/Popup/initPopup.d.ts +7 -0
  64. package/dist/dts/components/{popup → Popup}/preparePopupParams.d.ts +3 -2
  65. package/dist/dts/components/{popup → Popup}/types.d.ts +2 -1
  66. package/dist/dts/components/QRScanner/QRScanner.d.ts +28 -0
  67. package/dist/dts/components/QRScanner/initQRScanner.d.ts +7 -0
  68. package/dist/dts/components/{qr-scanner → QRScanner}/types.d.ts +14 -1
  69. package/dist/dts/components/SettingsButton/SettingsButton.d.ts +37 -0
  70. package/dist/dts/components/SettingsButton/initSettingsButton.d.ts +7 -0
  71. package/dist/dts/components/{settings-button → SettingsButton}/types.d.ts +18 -3
  72. package/dist/dts/components/ThemeParams/ThemeParams.d.ts +53 -0
  73. package/dist/dts/components/ThemeParams/initThemeParams.d.ts +7 -0
  74. package/dist/dts/components/ThemeParams/keys.d.ts +11 -0
  75. package/dist/dts/components/{theme-params → ThemeParams/parsing}/parseThemeParams.d.ts +2 -1
  76. package/dist/dts/components/{theme-params → ThemeParams/parsing}/serializeThemeParams.d.ts +2 -1
  77. package/dist/dts/components/ThemeParams/parsing/themeParams.d.ts +4 -0
  78. package/dist/dts/components/ThemeParams/requestThemeParams.d.ts +8 -0
  79. package/dist/dts/components/ThemeParams/types.d.ts +29 -0
  80. package/dist/dts/components/{utils → Utils}/Utils.d.ts +10 -12
  81. package/dist/dts/components/Utils/initUtils.d.ts +7 -0
  82. package/dist/dts/components/Viewport/Viewport.d.ts +77 -0
  83. package/dist/dts/components/Viewport/initViewport.d.ts +8 -0
  84. package/dist/dts/components/Viewport/initViewportFromRequest.d.ts +10 -0
  85. package/dist/dts/components/{viewport → Viewport}/requestViewport.d.ts +3 -2
  86. package/dist/dts/components/Viewport/types.d.ts +35 -0
  87. package/dist/dts/css-vars/bindMiniAppCSSVars.d.ts +29 -0
  88. package/dist/dts/css-vars/bindThemeParamsCSSVars.d.ts +29 -0
  89. package/dist/dts/css-vars/bindViewportCSSVars.d.ts +32 -0
  90. package/dist/dts/{css → css-vars}/setCSSVar.d.ts +1 -1
  91. package/dist/dts/debug/debug.d.ts +14 -0
  92. package/dist/dts/{bridge/env → env}/hasExternalNotify.d.ts +5 -7
  93. package/dist/dts/{bridge/env → env}/hasWebviewProxy.d.ts +5 -7
  94. package/dist/dts/env/initWeb.d.ts +11 -0
  95. package/dist/dts/env/isSSR.d.ts +4 -0
  96. package/dist/dts/{misc → env}/isTMA.d.ts +1 -1
  97. package/dist/dts/errors/SDKError.d.ts +9 -0
  98. package/dist/dts/errors/createError.d.ts +10 -0
  99. package/dist/dts/errors/errors.d.ts +53 -0
  100. package/dist/dts/errors/isSDKError.d.ts +7 -0
  101. package/dist/dts/errors/isSDKErrorOfType.d.ts +8 -0
  102. package/dist/dts/{event-emitter → events/event-emitter}/EventEmitter.d.ts +20 -30
  103. package/dist/dts/{event-emitter → events/event-emitter}/types.d.ts +10 -9
  104. package/dist/dts/events/onWindow.d.ts +10 -0
  105. package/dist/dts/events/types.d.ts +6 -0
  106. package/dist/dts/index.d.ts +114 -92
  107. package/dist/dts/index.low-level.d.ts +41 -0
  108. package/dist/dts/launch-params/parseLaunchParams.d.ts +2 -1
  109. package/dist/dts/launch-params/retrieveFromLocation.d.ts +2 -1
  110. package/dist/dts/launch-params/retrieveFromPerformance.d.ts +3 -3
  111. package/dist/dts/launch-params/{storage.d.ts → retrieveFromStorage.d.ts} +2 -6
  112. package/dist/dts/launch-params/retrieveFromUrl.d.ts +2 -1
  113. package/dist/dts/launch-params/retrieveLaunchParams.d.ts +2 -1
  114. package/dist/dts/launch-params/saveToStorage.d.ts +7 -0
  115. package/dist/dts/launch-params/serializeLaunchParams.d.ts +2 -1
  116. package/dist/dts/launch-params/types.d.ts +12 -13
  117. package/dist/dts/logger/Logger.d.ts +9 -18
  118. package/dist/dts/misc/createComponentInitFn/createComponentInitFn.d.ts +15 -0
  119. package/dist/dts/misc/createComponentInitFn/types.d.ts +47 -0
  120. package/dist/dts/misc/createSingleton.d.ts +15 -0
  121. package/dist/dts/misc/objectFromKeys.d.ts +6 -0
  122. package/dist/dts/navigation/BasicNavigator/BasicNavigator.d.ts +118 -0
  123. package/dist/dts/navigation/BasicNavigator/prepareItem.d.ts +8 -0
  124. package/dist/dts/navigation/BasicNavigator/types.d.ts +37 -0
  125. package/dist/dts/navigation/BrowserNavigator/BrowserNavigator.d.ts +198 -0
  126. package/dist/dts/navigation/BrowserNavigator/basicItemToBrowser.d.ts +7 -0
  127. package/dist/dts/navigation/BrowserNavigator/createBrowserNavigatorFromLocation.d.ts +4 -0
  128. package/dist/dts/navigation/BrowserNavigator/prepareItem.d.ts +25 -0
  129. package/dist/dts/navigation/BrowserNavigator/types.d.ts +63 -0
  130. package/dist/dts/navigation/createSafeURL.d.ts +7 -0
  131. package/dist/dts/navigation/getHash.d.ts +2 -1
  132. package/dist/dts/navigation/getPathname.d.ts +7 -0
  133. package/dist/dts/navigation/initNavigator.d.ts +9 -0
  134. package/dist/dts/navigation/urlToPath.d.ts +7 -0
  135. package/dist/dts/parsing/ArrayParser/ArrayParser.d.ts +17 -0
  136. package/dist/dts/parsing/ArrayParser/types.d.ts +12 -0
  137. package/dist/dts/parsing/ValueParser/ValueParser.d.ts +17 -0
  138. package/dist/dts/parsing/{ValueParser.d.ts → ValueParser/types.d.ts} +6 -14
  139. package/dist/dts/parsing/createTypeError.d.ts +6 -0
  140. package/dist/dts/parsing/createValueParserGenerator.d.ts +3 -2
  141. package/dist/dts/parsing/parseBySchema.d.ts +2 -1
  142. package/dist/dts/parsing/parsers/array.d.ts +3 -2
  143. package/dist/dts/parsing/parsers/boolean.d.ts +2 -1
  144. package/dist/dts/parsing/parsers/date.d.ts +2 -1
  145. package/dist/dts/parsing/parsers/json.d.ts +3 -2
  146. package/dist/dts/parsing/parsers/number.d.ts +2 -1
  147. package/dist/dts/parsing/parsers/rgb.d.ts +3 -2
  148. package/dist/dts/parsing/parsers/searchParams.d.ts +3 -2
  149. package/dist/dts/parsing/parsers/string.d.ts +2 -1
  150. package/dist/dts/{init/creators → request-id}/createRequestIdGenerator.d.ts +3 -2
  151. package/dist/dts/{types/request-id.d.ts → request-id/types.d.ts} +1 -1
  152. package/dist/dts/storage/storage.d.ts +42 -0
  153. package/dist/dts/supports/createSupportsFn.d.ts +12 -0
  154. package/dist/dts/supports/{createSupportsParamFunc.d.ts → createSupportsParamFn.d.ts} +5 -4
  155. package/dist/dts/supports/supports.d.ts +3 -2
  156. package/dist/dts/supports/types.d.ts +1 -1
  157. package/dist/dts/timeout/createTimeoutError.d.ts +7 -0
  158. package/dist/dts/timeout/sleep.d.ts +1 -1
  159. package/dist/dts/timeout/withTimeout.d.ts +1 -2
  160. package/dist/dts/types/index.d.ts +6 -0
  161. package/dist/dts/types/methods.d.ts +2 -1
  162. package/dist/dts/types/misc.d.ts +12 -0
  163. package/dist/dts/types/utils.d.ts +16 -0
  164. package/dist/dts/version/compareVersions.d.ts +2 -1
  165. package/dist/index.cjs +2 -1
  166. package/dist/index.cjs.map +1 -0
  167. package/dist/index.iife.js +2 -1
  168. package/dist/index.iife.js.map +1 -0
  169. package/dist/index.js +3001 -0
  170. package/dist/index.js.map +1 -0
  171. package/dist/index.low-level.iife.js +2 -0
  172. package/dist/index.low-level.iife.js.map +1 -0
  173. package/package.json +7 -9
  174. package/dist/dts/bridge/errors/MethodUnsupportedError.d.ts +0 -8
  175. package/dist/dts/bridge/errors/ParameterUnsupportedError.d.ts +0 -8
  176. package/dist/dts/bridge/events/createEmitter.d.ts +0 -6
  177. package/dist/dts/bridge/events/events.d.ts +0 -140
  178. package/dist/dts/bridge/events/on.d.ts +0 -9
  179. package/dist/dts/bridge/events/onTelegramEvent.d.ts +0 -7
  180. package/dist/dts/bridge/events/once.d.ts +0 -8
  181. package/dist/dts/bridge/events/parsers/clipboardTextReceived.d.ts +0 -13
  182. package/dist/dts/bridge/events/parsers/customMethodInvoked.d.ts +0 -16
  183. package/dist/dts/bridge/events/parsers/invoiceClosed.d.ts +0 -12
  184. package/dist/dts/bridge/events/parsers/phoneRequested.d.ts +0 -8
  185. package/dist/dts/bridge/events/parsers/popupClosed.d.ts +0 -8
  186. package/dist/dts/bridge/events/parsers/qrTextReceived.d.ts +0 -7
  187. package/dist/dts/bridge/events/parsers/theme-changed.d.ts +0 -42
  188. package/dist/dts/bridge/events/parsers/viewportChanged.d.ts +0 -19
  189. package/dist/dts/bridge/events/parsers/writeAccessRequested.d.ts +0 -8
  190. package/dist/dts/bridge/events/singletonEmitter.d.ts +0 -6
  191. package/dist/dts/bridge/events/subscribe.d.ts +0 -8
  192. package/dist/dts/bridge/events/unsubscribe.d.ts +0 -6
  193. package/dist/dts/bridge/request.d.ts +0 -54
  194. package/dist/dts/components/back-button/BackButton.d.ts +0 -47
  195. package/dist/dts/components/back-button/types.d.ts +0 -10
  196. package/dist/dts/components/closing-behavior/ClosingBehavior.d.ts +0 -39
  197. package/dist/dts/components/init-data/chatParser.d.ts +0 -6
  198. package/dist/dts/components/init-data/initDataParser.d.ts +0 -6
  199. package/dist/dts/components/init-data/userParser.d.ts +0 -6
  200. package/dist/dts/components/invoice/Invoice.d.ts +0 -47
  201. package/dist/dts/components/main-button/MainButton.d.ts +0 -104
  202. package/dist/dts/components/main-button/types.d.ts +0 -20
  203. package/dist/dts/components/mini-app/contactParser.d.ts +0 -2
  204. package/dist/dts/components/mini-app/types.d.ts +0 -32
  205. package/dist/dts/components/popup/Popup.d.ts +0 -48
  206. package/dist/dts/components/qr-scanner/QRScanner.d.ts +0 -44
  207. package/dist/dts/components/settings-button/SettingsButton.d.ts +0 -42
  208. package/dist/dts/components/theme-params/ThemeParams.d.ts +0 -66
  209. package/dist/dts/components/theme-params/keys.d.ts +0 -11
  210. package/dist/dts/components/theme-params/requestThemeParams.d.ts +0 -7
  211. package/dist/dts/components/theme-params/themeParamsParser.d.ts +0 -3
  212. package/dist/dts/components/theme-params/types.d.ts +0 -14
  213. package/dist/dts/components/viewport/Viewport.d.ts +0 -90
  214. package/dist/dts/components/viewport/isStableViewportPlatform.d.ts +0 -7
  215. package/dist/dts/components/viewport/types.d.ts +0 -18
  216. package/dist/dts/components/viewport/utils.d.ts +0 -5
  217. package/dist/dts/css/bindMiniAppCSSVars.d.ts +0 -16
  218. package/dist/dts/css/bindThemeCSSVars.d.ts +0 -12
  219. package/dist/dts/css/bindViewportCSSVars.d.ts +0 -20
  220. package/dist/dts/init/catchCustomStyles.d.ts +0 -4
  221. package/dist/dts/init/creators/createBackButton.d.ts +0 -10
  222. package/dist/dts/init/creators/createClosingBehavior.d.ts +0 -9
  223. package/dist/dts/init/creators/createMainButton.d.ts +0 -12
  224. package/dist/dts/init/creators/createMiniApp.d.ts +0 -16
  225. package/dist/dts/init/creators/createSettingsButton.d.ts +0 -10
  226. package/dist/dts/init/creators/createThemeParams.d.ts +0 -7
  227. package/dist/dts/init/creators/createViewport.d.ts +0 -11
  228. package/dist/dts/init/css/processCSSVarsOption.d.ts +0 -12
  229. package/dist/dts/init/init.d.ts +0 -9
  230. package/dist/dts/init/types.d.ts +0 -85
  231. package/dist/dts/launch-params/launchParamsParser.d.ts +0 -6
  232. package/dist/dts/launch-params/retrieveLaunchData.d.ts +0 -7
  233. package/dist/dts/navigation/HashNavigator/HashNavigator.d.ts +0 -46
  234. package/dist/dts/navigation/HashNavigator/types.d.ts +0 -33
  235. package/dist/dts/navigation/Navigator/Navigator.d.ts +0 -104
  236. package/dist/dts/navigation/Navigator/types.d.ts +0 -44
  237. package/dist/dts/parsing/ArrayValueParser.d.ts +0 -18
  238. package/dist/dts/parsing/ParseError.d.ts +0 -22
  239. package/dist/dts/parsing/ParseSchemaFieldError.d.ts +0 -17
  240. package/dist/dts/parsing/unexpectedTypeError.d.ts +0 -4
  241. package/dist/dts/state/State.d.ts +0 -28
  242. package/dist/dts/state/types.d.ts +0 -27
  243. package/dist/dts/storage.d.ts +0 -50
  244. package/dist/dts/supports/createSupportsFunc.d.ts +0 -10
  245. package/dist/dts/timeout/TimeoutError.d.ts +0 -3
  246. package/dist/dts/timeout/isTimeoutError.d.ts +0 -6
  247. package/dist/index.mjs +0 -2813
  248. /package/dist/dts/bridge/methods/{haptic.d.ts → types/haptic.d.ts} +0 -0
  249. /package/dist/dts/bridge/methods/{popup.d.ts → types/popup.d.ts} +0 -0
  250. /package/dist/dts/bridge/{captureSameReq.d.ts → utils/captureSameReq.d.ts} +0 -0
  251. /package/dist/dts/{misc → env}/isIframe.d.ts +0 -0
  252. /package/dist/dts/navigation/{HashNavigator/drop.d.ts → drop.d.ts} +0 -0
  253. /package/dist/dts/{misc → navigation}/getFirstNavigationEntry.d.ts +0 -0
  254. /package/dist/dts/navigation/{HashNavigator/go.d.ts → go.d.ts} +0 -0
  255. /package/dist/dts/{misc → navigation}/isPageReload.d.ts +0 -0
@@ -1,17 +1,18 @@
1
- import type { AnySubscribeListener, EmptyEventName, EventListener, EventName, EventParams, NonEmptyEventName, RemoveEventListener } from './types.js';
2
- /**
3
- * Opinionated event emitter implementation.
4
- */
1
+ import { RemoveEventListenerFn } from '../types.js';
2
+ import { EmptyEventName, EventListener, EventName, EventParams, NonEmptyEventName, SubscribeListener } from './types.js';
3
+
5
4
  export declare class EventEmitter<Schema> {
6
5
  private readonly listeners;
7
- private readonly subscribeListeners;
6
+ private listenersCount;
7
+ private subscribeListeners;
8
8
  /**
9
- * Adds specified event listener.
10
- * @param event - event name.
11
- * @param listener - event listener.
12
- * @param once - should listener called only once.
9
+ * Removes all event listeners.
10
+ */
11
+ clear(): void;
12
+ /**
13
+ * Returns count of bound listeners.
13
14
  */
14
- private addListener;
15
+ get count(): number;
15
16
  /**
16
17
  * Emits known event which has no parameters.
17
18
  * @param event - event name.
@@ -24,21 +25,13 @@ export declare class EventEmitter<Schema> {
24
25
  */
25
26
  emit<E extends NonEmptyEventName<Schema>>(event: E, ...args: EventParams<Schema[E]>): void;
26
27
  /**
27
- * Adds event listener.
28
+ * Adds new event listener.
28
29
  * @param event - event name.
29
30
  * @param listener - event listener.
30
- * @returns Function to remove event listener.
31
+ * @param once - should listener be called only once.
32
+ * @returns Function to remove bound event listener.
31
33
  */
32
- on<E extends EventName<Schema>>(event: E, listener: EventListener<Schema[E]>): RemoveEventListener;
33
- /**
34
- * Adds event listener following the logic, described in `on` method, but calls specified
35
- * listener only once, removing it after.
36
- * @param event - event name.
37
- * @param listener - event listener.
38
- * @returns Function to remove event listener.
39
- * @see on
40
- */
41
- once<E extends EventName<Schema>>(event: E, listener: EventListener<Schema[E]>): RemoveEventListener;
34
+ on<E extends EventName<Schema>>(event: E, listener: EventListener<Schema[E]>, once?: boolean): RemoveEventListenerFn;
42
35
  /**
43
36
  * Removes event listener. In case, specified listener was bound several times, it removes
44
37
  * only a single one.
@@ -47,18 +40,15 @@ export declare class EventEmitter<Schema> {
47
40
  */
48
41
  off<E extends EventName<Schema>>(event: E, listener: EventListener<Schema[E]>): void;
49
42
  /**
50
- * Adds event listener to all events.
51
- * @param listener - events listener.
43
+ * Adds a new event listener for all events.
44
+ * @param listener - event listener.
52
45
  * @returns Function to remove event listener.
53
- * @see on
54
- * @see once
55
46
  */
56
- subscribe(listener: AnySubscribeListener<Schema>): RemoveEventListener;
47
+ subscribe(listener: SubscribeListener<Schema>): RemoveEventListenerFn;
57
48
  /**
58
49
  * Removes global event listener. In case, specified listener was bound several times, it removes
59
50
  * only a single one.
60
- * @param listener - events listener.
61
- * @returns Function to remove event listener.
51
+ * @param listener - event listener.
62
52
  */
63
- unsubscribe(listener: AnySubscribeListener<Schema>): void;
53
+ unsubscribe(listener: SubscribeListener<Schema>): void;
64
54
  }
@@ -1,4 +1,5 @@
1
- import type { IsNever } from '../types/utils.js';
1
+ import { If, IsNever, IsUndefined, Or } from '../../types/index.js';
2
+
2
3
  /**
3
4
  * Function accepting the list of passed arguments and returning nothing.
4
5
  */
@@ -11,7 +12,8 @@ type VoidFunc<Args extends any[] = []> = (...args: Args) => void;
11
12
  * 3. If array is passed return this type.
12
13
  * 4. Otherwise, return tuple with passed type.
13
14
  */
14
- export type EventParams<Params> = Params extends any[] ? Params : Params extends (...args: any[]) => any ? Parameters<Params> : IsNever<Params> extends true ? [] : Params extends void ? [] : [Params];
15
+ export type EventParams<Params> = Params extends any[] ? Params : Params extends (...args: any) => any ? Parameters<Params> : If<Or<IsNever<Params>, IsUndefined<Params>>, [
16
+ ], Params extends void ? [] : [Params]>;
15
17
  /**
16
18
  * Returns function that represents event listener with specified
17
19
  * list of parameters.
@@ -34,11 +36,10 @@ export type NonEmptyEventName<Schema> = Exclude<EventName<Schema>, EmptyEventNam
34
36
  /**
35
37
  * Represents any listener, which could be used in EventEmitter.subscribe.
36
38
  */
37
- export type AnySubscribeListener<Schema> = {
38
- [E in keyof Schema]: (event: E, ...args: EventParams<Schema[E]>) => void;
39
- }[keyof Schema];
40
- /**
41
- * Function which removes event listener.
42
- */
43
- export type RemoveEventListener = () => void;
39
+ export type SubscribeListener<Schema> = (payload: {
40
+ [E in EventName<Schema>]: {
41
+ event: E;
42
+ args: EventParams<Schema[E]>;
43
+ };
44
+ }[EventName<Schema>]) => void;
44
45
  export {};
@@ -0,0 +1,10 @@
1
+ import { RemoveEventListenerFn } from './types.js';
2
+
3
+ /**
4
+ * Adds new event listener using window.addEventListener.
5
+ * @param type - event name.
6
+ * @param listener - event listener.
7
+ * @param options - listening options.
8
+ * @returns Function to remove event listener.
9
+ */
10
+ export declare function onWindow<K extends keyof WindowEventMap>(type: K, listener: (this: Window, ev: WindowEventMap[K]) => any, options?: boolean | AddEventListenerOptions): RemoveEventListenerFn;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Function, which removes bound event listener.
3
+ */
4
+ export interface RemoveEventListenerFn {
5
+ (): void;
6
+ }
@@ -1,125 +1,153 @@
1
1
  /**
2
2
  * Bridge.
3
3
  */
4
+ export { off } from './bridge/events/listening/off.js';
5
+ export { on } from './bridge/events/listening/on.js';
6
+ export { subscribe } from './bridge/events/listening/subscribe.js';
7
+ export { unsubscribe } from './bridge/events/listening/unsubscribe.js';
8
+ export * from './bridge/events/types.js';
4
9
  export { createPostEvent } from './bridge/methods/createPostEvent.js';
5
- export { invokeCustomMethod } from './bridge/invokeCustomMethod.js';
6
- export { on } from './bridge/events/on.js';
7
- export { off } from './bridge/events/off.js';
8
- export { once } from './bridge/events/once.js';
9
- export { parseMessage } from './bridge/parseMessage.js';
10
- export { postEvent, type PostEvent } from './bridge/methods/postEvent.js';
11
- export { request, type RequestSimpleOptions, type RequestCompleteOptions, } from './bridge/request.js';
12
- export { subscribe } from './bridge/events/subscribe.js';
13
- export { unsubscribe } from './bridge/events/unsubscribe.js';
14
- export { MethodUnsupportedError } from './bridge/errors/MethodUnsupportedError.js';
15
- export { ParameterUnsupportedError } from './bridge/errors/ParameterUnsupportedError.js';
16
- export type { HeaderColorKey, MiniAppsEmptyMethodName, MiniAppsMethodAcceptParams, MiniAppsMethodName, MiniAppsMethodParams, MiniAppsMethods, MiniAppsNonEmptyMethodName, SwitchInlineQueryChatType, } from './bridge/methods/methods.js';
17
- export type { InvoiceStatus } from './bridge/events/parsers/invoiceClosed.js';
18
- export type { ImpactHapticFeedbackStyle, NotificationHapticFeedbackType, } from './bridge/methods/haptic.js';
19
- export type { MiniAppsEventEmitter, MiniAppsEventHasParams, MiniAppsEventListener, MiniAppsEventName, MiniAppsEventParams, MiniAppsEvents, MiniAppsGlobalEventListener, } from './bridge/events/events.js';
20
- export type { PhoneRequestedStatus } from './bridge/events/parsers/phoneRequested.js';
21
- export type { WriteAccessRequestedStatus } from './bridge/events/parsers/writeAccessRequested.js';
10
+ export { type PostEvent, postEvent } from './bridge/methods/postEvent.js';
11
+ export * from './bridge/methods/types/index.js';
12
+ export { setTargetOrigin, targetOrigin } from './bridge/target-origin.js';
13
+ export { captureSameReq } from './bridge/utils/captureSameReq.js';
14
+ export { invokeCustomMethod } from './bridge/utils/invokeCustomMethod.js';
15
+ export { request, type RequestOptions } from './bridge/utils/request.js';
22
16
  /**
23
17
  * Classnames.
24
18
  */
25
19
  export { classNames } from './classnames/classNames.js';
26
- export { mergeClassNames } from './classnames/mergeClassNames.js';
20
+ export { type MergeClassNames, mergeClassNames } from './classnames/mergeClassNames.js';
27
21
  /**
28
22
  * Colors.
29
23
  */
24
+ export { isColorDark } from './colors/isColorDark.js';
30
25
  export { isRGB } from './colors/isRGB.js';
31
26
  export { isRGBShort } from './colors/isRGBShort.js';
32
- export { isColorDark } from './colors/isColorDark.js';
33
27
  export { toRGB } from './colors/toRGB.js';
34
- export type { RGB, RGBShort } from './colors/types.js';
28
+ export * from './colors/types.js';
35
29
  /**
36
30
  * Components.
37
31
  */
38
- export { BackButton } from './components/back-button/BackButton.js';
39
- export type { BackButtonEventListener, BackButtonEventName, BackButtonEvents, } from './components/back-button/types.js';
40
- export { ClosingBehavior } from './components/closing-behavior/ClosingBehavior.js';
41
- export type { ClosingBehaviorEventListener, ClosingBehaviorEventName, ClosingBehaviorEvents, } from './components/closing-behavior/types.js';
42
- export { CloudStorage } from './components/cloud-storage/CloudStorage.js';
43
- export { HapticFeedback } from './components/haptic-feedback/HapticFeedback.js';
44
- export { chatParser } from './components/init-data/chatParser.js';
45
- export { InitData } from './components/init-data/InitData.js';
46
- export { initDataParser } from './components/init-data/initDataParser.js';
47
- export { parseInitData } from './components/init-data/parseInitData.js';
48
- export { userParser } from './components/init-data/userParser.js';
49
- export type { Chat, User, ChatType, InitDataParsed } from './components/init-data/types.js';
50
- export { Invoice } from './components/invoice/Invoice.js';
51
- export type { InvoiceState, InvoiceEventListener, InvoiceEventName, InvoiceEvents, } from './components/invoice/types.js';
52
- export { MainButton } from './components/main-button/MainButton.js';
53
- export type { MainButtonParams, MainButtonEvents, MainButtonEventListener, MainButtonEventName, MainButtonProps, } from './components/main-button/types.js';
54
- export { MiniApp } from './components/mini-app/MiniApp.js';
55
- export type { MiniAppHeaderColor, MiniAppProps, MiniAppEvents, MiniAppEventListener, MiniAppEventName, } from './components/mini-app/types.js';
56
- export { Popup } from './components/popup/Popup.js';
57
- export type { PopupEventName, PopupEventListener, OpenPopupOptions, OpenPopupOptionsButton, PopupEvents, } from './components/popup/types.js';
58
- export { QRScanner } from './components/qr-scanner/QRScanner.js';
59
- export type { QRScannerEvents, QRScannerEventListener, QRScannerEventName, } from './components/qr-scanner/types.js';
60
- export { SettingsButton } from './components/settings-button/SettingsButton.js';
61
- export type { SettingsButtonEventListener, SettingsButtonEventName, SettingsButtonEvents, } from './components/settings-button/types.js';
62
- export { parseThemeParams } from './components/theme-params/parseThemeParams.js';
63
- export { requestThemeParams } from './components/theme-params/requestThemeParams.js';
64
- export { serializeThemeParams } from './components/theme-params/serializeThemeParams.js';
65
- export { themeParamsParser } from './components/theme-params/themeParamsParser.js';
66
- export { ThemeParams } from './components/theme-params/ThemeParams.js';
67
- export type { ThemeParamsEventListener, ThemeParamsEventName, ThemeParamsKey, ThemeParamsEvents, ThemeParamsParsed, } from './components/theme-params/types.js';
68
- export { Utils } from './components/utils/Utils.js';
69
- export { isStableViewportPlatform } from './components/viewport/isStableViewportPlatform.js';
70
- export { requestViewport, type RequestViewportResult, } from './components/viewport/requestViewport.js';
71
- export { Viewport } from './components/viewport/Viewport.js';
72
- export type { ViewportProps, ViewportEventListener, ViewportEventName, ViewportEvents, } from './components/viewport/types.js';
73
- /**
74
- * CSS.
75
- */
76
- export { setCSSVar } from './css/setCSSVar.js';
77
- export { bindMiniAppCSSVars } from './css/bindMiniAppCSSVars.js';
78
- export { bindThemeCSSVars } from './css/bindThemeCSSVars.js';
79
- export { bindViewportCSSVars } from './css/bindViewportCSSVars.js';
80
- /**
81
- * Init.
82
- */
83
- export { init } from './init/init.js';
84
- export type { InitOptions, InitResult } from './init/types.js';
32
+ export { BackButton } from './components/BackButton/BackButton.js';
33
+ export { initBackButton } from './components/BackButton/initBackButton.js';
34
+ export type { BackButtonEventListener, BackButtonEventName, BackButtonEvents, BackButtonState, } from './components/BackButton/types.js';
35
+ export { BiometryManager } from './components/BiometryManager/BiometryManager.js';
36
+ export { initBiometryManager } from './components/BiometryManager/initBiometryManager.js';
37
+ export { requestBiometryInfo } from './components/BiometryManager/requestBiometryInfo.js';
38
+ export type { BiometryManagerAuthenticateOptions, BiometryManagerProps, BiometryManagerRequestAccessOptions, BiometryManagerUpdateTokenOptions, BiometryManagerState, } from './components/BiometryManager/types.js';
39
+ export { ClosingBehavior } from './components/ClosingBehavior/ClosingBehavior.js';
40
+ export { initClosingBehavior } from './components/ClosingBehavior/initClosingBehavior.js';
41
+ export type { ClosingBehaviorEventListener, ClosingBehaviorEventName, ClosingBehaviorEvents, ClosingBehaviorState, } from './components/ClosingBehavior/types.js';
42
+ export { CloudStorage } from './components/CloudStorage/CloudStorage.js';
43
+ export { initCloudStorage } from './components/CloudStorage/initCloudStorage.js';
44
+ export { HapticFeedback } from './components/HapticFeedback/HapticFeedback.js';
45
+ export { initHapticFeedback } from './components/HapticFeedback/initHapticFeedback.js';
46
+ export { InitData } from './components/InitData/InitData.js';
47
+ export { initInitData } from './components/InitData/initInitData.js';
48
+ export { parseInitData } from './components/InitData/parseInitData.js';
49
+ export type { Chat, ChatType, User, InitDataParsed } from './components/InitData/types.js';
50
+ export { initInvoice } from './components/Invoice/initInvoice.js';
51
+ export { Invoice } from './components/Invoice/Invoice.js';
52
+ export type { InvoiceEventListener, InvoiceEventName, InvoiceEvents, InvoiceState, } from './components/Invoice/types.js';
53
+ export { initMainButton } from './components/MainButton/initMainButton.js';
54
+ export { MainButton } from './components/MainButton/MainButton.js';
55
+ export type { MainButtonEventListener, MainButtonEventName, MainButtonEvents, MainButtonParams, MainButtonProps, MainButtonState, } from './components/MainButton/types.js';
56
+ export { initMiniApp } from './components/MiniApp/initMiniApp.js';
57
+ export { MiniApp } from './components/MiniApp/MiniApp.js';
58
+ export type { MiniAppEventListener, MiniAppEventName, MiniAppEvents, MiniAppHeaderColor, MiniAppProps, MiniAppState, RequestedContact, } from './components/MiniApp/types.js';
59
+ export { initPopup } from './components/Popup/initPopup.js';
60
+ export { Popup } from './components/Popup/Popup.js';
61
+ export type { OpenPopupOptions, OpenPopupOptionsButton, PopupEventListener, PopupEventName, PopupEvents, PopupState, } from './components/Popup/types.js';
62
+ export { initQRScanner } from './components/QRScanner/initQRScanner.js';
63
+ export { QRScanner } from './components/QRScanner/QRScanner.js';
64
+ export type { QRScannerEventListener, QRScannerEventName, QRScannerEvents, QRScannerState, } from './components/QRScanner/types.js';
65
+ export { initSettingsButton } from './components/SettingsButton/initSettingsButton.js';
66
+ export { SettingsButton } from './components/SettingsButton/SettingsButton.js';
67
+ export type { SettingsButtonEventListener, SettingsButtonEventName, SettingsButtonEvents, SettingsButtonState, } from './components/SettingsButton/types.js';
68
+ export { initThemeParams } from './components/ThemeParams/initThemeParams.js';
69
+ export { parseThemeParams } from './components/ThemeParams/parsing/parseThemeParams.js';
70
+ export { serializeThemeParams } from './components/ThemeParams/parsing/serializeThemeParams.js';
71
+ export { requestThemeParams } from './components/ThemeParams/requestThemeParams.js';
72
+ export { ThemeParams } from './components/ThemeParams/ThemeParams.js';
73
+ export type { ThemeParamsEventListener, ThemeParamsEventName, ThemeParamsEvents, ThemeParamsKey, ThemeParamsParsed, ThemeParamsState, } from './components/ThemeParams/types.js';
74
+ export { initUtils } from './components/Utils/initUtils.js';
75
+ export { Utils } from './components/Utils/Utils.js';
76
+ export { initViewport } from './components/Viewport/initViewport.js';
77
+ export { requestViewport, type RequestViewportResult, } from './components/Viewport/requestViewport.js';
78
+ export type { ViewportEventListener, ViewportEventName, ViewportEvents, ViewportProps, ViewportState, } from './components/Viewport/types.js';
79
+ export { Viewport } from './components/Viewport/Viewport.js';
80
+ /**
81
+ * CSS Vars.
82
+ */
83
+ export { bindMiniAppCSSVars, type GetMiniAppCSSVarNameFn } from './css-vars/bindMiniAppCSSVars.js';
84
+ export { bindThemeParamsCSSVars, type GetThemeParamsCSSVarNameFn, } from './css-vars/bindThemeParamsCSSVars.js';
85
+ export { bindViewportCSSVars, type GetViewportCSSVarNameFn, } from './css-vars/bindViewportCSSVars.js';
86
+ export { setCSSVar } from './css-vars/setCSSVar.js';
87
+ /**
88
+ * Debug.
89
+ */
90
+ export { setDebug } from './debug/debug.js';
91
+ /**
92
+ * Env.
93
+ */
94
+ export { initWeb } from './env/initWeb.js';
95
+ export { isIframe } from './env/isIframe.js';
96
+ export { isSSR } from './env/isSSR.js';
97
+ export { isTMA } from './env/isTMA.js';
98
+ /**
99
+ * Errors.
100
+ */
101
+ export * from './errors/errors.js';
102
+ export { isSDKError } from './errors/isSDKError.js';
103
+ export { isSDKErrorOfType } from './errors/isSDKErrorOfType.js';
104
+ export { SDKError } from './errors/SDKError.js';
105
+ /**
106
+ * Events.
107
+ */
108
+ export { EventEmitter } from './events/event-emitter/EventEmitter.js';
109
+ export * from './events/event-emitter/types.js';
110
+ export * from './events/types.js';
85
111
  /**
86
112
  * Launch params.
87
113
  */
88
- export { launchParamsParser } from './launch-params/launchParamsParser.js';
89
114
  export { parseLaunchParams } from './launch-params/parseLaunchParams.js';
90
115
  export { retrieveLaunchParams } from './launch-params/retrieveLaunchParams.js';
91
- export { retrieveLaunchData } from './launch-params/retrieveLaunchData.js';
92
116
  export { serializeLaunchParams } from './launch-params/serializeLaunchParams.js';
93
- export type { LaunchParams } from './launch-params/types.js';
94
- export type { LaunchData } from './launch-params/types.js';
117
+ export * from './launch-params/types.js';
95
118
  /**
96
119
  * Misc.
97
120
  */
98
- export { isTMA } from './misc/isTMA.js';
99
- export { isRecord } from './misc/isRecord.js';
100
- export { isIframe } from './misc/isIframe.js';
101
- export { isPageReload } from './misc/isPageReload.js';
121
+ export type { SSROptions, FactoryOptions, FactoryStatic, Factory, FactoryDynamic, InitComponentFn, WithOnChange, } from './misc/createComponentInitFn/types.js';
102
122
  /**
103
123
  * Navigation.
104
124
  */
125
+ export { BasicNavigator } from './navigation/BasicNavigator/BasicNavigator.js';
126
+ export type { BasicNavigatorAnyHistoryItem, BasicNavigatorEvents, BasicNavigatorHistoryItem, } from './navigation/BasicNavigator/types.js';
127
+ export { BrowserNavigator } from './navigation/BrowserNavigator/BrowserNavigator.js';
128
+ export { createBrowserNavigatorFromLocation, } from './navigation/BrowserNavigator/createBrowserNavigatorFromLocation.js';
129
+ export { createSafeURL } from './navigation/createSafeURL.js';
105
130
  export { getHash } from './navigation/getHash.js';
106
- export { HashNavigator } from './navigation/HashNavigator/HashNavigator.js';
107
- export { Navigator } from './navigation/Navigator/Navigator.js';
108
- export type { NavigationEntry, NavigatorConEntry, NavigatorOptions, } from './navigation/Navigator/types.js';
109
- export type { HashNavigatorOptions, HashNavigatorEventListener, HashNavigatorEventsMap, HashNavigatorEventName, } from './navigation/HashNavigator/types.js';
131
+ export { getPathname } from './navigation/getPathname.js';
132
+ export { initNavigator } from './navigation/initNavigator.js';
133
+ export { isPageReload } from './navigation/isPageReload.js';
134
+ export { urlToPath } from './navigation/urlToPath.js';
135
+ export type { BrowserNavigatorAnyHistoryItem, BrowserNavigatorConOptions, BrowserNavigatorEvents, BrowserNavigatorHashMode, BrowserNavigatorHistoryItem, URLLike, } from './navigation/BrowserNavigator/types.js';
110
136
  /**
111
137
  * Parsing.
112
138
  */
113
- export { boolean } from './parsing/parsers/boolean.js';
114
- export { searchParams } from './parsing/parsers/searchParams.js';
115
- export { string } from './parsing/parsers/string.js';
116
- export { rgb } from './parsing/parsers/rgb.js';
117
139
  export { array } from './parsing/parsers/array.js';
140
+ export { boolean } from './parsing/parsers/boolean.js';
118
141
  export { date } from './parsing/parsers/date.js';
119
142
  export { json } from './parsing/parsers/json.js';
120
143
  export { number } from './parsing/parsers/number.js';
121
- export { ParseError } from './parsing/ParseError.js';
122
- export { ParseSchemaFieldError } from './parsing/ParseSchemaFieldError.js';
144
+ export { rgb } from './parsing/parsers/rgb.js';
145
+ export { searchParams } from './parsing/parsers/searchParams.js';
146
+ export { string } from './parsing/parsers/string.js';
147
+ /**
148
+ * Request ID
149
+ */
150
+ export type { RequestId } from './request-id/types.js';
123
151
  /**
124
152
  * Supports.
125
153
  */
@@ -128,18 +156,12 @@ export { supports } from './supports/supports.js';
128
156
  * Timeout.
129
157
  */
130
158
  export { withTimeout } from './timeout/withTimeout.js';
131
- export { TimeoutError } from './timeout/TimeoutError.js';
132
- export { isTimeoutError } from './timeout/isTimeoutError.js';
133
159
  /**
134
160
  * Types.
135
161
  */
136
- export type { RequestId, CreateRequestIdFunc } from './types/request-id.js';
162
+ export * from './types/index.js';
137
163
  /**
138
164
  * Version.
139
165
  */
140
166
  export { compareVersions } from './version/compareVersions.js';
141
167
  export type { Version } from './version/types.js';
142
- /**
143
- * Globals.
144
- */
145
- export { setTargetOrigin, setDebug } from './globals.js';
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Bridge.
3
+ */
4
+ export { off } from './bridge/events/listening/off.js';
5
+ export { on } from './bridge/events/listening/on.js';
6
+ export { subscribe } from './bridge/events/listening/subscribe.js';
7
+ export { unsubscribe } from './bridge/events/listening/unsubscribe.js';
8
+ export { createPostEvent } from './bridge/methods/createPostEvent.js';
9
+ export { postEvent } from './bridge/methods/postEvent.js';
10
+ export { setTargetOrigin, targetOrigin } from './bridge/target-origin.js';
11
+ export { captureSameReq } from './bridge/utils/captureSameReq.js';
12
+ export { invokeCustomMethod } from './bridge/utils/invokeCustomMethod.js';
13
+ export { request } from './bridge/utils/request.js';
14
+ /**
15
+ * Debug.
16
+ */
17
+ export { setDebug } from './debug/debug.js';
18
+ /**
19
+ * Env.
20
+ */
21
+ export { isIframe } from './env/isIframe.js';
22
+ export { isTMA } from './env/isTMA.js';
23
+ /**
24
+ * Errors.
25
+ */
26
+ export * from './errors/errors.js';
27
+ export { isSDKError } from './errors/isSDKError.js';
28
+ export { isSDKErrorOfType } from './errors/isSDKErrorOfType.js';
29
+ export { SDKError } from './errors/SDKError.js';
30
+ /**
31
+ * Init.
32
+ */
33
+ export { initWeb } from './env/initWeb.js';
34
+ /**
35
+ * Launch params.
36
+ */
37
+ export { retrieveLaunchParams } from './launch-params/retrieveLaunchParams.js';
38
+ /**
39
+ * Supports.
40
+ */
41
+ export { supports } from './supports/supports.js';
@@ -1,4 +1,5 @@
1
- import type { LaunchParams } from './types.js';
1
+ import { LaunchParams } from './types.js';
2
+
2
3
  /**
3
4
  * Parses value as launch parameters.
4
5
  * @param value - value to parse.
@@ -1,4 +1,5 @@
1
- import type { LaunchParams } from './types.js';
1
+ import { LaunchParams } from './types.js';
2
+
2
3
  /**
3
4
  * @returns Launch parameters from the current window location hash.
4
5
  * @throws Error if function was unable to extract launch parameters from the window location hash.
@@ -1,7 +1,7 @@
1
- import type { LaunchParams } from './types.js';
1
+ import { LaunchParams } from './types.js';
2
+
2
3
  /**
3
4
  * @returns Launch parameters based on the first navigation entry.
4
- * @throws Error if function was unable to extract launch parameters from the navigation
5
- * entry.
5
+ * @throws Error if function was unable to extract launch parameters from the navigation entry.
6
6
  */
7
7
  export declare function retrieveFromPerformance(): LaunchParams;
@@ -1,11 +1,7 @@
1
- import type { LaunchParams } from './types.js';
1
+ import { LaunchParams } from './types.js';
2
+
2
3
  /**
3
4
  * @returns Launch parameters stored in the session storage.
4
5
  * @throws Error if function was unable to extract launch parameters from the window location hash.
5
6
  */
6
7
  export declare function retrieveFromStorage(): LaunchParams;
7
- /**
8
- * Saves specified launch parameters in the session storage.
9
- * @param value - launch params to save.
10
- */
11
- export declare function saveToStorage(value: LaunchParams): void;
@@ -1,4 +1,5 @@
1
- import type { LaunchParams } from './types.js';
1
+ import { LaunchParams } from './types.js';
2
+
2
3
  /**
3
4
  * @param urlString - URL to extract launch parameters from.
4
5
  * @returns Launch parameters from the specified URL.
@@ -1,4 +1,5 @@
1
- import type { LaunchParams } from './types.js';
1
+ import { LaunchParams } from './types.js';
2
+
2
3
  /**
3
4
  * @returns Launch parameters from any known source.
4
5
  * @throws Error if extraction was unsuccessful.
@@ -0,0 +1,7 @@
1
+ import { LaunchParams } from './types.js';
2
+
3
+ /**
4
+ * Saves specified launch parameters in the session storage.
5
+ * @param value - launch params to save.
6
+ */
7
+ export declare function saveToStorage(value: LaunchParams): void;
@@ -1,4 +1,5 @@
1
- import type { LaunchParams } from './types.js';
1
+ import { LaunchParams } from './types.js';
2
+
2
3
  /**
3
4
  * Converts launch parameters to its initial representation.
4
5
  * @param value - launch parameters.
@@ -1,6 +1,7 @@
1
- import type { InitDataParsed } from '../components/init-data/types.js';
2
- import type { ThemeParamsParsed } from '../components/theme-params/types.js';
3
- import type { Platform } from '../types/platform.js';
1
+ import { InitDataParsed } from '../components/InitData/types.js';
2
+ import { ThemeParamsParsed } from '../components/ThemeParams/types.js';
3
+ import { Platform } from '../types/platform.js';
4
+
4
5
  /**
5
6
  * Telegram Mini Apps launch parameters.
6
7
  * @see https://docs.telegram-mini-apps.com/platform/launch-parameters
@@ -40,13 +41,11 @@ export interface LaunchParams {
40
41
  */
41
42
  version: string;
42
43
  }
43
- export interface LaunchData {
44
- /**
45
- * Was current application reloaded.
46
- */
47
- isPageReload: boolean;
48
- /**
49
- * Current application launch parameters.
50
- */
51
- launchParams: LaunchParams;
52
- }
44
+ /**
45
+ * Known launch parameter name.
46
+ */
47
+ export type LaunchParamName = keyof LaunchParams;
48
+ /**
49
+ * Picks specified launch params.
50
+ */
51
+ export type PickLaunchParams<LP extends LaunchParamName> = Pick<LaunchParams, LP>;
@@ -1,38 +1,29 @@
1
1
  /**
2
2
  * Message log level.
3
3
  */
4
- export type LogLevel = 'log' | 'error' | 'warn';
5
- export declare class Logger {
6
- private readonly prefix;
7
- private enabled;
8
- constructor(prefix: string, enabled: boolean);
4
+ export type LogLevel = 'log' | 'error';
5
+ export interface LoggerOptions {
6
+ bgColor?: string;
7
+ textColor?: string;
8
+ }
9
+ export declare class Logger implements Pick<Console, 'log' | 'error'> {
10
+ private readonly scope;
11
+ private readonly options;
12
+ constructor(scope: string, options?: LoggerOptions);
9
13
  /**
10
14
  * Prints message into a console in case, logger is currently enabled.
11
15
  * @param level - log level.
12
16
  * @param args - arguments.
13
17
  */
14
18
  private print;
15
- /**
16
- * Disables the logger.
17
- */
18
- disable(): void;
19
19
  /**
20
20
  * Prints error message into a console.
21
21
  * @param args
22
22
  */
23
23
  error(...args: any[]): void;
24
- /**
25
- * Enables the logger.
26
- */
27
- enable(): void;
28
24
  /**
29
25
  * Prints log message into a console.
30
26
  * @param args
31
27
  */
32
28
  log(...args: any[]): void;
33
- /**
34
- * Prints warning message into a console.
35
- * @param args
36
- */
37
- warn(...args: any[]): void;
38
29
  }
@@ -0,0 +1,15 @@
1
+ import { LaunchParamName } from '../../launch-params/types.js';
2
+ import { StorageKey, StorageValue } from '../../storage/storage.js';
3
+ import { FactoryDynamic, FactoryStatic, InitComponentFn, WithOnChange } from './types.js';
4
+
5
+ /**
6
+ * Creates new init function based only on common options.
7
+ * @param factory - function creating new component instance.
8
+ */
9
+ export declare function createComponentInitFn<R, LP extends LaunchParamName = never>(factory: FactoryStatic<LP, R>): InitComponentFn<LP, R, never>;
10
+ /**
11
+ * Creates new init function based on common options and storage data.
12
+ * @param factory - function creating new component instance.
13
+ * @param storageKey - storage key to restore component from.
14
+ */
15
+ export declare function createComponentInitFn<SK extends StorageKey, R extends WithOnChange<StorageValue<SK>> | Promise<WithOnChange<StorageValue<SK>>>, LP extends LaunchParamName = never>(storageKey: SK, factory: FactoryDynamic<LP, R, SK>): InitComponentFn<LP, R, StorageValue<SK>>;