@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
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* This is auto-generated file, don't modify this file manually
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.WallWallpostFullTopicIdEnumNames = void 0;
|
|
7
|
+
// wall_wallpost_full topic_id enumNames
|
|
8
|
+
exports.WallWallpostFullTopicIdEnumNames = {
|
|
9
|
+
EMPTY_TOPIC: 0,
|
|
10
|
+
ART: 1,
|
|
11
|
+
IT: 7,
|
|
12
|
+
GAMES: 12,
|
|
13
|
+
MUSIC: 16,
|
|
14
|
+
PHOTO: 19,
|
|
15
|
+
SCIENCE_AND_TECH: 21,
|
|
16
|
+
SPORT: 23,
|
|
17
|
+
TRAVEL: 25,
|
|
18
|
+
TV_AND_CINEMA: 26,
|
|
19
|
+
HUMOR: 32,
|
|
20
|
+
FASHION: 43,
|
|
21
|
+
};
|
package/dist/utils.js
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.flatten = flatten;
|
|
4
|
+
exports.isString = isString;
|
|
5
|
+
exports.isObject = isObject;
|
|
6
|
+
exports.capitalizeFirstLetter = capitalizeFirstLetter;
|
|
7
|
+
exports.uniqueArray = uniqueArray;
|
|
8
|
+
exports.sortArrayAlphabetically = sortArrayAlphabetically;
|
|
9
|
+
exports.arrayToMap = arrayToMap;
|
|
10
|
+
exports.trimStringDoubleSpaces = trimStringDoubleSpaces;
|
|
11
|
+
exports.quoteJavaScriptValue = quoteJavaScriptValue;
|
|
12
|
+
exports.trimArray = trimArray;
|
|
4
13
|
function flatten(input) {
|
|
5
14
|
const stack = [...input];
|
|
6
15
|
const result = [];
|
|
@@ -17,27 +26,21 @@ function flatten(input) {
|
|
|
17
26
|
}
|
|
18
27
|
return result.reverse();
|
|
19
28
|
}
|
|
20
|
-
exports.flatten = flatten;
|
|
21
29
|
function isString(object) {
|
|
22
30
|
return typeof object === 'string';
|
|
23
31
|
}
|
|
24
|
-
exports.isString = isString;
|
|
25
32
|
function isObject(object) {
|
|
26
33
|
return Object.prototype.toString.call(object) === '[object Object]';
|
|
27
34
|
}
|
|
28
|
-
exports.isObject = isObject;
|
|
29
35
|
function capitalizeFirstLetter(string) {
|
|
30
36
|
return string.charAt(0).toUpperCase() + string.slice(1);
|
|
31
37
|
}
|
|
32
|
-
exports.capitalizeFirstLetter = capitalizeFirstLetter;
|
|
33
38
|
function uniqueArray(array) {
|
|
34
39
|
return array.filter((v, i, a) => a.indexOf(v) === i);
|
|
35
40
|
}
|
|
36
|
-
exports.uniqueArray = uniqueArray;
|
|
37
41
|
function sortArrayAlphabetically(array) {
|
|
38
42
|
return array.sort((a, b) => a.localeCompare(b));
|
|
39
43
|
}
|
|
40
|
-
exports.sortArrayAlphabetically = sortArrayAlphabetically;
|
|
41
44
|
function arrayToMap(array) {
|
|
42
45
|
if (!array) {
|
|
43
46
|
return {};
|
|
@@ -47,15 +50,12 @@ function arrayToMap(array) {
|
|
|
47
50
|
return acc;
|
|
48
51
|
}, {});
|
|
49
52
|
}
|
|
50
|
-
exports.arrayToMap = arrayToMap;
|
|
51
53
|
function trimStringDoubleSpaces(string) {
|
|
52
54
|
return string.trim().replace(/\s\s+/g, ' ');
|
|
53
55
|
}
|
|
54
|
-
exports.trimStringDoubleSpaces = trimStringDoubleSpaces;
|
|
55
56
|
function quoteJavaScriptValue(value) {
|
|
56
57
|
return isString(value) ? `'${value}'` : value;
|
|
57
58
|
}
|
|
58
|
-
exports.quoteJavaScriptValue = quoteJavaScriptValue;
|
|
59
59
|
/**
|
|
60
60
|
* Removes empty string array elements from start and end of array, trim array elements and returns the new array
|
|
61
61
|
*
|
|
@@ -71,4 +71,3 @@ function trimArray(array) {
|
|
|
71
71
|
}
|
|
72
72
|
return trimmedArray;
|
|
73
73
|
}
|
|
74
|
-
exports.trimArray = trimArray;
|
package/package.json
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vkontakte/api-schema-typescript-generator",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "VK API TypeScript generator",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "VK",
|
|
8
8
|
"url": "https://vk.com"
|
|
9
9
|
},
|
|
10
|
+
"publishConfig": {
|
|
11
|
+
"access": "public"
|
|
12
|
+
},
|
|
10
13
|
"keywords": [
|
|
11
14
|
"VK",
|
|
12
15
|
"VK API",
|
|
@@ -46,13 +49,13 @@
|
|
|
46
49
|
},
|
|
47
50
|
"devDependencies": {
|
|
48
51
|
"@types/jest": "^28.1.5",
|
|
49
|
-
"@types/node": "^
|
|
50
|
-
"@typescript-eslint/eslint-plugin": "5.
|
|
52
|
+
"@types/node": "^22.0.0",
|
|
53
|
+
"@typescript-eslint/eslint-plugin": "5.62.0",
|
|
51
54
|
"@typescript-eslint/parser": "5.62.0",
|
|
52
55
|
"@vkontakte/eslint-config": "3.1.0",
|
|
53
|
-
"eslint": "8.
|
|
54
|
-
"eslint-plugin-react": "7.
|
|
55
|
-
"eslint-plugin-react-hooks": "
|
|
56
|
+
"eslint": "8.57.1",
|
|
57
|
+
"eslint-plugin-react": "7.37.5",
|
|
58
|
+
"eslint-plugin-react-hooks": "5.0.0",
|
|
56
59
|
"jest": "28.1.3",
|
|
57
60
|
"pre-commit": "1.2.2",
|
|
58
61
|
"rimraf": "^3.0.2",
|
|
@@ -382,14 +382,14 @@ export class APITypingsGenerator {
|
|
|
382
382
|
|
|
383
383
|
private generateMethodParams(methodInfo: SchemaObject) {
|
|
384
384
|
const section = getMethodSection(methodInfo.name);
|
|
385
|
-
const interfaceName = `${methodInfo.name} params
|
|
385
|
+
const interfaceName = getInterfaceName(`${methodInfo.name} params`);
|
|
386
386
|
|
|
387
387
|
let imports: RefsDictionary = {};
|
|
388
388
|
let codeBlocks: CodeBlocksArray = [];
|
|
389
389
|
|
|
390
390
|
const codeBlock = new TypeCodeBlock({
|
|
391
391
|
type: TypeScriptCodeTypes.Interface,
|
|
392
|
-
interfaceName:
|
|
392
|
+
interfaceName: interfaceName,
|
|
393
393
|
needExport: true,
|
|
394
394
|
allowEmptyInterface: true,
|
|
395
395
|
properties: [],
|
|
@@ -417,6 +417,8 @@ export class APITypingsGenerator {
|
|
|
417
417
|
|
|
418
418
|
this.appendToFileMap(section, imports, [...codeBlocks, codeBlock]);
|
|
419
419
|
this.generateObjectsFromImports(imports);
|
|
420
|
+
|
|
421
|
+
return interfaceName;
|
|
420
422
|
}
|
|
421
423
|
|
|
422
424
|
private getResponseObjectRef(ref: string): SchemaObject | undefined {
|
|
@@ -543,7 +545,7 @@ export class APITypingsGenerator {
|
|
|
543
545
|
public generateResponse(section: string, response: SchemaObject) {
|
|
544
546
|
const result = this.getResponseCodeBlock(response);
|
|
545
547
|
if (!result) {
|
|
546
|
-
|
|
548
|
+
throw new Error('Unable to generate response');
|
|
547
549
|
}
|
|
548
550
|
|
|
549
551
|
const { codeBlocks, imports } = result;
|
|
@@ -578,16 +580,67 @@ export class APITypingsGenerator {
|
|
|
578
580
|
method = normalizedMethod;
|
|
579
581
|
this.generateObjectsFromRefs(parameterRefs);
|
|
580
582
|
|
|
581
|
-
this.generateMethodParams(
|
|
583
|
+
const methodParamsInterfaceName = this.generateMethodParams(
|
|
584
|
+
new SchemaObject(method.name, method),
|
|
585
|
+
);
|
|
582
586
|
|
|
583
|
-
Object.entries(method.responses)
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
+
const methodResponsesInterfaceName = Object.entries(method.responses)
|
|
588
|
+
.map(([responseName, responseObject]) => {
|
|
589
|
+
if (this.ignoredResponses[methodName] && this.ignoredResponses[methodName][responseName]) {
|
|
590
|
+
return;
|
|
591
|
+
}
|
|
592
|
+
|
|
593
|
+
const name = `${methodName}_${responseName}`;
|
|
594
|
+
const interfaceName = getInterfaceName(name);
|
|
595
|
+
try {
|
|
596
|
+
this.generateResponse(section, new SchemaObject(name, responseObject));
|
|
597
|
+
return interfaceName;
|
|
598
|
+
} catch (e) {
|
|
599
|
+
return;
|
|
600
|
+
}
|
|
601
|
+
})
|
|
602
|
+
.filter(Boolean) as string[];
|
|
603
|
+
|
|
604
|
+
this.generateMethodType(methodName, methodParamsInterfaceName, methodResponsesInterfaceName);
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
private generateMethodType(
|
|
608
|
+
methodName: string,
|
|
609
|
+
methodParamsInterfaceName: string,
|
|
610
|
+
methodResponsesInterfaceName: string[],
|
|
611
|
+
) {
|
|
612
|
+
const codeBlock = new TypeCodeBlock({
|
|
613
|
+
type: TypeScriptCodeTypes.Interface,
|
|
614
|
+
interfaceName: getInterfaceName(`${methodName} method`),
|
|
615
|
+
needExport: true,
|
|
616
|
+
allowEmptyInterface: true,
|
|
617
|
+
properties: [],
|
|
618
|
+
});
|
|
619
|
+
|
|
620
|
+
codeBlock.addProperty({
|
|
621
|
+
name: 'method',
|
|
622
|
+
value: methodName,
|
|
623
|
+
isRequired: true,
|
|
624
|
+
wrapValue: true,
|
|
625
|
+
});
|
|
587
626
|
|
|
588
|
-
|
|
589
|
-
|
|
627
|
+
codeBlock.addProperty({
|
|
628
|
+
name: 'request',
|
|
629
|
+
value: methodParamsInterfaceName,
|
|
630
|
+
isRequired: true,
|
|
590
631
|
});
|
|
632
|
+
|
|
633
|
+
codeBlock.addProperty({
|
|
634
|
+
name: 'response',
|
|
635
|
+
value:
|
|
636
|
+
methodResponsesInterfaceName.length > 0
|
|
637
|
+
? methodResponsesInterfaceName.join(' | ')
|
|
638
|
+
: 'unknown',
|
|
639
|
+
isRequired: true,
|
|
640
|
+
});
|
|
641
|
+
|
|
642
|
+
const section = getMethodSection(methodName);
|
|
643
|
+
this.appendToFileMap(section, {}, [codeBlock]);
|
|
591
644
|
}
|
|
592
645
|
|
|
593
646
|
private generateMethods() {
|
|
@@ -601,11 +654,38 @@ export class APITypingsGenerator {
|
|
|
601
654
|
|
|
602
655
|
Object.keys(this.methodFilesMap).forEach((section) => {
|
|
603
656
|
const { imports, codeBlocks } = this.methodFilesMap[section];
|
|
657
|
+
const methodNames: string[] = [];
|
|
604
658
|
codeBlocks.forEach((codeBlock) => {
|
|
605
659
|
if (codeBlock instanceof TypeCodeBlock && codeBlock.needExport && codeBlock.interfaceName) {
|
|
660
|
+
/**
|
|
661
|
+
* for interfaceName structure
|
|
662
|
+
* @see this.generateMethodType
|
|
663
|
+
*/
|
|
664
|
+
if (codeBlock.interfaceName.endsWith('Method')) {
|
|
665
|
+
methodNames.push(codeBlock.interfaceName);
|
|
666
|
+
// Skip export as it will be exported in union type
|
|
667
|
+
return;
|
|
668
|
+
}
|
|
669
|
+
|
|
606
670
|
this.registerExport(`./methods/${section}`, codeBlock.interfaceName);
|
|
607
671
|
}
|
|
608
672
|
});
|
|
673
|
+
|
|
674
|
+
if (methodNames.length > 0) {
|
|
675
|
+
const sectionMethodsCodeBlock = new TypeCodeBlock({
|
|
676
|
+
type: TypeScriptCodeTypes.Type,
|
|
677
|
+
interfaceName: getInterfaceName(`${section} methods union`),
|
|
678
|
+
needExport: true,
|
|
679
|
+
allowEmptyInterface: true,
|
|
680
|
+
value: methodNames.join(' | '),
|
|
681
|
+
properties: [],
|
|
682
|
+
});
|
|
683
|
+
|
|
684
|
+
codeBlocks.push(sectionMethodsCodeBlock);
|
|
685
|
+
|
|
686
|
+
this.registerExport(`./methods/${section}`, sectionMethodsCodeBlock.interfaceName);
|
|
687
|
+
}
|
|
688
|
+
|
|
609
689
|
const code = [generateImportsBlock(imports, null), ...codeBlocks];
|
|
610
690
|
|
|
611
691
|
this.registerResultFile(
|
|
@@ -685,8 +765,23 @@ export class APITypingsGenerator {
|
|
|
685
765
|
}).toString(),
|
|
686
766
|
);
|
|
687
767
|
|
|
768
|
+
code.push(`
|
|
769
|
+
type MethodOf<M> = M extends { method: string } ? M['method'] : never;
|
|
770
|
+
type RequestOf<M> = M extends { request: unknown } ? M['request'] : never;
|
|
771
|
+
type ResponseOf<M> = M extends { response: unknown } ? M['response'] : never;
|
|
772
|
+
|
|
773
|
+
export type CreateMethodMap<Type extends { method: string }> = {
|
|
774
|
+
[Property in Type as Property['method']]: {
|
|
775
|
+
method: MethodOf<Property>;
|
|
776
|
+
request: RequestOf<Property>;
|
|
777
|
+
response: ResponseOf<Property>;
|
|
778
|
+
};
|
|
779
|
+
};
|
|
780
|
+
`);
|
|
781
|
+
|
|
688
782
|
this.registerExport('./common/common', 'API_VERSION');
|
|
689
783
|
this.registerExport('./common/common', getInterfaceName(baseAPIParamsInterfaceName));
|
|
784
|
+
this.registerExport('./common/common', 'CreateMethodMap');
|
|
690
785
|
this.registerResultFile(path.join('common', 'common.ts'), code.join(newLineChar.repeat(2)));
|
|
691
786
|
}
|
|
692
787
|
|
|
@@ -698,6 +793,60 @@ export class APITypingsGenerator {
|
|
|
698
793
|
|
|
699
794
|
const blocks: string[] = [];
|
|
700
795
|
let exportedObjects: Dictionary<boolean> = {};
|
|
796
|
+
let methodNames = new Set<string>();
|
|
797
|
+
|
|
798
|
+
sortArrayAlphabetically(Object.keys(this.exports)).forEach((path) => {
|
|
799
|
+
if (!path.startsWith('./methods/')) {
|
|
800
|
+
return;
|
|
801
|
+
}
|
|
802
|
+
|
|
803
|
+
const objects = Object.keys(this.exports[path]);
|
|
804
|
+
if (!objects.length) {
|
|
805
|
+
return;
|
|
806
|
+
}
|
|
807
|
+
|
|
808
|
+
const blockLines: string[] = [];
|
|
809
|
+
|
|
810
|
+
sortArrayAlphabetically(objects).forEach((object) => {
|
|
811
|
+
/**
|
|
812
|
+
* for interfaceName structure
|
|
813
|
+
* @see this.generateMethods
|
|
814
|
+
*/
|
|
815
|
+
if (!methodNames.has(object) && /^[A-Z][a-zA-Z0-9]*MethodsUnion$/.test(object)) {
|
|
816
|
+
methodNames.add(object);
|
|
817
|
+
exportedObjects[object] = true; // To skip in export block
|
|
818
|
+
blockLines.push(` ${object},`);
|
|
819
|
+
}
|
|
820
|
+
});
|
|
821
|
+
|
|
822
|
+
if (blockLines.length > 0) {
|
|
823
|
+
blockLines.unshift('import type {');
|
|
824
|
+
blockLines.push(`} from '${path.replace('.ts', '')}';`);
|
|
825
|
+
|
|
826
|
+
blocks.push(blockLines.join(newLineChar));
|
|
827
|
+
}
|
|
828
|
+
});
|
|
829
|
+
|
|
830
|
+
blocks.push("import type { CreateMethodMap } from './common/common';");
|
|
831
|
+
|
|
832
|
+
const methodsCodeBlock = new TypeCodeBlock({
|
|
833
|
+
type: TypeScriptCodeTypes.Type,
|
|
834
|
+
interfaceName: 'ApiMethodsUnion',
|
|
835
|
+
needExport: false,
|
|
836
|
+
properties: [],
|
|
837
|
+
value: Array.from(methodNames).join(' | '),
|
|
838
|
+
});
|
|
839
|
+
blocks.push(methodsCodeBlock.toString());
|
|
840
|
+
|
|
841
|
+
blocks.push(
|
|
842
|
+
new TypeCodeBlock({
|
|
843
|
+
type: TypeScriptCodeTypes.Type,
|
|
844
|
+
interfaceName: 'ApiMethodsMap',
|
|
845
|
+
needExport: true,
|
|
846
|
+
properties: [],
|
|
847
|
+
value: `CreateMethodMap<${methodsCodeBlock.interfaceName}>`,
|
|
848
|
+
}).toString(),
|
|
849
|
+
);
|
|
701
850
|
|
|
702
851
|
sortArrayAlphabetically(Object.keys(this.exports)).forEach((path) => {
|
|
703
852
|
const objects = Object.keys(this.exports[path]);
|