diff --git a/accounting/index.d.ts b/accounting/index.d.ts index b8187e41c4..b437a63c36 100644 --- a/accounting/index.d.ts +++ b/accounting/index.d.ts @@ -3,77 +3,72 @@ // Definitions by: Sergey Gerasimov // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -interface IAccountingCurrencyFormat { - pos: string; // for positive values, eg. "$ 1.00" - neg?: string; // for negative values, eg. "$ (1.00)" - zero?: string; // for zero values, eg. "$ --" +declare namespace accounting { + interface IAccountingCurrencyFormat { + pos: string; // for positive values, eg. "$ 1.00" + neg?: string; // for negative values, eg. "$ (1.00)" + zero?: string; // for zero values, eg. "$ --" + } + + interface IAccountingCurrencySettings { + symbol?: string; // default currency symbol is '$' + format?: TFormat; // controls output: %s = symbol, %v = value/number + decimal?: string; // decimal point separator + thousand?: string; // thousands separator + precision?: number; // decimal places + } + + interface IAccountingNumberSettings { + precision?: number; // default precision on numbers is 0 + thousand?: string; + decimal?: string; + } + + interface IAccountingSettings { + currency: IAccountingCurrencySettings; // IAccountingCurrencySettings or IAccountingCurrencySettings + number: IAccountingNumberSettings; + } + + interface IAccountingStatic { + // format any number into currency + formatMoney(number: number, symbol?: string, precision?: number, thousand?: string, decimal?: string, format?: string): string; + formatMoney(number: number, options: IAccountingCurrencySettings | IAccountingCurrencySettings): string; + + formatMoney(numbers: number[], symbol?: string, precision?: number, thousand?: string, decimal?: string, format?: string): string[]; + formatMoney(numbers: number[], options: IAccountingCurrencySettings | IAccountingCurrencySettings): string[]; + + // generic case (any array of numbers) + formatMoney(numbers: any[], symbol?: string, precision?: number, thousand?: string, decimal?: string, format?: string): any[]; + formatMoney(numbers: any[], options: IAccountingCurrencySettings | IAccountingCurrencySettings): any[]; + + // format a list of values for column-display + formatColumn(numbers: number[], symbol?: string, precision?: number, thousand?: string, decimal?: string, format?: string): string[]; + formatColumn(numbers: number[], options: IAccountingCurrencySettings | IAccountingCurrencySettings): string[]; + + formatColumn(numbers: number[][], symbol?: string, precision?: number, thousand?: string, decimal?: string, format?: string): string[][]; + formatColumn(numbers: number[][], options: IAccountingCurrencySettings | IAccountingCurrencySettings): string[][]; + + // format a number with custom precision and localisation + formatNumber(number: number, precision?: number, thousand?: string, decimal?: string): string; + formatNumber(number: number, options: IAccountingNumberSettings): string; + + formatNumber(number: number[], precision?: number, thousand?: string, decimal?: string): string[]; + formatNumber(number: number[], options: IAccountingNumberSettings): string[]; + + formatNumber(number: any[], precision?: number, thousand?: string, decimal?: string): any[]; + formatNumber(number: any[], options: IAccountingNumberSettings): any[]; + + // better rounding for floating point numbers + toFixed(number: number, precision?: number): string; + + // get a value from any formatted number/currency string + unformat(string: string, decimal?: string): number; + + // settings object that controls default parameters for library methods + settings: IAccountingSettings; + } } -interface IAccountingCurrencySettings { - symbol?: string; // default currency symbol is '$' - format?: TFormat; // controls output: %s = symbol, %v = value/number - decimal?: string; // decimal point separator - thousand?: string; // thousands separator - precision?: number // decimal places -} - -interface IAccountingNumberSettings { - precision?: number; // default precision on numbers is 0 - thousand?: string; - decimal?: string; -} - -interface IAccountingSettings { - currency: IAccountingCurrencySettings; // IAccountingCurrencySettings or IAccountingCurrencySettings - number: IAccountingNumberSettings; -} - -interface IAccountingStatic { - // format any number into currency - formatMoney(number: number, symbol?: string, precision?: number, thousand?: string, decimal?: string, format?: string): string; - formatMoney(number: number, options: IAccountingCurrencySettings): string; - formatMoney(number: number, options: IAccountingCurrencySettings): string; - - formatMoney(numbers: number[], symbol?: string, precision?: number, thousand?: string, decimal?: string, format?: string): string[]; - formatMoney(numbers: number[], options: IAccountingCurrencySettings): string[]; - formatMoney(numbers: number[], options: IAccountingCurrencySettings): string[]; - - // generic case (any array of numbers) - formatMoney(numbers: any[], symbol?: string, precision?: number, thousand?: string, decimal?: string, format?: string): any[]; - formatMoney(numbers: any[], options: IAccountingCurrencySettings): any[]; - formatMoney(numbers: any[], options: IAccountingCurrencySettings): any[]; - - // format a list of values for column-display - formatColumn(numbers: number[], symbol?: string, precision?: number, thousand?: string, decimal?: string, format?: string): string[]; - formatColumn(numbers: number[], options: IAccountingCurrencySettings): string[]; - formatColumn(numbers: number[], options: IAccountingCurrencySettings): string[]; - - formatColumn(numbers: number[][], symbol?: string, precision?: number, thousand?: string, decimal?: string, format?: string): string[][]; - formatColumn(numbers: number[][], options: IAccountingCurrencySettings): string[][]; - formatColumn(numbers: number[][], options: IAccountingCurrencySettings): string[][]; - - // format a number with custom precision and localisation - formatNumber(number: number, precision?: number, thousand?: string, decimal?: string): string; - formatNumber(number: number, options: IAccountingNumberSettings): string; - - formatNumber(number: number[], precision?: number, thousand?: string, decimal?: string): string[]; - formatNumber(number: number[], options: IAccountingNumberSettings): string[]; - - formatNumber(number: any[], precision?: number, thousand?: string, decimal?: string): any[]; - formatNumber(number: any[], options: IAccountingNumberSettings): any[]; - - // better rounding for floating point numbers - toFixed(number: number, precision?: number): string; - - // get a value from any formatted number/currency string - unformat(string: string, decimal?: string): number; - - // settings object that controls default parameters for library methods - settings: IAccountingSettings; -} - -declare var accounting: IAccountingStatic; - -declare module "accounting" { - export = accounting; -} +declare var accounting: accounting.IAccountingStatic; +export = accounting; +export as namespace accounting; diff --git a/accounting/tslint.json b/accounting/tslint.json new file mode 100644 index 0000000000..2221e40e4a --- /dev/null +++ b/accounting/tslint.json @@ -0,0 +1 @@ +{ "extends": "../tslint.json" } \ No newline at end of file