EventEmitter
EventEmitter
static
EventEmitter.listenersList
listenersList: Array<string>Возвращает список всех событий, на которых имеются подписчики
EventEmitter.on
on(eventName: string, callback: Listener)Подписка на события
Parameters
eventName: string:callback: Listener:
Rest
Отправка запросов
static
Rest.defaultHeaders
defaultHeaders: StringsMapЗаголовки, отправляемые с каждым запросом
Example
{
'X-Access-Token': 'qwfg34gtrb
}Rest.getUrl
getUrl(url: string, query: mixed?): stringВозвращает полный url
Parameters
url: string:query: mixed?:
Returns
Example
this.getUrl( '/devices', '?status=1' )
// https://api.addreality.com/devices?status=1Rest.get
get(urlIn: string, bodyIn: AnyMap?, optsIn: AddonRequestOptsType?): anyМетод GET-запроса
Parameters
urlIn: string:bodyIn: AnyMap?:optsIn: AddonRequestOptsType?:
Returns
any
Rest.post
post(url: string, body: AnyMap?, opts: AddonRequestOptsType?): anyМетод POST-запроса
Parameters
url: string:body: AnyMap?:opts: AddonRequestOptsType?:
Returns
any
Time
static
Time.convertFromStr
convertFromStr(dateStr: string): (Date | null)Конвертирует строку в Date
Parameters
dateStr: string:
Returns
(Date | null)
Example
convertFromStr( '2018-06-09T15:15:14.048Z' ) // Date
convertFromStr( 'qwe' ) // nullTime.hmsToSec
hmsToSec(hms: HmsType): numberВозвращает количество секунд. Принимает объект или массив часов, минут, секунд
Parameters
hms: HmsType:
Returns
number seconds
Example
hmsToSec( { h: 0, m: 2, s: 3 } ) // 123
hmsToSec( { h: '00', m: '02', s: '03' } ) // 123
hmsToSec( [ 0, 2, 3 ] ) // 123
hmsToSec( [ '00', '02', '03' ] ) // 123Time.toStr
toStr(num: number): stringДелает строку из числа, плюч добавляет 0 впереди, если число меньше 10
Parameters
num: number:
Returns
Example
toStr( 59 ) // '59'
toStr( 1 ) // '01'Time.getNow
getNow(): DateВозвращает дату с текущим временем в нулевой временной зоне
Returns
Example
// now is 17:00
const d = new Date() // 2018-06-06T14:00:00.612Z
d.getHours() // 17
d.getUTCHours() // 14
getNow().getUTCHours() // 17Time.checkTimestamp
checkTimestamp(ts: number?): CheckTimestampReturnTypeПроверяет timestamp в секундах или милисекундах
Parameters
ts: number?:
Returns
CheckTimestampReturnType
Example
checkTimestamp( '123' )
// { isValid: false }
checkTimestamp( 1528547903882 )
// { isValid: true, isInSec: false, isInMs: true, ts: 1528547903882 }
checkTimestamp( 1528547903 )
// { isValid: true, isInSec: true, isInMs: false, ts: 1528547903 }Time.tsToSec
tsToSec(ts: number): numberПереводит timestamp в секунды
Parameters
ts: number:
Returns
Example
tsToSec( 1528304655612 ) // 1528304656
tsToSec( 1528304656 ) // 1528304656
tsToSec( 'asd' ) // 0Time.tsToMs
tsToMs(ts: number): numberПереводит timestamp в милисекунды
Parameters
ts: number:
Returns
Example
tsToMs( 1528304656 ) // 1528304655612
tsToMs( 1528304655612 ) // 1528304655612
tsToMs( 'asd' ) // 0Time.get
get(d: Date, partName: PartNameType): numberДубоирует функционал Date.getUTC*
Parameters
d: Date:partName: PartNameType:
Returns
Example
get( date, 'y' ) // 2018
get( date, 'd' ) // 31Time.set
set(d: Date, partName: PartNameType, args: ...Array<number>)Дублирует функционал Date.setUTC*
Example
set( date, 'h', 23 ) // undefined
set( date, 'm', 59 )Time.getHmsFromDate
getHmsFromDate(d: Date): ObjHmsTypeВозвращает объект с часами, минутами, секундами из переданной даты
Parameters
d: Date:
Returns
ObjHmsType
Example
getHmsFromDate( date )
// {
// h: 13,
// m: 45
// s: 59
// }Time.getObjDateFromDate
getObjDateFromDate(d: Date): ObjHmsTypeВозвращает дату в виде объекта
Parameters
d: Date:
Returns
ObjHmsType
Example
getObjDateFromDate( date )
// {
// y: 2018,
// M: 1,
// d: 28,
// h: 13,
// m: 45
// s: 59
// }Time.getLastDateInMonth
getLastDateInMonth(date: Date): numberВозвращает последнее число месяца в переданной дате
Parameters
date: Date:
Returns
Example
getLastDateInMonth( date ) // 31
getLastDateInMonth( date2 ) // 28Time.daysBetween
daysBetween(date1: Date, date2: Date): numberВозвращает количество дней между двумя датами
Returns
Time.secToHms
secToHms(seconds: number): {h: number, m: number, s: number}Переводит секунды в часы, минуты, секунды
Parameters
seconds: number:
Example
secToHms( 123456 ) // { h: 10, m: 17, s: 36 }Time.secToHms_str
secToHms_str(seconds: number): {h: string, m: string, s: string}Переводит секунды в часы, минуты, секунды Возвращает объект с форматированными строками
Parameters
seconds: number:
Example
secToHms_str( 123 ) // { h: '00', m: '02', s: '03' }TimingParser
TimingParser
static
TimingParser.setVal
setVal(name: NamesType, val: ValType)Устанавливает значение определённого типа
Parameters
name: NamesType:val: ValType:
Example
this.setVal( 'date', [ 2, 15, 31 ] )TimingParser.getStr
getStr(): stringВозвращает все заданные значения в виде одной строки
Returns
Example
this.getStr()
// "(19:00:00-19:01:00, 20:20:01-21:30:59); d0010100; D1,2,3,5-10,20; m0,1,2,5-8,11"TimingParser.getVals
getVals(): anyВозвращает все заданные значения в виде массивов
Returns
any
Example
this.getVals()
// {
// time: [ 0, 86399 ],
// day: [ 1, 6 ],
// date: [],
// month: [ 11 ]
// }TimingParser.parseStr
parseStr(str: string?): TimingParserПринимает строку таймингов и задаёт всё указанные значения
Parameters
str: string?:"d0010100; D1,2,3,5-10,20"
Returns
TimeVal
TimeVal
static
TimeVal.hmsStrToSec
hmsStrToSec(hmsStr: string): numberParameters
hmsStr: string:21:30:59
Returns
number 85399
TimeVal.hmsStrPeriodToSec
hmsStrPeriodToSec(hmsPeriodStr: string): OnePeriodTypeParameters
hmsPeriodStr: string:20:20:01-21:30:59
Returns
OnePeriodType [ 200, 379 ]
TimeVal.parseStr
parseStr(s: ValidStrType): ValidValTypeParameters
s: ValidStrType:(19:00:00-19:01:00,20:20:01-21:30:59)
Returns
ValidValType [ seconds, seconds, 0, 86399 ]
Xhr
Обёртка над XMLHttpRequest
static
Xhr.loadJSON
loadJSON(filePath: string): Promise<LoadJSONreturnType>Загружает данные из json-файла
Parameters
filePath: string:
Returns
Promise<LoadJSONreturnType>
Example
Xhr.loadJSON( './path/to/file.json' )
.then( resp => {
console.log( resp )
// { hasErr: false, value: { x: 3 } }
// or
// { hasErr: true, error: 'parse error' | 'loading error' }
} )Finder
Поисковик, удалятор, вставлятор, переключатор
static
Finder.from
from(arr: Array<T>, params: ParamsType?): Finder<T>Создаёт экземпляр Finder, аналогично new Finder( arr, ?params )
Parameters
arr: Array<T>:params: ParamsType?:
Returns
Finder<T>
Finder.value
value(): (T | null)Возвращает найдённой элемент или null (чистит за собой)
Returns
(T | null)
Finder.valueInd
valueInd(): numberВозвращает индекс найденного элемента или -1 (чистит за собой)
Returns
Finder.byIdAndType
byIdAndType(id: string, type: any): Finder<T>Ищет по id и типу
Parameters
id: string:type: any:
Returns
Finder<T>
Finder.byItem
byItem(item: T): Finder<T>Ищет переданный item заполняет _finded и _findedIndex
Parameters
item: T:
Returns
Finder<T>
Finder.pushIfNotExist
pushIfNotExist(item: T)Вставляет элемент, если его нет в массиве
Parameters
item: T:
__Array
static
__Array.castArr
castArr(maybeArr: Array<any>?): Array<any>Возвращает переданный аргумент, если он является массивом, иначе новый пустой массив
Parameters
maybeArr: Array<any>?:
Returns
Array<any>
Example
castArr( [ 1, 2, 3 ] ) // [ 1, 2, 3 ]
castArr( { x: [ 1, 2, 3 ] } ) // []__Array.toggleIncluding
toggleIncluding(array: Array<T>, item: T): Array<T>Возвращает новый массив и исключает из него элемент, если он присутствует, либо добавляет, если его там нет
Parameters
array: Array<T>:item: T:
Returns
Array<T>
Example
toggleIncluding( [ 1, 2, 3 ], 2 ) // [ 1, 3 ]
toggleIncluding( [ 1, 2, 3 ], 5 ) // [ 1, 2, 3, 5 ]__Array.resetArr
resetArr(arr: Array<T>, newVals: Array<T>?)Заменяет элементы массива если они переданы вторым аргументом, иначе очищает массив
__Array.findById
findById(arr: Array<T>, id: string): (T | null)Поиск индекса элемента в массиве по id
Returns
(T | null)
__Array.findIndById
findIndById(arr: Array<T>, id: string): numberПоиск индекса элемента в массиве по id
Returns
__Array.findByIdAndType
findByIdAndType(arr: Array<T>, params: HasIdTypeItemType): (T | null)Поиск элемента в массиве по id и type
Parameters
arr: Array<T>:params: HasIdTypeItemType:
Returns
(T | null)
__Function
static
__Function.debounce
debounce(func: function, ms: number): functionВернёт версию функции, исполнение которой начнётся не ранее, чем истечёт промежуток wait, после её последнего вызова
Returns
Example
const lazyOnresizeCallback = _.debounce(calculateLayout, 300);
window.onresize = lazyOnresizeCallback__Function.throttle
throttle(func: function, ms: number): functionВернёт версию функции, которая будет вызываться не чаще чем ms
Returns
Example
const lazyOnresizeCallback = _.throttle(calculateLayout, 300);
window.onresize = lazyOnresizeCallback__Function.sortCb_num
sortCb_num(a: number, b: number): numberФункция сортировки чисел от меньшего к большему
Returns
Example
[ 3, 7, 1 ].sort( sortCb_num ) // [ 1, 3, 7 ]__Function.sortCb_str
sortCb_str(a: string, b: string): numberФункция для сортировки строк по алфавиту
Returns
Example
[ 'Z', '1', 'A' ].sort( sortCb_str ) // [ '1', 'A', 'Z' ]is
static
is.isNullSome
isNullSome(args: ...any): booleanПроверяет все ли переданные аргументы являются null
Parameters
args: ...any:
Returns
json
static
json.parse
parse(s: string?): (mixed | null)Парсит входящий аргумент, при ошибке возвращает null
Parameters
s: string?:
Returns
(mixed | null)
Example
parse( "{\"x\":3}" ) // { x: 3 }
parse( [] ) // nullcast
cast
Parameters
val: any:type: (:"string"|"number"|"boolean"|"object"|"array"|"null"|"function")
Returns
any
__Number
__Object
static
__Object.getFullType
getFullType(some: any): stringВозвращает полный тип передаваемого аргумента
Parameters
some: any:
Returns
string [object Number]
Example
getFullType( [] ) // [object Array]
getFullType( null ) // [object Null]__Object.castObj
castObj(maybeObj: any): {}Возвращает аргумент, если он - объект, либо пустой объект
Parameters
maybeObj: any:
Returns
{}Example
castObj( { x: 3 } ) // { x: 3 }
castObj( undefined ) // {}prepareRequestBody
Подготавливает body для запросов в виде json, query-параметров или FormData
Parameters
arg: InputType?:arg.body: (null | void | AnyMap)?:arg.as: (:"json"|"query"|"formData"| void)?ожидаемый формат, если не указан, то json
Returns
BodyOutTypeExample
prepareRequestBody( { body: { file: Blob }, as: 'formData' } )
// FormData { file: Blob }
prepareRequestBody( { body: { x: 3 } } )
// "{\"x\":3}"
prepareRequestBody( { body: { a: 1, b: 2 }, as: 'query' } )
// "?a=1&b=2"
prepareRequestBody( { body: undefined } )
// null__String
static
__String.clearWS
clearWS(str: string): stringТримит строку и сокращает число пробелов до одного в середине строки
Parameters
str: string:" ab c "
Returns
string "ab c"
__String.randStr
randStr(): stringВозвращает рандомную строку вида \d+-random
Returns
string "1345234523452-random"
__String.castStr
castStr(maybeStr: mixed, defaultStr: string?): stringВозвращает переданный аргумент, если он является строкой, либо второй аргумент (если он присутствует и также является строкой ), либо пустую строку
Parameters
maybeStr: mixed:defaultStr: string?:
Returns
__String.cropStr
cropStr(strIn: string, maxLength: (number | null)): stringОбрезает строку до указанной длины если maxLength - число и больше нуля
Returns
__String.clearNonDigits
clearNonDigits(str: string): stringОчищает все нечисловые символы
Parameters
str: string:
Returns
__String.clearNonAlphanumeric
clearNonAlphanumeric(str: string): stringОчищает символы не входящие в паттерн [A-Za-z0-9_]
Parameters
str: string:
Returns
__String.clearNonWord
clearNonWord(str: string): stringОчищает символы не буквенные символы
Parameters
str: string: