@tma.js/sdk 0.13.3 → 1.0.0

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 (426) hide show
  1. package/dist/dts/{components/BackButton → back-button}/BackButton.d.ts +12 -9
  2. package/dist/dts/back-button/index.d.ts +2 -0
  3. package/dist/dts/{components/BackButton → back-button}/types.d.ts +3 -2
  4. package/dist/dts/bridge/env/hasExternalNotify.d.ts +12 -0
  5. package/dist/dts/bridge/env/hasWebviewProxy.d.ts +12 -0
  6. package/dist/dts/bridge/env/index.d.ts +3 -0
  7. package/dist/dts/bridge/env/isIframe.d.ts +5 -0
  8. package/dist/dts/bridge/errors/MethodUnsupportedError.d.ts +8 -0
  9. package/dist/dts/bridge/errors/ParameterUnsupportedError.d.ts +8 -0
  10. package/dist/dts/bridge/errors/index.d.ts +2 -0
  11. package/dist/dts/bridge/events/createEmitter.d.ts +6 -0
  12. package/dist/dts/bridge/events/events.d.ts +130 -0
  13. package/dist/dts/bridge/events/index.d.ts +9 -0
  14. package/dist/dts/bridge/events/off.d.ts +7 -0
  15. package/dist/dts/bridge/events/on.d.ts +10 -0
  16. package/dist/dts/bridge/events/onTelegramEvent.d.ts +7 -0
  17. package/dist/dts/bridge/events/once.d.ts +9 -0
  18. package/dist/dts/bridge/events/parsers/clipboardTextReceived.d.ts +13 -0
  19. package/dist/dts/bridge/events/parsers/customMethodInvoked.d.ts +16 -0
  20. package/dist/dts/bridge/events/parsers/index.d.ts +9 -0
  21. package/dist/dts/bridge/events/parsers/invoiceClosed.d.ts +12 -0
  22. package/dist/dts/bridge/events/parsers/phoneRequested.d.ts +8 -0
  23. package/dist/dts/bridge/events/parsers/popupClosed.d.ts +8 -0
  24. package/dist/dts/bridge/events/parsers/qrTextReceived.d.ts +7 -0
  25. package/dist/dts/bridge/events/parsers/theme-changed.d.ts +42 -0
  26. package/dist/dts/bridge/events/parsers/viewportChanged.d.ts +19 -0
  27. package/dist/dts/bridge/events/parsers/writeAccessRequested.d.ts +8 -0
  28. package/dist/dts/bridge/events/singletonEmitter.d.ts +6 -0
  29. package/dist/dts/bridge/events/subscribe.d.ts +9 -0
  30. package/dist/dts/bridge/events/unsubscribe.d.ts +6 -0
  31. package/dist/dts/bridge/index.d.ts +5 -0
  32. package/dist/dts/bridge/methods/createPostEvent.d.ts +10 -0
  33. package/dist/dts/bridge/methods/haptic.d.ts +40 -0
  34. package/dist/dts/bridge/methods/index.d.ts +6 -0
  35. package/dist/dts/bridge/methods/invoke-custom-method.d.ts +24 -0
  36. package/dist/dts/bridge/methods/methods.d.ts +329 -0
  37. package/dist/dts/bridge/methods/popup.d.ts +49 -0
  38. package/dist/dts/bridge/methods/postEvent.d.ts +29 -0
  39. package/dist/dts/bridge/request.d.ts +65 -0
  40. package/dist/dts/classnames/classNames.d.ts +10 -0
  41. package/dist/dts/classnames/index.d.ts +2 -0
  42. package/dist/dts/classnames/mergeClassNames.d.ts +32 -0
  43. package/dist/dts/{components/ClosingBehaviour/ClosingBehaviour.d.ts → closing-behavior/ClosingBehavior.d.ts} +5 -4
  44. package/dist/dts/closing-behavior/index.d.ts +2 -0
  45. package/dist/dts/closing-behavior/types.d.ts +7 -0
  46. package/dist/dts/{components/CloudStorage → cloud-storage}/CloudStorage.d.ts +19 -11
  47. package/dist/dts/colors/index.d.ts +5 -0
  48. package/dist/dts/colors/isColorDark.d.ts +6 -0
  49. package/dist/dts/colors/isRGB.d.ts +6 -0
  50. package/dist/dts/colors/isRGBShort.d.ts +6 -0
  51. package/dist/dts/colors/toRGB.d.ts +11 -0
  52. package/dist/dts/colors/types.d.ts +8 -0
  53. package/dist/dts/event-emitter/EventEmitter.d.ts +64 -0
  54. package/dist/dts/event-emitter/index.d.ts +2 -0
  55. package/dist/dts/event-emitter/types.d.ts +44 -0
  56. package/dist/dts/globals.d.ts +22 -0
  57. package/dist/dts/{components/HapticFeedback → haptic-feedback}/HapticFeedback.d.ts +3 -3
  58. package/dist/dts/index.d.ts +24 -6
  59. package/dist/dts/init/catchCustomStyles.d.ts +4 -0
  60. package/dist/dts/init/creators/createBackButton.d.ts +2 -2
  61. package/dist/dts/init/creators/createClosingBehavior.d.ts +3 -3
  62. package/dist/dts/init/creators/createMainButton.d.ts +3 -3
  63. package/dist/dts/init/creators/createMiniApp.d.ts +14 -0
  64. package/dist/dts/init/creators/createRequestIdGenerator.d.ts +1 -1
  65. package/dist/dts/init/creators/createThemeParams.d.ts +2 -3
  66. package/dist/dts/init/creators/createViewport.d.ts +16 -9
  67. package/dist/dts/init/creators/index.d.ts +1 -1
  68. package/dist/dts/init/css/bindMiniAppCSSVars.d.ts +16 -0
  69. package/dist/dts/init/css/bindThemeCSSVars.d.ts +12 -0
  70. package/dist/dts/init/css/bindViewportCSSVars.d.ts +20 -0
  71. package/dist/dts/init/css/index.d.ts +1 -0
  72. package/dist/dts/init/css/processCSSVarsOption.d.ts +12 -0
  73. package/dist/dts/init/css/setCSSVar.d.ts +6 -0
  74. package/dist/dts/init/init.d.ts +5 -5
  75. package/dist/dts/init/types.d.ts +42 -69
  76. package/dist/dts/init-data/InitData.d.ts +53 -0
  77. package/dist/dts/init-data/chatParser.d.ts +5 -0
  78. package/dist/dts/init-data/index.d.ts +6 -0
  79. package/dist/dts/init-data/initDataParser.d.ts +5 -0
  80. package/dist/dts/init-data/parseInitData.d.ts +6 -0
  81. package/dist/dts/init-data/types.d.ts +133 -0
  82. package/dist/dts/init-data/userParser.d.ts +5 -0
  83. package/dist/dts/invoice/Invoice.d.ts +43 -0
  84. package/dist/dts/invoice/index.d.ts +2 -0
  85. package/dist/dts/invoice/types.d.ts +7 -0
  86. package/dist/dts/launch-params/computeLaunchData.d.ts +6 -0
  87. package/dist/dts/launch-params/computePageReload.d.ts +6 -0
  88. package/dist/dts/launch-params/getFirstNavigationEntry.d.ts +6 -0
  89. package/dist/dts/launch-params/index.d.ts +12 -0
  90. package/dist/dts/launch-params/launchParamsParser.d.ts +5 -0
  91. package/dist/dts/launch-params/parseLaunchParams.d.ts +6 -0
  92. package/dist/dts/launch-params/retrieveCurrent.d.ts +5 -0
  93. package/dist/dts/launch-params/retrieveFromLocation.d.ts +6 -0
  94. package/dist/dts/launch-params/retrieveFromPerformance.d.ts +8 -0
  95. package/dist/dts/launch-params/retrieveLaunchData.d.ts +6 -0
  96. package/dist/dts/launch-params/serializeLaunchParams.d.ts +6 -0
  97. package/dist/dts/launch-params/storage.d.ts +13 -0
  98. package/dist/dts/launch-params/types.d.ts +48 -0
  99. package/dist/dts/logger/Logger.d.ts +38 -0
  100. package/dist/dts/logger/index.d.ts +1 -0
  101. package/dist/dts/main-button/MainButton.d.ts +104 -0
  102. package/dist/dts/main-button/index.d.ts +2 -0
  103. package/dist/dts/main-button/types.d.ts +20 -0
  104. package/dist/dts/mini-app/MiniApp.d.ts +99 -0
  105. package/dist/dts/mini-app/index.d.ts +2 -0
  106. package/dist/dts/mini-app/types.d.ts +19 -0
  107. package/dist/dts/misc/index.d.ts +2 -0
  108. package/dist/dts/misc/isRecord.d.ts +5 -0
  109. package/dist/dts/misc/isTMA.d.ts +4 -0
  110. package/dist/dts/navigation/HashNavigator/HashNavigator.d.ts +43 -0
  111. package/dist/dts/navigation/HashNavigator/drop.d.ts +4 -0
  112. package/dist/dts/navigation/HashNavigator/go.d.ts +5 -0
  113. package/dist/dts/navigation/HashNavigator/index.d.ts +2 -0
  114. package/dist/dts/navigation/HashNavigator/types.d.ts +34 -0
  115. package/dist/dts/navigation/Navigator/Navigator.d.ts +104 -0
  116. package/dist/dts/navigation/Navigator/index.d.ts +2 -0
  117. package/dist/dts/navigation/Navigator/types.d.ts +44 -0
  118. package/dist/dts/navigation/ensurePrefix.d.ts +7 -0
  119. package/dist/dts/navigation/getHash.d.ts +14 -0
  120. package/dist/dts/navigation/index.d.ts +4 -0
  121. package/dist/dts/parsing/ArrayValueParser.d.ts +18 -0
  122. package/dist/dts/parsing/ParseError.d.ts +22 -0
  123. package/dist/dts/parsing/ParseSchemaFieldError.d.ts +17 -0
  124. package/dist/dts/parsing/ValueParser.d.ts +36 -0
  125. package/dist/dts/parsing/createValueParserGenerator.d.ts +9 -0
  126. package/dist/dts/parsing/index.d.ts +10 -0
  127. package/dist/dts/parsing/parseBySchema.d.ts +8 -0
  128. package/dist/dts/parsing/parsers/array.d.ts +6 -0
  129. package/dist/dts/parsing/parsers/boolean.d.ts +4 -0
  130. package/dist/dts/parsing/parsers/date.d.ts +4 -0
  131. package/dist/dts/parsing/parsers/index.d.ts +8 -0
  132. package/dist/dts/parsing/parsers/json.d.ts +8 -0
  133. package/dist/dts/parsing/parsers/number.d.ts +4 -0
  134. package/dist/dts/parsing/parsers/rgb.d.ts +4 -0
  135. package/dist/dts/parsing/parsers/searchParams.d.ts +8 -0
  136. package/dist/dts/parsing/parsers/string.d.ts +4 -0
  137. package/dist/dts/parsing/toRecord.d.ts +7 -0
  138. package/dist/dts/parsing/types.d.ts +30 -0
  139. package/dist/dts/parsing/unexpectedTypeError.d.ts +4 -0
  140. package/dist/dts/{components/Popup → popup}/Popup.d.ts +10 -9
  141. package/dist/dts/popup/index.d.ts +2 -0
  142. package/dist/dts/popup/preparePopupParams.d.ts +7 -0
  143. package/dist/dts/{components/Popup → popup}/types.d.ts +4 -4
  144. package/dist/dts/{components/QRScanner → qr-scanner}/QRScanner.d.ts +6 -5
  145. package/dist/dts/qr-scanner/index.d.ts +2 -0
  146. package/dist/dts/{components/QRScanner → qr-scanner}/types.d.ts +1 -1
  147. package/dist/dts/state/State.d.ts +19 -7
  148. package/dist/dts/state/types.d.ts +4 -7
  149. package/dist/dts/storage.d.ts +4 -4
  150. package/dist/dts/supports/createSupportsFunc.d.ts +10 -0
  151. package/dist/dts/supports/createSupportsParamFunc.d.ts +15 -0
  152. package/dist/dts/supports/index.d.ts +4 -0
  153. package/dist/dts/supports/supports.d.ts +15 -0
  154. package/dist/dts/supports/types.d.ts +1 -0
  155. package/dist/dts/theme-params/ThemeParams.d.ts +62 -0
  156. package/dist/dts/theme-params/index.d.ts +6 -0
  157. package/dist/dts/theme-params/keys.d.ts +11 -0
  158. package/dist/dts/theme-params/parseThemeParams.d.ts +6 -0
  159. package/dist/dts/theme-params/requestThemeParams.d.ts +7 -0
  160. package/dist/dts/theme-params/serializeThemeParams.d.ts +5 -0
  161. package/dist/dts/theme-params/themeParamsParser.d.ts +2 -0
  162. package/dist/dts/theme-params/types.d.ts +14 -0
  163. package/dist/dts/timeout/TimeoutError.d.ts +3 -0
  164. package/dist/dts/timeout/index.d.ts +3 -0
  165. package/dist/dts/timeout/isTimeoutError.d.ts +6 -0
  166. package/dist/dts/timeout/withTimeout.d.ts +14 -0
  167. package/dist/dts/types/index.d.ts +3 -0
  168. package/dist/dts/types/platform.d.ts +4 -0
  169. package/dist/dts/types/request-id.d.ts +9 -0
  170. package/dist/dts/types/utils.d.ts +36 -0
  171. package/dist/dts/utils/Utils.d.ts +45 -0
  172. package/dist/dts/utils/index.d.ts +1 -0
  173. package/dist/dts/version/compareVersions.d.ts +8 -0
  174. package/dist/dts/version/index.d.ts +2 -0
  175. package/dist/dts/version/types.d.ts +4 -0
  176. package/dist/dts/{components/Viewport → viewport}/Viewport.d.ts +16 -38
  177. package/dist/dts/viewport/index.d.ts +3 -0
  178. package/dist/dts/viewport/requestViewport.d.ts +12 -0
  179. package/dist/dts/{components/Viewport → viewport}/types.d.ts +9 -1
  180. package/dist/dts/viewport/utils.d.ts +5 -0
  181. package/dist/index.cjs +1 -1
  182. package/dist/index.cjs.map +1 -1
  183. package/dist/index.iife.js +1 -1
  184. package/dist/index.iife.js.map +1 -1
  185. package/dist/index.mjs +2245 -1025
  186. package/dist/index.mjs.map +1 -1
  187. package/package.json +7 -16
  188. package/src/{components/BackButton → back-button}/BackButton.ts +23 -21
  189. package/src/back-button/index.ts +2 -0
  190. package/src/{components/BackButton → back-button}/types.ts +3 -2
  191. package/src/bridge/env/hasExternalNotify.ts +19 -0
  192. package/src/bridge/env/hasWebviewProxy.ts +19 -0
  193. package/src/bridge/env/index.ts +3 -0
  194. package/src/bridge/env/isIframe.ts +11 -0
  195. package/src/bridge/errors/MethodUnsupportedError.ts +13 -0
  196. package/src/bridge/errors/ParameterUnsupportedError.ts +13 -0
  197. package/src/bridge/errors/index.ts +2 -0
  198. package/src/bridge/events/createEmitter.ts +108 -0
  199. package/src/bridge/events/events.ts +170 -0
  200. package/src/bridge/events/index.ts +9 -0
  201. package/src/bridge/events/off.ts +14 -0
  202. package/src/bridge/events/on.ts +19 -0
  203. package/src/bridge/events/onTelegramEvent.ts +83 -0
  204. package/src/bridge/events/once.ts +18 -0
  205. package/src/bridge/events/parsers/clipboardTextReceived.ts +26 -0
  206. package/src/bridge/events/parsers/customMethodInvoked.ts +25 -0
  207. package/src/bridge/events/parsers/index.ts +9 -0
  208. package/src/bridge/events/parsers/invoiceClosed.ts +26 -0
  209. package/src/bridge/events/parsers/phoneRequested.ts +14 -0
  210. package/src/bridge/events/parsers/popupClosed.ts +19 -0
  211. package/src/bridge/events/parsers/qrTextReceived.ts +14 -0
  212. package/src/bridge/events/parsers/theme-changed.ts +58 -0
  213. package/src/bridge/events/parsers/viewportChanged.ts +33 -0
  214. package/src/bridge/events/parsers/writeAccessRequested.ts +14 -0
  215. package/src/bridge/events/singletonEmitter.ts +19 -0
  216. package/src/bridge/events/subscribe.ts +15 -0
  217. package/src/bridge/events/unsubscribe.ts +10 -0
  218. package/src/bridge/index.ts +5 -0
  219. package/src/bridge/methods/createPostEvent.ts +40 -0
  220. package/src/bridge/methods/haptic.ts +52 -0
  221. package/src/bridge/methods/index.ts +6 -0
  222. package/src/bridge/methods/invoke-custom-method.ts +25 -0
  223. package/src/bridge/methods/methods.ts +372 -0
  224. package/src/bridge/methods/popup.ts +53 -0
  225. package/src/bridge/methods/postEvent.ts +101 -0
  226. package/src/bridge/request.ts +185 -0
  227. package/src/classnames/classNames.ts +34 -0
  228. package/src/classnames/index.ts +2 -0
  229. package/src/classnames/mergeClassNames.ts +68 -0
  230. package/src/{components/ClosingBehaviour/ClosingBehaviour.ts → closing-behavior/ClosingBehavior.ts} +12 -10
  231. package/src/closing-behavior/index.ts +2 -0
  232. package/src/closing-behavior/types.ts +12 -0
  233. package/src/{components/CloudStorage → cloud-storage}/CloudStorage.ts +50 -28
  234. package/src/colors/index.ts +5 -0
  235. package/src/colors/isColorDark.ts +22 -0
  236. package/src/colors/isRGB.ts +9 -0
  237. package/src/colors/isRGBShort.ts +9 -0
  238. package/src/colors/toRGB.ts +49 -0
  239. package/src/colors/types.ts +9 -0
  240. package/src/event-emitter/EventEmitter.ts +146 -0
  241. package/src/event-emitter/index.ts +2 -0
  242. package/src/event-emitter/types.ts +60 -0
  243. package/src/globals.ts +38 -0
  244. package/src/{components/HapticFeedback → haptic-feedback}/HapticFeedback.ts +16 -8
  245. package/src/index.ts +171 -6
  246. package/src/init/catchCustomStyles.ts +17 -0
  247. package/src/init/creators/createBackButton.ts +4 -6
  248. package/src/init/creators/createClosingBehavior.ts +6 -8
  249. package/src/init/creators/createMainButton.ts +13 -20
  250. package/src/init/creators/createMiniApp.ts +44 -0
  251. package/src/init/creators/createRequestIdGenerator.ts +1 -1
  252. package/src/init/creators/createThemeParams.ts +3 -6
  253. package/src/init/creators/createViewport.ts +92 -42
  254. package/src/init/creators/index.ts +1 -1
  255. package/src/init/css/bindMiniAppCSSVars.ts +48 -0
  256. package/src/init/css/bindThemeCSSVars.ts +31 -0
  257. package/src/init/css/bindViewportCSSVars.ts +36 -0
  258. package/src/init/css/index.ts +1 -0
  259. package/src/init/css/processCSSVarsOption.ts +57 -0
  260. package/src/init/css/setCSSVar.ts +8 -0
  261. package/src/init/init.ts +96 -138
  262. package/src/init/types.ts +42 -87
  263. package/src/init-data/InitData.ts +96 -0
  264. package/src/init-data/chatParser.ts +19 -0
  265. package/src/init-data/index.ts +6 -0
  266. package/src/init-data/initDataParser.ts +41 -0
  267. package/src/init-data/parseInitData.ts +10 -0
  268. package/src/init-data/types.ts +164 -0
  269. package/src/init-data/userParser.ts +45 -0
  270. package/src/invoice/Invoice.ts +123 -0
  271. package/src/invoice/index.ts +2 -0
  272. package/src/invoice/types.ts +11 -0
  273. package/src/launch-params/computeLaunchData.ts +81 -0
  274. package/src/launch-params/computePageReload.ts +13 -0
  275. package/src/launch-params/getFirstNavigationEntry.ts +10 -0
  276. package/src/launch-params/index.ts +12 -0
  277. package/src/launch-params/launchParamsParser.ts +41 -0
  278. package/src/launch-params/parseLaunchParams.ts +10 -0
  279. package/src/launch-params/retrieveCurrent.ts +27 -0
  280. package/src/launch-params/retrieveFromLocation.ts +10 -0
  281. package/src/launch-params/retrieveFromPerformance.ts +23 -0
  282. package/src/launch-params/retrieveLaunchData.ts +30 -0
  283. package/src/launch-params/serializeLaunchParams.ts +37 -0
  284. package/src/launch-params/storage.ts +33 -0
  285. package/src/launch-params/types.ts +57 -0
  286. package/src/logger/Logger.ts +72 -0
  287. package/src/logger/index.ts +1 -0
  288. package/src/main-button/MainButton.ts +239 -0
  289. package/src/main-button/index.ts +2 -0
  290. package/src/main-button/types.ts +26 -0
  291. package/src/mini-app/MiniApp.ts +237 -0
  292. package/src/mini-app/index.ts +2 -0
  293. package/src/mini-app/types.ts +25 -0
  294. package/src/misc/index.ts +2 -0
  295. package/src/misc/isRecord.ts +7 -0
  296. package/src/misc/isTMA.ts +13 -0
  297. package/src/navigation/HashNavigator/HashNavigator.ts +220 -0
  298. package/src/navigation/HashNavigator/drop.ts +36 -0
  299. package/src/navigation/HashNavigator/go.ts +28 -0
  300. package/src/navigation/HashNavigator/index.ts +2 -0
  301. package/src/navigation/HashNavigator/types.ts +41 -0
  302. package/src/navigation/Navigator/Navigator.ts +282 -0
  303. package/src/navigation/Navigator/index.ts +2 -0
  304. package/src/navigation/Navigator/types.ts +55 -0
  305. package/src/navigation/ensurePrefix.ts +9 -0
  306. package/src/navigation/getHash.ts +17 -0
  307. package/src/navigation/index.ts +4 -0
  308. package/src/parsing/ArrayValueParser.ts +79 -0
  309. package/src/parsing/ParseError.ts +27 -0
  310. package/src/parsing/ParseSchemaFieldError.ts +21 -0
  311. package/src/parsing/ValueParser.ts +71 -0
  312. package/src/parsing/createValueParserGenerator.ts +16 -0
  313. package/src/parsing/index.ts +10 -0
  314. package/src/parsing/parseBySchema.ts +65 -0
  315. package/src/parsing/parsers/array.ts +9 -0
  316. package/src/parsing/parsers/boolean.ts +22 -0
  317. package/src/parsing/parsers/date.ts +13 -0
  318. package/src/parsing/parsers/index.ts +8 -0
  319. package/src/parsing/parsers/json.ts +17 -0
  320. package/src/parsing/parsers/number.ts +21 -0
  321. package/src/parsing/parsers/rgb.ts +12 -0
  322. package/src/parsing/parsers/searchParams.ts +24 -0
  323. package/src/parsing/parsers/string.ts +12 -0
  324. package/src/parsing/toRecord.ts +27 -0
  325. package/src/parsing/types.ts +32 -0
  326. package/src/parsing/unexpectedTypeError.ts +6 -0
  327. package/src/{components/Popup → popup}/Popup.ts +38 -28
  328. package/src/popup/index.ts +2 -0
  329. package/src/{components/Popup/utils.ts → popup/preparePopupParams.ts} +3 -3
  330. package/src/{components/Popup → popup}/types.ts +4 -4
  331. package/src/{components/QRScanner → qr-scanner}/QRScanner.ts +18 -10
  332. package/src/qr-scanner/index.ts +2 -0
  333. package/src/{components/QRScanner → qr-scanner}/types.ts +1 -1
  334. package/src/state/State.ts +31 -21
  335. package/src/state/types.ts +5 -8
  336. package/src/storage.ts +6 -4
  337. package/src/supports/createSupportsFunc.ts +18 -0
  338. package/src/supports/createSupportsParamFunc.ts +27 -0
  339. package/src/supports/index.ts +4 -0
  340. package/src/supports/supports.ts +84 -0
  341. package/src/supports/types.ts +1 -0
  342. package/src/theme-params/ThemeParams.ts +131 -0
  343. package/src/theme-params/index.ts +6 -0
  344. package/src/theme-params/keys.ts +24 -0
  345. package/src/theme-params/parseThemeParams.ts +10 -0
  346. package/src/theme-params/requestThemeParams.ts +13 -0
  347. package/src/theme-params/serializeThemeParams.ts +20 -0
  348. package/src/theme-params/themeParamsParser.ts +20 -0
  349. package/src/theme-params/types.ts +33 -0
  350. package/src/timeout/TimeoutError.ts +6 -0
  351. package/src/timeout/index.ts +3 -0
  352. package/src/timeout/isTimeoutError.ts +9 -0
  353. package/src/timeout/withTimeout.ts +36 -0
  354. package/src/types/index.ts +3 -0
  355. package/src/types/platform.ts +14 -0
  356. package/src/types/request-id.ts +10 -0
  357. package/src/types/utils.ts +50 -0
  358. package/src/utils/Utils.ts +107 -0
  359. package/src/utils/index.ts +1 -0
  360. package/src/version/compareVersions.ts +28 -0
  361. package/src/version/index.ts +2 -0
  362. package/src/version/types.ts +4 -0
  363. package/src/{components/Viewport → viewport}/Viewport.ts +72 -98
  364. package/src/viewport/index.ts +3 -0
  365. package/src/viewport/requestViewport.ts +23 -0
  366. package/src/{components/Viewport → viewport}/types.ts +10 -1
  367. package/src/viewport/utils.ts +7 -0
  368. package/dist/dts/components/BackButton/index.d.ts +0 -2
  369. package/dist/dts/components/ClosingBehaviour/index.d.ts +0 -2
  370. package/dist/dts/components/ClosingBehaviour/types.d.ts +0 -7
  371. package/dist/dts/components/InitData/InitData.d.ts +0 -60
  372. package/dist/dts/components/InitData/index.d.ts +0 -1
  373. package/dist/dts/components/MainButton/MainButton.d.ts +0 -114
  374. package/dist/dts/components/MainButton/index.d.ts +0 -2
  375. package/dist/dts/components/MainButton/types.d.ts +0 -15
  376. package/dist/dts/components/Popup/index.d.ts +0 -2
  377. package/dist/dts/components/Popup/utils.d.ts +0 -7
  378. package/dist/dts/components/QRScanner/index.d.ts +0 -2
  379. package/dist/dts/components/ThemeParams/ThemeParams.d.ts +0 -85
  380. package/dist/dts/components/ThemeParams/index.d.ts +0 -2
  381. package/dist/dts/components/ThemeParams/types.d.ts +0 -6
  382. package/dist/dts/components/Viewport/index.d.ts +0 -2
  383. package/dist/dts/components/WebApp/WebApp.d.ts +0 -146
  384. package/dist/dts/components/WebApp/index.d.ts +0 -2
  385. package/dist/dts/components/WebApp/types.d.ts +0 -11
  386. package/dist/dts/components/index.d.ts +0 -11
  387. package/dist/dts/env.d.ts +0 -10
  388. package/dist/dts/errors/MethodNotSupportedError.d.ts +0 -6
  389. package/dist/dts/errors/ParameterNotSupportedError.d.ts +0 -6
  390. package/dist/dts/errors/index.d.ts +0 -2
  391. package/dist/dts/init/creators/createWebApp.d.ts +0 -16
  392. package/dist/dts/init/css.d.ts +0 -50
  393. package/dist/dts/supports.d.ts +0 -22
  394. package/dist/dts/types.d.ts +0 -10
  395. package/dist/dts/url.d.ts +0 -7
  396. package/src/components/BackButton/index.ts +0 -2
  397. package/src/components/ClosingBehaviour/index.ts +0 -6
  398. package/src/components/ClosingBehaviour/types.ts +0 -12
  399. package/src/components/InitData/InitData.ts +0 -139
  400. package/src/components/InitData/index.ts +0 -1
  401. package/src/components/MainButton/MainButton.ts +0 -242
  402. package/src/components/MainButton/index.ts +0 -2
  403. package/src/components/MainButton/types.ts +0 -20
  404. package/src/components/Popup/index.ts +0 -8
  405. package/src/components/QRScanner/index.ts +0 -2
  406. package/src/components/ThemeParams/ThemeParams.ts +0 -168
  407. package/src/components/ThemeParams/index.ts +0 -2
  408. package/src/components/ThemeParams/types.ts +0 -11
  409. package/src/components/Viewport/index.ts +0 -2
  410. package/src/components/WebApp/WebApp.ts +0 -311
  411. package/src/components/WebApp/index.ts +0 -2
  412. package/src/components/WebApp/types.ts +0 -17
  413. package/src/components/index.ts +0 -11
  414. package/src/env.ts +0 -22
  415. package/src/errors/MethodNotSupportedError.ts +0 -9
  416. package/src/errors/ParameterNotSupportedError.ts +0 -9
  417. package/src/errors/index.ts +0 -2
  418. package/src/init/creators/createWebApp.ts +0 -52
  419. package/src/init/css.ts +0 -142
  420. package/src/supports.ts +0 -44
  421. package/src/types.ts +0 -13
  422. package/src/url.ts +0 -23
  423. /package/dist/dts/{components/CloudStorage → cloud-storage}/index.d.ts +0 -0
  424. /package/dist/dts/{components/HapticFeedback → haptic-feedback}/index.d.ts +0 -0
  425. /package/src/{components/CloudStorage → cloud-storage}/index.ts +0 -0
  426. /package/src/{components/HapticFeedback → haptic-feedback}/index.ts +0 -0
