Bunch of reusable & composable TypeScript functions
npm install cnc-tskitA bunch of TypeScript functions and constants as used by miscellaneous web applications developed and maintained by the Czech National Corpus.
The library does not use any external dependencies.
1) Install:
```
npm install cnc-tskit --save
2) Use in your code:
`ts
import { pipe, tuple, Dict, List } from 'cnc-tskit';
function uniqItems(...d:Array
return pipe(
d,
List.filter(v => !!v),
List.flatMap(v => typeof v === 'string' ? [v] : v),
List.map(v => tuple(v, true)),
Dict.fromEntries(),
Dict.keys()
);
}
`
* composeLeft;id
* pipe
* tuple
*
* isMobileTouchDevice():boolean
* type RGBA = [number, number, number, number]color2str():(c:RGBA)=>string
* hsl2Rgb(hsl:[number, number, number]):RGBA
* importColor(opacity:number, color:string):RGBA
* luminosity(value:number, color:RGBA):RGBA
* rgb2Hex(rgb:RGBA):string
* rgb2Hsl(rgb:RGBA):[number, number, number]
* textColorFromBg(bgColor:RGBA):RGBA
*
* cloneclear
* empty
* every
* filter
* filter
* find
* forEach
* fromEntries
* get
* hasKey
* hasValue
* keys
* map
* mapEntries
* mergeDict
* normalize
* remove
* set
* size
* some
* toEntries
* values
*
* addUniqueconcat
* concatr
* empty
* every
* filter
* filter
* find
* findIndex
* findRange
* flatMap
* foldl
* foldr
* forEach
* get
* groupBy
* head
* init
* join
* last
* map
* maxItem
* push
* range(from:number, to:number, step:number = 1):Array
* reduce
* removeAt
* removeValue
* repeat
* reverse
* reversed
* shift
* size
* slice
* some
* sortAlphaBy
* sortBy
* sorted
* sortedAlphaBy
* sortedBy
* tail
* toDict
* unique
* unshift
* zip
* zipAll
* zipByMappedKey
*
* enum Methodenum Status
*
* enum Code (deprecated)isArrowKey(value:string):boolean
* enum Value
*
* puid():stringhashCode(s:string):string
*
* enum AlphaLevelcalcPercentRatios
* roundToPos(v:number, numPos:number):number
* wilsonConfInterval(v:number, base:number, alphaId:AlphaLevel):[number, number]
*
* zippedWith
* escapeRegexp(s:string):stringshortenText(text:string, maxLength:number, suff:string='\u2026'):string
* function substitute(template:string, ...values:Array
* function overwriteStringFromLeft(orig:string, overwrite:string):string
* function overwriteStringFromRight(orig:string, overwrite:string):string
*
* secs2hms():(s:number)=>string
* join(...path:string[]):stringvalueToPairs
*