com.phloxui
Version:
PhloxUI Ng2+ Framework
131 lines (130 loc) • 13.6 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
export class ArrayUtils {
/**
* @param {?} dataArray
* @param {?} fromIndex
* @param {?} toIndex
* @return {?}
*/
static move(dataArray, fromIndex, toIndex) {
if (dataArray === null || typeof dataArray === 'undefined' || dataArray.length <= 0) {
return;
}
if (toIndex === null || typeof toIndex === 'undefined' || toIndex <= -1) {
return;
}
if (fromIndex === null || typeof fromIndex === 'undefined' || fromIndex <= -1) {
return;
}
if (fromIndex === toIndex) {
return;
}
if (toIndex < dataArray.length && fromIndex < dataArray.length) {
let /** @type {?} */ data = dataArray[fromIndex];
dataArray.splice(fromIndex, 1);
dataArray.splice(toIndex, 0, data);
}
}
/**
* @param {?} dataArray
* @param {?} item
* @param {?} toIndex
* @return {?}
*/
static insert(dataArray, item, toIndex) {
if (dataArray === null || typeof dataArray === 'undefined' || dataArray.length <= 0) {
return;
}
if (toIndex === null || typeof toIndex === 'undefined' || toIndex <= -1) {
return;
}
dataArray.splice(toIndex, 0, item);
}
/**
* @param {?} objectArray
* @param {?} typeOf
* @return {?}
*/
static isAllMemberTypeOf(objectArray, typeOf) {
if (objectArray === null || typeof objectArray === 'undefined') {
throw new Error("objectArray is null or undefined");
}
if (!Array.isArray(objectArray)) {
throw new Error("objectArray is not array");
}
if (objectArray.length <= 0) {
return false;
}
for (let /** @type {?} */ obj of objectArray) {
if (typeof obj !== typeOf) {
return false;
}
}
return true;
}
/**
* @param {?} objectArray
* @param {?} propKey
* @return {?}
*/
static isAllMemberHasProperty(objectArray, propKey) {
if (objectArray === null || typeof objectArray === 'undefined') {
throw new Error("objectArray is null or undefined");
}
if (!Array.isArray(objectArray)) {
throw new Error("objectArray is not array");
}
if (propKey === null || typeof propKey !== 'string') {
throw new Error("propKey must be a string: " + (typeof propKey));
}
if (objectArray.length <= 0) {
return false;
}
for (let /** @type {?} */ obj of objectArray) {
if (obj === null || typeof obj === 'undefined') {
return false;
}
if (obj[/** @type {?} */ (propKey)] === undefined) {
return false;
}
}
return true;
}
/**
* @param {?} objectArray
* @param {?} propKey
* @param {?} typeOf
* @return {?}
*/
static isAllMemberHasPropertyTypeOf(objectArray, propKey, typeOf) {
if (objectArray === null || typeof objectArray === 'undefined') {
throw new Error("objectArray is null or undefined");
}
if (!Array.isArray(objectArray)) {
throw new Error("objectArray is not array");
}
if (propKey === null || typeof propKey !== 'string') {
throw new Error("propKey must be a string: " + (typeof propKey));
}
if (objectArray.length <= 0) {
return false;
}
for (let /** @type {?} */ obj of objectArray) {
if (obj === null || typeof obj === 'undefined') {
return false;
}
if (obj[/** @type {?} */ (propKey)] === undefined) {
return false;
}
if (typeof obj[/** @type {?} */ (propKey)] !== typeOf) {
return false;
}
}
return true;
}
}
;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJyYXlVdGlscy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2NvbS5waGxveHVpLyIsInNvdXJjZXMiOlsibGliL3NoYXJlL3V0aWxzL0FycmF5VXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE1BQU07Ozs7Ozs7SUFFSyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQWdCLEVBQUUsU0FBaUIsRUFBRSxPQUFlO1FBQ25FLEVBQUUsQ0FBQyxDQUFDLFNBQVMsS0FBSyxJQUFJLElBQUksT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsRixNQUFNLENBQUM7U0FDVjtRQUVELEVBQUUsQ0FBQyxDQUFDLE9BQU8sS0FBSyxJQUFJLElBQUksT0FBTyxPQUFPLEtBQUssV0FBVyxJQUFJLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEUsTUFBTSxDQUFDO1NBQ1Y7UUFFRCxFQUFFLENBQUMsQ0FBQyxTQUFTLEtBQUssSUFBSSxJQUFJLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVFLE1BQU0sQ0FBQztTQUNWO1FBRUQsRUFBRSxDQUFDLENBQUMsU0FBUyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDeEIsTUFBTSxDQUFDO1NBQ1Y7UUFFRCxFQUFFLENBQUMsQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDLE1BQU0sSUFBSSxTQUFTLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDN0QscUJBQUksSUFBSSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUVoQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMvQixTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FD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QUFBLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQXJyYXlVdGlscyB7XG5cbiAgICBwdWJsaWMgc3RhdGljIG1vdmUoZGF0YUFycmF5OiBhbnlbXSwgZnJvbUluZGV4OiBudW1iZXIsIHRvSW5kZXg6IG51bWJlcikge1xuICAgICAgICBpZiAoZGF0YUFycmF5ID09PSBudWxsIHx8IHR5cGVvZiBkYXRhQXJyYXkgPT09ICd1bmRlZmluZWQnIHx8IGRhdGFBcnJheS5sZW5ndGggPD0gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRvSW5kZXggPT09IG51bGwgfHwgdHlwZW9mIHRvSW5kZXggPT09ICd1bmRlZmluZWQnIHx8IHRvSW5kZXggPD0gLTEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmcm9tSW5kZXggPT09IG51bGwgfHwgdHlwZW9mIGZyb21JbmRleCA9PT0gJ3VuZGVmaW5lZCcgfHwgZnJvbUluZGV4IDw9IC0xKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZnJvbUluZGV4ID09PSB0b0luZGV4KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodG9JbmRleCA8IGRhdGFBcnJheS5sZW5ndGggJiYgZnJvbUluZGV4IDwgZGF0YUFycmF5Lmxlbmd0aCkge1xuICAgICAgICAgICAgbGV0IGRhdGEgPSBkYXRhQXJyYXlbZnJvbUluZGV4XTtcblxuICAgICAgICAgICAgZGF0YUFycmF5LnNwbGljZShmcm9tSW5kZXgsIDEpO1xuICAgICAgICAgICAgZGF0YUFycmF5LnNwbGljZSh0b0luZGV4LCAwLCBkYXRhKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgaW5zZXJ0KGRhdGFBcnJheTogYW55W10sIGl0ZW06IGFueSwgdG9JbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGlmIChkYXRhQXJyYXkgPT09IG51bGwgfHwgdHlwZW9mIGRhdGFBcnJheSA9PT0gJ3VuZGVmaW5lZCcgfHwgZGF0YUFycmF5Lmxlbmd0aCA8PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodG9JbmRleCA9PT0gbnVsbCB8fCB0eXBlb2YgdG9JbmRleCA9PT0gJ3VuZGVmaW5lZCcgfHwgdG9JbmRleCA8PSAtMSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZGF0YUFycmF5LnNwbGljZSh0b0luZGV4LCAwLCBpdGVtKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGlzQWxsTWVtYmVyVHlwZU9mKG9iamVjdEFycmF5OiBhbnlbXSwgdHlwZU9mOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgIGlmKG9iamVjdEFycmF5ID09PSBudWxsIHx8IHR5cGVvZiBvYmplY3RBcnJheSA9PT0gJ3VuZGVmaW5lZCcpe1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJvYmplY3RBcnJheSBpcyBudWxsIG9yIHVuZGVmaW5lZFwiKTtcbiAgICAgIH1cblxuICAgICAgaWYoIUFycmF5LmlzQXJyYXkob2JqZWN0QXJyYXkpKXtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwib2JqZWN0QXJyYXkgaXMgbm90IGFycmF5XCIpO1xuICAgICAgfVxuXG4gICAgICBpZiAob2JqZWN0QXJyYXkubGVuZ3RoIDw9IDApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBmb3IobGV0IG9iaiBvZiBvYmplY3RBcnJheSl7XG4gICAgICAgIGlmICh0eXBlb2Ygb2JqICE9PSB0eXBlT2YpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBpc0FsbE1lbWJlckhhc1Byb3BlcnR5KG9iamVjdEFycmF5OiBhbnlbXSwgcHJvcEtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICBpZihvYmplY3RBcnJheSA9PT0gbnVsbCB8fCB0eXBlb2Ygb2JqZWN0QXJyYXkgPT09ICd1bmRlZmluZWQnKXtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwib2JqZWN0QXJyYXkgaXMgbnVsbCBvciB1bmRlZmluZWRcIik7XG4gICAgICB9XG5cbiAgICAgIGlmKCFBcnJheS5pc0FycmF5KG9iamVjdEFycmF5KSl7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIm9iamVjdEFycmF5IGlzIG5vdCBhcnJheVwiKTtcbiAgICAgIH1cblxuICAgICAgaWYocHJvcEtleSA9PT0gbnVsbCB8fCB0eXBlb2YgcHJvcEtleSAhPT0gJ3N0cmluZycpe1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJwcm9wS2V5IG11c3QgYmUgYSBzdHJpbmc6IFwiICsgKHR5cGVvZiBwcm9wS2V5KSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChvYmplY3RBcnJheS5sZW5ndGggPD0gMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGZvcihsZXQgb2JqIG9mIG9iamVjdEFycmF5KXtcbiAgICAgICAgaWYgKG9iaiA9PT0gbnVsbCB8fCB0eXBlb2Ygb2JqID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob2JqWzxzdHJpbmc+cHJvcEtleV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGlzQWxsTWVtYmVySGFzUHJvcGVydHlUeXBlT2Yob2JqZWN0QXJyYXk6IGFueVtdLCBwcm9wS2V5OiBzdHJpbmcsIHR5cGVPZjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICBpZihvYmplY3RBcnJheSA9PT0gbnVsbCB8fCB0eXBlb2Ygb2JqZWN0QXJyYXkgPT09ICd1bmRlZmluZWQnKXtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwib2JqZWN0QXJyYXkgaXMgbnVsbCBvciB1bmRlZmluZWRcIik7XG4gICAgICB9XG5cbiAgICAgIGlmKCFBcnJheS5pc0FycmF5KG9iamVjdEFycmF5KSl7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIm9iamVjdEFycmF5IGlzIG5vdCBhcnJheVwiKTtcbiAgICAgIH1cblxuICAgICAgaWYocHJvcEtleSA9PT0gbnVsbCB8fCB0eXBlb2YgcHJvcEtleSAhPT0gJ3N0cmluZycpe1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJwcm9wS2V5IG11c3QgYmUgYSBzdHJpbmc6IFwiICsgKHR5cGVvZiBwcm9wS2V5KSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChvYmplY3RBcnJheS5sZW5ndGggPD0gMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGZvcihsZXQgb2JqIG9mIG9iamVjdEFycmF5KXtcbiAgICAgICAgaWYgKG9iaiA9PT0gbnVsbCB8fCB0eXBlb2Ygb2JqID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob2JqWzxzdHJpbmc+cHJvcEtleV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIG9ials8c3RyaW5nPnByb3BLZXldICE9PSB0eXBlT2YpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG59O1xuIl19