Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove simple translator #6

Merged
merged 1 commit into from
Apr 11, 2018
Merged
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
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Entering "abc" into a currency field would result in:

```json
{
error: ["is required"],
error: ["FormFormatters.required"],
formatted: "abc",
parsed: "abc",
valid: false
Expand Down
3 changes: 1 addition & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,7 @@
"dependencies": {
"lodash": "4.17.5",
"moment": "2.21.0",
"numeral": "2.0.6",
"simple-translator": "0.2.0"
"numeral": "2.0.6"
},
"devDependencies": {
"ava": "0.25.0",
Expand Down
3 changes: 1 addition & 2 deletions src/formatters/currency.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { isNil } from "lodash";
import Numeral from "numeral";
import Translator from "simple-translator";
import NumberFormatter from "./number";

const CurrencyFormatter = {
Expand All @@ -18,7 +17,7 @@ const CurrencyFormatter = {
formatted = value || "";
if(options.required && valid) {
valid = false;
errors.push(Translator.translate("FormFormatters.required"));
errors.push("FormFormatters.required");
}
}
formatted = numObj.format("$0,0.00");
Expand Down
3 changes: 1 addition & 2 deletions src/formatters/date.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import Moment from "moment";
import StrFormatter from "./string";
import Translator from "simple-translator";
import { isNil } from "lodash";

const DateFormatter = {
Expand Down Expand Up @@ -28,7 +27,7 @@ const DateFormatter = {
}
} else {
valid = false;
errors.push(Translator.translate("FormFormatters.dateInvalid"));
errors.push("FormFormatters.dateInvalid");
}
}

Expand Down
3 changes: 1 addition & 2 deletions src/formatters/email.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import Translator from "simple-translator";
import StrFormatter from "./string";

const EmailFormatter = {
Expand All @@ -12,7 +11,7 @@ const EmailFormatter = {
let emailRegex = /^[A-Za-z0-9+_.-]+@[A-Za-z0-9.-]+\.[A-Za-z]+$/;
valid = emailRegex.test(formatted);
if(!valid) {
errors.push(Translator.translate("FormFormatters.emailInvalid"));
errors.push("FormFormatters.emailInvalid");
}
}

Expand Down
3 changes: 1 addition & 2 deletions src/formatters/hex.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import Translator from "simple-translator";
import StrFormatter from "./string";

const HexFormatter = {
Expand All @@ -15,7 +14,7 @@ const HexFormatter = {
valid = false;
}
if(!valid) {
errors.push(Translator.translate("FormFormatters.hexInvalid"));
errors.push("FormFormatters.hexInvalid");
}
}

Expand Down
3 changes: 1 addition & 2 deletions src/formatters/number.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import numeral from "numeral";
import Translator from "simple-translator";
import StrFormatter from "./string";

const NumberFormatter = {
Expand All @@ -13,7 +12,7 @@ const NumberFormatter = {
formatted = value;
if(options.required) {
valid = false;
errors.push(Translator.translate("FormFormatters.required"));
errors.push("FormFormatters.required");
}
}
formatted = parsed.toString();
Expand Down
11 changes: 5 additions & 6 deletions src/formatters/percent.js
Original file line number Diff line number Diff line change
@@ -1,21 +1,20 @@
import _ from "lodash";
import numeral from "numeral";
import Translator from "simple-translator";
import StrFormatter from "./string";
import { merge, isEmpty, trim } from "lodash";

const PercentFormatter = {
format(value, options = {}) {
options = _.merge({}, {format: "decimal"}, options);
options = merge({}, {format: "decimal"}, options);
let{valid, parsed, formatted, errors} = StrFormatter.format(value, options);

if(!_.isEmpty(parsed)) {
let numObj = numeral(_.trim(parsed.replace(/[$\s,%]/g, "")));
if(!isEmpty(parsed)) {
let numObj = numeral(trim(parsed.replace(/[$\s,%]/g, "")));
parsed = numObj.value();
if(typeof(parsed) === "undefined" || parsed === null) {
parsed = value;
formatted = value;
valid = false;
errors.push(Translator.translate("FormFormatters.required"));
errors.push("FormFormatters.required");
} else {
if(options.format === "decimal") {
formatted = numObj.format("0,0.00");
Expand Down
3 changes: 1 addition & 2 deletions src/formatters/phone.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import Translator from "simple-translator";
import StrFormatter from "./string";

const PhoneFormatter = {
Expand All @@ -13,7 +12,7 @@ const PhoneFormatter = {
valid = false;
parsed = value;
formatted = value;
errors.push(Translator.translate("FormFormatters.phoneInvalid"));
errors.push("FormFormatters.phoneInvalid");
}
}

Expand Down
5 changes: 2 additions & 3 deletions src/formatters/rgb.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import numeral from "numeral";
import Translator from "simple-translator";
import NumberFormatter from "./number";

const RgbFormatter = {
Expand All @@ -14,11 +13,11 @@ const RgbFormatter = {
formatted = value || "";
if(options.required && valid) {
valid = false;
errors.push(Translator.translate("FormFormatters.required"));
errors.push("FormFormatters.required");
}
} else if(parsed > 255 || parsed < 0) {
valid = false;
errors.push(Translator.translate("FormFormatters.rgbInvalid"));
errors.push("FormFormatters.rgbInvalid");
}
}

Expand Down
3 changes: 1 addition & 2 deletions src/formatters/ssn.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import StrFormatter from "./string";
import Translator from "simple-translator";

const SSNFormatter = {
format(value, options = {}) {
Expand All @@ -13,7 +12,7 @@ const SSNFormatter = {
valid = false;
parsed = value;
formatted = value;
errors.push(Translator.translate("FormFormatters.ssnInvalid"));
errors.push("FormFormatters.ssnInvalid");
}
}

Expand Down
3 changes: 1 addition & 2 deletions src/formatters/ssnLastFour.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import StringFormatter from "./string";
import Translator from "simple-translator";

const SSNLastFourFormatter = {
format(value, options = {}) {
Expand All @@ -12,7 +11,7 @@ const SSNLastFourFormatter = {
if(parsed.length !== 4) {
valid = false;
errors.push();
errors.push(Translator.translate("FormFormatters.last4Invalid"));
errors.push("FormFormatters.last4Invalid");
}
}

Expand Down
3 changes: 1 addition & 2 deletions src/formatters/string.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { isEmpty, isNil, isNumber } from "lodash";
import Translator from "simple-translator";

const StringFormatter = {
format(value, options = {}) {
Expand All @@ -18,7 +17,7 @@ const StringFormatter = {
let formatted = isNil(value) ? "" : value.toString().trim();
let parsed = formatted;
if(options.required && isEmpty(parsed)) {
errors.push(Translator.translate("FormFormatters.required"));
errors.push("FormFormatters.required");
}

return({
Expand Down
3 changes: 1 addition & 2 deletions src/formatters/time.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import Moment from "moment";
import StrFormatter from "./string";
import Translator from "simple-translator";

const TimeFormatter = {
timeFormat: "h:mm a",
Expand All @@ -17,7 +16,7 @@ const TimeFormatter = {
valid = false;
formatted = "";
parsed = "";
errors.push(Translator.translate("FormFormatters.timeInvalid"));
errors.push("FormFormatters.timeInvalid");
}
}

Expand Down
19 changes: 3 additions & 16 deletions test/formatters/currency.js
Original file line number Diff line number Diff line change
@@ -1,29 +1,18 @@
import formatter from "../../src/formatters/currency";
import Translator from "simple-translator";
import test from "ava";

const English = {
FormFormatters: {
required: "is required"
}
};

test("converts null", t => {
Translator.registerDefaultLanguage("en", English);

t.deepEqual(formatter.format(null, {required: true}), {
errors: ["is required"],
errors: ["FormFormatters.required"],
formatted: "",
parsed: "",
valid: false
});
});

test("returns an error if required", t => {
Translator.registerDefaultLanguage("en", English);

t.deepEqual(formatter.format("", {required: true}), {
errors: ["is required"],
errors: ["FormFormatters.required"],
formatted: "",
parsed: "",
valid: false
Expand Down Expand Up @@ -67,10 +56,8 @@ test("formats dollars", t => {
});

test("(doesn't) handle errors", t => {
Translator.registerDefaultLanguage("en", English);

t.deepEqual(formatter.format("abc", {required: true}), {
errors: ["is required"],
errors: ["FormFormatters.required"],
formatted: "abc",
parsed: "abc",
valid: false
Expand Down
20 changes: 3 additions & 17 deletions test/formatters/date.js
Original file line number Diff line number Diff line change
@@ -1,30 +1,18 @@
import formatter from "../../src/formatters/date";
import Translator from "simple-translator";
import test from "ava";

const English = {
FormFormatters: {
dateInvalid: "date is invalid",
required: "is required"
}
};

test("converts null", t => {
Translator.registerDefaultLanguage("en", English);

t.deepEqual(formatter.format(null, {required: true}), {
errors: ["is required"],
errors: ["FormFormatters.required"],
formatted: "",
parsed: "",
valid: false
});
});

test("returns an error if required", t => {
Translator.registerDefaultLanguage("en", English);

t.deepEqual(formatter.format("", {required: true}), {
errors: ["is required"],
errors: ["FormFormatters.required"],
formatted: "",
parsed: "",
valid: false
Expand Down Expand Up @@ -104,10 +92,8 @@ test("formats MMM DD YYYY h:mm", t => {
});

test("does not handle errors", t => {
Translator.registerDefaultLanguage("en", English);

t.deepEqual(formatter.format("abc"), {
errors: ["date is invalid"],
errors: ["FormFormatters.dateInvalid"],
formatted: "",
parsed: "",
valid: false
Expand Down