1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- import moment from 'moment'
- function date2s (date) {
- return moment(date).format('DD.MM.')
- }
- function time2s (date) {
- return moment(date).format('HH:mm')
- }
- function datetime2s (date) {
- return moment(date).format('DD.MM. HH:mm')
- }
- function normalize (item, type) {
- return item ? String(item).replace(/\s+/g, ' ').trim() : null
- }
- function fileSize (int) {
- let value
- if (int > Math.pow(2, 10)) {
- value = `${int / Math.pow(2, 10)}kB`
- }
- if (int > Math.pow(2, 20)) {
- value = `${int / Math.pow(2, 20)}MB`
- }
- if (int > Math.pow(2, 30)) {
- value = `${int / Math.pow(2, 30)}GB`
- }
- return value
- }
- function normalizePhone (item) {
- let phone = String(item).replace(/\s|\+|\/|,|-|'/g, '').replace(/\(0\)/, '').replace(/^0+/, '')
- if (phone.match(/[^\d*]/)) {
- return `FEHLER (nicht-numerische Zeichen): ${phone}`
- }
- if (phone.length === 0) {
- return null
- } else if (phone.length === 9) {
- // Assume swiss number
- phone = `+41${phone}`
- } else if (phone.length === 11) {
- phone = `+${phone}`
- } else {
- return `FEHLER (falsche Länge): ${phone}`
- }
- return phone
- }
- function filterFuzzy (item, filter) {
- const lowerCaseItem = item.toLowerCase()
- const substrings = filter.toLowerCase().split(/\s+/)
- let lastIndex = 0
- const indices = substrings.map(substring => {
- const index = lowerCaseItem.subString(lastIndex).indexOf(substring)
- if (index === -1) {
- return null
- } else {
- const startIndex = lastIndex + index
- const endIndex = startIndex + substring.length
- lastIndex = endIndex
- return {startIndex, endIndex}
- }
- })
- return indices
- }
- function filterExact (item, filter) {
- return item === filter
- }
- export { date2s, time2s, datetime2s, normalize, normalizePhone, fileSize, filterFuzzy, filterExact }
|