Socket
Socket
Sign inDemoInstall

@gedit/utils

Package Overview
Dependencies
Maintainers
3
Versions
54
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@gedit/utils - npm Package Compare versions

Comparing version 0.1.68 to 0.1.69

12

lib/common/array.d.ts

@@ -31,4 +31,4 @@ export declare function iterToArray<T = any>(iter: IterableIterator<T>): T[];

/**
* @param {Array} targetArr
* @param {Function?} getter
* @param targetArr
* @param getter
* @returns {Array.<*>}

@@ -40,2 +40,10 @@ * @example

export declare function sortArrayByCharCode<T = any>(targetArr?: T[], getter?: (obj: T) => string | number): T[];
/**
* 按分类和名字排序
* @param items
* @param getName
* @param getType
* @param types
*/
export declare function sortArrayWithTypeAndName<T>(items: T[], getName: (obj: T) => string | number, getType: (obj: T) => string, types: string[]): T[];
//# sourceMappingURL=array.d.ts.map
"use strict";
/* eslint-disable @typescript-eslint/no-explicit-any */
var __values = (this && this.__values) || function(o) {

@@ -14,4 +15,3 @@ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;

Object.defineProperty(exports, "__esModule", { value: true });
exports.sortArrayByCharCode = exports.moveSourceToDest = exports.deleteElement = exports.moveBackward = exports.moveForward = exports.updateArrayItem = exports.arrayUnion = exports.arrayToSet = exports.iterToArray = void 0;
/* eslint-disable @typescript-eslint/no-explicit-any */
exports.sortArrayWithTypeAndName = exports.sortArrayByCharCode = exports.moveSourceToDest = exports.deleteElement = exports.moveBackward = exports.moveForward = exports.updateArrayItem = exports.arrayUnion = exports.arrayToSet = exports.iterToArray = void 0;
function iterToArray(iter) {

@@ -111,4 +111,4 @@ var e_1, _a;

/**
* @param {Array} targetArr
* @param {Function?} getter
* @param targetArr
* @param getter
* @returns {Array.<*>}

@@ -134,2 +134,9 @@ * @example

}
// 过滤掉后缀名,如 xxxx0001.jpg 取 0001
var match1 = str1.match(/([0-9]+)\.*[^0-9]*$/);
var match2 = str2.match(/([0-9]+)\.*[^0-9]*$/);
// 使用最后一排的数字进行排序
if (match1 && match2 && str1.slice(0, match1.index) === str2.slice(0, match2.index)) {
return parseInt(match1[1], 10) - parseInt(match2[1], 10);
}
for (; cursor <= str1.length; cursor++) {

@@ -153,2 +160,26 @@ var A = str1.charCodeAt(cursor);

exports.sortArrayByCharCode = sortArrayByCharCode;
/**
* 按分类和名字排序
* @param items
* @param getName
* @param getType
* @param types
*/
function sortArrayWithTypeAndName(items, getName, getType, types) {
var typeSorts = types.reduce(function (res, item, i) {
res[item] = i;
return res;
}, {});
var data = [];
items.forEach(function (item) {
var type = getType(item);
var arr = data[typeSorts[type]];
if (!arr) {
arr = data[typeSorts[type]] = [];
}
arr.push(item);
});
return data.map(function (i) { return sortArrayByCharCode(i, getName); }).flat();
}
exports.sortArrayWithTypeAndName = sortArrayWithTypeAndName;
//# sourceMappingURL=array.js.map

4

package.json
{
"name": "@gedit/utils",
"version": "0.1.68",
"version": "0.1.69",
"license": "MIT",

@@ -32,3 +32,3 @@ "main": "lib/common/index",

},
"gitHead": "be77214e3b5234a60a0d4c2d889c725c29206bcf"
"gitHead": "1bb1a2c9de07b987e6e1c15053e7278766cbe23c"
}
/* eslint-disable @typescript-eslint/no-explicit-any */
export function iterToArray<T = any>(iter: IterableIterator<T>): T[] {

@@ -81,4 +82,4 @@ const result = [];

/**
* @param {Array} targetArr
* @param {Function?} getter
* @param targetArr
* @param getter
* @returns {Array.<*>}

@@ -89,3 +90,4 @@ * @example

*/
export function sortArrayByCharCode<T = any>(targetArr: T[] = [], getter?: (obj: T) => string | number): T[] {
export function sortArrayByCharCode<T = any>(
targetArr: T[] = [], getter?: (obj: T) => string | number): T[] {
return targetArr.sort((obj1: any, obj2: any) => {

@@ -103,2 +105,9 @@ let str1: string | number = obj1 as string;

}
// 过滤掉后缀名,如 xxxx0001.jpg 取 0001
const match1 = str1.match(/([0-9]+)\.*[^0-9]*$/);
const match2 = str2.match(/([0-9]+)\.*[^0-9]*$/);
// 使用最后一排的数字进行排序
if (match1 && match2 && str1.slice(0, match1.index) === str2.slice(0, match2.index) ) {
return parseInt(match1[1], 10) - parseInt(match2[1], 10);
}
for (; cursor <= str1.length; cursor++) {

@@ -119,1 +128,30 @@ const A = str1.charCodeAt(cursor);

}
/**
* 按分类和名字排序
* @param items
* @param getName
* @param getType
* @param types
*/
export function sortArrayWithTypeAndName<T>(
items: T[],
getName: (obj: T) => string | number,
getType: (obj: T) => string,
types: string[]): T[] {
const typeSorts: { [key: string]: number } = types.reduce((res, item, i) => {
res[item] = i;
return res;
}, {} as { [key: string]: number });
const data: T[][] = [];
items.forEach(item => {
const type = getType(item);
let arr = data[typeSorts[type]];
if (!arr) {
arr = data[typeSorts[type]] = [];
}
arr.push(item);
});
return data.map(i => sortArrayByCharCode<T>(i, getName)).flat();
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc