@ahriknow/utils
v0.1.0
Published
## Install
Readme
Utils for js/ts
Install
npm install --save @ahriknow/utils
# OR
yarn add @ahriknow/utilsUsage
Datetime
import { dateTime } from '@ahriknow/utils/datetime'
let dt = dateTime("2023-01-01 01:02:30.100") // default args is new Date(), support Date, number, string
dt.format('yyyy-MM-dd hh:mm:ss.SSS') // 2023-01-01 01:02:30.100
dt.year // 2023
dt.month // 1
dt.day // 1
dt.hour // 1
dt.minute // 2
dt.second // 30
dt.millisecond // 100
dt.dayOfWeek // 0
dt.year += 1 // 2024
dt.month = 2
dt.format('yyyy-MM-dd hh:mm:ss.SSS') // 2024-02-01 01:02:30.100regex
import regex from '@ahriknow/utils/regex'
regex.verify('abc', /abc/) // true
regex.isMobile('13100000000') // true
regex.mobile('1310000000') // false
regex.isPhone('010-12345678') // true
regex.phone('010-1234567x') // false
regex.isEmail('[email protected]') // true
regex.email('name@domain') // false
regex.isIPV4('127.0.0.1') // true
regex.ipv4('127.0.0.256') // false
regex.isIPV6('2001:0db8:85a3:0000:0000:8a2e:0370:7334') // true
regex.ipv6('2001:0db8:85a3:0000:0000:8a2e:0370:7334:') // false
regex.isDomain('domain.com') // true
regex.domain('domain') // false
regex.isURL('https://domain.com') // true
regex.url('xxx') // false
regex.isChinese('中文') // true
regex.chinese('中文a') // false
regex.hasChinese('中文a') // true
regex.hasChinese('abc') // false
regex.isNumber('123') // true
regex.number('123a') // falseArray
import { extend } from '@ahriknow/utils/array'
let data = [1, 2, 3, 4, 5]
extend(data)
data.max() // 5
data.min() // 1
data.sum() // 15
data.avg() // 3
data.median() // 3
data.mode() // 1
data = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
data.distinct() // [1, 2, 3, 4, 5]
// OR
import { init } from '@ahriknow/utils/array'
init()
let data = [1, 2, 3, 4, 5]
data.max() // 5
data.min() // 1
data.sum() // 15
data.avg() // 3
data.median() // 3
data.mode() // 1
data = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
data.distinct() // [1, 2, 3, 4, 5]Build from source
git clone
npm install
# OR
yarn
npm run build
# OR
yarn buildTest
npm run test
# OR
yarn test
# coverage
# PASS src/__tests__/datetime.test.ts
# PASS src/__tests__/regex.test.ts
# PASS src/__tests__/array.test.ts
# -----------|---------|----------|---------|---------|-------------------
# File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
# -----------|---------|----------|---------|---------|-------------------
# All files | 100 | 100 | 100 | 100 |
# array | 100 | 100 | 100 | 100 |
# index.ts | 100 | 100 | 100 | 100 |
# datetime | 100 | 100 | 100 | 100 |
# index.ts | 100 | 100 | 100 | 100 |
# regex | 100 | 100 | 100 | 100 |
# index.ts | 100 | 100 | 100 | 100 |
# -----------|---------|----------|---------|---------|-------------------
# Test Suites: 3 passed, 3 total
# Tests: 7 passed, 7 total
# Snapshots: 0 total