/// /** * Ensure required ENV variables are set during deployment. * * Default behavior is to throw an exception if environment variable missing * and defaultValue value not set. * * @param env * @param defaultValue */ export declare const requireEnv: (env: string, defaultValue?: string) => string; /** * Parse npm package name and return base name, path and version in an object. */ export declare const parsePackageName: (input: string) => { name: string; path: string; version: string; }; /** * Deep object walk-through, accepts a function which allows to deeply * manipulate an object. * * @param obj: The object/array to iterate over. * @param mapFn: Callback function which will be invoked for each child of the object. * @param InstanceType: Object type to check instances. * @param key: Field name or array index of the value */ export declare const mapDeep: (obj: T, mapFn: (value: any, key: string) => any, InstanceType?: any, key?: string) => T; /** * Async variant of `mapValuesDeep`. * * @param obj: The object/array to iterate over. * @param mapFn: Callback function which will be invoked for each child of the object. * @param InstanceType: Object type to check instances. * @param key: Field name or array index of the value */ export declare const mapDeepAsync: (obj: T, mapFn: (value: any, key: string) => any, InstanceType?: any, key?: string) => Promise; /** * Runs the provided function n times. * @param n * @param callback */ export declare const timesSync: (n: number, callback: () => T) => T[]; /** * Async variant of `timesSync`. * @param n * @param callback */ export declare const timesAsync: (n: number, callback: () => void) => Promise; /** * Runs the provided async function for each record of the input array. * @param items * @param cb */ export declare const forEachAsync: (items: E[], cb: Function) => Promise; /** * Async variant of filter. * @param data * @param fn */ export declare const filterAsync: (data: any[], fn: (value: any, index: number) => Promise) => Promise; /** * Run the provided async function in sequence using the array as input. * @param data data to work on * @param asyncFunc function that should be run in sequence on the provided data */ export declare const runInSequence: (data: [], asyncFunc: (..._: any) => Promise) => any; /** * Whether the provided input is iterable. */ export declare const isIterable: (input: any) => input is Iterable; export declare const convertToBool: (value: string, fallback?: boolean) => boolean; export declare const isBool: (value: any) => boolean; export declare const validateTime: (time: string) => boolean; export declare const validateDate: (dateString: string) => boolean; export declare const validateDateTime: (dateTimeString: string) => boolean; /** * Returns an array with properties the project has that are not included in the provided 'keys'. */ export declare const differenceProps: (object: any, keys: string[]) => any[]; /** * Remove properties that don't have a value from the passed in object (mutates the object!) * @param obj */ export declare const removeEmptyProperties: (obj: any) => any; export declare const pieHash: (elements: string[]) => string; /** * Print object's properties. */ export declare const printDeep: (obj: any, level?: number, showHidden?: boolean) => string; export declare const groupByKey: (collection: T[], key: K) => import("lodash").Dictionary; /** * Flatten the properties of an object one level, so e.g. { foo: { bar: 1, baz: 2 } } becomes { foo_bar: 1, foo_baz: 2 } */ export declare const singleLevelFlatten: (obj: { [key: string]: any; }, separator?: string) => {}; /** * Safely decode a JSON string into an object. */ export declare const JSONParse: (str: string, fallback?: any) => any; /** * Gets the value at path of object. If the resolved value is undefined, * null or NaN, the defaultValue is returned in its place. * @param object * @param path * @param defaultValue */ export declare const safeGet: (object: any, path: string, defaultValue?: any) => any; /** * Returns whether the string is a URL or not. * @param input */ export declare const isURL: (input: string) => boolean; /** * Returns whether the string is a data URL or not. * @param input */ export declare const isDataURL: (input: string) => boolean; //# sourceMappingURL=index.d.ts.map