<commit_before>/// <reference lib="esnext" />

declare type int = number;
declare type float = number;

declare namespace __jymfony {
    /**
     * Base class for all jymfony managed objects.
     */
    export class JObject {
        /**
         * Constructor.
         */
        __construct(...args: any[]);
    }

    /**
     * Executes a callback iterating asynchronously onto the given iterator.
     */
    export function forAwait(iterator: Iterable<any> | AsyncIterable<any>, callback: Invokable | Function | GeneratorFunction): Promise<any>;

    /**
     * Stops execution for the given number of ms.
     * The returned promised resolves after the time has passed.
     */
    export function sleep(ms: number): Promise<void>;

    /**
     * Emits a deprecation warning message.
     */
    export function trigger_deprecated(message: string): void;

    /**
     * Sync-recursively creates directories.
     */
    export function mkdir(dir: string, mode?: number): void;

    /**
     * Creates a function that delays invoking a function after
     * a given time has elapsed, de-duplicating calls.
     */
    export function debounce(func: Invokable|Function|GeneratorFunction, wait: number): Function;

    /**
     * Gets a method given an object and the method name.
     */
    export function getFunction(object: Object, funcName: string): Function;

    /**
     * Clones an object.
     */
    export function clone(object: Object): Object;

    /**
     * Recursively clones an object and all its arrays/literal objects.
     */
    export function deepClone(object: Object): Object;

    /**
     * Recursively merges literal objects/arrays.
     */
    export function deepMerge(...args: (any[]|Record<any, any>)[]): any|Object;

    /**
     * Calculate object difference by keys.
     */
    export function diffKey(arr1: any[]|Record<any, any>, ...arrs: (any[]|Record<any, any>)[]): Object;

    /**
     * Get key, value pairs from any object.
     */
    export function getEntries<V>(object: V[]): IterableIterator<[number, V]>;
    export function getEntries<K extends string | number | symbol, V>(object: Record<K, V>): IterableIterator<[K, V]>;

    /**
     * Deep-equality check.
     */
    export function equal(left: any, right: any, strict?: boolean): boolean;

    /**
     * Get object keys.
     */
    export function keys(obj: any[]): number[];
    export function keys<K extends string | number | symbol>(obj: Record<K, any>): K[];
    export function keys<K>(obj: Map<K, any>): K[];

    /**
     * Returns an object with the common keys only.
     */
    export function intersect_key(obj: any[]|Record<any, any>, ...arrays: (any[]|Record<any, any>)[]): Record<any, any>;

    /**
     * Merges arrays or objects.
     */
    export function objectMerge(...args: any[]): any;

    /**
     * Converts a key-value object to a Map object.
     */
    export function obj2map(obj: Record<any, any>): Map<any, any>;

    /**
     * Converts a Map object to a key-value object.
     */
    export function map2obj(obj: Map<any, any>): Record<any, any>;

    /**
     * Serializes any value to a string.
     */
    export function serialize(value: any): string;

    /**
     * Unserializes values from a serialized string.
     */
    export function unserialize(serialized: string): any;

    /**
     * Escapes a regex pattern.
     */
    export function regex_quote(str: string): string;

    /**
     * Calculates a CRC32 of a string.
     */
    export function crc32(stringOrBuffer: string|Buffer): number;

    /**
     * Escapes a shell argument.
     */
    export function escapeshellarg(arg: string): string;

    /**
     * Calculates the levenshtein distance between two strings.
     */
    export function levenshtein(s: string, t: string): number;

    /**
     * @internal
     */
    export function internal_parse_query_string(params: any): any;

    /**
     * Parses a query string and returns a kv object.
     */
    export function parse_query_string(str: string): Record<string, any>;

    /**
     * Formats values into a string.
     */
    export function sprintf(format: string, ...args: any[]): string;

    /**
     * The strcspn() function returns the number of characters (including whitespaces)
     * found in a string before any part of the specified characters are found.
     */
    export function strcspn(str: string, mask: string, start?: number, length?: number): number;

