Skip to content

Commit 28356d7

Browse files
committed
Add auto typings for TS client code.
1 parent 503456f commit 28356d7

7 files changed

+47
-48
lines changed

src/index.d.ts

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from "./intl";

src/intl.d.ts

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
export interface DateTimeFormatOptions {
2+
weekday?: string;
3+
era?: string;
4+
year?: string;
5+
month?: string;
6+
day?: string;
7+
hour?: string;
8+
minute?: string;
9+
second?: string;
10+
timeZoneName?: string;
11+
hour12?: boolean;
12+
}
13+
14+
export interface DateTimeFormat {
15+
format(date?: Date | number): string;
16+
}
17+
18+
export interface NumberFormatOptions {
19+
style?: string;
20+
currency?: string;
21+
currencyDisplay?: string;
22+
useGrouping?: boolean;
23+
minimumIntegerDigits?: number;
24+
minimumFractionDigits?: number;
25+
maximumFractionDigits?: number;
26+
}
27+
28+
export interface NumberFormat {
29+
format(value: number): string;
30+
}

src/nativescript-intl-common.ts

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
import defModule = require("nativescript-intl");
1+
import * as Intl from "./intl";
22

33
export var NUMERIC = 'numeric';
44
export var LONG = 'long';
55
export var SHORT = 'short';
66
export var TWODIGIT = '2-digit';
77
export var FULL = 'full';
88

9-
export class DateTimeFormat implements defModule.DateTimeFormat {
10-
constructor(private locale?: string, private options?: defModule.DateTimeFormatOptions, private pattern?: string) {
9+
export class DateTimeFormat implements Intl.DateTimeFormat {
10+
constructor(private locale?: string, private options?: Intl.DateTimeFormatOptions, private pattern?: string) {
1111
if (options && options.minute === NUMERIC) {
1212
this.options.minute = TWODIGIT;
1313
}
@@ -16,11 +16,11 @@ export class DateTimeFormat implements defModule.DateTimeFormat {
1616
}
1717
}
1818

19-
private hasTimeOptions(options: defModule.DateTimeFormatOptions): boolean {
19+
private hasTimeOptions(options: Intl.DateTimeFormatOptions): boolean {
2020
return options.hour !== undefined || options.minute !== undefined || options.second !== undefined;
2121
}
2222

23-
private hasDateOptions(options: defModule.DateTimeFormatOptions): boolean {
23+
private hasDateOptions(options: Intl.DateTimeFormatOptions): boolean {
2424
return options.weekday !== undefined || options.year !== undefined || options.month !== undefined || options.day !== undefined;
2525
}
2626

@@ -204,14 +204,14 @@ export class DateTimeFormat implements defModule.DateTimeFormat {
204204
}
205205
}
206206

207-
export class NumberFormat implements defModule.NumberFormat {
208-
constructor(private locale?: string, private options?: defModule.NumberFormatOptions, private pattern?: string) { }
207+
export class NumberFormat implements Intl.NumberFormat {
208+
constructor(private locale?: string, private options?: Intl.NumberFormatOptions, private pattern?: string) { }
209209

210-
public formatNative(value: number, locale?: string, options?: defModule.NumberFormatOptions, pattern?: string): string {
210+
public formatNative(value: number, locale?: string, options?: Intl.NumberFormatOptions, pattern?: string): string {
211211
return '';
212212
}
213213

214214
public format(value: number) {
215215
return this.formatNative(value, this.locale, this.options, this.pattern);
216216
}
217-
}
217+
}

src/nativescript-intl.android.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import common = require("./nativescript-intl-common");
2-
import defModule = require("nativescript-intl");
2+
import * as Intl from "./intl";
33

44
var localesCache: Map<string, any> = new Map<string, any>();
55

@@ -105,7 +105,7 @@ export class DateTimeFormat extends common.DateTimeFormat {
105105
// minimumFractionDigits?: number;
106106
// maximumFractionDigits?: number;
107107
export class NumberFormat extends common.NumberFormat {
108-
public formatNative(value: number, locale?: string, options?: defModule.NumberFormatOptions, pattern?: string) {
108+
public formatNative(value: number, locale?: string, options?: Intl.NumberFormatOptions, pattern?: string) {
109109
let numberFormat;
110110
if (pattern) {
111111
numberFormat = new java.text.DecimalFormat(pattern);
@@ -168,4 +168,4 @@ export class NumberFormat extends common.NumberFormat {
168168

169169
return numberFormat.format(value);
170170
}
171-
}
171+
}

src/nativescript-intl.d.ts

-32
This file was deleted.

src/nativescript-intl.ios.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import common = require("./nativescript-intl-common");
2-
import defModule = require("nativescript-intl");
2+
import * as Intl from "./intl";
33

44
export class DateTimeFormat extends common.DateTimeFormat {
55
public getNativePattern(patternDefinition: {date?: string, time?: string}, locale?: string): string {
@@ -34,7 +34,7 @@ export class DateTimeFormat extends common.DateTimeFormat {
3434
// minimumFractionDigits?: number;
3535
// maximumFractionDigits?: number;
3636
export class NumberFormat extends common.NumberFormat {
37-
public formatNative(value: number, locale?: string, options?: defModule.NumberFormatOptions, pattern?: string) {
37+
public formatNative(value: number, locale?: string, options?: Intl.NumberFormatOptions, pattern?: string) {
3838
let numberFormat = NSNumberFormatter.new();
3939
if (locale) {
4040
numberFormat.locale = NSLocale.alloc().initWithLocaleIdentifier(locale);
@@ -90,4 +90,4 @@ export class NumberFormat extends common.NumberFormat {
9090

9191
return numberFormat.stringFromNumber(NSNumber.alloc().initWithDouble(value));
9292
}
93-
}
93+
}

src/tsconfig.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
],
1616
"files": [
1717
"../d.ts/references.d.ts",
18-
"nativescript-intl.d.ts",
18+
"index.d.ts",
1919
"nativescript-intl-common.ts",
2020
"nativescript-intl.android.ts",
2121
"nativescript-intl.ios.ts"

0 commit comments

Comments
 (0)