@sugarcube/source-types
v0.1.7
Published
> Utility functions to deal with different types of sources for Sugarcube.
Downloads
4
Readme
Source Types for Sugarcube
Utility functions to deal with different types of sources for Sugarcube.
@sugarcube/source-types
provides utility functions for the Sugarcube Tools distribution. The utility functions can parse, normalize and verify terms in respect to the type of the source. This packages is used across various parts of the Sugarcube distribution, such as Ncube, the Sugarcube Discovery Extension and Sugarcube itself.
Contents
Installation
npm install --save @sugarcube/source-types
Usage
import {sourceType} from "@sugarcube/source-types";
sourceType("I'm gibberish"); // undefined
sourceType("https://youtube.com/watch?v=wer23edsa"); // youtube_video
API
isTelegramChannel
: Determine if a term is a valid Telegram channel.isTwitterTweet
: Determine if a term is a valid Twitter tweet.isTwitterFeed
: Determine if a term is a valid Twitter feed.isYoutubeVideo
: Determine if a term is a valid Youtube video.isYoutubeChannel
: Determine if a term is a valid Youtube channel.isHttpUrl
: Determine if a term is a valid HTTP url.
parseTelegramChannel
: Extract a Telegram channel from a term.parseTweetId
: Extract a tweet id from a term.parseTwitterUser
: Extract a Twitter user from a term.parseYoutubeVideo
: Extract a Youtube video id from a term.parseYoutubeChannel
: Extract a Youtube channel id from a term.parseHttpUrl
: Parse a term into a valid HTTP url.
normalizeTelegramChannelUrl
: Turn a term into a normalized Telegram Channel URL.normalizeTwitterTweetUrl
: Turn a term into a normalized Twitter tweet URL.normalizeTwitterUserUrl
: Turn a term into a normalized Twitter feed URL.normalizeYoutubeVideoUrl
: Turn a term into a normalized Youtube video URL.normalizeYoutubeChannelUrl
: Turn a term into a normalized Youtube channel URL.normalizeHttpUrl
: Turn a term into a normalized HTTP url.
SourceType
A string literal type containig valid source types.
telegram_channel
twitter_tweet
twitter_channel
youtube_video
youtube_channel
http_url
sourceType
Detect the type of a source.
sourceType :: (term?: string) -> SourceType | undefined
isTelegramChannel
Check if a term is a valid Telegram channel.
isTelegramChannel :: (term?: string) -> boolean
isTwitterTweet
Check if a term is a valid Twitter tweet.
isTwitterTweet :: (term?: string) -> boolean
isTwitterFeed
Check if a term is a valid Twitter channel.
isTwitterFeed :: (term?: string) -> boolean
isYoutubeVideo
Check if a term is a valid Youtube video.
isYoutubeVideo :: (term?: string) -> boolean
isYoutubeChannel
Check if a term is a valid Youtube channel.
isYoutubeChannel :: (term?: string) -> boolean
isHttpUrl
Check if a term is a valid HTTP url.
isHttpUrl :: (term?: string) -> boolean
parseTelegramChannel
Extract a Telegram channel from a term.
parseTelegramChannel :: (term?: string) -> string | undefined
parseTelegramChannel("https://t.me/s/soscubamedia"); # soscubamedia
parseTelegramChannel("https://t.me/soscubamedia"); # soscubamedia
Channel names in the form of @soscubamedia
are not valid since they are ambiguous with Twitter user handlers.
parseTweetId
Extract a tweet id from a term.
parseTweetId :: (term?: string) -> string | undefined
parseTwitterUser
Extract a Twitter user name from a term.
parseTwitterUser :: (term?: string) -> string | undefined
parseYoutubeVideo
Extract a Youtube video id from a term.
parseYoutubeVideo :: (term?: string) -> string | undefined
parseYoutubeChannel
Extract a Youtube channel id from a term.
parseYoutubeChannel :: (term?: string) -> string | undefined
parseHttpUrl
Parse a term and return a HTTP url.
parseHttpUrl :: (term?: string) -> string | undefined
normalizeTelegramChannelUrl
Parse a Telegram channel from a term and return a normalized Telegram channel URL.
normalizeTelegramChannelUrl :: (term?: string) -> string | undefined
normalizeTwitterTweetUrl
Parse a Twitter tweet id from a term and return a normalized Twitter tweet URL.
normalizeTwitterTweetUrl :: (term?: string) -> string | undefined
normalizeTwitterUserUrl
Parse a Twitter user name from a term and return a normalized Twitter feed URL.
normalizeTwitterUserUrl :: (term?: string) -> string | undefined
normalizeYoutubeVideoUrl
Parse a Youtube Video id from a term and return a normalized Youtube video URL.
normalizeYoutubeVideoUrl :: (term?: string) -> string | undefined
normalizeYoutubeChannelUrl
Parse a Youtube channel id from a term and return a normalized Youtube channel URL.
normalizeYoutubeChannelUrl :: (term?: string) -> string | undefined
normalizeHttpUrl
Turn a term into a well formed HTTP url.
normalizeHttpUrl :: (term?: string) -> string | undefined