    /**
     * Strips HTML tags from a string.
     */
    export function strip_tags(input: string, allowed?: string): string;

    /**
     * Replaces parts of strings.
     */
    export function strtr(str: string, replacePairs: Record<string, string>): string;

    /**
     * Replace text within a portion of a string.
     */
    export function substr_replace(search: string, replacement: string, start: number, length?: number): string;
    export function substr_replace(search: string[], replacement: string[], start: number[], length?: number[]): string[];

    /**
     * Trim characters at the end of a string.
     */
    export function rtrim(str: string, charList?: string): string;

    /**
     * Trim characters at the beginning of a string.
     */
    export function ltrim(str: string, charList?: string): string;

    /**
     * Trim characters at the beginning and at the end of a string.
     */
    export function trim(str: string, charList?: string): string;

    /**
     * Make the first character upper-case and the rest lower-case.
     */
    export function ucfirst(str: string): string;

    /**
     * Make the first character of each word upper-case and the rest lower-case.
     */
    export function ucwords(str: string): string;

    /**
     * If operator parameter is undefined returns -1 if version1 is
     * lower than version2, 0 if they are equal, 1 if the second is lower
     *
     * Otherwise returns true if the relationship is the one specified
     * by the operator, false otherwise
     */
    export function version_compare(version1: string|number, version2: string|number, operator?: string|undefined): boolean|number;

    /**
     * Wraps a string to a given number of characters.
     */
    export function wordwrap(str: string, width?: number, strBreak?: string, cut?: boolean): string;
}

declare interface Newable<T> {
    new(): T;
    new(...args: any[]): T;
}
declare type Constructor<T> = Function | { prototype: T };<commit_msg>[FrameworkBundle] add debug configuration section with var dumper configuration<commit_after>/// <reference lib="esnext" />

declare type int = number;
declare type float = number;

declare namespace __jymfony {
    /**
     * Base class for all jymfony managed objects.
     */
    export class JObject {
        /**
         * Constructor.
         */
        __construct(...args: any[]);
    }

    /**
     * Executes a callback iterating asynchronously onto the given iterator.
     */
    export function forAwait(iterator: Iterable<any> | AsyncIterable<any>, callback: Invokable | Function | GeneratorFunction): Promise<any>;

    /**
     * Stops execution for the given number of ms.
     * The returned promised resolves after the time has passed.
     */
    export function sleep(ms: number): Promise<void>;

    /**
     * Emits a deprecation warning message.
     */
    export function trigger_deprecated(message: string): void;

    /**
     * Sync-recursively creates directories.
     */
    export function mkdir(dir: string, mode?: number): void;

    /**
     * Creates a function that delays invoking a function after
     * a given time has elapsed, de-duplicating calls.
     */
    export function debounce(func: Invokable|Function|GeneratorFunction, wait: number): Function;

    /**
     * Gets a method given an object and the method name.
     */
    export function getFunction(object: Object, funcName: string): Function;

    /**
     * Clones an object.
     */
    export function clone(object: Object): Object;

    /**
     * Recursively clones an object and all its arrays/literal objects.
     */
    export function deepClone(object: Object): Object;

    /**
     * Recursively merges literal objects/arrays.
     */
    export function deepMerge(...args: (any[]|Record<any, any>)[]): any|Object;

    /**
     * Calculate object difference by keys.
     */
    export function diffKey(arr1: any[]|Record<any, any>, ...arrs: (any[]|Record<any, any>)[]): Object;

    /**
     * Get key, value pairs from any object.
     */
    export function getEntries<V>(object: V[]): IterableIterator<[number, V]>;
    export function getEntries<K extends string | number | symbol, V>(object: Record<K, V>): IterableIterator<[K, V]>;

    /**
     * Deep-equality check.
     */
    export function equal(left: any, right: any, strict?: boolean): boolean;