@@ -0,0 +1,3 @@
1
+ export * from './platform.js';
2
+ export * from './request-id.js';
3
+ export * from './utils.js';
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Telegram application platform name.
3
+ */
4
+ export type Platform =
5
+ | 'android'
6
+ | 'android_x'
7
+ | 'ios'
8
+ | 'macos'
9
+ | 'tdesktop'
10
+ | 'web'
11
+ | 'weba'
12
+ | 'unigram'
13
+ | 'unknown'
14
+ | string;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Request identifier which should be generated locally. Native Telegram application
3
+ * uses it to generate a response to called method.
4
+ */
5
+ export type RequestId = string;
6
+
7
+ /**
8
+ * Function which generates unique request identifiers.
9
+ */
10
+ export type CreateRequestIdFunc = () => RequestId;
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Returns true in case, T is never.
3
+ */
4
+ export type IsNever<T> = [T] extends [never] ? true : false;
5
+
6
+ /**
7
+ * Represents classic "if" condition.
8
+ */
9
+ export type If<Cond extends boolean, True, False> = Cond extends true ? True : False;
10
+
11
+ /**
12
+ * Represents classic "not" bitwise operation.
13
+ */
14
+ export type Not<Cond extends boolean> = If<Cond, false, true>;
15
+
16
+ /**
17
+ * Represents classic "and" bitwise operation.
18
+ */
19
+ export type And<A extends boolean, B extends boolean> = A extends true
20
+ ? B extends true
21
+ ? true
22
+ : false
23
+ : false;
24
+
25
+ /**
26
+ * Represents classic "or" bitwise operation.
27
+ */
28
+ export type Or<A extends boolean, B extends boolean> = A extends true
29
+ ? true
30
+ : (B extends true ? true : false);
31
+
32
+ /**
33
+ * True if value includes undefined.
34
+ */
35
+ export type HasUndefined<T> = undefined extends T ? true : false;
36
+
37
+ /**
38
+ * Returns true if specified property in type is marked as optional.
39
+ */
40
+ export type IsOptional<Type, Key extends keyof Type> = {} extends Pick<Type, Key> ? true : false;
41
+
42
+ /**
43
+ * Returns union object keys.
44
+ */
45
+ export type UnionKeys<T> = T extends T ? keyof T : never;
46
+
47
+ /**
48
+ * Returns object string keys.
49
+ */
50
+ export type StringKeys<T extends object> = Extract<keyof T, string>;
@@ -0,0 +1,107 @@
1
+ import {
2
+ type PostEvent,
3
+ postEvent as defaultPostEvent,
4
+ request,
5
+ } from '~/bridge/index.js';
6
+ import {
7
+ createSupportsFunc,
8
+ createSupportsParamFunc,
9
+ supports,
10
+ type SupportsFunc,
11
+ } from '~/supports/index.js';
12
+ import type { CreateRequestIdFunc } from '~/types/index.js';
13
+ import type { Version } from '~/version/index.js';
14
+
15
+ /**
16
+ * Provides common Mini Apps functionality not covered by other system components.
17
+ */
18
+ export class Utils {
19
+ constructor(
20
+ private readonly version: Version,
21
+ private readonly createRequestId: CreateRequestIdFunc,
22
+ private readonly postEvent: PostEvent = defaultPostEvent,
23
+ ) {
24
+ this.supports = createSupportsFunc(version, {
25
+ readTextFromClipboard: 'web_app_read_text_from_clipboard',
26
+ });
27
+
28
+ this.supportsParam = createSupportsParamFunc(version, {
29
+ 'openLink.tryInstantView': ['web_app_open_link', 'try_instant_view'],
30
+ });
31
+ }
32
+
33
+ /**
34
+ * Opens a link in an external browser. The Mini App will not be closed.
35
+ *
36
+ * Note that this method can be called only in response to the user
37
+ * interaction with the Mini App interface (e.g. click inside the Mini App
38
+ * or on the main button).
39
+ * @param url - URL to be opened.
40
+ * @param tryInstantView
41
+ */
42
+ openLink(url: string, tryInstantView?: boolean): void {
43
+ const formattedUrl = new URL(url, window.location.href).toString();
44
+
45
+ // If method is not supported, we are doing it in legacy way.
46
+ if (!supports('web_app_open_link', this.version)) {
47
+ window.open(formattedUrl, '_blank');
48
+ return;
49
+ }
50
+
51
+ // Otherwise, do it normally.
52
+ this.postEvent('web_app_open_link', {
53
+ url: formattedUrl,
54
+ ...(typeof tryInstantView === 'boolean' ? { try_instant_view: tryInstantView } : {}),
55
+ });
56
+ }
57
+
58
+ /**
59
+ * Opens a Telegram link inside Telegram app. The Mini App will be closed. It expects passing
60
+ * link in full format, with hostname "t.me".
61
+ * @param url - URL to be opened.
62
+ * @throws {Error} URL has not allowed hostname.
63
+ */
64
+ openTelegramLink(url: string): void {
65
+ const {
66
+ hostname,
67
+ pathname,
68
+ search,
69
+ } = new URL(url, window.location.href);
70
+
71
+ if (hostname !== 't.me') {
72
+ throw new Error(`URL has not allowed hostname: ${hostname}. Only "t.me" is allowed`);
73
+ }
74
+
75
+ if (!supports('web_app_open_tg_link', this.version)) {
76
+ window.location.href = url;
77
+ return;
78
+ }
79
+
80
+ this.postEvent('web_app_open_tg_link', { path_full: pathname + search });
81
+ }
82
+
83
+ /**
84
+ * Reads text from clipboard and returns string or null. null is returned
85
+ * in cases:
86
+ * - Value in clipboard is not text
87
+ * - Access to clipboard is not allowed
88
+ */
89
+ readTextFromClipboard(): Promise<string | null> {
90
+ return request(
91
+ 'web_app_read_text_from_clipboard',
92
+ { req_id: this.createRequestId() },
93
+ 'clipboard_text_received',
94
+ { postEvent: this.postEvent },
95
+ ).then(({ data = null }) => data);
96
+ }
97
+
98
+ /**
99
+ * Checks if specified method is supported by current component.
100
+ */
101
+ supports: SupportsFunc<'readTextFromClipboard'>;
102
+
103
+ /**
104
+ * Checks if specified method parameter is supported by current component.
105
+ */
106
+ supportsParam: SupportsFunc<'openLink.tryInstantView'>;
107
+ }
@@ -0,0 +1 @@
1
+ export * from './Utils.js';
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Returns 1 in case, version "a" is greater than "b".
3
+ * Returns 0 in case, version "a" equal to "b".
4
+ * Returns -1 in case, version "a" is lower than "b".
5
+ * @param a - first version.
6
+ * @param b - second version.
7
+ */
8
+ export function compareVersions(a: string, b: string): number {
9
+ // Split both of the version by dot.
10
+ const aParts = a.split('.');
11
+ const bParts = b.split('.');
12
+
13
+ // Compute maximum length.
14
+ const len = Math.max(aParts.length, bParts.length);
15
+
16
+ // Iterate over each part of version and compare them. In case, part is
17
+ // missing, assume its value is equal to 0.
18
+ for (let i = 0; i < len; i += 1) {
19
+ const aVal = parseInt(aParts[i] || '0', 10);
20
+ const bVal = parseInt(bParts[i] || '0', 10);
21
+
22
+ if (aVal === bVal) {
23
+ continue;
24
+ }
25
+ return aVal > bVal ? 1 : -1;
26
+ }
27
+ return 0;
28
+ }
@@ -0,0 +1,2 @@
1
+ export * from './compareVersions.js';
2
+ export * from './types.js';
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Telegram Mini Apps version in format like "\d+.\d+".
3
+ */
4
+ export type Version = string;
@@ -1,100 +1,40 @@
1
- import { EventEmitter } from '@tma.js/event-emitter';
2
- import { on, postEvent as defaultPostEvent, request, type RequestOptions, type PostEvent } from '@tma.js/bridge';
3
-
4
- import { State } from '../../state/index.js';
5
-
6
- import type { ViewportEvents, ViewportState } from './types.js';
7
-
8
- export interface RequestViewportResult {
9
- height: number;
10
- isStateStable: boolean;
11
- isExpanded: boolean;
12
- width: number;
13
- }
14
-
15
- /**
16
- * Formats value to make it stay in bounds [0, +Inf).
17
- * @param value - value to format.
18
- */
19
- function truncate(value: number): number {
20
- return value < 0 ? 0 : value;
21
- }
1
+ import {
2
+ on,
3
+ type PostEvent,
4
+ postEvent as defaultPostEvent,
5
+ type RequestOptions,
6
+ } from '~/bridge/index.js';
7
+ import { EventEmitter } from '~/event-emitter/index.js';
8
+ import { State } from '~/state/index.js';
9
+ import { requestViewport } from '~/viewport/requestViewport.js';
10
+
11
+ import type {
12
+ ViewportEvents,
13
+ ViewportProps,
14
+ ViewportState,
15
+ } from './types.js';
16
+ import { truncate } from './utils.js';
22
17
 
