@antfu/utils
Advanced tools
Comparing version 0.1.0 to 0.1.1
@@ -41,7 +41,11 @@ /** | ||
/** | ||
* Convert Arrayable<T> to Array<T> | ||
* Convert `Arrayable<T>` to `Array<T>` | ||
* | ||
* @category Array | ||
*/ | ||
declare function toArray<T>(array?: Nullable<Arrayable<T>>): Array<T>; | ||
/** | ||
* Convert Arrayable<T> to Array<T> | ||
* Convert `Arrayable<T>` to `Array<T>` and flat it | ||
* | ||
* @category Array | ||
*/ | ||
@@ -51,2 +55,4 @@ declare function flattenArrayable<T>(array?: Nullable<Arrayable<T | Array<T>>>): Array<T>; | ||
* Use rest arguments to merge arrays | ||
* | ||
* @category Array | ||
*/ | ||
@@ -57,11 +63,39 @@ declare function mergeArrayable<T>(...args: Nullable<Arrayable<T>>[]): Array<T>; | ||
* | ||
* @category Array | ||
* @example const [odd, even] = partition([1, 2, 3, 4], i => i % 2 != 0) | ||
*/ | ||
declare function partition<T>(array: readonly T[], filter: (i: T, idx: number, arr: readonly T[]) => any): T[][]; | ||
/** | ||
* Unique an Array | ||
* | ||
* @category Array | ||
*/ | ||
declare function uniq<T>(array: readonly T[]): T[]; | ||
/** | ||
* Get last item | ||
* | ||
* @category Array | ||
*/ | ||
declare function last(array: readonly []): undefined; | ||
declare function last<T>(array: readonly T[]): T; | ||
/** | ||
* Remove an item from Array | ||
* | ||
* @category Array | ||
*/ | ||
declare function remove<T>(array: T[], value: T): boolean; | ||
/** | ||
* Get nth item of Array. Negative for backward | ||
* | ||
* @category Array | ||
*/ | ||
declare function at(array: readonly [], index: number): undefined; | ||
declare function at<T>(array: readonly T[], index: number): T; | ||
/** | ||
* Genrate a range array of numbers. The `stop` is exclusive. | ||
* | ||
* @category Array | ||
*/ | ||
declare function range(stop: number): number[]; | ||
declare function range(start: number, stop: number, step?: number): number[]; | ||
@@ -196,2 +230,2 @@ declare const assert: (condition: boolean, ...infos: any[]) => void; | ||
export { ArgumentsType, Arrayable, Awaitable, DeepMerge, ElementOf, Fn, MergeInsertions, Nullable, SingletonPromiseReturn, UnionToIntersection, assert, at, batchInvoke, clamp, createSingletonPromise, deepMerge, flattenArrayable, invoke, isBoolean, isBrowser, isDef, isFunction, isKeyOf, isNumber, isObject, isString, isTruthy, isWindow, last, mergeArrayable, noNull, noop, notNullish, notUndefined, objectEntries, objectKeys, objectMap, partition, remove, slash, sleep, sum, timestamp, toArray, toString, uniq }; | ||
export { ArgumentsType, Arrayable, Awaitable, DeepMerge, ElementOf, Fn, MergeInsertions, Nullable, SingletonPromiseReturn, UnionToIntersection, assert, at, batchInvoke, clamp, createSingletonPromise, deepMerge, flattenArrayable, invoke, isBoolean, isBrowser, isDef, isFunction, isKeyOf, isNumber, isObject, isString, isTruthy, isWindow, last, mergeArrayable, noNull, noop, notNullish, notUndefined, objectEntries, objectKeys, objectMap, partition, range, remove, slash, sleep, sum, timestamp, toArray, toString, uniq }; |
@@ -27,2 +27,4 @@ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/array.ts | ||
function remove(array, value) { | ||
if (!array) | ||
return false; | ||
const index = array.indexOf(value); | ||
@@ -39,3 +41,2 @@ if (index >= 0) { | ||
return void 0; | ||
index = index % len; | ||
if (index < 0) | ||
@@ -45,2 +46,19 @@ index += len; | ||
} | ||
function range(...args) { | ||
let start, stop, step; | ||
if (args.length === 1) { | ||
start = 0; | ||
step = 1; | ||
[stop] = args; | ||
} else { | ||
[start, stop, step = 1] = args; | ||
} | ||
const arr = []; | ||
let current = start; | ||
while (current < stop) { | ||
arr.push(current); | ||
current += step || 1; | ||
} | ||
return arr; | ||
} | ||
@@ -199,2 +217,3 @@ // src/base.ts | ||
exports.assert = assert; exports.at = at; exports.batchInvoke = batchInvoke; exports.clamp = clamp; exports.createSingletonPromise = createSingletonPromise; exports.deepMerge = deepMerge; exports.flattenArrayable = flattenArrayable; exports.invoke = invoke; exports.isBoolean = isBoolean; exports.isBrowser = isBrowser; exports.isDef = isDef; exports.isFunction = isFunction; exports.isKeyOf = isKeyOf; exports.isNumber = isNumber; exports.isObject = isObject; exports.isString = isString; exports.isTruthy = isTruthy; exports.isWindow = isWindow; exports.last = last; exports.mergeArrayable = mergeArrayable; exports.noNull = noNull; exports.noop = noop; exports.notNullish = notNullish; exports.notUndefined = notUndefined; exports.objectEntries = objectEntries; exports.objectKeys = objectKeys; exports.objectMap = objectMap; exports.partition = partition; exports.remove = remove; exports.slash = slash; exports.sleep = sleep; exports.sum = sum; exports.timestamp = timestamp; exports.toArray = toArray; exports.toString = toString2; exports.uniq = uniq; | ||
exports.assert = assert; exports.at = at; exports.batchInvoke = batchInvoke; exports.clamp = clamp; exports.createSingletonPromise = createSingletonPromise; exports.deepMerge = deepMerge; exports.flattenArrayable = flattenArrayable; exports.invoke = invoke; exports.isBoolean = isBoolean; exports.isBrowser = isBrowser; exports.isDef = isDef; exports.isFunction = isFunction; exports.isKeyOf = isKeyOf; exports.isNumber = isNumber; exports.isObject = isObject; exports.isString = isString; exports.isTruthy = isTruthy; exports.isWindow = isWindow; exports.last = last; exports.mergeArrayable = mergeArrayable; exports.noNull = noNull; exports.noop = noop; exports.notNullish = notNullish; exports.notUndefined = notUndefined; exports.objectEntries = objectEntries; exports.objectKeys = objectKeys; exports.objectMap = objectMap; exports.partition = partition; exports.range = range; exports.remove = remove; exports.slash = slash; exports.sleep = sleep; exports.sum = sum; exports.timestamp = timestamp; exports.toArray = toArray; exports.toString = toString2; exports.uniq = uniq; |
{ | ||
"name": "@antfu/utils", | ||
"version": "0.1.0", | ||
"version": "0.1.1", | ||
"description": "Opinionated collection of common JavaScript / TypeScript utils by @antfu", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
19443
594