twitter-types-lens 0.10.1 → 0.11.0
raw patch · 4 files changed
+291/−296 lines, 4 filesdep ~twitter-typessetup-changedPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: twitter-types
API changes (from Hackage documentation)
+ Web.Twitter.Types.Lens: exeVideoInfo :: Lens' ExtendedEntity (Maybe VideoInfo)
- Web.Twitter.Types.Lens: entityBody :: forall a_abaw a_abo4. Lens (Entity a_abaw) (Entity a_abo4) a_abaw a_abo4
+ Web.Twitter.Types.Lens: entityBody :: forall a_abLF a_ac0l. Lens (Entity a_abLF) (Entity a_ac0l) a_abLF a_ac0l
- Web.Twitter.Types.Lens: entityIndices :: forall a_abaw. Lens' (Entity a_abaw) EntityIndices
+ Web.Twitter.Types.Lens: entityIndices :: forall a_abLF. Lens' (Entity a_abLF) EntityIndices
- Web.Twitter.Types.Lens: searchResultSearchMetadata :: forall body_aaaD. Lens' (SearchResult body_aaaD) SearchMetadata
+ Web.Twitter.Types.Lens: searchResultSearchMetadata :: forall body_aaLM. Lens' (SearchResult body_aaLM) SearchMetadata
- Web.Twitter.Types.Lens: searchResultStatuses :: forall body_aaaD body_aaaH. Lens (SearchResult body_aaaD) (SearchResult body_aaaH) body_aaaD body_aaaH
+ Web.Twitter.Types.Lens: searchResultStatuses :: forall body_aaLM body_aaLQ. Lens (SearchResult body_aaLM) (SearchResult body_aaLQ) body_aaLM body_aaLQ
Files
- Setup.hs +1/−0
- Web/Twitter/Types/Lens.hs +260/−262
- Web/Twitter/Types/Lens/TH.hs +3/−3
- twitter-types-lens.cabal +27/−31
Setup.hs view
@@ -1,2 +1,3 @@ import Distribution.Simple+ main = defaultMain
Web/Twitter/Types/Lens.hs view
@@ -1,293 +1,291 @@-{-# LANGUAGE TemplateHaskell #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE RankNTypes #-} {-# LANGUAGE CPP #-}+{-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE FlexibleInstances #-}--module Web.Twitter.Types.Lens- (- -- * Type classes- AsStatus(..)- , AsUser(..)- , HasCreatedAt(..)- , AsImageSize(..)+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE TemplateHaskell #-} - -- * 'TT.Status'- , TT.Status- , statusContributors- , statusCoordinates- , statusCreatedAt- , statusCurrentUserRetweet- , statusEntities- , statusExtendedEntities- , statusFavoriteCount- , statusFavorited- , statusFilterLevel- , statusId- , statusInReplyToScreenName- , statusInReplyToStatusId- , statusInReplyToUserId- , statusLang- , statusPlace- , statusPossiblySensitive- , statusScopes- , statusQuotedStatusId- , statusQuotedStatus- , statusRetweetCount- , statusRetweeted- , statusRetweetedStatus- , statusSource- , statusText- , statusTruncated- , statusUser- , statusWithheldCopyright- , statusWithheldInCountries- , statusWithheldScope- , statusDisplayTextRange+module Web.Twitter.Types.Lens (+ -- * Type classes+ AsStatus (..),+ AsUser (..),+ HasCreatedAt (..),+ AsImageSize (..), - -- * 'TT.SearchResult'- , TT.SearchResult- , searchResultStatuses- , searchResultSearchMetadata+ -- * 'TT.Status'+ TT.Status,+ statusContributors,+ statusCoordinates,+ statusCreatedAt,+ statusCurrentUserRetweet,+ statusEntities,+ statusExtendedEntities,+ statusFavoriteCount,+ statusFavorited,+ statusFilterLevel,+ statusId,+ statusInReplyToScreenName,+ statusInReplyToStatusId,+ statusInReplyToUserId,+ statusLang,+ statusPlace,+ statusPossiblySensitive,+ statusScopes,+ statusQuotedStatusId,+ statusQuotedStatus,+ statusRetweetCount,+ statusRetweeted,+ statusRetweetedStatus,+ statusSource,+ statusText,+ statusTruncated,+ statusUser,+ statusWithheldCopyright,+ statusWithheldInCountries,+ statusWithheldScope,+ statusDisplayTextRange, - -- * 'TT.SearchStatus'- , TT.SearchStatus- , searchStatusCreatedAt- , searchStatusId- , searchStatusText- , searchStatusSource- , searchStatusUser- , searchStatusCoordinates+ -- * 'TT.SearchResult'+ TT.SearchResult,+ searchResultStatuses,+ searchResultSearchMetadata, - -- * 'TT.SearchMetadata'- , TT.SearchMetadata- , searchMetadataMaxId- , searchMetadataSinceId- , searchMetadataRefreshURL- , searchMetadataNextResults- , searchMetadataCount- , searchMetadataCompletedIn- , searchMetadataSinceIdStr- , searchMetadataQuery- , searchMetadataMaxIdStr+ -- * 'TT.SearchStatus'+ TT.SearchStatus,+ searchStatusCreatedAt,+ searchStatusId,+ searchStatusText,+ searchStatusSource,+ searchStatusUser,+ searchStatusCoordinates, - -- * 'TT.RetweetedStatus'- , TT.RetweetedStatus- , rsCreatedAt- , rsId- , rsText- , rsSource- , rsTruncated- , rsEntities- , rsUser- , rsRetweetedStatus- , rsCoordinates+ -- * 'TT.SearchMetadata'+ TT.SearchMetadata,+ searchMetadataMaxId,+ searchMetadataSinceId,+ searchMetadataRefreshURL,+ searchMetadataNextResults,+ searchMetadataCount,+ searchMetadataCompletedIn,+ searchMetadataSinceIdStr,+ searchMetadataQuery,+ searchMetadataMaxIdStr, - -- * 'TT.DirectMessage'- , TT.DirectMessage- , dmId- , dmCreatedTimestamp- , dmTargetRecipientId- , dmSenderId- , dmText- , dmEntities+ -- * 'TT.RetweetedStatus'+ TT.RetweetedStatus,+ rsCreatedAt,+ rsId,+ rsText,+ rsSource,+ rsTruncated,+ rsEntities,+ rsUser,+ rsRetweetedStatus,+ rsCoordinates, - -- * 'TT.Event'- , TT.Event- , evCreatedAt- , evTargetObject- , evEvent- , evTarget- , evSource+ -- * 'TT.DirectMessage'+ TT.DirectMessage,+ dmId,+ dmCreatedTimestamp,+ dmTargetRecipientId,+ dmSenderId,+ dmText,+ dmEntities, - -- * 'TT.Delete'- , TT.Delete- , delId- , delUserId+ -- * 'TT.Event'+ TT.Event,+ evCreatedAt,+ evTargetObject,+ evEvent,+ evTarget,+ evSource, - -- * 'TT.User'- , TT.User- , userContributorsEnabled- , userCreatedAt- , userDefaultProfile- , userDefaultProfileImage- , userEmail- , userDescription- , userFavoritesCount- , userFollowRequestSent- , userFollowing- , userFollowersCount- , userFriendsCount- , userGeoEnabled- , userId- , userIsTranslator- , userLang- , userListedCount- , userLocation- , userName- , userNotifications- , userProfileBackgroundColor- , userProfileBackgroundImageURL- , userProfileBackgroundImageURLHttps- , userProfileBackgroundTile- , userProfileBannerURL- , userProfileImageURL- , userProfileImageURLHttps- , userProfileLinkColor- , userProfileSidebarBorderColor- , userProfileSidebarFillColor- , userProfileTextColor- , userProfileUseBackgroundImage- , userProtected- , userScreenName- , userShowAllInlineMedia- , userStatusesCount- , userTimeZone- , userURL- , userUtcOffset- , userVerified- , userWithheldInCountries- , userWithheldScope+ -- * 'TT.Delete'+ TT.Delete,+ delId,+ delUserId, - -- * 'TT.List'- , TT.List- , listId- , listName- , listFullName- , listMemberCount- , listSubscriberCount- , listMode- , listUser+ -- * 'TT.User'+ TT.User,+ userContributorsEnabled,+ userCreatedAt,+ userDefaultProfile,+ userDefaultProfileImage,+ userEmail,+ userDescription,+ userFavoritesCount,+ userFollowRequestSent,+ userFollowing,+ userFollowersCount,+ userFriendsCount,+ userGeoEnabled,+ userId,+ userIsTranslator,+ userLang,+ userListedCount,+ userLocation,+ userName,+ userNotifications,+ userProfileBackgroundColor,+ userProfileBackgroundImageURL,+ userProfileBackgroundImageURLHttps,+ userProfileBackgroundTile,+ userProfileBannerURL,+ userProfileImageURL,+ userProfileImageURLHttps,+ userProfileLinkColor,+ userProfileSidebarBorderColor,+ userProfileSidebarFillColor,+ userProfileTextColor,+ userProfileUseBackgroundImage,+ userProtected,+ userScreenName,+ userShowAllInlineMedia,+ userStatusesCount,+ userTimeZone,+ userURL,+ userUtcOffset,+ userVerified,+ userWithheldInCountries,+ userWithheldScope, - -- * 'TT.Entities'- , TT.Entities- , enHashTags- , enUserMentions- , enURLs- , enMedia+ -- * 'TT.List'+ TT.List,+ listId,+ listName,+ listFullName,+ listMemberCount,+ listSubscriberCount,+ listMode,+ listUser, - -- * 'TT.ExtendedEntities'- , TT.ExtendedEntities- , exeMedia+ -- * 'TT.Entities'+ TT.Entities,+ enHashTags,+ enUserMentions,+ enURLs,+ enMedia, - -- * 'TT.ExtendedEntity'- , TT.ExtendedEntity- , exeID- , exeMediaUrl- , exeMediaUrlHttps- , exeURL- , exeSizes- , exeType- , exeDurationMillis- , exeExtAltText+ -- * 'TT.ExtendedEntities'+ TT.ExtendedEntities,+ exeMedia, - -- * 'TT.Entity'- , TT.Entity- , entityBody- , entityIndices+ -- * 'TT.ExtendedEntity'+ TT.ExtendedEntity,+ exeID,+ exeMediaUrl,+ exeMediaUrlHttps,+ exeURL,+ exeSizes,+ exeType,+ exeVideoInfo,+ exeDurationMillis,+ exeExtAltText, - -- * 'TT.HashTagEntity'- , TT.HashTagEntity- , hashTagText+ -- * 'TT.Entity'+ TT.Entity,+ entityBody,+ entityIndices, - -- * 'TT.UserEntity'- , TT.UserEntity- , userEntityUserId- , userEntityUserName- , userEntityUserScreenName+ -- * 'TT.HashTagEntity'+ TT.HashTagEntity,+ hashTagText, - -- * 'TT.URLEntity'- , TT.URLEntity- , ueURL- , ueExpanded- , ueDisplay+ -- * 'TT.UserEntity'+ TT.UserEntity,+ userEntityUserId,+ userEntityUserName,+ userEntityUserScreenName, - -- * 'TT.MediaEntity'- , TT.MediaEntity- , meType- , meId- , meSizes- , meMediaURL- , meMediaURLHttps- , meURL+ -- * 'TT.URLEntity'+ TT.URLEntity,+ ueURL,+ ueExpanded,+ ueDisplay, - -- * 'TT.MediaSize'- , TT.MediaSize- , msWidth- , msHeight- , msResize+ -- * 'TT.MediaEntity'+ TT.MediaEntity,+ meType,+ meId,+ meSizes,+ meMediaURL,+ meMediaURLHttps,+ meURL, - -- * 'TT.Coordinates'- , TT.Coordinates- , coordinates- , coordinatesType+ -- * 'TT.MediaSize'+ TT.MediaSize,+ msWidth,+ msHeight,+ msResize, - -- * 'TT.Place'- , TT.Place- , placeAttributes- , placeBoundingBox- , placeCountry- , placeCountryCode- , placeFullName- , placeId- , placeName- , placeType- , placeURL+ -- * 'TT.Coordinates'+ TT.Coordinates,+ coordinates,+ coordinatesType, - -- * 'TT.BoundingBox'- , TT.BoundingBox- , boundingBoxCoordinates- , boundingBoxType+ -- * 'TT.Place'+ TT.Place,+ placeAttributes,+ placeBoundingBox,+ placeCountry,+ placeCountryCode,+ placeFullName,+ placeId,+ placeName,+ placeType,+ placeURL, - -- * 'TT.Contributor'- , TT.Contributor- , contributorId- , contributorScreenName+ -- * 'TT.BoundingBox'+ TT.BoundingBox,+ boundingBoxCoordinates,+ boundingBoxType, - -- * 'TT.UploadedMedia'- , TT.UploadedMedia- , uploadedMediaId- , uploadedMediaSize- , uploadedMediaImage+ -- * 'TT.Contributor'+ TT.Contributor,+ contributorId,+ contributorScreenName, - -- * 'TT.ImageSizeType'- , TT.ImageSizeType- , imageSizeTypeWidth- , imageSizeTypeHeight- , imageSizeTypeType+ -- * 'TT.UploadedMedia'+ TT.UploadedMedia,+ uploadedMediaId,+ uploadedMediaSize,+ uploadedMediaImage, - , TT.DisplayTextRange- , displayTextRangeStart- , displayTextRangeEnd+ -- * 'TT.ImageSizeType'+ TT.ImageSizeType,+ imageSizeTypeWidth,+ imageSizeTypeHeight,+ imageSizeTypeType,+ TT.DisplayTextRange,+ displayTextRangeStart,+ displayTextRangeEnd, - -- * Type aliases and sum types- , TT.UserId- , TT.Friends- , TT.URIString- , TT.UserName- , TT.StatusId- , TT.LanguageCode- , TT.StreamingAPI(..)- , TT.EventTarget(..)- , TT.EntityIndices+ -- * Type aliases and sum types+ TT.UserId,+ TT.Friends,+ TT.URIString,+ TT.UserName,+ TT.StatusId,+ TT.LanguageCode,+ TT.StreamingAPI (..),+ TT.EventTarget (..),+ TT.EntityIndices, - -- * 'TT.StreamingAPI'- , _SStatus- , _SRetweetedStatus- , _SEvent- , _SDelete- , _SFriends- , _SDirectMessage- , _SUnknown+ -- * 'TT.StreamingAPI'+ _SStatus,+ _SRetweetedStatus,+ _SEvent,+ _SDelete,+ _SFriends,+ _SDirectMessage,+ _SUnknown, - -- * 'TT.EventTarget'- , _ETUser- , _ETStatus- , _ETList- , _ETUnknown- )- where+ -- * 'TT.EventTarget'+ _ETUser,+ _ETStatus,+ _ETList,+ _ETUnknown,+) where import Control.Lens hiding (makeLenses) import Data.Text (Text)@@ -362,9 +360,9 @@ screen_name = userEntityUserScreenName instance AsUser (TT.Entity TT.UserEntity) where- user_id = entityBody.userEntityUserId- name = entityBody.userEntityUserName- screen_name = entityBody.userEntityUserScreenName+ user_id = entityBody . userEntityUserId+ name = entityBody . userEntityUserName+ screen_name = entityBody . userEntityUserScreenName class HasCreatedAt a where created_at :: Lens' a UTCTime
Web/Twitter/Types/Lens/TH.hs view
@@ -1,14 +1,14 @@ {-# LANGUAGE CPP #-} -module Web.Twitter.Types.Lens.TH- where+module Web.Twitter.Types.Lens.TH where -import Language.Haskell.TH import Control.Lens hiding (makeLenses)+import Language.Haskell.TH makeLenses :: Name -> Q [Dec] makeLenses = makeLensesWith $ lensRules & lensField .~ nameF where+ #if MIN_VERSION_lens(4, 5, 0) nameF _ _ n = [TopName . mkName . nameBase $ n] #elif MIN_VERSION_lens(4, 4, 0)
twitter-types-lens.cabal view
@@ -1,36 +1,32 @@-name: twitter-types-lens-version: 0.10.1-synopsis: Twitter JSON types (lens powered)-description: Please see the README on Github at <https://github.com/himura/twitter-types#readme>-homepage: https://github.com/himura/twitter-types-license: BSD3-license-file: LICENSE-author: Takahiro HIMURA-maintainer: taka@himura.jp-category: Web-build-type: Simple-cabal-version: >=1.10+cabal-version: >=1.10+name: twitter-types-lens+version: 0.11.0+license: BSD3+license-file: LICENSE+maintainer: taka@himura.jp+author: Takahiro HIMURA+tested-with: ghc ==8.8.4 ghc ==8.10.4 ghc ==9.0.1+homepage: https://github.com/himura/twitter-types+synopsis: Twitter JSON types (lens powered)+description:+ Please see the README on Github at <https://github.com/himura/twitter-types#readme> -tested-with: GHC == 8.8.3, GHC == 8.10.4, GHC == 9.0.1+category: Web+build-type: Simple source-repository head- type: git- location: git://github.com/himura/twitter-types.git+ type: git+ location: git://github.com/himura/twitter-types.git library- ghc-options: -Wall-- exposed-modules:- Web.Twitter.Types.Lens- other-modules:- Web.Twitter.Types.Lens.TH-- build-depends:- base >= 4 && < 5- , lens >= 4.0- , template-haskell- , text- , time- , twitter-types >= 0.10 && < 0.11-- default-language: Haskell2010+ exposed-modules: Web.Twitter.Types.Lens+ other-modules: Web.Twitter.Types.Lens.TH+ default-language: Haskell2010+ ghc-options: -Wall+ build-depends:+ base >=4 && <5,+ lens >=4.0,+ template-haskell,+ text,+ time,+ twitter-types >=0.11 && <0.12