feat(core): export all methods in methods.js

This commit is contained in:
alina 🌸 2024-02-21 21:44:19 +03:00
parent 6c36cf2a72
commit 8c38f836dd
Signed by: teidesu
SSH key fingerprint: SHA256:uNeCpw6aTSU4aIObXLvHfLkDa82HWH9EiOj9AXOIRpI
3 changed files with 277 additions and 14 deletions

View file

@ -51,9 +51,9 @@
"import": "./esm/highlevel/*",
"require": "./cjs/highlevel/*"
},
"./methods/*": {
"import": "./esm/highlevel/methods/*",
"require": "./cjs/highlevel/methods/*"
"./methods.js": {
"import": "./esm/highlevel/methods.js",
"require": "./cjs/highlevel/methods.js"
}
}
},

View file

@ -185,6 +185,22 @@ function determineCommonAvailability(methods, resolver = (v) => v) {
return common
}
async function runPrettier(targetFile) {
const prettierConfig = await prettier.resolveConfig(targetFile)
let fullSource = await fs.promises.readFile(targetFile, 'utf-8')
fullSource = await prettier.format(fullSource, {
...(prettierConfig || {}),
filepath: targetFile,
})
await fs.promises.writeFile(targetFile, fullSource)
}
function runEslint(targetFile) {
require('child_process').execSync(`pnpm exec eslint --fix ${targetFile}`, {
stdio: 'inherit',
})
}
async function addSingleMethod(state, fileName) {
const fileFullText = await fs.promises.readFile(fileName, 'utf-8')
const program = ts.createSourceFile(path.basename(fileName), fileFullText, ts.ScriptTarget.ES2018, true)
@ -337,6 +353,7 @@ async function addSingleMethod(state, fileName) {
if (shouldEmit) {
state.methods.list.push({
from: relPath,
module,
name,
isPrivate,
isManual,
@ -715,19 +732,25 @@ on(name: string, handler: (...args: any[]) => void): this\n`)
})
state.impls.forEach(({ name, code }) => output.write(`TelegramClient.prototype.${name} = ${code}\n`))
// format the resulting file with prettier
const prettierConfig = await prettier.resolveConfig(targetFile)
let fullSource = await fs.promises.readFile(targetFile, 'utf-8')
fullSource = await prettier.format(fullSource, {
...(prettierConfig || {}),
filepath: targetFile,
})
await fs.promises.writeFile(targetFile, fullSource)
// write methods re-exports to separate file
const targetFileMethods = path.join(__dirname, '../src/highlevel/methods.ts')
const outputMethods = fs.createWriteStream(targetFileMethods)
// fix using eslint
require('child_process').execSync(`pnpm exec eslint --fix ${targetFile}`, {
stdio: 'inherit',
outputMethods.write('/* THIS FILE WAS AUTO-GENERATED */\n')
state.methods.list.forEach(({ module, name, overload }) => {
if (overload) return
outputMethods.write(`export { ${name} } from '${module}'\n`)
})
await new Promise((resolve) => { outputMethods.end(resolve) })
await new Promise((resolve) => { output.end(resolve) })
// format the resulting files with prettier and eslint
runPrettier(targetFile)
runPrettier(targetFileMethods)
runEslint(targetFile)
runEslint(targetFileMethods)
}
main().catch(console.error)

View file

@ -0,0 +1,240 @@
/* THIS FILE WAS AUTO-GENERATED */
export { checkPassword } from './methods/auth/check-password.js'
export { getPasswordHint } from './methods/auth/get-password-hint.js'
export { logOut } from './methods/auth/log-out.js'
export { recoverPassword } from './methods/auth/recover-password.js'
export { resendCode } from './methods/auth/resend-code.js'
export { run } from './methods/auth/run.js'
export { sendCode } from './methods/auth/send-code.js'
export { sendRecoveryCode } from './methods/auth/send-recovery-code.js'
export { signIn } from './methods/auth/sign-in.js'
export { signInBot } from './methods/auth/sign-in-bot.js'
export { start } from './methods/auth/start.js'
export { startTest } from './methods/auth/start-test.js'
export { isSelfPeer } from './methods/auth/utils.js'
export { answerCallbackQuery } from './methods/bots/answer-callback-query.js'
export { answerInlineQuery } from './methods/bots/answer-inline-query.js'
export { answerPreCheckoutQuery } from './methods/bots/answer-pre-checkout-query.js'
export { deleteMyCommands } from './methods/bots/delete-my-commands.js'
export { getBotInfo } from './methods/bots/get-bot-info.js'
export { getBotMenuButton } from './methods/bots/get-bot-menu-button.js'
export { getCallbackAnswer } from './methods/bots/get-callback-answer.js'
export { getGameHighScores } from './methods/bots/get-game-high-scores.js'
export { getInlineGameHighScores } from './methods/bots/get-game-high-scores.js'
export { getMyCommands } from './methods/bots/get-my-commands.js'
export { setBotInfo } from './methods/bots/set-bot-info.js'
export { setBotMenuButton } from './methods/bots/set-bot-menu-button.js'
export { setGameScore } from './methods/bots/set-game-score.js'
export { setInlineGameScore } from './methods/bots/set-game-score.js'
export { setMyCommands } from './methods/bots/set-my-commands.js'
export { setMyDefaultRights } from './methods/bots/set-my-default-rights.js'
export { addChatMembers } from './methods/chats/add-chat-members.js'
export { archiveChats } from './methods/chats/archive-chats.js'
export { banChatMember } from './methods/chats/ban-chat-member.js'
export { createChannel } from './methods/chats/create-channel.js'
export { createGroup } from './methods/chats/create-group.js'
export { createSupergroup } from './methods/chats/create-supergroup.js'
export { deleteChannel } from './methods/chats/delete-channel.js'
export { deleteChatPhoto } from './methods/chats/delete-chat-photo.js'
export { deleteGroup } from './methods/chats/delete-group.js'
export { deleteHistory } from './methods/chats/delete-history.js'
export { deleteUserHistory } from './methods/chats/delete-user-history.js'
export { editAdminRights } from './methods/chats/edit-admin-rights.js'
export { getChat } from './methods/chats/get-chat.js'
export { getChatEventLog } from './methods/chats/get-chat-event-log.js'
export { getChatMember } from './methods/chats/get-chat-member.js'
export { getChatMembers } from './methods/chats/get-chat-members.js'
export { getChatPreview } from './methods/chats/get-chat-preview.js'
export { getFullChat } from './methods/chats/get-full-chat.js'
export { getNearbyChats } from './methods/chats/get-nearby-chats.js'
export { getSimilarChannels } from './methods/chats/get-similar-channels.js'
export { iterChatEventLog } from './methods/chats/iter-chat-event-log.js'
export { iterChatMembers } from './methods/chats/iter-chat-members.js'
export { joinChat } from './methods/chats/join-chat.js'
export { kickChatMember } from './methods/chats/kick-chat-member.js'
export { leaveChat } from './methods/chats/leave-chat.js'
export { markChatUnread } from './methods/chats/mark-chat-unread.js'
export { openChat } from './methods/chats/open-chat.js'
export { closeChat } from './methods/chats/open-chat.js'
export { reorderUsernames } from './methods/chats/reorder-usernames.js'
export { restrictChatMember } from './methods/chats/restrict-chat-member.js'
export { saveDraft } from './methods/chats/save-draft.js'
export { setChatColor } from './methods/chats/set-chat-color.js'
export { setChatDefaultPermissions } from './methods/chats/set-chat-default-permissions.js'
export { setChatDescription } from './methods/chats/set-chat-description.js'
export { setChatPhoto } from './methods/chats/set-chat-photo.js'
export { setChatTitle } from './methods/chats/set-chat-title.js'
export { setChatTtl } from './methods/chats/set-chat-ttl.js'
export { setChatUsername } from './methods/chats/set-chat-username.js'
export { setSlowMode } from './methods/chats/set-slow-mode.js'
export { toggleContentProtection } from './methods/chats/toggle-content-protection.js'
export { toggleFragmentUsername } from './methods/chats/toggle-fragment-username.js'
export { toggleJoinRequests } from './methods/chats/toggle-join-requests.js'
export { toggleJoinToSend } from './methods/chats/toggle-join-to-send.js'
export { unarchiveChats } from './methods/chats/unarchive-chats.js'
export { unbanChatMember } from './methods/chats/unban-chat-member.js'
export { addContact } from './methods/contacts/add-contact.js'
export { deleteContacts } from './methods/contacts/delete-contacts.js'
export { getContacts } from './methods/contacts/get-contacts.js'
export { importContacts } from './methods/contacts/import-contacts.js'
export { createFolder } from './methods/dialogs/create-folder.js'
export { deleteFolder } from './methods/dialogs/delete-folder.js'
export { editFolder } from './methods/dialogs/edit-folder.js'
export { findFolder } from './methods/dialogs/find-folder.js'
export { getFolders } from './methods/dialogs/get-folders.js'
export { getPeerDialogs } from './methods/dialogs/get-peer-dialogs.js'
export { iterDialogs } from './methods/dialogs/iter-dialogs.js'
export { setFoldersOrder } from './methods/dialogs/set-folders-order.js'
export { downloadAsBuffer } from './methods/files/download-buffer.js'
export { downloadToFile } from './methods/files/download-file.js'
export { downloadAsIterable } from './methods/files/download-iterable.js'
export { downloadAsStream } from './methods/files/download-stream.js'
export { _normalizeInputFile } from './methods/files/normalize-input-file.js'
export { _normalizeInputMedia } from './methods/files/normalize-input-media.js'
export { uploadFile } from './methods/files/upload-file.js'
export { uploadMedia } from './methods/files/upload-media.js'
export { createForumTopic } from './methods/forums/create-forum-topic.js'
export { deleteForumTopicHistory } from './methods/forums/delete-forum-topic-history.js'
export { editForumTopic } from './methods/forums/edit-forum-topic.js'
export { getForumTopics } from './methods/forums/get-forum-topics.js'
export { getForumTopicsById } from './methods/forums/get-forum-topics-by-id.js'
export { iterForumTopics } from './methods/forums/iter-forum-topics.js'
export { reorderPinnedForumTopics } from './methods/forums/reorder-pinned-forum-topics.js'
export { toggleForum } from './methods/forums/toggle-forum.js'
export { toggleForumTopicClosed } from './methods/forums/toggle-forum-topic-closed.js'
export { toggleForumTopicPinned } from './methods/forums/toggle-forum-topic-pinned.js'
export { toggleGeneralTopicHidden } from './methods/forums/toggle-general-topic-hidden.js'
export { createInviteLink } from './methods/invite-links/create-invite-link.js'
export { editInviteLink } from './methods/invite-links/edit-invite-link.js'
export { exportInviteLink } from './methods/invite-links/export-invite-link.js'
export { getInviteLink } from './methods/invite-links/get-invite-link.js'
export { getInviteLinkMembers } from './methods/invite-links/get-invite-link-members.js'
export { getInviteLinks } from './methods/invite-links/get-invite-links.js'
export { getPrimaryInviteLink } from './methods/invite-links/get-primary-invite-link.js'
export { hideAllJoinRequests } from './methods/invite-links/hide-all-join-requests.js'
export { hideJoinRequest } from './methods/invite-links/hide-join-request.js'
export { iterInviteLinkMembers } from './methods/invite-links/iter-invite-link-members.js'
export { iterInviteLinks } from './methods/invite-links/iter-invite-links.js'
export { revokeInviteLink } from './methods/invite-links/revoke-invite-link.js'
export { closePoll } from './methods/messages/close-poll.js'
export { deleteMessagesById } from './methods/messages/delete-messages.js'
export { deleteMessages } from './methods/messages/delete-messages.js'
export { deleteScheduledMessages } from './methods/messages/delete-scheduled-messages.js'
export { editInlineMessage } from './methods/messages/edit-inline-message.js'
export { editMessage } from './methods/messages/edit-message.js'
export { forwardMessagesById } from './methods/messages/forward-messages.js'
export { forwardMessages } from './methods/messages/forward-messages.js'
export { getCallbackQueryMessage } from './methods/messages/get-callback-query-message.js'
export { getDiscussionMessage } from './methods/messages/get-discussion-message.js'
export { getHistory } from './methods/messages/get-history.js'
export { getMessageByLink } from './methods/messages/get-message-by-link.js'
export { getMessageGroup } from './methods/messages/get-message-group.js'
export { getMessageReactionsById } from './methods/messages/get-message-reactions.js'
export { getMessageReactions } from './methods/messages/get-message-reactions.js'
export { getMessages } from './methods/messages/get-messages.js'
export { getMessagesUnsafe } from './methods/messages/get-messages-unsafe.js'
export { getReactionUsers } from './methods/messages/get-reaction-users.js'
export { getReplyTo } from './methods/messages/get-reply-to.js'
export { getScheduledMessages } from './methods/messages/get-scheduled-messages.js'
export { iterHistory } from './methods/messages/iter-history.js'
export { iterReactionUsers } from './methods/messages/iter-reaction-users.js'
export { iterSearchGlobal } from './methods/messages/iter-search-global.js'
export { iterSearchMessages } from './methods/messages/iter-search-messages.js'
export { pinMessage } from './methods/messages/pin-message.js'
export { readHistory } from './methods/messages/read-history.js'
export { readReactions } from './methods/messages/read-reactions.js'
export { searchGlobal } from './methods/messages/search-global.js'
export { searchMessages } from './methods/messages/search-messages.js'
export { answerText } from './methods/messages/send-answer.js'
export { answerMedia } from './methods/messages/send-answer.js'
export { answerMediaGroup } from './methods/messages/send-answer.js'
export { commentText } from './methods/messages/send-comment.js'
export { commentMedia } from './methods/messages/send-comment.js'
export { commentMediaGroup } from './methods/messages/send-comment.js'
export { sendCopy } from './methods/messages/send-copy.js'
export { sendCopyGroup } from './methods/messages/send-copy-group.js'
export { sendMedia } from './methods/messages/send-media.js'
export { sendMediaGroup } from './methods/messages/send-media-group.js'
export { quoteWithText } from './methods/messages/send-quote.js'
export { quoteWithMedia } from './methods/messages/send-quote.js'
export { quoteWithMediaGroup } from './methods/messages/send-quote.js'
export { sendReaction } from './methods/messages/send-reaction.js'
export { replyText } from './methods/messages/send-reply.js'
export { replyMedia } from './methods/messages/send-reply.js'
export { replyMediaGroup } from './methods/messages/send-reply.js'
export { sendScheduled } from './methods/messages/send-scheduled.js'
export { sendText } from './methods/messages/send-text.js'
export { sendTyping } from './methods/messages/send-typing.js'
export { sendVote } from './methods/messages/send-vote.js'
export { translateMessage } from './methods/messages/translate-message.js'
export { translateText } from './methods/messages/translate-text.js'
export { unpinAllMessages } from './methods/messages/unpin-all-messages.js'
export { unpinMessage } from './methods/messages/unpin-message.js'
export { initTakeoutSession } from './methods/misc/init-takeout-session.js'
export { _normalizePrivacyRules } from './methods/misc/normalize-privacy-rules.js'
export { changeCloudPassword } from './methods/password/change-cloud-password.js'
export { enableCloudPassword } from './methods/password/enable-cloud-password.js'
export { verifyPasswordEmail } from './methods/password/password-email.js'
export { resendPasswordEmail } from './methods/password/password-email.js'
export { cancelPasswordEmail } from './methods/password/password-email.js'
export { removeCloudPassword } from './methods/password/remove-cloud-password.js'
export { applyBoost } from './methods/premium/apply-boost.js'
export { canApplyBoost } from './methods/premium/can-apply-boost.js'
export { getBoostStats } from './methods/premium/get-boost-stats.js'
export { getBoosts } from './methods/premium/get-boosts.js'
export { getMyBoostSlots } from './methods/premium/get-my-boost-slots.js'
export { iterBoosters } from './methods/premium/iter-boosters.js'
export { addStickerToSet } from './methods/stickers/add-sticker-to-set.js'
export { createStickerSet } from './methods/stickers/create-sticker-set.js'
export { deleteStickerFromSet } from './methods/stickers/delete-sticker-from-set.js'
export { getCustomEmojis } from './methods/stickers/get-custom-emojis.js'
export { getCustomEmojisFromMessages } from './methods/stickers/get-custom-emojis.js'
export { getInstalledStickers } from './methods/stickers/get-installed-stickers.js'
export { getStickerSet } from './methods/stickers/get-sticker-set.js'
export { moveStickerInSet } from './methods/stickers/move-sticker-in-set.js'
export { setChatStickerSet } from './methods/stickers/set-chat-sticker-set.js'
export { setStickerSetThumb } from './methods/stickers/set-sticker-set-thumb.js'
export { canSendStory } from './methods/stories/can-send-story.js'
export { deleteStories } from './methods/stories/delete-stories.js'
export { editStory } from './methods/stories/edit-story.js'
export { getAllStories } from './methods/stories/get-all-stories.js'
export { getPeerStories } from './methods/stories/get-peer-stories.js'
export { getProfileStories } from './methods/stories/get-profile-stories.js'
export { getStoriesById } from './methods/stories/get-stories-by-id.js'
export { getStoriesInteractions } from './methods/stories/get-stories-interactions.js'
export { getStoryLink } from './methods/stories/get-story-link.js'
export { getStoryViewers } from './methods/stories/get-story-viewers.js'
export { hideMyStoriesViews } from './methods/stories/hide-my-stories-views.js'
export { incrementStoriesViews } from './methods/stories/increment-stories-views.js'
export { iterAllStories } from './methods/stories/iter-all-stories.js'
export { iterProfileStories } from './methods/stories/iter-profile-stories.js'
export { iterStoryViewers } from './methods/stories/iter-story-viewers.js'
export { readStories } from './methods/stories/read-stories.js'
export { reportStory } from './methods/stories/report-story.js'
export { sendStory } from './methods/stories/send-story.js'
export { sendStoryReaction } from './methods/stories/send-story-reaction.js'
export { togglePeerStoriesArchived } from './methods/stories/toggle-peer-stories-archived.js'
export { toggleStoriesPinned } from './methods/stories/toggle-stories-pinned.js'
export { blockUser } from './methods/users/block-user.js'
export { deleteProfilePhotos } from './methods/users/delete-profile-photos.js'
export { editCloseFriendsRaw } from './methods/users/edit-close-friends.js'
export { editCloseFriends } from './methods/users/edit-close-friends.js'
export { getCommonChats } from './methods/users/get-common-chats.js'
export { getGlobalTtl } from './methods/users/get-global-ttl.js'
export { getMe } from './methods/users/get-me.js'
export { getMyUsername } from './methods/users/get-my-username.js'
export { getProfilePhoto } from './methods/users/get-profile-photo.js'
export { getProfilePhotos } from './methods/users/get-profile-photos.js'
export { getUsers } from './methods/users/get-users.js'
export { iterProfilePhotos } from './methods/users/iter-profile-photos.js'
export { resolvePeer } from './methods/users/resolve-peer.js'
export { resolveUser } from './methods/users/resolve-peer.js'
export { resolveChannel } from './methods/users/resolve-peer.js'
export { resolvePeerMany } from './methods/users/resolve-peer-many.js'
export { setGlobalTtl } from './methods/users/set-global-ttl.js'
export { setMyEmojiStatus } from './methods/users/set-my-emoji-status.js'
export { setMyProfilePhoto } from './methods/users/set-my-profile-photo.js'
export { setMyUsername } from './methods/users/set-my-username.js'
export { setOffline } from './methods/users/set-offline.js'
export { unblockUser } from './methods/users/unblock-user.js'
export { updateProfile } from './methods/users/update-profile.js'