import * as BuildUtil from './build.ts';
import * as ObjectUtil from './object.ts';
import * as FunctionUtil from './function.ts';
import * as StringUtil from './string.ts';
import * as DateUtil from './date.ts';
import * as ArrayUtil from './array.ts';
import * as NetUtil from './net.ts';
import * as DomUtil from './dom.ts';
import * as BomUtil from './bom.ts';
import * as FileUtil from './file.ts';
import * as NumberUtil from './number.ts';
import './boolean.ts';
import './element.ts';
import storage from './storage.ts';

const util = {
    build: BuildUtil,
    object: ObjectUtil,
    function: FunctionUtil,
    string: StringUtil,
    date: DateUtil,
    array: ArrayUtil,
    net: NetUtil,
    dom: DomUtil,
    bom: BomUtil,
    file: FileUtil,
    number: NumberUtil,
    storage: storage,
};

// 复制对象以便于使用者扩展
Object.keys(util).forEach((key) => {
    util[key] = Object.assign({}, util[key]);
})

export default util;
