@vkontakte/api-schema-typescript-generator 0.16.0 → 0.17.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.
- package/.github/CODEOWNERS +1 -1
- package/.github/workflows/publish.yml +6 -5
- package/.github/workflows/pull_request.yml +2 -2
- package/.nvmrc +1 -0
- package/LICENSE +1 -1
- package/dist/cli.js +1 -2
- package/dist/common/common.js +7 -0
- package/dist/common/errors.js +1023 -0
- package/dist/generator.js +1 -2
- package/dist/generators/APITypingsGenerator.js +125 -6
- package/dist/generators/enums.js +5 -6
- package/dist/generators/methods.js +1 -2
- package/dist/generators/typeString.js +1 -2
- package/dist/generators/utils/mergeImports.js +1 -2
- package/dist/helpers.js +34 -25
- package/dist/index.js +359 -85
- package/dist/log.js +4 -5
- package/dist/methods/account.js +5 -0
- package/dist/methods/ads.js +10 -0
- package/dist/methods/appWidgets.js +5 -0
- package/dist/methods/apps.js +5 -0
- package/dist/methods/auth.js +10 -0
- package/dist/methods/board.js +5 -0
- package/dist/methods/bugtracker.js +5 -0
- package/dist/methods/calls.js +5 -0
- package/dist/methods/database.js +5 -0
- package/dist/methods/docs.js +5 -0
- package/dist/methods/donut.js +5 -0
- package/dist/methods/downloadedGames.js +5 -0
- package/dist/methods/execute.js +5 -0
- package/dist/methods/fave.js +5 -0
- package/dist/methods/friends.js +28 -0
- package/dist/methods/gifts.js +5 -0
- package/dist/methods/groups.js +5 -0
- package/dist/methods/leadForms.js +5 -0
- package/dist/methods/likes.js +5 -0
- package/dist/methods/market.js +5 -0
- package/dist/methods/messages.js +5 -0
- package/dist/methods/newsfeed.js +5 -0
- package/dist/methods/notes.js +5 -0
- package/dist/methods/notifications.js +5 -0
- package/dist/methods/orders.js +5 -0
- package/dist/methods/pages.js +5 -0
- package/dist/methods/photos.js +5 -0
- package/dist/methods/podcasts.js +5 -0
- package/dist/methods/polls.js +5 -0
- package/dist/methods/prettyCards.js +5 -0
- package/dist/methods/search.js +5 -0
- package/dist/methods/secure.js +5 -0
- package/dist/methods/stats.js +5 -0
- package/dist/methods/status.js +5 -0
- package/dist/methods/storage.js +5 -0
- package/dist/methods/store.js +5 -0
- package/dist/methods/stories.js +5 -0
- package/dist/methods/streaming.js +5 -0
- package/dist/methods/translations.js +5 -0
- package/dist/methods/users.js +5 -0
- package/dist/methods/utils.js +5 -0
- package/dist/methods/video.js +5 -0
- package/dist/methods/wall.js +5 -0
- package/dist/methods/widgets.js +5 -0
- package/dist/objects/account/AccountAccountCounters.js +5 -0
- package/dist/objects/account/AccountCountersFilter.js +5 -0
- package/dist/objects/account/AccountInfo.js +5 -0
- package/dist/objects/account/AccountNameRequest.js +5 -0
- package/dist/objects/account/AccountNameRequestStatus.js +5 -0
- package/dist/objects/account/AccountOffer.js +5 -0
- package/dist/objects/account/AccountPushConversations.js +5 -0
- package/dist/objects/account/AccountPushConversationsItem.js +5 -0
- package/dist/objects/account/AccountPushParams.js +5 -0
- package/dist/objects/account/AccountPushParamsMode.js +5 -0
- package/dist/objects/account/AccountPushParamsOnoff.js +5 -0
- package/dist/objects/account/AccountPushParamsSettings.js +5 -0
- package/dist/objects/account/AccountPushSettings.js +5 -0
- package/dist/objects/account/AccountUserSettings.js +5 -0
- package/dist/objects/account/AccountUserSettingsInterest.js +5 -0
- package/dist/objects/account/AccountUserSettingsInterests.js +5 -0
- package/dist/objects/address/AddressFields.js +5 -0
- package/dist/objects/ads/AdsAccessRole.js +5 -0
- package/dist/objects/ads/AdsAccessRolePublic.js +5 -0
- package/dist/objects/ads/AdsAccesses.js +5 -0
- package/dist/objects/ads/AdsAccount.js +5 -0
- package/dist/objects/ads/AdsAccountType.js +5 -0
- package/dist/objects/ads/AdsAd.js +5 -0
- package/dist/objects/ads/AdsAdApproved.js +13 -0
- package/dist/objects/ads/AdsAdCostType.js +13 -0
- package/dist/objects/ads/AdsAdLayout.js +5 -0
- package/dist/objects/ads/AdsAdStatus.js +12 -0
- package/dist/objects/ads/AdsCampaign.js +5 -0
- package/dist/objects/ads/AdsCampaignStatus.js +12 -0
- package/dist/objects/ads/AdsCampaignType.js +5 -0
- package/dist/objects/ads/AdsCategory.js +5 -0
- package/dist/objects/ads/AdsClient.js +5 -0
- package/dist/objects/ads/AdsClipItem.js +5 -0
- package/dist/objects/ads/AdsClipItemLink.js +5 -0
- package/dist/objects/ads/AdsCreateAdStatus.js +5 -0
- package/dist/objects/ads/AdsCreateCampaignStatus.js +5 -0
- package/dist/objects/ads/AdsCreateClientsStatus.js +5 -0
- package/dist/objects/ads/AdsCriteriaSex.js +12 -0
- package/dist/objects/ads/AdsDemoStats.js +5 -0
- package/dist/objects/ads/AdsDemostatsFormat.js +5 -0
- package/dist/objects/ads/AdsEventsRetargetingGroup.js +5 -0
- package/dist/objects/ads/AdsFloodStats.js +5 -0
- package/dist/objects/ads/AdsFloodStatsByUserItem.js +5 -0
- package/dist/objects/ads/AdsLinkStatus.js +5 -0
- package/dist/objects/ads/AdsLookalikeRequest.js +5 -0
- package/dist/objects/ads/AdsLookalikeRequestSaveAudienceLevel.js +5 -0
- package/dist/objects/ads/AdsMobileStatItem.js +5 -0
- package/dist/objects/ads/AdsMusician.js +5 -0
- package/dist/objects/ads/AdsObjectType.js +5 -0
- package/dist/objects/ads/AdsOrdClientType.js +5 -0
- package/dist/objects/ads/AdsOrdData.js +5 -0
- package/dist/objects/ads/AdsOrdSubagent.js +5 -0
- package/dist/objects/ads/AdsPost.js +5 -0
- package/dist/objects/ads/AdsPostComments.js +5 -0
- package/dist/objects/ads/AdsPostDonut.js +5 -0
- package/dist/objects/ads/AdsPostEasyPromote.js +5 -0
- package/dist/objects/ads/AdsPostLikes.js +5 -0
- package/dist/objects/ads/AdsPostOwner.js +5 -0
- package/dist/objects/ads/AdsPostReposts.js +5 -0
- package/dist/objects/ads/AdsPostViews.js +5 -0
- package/dist/objects/ads/AdsPromotedPostReach.js +5 -0
- package/dist/objects/ads/AdsRejectReason.js +5 -0
- package/dist/objects/ads/AdsRules.js +5 -0
- package/dist/objects/ads/AdsStats.js +5 -0
- package/dist/objects/ads/AdsStatsAge.js +5 -0
- package/dist/objects/ads/AdsStatsCities.js +5 -0
- package/dist/objects/ads/AdsStatsFormat.js +5 -0
- package/dist/objects/ads/AdsStatsSex.js +5 -0
- package/dist/objects/ads/AdsStatsSexAge.js +5 -0
- package/dist/objects/ads/AdsStatsSexValue.js +5 -0
- package/dist/objects/ads/AdsStatsViewsTimes.js +5 -0
- package/dist/objects/ads/AdsStories.js +5 -0
- package/dist/objects/ads/AdsStoriesOwner.js +5 -0
- package/dist/objects/ads/AdsStoryItem.js +5 -0
- package/dist/objects/ads/AdsStoryItemLink.js +5 -0
- package/dist/objects/ads/AdsStoryItemStats.js +5 -0
- package/dist/objects/ads/AdsStoryItemStatsFollow.js +5 -0
- package/dist/objects/ads/AdsStoryItemStatsUrlView.js +5 -0
- package/dist/objects/ads/AdsTargSettings.js +5 -0
- package/dist/objects/ads/AdsTargStats.js +5 -0
- package/dist/objects/ads/AdsTargSuggestions.js +5 -0
- package/dist/objects/ads/AdsTargSuggestionsCities.js +5 -0
- package/dist/objects/ads/AdsTargSuggestionsRegions.js +5 -0
- package/dist/objects/ads/AdsTargSuggestionsSchools.js +5 -0
- package/dist/objects/ads/AdsTargSuggestionsSchoolsType.js +5 -0
- package/dist/objects/ads/AdsTargetGroup.js +5 -0
- package/dist/objects/ads/AdsTargetGroupTargetPixelRule.js +5 -0
- package/dist/objects/ads/AdsTargetPixelInfo.js +5 -0
- package/dist/objects/ads/AdsUpdateAdsStatus.js +5 -0
- package/dist/objects/ads/AdsUpdateClientsStatus.js +5 -0
- package/dist/objects/ads/AdsUpdateOfficeUsersResult.js +5 -0
- package/dist/objects/ads/AdsUserSpecification.js +5 -0
- package/dist/objects/ads/AdsUserSpecificationCutted.js +5 -0
- package/dist/objects/ads/AdsUsers.js +5 -0
- package/dist/objects/appWidgets/AppWidgetsPhoto.js +5 -0
- package/dist/objects/appWidgets/AppWidgetsPhotos.js +5 -0
- package/dist/objects/apps/AppsApp.js +5 -0
- package/dist/objects/apps/AppsAppFields.js +5 -0
- package/dist/objects/apps/AppsAppLeaderboardType.js +12 -0
- package/dist/objects/apps/AppsAppMin.js +5 -0
- package/dist/objects/apps/AppsAppType.js +5 -0
- package/dist/objects/apps/AppsCatalogList.js +5 -0
- package/dist/objects/apps/AppsCustomSnippet.js +5 -0
- package/dist/objects/apps/AppsLeaderboard.js +5 -0
- package/dist/objects/apps/AppsScope.js +5 -0
- package/dist/objects/apps/AppsTestingGroup.js +5 -0
- package/dist/objects/audio/AudioAudio.js +5 -0
- package/dist/objects/base/BaseCity.js +5 -0
- package/dist/objects/base/BaseCommentsInfo.js +5 -0
- package/dist/objects/base/BaseCountry.js +5 -0
- package/dist/objects/base/BaseCropPhoto.js +5 -0
- package/dist/objects/base/BaseCropPhotoCrop.js +5 -0
- package/dist/objects/base/BaseCropPhotoRect.js +5 -0
- package/dist/objects/base/BaseError.js +5 -0
- package/dist/objects/base/BaseGeo.js +5 -0
- package/dist/objects/base/BaseGeoCoordinates.js +5 -0
- package/dist/objects/base/BaseGradientPoint.js +5 -0
- package/dist/objects/base/BaseImage.js +5 -0
- package/dist/objects/base/BaseLang.js +5 -0
- package/dist/objects/base/BaseLikes.js +5 -0
- package/dist/objects/base/BaseLikesInfo.js +5 -0
- package/dist/objects/base/BaseLink.js +5 -0
- package/dist/objects/base/BaseLinkApplication.js +5 -0
- package/dist/objects/base/BaseLinkApplicationStore.js +5 -0
- package/dist/objects/base/BaseLinkButton.js +5 -0
- package/dist/objects/base/BaseLinkButtonAction.js +5 -0
- package/dist/objects/base/BaseLinkButtonActionType.js +5 -0
- package/dist/objects/base/BaseLinkButtonStyle.js +5 -0
- package/dist/objects/base/BaseLinkProduct.js +5 -0
- package/dist/objects/base/BaseLinkProductStatus.js +5 -0
- package/dist/objects/base/BaseLinkRating.js +5 -0
- package/dist/objects/base/BaseMessageError.js +5 -0
- package/dist/objects/base/BaseNameCase.js +5 -0
- package/dist/objects/base/BaseObject.js +5 -0
- package/dist/objects/base/BaseObjectCount.js +5 -0
- package/dist/objects/base/BaseObjectWithName.js +5 -0
- package/dist/objects/base/BaseOwnerCover.js +5 -0
- package/dist/objects/base/BaseOwnerCoverCropParams.js +5 -0
- package/dist/objects/base/BasePlace.js +5 -0
- package/dist/objects/base/BaseRepostsInfo.js +5 -0
- package/dist/objects/base/BaseRequestParam.js +5 -0
- package/dist/objects/base/BaseSex.js +12 -0
- package/dist/objects/base/BaseSticker.js +5 -0
- package/dist/objects/base/BaseStickerAnimation.js +5 -0
- package/dist/objects/base/BaseStickerNew.js +5 -0
- package/dist/objects/base/BaseUploadServer.js +5 -0
- package/dist/objects/base/BaseUserGroupFields.js +5 -0
- package/dist/objects/base/BaseUserId.js +5 -0
- package/dist/objects/board/BoardDefaultOrder.js +13 -0
- package/dist/objects/board/BoardTopic.js +5 -0
- package/dist/objects/board/BoardTopicComment.js +5 -0
- package/dist/objects/bugtracker/BugtrackerAddCompanyGroupsMembersError.js +5 -0
- package/dist/objects/bugtracker/BugtrackerAttachment.js +5 -0
- package/dist/objects/bugtracker/BugtrackerBugreport.js +11 -0
- package/dist/objects/bugtracker/BugtrackerBugreportSubscribeState.js +5 -0
- package/dist/objects/bugtracker/BugtrackerComment.js +5 -0
- package/dist/objects/bugtracker/BugtrackerCommentAuthor.js +5 -0
- package/dist/objects/bugtracker/BugtrackerCompanyMember.js +5 -0
- package/dist/objects/bugtracker/BugtrackerCompanyMemberProduct.js +5 -0
- package/dist/objects/calls/CallsCall.js +5 -0
- package/dist/objects/calls/CallsEndState.js +5 -0
- package/dist/objects/calls/CallsParticipants.js +5 -0
- package/dist/objects/calls/CallsShortCredentials.js +5 -0
- package/dist/objects/comment/CommentThread.js +5 -0
- package/dist/objects/database/DatabaseCitiesFields.js +5 -0
- package/dist/objects/database/DatabaseCity.js +5 -0
- package/dist/objects/database/DatabaseCityById.js +5 -0
- package/dist/objects/database/DatabaseFaculty.js +5 -0
- package/dist/objects/database/DatabaseLanguageFull.js +5 -0
- package/dist/objects/database/DatabaseRegion.js +5 -0
- package/dist/objects/database/DatabaseSchool.js +5 -0
- package/dist/objects/database/DatabaseSchoolClass.js +5 -0
- package/dist/objects/database/DatabaseStation.js +5 -0
- package/dist/objects/database/DatabaseUniversity.js +5 -0
- package/dist/objects/docs/DocsDoc.js +5 -0
- package/dist/objects/docs/DocsDocAttachmentType.js +5 -0
- package/dist/objects/docs/DocsDocPreview.js +5 -0
- package/dist/objects/docs/DocsDocPreviewAudioMsg.js +5 -0
- package/dist/objects/docs/DocsDocPreviewGraffiti.js +5 -0
- package/dist/objects/docs/DocsDocPreviewPhoto.js +5 -0
- package/dist/objects/docs/DocsDocPreviewPhotoSizes.js +5 -0
- package/dist/objects/docs/DocsDocPreviewVideo.js +5 -0
- package/dist/objects/docs/DocsDocTypes.js +5 -0
- package/dist/objects/donut/DonutDonatorSubscriptionInfo.js +5 -0
- package/dist/objects/events/EventsEventAttach.js +5 -0
- package/dist/objects/fave/FaveBookmark.js +5 -0
- package/dist/objects/fave/FaveBookmarkType.js +5 -0
- package/dist/objects/fave/FavePage.js +5 -0
- package/dist/objects/fave/FavePageType.js +5 -0
- package/dist/objects/fave/FaveTag.js +5 -0
- package/dist/objects/friends/FriendsFriendExtendedStatus.js +5 -0
- package/dist/objects/friends/FriendsFriendStatus.js +5 -0
- package/dist/objects/friends/FriendsFriendStatusStatus.js +13 -0
- package/dist/objects/friends/FriendsFriendsList.js +5 -0
- package/dist/objects/friends/FriendsMutualFriend.js +5 -0
- package/dist/objects/friends/FriendsOnlineUsers.js +5 -0
- package/dist/objects/friends/FriendsOnlineUsersWithMobile.js +5 -0
- package/dist/objects/friends/FriendsRequestsMutual.js +5 -0
- package/dist/objects/friends/FriendsRequestsXtrMessage.js +5 -0
- package/dist/objects/friends/FriendsRequestsXtrMutual.js +5 -0
- package/dist/objects/gifts/GiftsGift.js +5 -0
- package/dist/objects/gifts/GiftsGiftPrivacy.js +12 -0
- package/dist/objects/gifts/GiftsLayout.js +5 -0
- package/dist/objects/groups/GroupsAddress.js +5 -0
- package/dist/objects/groups/GroupsAddressTimetable.js +5 -0
- package/dist/objects/groups/GroupsAddressTimetableDay.js +5 -0
- package/dist/objects/groups/GroupsAddressWorkInfoStatus.js +5 -0
- package/dist/objects/groups/GroupsAddressesInfo.js +5 -0
- package/dist/objects/groups/GroupsBanInfo.js +5 -0
- package/dist/objects/groups/GroupsBanInfoReason.js +14 -0
- package/dist/objects/groups/GroupsCallbackServer.js +5 -0
- package/dist/objects/groups/GroupsCallbackSettings.js +5 -0
- package/dist/objects/groups/GroupsContactsItem.js +5 -0
- package/dist/objects/groups/GroupsCountersGroup.js +5 -0
- package/dist/objects/groups/GroupsFields.js +5 -0
- package/dist/objects/groups/GroupsFilter.js +5 -0
- package/dist/objects/groups/GroupsGroup.js +5 -0
- package/dist/objects/groups/GroupsGroupAccess.js +12 -0
- package/dist/objects/groups/GroupsGroupAdminLevel.js +12 -0
- package/dist/objects/groups/GroupsGroupAgeLimits.js +12 -0
- package/dist/objects/groups/GroupsGroupAttach.js +5 -0
- package/dist/objects/groups/GroupsGroupAudio.js +12 -0
- package/dist/objects/groups/GroupsGroupBanInfo.js +5 -0
- package/dist/objects/groups/GroupsGroupCategory.js +5 -0
- package/dist/objects/groups/GroupsGroupCategoryFull.js +5 -0
- package/dist/objects/groups/GroupsGroupCategoryType.js +5 -0
- package/dist/objects/groups/GroupsGroupDocs.js +12 -0
- package/dist/objects/groups/GroupsGroupFull.js +13 -0
- package/dist/objects/groups/GroupsGroupFullAgeLimits.js +12 -0
- package/dist/objects/groups/GroupsGroupFullMemberStatus.js +15 -0
- package/dist/objects/groups/GroupsGroupFullSection.js +58 -0
- package/dist/objects/groups/GroupsGroupIsClosed.js +12 -0
- package/dist/objects/groups/GroupsGroupMarketCurrency.js +14 -0
- package/dist/objects/groups/GroupsGroupPhotos.js +12 -0
- package/dist/objects/groups/GroupsGroupPublicCategoryList.js +5 -0
- package/dist/objects/groups/GroupsGroupRole.js +5 -0
- package/dist/objects/groups/GroupsGroupSubcategory.js +5 -0
- package/dist/objects/groups/GroupsGroupSubject.js +51 -0
- package/dist/objects/groups/GroupsGroupSuggestedPrivacy.js +12 -0
- package/dist/objects/groups/GroupsGroupTag.js +5 -0
- package/dist/objects/groups/GroupsGroupTopics.js +12 -0
- package/dist/objects/groups/GroupsGroupType.js +5 -0
- package/dist/objects/groups/GroupsGroupVideo.js +12 -0
- package/dist/objects/groups/GroupsGroupWall.js +13 -0
- package/dist/objects/groups/GroupsGroupWiki.js +12 -0
- package/dist/objects/groups/GroupsGroupsArray.js +5 -0
- package/dist/objects/groups/GroupsLinksItem.js +5 -0
- package/dist/objects/groups/GroupsLiveCovers.js +5 -0
- package/dist/objects/groups/GroupsLongPollEvents.js +5 -0
- package/dist/objects/groups/GroupsLongPollServer.js +5 -0
- package/dist/objects/groups/GroupsLongPollSettings.js +5 -0
- package/dist/objects/groups/GroupsMarketInfo.js +5 -0
- package/dist/objects/groups/GroupsMarketState.js +5 -0
- package/dist/objects/groups/GroupsMemberRole.js +5 -0
- package/dist/objects/groups/GroupsMemberRolePermission.js +5 -0
- package/dist/objects/groups/GroupsMemberRoleStatus.js +5 -0
- package/dist/objects/groups/GroupsMemberStatus.js +5 -0
- package/dist/objects/groups/GroupsMemberStatusFull.js +5 -0
- package/dist/objects/groups/GroupsOnlineStatus.js +5 -0
- package/dist/objects/groups/GroupsOnlineStatusType.js +5 -0
- package/dist/objects/groups/GroupsOwnerXtrBanInfo.js +5 -0
- package/dist/objects/groups/GroupsPhotoSize.js +5 -0
- package/dist/objects/groups/GroupsProfileItem.js +5 -0
- package/dist/objects/groups/GroupsRoleOptions.js +5 -0
- package/dist/objects/groups/GroupsSectionsListItem.js +5 -0
- package/dist/objects/groups/GroupsSettingsTwitter.js +5 -0
- package/dist/objects/groups/GroupsSubjectItem.js +5 -0
- package/dist/objects/groups/GroupsTokenPermissionSetting.js +5 -0
- package/dist/objects/groups/GroupsUserXtrRole.js +5 -0
- package/dist/objects/leadForms/LeadFormsAnswer.js +5 -0
- package/dist/objects/leadForms/LeadFormsAnswerItem.js +5 -0
- package/dist/objects/leadForms/LeadFormsForm.js +5 -0
- package/dist/objects/leadForms/LeadFormsLead.js +5 -0
- package/dist/objects/leadForms/LeadFormsQuestionItem.js +5 -0
- package/dist/objects/leadForms/LeadFormsQuestionItemOption.js +5 -0
- package/dist/objects/likes/LikesType.js +5 -0
- package/dist/objects/link/LinkTargetObject.js +5 -0
- package/dist/objects/market/MarketCurrency.js +5 -0
- package/dist/objects/market/MarketGlobalSearchFilters.js +5 -0
- package/dist/objects/market/MarketItemOwnerInfo.js +5 -0
- package/dist/objects/market/MarketItemPromotionInfo.js +5 -0
- package/dist/objects/market/MarketMarketAlbum.js +11 -0
- package/dist/objects/market/MarketMarketCategory.js +5 -0
- package/dist/objects/market/MarketMarketCategoryNested.js +5 -0
- package/dist/objects/market/MarketMarketCategoryTree.js +5 -0
- package/dist/objects/market/MarketMarketCategoryTreeView.js +5 -0
- package/dist/objects/market/MarketMarketItem.js +5 -0
- package/dist/objects/market/MarketMarketItemAvailability.js +12 -0
- package/dist/objects/market/MarketMarketItemBasicWithGroup.js +5 -0
- package/dist/objects/market/MarketMarketItemFull.js +5 -0
- package/dist/objects/market/MarketOrder.js +5 -0
- package/dist/objects/market/MarketOrderItem.js +5 -0
- package/dist/objects/market/MarketOwnerType.js +5 -0
- package/dist/objects/market/MarketPrice.js +19 -0
- package/dist/objects/market/MarketProperty.js +5 -0
- package/dist/objects/market/MarketPropertyVariant.js +5 -0
- package/dist/objects/market/MarketServicesViewType.js +11 -0
- package/dist/objects/market/MarketUploadPhotoData.js +5 -0
- package/dist/objects/messages/MessagesActionOneOf.js +5 -0
- package/dist/objects/messages/MessagesAudioMessage.js +5 -0
- package/dist/objects/messages/MessagesChat.js +5 -0
- package/dist/objects/messages/MessagesChatFull.js +5 -0
- package/dist/objects/messages/MessagesChatPreview.js +5 -0
- package/dist/objects/messages/MessagesChatPushSettings.js +5 -0
- package/dist/objects/messages/MessagesChatRestrictions.js +5 -0
- package/dist/objects/messages/MessagesChatSettings.js +5 -0
- package/dist/objects/messages/MessagesChatSettingsAcl.js +5 -0
- package/dist/objects/messages/MessagesChatSettingsPermissions.js +5 -0
- package/dist/objects/messages/MessagesChatSettingsPhoto.js +5 -0
- package/dist/objects/messages/MessagesChatSettingsState.js +5 -0
- package/dist/objects/messages/MessagesConversation.js +5 -0
- package/dist/objects/messages/MessagesConversationCanWrite.js +5 -0
- package/dist/objects/messages/MessagesConversationMember.js +5 -0
- package/dist/objects/messages/MessagesConversationPeer.js +5 -0
- package/dist/objects/messages/MessagesConversationPeerType.js +5 -0
- package/dist/objects/messages/MessagesConversationSortId.js +5 -0
- package/dist/objects/messages/MessagesConversationWithMessage.js +5 -0
- package/dist/objects/messages/MessagesDeleteFullResponseItem.js +5 -0
- package/dist/objects/messages/MessagesForeignMessage.js +5 -0
- package/dist/objects/messages/MessagesForward.js +5 -0
- package/dist/objects/messages/MessagesFwdMessages.js +5 -0
- package/dist/objects/messages/MessagesGetConversationById.js +5 -0
- package/dist/objects/messages/MessagesGetConversationByIdExtended.js +5 -0
- package/dist/objects/messages/MessagesGetConversationMembers.js +5 -0
- package/dist/objects/messages/MessagesGetInviteLinkByOwnerResponseItem.js +5 -0
- package/dist/objects/messages/MessagesGraffiti.js +5 -0
- package/dist/objects/messages/MessagesHistoryAttachment.js +5 -0
- package/dist/objects/messages/MessagesHistoryMessageAttachment.js +5 -0
- package/dist/objects/messages/MessagesHistoryMessageAttachmentType.js +5 -0
- package/dist/objects/messages/MessagesKeyboard.js +5 -0
- package/dist/objects/messages/MessagesKeyboardButton.js +5 -0
- package/dist/objects/messages/MessagesKeyboardButtonActionCallback.js +5 -0
- package/dist/objects/messages/MessagesKeyboardButtonActionLocation.js +5 -0
- package/dist/objects/messages/MessagesKeyboardButtonActionOpenApp.js +5 -0
- package/dist/objects/messages/MessagesKeyboardButtonActionOpenLink.js +5 -0
- package/dist/objects/messages/MessagesKeyboardButtonActionOpenPhoto.js +5 -0
- package/dist/objects/messages/MessagesKeyboardButtonActionText.js +5 -0
- package/dist/objects/messages/MessagesKeyboardButtonActionVkpay.js +5 -0
- package/dist/objects/messages/MessagesLastActivity.js +5 -0
- package/dist/objects/messages/MessagesLongpollMessages.js +5 -0
- package/dist/objects/messages/MessagesLongpollParams.js +5 -0
- package/dist/objects/messages/MessagesMessage.js +5 -0
- package/dist/objects/messages/MessagesMessageAction.js +5 -0
- package/dist/objects/messages/MessagesMessageActionPhoto.js +5 -0
- package/dist/objects/messages/MessagesMessageActionStatus.js +5 -0
- package/dist/objects/messages/MessagesMessageAttachment.js +5 -0
- package/dist/objects/messages/MessagesMessageAttachmentType.js +5 -0
- package/dist/objects/messages/MessagesMessageRequestData.js +5 -0
- package/dist/objects/messages/MessagesMessagesArray.js +5 -0
- package/dist/objects/messages/MessagesOutReadBy.js +5 -0
- package/dist/objects/messages/MessagesPinnedMessage.js +5 -0
- package/dist/objects/messages/MessagesPushSettings.js +5 -0
- package/dist/objects/messages/MessagesReactionAssetItem.js +5 -0
- package/dist/objects/messages/MessagesReactionAssetItemLinks.js +5 -0
- package/dist/objects/messages/MessagesReactionCounterResponseItem.js +5 -0
- package/dist/objects/messages/MessagesReactionCountersResponseItem.js +5 -0
- package/dist/objects/messages/MessagesReactionResponseItem.js +5 -0
- package/dist/objects/messages/MessagesSendUserIdsResponseItem.js +5 -0
- package/dist/objects/messages/MessagesUserXtrInvitedBy.js +5 -0
- package/dist/objects/newsfeed/NewsfeedCommentsBase.js +5 -0
- package/dist/objects/newsfeed/NewsfeedCommentsFilters.js +5 -0
- package/dist/objects/newsfeed/NewsfeedCommentsItem.js +5 -0
- package/dist/objects/newsfeed/NewsfeedCommentsItemTypeMarket.js +5 -0
- package/dist/objects/newsfeed/NewsfeedCommentsItemTypeNotes.js +5 -0
- package/dist/objects/newsfeed/NewsfeedCommentsItemTypePhoto.js +5 -0
- package/dist/objects/newsfeed/NewsfeedCommentsItemTypePost.js +21 -0
- package/dist/objects/newsfeed/NewsfeedCommentsItemTypeTopic.js +5 -0
- package/dist/objects/newsfeed/NewsfeedCommentsItemTypeVideo.js +5 -0
- package/dist/objects/newsfeed/NewsfeedIgnoreItemType.js +5 -0
- package/dist/objects/newsfeed/NewsfeedItemAudio.js +5 -0
- package/dist/objects/newsfeed/NewsfeedItemAudioAudio.js +5 -0
- package/dist/objects/newsfeed/NewsfeedItemDigest.js +5 -0
- package/dist/objects/newsfeed/NewsfeedItemDigestButton.js +5 -0
- package/dist/objects/newsfeed/NewsfeedItemDigestFooter.js +5 -0
- package/dist/objects/newsfeed/NewsfeedItemDigestFullItem.js +5 -0
- package/dist/objects/newsfeed/NewsfeedItemDigestHeader.js +5 -0
- package/dist/objects/newsfeed/NewsfeedItemDigestItem.js +5 -0
- package/dist/objects/newsfeed/NewsfeedItemFriend.js +5 -0
- package/dist/objects/newsfeed/NewsfeedItemFriendFriends.js +5 -0
- package/dist/objects/newsfeed/NewsfeedItemPhoto.js +5 -0
- package/dist/objects/newsfeed/NewsfeedItemPhotoPhotos.js +5 -0
- package/dist/objects/newsfeed/NewsfeedItemPhotoTag.js +5 -0
- package/dist/objects/newsfeed/NewsfeedItemPhotoTagPhotoTags.js +5 -0
- package/dist/objects/newsfeed/NewsfeedItemPromoButton.js +5 -0
- package/dist/objects/newsfeed/NewsfeedItemPromoButtonAction.js +5 -0
- package/dist/objects/newsfeed/NewsfeedItemPromoButtonImage.js +5 -0
- package/dist/objects/newsfeed/NewsfeedItemTopic.js +5 -0
- package/dist/objects/newsfeed/NewsfeedItemVideo.js +5 -0
- package/dist/objects/newsfeed/NewsfeedItemVideoVideo.js +5 -0
- package/dist/objects/newsfeed/NewsfeedItemWallpost.js +21 -0
- package/dist/objects/newsfeed/NewsfeedItemWallpostFeedback.js +5 -0
- package/dist/objects/newsfeed/NewsfeedItemWallpostFeedbackAnswer.js +5 -0
- package/dist/objects/newsfeed/NewsfeedItemWallpostFeedbackType.js +5 -0
- package/dist/objects/newsfeed/NewsfeedList.js +5 -0
- package/dist/objects/newsfeed/NewsfeedListFull.js +5 -0
- package/dist/objects/newsfeed/NewsfeedNewsfeedItem.js +5 -0
- package/dist/objects/newsfeed/NewsfeedNewsfeedItemType.js +5 -0
- package/dist/objects/notes/NotesNote.js +5 -0
- package/dist/objects/notes/NotesNoteComment.js +5 -0
- package/dist/objects/notifications/NotificationsFeedback.js +5 -0
- package/dist/objects/notifications/NotificationsNotification.js +5 -0
- package/dist/objects/notifications/NotificationsNotificationItem.js +5 -0
- package/dist/objects/notifications/NotificationsReply.js +5 -0
- package/dist/objects/notifications/NotificationsSendMessageError.js +13 -0
- package/dist/objects/notifications/NotificationsSendMessageItem.js +5 -0
- package/dist/objects/orders/OrdersAmount.js +5 -0
- package/dist/objects/orders/OrdersAmountItem.js +5 -0
- package/dist/objects/orders/OrdersOrder.js +5 -0
- package/dist/objects/orders/OrdersSubscription.js +5 -0
- package/dist/objects/owner/OwnerState.js +14 -0
- package/dist/objects/pages/PagesPrivacySettings.js +12 -0
- package/dist/objects/pages/PagesWikipage.js +5 -0
- package/dist/objects/pages/PagesWikipageFull.js +5 -0
- package/dist/objects/pages/PagesWikipageHistory.js +5 -0
- package/dist/objects/photos/PhotosImage.js +5 -0
- package/dist/objects/photos/PhotosImageType.js +5 -0
- package/dist/objects/photos/PhotosPhoto.js +5 -0
- package/dist/objects/photos/PhotosPhotoAlbum.js +5 -0
- package/dist/objects/photos/PhotosPhotoAlbumFull.js +5 -0
- package/dist/objects/photos/PhotosPhotoSizes.js +5 -0
- package/dist/objects/photos/PhotosPhotoSizesType.js +5 -0
- package/dist/objects/photos/PhotosPhotoTag.js +5 -0
- package/dist/objects/photos/PhotosPhotoUpload.js +5 -0
- package/dist/objects/photos/PhotosPhotoXtrTagInfo.js +5 -0
- package/dist/objects/podcast/PodcastCover.js +5 -0
- package/dist/objects/podcast/PodcastExternalData.js +5 -0
- package/dist/objects/polls/PollsAnswer.js +5 -0
- package/dist/objects/polls/PollsBackground.js +5 -0
- package/dist/objects/polls/PollsFieldsVoters.js +5 -0
- package/dist/objects/polls/PollsFriend.js +5 -0
- package/dist/objects/polls/PollsPoll.js +5 -0
- package/dist/objects/polls/PollsPollExtended.js +5 -0
- package/dist/objects/polls/PollsVoters.js +5 -0
- package/dist/objects/polls/PollsVotersFieldsUsers.js +5 -0
- package/dist/objects/polls/PollsVotersUsers.js +5 -0
- package/dist/objects/prettyCards/PrettyCardsPrettyCard.js +5 -0
- package/dist/objects/prettyCards/PrettyCardsPrettyCardOrError.js +5 -0
- package/dist/objects/search/SearchHint.js +5 -0
- package/dist/objects/search/SearchHintSection.js +5 -0
- package/dist/objects/search/SearchHintType.js +5 -0
- package/dist/objects/secure/SecureGiveEventStickerItem.js +5 -0
- package/dist/objects/secure/SecureLevel.js +5 -0
- package/dist/objects/secure/SecureSetCounterItem.js +5 -0
- package/dist/objects/secure/SecureSmsNotification.js +5 -0
- package/dist/objects/secure/SecureTokenChecked.js +5 -0
- package/dist/objects/secure/SecureTransaction.js +5 -0
- package/dist/objects/stats/StatsActivity.js +5 -0
- package/dist/objects/stats/StatsCity.js +5 -0
- package/dist/objects/stats/StatsCountry.js +5 -0
- package/dist/objects/stats/StatsPeriod.js +5 -0
- package/dist/objects/stats/StatsReach.js +5 -0
- package/dist/objects/stats/StatsSexAge.js +5 -0
- package/dist/objects/stats/StatsViews.js +5 -0
- package/dist/objects/stats/StatsWallpostStat.js +5 -0
- package/dist/objects/status/StatusStatus.js +5 -0
- package/dist/objects/stickers/StickersImageSet.js +5 -0
- package/dist/objects/storage/StorageValue.js +5 -0
- package/dist/objects/store/StoreProduct.js +5 -0
- package/dist/objects/store/StoreProductIcon.js +5 -0
- package/dist/objects/store/StoreStickersKeyword.js +5 -0
- package/dist/objects/store/StoreStickersKeywordSticker.js +5 -0
- package/dist/objects/stories/StoriesClickableArea.js +5 -0
- package/dist/objects/stories/StoriesClickableSticker.js +5 -0
- package/dist/objects/stories/StoriesClickableStickers.js +5 -0
- package/dist/objects/stories/StoriesFeedItem.js +5 -0
- package/dist/objects/stories/StoriesPromoBlock.js +5 -0
- package/dist/objects/stories/StoriesReplies.js +5 -0
- package/dist/objects/stories/StoriesStory.js +5 -0
- package/dist/objects/stories/StoriesStoryLink.js +5 -0
- package/dist/objects/stories/StoriesStoryStats.js +5 -0
- package/dist/objects/stories/StoriesStoryStatsStat.js +5 -0
- package/dist/objects/stories/StoriesStoryStatsState.js +5 -0
- package/dist/objects/stories/StoriesStoryType.js +5 -0
- package/dist/objects/stories/StoriesUploadLinkText.js +5 -0
- package/dist/objects/stories/StoriesUploadResult.js +5 -0
- package/dist/objects/stories/StoriesViewersItem.js +5 -0
- package/dist/objects/streaming/StreamingStats.js +5 -0
- package/dist/objects/streaming/StreamingStatsPoint.js +5 -0
- package/dist/objects/users/UsersCareer.js +5 -0
- package/dist/objects/users/UsersExports.js +5 -0
- package/dist/objects/users/UsersFields.js +5 -0
- package/dist/objects/users/UsersLastSeen.js +5 -0
- package/dist/objects/users/UsersMilitary.js +5 -0
- package/dist/objects/users/UsersOccupation.js +5 -0
- package/dist/objects/users/UsersOnlineInfo.js +5 -0
- package/dist/objects/users/UsersPersonal.js +5 -0
- package/dist/objects/users/UsersRelative.js +5 -0
- package/dist/objects/users/UsersSchool.js +5 -0
- package/dist/objects/users/UsersSubscriptionsItem.js +5 -0
- package/dist/objects/users/UsersUniversity.js +5 -0
- package/dist/objects/users/UsersUser.js +5 -0
- package/dist/objects/users/UsersUserConnections.js +5 -0
- package/dist/objects/users/UsersUserCounters.js +5 -0
- package/dist/objects/users/UsersUserFull.js +5 -0
- package/dist/objects/users/UsersUserMin.js +5 -0
- package/dist/objects/users/UsersUserRelation.js +18 -0
- package/dist/objects/users/UsersUserType.js +5 -0
- package/dist/objects/users/UsersUsersArray.js +5 -0
- package/dist/objects/utils/UtilsDomainResolved.js +5 -0
- package/dist/objects/utils/UtilsDomainResolvedType.js +5 -0
- package/dist/objects/utils/UtilsLastShortenedLink.js +5 -0
- package/dist/objects/utils/UtilsLinkChecked.js +5 -0
- package/dist/objects/utils/UtilsLinkCheckedStatus.js +5 -0
- package/dist/objects/utils/UtilsLinkStats.js +5 -0
- package/dist/objects/utils/UtilsLinkStatsExtended.js +5 -0
- package/dist/objects/utils/UtilsShortLink.js +5 -0
- package/dist/objects/utils/UtilsStats.js +5 -0
- package/dist/objects/utils/UtilsStatsCity.js +5 -0
- package/dist/objects/utils/UtilsStatsCountry.js +5 -0
- package/dist/objects/utils/UtilsStatsExtended.js +5 -0
- package/dist/objects/utils/UtilsStatsSexAge.js +5 -0
- package/dist/objects/video/VideoEpisode.js +5 -0
- package/dist/objects/video/VideoLiveCategory.js +5 -0
- package/dist/objects/video/VideoLiveInfo.js +5 -0
- package/dist/objects/video/VideoLiveSettings.js +5 -0
- package/dist/objects/video/VideoPlaylistPrivacyCategory.js +5 -0
- package/dist/objects/video/VideoSaveResult.js +5 -0
- package/dist/objects/video/VideoStreamInputParams.js +5 -0
- package/dist/objects/video/VideoVideo.js +5 -0
- package/dist/objects/video/VideoVideoAlbum.js +5 -0
- package/dist/objects/video/VideoVideoAlbumFull.js +5 -0
- package/dist/objects/video/VideoVideoFiles.js +5 -0
- package/dist/objects/video/VideoVideoFull.js +5 -0
- package/dist/objects/video/VideoVideoImage.js +5 -0
- package/dist/objects/wall/WallAppPost.js +5 -0
- package/dist/objects/wall/WallAttachedNote.js +5 -0
- package/dist/objects/wall/WallCommentAttachment.js +5 -0
- package/dist/objects/wall/WallCommentAttachmentType.js +5 -0
- package/dist/objects/wall/WallGeo.js +5 -0
- package/dist/objects/wall/WallGetFilter.js +5 -0
- package/dist/objects/wall/WallGraffiti.js +5 -0
- package/dist/objects/wall/WallPostCopyright.js +5 -0
- package/dist/objects/wall/WallPostSource.js +5 -0
- package/dist/objects/wall/WallPostSourceType.js +5 -0
- package/dist/objects/wall/WallPostType.js +5 -0
- package/dist/objects/wall/WallPostedPhoto.js +5 -0
- package/dist/objects/wall/WallViews.js +5 -0
- package/dist/objects/wall/WallWallComment.js +5 -0
- package/dist/objects/wall/WallWallCommentDonut.js +5 -0
- package/dist/objects/wall/WallWallCommentDonutPlaceholder.js +5 -0
- package/dist/objects/wall/WallWallItem.js +5 -0
- package/dist/objects/wall/WallWallpostAttachment.js +5 -0
- package/dist/objects/wall/WallWallpostAttachmentType.js +5 -0
- package/dist/objects/wall/WallWallpostCommentsDonut.js +5 -0
- package/dist/objects/wall/WallWallpostCommentsDonutPlaceholder.js +5 -0
- package/dist/objects/wall/WallWallpostDonut.js +5 -0
- package/dist/objects/wall/WallWallpostDonutPlaceholder.js +5 -0
- package/dist/objects/wall/WallWallpostFull.js +21 -0
- package/dist/objects/widgets/WidgetsCommentMedia.js +5 -0
- package/dist/objects/widgets/WidgetsCommentMediaType.js +5 -0
- package/dist/objects/widgets/WidgetsCommentReplies.js +5 -0
- package/dist/objects/widgets/WidgetsCommentRepliesItem.js +5 -0
- package/dist/objects/widgets/WidgetsWidgetComment.js +5 -0
- package/dist/objects/widgets/WidgetsWidgetLikes.js +5 -0
- package/dist/objects/widgets/WidgetsWidgetPage.js +5 -0
- package/dist/utils.js +10 -11
- package/package.json +9 -6
- package/src/generators/APITypingsGenerator.ts +159 -10
package/dist/generator.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateImportsBlock =
|
|
3
|
+
exports.generateImportsBlock = generateImportsBlock;
|
|
4
4
|
const constants_1 = require("./constants");
|
|
5
5
|
const helpers_1 = require("./helpers");
|
|
6
6
|
const types_1 = require("./types");
|
|
@@ -38,4 +38,3 @@ function generateImportsBlock(refs, section, type) {
|
|
|
38
38
|
});
|
|
39
39
|
return importLines.join(constants_1.newLineChar);
|
|
40
40
|
}
|
|
41
|
-
exports.generateImportsBlock = generateImportsBlock;
|
|
@@ -280,12 +280,12 @@ class APITypingsGenerator {
|
|
|
280
280
|
}
|
|
281
281
|
generateMethodParams(methodInfo) {
|
|
282
282
|
const section = (0, helpers_1.getMethodSection)(methodInfo.name);
|
|
283
|
-
const interfaceName = `${methodInfo.name} params
|
|
283
|
+
const interfaceName = (0, helpers_1.getInterfaceName)(`${methodInfo.name} params`);
|
|
284
284
|
let imports = {};
|
|
285
285
|
let codeBlocks = [];
|
|
286
286
|
const codeBlock = new TypeCodeBlock_1.TypeCodeBlock({
|
|
287
287
|
type: TypeCodeBlock_1.TypeScriptCodeTypes.Interface,
|
|
288
|
-
interfaceName:
|
|
288
|
+
interfaceName: interfaceName,
|
|
289
289
|
needExport: true,
|
|
290
290
|
allowEmptyInterface: true,
|
|
291
291
|
properties: [],
|
|
@@ -305,6 +305,7 @@ class APITypingsGenerator {
|
|
|
305
305
|
});
|
|
306
306
|
this.appendToFileMap(section, imports, [...codeBlocks, codeBlock]);
|
|
307
307
|
this.generateObjectsFromImports(imports);
|
|
308
|
+
return interfaceName;
|
|
308
309
|
}
|
|
309
310
|
getResponseObjectRef(ref) {
|
|
310
311
|
const objectName = (0, helpers_1.getObjectNameByRef)(ref);
|
|
@@ -404,7 +405,7 @@ class APITypingsGenerator {
|
|
|
404
405
|
generateResponse(section, response) {
|
|
405
406
|
const result = this.getResponseCodeBlock(response);
|
|
406
407
|
if (!result) {
|
|
407
|
-
|
|
408
|
+
throw new Error('Unable to generate response');
|
|
408
409
|
}
|
|
409
410
|
const { codeBlocks, imports } = result;
|
|
410
411
|
this.appendToFileMap(section, imports, codeBlocks);
|
|
@@ -430,14 +431,53 @@ class APITypingsGenerator {
|
|
|
430
431
|
const { method: normalizedMethod, parameterRefs } = (0, methods_1.normalizeMethodInfo)(method);
|
|
431
432
|
method = normalizedMethod;
|
|
432
433
|
this.generateObjectsFromRefs(parameterRefs);
|
|
433
|
-
this.generateMethodParams(new SchemaObject_1.SchemaObject(method.name, method));
|
|
434
|
-
Object.entries(method.responses)
|
|
434
|
+
const methodParamsInterfaceName = this.generateMethodParams(new SchemaObject_1.SchemaObject(method.name, method));
|
|
435
|
+
const methodResponsesInterfaceName = Object.entries(method.responses)
|
|
436
|
+
.map(([responseName, responseObject]) => {
|
|
435
437
|
if (this.ignoredResponses[methodName] && this.ignoredResponses[methodName][responseName]) {
|
|
436
438
|
return;
|
|
437
439
|
}
|
|
438
440
|
const name = `${methodName}_${responseName}`;
|
|
439
|
-
|
|
441
|
+
const interfaceName = (0, helpers_1.getInterfaceName)(name);
|
|
442
|
+
try {
|
|
443
|
+
this.generateResponse(section, new SchemaObject_1.SchemaObject(name, responseObject));
|
|
444
|
+
return interfaceName;
|
|
445
|
+
}
|
|
446
|
+
catch (e) {
|
|
447
|
+
return;
|
|
448
|
+
}
|
|
449
|
+
})
|
|
450
|
+
.filter(Boolean);
|
|
451
|
+
this.generateMethodType(methodName, methodParamsInterfaceName, methodResponsesInterfaceName);
|
|
452
|
+
}
|
|
453
|
+
generateMethodType(methodName, methodParamsInterfaceName, methodResponsesInterfaceName) {
|
|
454
|
+
const codeBlock = new TypeCodeBlock_1.TypeCodeBlock({
|
|
455
|
+
type: TypeCodeBlock_1.TypeScriptCodeTypes.Interface,
|
|
456
|
+
interfaceName: (0, helpers_1.getInterfaceName)(`${methodName} method`),
|
|
457
|
+
needExport: true,
|
|
458
|
+
allowEmptyInterface: true,
|
|
459
|
+
properties: [],
|
|
460
|
+
});
|
|
461
|
+
codeBlock.addProperty({
|
|
462
|
+
name: 'method',
|
|
463
|
+
value: methodName,
|
|
464
|
+
isRequired: true,
|
|
465
|
+
wrapValue: true,
|
|
466
|
+
});
|
|
467
|
+
codeBlock.addProperty({
|
|
468
|
+
name: 'request',
|
|
469
|
+
value: methodParamsInterfaceName,
|
|
470
|
+
isRequired: true,
|
|
440
471
|
});
|
|
472
|
+
codeBlock.addProperty({
|
|
473
|
+
name: 'response',
|
|
474
|
+
value: methodResponsesInterfaceName.length > 0
|
|
475
|
+
? methodResponsesInterfaceName.join(' | ')
|
|
476
|
+
: 'unknown',
|
|
477
|
+
isRequired: true,
|
|
478
|
+
});
|
|
479
|
+
const section = (0, helpers_1.getMethodSection)(methodName);
|
|
480
|
+
this.appendToFileMap(section, {}, [codeBlock]);
|
|
441
481
|
}
|
|
442
482
|
generateMethods() {
|
|
443
483
|
(0, log_1.consoleLogInfo)('creating method params and responses...');
|
|
@@ -448,11 +488,33 @@ class APITypingsGenerator {
|
|
|
448
488
|
});
|
|
449
489
|
Object.keys(this.methodFilesMap).forEach((section) => {
|
|
450
490
|
const { imports, codeBlocks } = this.methodFilesMap[section];
|
|
491
|
+
const methodNames = [];
|
|
451
492
|
codeBlocks.forEach((codeBlock) => {
|
|
452
493
|
if (codeBlock instanceof TypeCodeBlock_1.TypeCodeBlock && codeBlock.needExport && codeBlock.interfaceName) {
|
|
494
|
+
/**
|
|
495
|
+
* for interfaceName structure
|
|
496
|
+
* @see this.generateMethodType
|
|
497
|
+
*/
|
|
498
|
+
if (codeBlock.interfaceName.endsWith('Method')) {
|
|
499
|
+
methodNames.push(codeBlock.interfaceName);
|
|
500
|
+
// Skip export as it will be exported in union type
|
|
501
|
+
return;
|
|
502
|
+
}
|
|
453
503
|
this.registerExport(`./methods/${section}`, codeBlock.interfaceName);
|
|
454
504
|
}
|
|
455
505
|
});
|
|
506
|
+
if (methodNames.length > 0) {
|
|
507
|
+
const sectionMethodsCodeBlock = new TypeCodeBlock_1.TypeCodeBlock({
|
|
508
|
+
type: TypeCodeBlock_1.TypeScriptCodeTypes.Type,
|
|
509
|
+
interfaceName: (0, helpers_1.getInterfaceName)(`${section} methods union`),
|
|
510
|
+
needExport: true,
|
|
511
|
+
allowEmptyInterface: true,
|
|
512
|
+
value: methodNames.join(' | '),
|
|
513
|
+
properties: [],
|
|
514
|
+
});
|
|
515
|
+
codeBlocks.push(sectionMethodsCodeBlock);
|
|
516
|
+
this.registerExport(`./methods/${section}`, sectionMethodsCodeBlock.interfaceName);
|
|
517
|
+
}
|
|
456
518
|
const code = [(0, generator_1.generateImportsBlock)(imports, null), ...codeBlocks];
|
|
457
519
|
this.registerResultFile(path_1.default.join('methods', `${section}.ts`), code.join(constants_1.newLineChar.repeat(2)));
|
|
458
520
|
});
|
|
@@ -513,8 +575,22 @@ class APITypingsGenerator {
|
|
|
513
575
|
},
|
|
514
576
|
],
|
|
515
577
|
}).toString());
|
|
578
|
+
code.push(`
|
|
579
|
+
type MethodOf<M> = M extends { method: string } ? M['method'] : never;
|
|
580
|
+
type RequestOf<M> = M extends { request: unknown } ? M['request'] : never;
|
|
581
|
+
type ResponseOf<M> = M extends { response: unknown } ? M['response'] : never;
|
|
582
|
+
|
|
583
|
+
export type CreateMethodMap<Type extends { method: string }> = {
|
|
584
|
+
[Property in Type as Property['method']]: {
|
|
585
|
+
method: MethodOf<Property>;
|
|
586
|
+
request: RequestOf<Property>;
|
|
587
|
+
response: ResponseOf<Property>;
|
|
588
|
+
};
|
|
589
|
+
};
|
|
590
|
+
`);
|
|
516
591
|
this.registerExport('./common/common', 'API_VERSION');
|
|
517
592
|
this.registerExport('./common/common', (0, helpers_1.getInterfaceName)(constants_1.baseAPIParamsInterfaceName));
|
|
593
|
+
this.registerExport('./common/common', 'CreateMethodMap');
|
|
518
594
|
this.registerResultFile(path_1.default.join('common', 'common.ts'), code.join(constants_1.newLineChar.repeat(2)));
|
|
519
595
|
}
|
|
520
596
|
/**
|
|
@@ -524,6 +600,49 @@ class APITypingsGenerator {
|
|
|
524
600
|
(0, log_1.consoleLogInfo)('creating index.ts exports...');
|
|
525
601
|
const blocks = [];
|
|
526
602
|
let exportedObjects = {};
|
|
603
|
+
let methodNames = new Set();
|
|
604
|
+
(0, utils_1.sortArrayAlphabetically)(Object.keys(this.exports)).forEach((path) => {
|
|
605
|
+
if (!path.startsWith('./methods/')) {
|
|
606
|
+
return;
|
|
607
|
+
}
|
|
608
|
+
const objects = Object.keys(this.exports[path]);
|
|
609
|
+
if (!objects.length) {
|
|
610
|
+
return;
|
|
611
|
+
}
|
|
612
|
+
const blockLines = [];
|
|
613
|
+
(0, utils_1.sortArrayAlphabetically)(objects).forEach((object) => {
|
|
614
|
+
/**
|
|
615
|
+
* for interfaceName structure
|
|
616
|
+
* @see this.generateMethods
|
|
617
|
+
*/
|
|
618
|
+
if (!methodNames.has(object) && /^[A-Z][a-zA-Z0-9]*MethodsUnion$/.test(object)) {
|
|
619
|
+
methodNames.add(object);
|
|
620
|
+
exportedObjects[object] = true; // To skip in export block
|
|
621
|
+
blockLines.push(` ${object},`);
|
|
622
|
+
}
|
|
623
|
+
});
|
|
624
|
+
if (blockLines.length > 0) {
|
|
625
|
+
blockLines.unshift('import type {');
|
|
626
|
+
blockLines.push(`} from '${path.replace('.ts', '')}';`);
|
|
627
|
+
blocks.push(blockLines.join(constants_1.newLineChar));
|
|
628
|
+
}
|
|
629
|
+
});
|
|
630
|
+
blocks.push("import type { CreateMethodMap } from './common/common';");
|
|
631
|
+
const methodsCodeBlock = new TypeCodeBlock_1.TypeCodeBlock({
|
|
632
|
+
type: TypeCodeBlock_1.TypeScriptCodeTypes.Type,
|
|
633
|
+
interfaceName: 'ApiMethodsUnion',
|
|
634
|
+
needExport: false,
|
|
635
|
+
properties: [],
|
|
636
|
+
value: Array.from(methodNames).join(' | '),
|
|
637
|
+
});
|
|
638
|
+
blocks.push(methodsCodeBlock.toString());
|
|
639
|
+
blocks.push(new TypeCodeBlock_1.TypeCodeBlock({
|
|
640
|
+
type: TypeCodeBlock_1.TypeScriptCodeTypes.Type,
|
|
641
|
+
interfaceName: 'ApiMethodsMap',
|
|
642
|
+
needExport: true,
|
|
643
|
+
properties: [],
|
|
644
|
+
value: `CreateMethodMap<${methodsCodeBlock.interfaceName}>`,
|
|
645
|
+
}).toString());
|
|
527
646
|
(0, utils_1.sortArrayAlphabetically)(Object.keys(this.exports)).forEach((path) => {
|
|
528
647
|
const objects = Object.keys(this.exports[path]);
|
|
529
648
|
if (!objects.length) {
|
package/dist/generators/enums.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.isNumericEnum = isNumericEnum;
|
|
4
|
+
exports.getEnumNamesIdentifier = getEnumNamesIdentifier;
|
|
5
|
+
exports.generateEnumConstantObject = generateEnumConstantObject;
|
|
6
|
+
exports.generateEnumAsUnionType = generateEnumAsUnionType;
|
|
7
|
+
exports.generateInlineEnum = generateInlineEnum;
|
|
4
8
|
const constants_1 = require("../constants");
|
|
5
9
|
const helpers_1 = require("../helpers");
|
|
6
10
|
const utils_1 = require("../utils");
|
|
@@ -8,14 +12,12 @@ const TypeCodeBlock_1 = require("./TypeCodeBlock");
|
|
|
8
12
|
function isNumericEnum(object) {
|
|
9
13
|
return object.enum.some((value) => !!+value);
|
|
10
14
|
}
|
|
11
|
-
exports.isNumericEnum = isNumericEnum;
|
|
12
15
|
function getEnumNamesIdentifier(name) {
|
|
13
16
|
if (!name) {
|
|
14
17
|
throw new Error('[getEnumNamesIdentifier] empty name');
|
|
15
18
|
}
|
|
16
19
|
return `${name} enumNames`.trim();
|
|
17
20
|
}
|
|
18
|
-
exports.getEnumNamesIdentifier = getEnumNamesIdentifier;
|
|
19
21
|
function generateEnumConstantObject(object, objectName, enumNames) {
|
|
20
22
|
const enumInterfaceName = (0, helpers_1.getInterfaceName)(objectName);
|
|
21
23
|
const codeBlock = new TypeCodeBlock_1.TypeCodeBlock({
|
|
@@ -34,7 +36,6 @@ function generateEnumConstantObject(object, objectName, enumNames) {
|
|
|
34
36
|
});
|
|
35
37
|
return codeBlock;
|
|
36
38
|
}
|
|
37
|
-
exports.generateEnumConstantObject = generateEnumConstantObject;
|
|
38
39
|
/**
|
|
39
40
|
* Generates enum as union type with constant object if necessary
|
|
40
41
|
*/
|
|
@@ -58,7 +59,6 @@ function generateEnumAsUnionType(object) {
|
|
|
58
59
|
value: '',
|
|
59
60
|
};
|
|
60
61
|
}
|
|
61
|
-
exports.generateEnumAsUnionType = generateEnumAsUnionType;
|
|
62
62
|
function getEnumNames(object) {
|
|
63
63
|
let { enumNames } = object;
|
|
64
64
|
const isNumeric = isNumericEnum(object);
|
|
@@ -112,4 +112,3 @@ function generateInlineEnum(object, options = {}) {
|
|
|
112
112
|
description: descriptionLines.join(constants_1.newLineChar),
|
|
113
113
|
};
|
|
114
114
|
}
|
|
115
|
-
exports.generateInlineEnum = generateInlineEnum;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.normalizeMethodInfo =
|
|
3
|
+
exports.normalizeMethodInfo = normalizeMethodInfo;
|
|
4
4
|
const constants_1 = require("../constants");
|
|
5
5
|
const helpers_1 = require("../helpers");
|
|
6
6
|
const types_1 = require("../types");
|
|
@@ -38,4 +38,3 @@ function normalizeMethodInfo(method) {
|
|
|
38
38
|
parameterRefs,
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
|
-
exports.normalizeMethodInfo = normalizeMethodInfo;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateTypeString =
|
|
3
|
+
exports.generateTypeString = generateTypeString;
|
|
4
4
|
const constants_1 = require("../constants");
|
|
5
5
|
const enums_1 = require("./enums");
|
|
6
6
|
const helpers_1 = require("../helpers");
|
|
@@ -146,4 +146,3 @@ function generateTypeString(object, objects, options = {}) {
|
|
|
146
146
|
description,
|
|
147
147
|
};
|
|
148
148
|
}
|
|
149
|
-
exports.generateTypeString = generateTypeString;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.mergeImports =
|
|
3
|
+
exports.mergeImports = mergeImports;
|
|
4
4
|
const types_1 = require("../../types");
|
|
5
5
|
function mergeImports(oldImports, newImports) {
|
|
6
6
|
const result = { ...oldImports };
|
|
@@ -13,4 +13,3 @@ function mergeImports(oldImports, newImports) {
|
|
|
13
13
|
});
|
|
14
14
|
return result;
|
|
15
15
|
}
|
|
16
|
-
exports.mergeImports = mergeImports;
|
package/dist/helpers.js
CHANGED
|
@@ -15,18 +15,44 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
25
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
37
|
};
|
|
28
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.
|
|
39
|
+
exports.readJSONFile = readJSONFile;
|
|
40
|
+
exports.prepareBuildDirectory = prepareBuildDirectory;
|
|
41
|
+
exports.writeFile = writeFile;
|
|
42
|
+
exports.prepareMethodsPattern = prepareMethodsPattern;
|
|
43
|
+
exports.isMethodNeeded = isMethodNeeded;
|
|
44
|
+
exports.getMethodSection = getMethodSection;
|
|
45
|
+
exports.getInterfaceName = getInterfaceName;
|
|
46
|
+
exports.getEnumPropertyName = getEnumPropertyName;
|
|
47
|
+
exports.getObjectNameByRef = getObjectNameByRef;
|
|
48
|
+
exports.getSectionFromObjectName = getSectionFromObjectName;
|
|
49
|
+
exports.isPatternProperty = isPatternProperty;
|
|
50
|
+
exports.areQuotesNeededForProperty = areQuotesNeededForProperty;
|
|
51
|
+
exports.transformPatternPropertyName = transformPatternPropertyName;
|
|
52
|
+
exports.joinCommentLines = joinCommentLines;
|
|
53
|
+
exports.joinOneOfValues = joinOneOfValues;
|
|
54
|
+
exports.formatArrayDepth = formatArrayDepth;
|
|
55
|
+
exports.resolvePrimitiveTypesArray = resolvePrimitiveTypesArray;
|
|
30
56
|
const fs_1 = __importStar(require("fs"));
|
|
31
57
|
const path_1 = __importDefault(require("path"));
|
|
32
58
|
const utils_1 = require("./utils");
|
|
@@ -37,7 +63,6 @@ async function readJSONFile(path) {
|
|
|
37
63
|
const content = await fs_1.promises.readFile(path, 'utf-8');
|
|
38
64
|
return JSON.parse(content);
|
|
39
65
|
}
|
|
40
|
-
exports.readJSONFile = readJSONFile;
|
|
41
66
|
function deleteDirectoryRecursive(directoryPath) {
|
|
42
67
|
if (fs_1.default.existsSync(directoryPath)) {
|
|
43
68
|
fs_1.default.readdirSync(directoryPath).forEach((file) => {
|
|
@@ -56,7 +81,6 @@ function prepareBuildDirectory(directoryPath) {
|
|
|
56
81
|
deleteDirectoryRecursive(directoryPath);
|
|
57
82
|
fs_1.default.mkdirSync(directoryPath, { recursive: true });
|
|
58
83
|
}
|
|
59
|
-
exports.prepareBuildDirectory = prepareBuildDirectory;
|
|
60
84
|
function writeFile(filePath, code, insertAutoGeneratedNote = true) {
|
|
61
85
|
if (insertAutoGeneratedNote) {
|
|
62
86
|
code =
|
|
@@ -82,7 +106,6 @@ function writeFile(filePath, code, insertAutoGeneratedNote = true) {
|
|
|
82
106
|
});
|
|
83
107
|
fs_1.default.writeFileSync(filePath, code.trim() + constants_1.newLineChar);
|
|
84
108
|
}
|
|
85
|
-
exports.writeFile = writeFile;
|
|
86
109
|
function prepareMethodsPattern(methodsPattern) {
|
|
87
110
|
if (!methodsPattern) {
|
|
88
111
|
(0, log_1.consoleLogErrorAndExit)('methodsPattern is empty. Pass "*" to generate all methods');
|
|
@@ -95,7 +118,6 @@ function prepareMethodsPattern(methodsPattern) {
|
|
|
95
118
|
return acc;
|
|
96
119
|
}, {});
|
|
97
120
|
}
|
|
98
|
-
exports.prepareMethodsPattern = prepareMethodsPattern;
|
|
99
121
|
function isMethodNeeded(methodsPattern, method) {
|
|
100
122
|
const [methodSection, methodName] = method.split('.');
|
|
101
123
|
return Object.keys(methodsPattern).some((pattern) => {
|
|
@@ -109,11 +131,9 @@ function isMethodNeeded(methodsPattern, method) {
|
|
|
109
131
|
return false;
|
|
110
132
|
});
|
|
111
133
|
}
|
|
112
|
-
exports.isMethodNeeded = isMethodNeeded;
|
|
113
134
|
function getMethodSection(methodName) {
|
|
114
135
|
return methodName.split('.')[0];
|
|
115
136
|
}
|
|
116
|
-
exports.getMethodSection = getMethodSection;
|
|
117
137
|
function getInterfaceName(name) {
|
|
118
138
|
name = name
|
|
119
139
|
.replace(/\.|(\s+)|_/g, ' ')
|
|
@@ -122,24 +142,19 @@ function getInterfaceName(name) {
|
|
|
122
142
|
.join('');
|
|
123
143
|
return (0, utils_1.capitalizeFirstLetter)(name);
|
|
124
144
|
}
|
|
125
|
-
exports.getInterfaceName = getInterfaceName;
|
|
126
145
|
function getEnumPropertyName(name) {
|
|
127
146
|
return name.toUpperCase().replace(/\s+/g, '_').replace(/-/g, '_').replace(/\./g, '_');
|
|
128
147
|
}
|
|
129
|
-
exports.getEnumPropertyName = getEnumPropertyName;
|
|
130
148
|
function getObjectNameByRef(ref) {
|
|
131
149
|
const parts = ref.split('/');
|
|
132
150
|
return parts[parts.length - 1];
|
|
133
151
|
}
|
|
134
|
-
exports.getObjectNameByRef = getObjectNameByRef;
|
|
135
152
|
function getSectionFromObjectName(name) {
|
|
136
153
|
return name.split('_')[0];
|
|
137
154
|
}
|
|
138
|
-
exports.getSectionFromObjectName = getSectionFromObjectName;
|
|
139
155
|
function isPatternProperty(name) {
|
|
140
156
|
return name.startsWith('[key: ');
|
|
141
157
|
}
|
|
142
|
-
exports.isPatternProperty = isPatternProperty;
|
|
143
158
|
function areQuotesNeededForProperty(name) {
|
|
144
159
|
name = String(name);
|
|
145
160
|
if (isPatternProperty(name)) {
|
|
@@ -150,14 +165,12 @@ function areQuotesNeededForProperty(name) {
|
|
|
150
165
|
}
|
|
151
166
|
return !(/^[a-z_]([a-z0-9_])+$/i.test(name) || /^[a-z_]/i.test(name));
|
|
152
167
|
}
|
|
153
|
-
exports.areQuotesNeededForProperty = areQuotesNeededForProperty;
|
|
154
168
|
function transformPatternPropertyName(name) {
|
|
155
169
|
if (name === '^[0-9]+$') {
|
|
156
170
|
return '[key: number]';
|
|
157
171
|
}
|
|
158
172
|
return '[key: string] /* default pattern property name */';
|
|
159
173
|
}
|
|
160
|
-
exports.transformPatternPropertyName = transformPatternPropertyName;
|
|
161
174
|
function joinCommentLines(indent = 2, ...description) {
|
|
162
175
|
let descriptionLines = [];
|
|
163
176
|
description.forEach((entry) => {
|
|
@@ -184,7 +197,6 @@ function joinCommentLines(indent = 2, ...description) {
|
|
|
184
197
|
`${indentSpaces} */`,
|
|
185
198
|
];
|
|
186
199
|
}
|
|
187
|
-
exports.joinCommentLines = joinCommentLines;
|
|
188
200
|
function joinOneOfValues(values, primitive) {
|
|
189
201
|
const joined = values.join(' | ');
|
|
190
202
|
if (joined.length > 120) {
|
|
@@ -195,7 +207,6 @@ function joinOneOfValues(values, primitive) {
|
|
|
195
207
|
return joined;
|
|
196
208
|
}
|
|
197
209
|
}
|
|
198
|
-
exports.joinOneOfValues = joinOneOfValues;
|
|
199
210
|
function formatArrayDepth(value, depth) {
|
|
200
211
|
if (value.endsWith("'") || value.includes('|')) {
|
|
201
212
|
return `Array<${value}>` + '[]'.repeat(depth - 1); // Need decrement depth value because of Array<T> has its own depth
|
|
@@ -204,7 +215,6 @@ function formatArrayDepth(value, depth) {
|
|
|
204
215
|
return value + '[]'.repeat(depth);
|
|
205
216
|
}
|
|
206
217
|
}
|
|
207
|
-
exports.formatArrayDepth = formatArrayDepth;
|
|
208
218
|
function resolvePrimitiveTypesArray(types) {
|
|
209
219
|
const isEveryTypePrimitive = types.every((type) => !!constants_1.primitiveTypes[type]);
|
|
210
220
|
if (isEveryTypePrimitive) {
|
|
@@ -212,4 +222,3 @@ function resolvePrimitiveTypesArray(types) {
|
|
|
212
222
|
}
|
|
213
223
|
return null;
|
|
214
224
|
}
|
|
215
|
-
exports.resolvePrimitiveTypesArray = resolvePrimitiveTypesArray;
|