vben-aggregate-core-shared
Version:
vben-aggregate-core-shared package
109 lines (91 loc) • 5.19 kB
TypeScript
import { ClassValue } from 'clsx';
import dayjs from 'dayjs';
export { default as cloneDeep } from 'lodash.clonedeep';
export { default as get } from 'lodash.get';
export { default as isEqual } from 'lodash.isequal';
export { default as set } from 'lodash.set';
export { isFunction, isObject, isString } from '@vue/shared';
export { createDefu as createMerge, defu as merge } from 'defu';
declare function cn(...inputs: ClassValue[]): any;
declare function formatDate(time: number | string, format?: string): any;
declare function formatDateTime(time: number | string): any;
declare function isDate(value: any): value is Date;
declare function isDayjsObject(value: any): value is dayjs.Dayjs;
declare function arraysEqual<T>(a: T[], b: T[]): boolean;
type DiffResult<T> = Partial<{
[K in keyof T]: T[K] extends object ? DiffResult<T[K]> : T[K];
}>;
declare function diff<T extends Record<string, any>>(obj1: T, obj2: T): DiffResult<T>;
interface VisibleDomRect {
bottom: number;
height: number;
left: number;
right: number;
top: number;
width: number;
}
declare function getElementVisibleRect(element?: HTMLElement | null | undefined): VisibleDomRect;
declare function getScrollbarWidth(): number;
declare function needsScrollbar(): boolean;
declare function triggerWindowResize(): void;
interface DownloadOptions<T = string> {
fileName?: string;
source: T;
target?: string;
}
declare function downloadFileFromUrl({ fileName, source, target, }: DownloadOptions): Promise<void>;
declare function downloadFileFromBase64({ fileName, source }: DownloadOptions): void;
declare function downloadFileFromImageUrl({ fileName, source, }: DownloadOptions): Promise<void>;
declare function downloadFileFromBlob({ fileName, source, }: DownloadOptions<Blob>): void;
declare function downloadFileFromBlobPart({ fileName, source, }: DownloadOptions<BlobPart>): void;
declare function urlToBase64(url: string, mineType?: string): Promise<string>;
declare function triggerDownload(href: string, fileName: string | undefined, revokeDelay?: number): void;
declare function isUndefined(value?: unknown): value is undefined;
declare function isBoolean(value: unknown): value is boolean;
declare function isEmpty<T = unknown>(value?: T): value is T;
declare function isHttpUrl(url?: string): boolean;
declare function isWindow(value: any): value is Window;
declare function isMacOs(): boolean;
declare function isWindowsOs(): boolean;
declare function isNumber(value: any): value is number;
declare function getFirstNonNullOrUndefined<T>(...values: (null | T | undefined)[]): T | undefined;
declare function capitalizeFirstLetter(string: string): string;
declare function toLowerCaseFirstLetter(str: string): string;
declare function toCamelCase(key: string, parentKey: string): string;
declare function kebabToCamelCase(str: string): string;
declare const mergeWithArrayOverride: any;
declare function startProgress(): Promise<void>;
declare function stopProgress(): Promise<void>;
declare class StateHandler {
private condition;
private rejectCondition;
private resolveCondition;
isConditionTrue(): boolean;
reset(): void;
setConditionFalse(): void;
setConditionTrue(): void;
waitForCondition(): Promise<void>;
private clearPromises;
}
declare function to<T, U = Error>(promise: Readonly<Promise<T>>, errorExt?: object): Promise<[null, T] | [U, undefined]>;
interface TreeConfigOptions {
childProps: string;
}
declare function traverseTreeValues<T, V>(tree: T[], getValue: (node: T) => V, options?: TreeConfigOptions): V[];
declare function filterTree<T extends Record<string, any>>(tree: T[], filter: (node: T) => boolean, options?: TreeConfigOptions): T[];
declare function mapTree<T, V extends Record<string, any>>(tree: T[], mapper: (node: T) => V, options?: TreeConfigOptions): V[];
declare function uniqueByField<T>(arr: T[], key: keyof T): T[];
declare function updateCSSVariables(variables: {
[key: string]: string;
}, id?: string): void;
declare function bindMethods<T extends object>(instance: T): void;
declare function getNestedValue<T>(obj: T, path: string): any;
interface OpenWindowOptions {
noopener?: boolean;
noreferrer?: boolean;
target?: '_blank' | '_parent' | '_self' | '_top' | string;
}
declare function openWindow(url: string, options?: OpenWindowOptions): void;
declare function openRouteInNewWindow(path: string): void;
export { StateHandler, arraysEqual, bindMethods, capitalizeFirstLetter, cn, diff, downloadFileFromBase64, downloadFileFromBlob, downloadFileFromBlobPart, downloadFileFromImageUrl, downloadFileFromUrl, filterTree, formatDate, formatDateTime, getElementVisibleRect, getFirstNonNullOrUndefined, getNestedValue, getScrollbarWidth, isBoolean, isDate, isDayjsObject, isEmpty, isHttpUrl, isMacOs, isNumber, isUndefined, isWindow, isWindowsOs, kebabToCamelCase, mapTree, mergeWithArrayOverride, needsScrollbar, openRouteInNewWindow, openWindow, startProgress, stopProgress, to, toCamelCase, toLowerCaseFirstLetter, traverseTreeValues, triggerDownload, triggerWindowResize, uniqueByField, updateCSSVariables, urlToBase64 };
export type { VisibleDomRect };