@mtkruto/node 0.1.201 → 0.1.289
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/COPYING +674 -0
- package/esm/0_deps.d.ts +20 -1
- package/esm/0_deps.js +21 -1
- package/esm/0_errors.d.ts +19 -0
- package/esm/0_errors.js +19 -0
- package/esm/1_utilities.d.ts +20 -1
- package/esm/1_utilities.js +20 -1
- package/esm/2_connection.d.ts +19 -0
- package/esm/2_connection.js +19 -0
- package/esm/2_tl.d.ts +19 -0
- package/esm/2_tl.js +19 -0
- package/esm/3_errors.d.ts +19 -0
- package/esm/3_errors.js +19 -0
- package/esm/3_storage.d.ts +19 -0
- package/esm/3_storage.js +19 -0
- package/esm/3_transport.d.ts +19 -0
- package/esm/3_transport.js +19 -0
- package/esm/3_types.d.ts +19 -0
- package/esm/3_types.js +19 -0
- package/esm/4_constants.js +19 -0
- package/esm/4_errors.d.ts +19 -0
- package/esm/4_errors.js +22 -3
- package/esm/5_client.d.ts +19 -0
- package/esm/5_client.js +19 -0
- package/esm/client/0_client_abstract.d.ts +19 -0
- package/esm/client/0_client_abstract.js +19 -0
- package/esm/client/0_filters.d.ts +19 -0
- package/esm/client/0_filters.js +19 -0
- package/esm/client/0_html.d.ts +19 -0
- package/esm/client/0_html.js +19 -0
- package/esm/client/0_markdown.js +5 -5
- package/esm/client/0_message.d.ts +19 -0
- package/esm/client/0_message.js +19 -0
- package/esm/client/0_params.d.ts +19 -0
- package/esm/client/0_params.js +19 -0
- package/esm/client/0_password.js +19 -0
- package/esm/client/0_types.d.ts +19 -0
- package/esm/client/0_types.js +19 -0
- package/esm/client/0_utilities.d.ts +7 -0
- package/esm/client/0_utilities.js +66 -4
- package/esm/client/1_account_manager.d.ts +19 -0
- package/esm/client/1_account_manager.js +23 -4
- package/esm/client/1_bot_info_manager.d.ts +19 -0
- package/esm/client/1_bot_info_manager.js +19 -0
- package/esm/client/1_business_connection_manager.d.ts +19 -0
- package/esm/client/1_business_connection_manager.js +19 -0
- package/esm/client/1_client_encrypted.d.ts +19 -0
- package/esm/client/1_client_encrypted.js +23 -4
- package/esm/client/1_client_plain.d.ts +19 -0
- package/esm/client/1_client_plain.js +22 -3
- package/esm/client/1_composer.d.ts +19 -0
- package/esm/client/1_composer.js +19 -0
- package/esm/client/1_file_manager.d.ts +19 -0
- package/esm/client/1_file_manager.js +25 -5
- package/esm/client/1_network_statistics_manager.d.ts +19 -0
- package/esm/client/1_network_statistics_manager.js +19 -0
- package/esm/client/1_reaction_manager.d.ts +19 -0
- package/esm/client/1_reaction_manager.js +21 -2
- package/esm/client/1_update_manager.d.ts +19 -0
- package/esm/client/1_update_manager.js +28 -8
- package/esm/client/2_message_manager.d.ts +19 -0
- package/esm/client/2_message_manager.js +66 -24
- package/esm/client/3_callback_query_manager.d.ts +19 -0
- package/esm/client/3_callback_query_manager.js +21 -0
- package/esm/client/3_chat_list_manager.d.ts +19 -0
- package/esm/client/3_chat_list_manager.js +32 -12
- package/esm/client/3_inline_query_manager.d.ts +19 -0
- package/esm/client/3_inline_query_manager.js +23 -2
- package/esm/client/3_story_manager.d.ts +19 -0
- package/esm/client/3_story_manager.js +26 -5
- package/esm/client/4_client.d.ts +19 -0
- package/esm/client/4_client.js +36 -16
- package/esm/connection/0_connection.d.ts +19 -0
- package/esm/connection/0_connection.js +19 -0
- package/esm/connection/1_connection_web_socket.js +22 -2
- package/{script/deps/deno.land/x/tgcrypto@0.3.3 → esm/deps/deno.land/x/tgcrypto@0.4.0}/mod.d.ts +0 -1
- package/esm/deps/deno.land/x/{tgcrypto@0.3.3 → tgcrypto@0.4.0}/mod.js +0 -11
- package/esm/deps/deno.land/x/tgcrypto@0.4.0/tgcrypto.js +308 -0
- package/esm/mod.d.ts +20 -1
- package/esm/mod.js +20 -1
- package/esm/storage/0_storage.d.ts +19 -0
- package/esm/storage/0_storage.js +25 -5
- package/esm/storage/1_utilities.d.ts +19 -1
- package/esm/storage/1_utilities.js +21 -3
- package/esm/storage/2_storage_indexed_db.d.ts +19 -0
- package/esm/storage/2_storage_indexed_db.js +19 -0
- package/esm/storage/2_storage_local_storage.d.ts +19 -0
- package/esm/storage/2_storage_local_storage.js +20 -4
- package/esm/storage/2_storage_memory.d.ts +19 -0
- package/esm/storage/2_storage_memory.js +19 -0
- package/esm/storage/2_storage_session_storage.d.ts +19 -0
- package/esm/storage/2_storage_session_storage.js +20 -4
- package/esm/tl/0_tl_raw_reader.d.ts +19 -0
- package/esm/tl/0_tl_raw_reader.js +19 -0
- package/esm/tl/0_tl_raw_writer.d.ts +19 -0
- package/esm/tl/0_tl_raw_writer.js +19 -0
- package/esm/tl/1_tl_object.d.ts +19 -0
- package/esm/tl/1_tl_object.js +19 -0
- package/esm/tl/2_types.d.ts +19 -0
- package/esm/tl/2_types.js +19 -0
- package/esm/tl/3_deserialize.d.ts +19 -0
- package/esm/tl/3_deserialize.js +19 -0
- package/esm/tl/3_functions.d.ts +19 -0
- package/esm/tl/3_functions.js +19 -0
- package/esm/tl/3_utilities.d.ts +19 -0
- package/esm/tl/3_utilities.js +24 -4
- package/esm/tl/4_tl_reader.d.ts +19 -0
- package/esm/tl/4_tl_reader.js +19 -0
- package/esm/tl/5_tl_writer.d.ts +19 -0
- package/esm/tl/5_tl_writer.js +19 -0
- package/esm/tl/6_rpc_result.d.ts +19 -0
- package/esm/tl/6_rpc_result.js +19 -0
- package/esm/tl/7_message.d.ts +19 -0
- package/esm/tl/7_message.js +19 -0
- package/esm/tl/8_message_container.d.ts +19 -0
- package/esm/tl/8_message_container.js +19 -0
- package/esm/transport/0_obfuscation.js +19 -0
- package/esm/transport/0_transport.d.ts +19 -0
- package/esm/transport/0_transport.js +19 -0
- package/esm/transport/1_transport_abridged.d.ts +19 -0
- package/esm/transport/1_transport_abridged.js +19 -0
- package/esm/transport/1_transport_intermediate.d.ts +19 -0
- package/esm/transport/1_transport_intermediate.js +19 -0
- package/esm/transport/2_transport_provider.d.ts +19 -0
- package/esm/transport/2_transport_provider.js +23 -4
- package/esm/transport/3_transport_provider_web_socket.d.ts +19 -0
- package/esm/transport/3_transport_provider_web_socket.js +19 -0
- package/esm/types/0_authorization_state.d.ts +19 -0
- package/esm/types/0_authorization_state.js +19 -0
- package/esm/types/0_bot_command.d.ts +19 -0
- package/esm/types/0_bot_command.js +19 -0
- package/esm/types/0_chat_action.d.ts +19 -0
- package/esm/types/0_chat_action.js +19 -0
- package/esm/types/0_chat_administrator_rights.d.ts +19 -0
- package/esm/types/0_chat_administrator_rights.js +19 -0
- package/esm/types/0_chat_member_rights.d.ts +19 -0
- package/esm/types/0_chat_member_rights.js +19 -0
- package/esm/types/0_chat_photo.d.ts +19 -1
- package/esm/types/0_chat_photo.js +19 -2
- package/esm/types/0_connection_state.d.ts +19 -0
- package/esm/types/0_connection_state.js +19 -0
- package/esm/types/0_contact.d.ts +19 -0
- package/esm/types/0_contact.js +19 -0
- package/esm/types/0_dice.d.ts +19 -0
- package/esm/types/0_dice.js +19 -0
- package/esm/types/0_file_source.d.ts +19 -0
- package/esm/types/0_file_source.js +19 -0
- package/esm/types/0_giveaway_parameters.d.ts +19 -0
- package/esm/types/0_giveaway_parameters.js +19 -0
- package/esm/types/0_id.d.ts +19 -0
- package/esm/types/0_id.js +19 -0
- package/esm/types/0_keyboard_button_poll_type.d.ts +19 -0
- package/esm/types/0_keyboard_button_poll_type.js +19 -0
- package/esm/types/0_link_preview.d.ts +19 -0
- package/esm/types/0_link_preview.js +19 -0
- package/esm/types/0_location.d.ts +19 -0
- package/esm/types/0_location.js +19 -0
- package/esm/types/0_login_url.d.ts +19 -0
- package/esm/types/0_login_url.js +19 -0
- package/esm/types/0_mask_position.d.ts +19 -0
- package/esm/types/0_mask_position.js +19 -0
- package/esm/types/0_message_entity.d.ts +19 -0
- package/esm/types/0_message_entity.js +22 -3
- package/esm/types/0_message_reference.d.ts +19 -0
- package/esm/types/0_message_reference.js +19 -0
- package/esm/types/0_message_search_filter.d.ts +19 -0
- package/esm/types/0_message_search_filter.js +21 -2
- package/esm/types/0_mini_app_info.d.ts +19 -0
- package/esm/types/0_mini_app_info.js +19 -0
- package/esm/types/0_network_statistics_entry.d.ts +19 -0
- package/esm/types/0_network_statistics_entry.js +19 -0
- package/esm/types/0_parse_mode.d.ts +19 -0
- package/esm/types/0_parse_mode.js +19 -0
- package/esm/types/0_poll_option.d.ts +19 -0
- package/esm/types/0_poll_option.js +19 -0
- package/esm/types/0_price_tag.d.ts +19 -0
- package/esm/types/0_price_tag.js +19 -0
- package/esm/types/0_reaction.d.ts +19 -0
- package/esm/types/0_reaction.js +21 -2
- package/esm/types/0_restriction_reason.d.ts +19 -0
- package/esm/types/0_restriction_reason.js +19 -0
- package/esm/types/0_story_reference.d.ts +19 -0
- package/esm/types/0_story_reference.js +19 -0
- package/esm/types/0_thumbnail.d.ts +19 -0
- package/esm/types/0_thumbnail.js +19 -0
- package/esm/types/0_voice.d.ts +19 -0
- package/esm/types/0_voice.js +19 -0
- package/esm/types/1_animation.d.ts +19 -0
- package/esm/types/1_animation.js +19 -0
- package/esm/types/1_audio.d.ts +19 -0
- package/esm/types/1_audio.js +19 -0
- package/esm/types/1_bot_command_scope.d.ts +19 -0
- package/esm/types/1_bot_command_scope.js +22 -3
- package/esm/types/1_chat_p.d.ts +19 -0
- package/esm/types/1_chat_p.js +22 -2
- package/esm/types/1_document.d.ts +19 -0
- package/esm/types/1_document.js +19 -0
- package/esm/types/1_giveaway.d.ts +19 -0
- package/esm/types/1_giveaway.js +19 -0
- package/esm/types/1_inline_query_result_button.d.ts +19 -0
- package/esm/types/1_inline_query_result_button.js +19 -0
- package/esm/types/1_input_message_content.d.ts +19 -0
- package/esm/types/1_input_message_content.js +19 -0
- package/esm/types/1_input_story_content.d.ts +19 -0
- package/esm/types/1_input_story_content.js +19 -0
- package/esm/types/1_keyboard_button.d.ts +19 -0
- package/esm/types/1_keyboard_button.js +22 -3
- package/esm/types/1_message_reaction.d.ts +19 -0
- package/esm/types/1_message_reaction.js +21 -2
- package/esm/types/1_network_statistics.d.ts +19 -0
- package/esm/types/1_network_statistics.js +19 -0
- package/esm/types/1_photo.d.ts +19 -0
- package/esm/types/1_photo.js +19 -0
- package/esm/types/1_poll.d.ts +19 -0
- package/esm/types/1_poll.js +19 -0
- package/esm/types/1_reaction_count.d.ts +19 -0
- package/esm/types/1_reaction_count.js +19 -0
- package/esm/types/1_reply_quote.d.ts +19 -0
- package/esm/types/1_reply_quote.js +19 -0
- package/esm/types/1_sticker.d.ts +19 -0
- package/esm/types/1_sticker.js +19 -0
- package/esm/types/1_story_privacy.d.ts +19 -0
- package/esm/types/1_story_privacy.js +22 -3
- package/esm/types/1_story_reaction.d.ts +19 -0
- package/esm/types/1_story_reaction.js +19 -0
- package/esm/types/1_user.d.ts +19 -0
- package/esm/types/1_user.js +19 -0
- package/esm/types/1_venue.d.ts +19 -0
- package/esm/types/1_venue.js +19 -0
- package/esm/types/1_video.d.ts +19 -0
- package/esm/types/1_video.js +19 -0
- package/esm/types/1_video_note.d.ts +19 -0
- package/esm/types/1_video_note.js +19 -0
- package/esm/types/2_business_connection.d.ts +19 -0
- package/esm/types/2_business_connection.js +19 -0
- package/esm/types/2_chat_member.d.ts +19 -0
- package/esm/types/2_chat_member.js +25 -5
- package/esm/types/2_chosen_inline_result.d.ts +19 -0
- package/esm/types/2_chosen_inline_result.js +22 -2
- package/esm/types/2_game.d.ts +19 -0
- package/esm/types/2_game.js +19 -0
- package/esm/types/2_inactive_chat.d.ts +19 -0
- package/esm/types/2_inactive_chat.js +22 -2
- package/esm/types/2_inline_keyboard_button.d.ts +19 -0
- package/esm/types/2_inline_keyboard_button.js +22 -3
- package/esm/types/2_inline_query.d.ts +19 -0
- package/esm/types/2_inline_query.js +22 -3
- package/esm/types/2_invite_link.d.ts +19 -0
- package/esm/types/2_invite_link.js +22 -2
- package/esm/types/2_message_interactions.d.ts +19 -0
- package/esm/types/2_message_interactions.js +19 -0
- package/esm/types/2_message_reaction_count.d.ts +19 -0
- package/esm/types/2_message_reaction_count.js +19 -0
- package/esm/types/2_message_reactions.d.ts +19 -0
- package/esm/types/2_message_reactions.js +19 -0
- package/esm/types/2_story_content.d.ts +19 -0
- package/esm/types/2_story_content.js +24 -5
- package/esm/types/2_story_interactions.d.ts +19 -0
- package/esm/types/2_story_interactions.js +19 -0
- package/esm/types/2_story_interactive_area.d.ts +19 -0
- package/esm/types/2_story_interactive_area.js +24 -5
- package/esm/types/3_chat_member_updated.d.ts +19 -0
- package/esm/types/3_chat_member_updated.js +23 -3
- package/esm/types/3_reply_markup.d.ts +19 -0
- package/esm/types/3_reply_markup.js +23 -3
- package/esm/types/3_story.d.ts +19 -0
- package/esm/types/3_story.js +22 -2
- package/esm/types/4_inline_query_result.d.ts +19 -0
- package/esm/types/4_inline_query_result.js +24 -5
- package/esm/types/4_message.d.ts +19 -0
- package/esm/types/4_message.js +36 -16
- package/esm/types/5_callback_query.d.ts +19 -0
- package/esm/types/5_callback_query.js +23 -3
- package/esm/types/5_chat.d.ts +19 -0
- package/esm/types/5_chat.js +27 -7
- package/esm/types/6_update.d.ts +19 -0
- package/esm/types/6_update.js +19 -0
- package/esm/types/_file_id.d.ts +19 -0
- package/esm/types/_file_id.js +28 -8
- package/esm/types/_getters.d.ts +19 -0
- package/esm/types/_getters.js +19 -0
- package/esm/utilities/0_bigint.d.ts +1 -0
- package/esm/utilities/0_bigint.js +44 -0
- package/esm/utilities/0_buffer.d.ts +19 -0
- package/esm/utilities/0_buffer.js +19 -0
- package/esm/utilities/0_cache_map.d.ts +19 -0
- package/esm/utilities/0_cache_map.js +19 -0
- package/esm/utilities/0_color.d.ts +19 -0
- package/esm/utilities/0_color.js +19 -0
- package/esm/utilities/0_crypto.d.ts +19 -0
- package/esm/utilities/0_crypto.js +19 -0
- package/esm/utilities/0_hash.js +19 -0
- package/esm/utilities/0_logger.d.ts +27 -0
- package/esm/utilities/0_logger.js +28 -5
- package/esm/utilities/0_mutex.d.ts +19 -0
- package/esm/utilities/0_mutex.js +19 -0
- package/esm/utilities/0_object.d.ts +19 -0
- package/esm/utilities/0_object.js +19 -0
- package/esm/utilities/0_rle.d.ts +19 -0
- package/esm/utilities/0_rle.js +19 -0
- package/esm/utilities/0_types.d.ts +19 -0
- package/esm/utilities/0_types.js +19 -0
- package/esm/utilities/1_auth.js +19 -0
- package/esm/utilities/1_base64.d.ts +19 -0
- package/esm/utilities/1_base64.js +19 -0
- package/esm/utilities/1_math.d.ts +20 -0
- package/esm/utilities/1_math.js +70 -0
- package/esm/utilities/1_misc.d.ts +19 -0
- package/esm/utilities/1_misc.js +21 -2
- package/esm/utilities/1_queue.d.ts +19 -0
- package/esm/utilities/1_queue.js +19 -0
- package/package.json +1 -1
- package/script/0_deps.d.ts +20 -1
- package/script/0_deps.js +22 -3
- package/script/0_errors.d.ts +19 -0
- package/script/0_errors.js +19 -0
- package/script/1_utilities.d.ts +20 -1
- package/script/1_utilities.js +20 -1
- package/script/2_connection.d.ts +19 -0
- package/script/2_connection.js +19 -0
- package/script/2_tl.d.ts +19 -0
- package/script/2_tl.js +19 -0
- package/script/3_errors.d.ts +19 -0
- package/script/3_errors.js +19 -0
- package/script/3_storage.d.ts +19 -0
- package/script/3_storage.js +19 -0
- package/script/3_transport.d.ts +19 -0
- package/script/3_transport.js +19 -0
- package/script/3_types.d.ts +19 -0
- package/script/3_types.js +19 -0
- package/script/4_constants.js +19 -0
- package/script/4_errors.d.ts +19 -0
- package/script/4_errors.js +22 -3
- package/script/5_client.d.ts +19 -0
- package/script/5_client.js +19 -0
- package/script/client/0_client_abstract.d.ts +19 -0
- package/script/client/0_client_abstract.js +19 -0
- package/script/client/0_filters.d.ts +19 -0
- package/script/client/0_filters.js +19 -0
- package/script/client/0_html.d.ts +19 -0
- package/script/client/0_html.js +19 -0
- package/script/client/0_markdown.js +5 -5
- package/script/client/0_message.d.ts +19 -0
- package/script/client/0_message.js +19 -0
- package/script/client/0_params.d.ts +19 -0
- package/script/client/0_params.js +19 -0
- package/script/client/0_password.js +19 -0
- package/script/client/0_types.d.ts +19 -0
- package/script/client/0_types.js +19 -0
- package/script/client/0_utilities.d.ts +7 -0
- package/script/client/0_utilities.js +73 -4
- package/script/client/1_account_manager.d.ts +19 -0
- package/script/client/1_account_manager.js +23 -4
- package/script/client/1_bot_info_manager.d.ts +19 -0
- package/script/client/1_bot_info_manager.js +19 -0
- package/script/client/1_business_connection_manager.d.ts +19 -0
- package/script/client/1_business_connection_manager.js +19 -0
- package/script/client/1_client_encrypted.d.ts +19 -0
- package/script/client/1_client_encrypted.js +21 -2
- package/script/client/1_client_plain.d.ts +19 -0
- package/script/client/1_client_plain.js +21 -2
- package/script/client/1_composer.d.ts +19 -0
- package/script/client/1_composer.js +19 -0
- package/script/client/1_file_manager.d.ts +19 -0
- package/script/client/1_file_manager.js +24 -4
- package/script/client/1_network_statistics_manager.d.ts +19 -0
- package/script/client/1_network_statistics_manager.js +19 -0
- package/script/client/1_reaction_manager.d.ts +19 -0
- package/script/client/1_reaction_manager.js +21 -2
- package/script/client/1_update_manager.d.ts +19 -0
- package/script/client/1_update_manager.js +27 -7
- package/script/client/2_message_manager.d.ts +19 -0
- package/script/client/2_message_manager.js +70 -28
- package/script/client/3_callback_query_manager.d.ts +19 -0
- package/script/client/3_callback_query_manager.js +21 -0
- package/script/client/3_chat_list_manager.d.ts +19 -0
- package/script/client/3_chat_list_manager.js +31 -11
- package/script/client/3_inline_query_manager.d.ts +19 -0
- package/script/client/3_inline_query_manager.js +23 -2
- package/script/client/3_story_manager.d.ts +19 -0
- package/script/client/3_story_manager.js +23 -2
- package/script/client/4_client.d.ts +19 -0
- package/script/client/4_client.js +34 -14
- package/script/connection/0_connection.d.ts +19 -0
- package/script/connection/0_connection.js +19 -0
- package/script/connection/1_connection_web_socket.js +21 -1
- package/{esm/deps/deno.land/x/tgcrypto@0.3.3 → script/deps/deno.land/x/tgcrypto@0.4.0}/mod.d.ts +0 -1
- package/script/deps/deno.land/x/{tgcrypto@0.3.3 → tgcrypto@0.4.0}/mod.js +1 -13
- package/script/deps/deno.land/x/tgcrypto@0.4.0/tgcrypto.js +310 -0
- package/script/mod.d.ts +20 -1
- package/script/mod.js +21 -1
- package/script/storage/0_storage.d.ts +19 -0
- package/script/storage/0_storage.js +24 -4
- package/script/storage/1_utilities.d.ts +19 -1
- package/script/storage/1_utilities.js +22 -4
- package/script/storage/2_storage_indexed_db.d.ts +19 -0
- package/script/storage/2_storage_indexed_db.js +19 -0
- package/script/storage/2_storage_local_storage.d.ts +19 -0
- package/script/storage/2_storage_local_storage.js +19 -3
- package/script/storage/2_storage_memory.d.ts +19 -0
- package/script/storage/2_storage_memory.js +19 -0
- package/script/storage/2_storage_session_storage.d.ts +19 -0
- package/script/storage/2_storage_session_storage.js +19 -3
- package/script/tl/0_tl_raw_reader.d.ts +19 -0
- package/script/tl/0_tl_raw_reader.js +19 -0
- package/script/tl/0_tl_raw_writer.d.ts +19 -0
- package/script/tl/0_tl_raw_writer.js +19 -0
- package/script/tl/1_tl_object.d.ts +19 -0
- package/script/tl/1_tl_object.js +19 -0
- package/script/tl/2_types.d.ts +19 -0
- package/script/tl/2_types.js +19 -0
- package/script/tl/3_deserialize.d.ts +19 -0
- package/script/tl/3_deserialize.js +19 -0
- package/script/tl/3_functions.d.ts +19 -0
- package/script/tl/3_functions.js +19 -0
- package/script/tl/3_utilities.d.ts +19 -0
- package/script/tl/3_utilities.js +23 -3
- package/script/tl/4_tl_reader.d.ts +19 -0
- package/script/tl/4_tl_reader.js +19 -0
- package/script/tl/5_tl_writer.d.ts +19 -0
- package/script/tl/5_tl_writer.js +19 -0
- package/script/tl/6_rpc_result.d.ts +19 -0
- package/script/tl/6_rpc_result.js +19 -0
- package/script/tl/7_message.d.ts +19 -0
- package/script/tl/7_message.js +19 -0
- package/script/tl/8_message_container.d.ts +19 -0
- package/script/tl/8_message_container.js +19 -0
- package/script/transport/0_obfuscation.js +19 -0
- package/script/transport/0_transport.d.ts +19 -0
- package/script/transport/0_transport.js +19 -0
- package/script/transport/1_transport_abridged.d.ts +19 -0
- package/script/transport/1_transport_abridged.js +19 -0
- package/script/transport/1_transport_intermediate.d.ts +19 -0
- package/script/transport/1_transport_intermediate.js +19 -0
- package/script/transport/2_transport_provider.d.ts +19 -0
- package/script/transport/2_transport_provider.js +23 -4
- package/script/transport/3_transport_provider_web_socket.d.ts +19 -0
- package/script/transport/3_transport_provider_web_socket.js +19 -0
- package/script/types/0_authorization_state.d.ts +19 -0
- package/script/types/0_authorization_state.js +19 -0
- package/script/types/0_bot_command.d.ts +19 -0
- package/script/types/0_bot_command.js +19 -0
- package/script/types/0_chat_action.d.ts +19 -0
- package/script/types/0_chat_action.js +19 -0
- package/script/types/0_chat_administrator_rights.d.ts +19 -0
- package/script/types/0_chat_administrator_rights.js +19 -0
- package/script/types/0_chat_member_rights.d.ts +19 -0
- package/script/types/0_chat_member_rights.js +19 -0
- package/script/types/0_chat_photo.d.ts +19 -1
- package/script/types/0_chat_photo.js +19 -2
- package/script/types/0_connection_state.d.ts +19 -0
- package/script/types/0_connection_state.js +19 -0
- package/script/types/0_contact.d.ts +19 -0
- package/script/types/0_contact.js +19 -0
- package/script/types/0_dice.d.ts +19 -0
- package/script/types/0_dice.js +19 -0
- package/script/types/0_file_source.d.ts +19 -0
- package/script/types/0_file_source.js +19 -0
- package/script/types/0_giveaway_parameters.d.ts +19 -0
- package/script/types/0_giveaway_parameters.js +19 -0
- package/script/types/0_id.d.ts +19 -0
- package/script/types/0_id.js +19 -0
- package/script/types/0_keyboard_button_poll_type.d.ts +19 -0
- package/script/types/0_keyboard_button_poll_type.js +19 -0
- package/script/types/0_link_preview.d.ts +19 -0
- package/script/types/0_link_preview.js +19 -0
- package/script/types/0_location.d.ts +19 -0
- package/script/types/0_location.js +19 -0
- package/script/types/0_login_url.d.ts +19 -0
- package/script/types/0_login_url.js +19 -0
- package/script/types/0_mask_position.d.ts +19 -0
- package/script/types/0_mask_position.js +19 -0
- package/script/types/0_message_entity.d.ts +19 -0
- package/script/types/0_message_entity.js +22 -3
- package/script/types/0_message_reference.d.ts +19 -0
- package/script/types/0_message_reference.js +19 -0
- package/script/types/0_message_search_filter.d.ts +19 -0
- package/script/types/0_message_search_filter.js +21 -2
- package/script/types/0_mini_app_info.d.ts +19 -0
- package/script/types/0_mini_app_info.js +19 -0
- package/script/types/0_network_statistics_entry.d.ts +19 -0
- package/script/types/0_network_statistics_entry.js +19 -0
- package/script/types/0_parse_mode.d.ts +19 -0
- package/script/types/0_parse_mode.js +19 -0
- package/script/types/0_poll_option.d.ts +19 -0
- package/script/types/0_poll_option.js +19 -0
- package/script/types/0_price_tag.d.ts +19 -0
- package/script/types/0_price_tag.js +19 -0
- package/script/types/0_reaction.d.ts +19 -0
- package/script/types/0_reaction.js +21 -2
- package/script/types/0_restriction_reason.d.ts +19 -0
- package/script/types/0_restriction_reason.js +19 -0
- package/script/types/0_story_reference.d.ts +19 -0
- package/script/types/0_story_reference.js +19 -0
- package/script/types/0_thumbnail.d.ts +19 -0
- package/script/types/0_thumbnail.js +19 -0
- package/script/types/0_voice.d.ts +19 -0
- package/script/types/0_voice.js +19 -0
- package/script/types/1_animation.d.ts +19 -0
- package/script/types/1_animation.js +19 -0
- package/script/types/1_audio.d.ts +19 -0
- package/script/types/1_audio.js +19 -0
- package/script/types/1_bot_command_scope.d.ts +19 -0
- package/script/types/1_bot_command_scope.js +22 -3
- package/script/types/1_chat_p.d.ts +19 -0
- package/script/types/1_chat_p.js +21 -1
- package/script/types/1_document.d.ts +19 -0
- package/script/types/1_document.js +19 -0
- package/script/types/1_giveaway.d.ts +19 -0
- package/script/types/1_giveaway.js +19 -0
- package/script/types/1_inline_query_result_button.d.ts +19 -0
- package/script/types/1_inline_query_result_button.js +19 -0
- package/script/types/1_input_message_content.d.ts +19 -0
- package/script/types/1_input_message_content.js +19 -0
- package/script/types/1_input_story_content.d.ts +19 -0
- package/script/types/1_input_story_content.js +19 -0
- package/script/types/1_keyboard_button.d.ts +19 -0
- package/script/types/1_keyboard_button.js +22 -3
- package/script/types/1_message_reaction.d.ts +19 -0
- package/script/types/1_message_reaction.js +21 -2
- package/script/types/1_network_statistics.d.ts +19 -0
- package/script/types/1_network_statistics.js +19 -0
- package/script/types/1_photo.d.ts +19 -0
- package/script/types/1_photo.js +19 -0
- package/script/types/1_poll.d.ts +19 -0
- package/script/types/1_poll.js +19 -0
- package/script/types/1_reaction_count.d.ts +19 -0
- package/script/types/1_reaction_count.js +19 -0
- package/script/types/1_reply_quote.d.ts +19 -0
- package/script/types/1_reply_quote.js +19 -0
- package/script/types/1_sticker.d.ts +19 -0
- package/script/types/1_sticker.js +19 -0
- package/script/types/1_story_privacy.d.ts +19 -0
- package/script/types/1_story_privacy.js +22 -3
- package/script/types/1_story_reaction.d.ts +19 -0
- package/script/types/1_story_reaction.js +19 -0
- package/script/types/1_user.d.ts +19 -0
- package/script/types/1_user.js +19 -0
- package/script/types/1_venue.d.ts +19 -0
- package/script/types/1_venue.js +19 -0
- package/script/types/1_video.d.ts +19 -0
- package/script/types/1_video.js +19 -0
- package/script/types/1_video_note.d.ts +19 -0
- package/script/types/1_video_note.js +19 -0
- package/script/types/2_business_connection.d.ts +19 -0
- package/script/types/2_business_connection.js +19 -0
- package/script/types/2_chat_member.d.ts +19 -0
- package/script/types/2_chat_member.js +24 -4
- package/script/types/2_chosen_inline_result.d.ts +19 -0
- package/script/types/2_chosen_inline_result.js +21 -1
- package/script/types/2_game.d.ts +19 -0
- package/script/types/2_game.js +19 -0
- package/script/types/2_inactive_chat.d.ts +19 -0
- package/script/types/2_inactive_chat.js +21 -1
- package/script/types/2_inline_keyboard_button.d.ts +19 -0
- package/script/types/2_inline_keyboard_button.js +22 -3
- package/script/types/2_inline_query.d.ts +19 -0
- package/script/types/2_inline_query.js +22 -3
- package/script/types/2_invite_link.d.ts +19 -0
- package/script/types/2_invite_link.js +21 -1
- package/script/types/2_message_interactions.d.ts +19 -0
- package/script/types/2_message_interactions.js +19 -0
- package/script/types/2_message_reaction_count.d.ts +19 -0
- package/script/types/2_message_reaction_count.js +19 -0
- package/script/types/2_message_reactions.d.ts +19 -0
- package/script/types/2_message_reactions.js +19 -0
- package/script/types/2_story_content.d.ts +19 -0
- package/script/types/2_story_content.js +24 -5
- package/script/types/2_story_interactions.d.ts +19 -0
- package/script/types/2_story_interactions.js +19 -0
- package/script/types/2_story_interactive_area.d.ts +19 -0
- package/script/types/2_story_interactive_area.js +24 -5
- package/script/types/3_chat_member_updated.d.ts +19 -0
- package/script/types/3_chat_member_updated.js +22 -2
- package/script/types/3_reply_markup.d.ts +19 -0
- package/script/types/3_reply_markup.js +22 -2
- package/script/types/3_story.d.ts +19 -0
- package/script/types/3_story.js +21 -1
- package/script/types/4_inline_query_result.d.ts +19 -0
- package/script/types/4_inline_query_result.js +24 -5
- package/script/types/4_message.d.ts +19 -0
- package/script/types/4_message.js +35 -15
- package/script/types/5_callback_query.d.ts +19 -0
- package/script/types/5_callback_query.js +22 -2
- package/script/types/5_chat.d.ts +19 -0
- package/script/types/5_chat.js +26 -6
- package/script/types/6_update.d.ts +19 -0
- package/script/types/6_update.js +19 -0
- package/script/types/_file_id.d.ts +19 -0
- package/script/types/_file_id.js +27 -7
- package/script/types/_getters.d.ts +19 -0
- package/script/types/_getters.js +19 -0
- package/script/utilities/0_bigint.d.ts +1 -0
- package/script/utilities/0_bigint.js +46 -1
- package/script/utilities/0_buffer.d.ts +19 -0
- package/script/utilities/0_buffer.js +19 -0
- package/script/utilities/0_cache_map.d.ts +19 -0
- package/script/utilities/0_cache_map.js +19 -0
- package/script/utilities/0_color.d.ts +19 -0
- package/script/utilities/0_color.js +19 -0
- package/script/utilities/0_crypto.d.ts +19 -0
- package/script/utilities/0_crypto.js +19 -0
- package/script/utilities/0_hash.js +19 -0
- package/script/utilities/0_logger.d.ts +27 -0
- package/script/utilities/0_logger.js +30 -6
- package/script/utilities/0_mutex.d.ts +19 -0
- package/script/utilities/0_mutex.js +19 -0
- package/script/utilities/0_object.d.ts +19 -0
- package/script/utilities/0_object.js +19 -0
- package/script/utilities/0_rle.d.ts +19 -0
- package/script/utilities/0_rle.js +19 -0
- package/script/utilities/0_types.d.ts +19 -0
- package/script/utilities/0_types.js +19 -0
- package/script/utilities/1_auth.js +19 -0
- package/script/utilities/1_base64.d.ts +19 -0
- package/script/utilities/1_base64.js +19 -0
- package/script/utilities/1_math.d.ts +20 -0
- package/script/utilities/1_math.js +74 -0
- package/script/utilities/1_misc.d.ts +19 -0
- package/script/utilities/1_misc.js +21 -2
- package/script/utilities/1_queue.d.ts +19 -0
- package/script/utilities/1_queue.js +19 -0
- package/esm/deps/deno.land/x/tgcrypto@0.3.3/tgcrypto.js +0 -324
- package/esm/utilities/0_control.d.ts +0 -1
- package/esm/utilities/0_control.js +0 -3
- package/script/deps/deno.land/x/tgcrypto@0.3.3/tgcrypto.js +0 -326
- package/script/utilities/0_control.d.ts +0 -1
- package/script/utilities/0_control.js +0 -7
- /package/{LICENSE → COPYING.LESSER} +0 -0
- /package/esm/deps/deno.land/x/{tgcrypto@0.3.3 → tgcrypto@0.4.0}/tgcrypto.d.ts +0 -0
- /package/script/deps/deno.land/x/{tgcrypto@0.3.3 → tgcrypto@0.4.0}/tgcrypto.d.ts +0 -0
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
var Module = (() => {
|
|
2
|
+
var _scriptDir = import.meta.url;
|
|
3
|
+
return (function (moduleArg = {}) {
|
|
4
|
+
var Module = moduleArg;
|
|
5
|
+
var readyPromiseResolve, readyPromiseReject;
|
|
6
|
+
Module["ready"] = new Promise((resolve, reject) => { readyPromiseResolve = resolve; readyPromiseReject = reject; });
|
|
7
|
+
var moduleOverrides = Object.assign({}, Module);
|
|
8
|
+
var arguments_ = [];
|
|
9
|
+
var thisProgram = "./this.program";
|
|
10
|
+
var quit_ = (status, toThrow) => { throw toThrow; };
|
|
11
|
+
var ENVIRONMENT_IS_WEB = true;
|
|
12
|
+
var ENVIRONMENT_IS_WORKER = false;
|
|
13
|
+
var scriptDirectory = "";
|
|
14
|
+
function locateFile(path) { if (Module["locateFile"]) {
|
|
15
|
+
return Module["locateFile"](path, scriptDirectory);
|
|
16
|
+
} return scriptDirectory + path; }
|
|
17
|
+
var read_, readAsync, readBinary;
|
|
18
|
+
if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
|
|
19
|
+
if (ENVIRONMENT_IS_WORKER) {
|
|
20
|
+
scriptDirectory = self.location.href;
|
|
21
|
+
}
|
|
22
|
+
else if (typeof document != "undefined" && document.currentScript) {
|
|
23
|
+
scriptDirectory = document.currentScript.src;
|
|
24
|
+
}
|
|
25
|
+
if (_scriptDir) {
|
|
26
|
+
scriptDirectory = _scriptDir;
|
|
27
|
+
}
|
|
28
|
+
if (scriptDirectory.indexOf("blob:") !== 0) {
|
|
29
|
+
scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
scriptDirectory = "";
|
|
33
|
+
}
|
|
34
|
+
{
|
|
35
|
+
read_ = url => { var xhr = new XMLHttpRequest; xhr.open("GET", url, false); xhr.send(null); return xhr.responseText; };
|
|
36
|
+
if (ENVIRONMENT_IS_WORKER) {
|
|
37
|
+
readBinary = url => { var xhr = new XMLHttpRequest; xhr.open("GET", url, false); xhr.responseType = "arraybuffer"; xhr.send(null); return new Uint8Array(xhr.response); };
|
|
38
|
+
}
|
|
39
|
+
readAsync = (url, onload, onerror) => { var xhr = new XMLHttpRequest; xhr.open("GET", url, true); xhr.responseType = "arraybuffer"; xhr.onload = () => { if (xhr.status == 200 || xhr.status == 0 && xhr.response) {
|
|
40
|
+
onload(xhr.response);
|
|
41
|
+
return;
|
|
42
|
+
} onerror(); }; xhr.onerror = onerror; xhr.send(null); };
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
else { }
|
|
46
|
+
var out = Module["print"] || console.log.bind(console);
|
|
47
|
+
var err = Module["printErr"] || console.error.bind(console);
|
|
48
|
+
Object.assign(Module, moduleOverrides);
|
|
49
|
+
moduleOverrides = null;
|
|
50
|
+
if (Module["arguments"])
|
|
51
|
+
arguments_ = Module["arguments"];
|
|
52
|
+
if (Module["thisProgram"])
|
|
53
|
+
thisProgram = Module["thisProgram"];
|
|
54
|
+
if (Module["quit"])
|
|
55
|
+
quit_ = Module["quit"];
|
|
56
|
+
var wasmBinary;
|
|
57
|
+
if (Module["wasmBinary"])
|
|
58
|
+
wasmBinary = Module["wasmBinary"];
|
|
59
|
+
if (typeof WebAssembly != "object") {
|
|
60
|
+
abort("no native wasm support detected");
|
|
61
|
+
}
|
|
62
|
+
function intArrayFromBase64(s) { var decoded = atob(s); var bytes = new Uint8Array(decoded.length); for (var i = 0; i < decoded.length; ++i) {
|
|
63
|
+
bytes[i] = decoded.charCodeAt(i);
|
|
64
|
+
} return bytes; }
|
|
65
|
+
function tryParseAsDataURI(filename) { if (!isDataURI(filename)) {
|
|
66
|
+
return;
|
|
67
|
+
} return intArrayFromBase64(filename.slice(dataURIPrefix.length)); }
|
|
68
|
+
var wasmMemory;
|
|
69
|
+
var ABORT = false;
|
|
70
|
+
var EXITSTATUS;
|
|
71
|
+
var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAP64, HEAPU64, HEAPF64;
|
|
72
|
+
function updateMemoryViews() { var b = wasmMemory.buffer; Module["HEAP8"] = HEAP8 = new Int8Array(b); Module["HEAP16"] = HEAP16 = new Int16Array(b); Module["HEAPU8"] = HEAPU8 = new Uint8Array(b); Module["HEAPU16"] = HEAPU16 = new Uint16Array(b); Module["HEAP32"] = HEAP32 = new Int32Array(b); Module["HEAPU32"] = HEAPU32 = new Uint32Array(b); Module["HEAPF32"] = HEAPF32 = new Float32Array(b); Module["HEAPF64"] = HEAPF64 = new Float64Array(b); Module["HEAP64"] = HEAP64 = new BigInt64Array(b); Module["HEAPU64"] = HEAPU64 = new BigUint64Array(b); }
|
|
73
|
+
var __ATPRERUN__ = [];
|
|
74
|
+
var __ATINIT__ = [];
|
|
75
|
+
var __ATPOSTRUN__ = [];
|
|
76
|
+
var runtimeInitialized = false;
|
|
77
|
+
function preRun() { if (Module["preRun"]) {
|
|
78
|
+
if (typeof Module["preRun"] == "function")
|
|
79
|
+
Module["preRun"] = [Module["preRun"]];
|
|
80
|
+
while (Module["preRun"].length) {
|
|
81
|
+
addOnPreRun(Module["preRun"].shift());
|
|
82
|
+
}
|
|
83
|
+
} callRuntimeCallbacks(__ATPRERUN__); }
|
|
84
|
+
function initRuntime() { runtimeInitialized = true; callRuntimeCallbacks(__ATINIT__); }
|
|
85
|
+
function postRun() { if (Module["postRun"]) {
|
|
86
|
+
if (typeof Module["postRun"] == "function")
|
|
87
|
+
Module["postRun"] = [Module["postRun"]];
|
|
88
|
+
while (Module["postRun"].length) {
|
|
89
|
+
addOnPostRun(Module["postRun"].shift());
|
|
90
|
+
}
|
|
91
|
+
} callRuntimeCallbacks(__ATPOSTRUN__); }
|
|
92
|
+
function addOnPreRun(cb) { __ATPRERUN__.unshift(cb); }
|
|
93
|
+
function addOnInit(cb) { __ATINIT__.unshift(cb); }
|
|
94
|
+
function addOnPostRun(cb) { __ATPOSTRUN__.unshift(cb); }
|
|
95
|
+
var runDependencies = 0;
|
|
96
|
+
var runDependencyWatcher = null;
|
|
97
|
+
var dependenciesFulfilled = null;
|
|
98
|
+
function addRunDependency(id) { runDependencies++; Module["monitorRunDependencies"]?.(runDependencies); }
|
|
99
|
+
function removeRunDependency(id) { runDependencies--; Module["monitorRunDependencies"]?.(runDependencies); if (runDependencies == 0) {
|
|
100
|
+
if (runDependencyWatcher !== null) {
|
|
101
|
+
clearInterval(runDependencyWatcher);
|
|
102
|
+
runDependencyWatcher = null;
|
|
103
|
+
}
|
|
104
|
+
if (dependenciesFulfilled) {
|
|
105
|
+
var callback = dependenciesFulfilled;
|
|
106
|
+
dependenciesFulfilled = null;
|
|
107
|
+
callback();
|
|
108
|
+
}
|
|
109
|
+
} }
|
|
110
|
+
function abort(what) { Module["onAbort"]?.(what); what = "Aborted(" + what + ")"; err(what); ABORT = true; EXITSTATUS = 1; what += ". Build with -sASSERTIONS for more info."; var e = new WebAssembly.RuntimeError(what); readyPromiseReject(e); throw e; }
|
|
111
|
+
var dataURIPrefix = "data:application/octet-stream;base64,";
|
|
112
|
+
var isDataURI = filename => filename.startsWith(dataURIPrefix);
|
|
113
|
+
var wasmBinaryFile;
|
|
114
|
+
wasmBinaryFile = "data:application/octet-stream;base64,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";
|
|
115
|
+
if (!isDataURI(wasmBinaryFile)) {
|
|
116
|
+
wasmBinaryFile = locateFile(wasmBinaryFile);
|
|
117
|
+
}
|
|
118
|
+
function getBinarySync(file) { if (file == wasmBinaryFile && wasmBinary) {
|
|
119
|
+
return new Uint8Array(wasmBinary);
|
|
120
|
+
} var binary = tryParseAsDataURI(file); if (binary) {
|
|
121
|
+
return binary;
|
|
122
|
+
} if (readBinary) {
|
|
123
|
+
return readBinary(file);
|
|
124
|
+
} throw "both async and sync fetching of the wasm failed"; }
|
|
125
|
+
function getBinaryPromise(binaryFile) { return Promise.resolve().then(() => getBinarySync(binaryFile)); }
|
|
126
|
+
function instantiateArrayBuffer(binaryFile, imports, receiver) { return getBinaryPromise(binaryFile).then(binary => WebAssembly.instantiate(binary, imports)).then(instance => instance).then(receiver, reason => { err(`failed to asynchronously prepare wasm: ${reason}`); abort(reason); }); }
|
|
127
|
+
function instantiateAsync(binary, binaryFile, imports, callback) { return instantiateArrayBuffer(binaryFile, imports, callback); }
|
|
128
|
+
function createWasm() { var info = { "a": wasmImports }; function receiveInstance(instance, module) { wasmExports = instance.exports; wasmMemory = wasmExports["b"]; updateMemoryViews(); addOnInit(wasmExports["c"]); removeRunDependency("wasm-instantiate"); return wasmExports; } addRunDependency("wasm-instantiate"); function receiveInstantiationResult(result) { receiveInstance(result["instance"]); } if (Module["instantiateWasm"]) {
|
|
129
|
+
try {
|
|
130
|
+
return Module["instantiateWasm"](info, receiveInstance);
|
|
131
|
+
}
|
|
132
|
+
catch (e) {
|
|
133
|
+
err(`Module.instantiateWasm callback failed with error: ${e}`);
|
|
134
|
+
readyPromiseReject(e);
|
|
135
|
+
}
|
|
136
|
+
} instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject); return {}; }
|
|
137
|
+
var callRuntimeCallbacks = callbacks => { while (callbacks.length > 0) {
|
|
138
|
+
callbacks.shift()(Module);
|
|
139
|
+
} };
|
|
140
|
+
var noExitRuntime = Module["noExitRuntime"] || true;
|
|
141
|
+
var getHeapMax = () => 2147483648;
|
|
142
|
+
var growMemory = size => { var b = wasmMemory.buffer; var pages = (size - b.byteLength + 65535) / 65536; try {
|
|
143
|
+
wasmMemory.grow(pages);
|
|
144
|
+
updateMemoryViews();
|
|
145
|
+
return 1;
|
|
146
|
+
}
|
|
147
|
+
catch (e) { } };
|
|
148
|
+
var _emscripten_resize_heap = requestedSize => { var oldSize = HEAPU8.length; requestedSize >>>= 0; var maxHeapSize = getHeapMax(); if (requestedSize > maxHeapSize) {
|
|
149
|
+
return false;
|
|
150
|
+
} var alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple; for (var cutDown = 1; cutDown <= 4; cutDown *= 2) {
|
|
151
|
+
var overGrownHeapSize = oldSize * (1 + .2 / cutDown);
|
|
152
|
+
overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);
|
|
153
|
+
var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));
|
|
154
|
+
var replacement = growMemory(newSize);
|
|
155
|
+
if (replacement) {
|
|
156
|
+
return true;
|
|
157
|
+
}
|
|
158
|
+
} return false; };
|
|
159
|
+
var getCFunc = ident => { var func = Module["_" + ident]; return func; };
|
|
160
|
+
var writeArrayToMemory = (array, buffer) => { HEAP8.set(array, buffer); };
|
|
161
|
+
var lengthBytesUTF8 = str => { var len = 0; for (var i = 0; i < str.length; ++i) {
|
|
162
|
+
var c = str.charCodeAt(i);
|
|
163
|
+
if (c <= 127) {
|
|
164
|
+
len++;
|
|
165
|
+
}
|
|
166
|
+
else if (c <= 2047) {
|
|
167
|
+
len += 2;
|
|
168
|
+
}
|
|
169
|
+
else if (c >= 55296 && c <= 57343) {
|
|
170
|
+
len += 4;
|
|
171
|
+
++i;
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
len += 3;
|
|
175
|
+
}
|
|
176
|
+
} return len; };
|
|
177
|
+
var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => { if (!(maxBytesToWrite > 0))
|
|
178
|
+
return 0; var startIdx = outIdx; var endIdx = outIdx + maxBytesToWrite - 1; for (var i = 0; i < str.length; ++i) {
|
|
179
|
+
var u = str.charCodeAt(i);
|
|
180
|
+
if (u >= 55296 && u <= 57343) {
|
|
181
|
+
var u1 = str.charCodeAt(++i);
|
|
182
|
+
u = 65536 + ((u & 1023) << 10) | u1 & 1023;
|
|
183
|
+
}
|
|
184
|
+
if (u <= 127) {
|
|
185
|
+
if (outIdx >= endIdx)
|
|
186
|
+
break;
|
|
187
|
+
heap[outIdx++] = u;
|
|
188
|
+
}
|
|
189
|
+
else if (u <= 2047) {
|
|
190
|
+
if (outIdx + 1 >= endIdx)
|
|
191
|
+
break;
|
|
192
|
+
heap[outIdx++] = 192 | u >> 6;
|
|
193
|
+
heap[outIdx++] = 128 | u & 63;
|
|
194
|
+
}
|
|
195
|
+
else if (u <= 65535) {
|
|
196
|
+
if (outIdx + 2 >= endIdx)
|
|
197
|
+
break;
|
|
198
|
+
heap[outIdx++] = 224 | u >> 12;
|
|
199
|
+
heap[outIdx++] = 128 | u >> 6 & 63;
|
|
200
|
+
heap[outIdx++] = 128 | u & 63;
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
if (outIdx + 3 >= endIdx)
|
|
204
|
+
break;
|
|
205
|
+
heap[outIdx++] = 240 | u >> 18;
|
|
206
|
+
heap[outIdx++] = 128 | u >> 12 & 63;
|
|
207
|
+
heap[outIdx++] = 128 | u >> 6 & 63;
|
|
208
|
+
heap[outIdx++] = 128 | u & 63;
|
|
209
|
+
}
|
|
210
|
+
} heap[outIdx] = 0; return outIdx - startIdx; };
|
|
211
|
+
var stringToUTF8 = (str, outPtr, maxBytesToWrite) => stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
|
|
212
|
+
var stringToUTF8OnStack = str => { var size = lengthBytesUTF8(str) + 1; var ret = stackAlloc(size); stringToUTF8(str, ret, size); return ret; };
|
|
213
|
+
var UTF8Decoder = typeof TextDecoder != "undefined" ? new TextDecoder("utf8") : undefined;
|
|
214
|
+
var UTF8ArrayToString = (heapOrArray, idx, maxBytesToRead) => { var endIdx = idx + maxBytesToRead; var endPtr = idx; while (heapOrArray[endPtr] && !(endPtr >= endIdx))
|
|
215
|
+
++endPtr; if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {
|
|
216
|
+
return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));
|
|
217
|
+
} var str = ""; while (idx < endPtr) {
|
|
218
|
+
var u0 = heapOrArray[idx++];
|
|
219
|
+
if (!(u0 & 128)) {
|
|
220
|
+
str += String.fromCharCode(u0);
|
|
221
|
+
continue;
|
|
222
|
+
}
|
|
223
|
+
var u1 = heapOrArray[idx++] & 63;
|
|
224
|
+
if ((u0 & 224) == 192) {
|
|
225
|
+
str += String.fromCharCode((u0 & 31) << 6 | u1);
|
|
226
|
+
continue;
|
|
227
|
+
}
|
|
228
|
+
var u2 = heapOrArray[idx++] & 63;
|
|
229
|
+
if ((u0 & 240) == 224) {
|
|
230
|
+
u0 = (u0 & 15) << 12 | u1 << 6 | u2;
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63;
|
|
234
|
+
}
|
|
235
|
+
if (u0 < 65536) {
|
|
236
|
+
str += String.fromCharCode(u0);
|
|
237
|
+
}
|
|
238
|
+
else {
|
|
239
|
+
var ch = u0 - 65536;
|
|
240
|
+
str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
|
|
241
|
+
}
|
|
242
|
+
} return str; };
|
|
243
|
+
var UTF8ToString = (ptr, maxBytesToRead) => ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
|
|
244
|
+
var ccall = (ident, returnType, argTypes, args, opts) => { var toC = { "string": str => { var ret = 0; if (str !== null && str !== undefined && str !== 0) {
|
|
245
|
+
ret = stringToUTF8OnStack(str);
|
|
246
|
+
} return ret; }, "array": arr => { var ret = stackAlloc(arr.length); writeArrayToMemory(arr, ret); return ret; } }; function convertReturnValue(ret) { if (returnType === "string") {
|
|
247
|
+
return UTF8ToString(ret);
|
|
248
|
+
} if (returnType === "boolean")
|
|
249
|
+
return Boolean(ret); return ret; } var func = getCFunc(ident); var cArgs = []; var stack = 0; if (args) {
|
|
250
|
+
for (var i = 0; i < args.length; i++) {
|
|
251
|
+
var converter = toC[argTypes[i]];
|
|
252
|
+
if (converter) {
|
|
253
|
+
if (stack === 0)
|
|
254
|
+
stack = stackSave();
|
|
255
|
+
cArgs[i] = converter(args[i]);
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
cArgs[i] = args[i];
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
} var ret = func.apply(null, cArgs); function onDone(ret) { if (stack !== 0)
|
|
262
|
+
stackRestore(stack); return convertReturnValue(ret); } ret = onDone(ret); return ret; };
|
|
263
|
+
var wasmImports = { a: _emscripten_resize_heap };
|
|
264
|
+
var wasmExports = createWasm();
|
|
265
|
+
var ___wasm_call_ctors = () => (___wasm_call_ctors = wasmExports["c"])();
|
|
266
|
+
var _ige256_encrypt = Module["_ige256_encrypt"] = (a0, a1, a2, a3, a4) => (_ige256_encrypt = Module["_ige256_encrypt"] = wasmExports["e"])(a0, a1, a2, a3, a4);
|
|
267
|
+
var _ige256_decrypt = Module["_ige256_decrypt"] = (a0, a1, a2, a3, a4) => (_ige256_decrypt = Module["_ige256_decrypt"] = wasmExports["f"])(a0, a1, a2, a3, a4);
|
|
268
|
+
var _ctr256 = Module["_ctr256"] = (a0, a1, a2, a3, a4) => (_ctr256 = Module["_ctr256"] = wasmExports["g"])(a0, a1, a2, a3, a4);
|
|
269
|
+
var _cbc256_encrypt = Module["_cbc256_encrypt"] = (a0, a1, a2, a3) => (_cbc256_encrypt = Module["_cbc256_encrypt"] = wasmExports["h"])(a0, a1, a2, a3);
|
|
270
|
+
var _cbc256_decrypt = Module["_cbc256_decrypt"] = (a0, a1, a2, a3) => (_cbc256_decrypt = Module["_cbc256_decrypt"] = wasmExports["i"])(a0, a1, a2, a3);
|
|
271
|
+
var ___errno_location = () => (___errno_location = wasmExports["__errno_location"])();
|
|
272
|
+
var _malloc = Module["_malloc"] = a0 => (_malloc = Module["_malloc"] = wasmExports["j"])(a0);
|
|
273
|
+
var _free = Module["_free"] = a0 => (_free = Module["_free"] = wasmExports["k"])(a0);
|
|
274
|
+
var stackSave = () => (stackSave = wasmExports["l"])();
|
|
275
|
+
var stackRestore = a0 => (stackRestore = wasmExports["m"])(a0);
|
|
276
|
+
var stackAlloc = a0 => (stackAlloc = wasmExports["n"])(a0);
|
|
277
|
+
Module["ccall"] = ccall;
|
|
278
|
+
var calledRun;
|
|
279
|
+
dependenciesFulfilled = function runCaller() { if (!calledRun)
|
|
280
|
+
run(); if (!calledRun)
|
|
281
|
+
dependenciesFulfilled = runCaller; };
|
|
282
|
+
function run() { if (runDependencies > 0) {
|
|
283
|
+
return;
|
|
284
|
+
} preRun(); if (runDependencies > 0) {
|
|
285
|
+
return;
|
|
286
|
+
} function doRun() { if (calledRun)
|
|
287
|
+
return; calledRun = true; Module["calledRun"] = true; if (ABORT)
|
|
288
|
+
return; initRuntime(); readyPromiseResolve(Module); if (Module["onRuntimeInitialized"])
|
|
289
|
+
Module["onRuntimeInitialized"](); postRun(); } if (Module["setStatus"]) {
|
|
290
|
+
Module["setStatus"]("Running...");
|
|
291
|
+
setTimeout(function () { setTimeout(function () { Module["setStatus"](""); }, 1); doRun(); }, 1);
|
|
292
|
+
}
|
|
293
|
+
else {
|
|
294
|
+
doRun();
|
|
295
|
+
} }
|
|
296
|
+
if (Module["preInit"]) {
|
|
297
|
+
if (typeof Module["preInit"] == "function")
|
|
298
|
+
Module["preInit"] = [Module["preInit"]];
|
|
299
|
+
while (Module["preInit"].length > 0) {
|
|
300
|
+
Module["preInit"].pop()();
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
run();
|
|
304
|
+
return moduleArg.ready;
|
|
305
|
+
});
|
|
306
|
+
})();
|
|
307
|
+
;
|
|
308
|
+
export default Module;
|
package/esm/mod.d.ts
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MTKruto - Cross-runtime JavaScript library for building Telegram clients
|
|
3
|
+
* Copyright (C) 2023-2024 Roj <https://roj.im/>
|
|
4
|
+
*
|
|
5
|
+
* This file is part of MTKruto.
|
|
6
|
+
*
|
|
7
|
+
* This program is free software: you can redistribute it and/or modify
|
|
8
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
9
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
10
|
+
* (at your option) any later version.
|
|
11
|
+
*
|
|
12
|
+
* This program is distributed in the hope that it will be useful,
|
|
13
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
15
|
+
* GNU Lesser General Public License for more details.
|
|
16
|
+
*
|
|
17
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
18
|
+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
19
|
+
*/
|
|
1
20
|
export * from "./0_errors.js";
|
|
2
|
-
export { getColorFromPeerId, getColorName, getRandomId, setLogVerbosity } from "./1_utilities.js";
|
|
21
|
+
export { getColorFromPeerId, getColorName, getRandomId, type LoggingProvider, setLoggingProvider, setLogVerbosity } from "./1_utilities.js";
|
|
3
22
|
export { checkPassword } from "./client/0_password.js";
|
|
4
23
|
export * from "./2_connection.js";
|
|
5
24
|
export * from "./3_storage.js";
|
package/esm/mod.js
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MTKruto - Cross-runtime JavaScript library for building Telegram clients
|
|
3
|
+
* Copyright (C) 2023-2024 Roj <https://roj.im/>
|
|
4
|
+
*
|
|
5
|
+
* This file is part of MTKruto.
|
|
6
|
+
*
|
|
7
|
+
* This program is free software: you can redistribute it and/or modify
|
|
8
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
9
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
10
|
+
* (at your option) any later version.
|
|
11
|
+
*
|
|
12
|
+
* This program is distributed in the hope that it will be useful,
|
|
13
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
15
|
+
* GNU Lesser General Public License for more details.
|
|
16
|
+
*
|
|
17
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
18
|
+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
19
|
+
*/
|
|
1
20
|
export * from "./0_errors.js";
|
|
2
|
-
export { getColorFromPeerId, getColorName, getRandomId, setLogVerbosity } from "./1_utilities.js";
|
|
21
|
+
export { getColorFromPeerId, getColorName, getRandomId, setLoggingProvider, setLogVerbosity } from "./1_utilities.js";
|
|
3
22
|
export { checkPassword } from "./client/0_password.js";
|
|
4
23
|
export * from "./2_connection.js";
|
|
5
24
|
export * from "./3_storage.js";
|
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MTKruto - Cross-runtime JavaScript library for building Telegram clients
|
|
3
|
+
* Copyright (C) 2023-2024 Roj <https://roj.im/>
|
|
4
|
+
*
|
|
5
|
+
* This file is part of MTKruto.
|
|
6
|
+
*
|
|
7
|
+
* This program is free software: you can redistribute it and/or modify
|
|
8
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
9
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
10
|
+
* (at your option) any later version.
|
|
11
|
+
*
|
|
12
|
+
* This program is distributed in the hope that it will be useful,
|
|
13
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
15
|
+
* GNU Lesser General Public License for more details.
|
|
16
|
+
*
|
|
17
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
18
|
+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
19
|
+
*/
|
|
1
20
|
import { MaybePromise } from "../1_utilities.js";
|
|
2
21
|
import { AnyEntity, enums, ReadObject, TLObject, types } from "../2_tl.js";
|
|
3
22
|
import { DC } from "../3_transport.js";
|
package/esm/storage/0_storage.js
CHANGED
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MTKruto - Cross-runtime JavaScript library for building Telegram clients
|
|
3
|
+
* Copyright (C) 2023-2024 Roj <https://roj.im/>
|
|
4
|
+
*
|
|
5
|
+
* This file is part of MTKruto.
|
|
6
|
+
*
|
|
7
|
+
* This program is free software: you can redistribute it and/or modify
|
|
8
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
9
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
10
|
+
* (at your option) any later version.
|
|
11
|
+
*
|
|
12
|
+
* This program is distributed in the hope that it will be useful,
|
|
13
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
15
|
+
* GNU Lesser General Public License for more details.
|
|
16
|
+
*
|
|
17
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
18
|
+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
19
|
+
*/
|
|
1
20
|
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
2
21
|
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
3
22
|
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
@@ -10,7 +29,8 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
29
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
30
|
};
|
|
12
31
|
var _Storage_instances, _Storage_authKeyId, _Storage_resetAuthKeyId, _Storage_accountId, _Storage_accountType, _Storage_getUpdateId;
|
|
13
|
-
import {
|
|
32
|
+
import { AssertionError, unreachable } from "../0_deps.js";
|
|
33
|
+
import { base64DecodeUrlSafe, base64EncodeUrlSafe, bigIntFromBuffer, rleDecode, rleEncode, sha1, ZERO_CHANNEL_ID } from "../1_utilities.js";
|
|
14
34
|
import { peerToChatId, serialize, TLObject, TLReader, TLWriter, types } from "../2_tl.js";
|
|
15
35
|
// key parts
|
|
16
36
|
export const K = {
|
|
@@ -132,7 +152,7 @@ export class Storage {
|
|
|
132
152
|
const channel = await this.getEntity(id);
|
|
133
153
|
if (channel) {
|
|
134
154
|
if (!(channel instanceof types.Channel) && !(channel instanceof types.ChannelForbidden)) {
|
|
135
|
-
|
|
155
|
+
unreachable();
|
|
136
156
|
}
|
|
137
157
|
return typeof channel.access_hash === "bigint" ? channel.access_hash : null;
|
|
138
158
|
}
|
|
@@ -144,7 +164,7 @@ export class Storage {
|
|
|
144
164
|
const user = await this.getEntity(id);
|
|
145
165
|
if (user) {
|
|
146
166
|
if (!(user instanceof types.User)) {
|
|
147
|
-
|
|
167
|
+
unreachable();
|
|
148
168
|
}
|
|
149
169
|
return typeof user.access_hash === "bigint" ? user.access_hash : null;
|
|
150
170
|
}
|
|
@@ -248,10 +268,10 @@ export class Storage {
|
|
|
248
268
|
async setAccountType(type) {
|
|
249
269
|
try {
|
|
250
270
|
await this.getAccountType();
|
|
251
|
-
|
|
271
|
+
unreachable();
|
|
252
272
|
}
|
|
253
273
|
catch (err) {
|
|
254
|
-
if (!(err instanceof
|
|
274
|
+
if (!(err instanceof AssertionError)) {
|
|
255
275
|
throw err;
|
|
256
276
|
}
|
|
257
277
|
else {
|
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MTKruto - Cross-runtime JavaScript library for building Telegram clients
|
|
3
|
+
* Copyright (C) 2023-2024 Roj <https://roj.im/>
|
|
4
|
+
*
|
|
5
|
+
* This file is part of MTKruto.
|
|
6
|
+
*
|
|
7
|
+
* This program is free software: you can redistribute it and/or modify
|
|
8
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
9
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
10
|
+
* (at your option) any later version.
|
|
11
|
+
*
|
|
12
|
+
* This program is distributed in the hope that it will be useful,
|
|
13
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
15
|
+
* GNU Lesser General Public License for more details.
|
|
16
|
+
*
|
|
17
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
18
|
+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
19
|
+
*/
|
|
1
20
|
import { StorageKeyPart } from "./0_storage.js";
|
|
2
21
|
export declare enum ValueType {
|
|
3
22
|
Boolean = 0,
|
|
@@ -8,7 +27,6 @@ export declare enum ValueType {
|
|
|
8
27
|
Uint8Array = 5,
|
|
9
28
|
Array = 6
|
|
10
29
|
}
|
|
11
|
-
export declare const WEB_STORAGE_PREFIX_EXP: RegExp;
|
|
12
30
|
export declare function toString(value: unknown): string;
|
|
13
31
|
export declare function fromString<T>(string: string): T;
|
|
14
32
|
export declare function fixKey(key: readonly StorageKeyPart[]): IDBValidKey[];
|
|
@@ -1,5 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MTKruto - Cross-runtime JavaScript library for building Telegram clients
|
|
3
|
+
* Copyright (C) 2023-2024 Roj <https://roj.im/>
|
|
4
|
+
*
|
|
5
|
+
* This file is part of MTKruto.
|
|
6
|
+
*
|
|
7
|
+
* This program is free software: you can redistribute it and/or modify
|
|
8
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
9
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
10
|
+
* (at your option) any later version.
|
|
11
|
+
*
|
|
12
|
+
* This program is distributed in the hope that it will be useful,
|
|
13
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
15
|
+
* GNU Lesser General Public License for more details.
|
|
16
|
+
*
|
|
17
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
18
|
+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
19
|
+
*/
|
|
1
20
|
import { decodeBase64, encodeBase64 } from "../0_deps.js";
|
|
2
|
-
import {
|
|
21
|
+
import { unreachable } from "../0_deps.js";
|
|
3
22
|
export var ValueType;
|
|
4
23
|
(function (ValueType) {
|
|
5
24
|
ValueType[ValueType["Boolean"] = 0] = "Boolean";
|
|
@@ -10,7 +29,6 @@ export var ValueType;
|
|
|
10
29
|
ValueType[ValueType["Uint8Array"] = 5] = "Uint8Array";
|
|
11
30
|
ValueType[ValueType["Array"] = 6] = "Array";
|
|
12
31
|
})(ValueType || (ValueType = {}));
|
|
13
|
-
export const WEB_STORAGE_PREFIX_EXP = /^[\d\w]+$/;
|
|
14
32
|
export function toString(value) {
|
|
15
33
|
if (typeof value === "boolean") {
|
|
16
34
|
return `${ValueType.Boolean}${Number(value)}`;
|
|
@@ -43,7 +61,7 @@ export function toString(value) {
|
|
|
43
61
|
return `${ValueType.Array}${items.join("\n")}`;
|
|
44
62
|
}
|
|
45
63
|
else {
|
|
46
|
-
|
|
64
|
+
unreachable();
|
|
47
65
|
}
|
|
48
66
|
}
|
|
49
67
|
export function fromString(string) {
|
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MTKruto - Cross-runtime JavaScript library for building Telegram clients
|
|
3
|
+
* Copyright (C) 2023-2024 Roj <https://roj.im/>
|
|
4
|
+
*
|
|
5
|
+
* This file is part of MTKruto.
|
|
6
|
+
*
|
|
7
|
+
* This program is free software: you can redistribute it and/or modify
|
|
8
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
9
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
10
|
+
* (at your option) any later version.
|
|
11
|
+
*
|
|
12
|
+
* This program is distributed in the hope that it will be useful,
|
|
13
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
15
|
+
* GNU Lesser General Public License for more details.
|
|
16
|
+
*
|
|
17
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
18
|
+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
19
|
+
*/
|
|
1
20
|
import { GetManyFilter, Storage, StorageKeyPart } from "./0_storage.js";
|
|
2
21
|
export interface StorageIndexedDBParams {
|
|
3
22
|
/** Whether to store files. Defaults to true. */
|