From 0979c4799113938021ed9dc4b06ffa9c24263484 Mon Sep 17 00:00:00 2001 From: Vincent Bortone Date: Wed, 23 Jan 2013 18:55:36 -0500 Subject: [PATCH] Added Numeral.js Added Numeral.js definition and tests. --- numeraljs/numeraljs-tests.ts | 42 ++++++++++++++++++++++++++++++++ numeraljs/numeraljs.d.ts | 46 ++++++++++++++++++++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 numeraljs/numeraljs-tests.ts create mode 100644 numeraljs/numeraljs.d.ts diff --git a/numeraljs/numeraljs-tests.ts b/numeraljs/numeraljs-tests.ts new file mode 100644 index 0000000000..4dadb0c0b9 --- /dev/null +++ b/numeraljs/numeraljs-tests.ts @@ -0,0 +1,42 @@ +/// +var valueFormat: string = numeral(1000).format('0,0'); +// '1,000' + +var valueUnformat: number = numeral().unformat('($10,000.00)'); +// '-10000' + +var value3: Numeral = numeral(1000); +var added: Numeral = value3.add(10); +// 1010 + +var value4: Numeral = numeral(1000); +var formatValue4a: string = value4.format('0,0'); +// '1,000' +var formatValue4b: number = value4.value(); +// 1000 + +var value5: Numeral = numeral(); +value5.set(1000); +var value5Num: number = value5.value(); +// 1000 + +var value6: Numeral = numeral(1000); +var value: number = 100; +var difference = value6.difference(value); +// 900 + +var value7: Numeral = numeral(0); +numeral.zeroFormat('N/A'); +var zeroString: string = value7.format('0.0') +// 'N/A' + +var a: Numeral = numeral(1000); +var b: Numeral = numeral(a); +var c: Numeral = a.clone(); + +var aVal: number = a.set(2000).value(); +// 2000 +var bVal: number = b.value(); +// 1000 +var cVal: number = c.add(10).value(); +// 1010 diff --git a/numeraljs/numeraljs.d.ts b/numeraljs/numeraljs.d.ts new file mode 100644 index 0000000000..4733530046 --- /dev/null +++ b/numeraljs/numeraljs.d.ts @@ -0,0 +1,46 @@ +// Type definitions for Numeral.js +// Project: https://github.com/adamwdraper/Numeral-js +// Definitions by: Vincent Bortone +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +interface NumeralJSStatic { + (value?: any): Numeral; +} + +interface NumeralJSLanguage { + delimiters: { + thousands: string; + decimal: string; + }; + abbreviations: { + thousand: string; + million: string; + billion: string; + trillion: string; + }; + ordinal(num: number): string; + currency: { + symbol: string; + }; +} + +interface Numeral { + (value?: any): Numeral; + version: string; + isNumeral: bool; + language(key: string, values?: NumeralJSLanguage): Numeral; + zeroFormat(format: string): string; + clone(): Numeral; + format(inputString: string): string; + unformat(inputString: string): number; + value(): number; + valueOf(): number; + set (value: any): Numeral; + add(value: any): Numeral; + subtract(value: any): Numeral; + multiply(value: any): Numeral; + divide(value: any): Numeral; + difference(value: any): number; +} + +declare var numeral: Numeral; \ No newline at end of file