@magic-xpa/utils
Version:
magic utils package
1,008 lines (1,002 loc) • 92 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { NString, RefParam, StringBuilder } from "@magic-xpa/mscorelib";
import { UtilStrByteMode } from "./UtilStrByteMode";
import { Rtf } from "./Rtf";
/** @type {?} */
var HTML_BACKSLASH = "\";
/** @type {?} */
var HTML_COMMA = ",";
/** @type {?} */
var HTML_HYPHEN = "-";
/** @type {?} */
var STR_2_HTML = 1;
/** @type {?} */
export var SEQ_2_HTML = 2;
/** @type {?} */
export var HTML_2_STR = 3;
/** @type {?} */
var HTML_2_SEQ = 4;
/** @type {?} */
export var SEQ_2_STR = 5;
var StrUtil = /** @class */ (function () {
function StrUtil() {
}
/// <summary> trim the end of the string</summary>
/**
* @param {?} str
* @param {?} len
* @return {?}
*/
StrUtil.mem_trim = /**
* @param {?} str
* @param {?} len
* @return {?}
*/
function (str, len) {
/** @type {?} */
var result;
if (len > 0) {
if (len > str.length) {
result = -1;
return result;
}
while (len > 0 && str[len - 1] === ' ') {
len = len - 1;
}
}
result = len;
return result;
};
/**
* @param {?} dest
* @param {?} destCount
* @param {?} src
* @param {?} srcCount
* @param {?} len
* @return {?}
*/
StrUtil.memmove = /**
* @param {?} dest
* @param {?} destCount
* @param {?} src
* @param {?} srcCount
* @param {?} len
* @return {?}
*/
function (dest, destCount, src, srcCount, len) {
/** @type {?} */
var stringBuilder = new StringBuilder(dest.length + len);
if (UtilStrByteMode.isLocaleDefLangJPN() && dest.length < destCount) {
stringBuilder.Append(NString.FromChar(' ', destCount));
}
else {
stringBuilder.Append(dest.substr(0, destCount));
}
stringBuilder.Append(src.substr(srcCount, len));
if (stringBuilder.Length < dest.length) {
stringBuilder.Append(dest.substr(stringBuilder.Length));
}
return stringBuilder.ToString();
};
/**
* @param {?} dest
* @param {?} destCount
* @param {?} src
* @param {?} scrCountOrSrcCount
* @param {?} count
* @return {?}
*/
StrUtil.memcpy = /**
* @param {?} dest
* @param {?} destCount
* @param {?} src
* @param {?} scrCountOrSrcCount
* @param {?} count
* @return {?}
*/
function (dest, destCount, src, scrCountOrSrcCount, count) {
if (arguments.length === 5 && (dest === null || dest.constructor === String) && (destCount === null || destCount.constructor === Number) && (src === null || src.constructor === String) && (scrCountOrSrcCount === null || scrCountOrSrcCount.constructor === Number) && (count === null || count.constructor === Number)) {
return StrUtil.memcpy_0(dest, destCount, src, scrCountOrSrcCount, count);
}
StrUtil.memcpy_1(dest, destCount, src, scrCountOrSrcCount, count);
};
/**
* @param {?} dest
* @param {?} destCount
* @param {?} src
* @param {?} scrCount
* @param {?} count
* @return {?}
*/
StrUtil.memcpy_0 = /**
* @param {?} dest
* @param {?} destCount
* @param {?} src
* @param {?} scrCount
* @param {?} count
* @return {?}
*/
function (dest, destCount, src, scrCount, count) {
/** @type {?} */
var stringBuilder = new StringBuilder(dest.substr(0, destCount));
if (scrCount + count < src.length) {
stringBuilder.Append(src.substr(scrCount, count - scrCount));
}
else {
stringBuilder.Append(src.substr(scrCount));
}
/** @type {?} */
var size = dest.length - destCount - count;
if (size > 0) {
stringBuilder.Append(dest.substr(destCount + count));
}
return stringBuilder.ToString();
};
/**
* @param {?} dest
* @param {?} destCount
* @param {?} src
* @param {?} srcCount
* @param {?} count
* @return {?}
*/
StrUtil.memcpy_1 = /**
* @param {?} dest
* @param {?} destCount
* @param {?} src
* @param {?} srcCount
* @param {?} count
* @return {?}
*/
function (dest, destCount, src, srcCount, count) {
while (count > 0 && destCount < dest.length && srcCount < src.length) {
dest[destCount++] = src[srcCount++];
count = count - 1;
}
};
/**
* @param {?} dest
* @param {?} destCount
* @param {?} inVal
* @param {?} counter
* @return {?}
*/
StrUtil.memset = /**
* @param {?} dest
* @param {?} destCount
* @param {?} inVal
* @param {?} counter
* @return {?}
*/
function (dest, destCount, inVal, counter) {
if (arguments.length === 4 && (dest === null || dest.constructor === String) && (destCount === null || destCount.constructor === Number) && (inVal === null || inVal.constructor === Number) && (counter === null || counter.constructor === Number)) {
return StrUtil.memset_0(dest, destCount, inVal, counter);
}
StrUtil.memset_1(dest, destCount, inVal, counter);
};
/**
* @param {?} dest
* @param {?} destCount
* @param {?} inVal
* @param {?} counter
* @return {?}
*/
StrUtil.memset_0 = /**
* @param {?} dest
* @param {?} destCount
* @param {?} inVal
* @param {?} counter
* @return {?}
*/
function (dest, destCount, inVal, counter) {
/** @type {?} */
var first = new StringBuilder(dest.substr(0, destCount));
while (counter > 0) {
first.Append(inVal);
counter = counter - 1;
}
if (first.Length < dest.length) {
first.Append(dest.substr(first.Length));
}
return first.ToString();
};
/**
* @param {?} dest
* @param {?} destCount
* @param {?} inVal
* @param {?} counter
* @return {?}
*/
StrUtil.memset_1 = /**
* @param {?} dest
* @param {?} destCount
* @param {?} inVal
* @param {?} counter
* @return {?}
*/
function (dest, destCount, inVal, counter) {
while (counter > 0 && destCount < dest.length) {
dest[destCount++] = inVal;
counter = counter - 1;
}
};
/**
* @param {?} str
* @param {?} substr
* @return {?}
*/
StrUtil.strstr = /**
* @param {?} str
* @param {?} substr
* @return {?}
*/
function (str, substr) {
/** @type {?} */
var from = str.indexOf(substr);
/** @type {?} */
var result;
if (from < 0) {
result = null;
}
else {
result = str.substr(from);
}
return result;
};
/*******************************/
/// <summary>
/// Reverses string values.
/// </summary>
/// <param name="text">The StringBuilder object containing the string to be reversed.</param>
/// <returns>The reversed string contained in a StringBuilder object.</returns>
/**
* ***************************
* @param {?} text
* @return {?}
*/
StrUtil.ReverseString = /**
* ***************************
* @param {?} text
* @return {?}
*/
function (text) {
/** @type {?} */
var array = NString.ToCharArray(text.ToString());
array.reverse();
return new StringBuilder(NString.FromChars(array));
};
/// <summary> remove spaces from the right side of string</summary>
/// <param name="str">the string to trim
/// </param>
/**
* @param {?} str
* @return {?}
*/
StrUtil.rtrim = /**
* @param {?} str
* @return {?}
*/
function (str) {
return StrUtil.rtrimWithNull(str, false);
};
/// <summary> remove spaces and/or Null chars from the right side of string</summary>
/// <param name="str">the string to trim
/// </param>
/// <param name="trimNullChars">Whether to remove NULL characters or not
/// </param>
/**
* @param {?} str
* @param {?} trimNullChars
* @return {?}
*/
StrUtil.rtrimWithNull = /**
* @param {?} str
* @param {?} trimNullChars
* @return {?}
*/
function (str, trimNullChars) {
/** @type {?} */
var result;
if (typeof str === "undefined" || str === null || str.length === 0) {
result = str;
}
else {
/** @type {?} */
var idx = str.length - 1;
if (trimNullChars) {
while (idx >= 0 && (str[idx] === ' ' || str[idx] === String.fromCharCode(0) /*'