    /**
     * Get object keys.
     */
    export function keys(obj: any[]): number[];
    export function keys<K extends string | number | symbol>(obj: Record<K, any>): K[];
    export function keys<K>(obj: Map<K, any>): K[];

    /**
     * Returns an object with the common keys only.
     */
    export function intersect_key(obj: any[]|Record<any, any>, ...arrays: (any[]|Record<any, any>)[]): Record<any, any>;

    /**
     * Merges arrays or objects.
     */
    export function objectMerge(...args: any[]): any;

    /**
     * Converts a key-value object to a Map object.
     */
    export function obj2map(obj: Record<any, any>): Map<any, any>;

    /**
     * Converts a Map object to a key-value object.
     */
    export function map2obj(obj: Map<any, any>): Record<any, any>;

    /**
     * Serializes any value to a string.
     */
    export function serialize(value: any): string;

    /**
     * Unserializes values from a serialized string.
     */
    export function unserialize(serialized: string): any;

    /**
     * Escapes a regex pattern.
     */
    export function regex_quote(str: string): string;

    /**
     * Calculates a CRC32 of a string.
     */
    export function crc32(stringOrBuffer: string|Buffer): number;

    /**
     * Escapes a shell argument.
     */
    export function escapeshellarg(arg: string): string;

    /**
     * Calculates the levenshtein distance between two strings.
     */
    export function levenshtein(s: string, t: string): number;

    /**
     * @internal
     */
    export function internal_parse_query_string(params: any): any;

    /**
     * Parses a query string and returns a kv object.
     */
    export function parse_query_string(str: string): Record<string, any>;

    /**
     * Formats values into a string.
     */
    export function sprintf(format: string, ...args: any[]): string;

    /**
     * The strcspn() function returns the number of characters (including whitespaces)
     * found in a string before any part of the specified characters are found.
     */
    export function strcspn(str: string, mask: string, start?: number, length?: number): number;

    /**
     * Strips HTML tags from a string.
     */
    export function strip_tags(input: string, allowed?: string): string;

    /**
     * Replaces parts of strings.
     */
    export function strtr(str: string, replacePairs: Record<string, string>): string;

    /**
     * Replace text within a portion of a string.
     */
    export function substr_replace(search: string, replacement: string, start: number, length?: number): string;
    export function substr_replace(search: string[], replacement: string[], start: number[], length?: number[]): string[];

    /**
     * Trim characters at the end of a string.
     */
    export function rtrim(str: string, charList?: string): string;

    /**
     * Trim characters at the beginning of a string.
     */
    export function ltrim(str: string, charList?: string): string;

    /**
     * Trim characters at the beginning and at the end of a string.
     */
    export function trim(str: string, charList?: string): string;

    /**
     * Make the first character upper-case and the rest lower-case.
     */
    export function ucfirst(str: string): string;

    /**
     * Make the first character of each word upper-case and the rest lower-case.
     */
    export function ucwords(str: string): string;

    /**
     * If operator parameter is undefined returns -1 if version1 is
     * lower than version2, 0 if they are equal, 1 if the second is lower
     *
     * Otherwise returns true if the relationship is the one specified
     * by the operator, false otherwise
     */
    export function version_compare(version1: string|number, version2: string|number, operator?: string|undefined): boolean|number;

    /**
     * Wraps a string to a given number of characters.
     */
    export function wordwrap(str: string, width?: number, strBreak?: string, cut?: boolean): string;
}

declare interface Newable<T> {
    new(): T;
    new(...args: any[]): T;
}
declare type Constructor<T = any> = Function | { prototype: T };
{'fraction_non_alphanumeric': 0.12113520996769728, 'fraction_numerical': 0.002153514843870174, 'mean_word_length': 2.6887943262411347, 'pattern_counts': {'":': 0, '<': 59, '<?xml version=': 0, '>': 59, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1260137', 'n_tokens_mistral': 3701, 'n_tokens_neox': 3589, 'n_words': 1289}