<commit_before>/**
 * 
 * 
 * http://www.elfjs.org
 * 
 * @copyright 2018 <NAME>. All Rights Reserved.
 * 
 * @version 1.1.0
 * @license MIT
 * 
 */


///////////////////////////////////
/// Typings
///////////////////////////////////
export = Elf;

//
// elf
//
declare namespace Elf {

    export var Promise : Elf.PromiseConstructor;

    export function setTimeout  (handler: ((event: Elf.Event<void>, ...args: any[]) => void), delay?: number, ...args: any[]): Elf.Disposable;
    export function setInterval (handler: ((event: Elf.Event<void>, ...args: any[]) => void), delay?: number, ...args: any[]): Elf.Disposable;
    export function requestAnimationFrame (handler: ((event: Elf.Event<void>, ...args: any[]) => void), ...args: any[]): Elf.Disposable;

    export function createClass   <T> (proto: T): Elf.Class<T>;

    export function createEvent   <T extends HTMLElement | JSX.ElementClass> (type: string, bubbles?: boolean, value?: any): Elf.Event<T>;
    export function attachEvent   <T extends HTMLElement | JSX.ElementClass> (node: T, type: string, listener: EventListenerOrEventListenerObject): void;
    export function detachEvent   <T extends HTMLElement | JSX.ElementClass> (node: T, type: string, listener: EventListenerOrEventListenerObject): void;
    export function dispatchEvent <T extends HTMLElement | JSX.ElementClass> (node: T, event: Elf.Event<T>): void;

    export function createElement (type: string | Elf.Class<JSX.ElementClass>, props?: any, ...children: any[]): JSX.Element;
    export function redactElement (temp: string, ...depends: any[]): () => JSX.Element;

    export function forceUpdate (): boolean;

    export function Transform <T> (name: string, proto: T): Elf.Class<Elf.ITransform & T>;
    export function Directive <T> (name: string, proto: T): Elf.Class<Elf.IDirective & T>;
    export function Component <T> (name: string, proto: T): Elf.Class<Elf.IComponent & T>;

    export function depend (...depends: any[]): void;
    export function render (element: JSX.Element, container: HTMLElement, duplex?: boolean): Elf.Individual;
    export function assign (target: any, ...sources: any[]): any;

    export interface Promise<T> extends Elf.Disposable {
        readonly result?: any;
        readonly status?: string;
        then <R1, R2> (onresolved?: ((value: T) => R1 | Elf.Promise<R1>), onrejected?: ((error: any) => R2 | Elf.Promise<R2>)): Elf.Promise<R1 | R2>;<commit_msg>elfjs 1.1.0<commit_after>/**
 * 
 * 
 * http://www.elfjs.org
 * 
 * @copyright 2018 <NAME>. All Rights Reserved.
 * 
 * @version 1.1.0
 * @license MIT
 * 
 */


///////////////////////////////////
/// Typings
///////////////////////////////////
export = Elf;

//
// elf
//
declare namespace Elf {

    export var Promise : Elf.PromiseConstructor;

    export function setTimeout  (handler: ((event: Elf.Event<void>, ...args: any[]) => void), delay?: number, ...args: any[]): Elf.Disposable;
    export function setInterval (handler: ((event: Elf.Event<void>, ...args: any[]) => void), delay?: number, ...args: any[]): Elf.Disposable;
    export function requestAnimationFrame (handler: ((event: Elf.Event<void>, ...args: any[]) => void), ...args: any[]): Elf.Disposable;

    export function createClass   <T> (proto: T): Elf.Class<T>;

    export function createEvent   <T extends HTMLElement | JSX.ElementClass> (type: string, bubbles?: boolean, value?: any): Elf.Event<T>;
    export function attachEvent   <T extends HTMLElement | JSX.ElementClass> (node: T, type: string, listener: EventListenerOrEventListenerObject): void;
    export function detachEvent   <T extends HTMLElement | JSX.ElementClass> (node: T, type: string, listener: EventListenerOrEventListenerObject): void;
    export function dispatchEvent <T extends HTMLElement | JSX.ElementClass> (node: T, event: Elf.Event<T>): void;

    export function createElement (type: string | Elf.Class<JSX.ElementClass>, props?: any, ...children: any[]): JSX.Element;
    export function redactElement (temp: string | Function, ...depends: any[]): () => JSX.Element;

    export function forceUpdate (): boolean;

    export function Transform <T> (name: string, proto: T): Elf.Class<Elf.ITransform & T>;
    export function Directive <T> (name: string, proto: T): Elf.Class<Elf.IDirective & T>;
    export function Component <T> (name: string, proto: T): Elf.Class<Elf.IComponent & T>;

    export function depend (...depends: any[]): void;
    export function render (element: JSX.Element, container: HTMLElement, duplex?: boolean): Elf.Individual;
    export function assign (target: any, ...sources: any[]): any;

    export interface Promise<T> extends Elf.Disposable {
        readonly result?: any;
        readonly status?: string;
        then <R1, R2> (onresolved?: ((value: T) => R1 | Elf.Promise<R1>), onrejected?: ((error: any) => R2 | Elf.Promise<R2>)): Elf.Promise<R1 | R2>;
{'fraction_non_alphanumeric': 0.18321392016376664, 'fraction_numerical': 0.006755373592630501, 'mean_word_length': 3.4177215189873418, 'pattern_counts': {'":': 0, '<': 51, '<?xml version=': 0, '>': 63, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, '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': '5640571', 'n_tokens_mistral': 1516, 'n_tokens_neox': 1464, 'n_words': 455}