[d565449] | 1 | /**
|
---|
| 2 | * @param {number}
|
---|
| 3 | * @return {number}
|
---|
| 4 | */
|
---|
| 5 | export var abs = Math.abs
|
---|
| 6 |
|
---|
| 7 | /**
|
---|
| 8 | * @param {number}
|
---|
| 9 | * @return {string}
|
---|
| 10 | */
|
---|
| 11 | export var from = String.fromCharCode
|
---|
| 12 |
|
---|
| 13 | /**
|
---|
| 14 | * @param {object}
|
---|
| 15 | * @return {object}
|
---|
| 16 | */
|
---|
| 17 | export var assign = Object.assign
|
---|
| 18 |
|
---|
| 19 | /**
|
---|
| 20 | * @param {string} value
|
---|
| 21 | * @param {number} length
|
---|
| 22 | * @return {number}
|
---|
| 23 | */
|
---|
| 24 | export function hash (value, length) {
|
---|
| 25 | return charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0
|
---|
| 26 | }
|
---|
| 27 |
|
---|
| 28 | /**
|
---|
| 29 | * @param {string} value
|
---|
| 30 | * @return {string}
|
---|
| 31 | */
|
---|
| 32 | export function trim (value) {
|
---|
| 33 | return value.trim()
|
---|
| 34 | }
|
---|
| 35 |
|
---|
| 36 | /**
|
---|
| 37 | * @param {string} value
|
---|
| 38 | * @param {RegExp} pattern
|
---|
| 39 | * @return {string?}
|
---|
| 40 | */
|
---|
| 41 | export function match (value, pattern) {
|
---|
| 42 | return (value = pattern.exec(value)) ? value[0] : value
|
---|
| 43 | }
|
---|
| 44 |
|
---|
| 45 | /**
|
---|
| 46 | * @param {string} value
|
---|
| 47 | * @param {(string|RegExp)} pattern
|
---|
| 48 | * @param {string} replacement
|
---|
| 49 | * @return {string}
|
---|
| 50 | */
|
---|
| 51 | export function replace (value, pattern, replacement) {
|
---|
| 52 | return value.replace(pattern, replacement)
|
---|
| 53 | }
|
---|
| 54 |
|
---|
| 55 | /**
|
---|
| 56 | * @param {string} value
|
---|
| 57 | * @param {string} search
|
---|
| 58 | * @param {number} position
|
---|
| 59 | * @return {number}
|
---|
| 60 | */
|
---|
| 61 | export function indexof (value, search, position) {
|
---|
| 62 | return value.indexOf(search, position)
|
---|
| 63 | }
|
---|
| 64 |
|
---|
| 65 | /**
|
---|
| 66 | * @param {string} value
|
---|
| 67 | * @param {number} index
|
---|
| 68 | * @return {number}
|
---|
| 69 | */
|
---|
| 70 | export function charat (value, index) {
|
---|
| 71 | return value.charCodeAt(index) | 0
|
---|
| 72 | }
|
---|
| 73 |
|
---|
| 74 | /**
|
---|
| 75 | * @param {string} value
|
---|
| 76 | * @param {number} begin
|
---|
| 77 | * @param {number} end
|
---|
| 78 | * @return {string}
|
---|
| 79 | */
|
---|
| 80 | export function substr (value, begin, end) {
|
---|
| 81 | return value.slice(begin, end)
|
---|
| 82 | }
|
---|
| 83 |
|
---|
| 84 | /**
|
---|
| 85 | * @param {string} value
|
---|
| 86 | * @return {number}
|
---|
| 87 | */
|
---|
| 88 | export function strlen (value) {
|
---|
| 89 | return value.length
|
---|
| 90 | }
|
---|
| 91 |
|
---|
| 92 | /**
|
---|
| 93 | * @param {any[]} value
|
---|
| 94 | * @return {number}
|
---|
| 95 | */
|
---|
| 96 | export function sizeof (value) {
|
---|
| 97 | return value.length
|
---|
| 98 | }
|
---|
| 99 |
|
---|
| 100 | /**
|
---|
| 101 | * @param {any} value
|
---|
| 102 | * @param {any[]} array
|
---|
| 103 | * @return {any}
|
---|
| 104 | */
|
---|
| 105 | export function append (value, array) {
|
---|
| 106 | return array.push(value), value
|
---|
| 107 | }
|
---|
| 108 |
|
---|
| 109 | /**
|
---|
| 110 | * @param {string[]} array
|
---|
| 111 | * @param {function} callback
|
---|
| 112 | * @return {string}
|
---|
| 113 | */
|
---|
| 114 | export function combine (array, callback) {
|
---|
| 115 | return array.map(callback).join('')
|
---|
| 116 | }
|
---|
| 117 |
|
---|
| 118 | /**
|
---|
| 119 | * @param {string[]} array
|
---|
| 120 | * @param {RegExp} pattern
|
---|
| 121 | * @return {string[]}
|
---|
| 122 | */
|
---|
| 123 | export function filter (array, pattern) {
|
---|
| 124 | return array.filter(function (value) { return !match(value, pattern) })
|
---|
| 125 | }
|
---|