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=1
Rest.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' ) // null
Time.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' ] ) // 123
Time.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() // 17
Time.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' ) // 0
Time.tsToMs
tsToMs(ts: number): number
Переводит timestamp в милисекунды
Parameters
ts: number
:
Returns
Example
tsToMs( 1528304656 ) // 1528304655612
tsToMs( 1528304655612 ) // 1528304655612
tsToMs( 'asd' ) // 0
Time.get
get(d: Date, partName: PartNameType): number
Дубоирует функционал Date.getUTC*
Parameters
d: Date
:partName: PartNameType
:
Returns
Example
get( date, 'y' ) // 2018
get( date, 'd' ) // 31
Time.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 ) // 28
Time.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): number
Parameters
hmsStr: string
:21:30:59
Returns
number
85399
TimeVal.hmsStrPeriodToSec
hmsStrPeriodToSec(hmsPeriodStr: string): OnePeriodType
Parameters
hmsPeriodStr: string
:20:20:01-21:30:59
Returns
OnePeriodType
[ 200, 379 ]
TimeVal.parseStr
parseStr(s: ValidStrType): ValidValType
Parameters
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( [] ) // null
cast
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
BodyOutType
Example
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
: