Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 11 additions & 13 deletions LocaleBaseClass.js
Original file line number Diff line number Diff line change
@@ -1,34 +1,32 @@
import { Platform, NativeModules } from 'react-native';
const NativeLocale = NativeModules.Locale;
import { NativeEventEmitter, NativeModules } from 'react-native';
const RCTLocale = NativeModules.Locale;
const warning = require('fbjs/lib/warning');

class LocaleBaseClass {
export default class LocaleBaseClass {

static constants() {
return NativeLocale;
return RCTLocale;
}

static numberFromDecimalString(number : string) {
return NativeLocale.numberFromDecimalString(number);
static numberFromDecimalString(number) {
return RCTLocale.numberFromDecimalString(number);
}

static decimalStyle(number : number) {
return NativeLocale.decimalStyle(number);
static decimalStyle(number) {
return RCTLocale.decimalStyle(number);
}

static validateDateFormatStyle(style : string) {
static validateDateFormatStyle(style) {
let valid = ['full', 'long', 'medium', 'short', 'none'];
if(Platform.OS == 'ios')
valid.push('default');
return valid.indexOf(style) >= 0;
}

static dateFormat(date, dateStyle : string, timeStyle : string) {
static dateFormat(date, dateStyle, timeStyle) {
warning(LocaleBaseClass.validateDateFormatStyle(dateStyle), 'Locale: DateStyle must be one of [full/long/medium/short/none]');
warning(LocaleBaseClass.validateDateFormatStyle(timeStyle), 'Locale: TimeStyle must be one of [full/long/medium/short/none]');
return NativeLocale.dateFormat(date, dateStyle, timeStyle);
return RCTLocale.dateFormat(date, dateStyle, timeStyle);
}

}

module.exports = LocaleBaseClass;
8 changes: 4 additions & 4 deletions android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ def safeExtGet(prop, fallback) {
}

android {
compileSdkVersion safeExtGet('compileSdkVersion', 23)
buildToolsVersion safeExtGet('buildToolsVersion', "23.0.1")
compileSdkVersion safeExtGet('compileSdkVersion', 27)
buildToolsVersion safeExtGet('buildToolsVersion', '28.0.2')

defaultConfig {
minSdkVersion safeExtGet('minSdkVersion', 16)
targetSdkVersion safeExtGet('targetSdkVersion', 22)
targetSdkVersion safeExtGet('targetSdkVersion', 27)
versionCode 1
versionName "1.0"
}
Expand All @@ -24,5 +24,5 @@ repositories {
}

dependencies {
implementation 'com.facebook.react:react-native:0.17.+'
implementation "com.facebook.react:react-native:${safeExtGet('reactNativeVersion', '+')}"
}
8 changes: 3 additions & 5 deletions index.android.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
const LocaleBaseClass = require('./LocaleBaseClass');
import LocaleBaseClass from './LocaleBaseClass';

class Locale extends LocaleBaseClass {
export default class Locale extends LocaleBaseClass {

/**
* Android can't pass Long's as ReactMethod arguments so send a string that is parsed
*/
static dateFormat(date : Date, dateStyle : string, timeStyle : string) {
static dateFormat(date, dateStyle, timeStyle) {
return LocaleBaseClass.dateFormat(''+date.getTime(), dateStyle, timeStyle);
}

}

module.exports = Locale;
26 changes: 12 additions & 14 deletions index.ios.js
Original file line number Diff line number Diff line change
@@ -1,20 +1,18 @@
import {NativeModules} from 'react-native';
const NativeLocale = NativeModules.Locale;
const LocaleBaseClass = require('./LocaleBaseClass');
import { NativeModules } from 'react-native';
import LocaleBaseClass from './LocaleBaseClass';
const RCTLocale = NativeModules.Locale;

class Locale extends LocaleBaseClass {
static currencyStyle(number : number) {
return NativeLocale.currencyStyle(number);
export default class Locale extends LocaleBaseClass {
static currencyStyle(number) {
return RCTLocale.currencyStyle(number);
}
static percentStyle(number : number) {
return NativeLocale.percentStyle(number);
static percentStyle(number) {
return RCTLocale.percentStyle(number);
}
static scientificStyle(number : number) {
return NativeLocale.scientificStyle(number);
static scientificStyle(number) {
return RCTLocale.scientificStyle(number);
}
static spelloutStyle(number : number) {
return NativeLocale.scientificStyle(number);
static spelloutStyle(number) {
return RCTLocale.scientificStyle(number);
}
}

module.exports = Locale;