You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
116 lines
2.0 KiB
116 lines
2.0 KiB
|
3 years ago
|
/**
|
||
|
|
* @param {number}
|
||
|
|
* @return {number}
|
||
|
|
*/
|
||
|
|
export var abs = Math.abs
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @param {number}
|
||
|
|
* @return {string}
|
||
|
|
*/
|
||
|
|
export var from = String.fromCharCode
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @param {object}
|
||
|
|
* @return {object}
|
||
|
|
*/
|
||
|
|
export var assign = Object.assign
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @param {string} value
|
||
|
|
* @param {number} length
|
||
|
|
* @return {number}
|
||
|
|
*/
|
||
|
|
export function hash (value, length) {
|
||
|
|
return charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @param {string} value
|
||
|
|
* @return {string}
|
||
|
|
*/
|
||
|
|
export function trim (value) {
|
||
|
|
return value.trim()
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @param {string} value
|
||
|
|
* @param {RegExp} pattern
|
||
|
|
* @return {string?}
|
||
|
|
*/
|
||
|
|
export function match (value, pattern) {
|
||
|
|
return (value = pattern.exec(value)) ? value[0] : value
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @param {string} value
|
||
|
|
* @param {(string|RegExp)} pattern
|
||
|
|
* @param {string} replacement
|
||
|
|
* @return {string}
|
||
|
|
*/
|
||
|
|
export function replace (value, pattern, replacement) {
|
||
|
|
return value.replace(pattern, replacement)
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @param {string} value
|
||
|
|
* @param {string} search
|
||
|
|
* @return {number}
|
||
|
|
*/
|
||
|
|
export function indexof (value, search) {
|
||
|
|
return value.indexOf(search)
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @param {string} value
|
||
|
|
* @param {number} index
|
||
|
|
* @return {number}
|
||
|
|
*/
|
||
|
|
export function charat (value, index) {
|
||
|
|
return value.charCodeAt(index) | 0
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @param {string} value
|
||
|
|
* @param {number} begin
|
||
|
|
* @param {number} end
|
||
|
|
* @return {string}
|
||
|
|
*/
|
||
|
|
export function substr (value, begin, end) {
|
||
|
|
return value.slice(begin, end)
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @param {string} value
|
||
|
|
* @return {number}
|
||
|
|
*/
|
||
|
|
export function strlen (value) {
|
||
|
|
return value.length
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @param {any[]} value
|
||
|
|
* @return {number}
|
||
|
|
*/
|
||
|
|
export function sizeof (value) {
|
||
|
|
return value.length
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @param {any} value
|
||
|
|
* @param {any[]} array
|
||
|
|
* @return {any}
|
||
|
|
*/
|
||
|
|
export function append (value, array) {
|
||
|
|
return array.push(value), value
|
||
|
|
}
|
||
|
|
|
||
|
|
/**
|
||
|
|
* @param {string[]} array
|
||
|
|
* @param {function} callback
|
||
|
|
* @return {string}
|
||
|
|
*/
|
||
|
|
export function combine (array, callback) {
|
||
|
|
return array.map(callback).join('')
|
||
|
|
}
|