23
18
  /**
24
19
  * Contains information about current WebApp device viewport, its dimensions
25
20
  * and state.
26
21
  */
27
22
  export class Viewport {
28
- /**
29
- * Requests fresh information about current viewport.
30
- * FIXME: Be careful using this function in desktop version of Telegram as
31
- * long as method web_app_request_viewport does not work on `macos` platform.
32
- * @see Issue: https://github.com/Telegram-Mini-Apps/tma.js/issues/5
33
- * @param options - method options.
34
- */
35
- static async request(options: RequestOptions = {}): Promise<RequestViewportResult> {
36
- const { timeout = 1000, ...restOptions } = options;
37
- const {
38
- is_expanded: isExpanded,
39
- is_state_stable: isStateStable,
40
- ...rest
41
- } = await request('web_app_request_viewport', 'viewport_changed', {
42
- ...restOptions,
43
- timeout,
44
- });
45
-
46
- return { ...rest, isExpanded, isStateStable };
47
- }
48
-
49
- /**
50
- * Synchronizes specified instance of Viewport with the actual value in the native
51
- * application.
52
- * @param viewport - Viewport instance.
53
- */
54
- static sync(viewport: Viewport): void {
55
- on('viewport_changed', (event) => {
56
- const {
57
- height,
58
- width,
59
- is_expanded: isExpanded,
60
- is_state_stable: isStateStable,
61
- } = event;
62
- const formattedHeight = truncate(height);
63
-
64
- viewport.state.set({
65
- height: formattedHeight,
66
- isExpanded,
67
- width: truncate(width),
68
- stableHeight: isStateStable ? formattedHeight : undefined,
69
- });
70
- });
71
- }
72
-
73
- /**
74
- * Returns initialized instance of Viewport which is synchronized with
75
- * its actual state in Mini Apps.
76
- * @param options - method options.
77
- */
78
- static async synced(options: RequestOptions = {}): Promise<Viewport> {
79
- const { height, isExpanded, width } = await this.request(options);
80
- const viewport = new Viewport(height, width, height, isExpanded, options.postEvent);
81
-
82
- this.sync(viewport);
83
-
84
- return viewport;
85
- }
86
-
87
23
  private readonly ee = new EventEmitter<ViewportEvents>();
88
24
 
89
25
  private readonly state: State<ViewportState>;
90
26
 
91
- constructor(
92
- height: number,
93
- width: number,
94
- stableHeight: number,
95
- isExpanded: boolean,
96
- private readonly postEvent: PostEvent = defaultPostEvent,
97
- ) {
27
+ private readonly postEvent: PostEvent;
28
+
29
+ constructor(props: ViewportProps) {
30
+ const {
31
+ height,
32
+ isExpanded,
33
+ width,
34
+ stableHeight,
35
+ postEvent = defaultPostEvent,
36
+ } = props;
37
+ this.postEvent = postEvent;
98
38
  this.state = new State({
99
39
  height: truncate(height),
100
40
  isExpanded,
@@ -103,6 +43,22 @@ export class Viewport {
103
43
  }, this.ee);
104
44
  }
105
45
 
46
+ /**
47
+ * Request viewport information from the Telegram application and updates current Viewport
48
+ * instance.
49
+ * @param options - options to request fresh data.
50
+ */
51
+ sync(options?: RequestOptions): Promise<void> {
52
+ return requestViewport(options).then(({ height, isExpanded, width, isStateStable }) => {
53
+ this.state.set({
54
+ height,
55
+ width,
56
+ isExpanded,
57
+ stableHeight: isStateStable ? height : this.state.get('stableHeight'),
58
+ });
59
+ });
60
+ }
61
+
106
62
  /**
107
63
  * The current height of the visible area of the Mini App.
108
64
  *
@@ -118,10 +74,6 @@ export class Viewport {
118
74
  * used to pin interface elements to the bottom of the visible area. It's
119
75
  * more appropriate to use the value of the `stableHeight`
120
76
  * field for this purpose.
121
- *
122
- * @see init
123
- * @see expand
124
- * @see stableHeight
125
77
  */
126
78
  get height(): number {
127
79
  return this.state.get('height');
@@ -140,15 +92,37 @@ export class Viewport {
140
92
  * gestures or during animations. The value of `stableHeight`
141
93
  * will be updated after all gestures and animations are completed and
142
94
  * the Mini App reaches its final size.
143
- *
144
- * @see init
145
- * @see expand
146
- * @see height
147
95
  */
148
96
  get stableHeight(): number {
149
97
  return this.state.get('stableHeight');
150
98
  }
151
99
 
100
+ /**
101
+ * Starts listening to viewport changes and applies them.
102
+ * @returns Function to stop listening.
103
+ */
104
+ listen() {
105
+ return on('viewport_changed', (event) => {
106
+ const {
107
+ height,
108
+ width,
109
+ is_expanded: isExpanded,
110
+ is_state_stable: isStateStable,
111
+ } = event;
112
+ const state: Partial<ViewportState> = {
113
+ height: truncate(height),
114
+ isExpanded,
115
+ width: truncate(width),
116
+ };
117
+
118
+ if (isStateStable) {
119
+ state.stableHeight = state.height;
120
+ }
121
+
122
+ this.state.set(state);
123
+ });
124
+ }
125
+
152
126
  /**
153
127
  * Returns true if the Mini App is expanded to the maximum available height.
154
128
  * Otherwise, if the Mini App occupies part of the screen and can be expanded
@@ -173,8 +147,8 @@ export class Viewport {
173
147
  * @see isExpanded
174
148
  */
175
149
  expand(): void {
176
- this.state.set('isExpanded', true);
177
150
  this.postEvent('web_app_expand');
151
+ this.state.set('isExpanded', true);
178
152
  }
179
153
 
180
154
  /**
@@ -188,10 +162,10 @@ export class Viewport {
188
162
  /**
189
163
  * Adds new event listener.
190
164
  */
191
- on: typeof this.ee.on = this.ee.on.bind(this.ee);
165
+ on = this.ee.on.bind(this.ee);
192
166
 
193
167
  /**
194
168
  * Removes event listener.
195
169
  */
196
- off: typeof this.ee.off = this.ee.off.bind(this.ee);
170
+ off = this.ee.off.bind(this.ee);
197
171
  }
@@ -0,0 +1,3 @@
1
+ export * from './requestViewport.js';
2
+ export * from './types.js';
3
+ export * from './Viewport.js';
@@ -0,0 +1,23 @@
1
+ import { request, type RequestOptions } from '~/bridge/index.js';
2
+
3
+ export interface RequestViewportResult {
4
+ height: number;
5
+ isStateStable: boolean;
6
+ isExpanded: boolean;
7
+ width: number;
8
+ }
9
+
10
+ /**
11
+ * Requests viewport actual information from the Telegram application.
12
+ * @param options - request options.
13
+ */
14
+ export async function requestViewport(options?: RequestOptions): Promise<RequestViewportResult> {
15
+ const data = await request('web_app_request_viewport', 'viewport_changed', options);
16
+
17
+ return {
18
+ height: data.height,
19
+ width: data.width,
20
+ isExpanded: data.is_expanded,
21
+ isStateStable: data.is_state_stable,
22
+ };
23
+ }
@@ -1,4 +1,13 @@
1
- import type { StateEvents } from '../../state/index.js';
1
+ import type { PostEvent } from '~/bridge/index.js';
2
+ import type { StateEvents } from '~/state/index.js';
3
+
4
+ export interface ViewportProps {
5
+ height: number;
6
+ width: number;
7
+ stableHeight: number;
8
+ isExpanded: boolean;
9
+ postEvent?: PostEvent;
10
+ }
2
11
 
3
12
  export interface ViewportState {
4
13
  height: number;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Formats value to make it stay in bounds [0, +Inf).
3
+ * @param value - value to format.
4
+ */
5
+ export function truncate(value: number): number {
6
+ return value < 0 ? 0 : value;
7
+ }
@@ -1,2 +0,0 @@
1
- export * from './BackButton.js';
2
- export type { BackButtonEventListener, BackButtonEventName, BackButtonEvents } from './types.js';
@@ -1,2 +0,0 @@
1
- export * from './ClosingBehaviour.js';
2
- export type { ClosingBehaviourEventName, ClosingBehaviourEventListener, ClosingBehaviourEvents, } from './types.js';
@@ -1,7 +0,0 @@
1
- import type { StateEvents } from '../../state/index.js';
2
- export interface ClosingBehaviourState {
3
- isConfirmationNeeded: boolean;
4
- }
5
- export type ClosingBehaviourEvents = StateEvents<ClosingBehaviourState>;
6
- export type ClosingBehaviourEventName = keyof ClosingBehaviourEvents;
7
- export type ClosingBehaviourEventListener<E extends ClosingBehaviourEventName> = ClosingBehaviourEvents[E];
@@ -1,60 +0,0 @@
1
- import type { Chat, ChatType, InitData as InitDataType, User } from '@tma.js/init-data';
2
- /**
3
- * Class which is responsible for displaying Mini Apps init data.
4
- */
5
- export declare class InitData {
6
- private readonly state;
7
- constructor(authDate: Date, hash: string, options?: Omit<InitDataType, 'authDate' | 'hash'>);
8
- /**
9
- * Init data generation date.
10
- */
11
- get authDate(): Date;
12
- /**
13
- * Date after which a message can be sent via the
14
- * [answerWebAppQuery](https://core.telegram.org/bots/api#answerwebappquery) method.
15
- */
16
- get canSendAfter(): Date | null;
17
- /**
18
- * An object containing data about the chat where the bot was launched via the attachment
19
- * menu. Returned for supergroups, channels and group chats – only for Mini Apps launched via
20
- * the attachment menu.
21
- */
22
- get chat(): Chat | null;
23
- /**
24
- * The type of chat from which Mini App was opened.
25
- */
26
- get chatType(): ChatType | null;
27
- /**
28
- * A global identifier indicating the chat from which Mini App was opened. Returned only for
29
- * applications opened by direct link.
30
- */
31
- get chatInstance(): string | null;
32
- /**
33
- * A hash of all passed parameters, which the bot server can use to
34
- * check their validity.
35
- * @see https://core.telegram.org/bots/webapps#validating-data-received-via-the-web-app
36
- */
37
- get hash(): string;
38
- /**
39
- * A unique identifier for the Mini App session, required for sending
40
- * messages via the `answerWebAppQuery` method.
41
- * @see https://core.telegram.org/bots/api#answerwebappquery
42
- */
43
- get queryId(): string | null;
44
- /**
45
- * An object containing data about the chat partner of the current
46
- * user in the chat where the bot was launched via the attachment menu.
47
- * Returned only for private chats and only for Mini Apps launched
48
- * via the attachment menu.
49
- */
50
- get receiver(): User | null;
51
- /**
52
- * The value of the `startattach` parameter, passed via link. Only
53
- * returned for Mini Apps when launched from the attachment menu via link.
54
- */
55
- get startParam(): string | null;
56
- /**
57
- * An object containing data about the current user.
58
- */
59
- get user(): User | null;
60
- }
@@ -1 +0,0 @@
1
- export * from './InitData.js';