@entropic-bond/localize-react 1.4.0 → 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/locale.d.ts +1 -1
- package/lib/locale.js +54 -116
- package/lib/locale.js.map +1 -1
- package/lib/locale.spec.js +40 -99
- package/lib/locale.spec.js.map +1 -1
- package/lib/localized-component.js +26 -58
- package/lib/localized-component.js.map +1 -1
- package/lib/react-localizer.spec.js +72 -198
- package/lib/react-localizer.spec.js.map +1 -1
- package/package.json +15 -14
package/lib/locale.d.ts
CHANGED
package/lib/locale.js
CHANGED
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -19,37 +8,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
19
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
9
|
});
|
|
21
10
|
};
|
|
22
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
-
function step(op) {
|
|
27
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
-
while (_) try {
|
|
29
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
-
switch (op[0]) {
|
|
32
|
-
case 0: case 1: t = op; break;
|
|
33
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
-
default:
|
|
37
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
-
if (t[2]) _.ops.pop();
|
|
42
|
-
_.trys.pop(); continue;
|
|
43
|
-
}
|
|
44
|
-
op = body.call(thisArg, _);
|
|
45
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
12
|
exports.Locale = void 0;
|
|
51
|
-
|
|
52
|
-
|
|
13
|
+
class Locale {
|
|
14
|
+
constructor(config) {
|
|
53
15
|
this._pendingPromise = null;
|
|
54
16
|
this._table = null;
|
|
55
17
|
this._table = null;
|
|
@@ -57,21 +19,16 @@ var Locale = /** @class */ (function () {
|
|
|
57
19
|
this._lang = config.locale || 'en';
|
|
58
20
|
this._localePath = config.localePath || '';
|
|
59
21
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
enumerable: false,
|
|
68
|
-
configurable: true
|
|
69
|
-
});
|
|
70
|
-
Locale.prototype.pluralize = function (word, amount, pluralizer) {
|
|
71
|
-
if (amount === void 0) { amount = 0; }
|
|
22
|
+
static get instance() {
|
|
23
|
+
if (!this._instance) {
|
|
24
|
+
this._instance = new Locale(this._registeredConfig);
|
|
25
|
+
}
|
|
26
|
+
return this._instance;
|
|
27
|
+
}
|
|
28
|
+
pluralize(word, amount = 0, pluralizer) {
|
|
72
29
|
if (amount === 1)
|
|
73
30
|
return word;
|
|
74
|
-
|
|
31
|
+
let plural;
|
|
75
32
|
if (typeof pluralizer !== 'function') {
|
|
76
33
|
plural = pluralizer === null || pluralizer === void 0 ? void 0 : pluralizer[word];
|
|
77
34
|
if (plural)
|
|
@@ -80,83 +37,64 @@ var Locale = /** @class */ (function () {
|
|
|
80
37
|
else {
|
|
81
38
|
plural = pluralizer === null || pluralizer === void 0 ? void 0 : pluralizer(word, this._lang);
|
|
82
39
|
}
|
|
83
|
-
|
|
84
|
-
|
|
40
|
+
let i = 0;
|
|
41
|
+
const rules = Locale._registeredRules[this._lang];
|
|
85
42
|
while (!plural && rules && i < rules.length) {
|
|
86
43
|
plural = rules[i++](word, this._lang);
|
|
87
44
|
}
|
|
88
45
|
return plural || word + 's';
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
this._registeredConfig =
|
|
46
|
+
}
|
|
47
|
+
static config(config) {
|
|
48
|
+
this._registeredConfig = Object.assign(Object.assign({}, this._registeredConfig), config);
|
|
92
49
|
this._instance = null;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
case 0:
|
|
108
|
-
_a.trys.push([0, 2, , 4]);
|
|
109
|
-
return [4 /*yield*/, fetch(this.getLocaleFilePath())];
|
|
110
|
-
case 1: return [2 /*return*/, (_a.sent()).json()];
|
|
111
|
-
case 2:
|
|
112
|
-
error_1 = _a.sent();
|
|
113
|
-
return [4 /*yield*/, fetch(this.getLocaleFilePath('en'))];
|
|
114
|
-
case 3: return [2 /*return*/, (_a.sent()).json()];
|
|
115
|
-
case 4: return [2 /*return*/];
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
}); })];
|
|
119
|
-
case 1:
|
|
120
|
-
_a._table = _b.sent();
|
|
121
|
-
_b.label = 2;
|
|
122
|
-
case 2: return [2 /*return*/, this._table[component]];
|
|
123
|
-
}
|
|
124
|
-
});
|
|
50
|
+
}
|
|
51
|
+
get(component) {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
if (!this._table) {
|
|
54
|
+
this._table = yield this.fetchCache(() => __awaiter(this, void 0, void 0, function* () {
|
|
55
|
+
try {
|
|
56
|
+
return (yield fetch(this.getLocaleFilePath())).json();
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
return (yield fetch(this.getLocaleFilePath('en'))).json();
|
|
60
|
+
}
|
|
61
|
+
}));
|
|
62
|
+
}
|
|
63
|
+
return this._table[component];
|
|
125
64
|
});
|
|
126
|
-
}
|
|
127
|
-
|
|
65
|
+
}
|
|
66
|
+
fetchCache(cachedPromise) {
|
|
128
67
|
if (!this._pendingPromise) {
|
|
129
|
-
this._pendingPromise = new Promise(
|
|
68
|
+
this._pendingPromise = new Promise(resolve => resolve(cachedPromise()));
|
|
130
69
|
}
|
|
131
70
|
return this._pendingPromise;
|
|
132
|
-
}
|
|
133
|
-
|
|
71
|
+
}
|
|
72
|
+
getLocaleFilePath(locale) {
|
|
134
73
|
if (this._lang.indexOf('http') < 0) {
|
|
135
|
-
return
|
|
74
|
+
return `${this._localePath}/${locale || this._lang}.json`;
|
|
136
75
|
}
|
|
137
76
|
return this._lang;
|
|
138
|
-
}
|
|
139
|
-
|
|
77
|
+
}
|
|
78
|
+
static useRule(rule, locale) {
|
|
140
79
|
if (!Locale._registeredRules[locale])
|
|
141
80
|
Locale._registeredRules[locale] = [];
|
|
142
81
|
Locale._registeredRules[locale].push(rule);
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
function (word, locale) {
|
|
146
|
-
if (locale !== 'en')
|
|
147
|
-
return;
|
|
148
|
-
return word.slice(-1) === 'y' ? word.slice(0, -1) + 'ies' : undefined;
|
|
149
|
-
},
|
|
150
|
-
function (word, locale) {
|
|
151
|
-
if (locale !== 'en')
|
|
152
|
-
return;
|
|
153
|
-
return word.slice(-1) === 's' ? word + 'es' : undefined;
|
|
154
|
-
}
|
|
155
|
-
];
|
|
156
|
-
Locale._instance = null;
|
|
157
|
-
Locale._registeredConfig = {};
|
|
158
|
-
Locale._registeredRules = { en: Locale.rules };
|
|
159
|
-
return Locale;
|
|
160
|
-
}());
|
|
82
|
+
}
|
|
83
|
+
}
|
|
161
84
|
exports.Locale = Locale;
|
|
85
|
+
Locale.rules = [
|
|
86
|
+
(word, locale) => {
|
|
87
|
+
if (locale !== 'en')
|
|
88
|
+
return;
|
|
89
|
+
return word.slice(-1) === 'y' ? word.slice(0, -1) + 'ies' : undefined;
|
|
90
|
+
},
|
|
91
|
+
(word, locale) => {
|
|
92
|
+
if (locale !== 'en')
|
|
93
|
+
return;
|
|
94
|
+
return word.slice(-1) === 's' ? word + 'es' : undefined;
|
|
95
|
+
}
|
|
96
|
+
];
|
|
97
|
+
Locale._instance = null;
|
|
98
|
+
Locale._registeredConfig = {};
|
|
99
|
+
Locale._registeredRules = { en: Locale.rules };
|
|
162
100
|
//# sourceMappingURL=locale.js.map
|
package/lib/locale.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locale.js","sourceRoot":"","sources":["../src/locale.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"locale.js","sourceRoot":"","sources":["../src/locale.ts"],"names":[],"mappings":"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"}
|
package/lib/locale.spec.js
CHANGED
|
@@ -8,45 +8,18 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (_) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
11
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
13
|
};
|
|
41
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
describe('Locale',
|
|
45
|
-
beforeEach(
|
|
15
|
+
const fetch_mock_1 = __importDefault(require("fetch-mock"));
|
|
16
|
+
const locale_1 = require("./locale");
|
|
17
|
+
describe('Locale', () => {
|
|
18
|
+
beforeEach(() => {
|
|
46
19
|
locale_1.Locale.config({
|
|
47
20
|
localePath: 'locales'
|
|
48
21
|
});
|
|
49
|
-
fetch_mock_1.default.mock('locales/en.json',
|
|
22
|
+
fetch_mock_1.default.mock('locales/en.json', () => {
|
|
50
23
|
return {
|
|
51
24
|
"hi": "Hello",
|
|
52
25
|
"moduleA": {
|
|
@@ -55,110 +28,78 @@ describe('Locale', function () {
|
|
|
55
28
|
}
|
|
56
29
|
};
|
|
57
30
|
});
|
|
58
|
-
fetch_mock_1.default.mock('locales/es.json',
|
|
31
|
+
fetch_mock_1.default.mock('locales/es.json', () => {
|
|
59
32
|
return {
|
|
60
33
|
"hi": "Hola!!!"
|
|
61
34
|
};
|
|
62
35
|
});
|
|
63
36
|
});
|
|
64
|
-
afterEach(
|
|
65
|
-
it('should translate string',
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
})
|
|
78
|
-
it('should
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
_a.apply(void 0, [_b.sent()]).toEqual('Hola!!!');
|
|
88
|
-
return [2 /*return*/];
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
}); });
|
|
92
|
-
it('should work for named modules', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
93
|
-
var module;
|
|
94
|
-
return __generator(this, function (_a) {
|
|
95
|
-
switch (_a.label) {
|
|
96
|
-
case 0:
|
|
97
|
-
locale_1.Locale.config({ locale: 'en' });
|
|
98
|
-
return [4 /*yield*/, locale_1.Locale.instance.get('moduleA')];
|
|
99
|
-
case 1:
|
|
100
|
-
module = _a.sent();
|
|
101
|
-
expect(module['bye']).toEqual('Bye');
|
|
102
|
-
expect(module['goodMorning']).toEqual('Good Morning');
|
|
103
|
-
return [2 /*return*/];
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
}); });
|
|
107
|
-
it('should retrieve data only once in successive calls to get (cache calls)', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
108
|
-
return __generator(this, function (_a) {
|
|
109
|
-
expect(fetch_mock_1.default.calls().length).toBe(0);
|
|
110
|
-
locale_1.Locale.instance.get('moduleA');
|
|
111
|
-
locale_1.Locale.instance.get('hi');
|
|
112
|
-
locale_1.Locale.instance.get('moduleA')['bye'];
|
|
113
|
-
expect(fetch_mock_1.default.calls('locales/en.json').length).toBe(1);
|
|
114
|
-
return [2 /*return*/];
|
|
115
|
-
});
|
|
116
|
-
}); });
|
|
117
|
-
describe('Pluralizer', function () {
|
|
118
|
-
it('should pluralize by default', function () {
|
|
37
|
+
afterEach(() => fetch_mock_1.default.restore());
|
|
38
|
+
it('should translate string', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
39
|
+
expect(yield locale_1.Locale.instance.get('hi')).toEqual('Hello');
|
|
40
|
+
}));
|
|
41
|
+
it('should change locale', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
42
|
+
locale_1.Locale.config({ locale: 'es' });
|
|
43
|
+
expect(yield locale_1.Locale.instance.get('hi')).toEqual('Hola!!!');
|
|
44
|
+
}));
|
|
45
|
+
it('should work for named modules', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
46
|
+
locale_1.Locale.config({ locale: 'en' });
|
|
47
|
+
const module = yield locale_1.Locale.instance.get('moduleA');
|
|
48
|
+
expect(module['bye']).toEqual('Bye');
|
|
49
|
+
expect(module['goodMorning']).toEqual('Good Morning');
|
|
50
|
+
}));
|
|
51
|
+
it('should retrieve data only once in successive calls to get (cache calls)', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
52
|
+
expect(fetch_mock_1.default.calls().length).toBe(0);
|
|
53
|
+
locale_1.Locale.instance.get('moduleA');
|
|
54
|
+
locale_1.Locale.instance.get('hi');
|
|
55
|
+
locale_1.Locale.instance.get('moduleA')['bye'];
|
|
56
|
+
expect(fetch_mock_1.default.calls('locales/en.json').length).toBe(1);
|
|
57
|
+
}));
|
|
58
|
+
describe('Pluralizer', () => {
|
|
59
|
+
it('should pluralize by default', () => {
|
|
119
60
|
expect(locale_1.Locale.instance.pluralize('apple')).toEqual('apples');
|
|
120
61
|
});
|
|
121
|
-
it('should pluralize exceptions',
|
|
62
|
+
it('should pluralize exceptions', () => {
|
|
122
63
|
expect(locale_1.Locale.instance.pluralize('mouse', 2, {
|
|
123
64
|
mouse: 'mice',
|
|
124
65
|
foot: 'feet'
|
|
125
66
|
})).toEqual('mice');
|
|
126
67
|
});
|
|
127
|
-
it('should NOT pluralize exceptions with amount 1',
|
|
68
|
+
it('should NOT pluralize exceptions with amount 1', () => {
|
|
128
69
|
expect(locale_1.Locale.instance.pluralize('mouse', 1, {
|
|
129
70
|
mouse: 'mice',
|
|
130
71
|
foot: 'feet'
|
|
131
72
|
})).toEqual('mouse');
|
|
132
73
|
});
|
|
133
|
-
it('should not pluralize on amount equal to 1',
|
|
74
|
+
it('should not pluralize on amount equal to 1', () => {
|
|
134
75
|
expect(locale_1.Locale.instance.pluralize('apple', 1)).toEqual('apple');
|
|
135
76
|
});
|
|
136
|
-
it('should pluralize on amounts greather than 1',
|
|
77
|
+
it('should pluralize on amounts greather than 1', () => {
|
|
137
78
|
expect(locale_1.Locale.instance.pluralize('apple', 2)).toEqual('apples');
|
|
138
79
|
expect(locale_1.Locale.instance.pluralize('apple', 3)).toEqual('apples');
|
|
139
80
|
});
|
|
140
|
-
it('should pluralize on negative amounts',
|
|
81
|
+
it('should pluralize on negative amounts', () => {
|
|
141
82
|
expect(locale_1.Locale.instance.pluralize('apple', -1)).toEqual('apples');
|
|
142
83
|
expect(locale_1.Locale.instance.pluralize('apple', -2)).toEqual('apples');
|
|
143
84
|
expect(locale_1.Locale.instance.pluralize('apple', -3)).toEqual('apples');
|
|
144
85
|
});
|
|
145
|
-
it('should pluralize on 0 amount',
|
|
86
|
+
it('should pluralize on 0 amount', () => {
|
|
146
87
|
expect(locale_1.Locale.instance.pluralize('apple', 0)).toEqual('apples');
|
|
147
88
|
});
|
|
148
|
-
it('should use provided pluralize function',
|
|
149
|
-
|
|
89
|
+
it('should use provided pluralize function', () => {
|
|
90
|
+
const endsY = (word, locale) => {
|
|
150
91
|
if (locale !== 'en')
|
|
151
92
|
return;
|
|
152
93
|
return word.slice(-1) === 'y' ? word.slice(0, -1) + 'ies' : word;
|
|
153
94
|
};
|
|
154
95
|
expect(locale_1.Locale.instance.pluralize('city', 0, endsY)).toEqual('cities');
|
|
155
96
|
});
|
|
156
|
-
it('should use rules',
|
|
97
|
+
it('should use rules', () => {
|
|
157
98
|
expect(locale_1.Locale.instance.pluralize('city')).toEqual('cities');
|
|
158
99
|
expect(locale_1.Locale.instance.pluralize('class')).toEqual('classes');
|
|
159
100
|
});
|
|
160
|
-
it('should register rules',
|
|
161
|
-
locale_1.Locale.useRule(
|
|
101
|
+
it('should register rules', () => {
|
|
102
|
+
locale_1.Locale.useRule(word => word + ' fake', 'en');
|
|
162
103
|
expect(locale_1.Locale.instance.pluralize('something')).toEqual('something fake');
|
|
163
104
|
});
|
|
164
105
|
});
|
package/lib/locale.spec.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locale.spec.js","sourceRoot":"","sources":["../src/locale.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"locale.spec.js","sourceRoot":"","sources":["../src/locale.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
var __assign = (this && this.__assign) || function () {
|
|
18
|
-
__assign = Object.assign || function(t) {
|
|
19
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
20
|
-
s = arguments[i];
|
|
21
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
22
|
-
t[p] = s[p];
|
|
23
|
-
}
|
|
24
|
-
return t;
|
|
25
|
-
};
|
|
26
|
-
return __assign.apply(this, arguments);
|
|
27
|
-
};
|
|
28
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
3
|
exports.useLocale = exports.localize = exports.LocalizedComponent = void 0;
|
|
30
|
-
|
|
31
|
-
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const locale_1 = require("./locale");
|
|
32
6
|
/**
|
|
33
7
|
* Derive React components from this class to provide locale capabilities.
|
|
34
8
|
*
|
|
@@ -40,28 +14,25 @@ var locale_1 = require("./locale");
|
|
|
40
14
|
* You can use this method or @see localize method to provide localization to your
|
|
41
15
|
* component.
|
|
42
16
|
*/
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
_this.state = { locale: {} };
|
|
17
|
+
class LocalizedComponent extends react_1.Component {
|
|
18
|
+
constructor(props) {
|
|
19
|
+
super(props);
|
|
20
|
+
this.state = { locale: {} };
|
|
48
21
|
Promise.all([
|
|
49
|
-
locale_1.Locale.instance.get(
|
|
22
|
+
locale_1.Locale.instance.get(this.className()),
|
|
50
23
|
locale_1.Locale.instance.get('Generic')
|
|
51
|
-
]).then(
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
24
|
+
]).then(resp => {
|
|
25
|
+
const locale = Object.assign(Object.assign({}, resp[0]), resp[1]);
|
|
26
|
+
this.setState({ locale });
|
|
27
|
+
this.onLoadLocale(locale);
|
|
55
28
|
});
|
|
56
|
-
return _this;
|
|
57
29
|
}
|
|
58
30
|
/**
|
|
59
31
|
* Override this method to get a notification when the locale has been loaded
|
|
60
32
|
* @param locale the loaded locale
|
|
61
33
|
*/
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}(react_1.Component));
|
|
34
|
+
onLoadLocale(locale) { }
|
|
35
|
+
}
|
|
65
36
|
exports.LocalizedComponent = LocalizedComponent;
|
|
66
37
|
/**
|
|
67
38
|
* Decorator to inject locale capabilities. The decorator will set the component
|
|
@@ -77,23 +48,20 @@ exports.LocalizedComponent = LocalizedComponent;
|
|
|
77
48
|
*/
|
|
78
49
|
function localize(className) {
|
|
79
50
|
return function (constructor) {
|
|
80
|
-
return
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
_this.loadLocale = Promise.all([
|
|
51
|
+
return class extends constructor {
|
|
52
|
+
constructor() {
|
|
53
|
+
super(...arguments);
|
|
54
|
+
this.state = Object.assign({ locale: {} }, this['state']);
|
|
55
|
+
this.loadLocale = Promise.all([
|
|
86
56
|
locale_1.Locale.instance.get(className),
|
|
87
57
|
locale_1.Locale.instance.get('Generic')
|
|
88
|
-
]).then(
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
58
|
+
]).then(resp => {
|
|
59
|
+
const locale = Object.assign(Object.assign({}, resp[0]), resp[1]);
|
|
60
|
+
this['setState']({ locale });
|
|
61
|
+
this['onLoadLocale'] && this['onLoadLocale'](locale);
|
|
92
62
|
});
|
|
93
|
-
return _this;
|
|
94
63
|
}
|
|
95
|
-
|
|
96
|
-
}(constructor));
|
|
64
|
+
};
|
|
97
65
|
};
|
|
98
66
|
}
|
|
99
67
|
exports.localize = localize;
|
|
@@ -105,12 +73,12 @@ exports.localize = localize;
|
|
|
105
73
|
* @returns an object with the localized strings
|
|
106
74
|
*/
|
|
107
75
|
function useLocale(componentName) {
|
|
108
|
-
|
|
109
|
-
(0, react_1.useEffect)(
|
|
76
|
+
const [locale, setLocale] = (0, react_1.useState)({});
|
|
77
|
+
(0, react_1.useEffect)(() => {
|
|
110
78
|
Promise.all([
|
|
111
79
|
locale_1.Locale.instance.get(componentName),
|
|
112
80
|
locale_1.Locale.instance.get('Generic')
|
|
113
|
-
]).then(
|
|
81
|
+
]).then(resp => setLocale(Object.assign(Object.assign({}, resp[0]), resp[1])));
|
|
114
82
|
}, []);
|
|
115
83
|
return locale;
|
|
116
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"localized-component.js","sourceRoot":"","sources":["../src/localized-component.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"localized-component.js","sourceRoot":"","sources":["../src/localized-component.tsx"],"names":[],"mappings":";;;AAAA,iCAAsD;AACtD,qCAAgD;AAQhD;;;;;;;;;;GAUG;AACH,MAAsB,kBAAkE,SAAQ,iBAAe;IAC9G,YAAa,KAAQ;QACpB,KAAK,CAAE,KAAK,CAAE,CAAA;QAEd,IAAI,CAAC,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,EAAO,CAAA;QAEhC,OAAO,CAAC,GAAG,CAAC;YACX,eAAM,CAAC,QAAQ,CAAC,GAAG,CAAE,IAAI,CAAC,SAAS,EAAE,CAAE;YACvC,eAAM,CAAC,QAAQ,CAAC,GAAG,CAAE,SAAS,CAAE;SAChC,CAAC,CAAC,IAAI,CAAE,IAAI,CAAC,EAAE;YACf,MAAM,MAAM,mCAAQ,IAAI,CAAC,CAAC,CAAC,GAAK,IAAI,CAAC,CAAC,CAAC,CAAE,CAAA;YAEzC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAG,CAAC,CAAA;YAC1B,IAAI,CAAC,YAAY,CAAE,MAAM,CAAE,CAAA;QAC5B,CAAC,CAAC,CAAA;IACH,CAAC;IAQD;;;OAGG;IACH,YAAY,CAAE,MAAqB,IAAI,CAAC;CACxC;AA5BD,gDA4BC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,QAAQ,CAAE,SAAiB;IAC1C,OAAO,UAAiD,WAAc;QACrE,OAAO,KAAM,SAAQ,WAAW;YAAzB;;gBACL,UAAK,mBAAK,MAAM,EAAE,EAAE,IAAK,IAAI,CAAC,OAAO,CAAC,EAAE;gBACxC,eAAU,GAAG,OAAO,CAAC,GAAG,CAAC;oBACxB,eAAM,CAAC,QAAQ,CAAC,GAAG,CAAE,SAAS,CAAE;oBAChC,eAAM,CAAC,QAAQ,CAAC,GAAG,CAAE,SAAS,CAAE;iBAChC,CAAC,CAAC,IAAI,CAAE,IAAI,CAAC,EAAE;oBACf,MAAM,MAAM,mCAAQ,IAAI,CAAC,CAAC,CAAC,GAAK,IAAI,CAAC,CAAC,CAAC,CAAE,CAAA;oBACzC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAA;oBAC5B,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAE,MAAM,CAAE,CAAA;gBACvD,CAAC,CAAC,CAAA;YACJ,CAAC;SAAA,CAAA;IACF,CAAC,CAAA;AACF,CAAC;AAdD,4BAcC;AAED;;;;;;GAMG;AACH,SAAgB,SAAS,CAAE,aAAqB;IAC/C,MAAM,CAAE,MAAM,EAAE,SAAS,CAAE,GAAG,IAAA,gBAAQ,EAAC,EAA+B,CAAC,CAAA;IAEvE,IAAA,iBAAS,EAAE,GAAG,EAAE;QAEf,OAAO,CAAC,GAAG,CAAC;YACX,eAAM,CAAC,QAAQ,CAAC,GAAG,CAAE,aAAa,CAAE;YACpC,eAAM,CAAC,QAAQ,CAAC,GAAG,CAAE,SAAS,CAAE;SAChC,CAAC,CAAC,IAAI,CAAE,IAAI,CAAC,EAAE,CAAC,SAAS,iCAAM,IAAI,CAAC,CAAC,CAAC,GAAK,IAAI,CAAC,CAAC,CAAC,EAAG,CAAC,CAAA;IAExD,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,MAAM,CAAA;AACd,CAAC;AAbD,8BAaC"}
|
|
@@ -1,30 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
var __assign = (this && this.__assign) || function () {
|
|
18
|
-
__assign = Object.assign || function(t) {
|
|
19
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
20
|
-
s = arguments[i];
|
|
21
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
22
|
-
t[p] = s[p];
|
|
23
|
-
}
|
|
24
|
-
return t;
|
|
25
|
-
};
|
|
26
|
-
return __assign.apply(this, arguments);
|
|
27
|
-
};
|
|
28
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
29
3
|
if (k2 === undefined) k2 = k;
|
|
30
4
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -63,99 +37,66 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
63
37
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
64
38
|
});
|
|
65
39
|
};
|
|
66
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
67
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
68
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
69
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
70
|
-
function step(op) {
|
|
71
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
72
|
-
while (_) try {
|
|
73
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
74
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
75
|
-
switch (op[0]) {
|
|
76
|
-
case 0: case 1: t = op; break;
|
|
77
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
78
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
79
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
80
|
-
default:
|
|
81
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
82
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
83
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
84
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
85
|
-
if (t[2]) _.ops.pop();
|
|
86
|
-
_.trys.pop(); continue;
|
|
87
|
-
}
|
|
88
|
-
op = body.call(thisArg, _);
|
|
89
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
90
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
91
|
-
}
|
|
92
|
-
};
|
|
93
40
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
94
41
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
95
42
|
};
|
|
96
43
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
_this.state = {
|
|
44
|
+
const react_1 = __importStar(require("react"));
|
|
45
|
+
const react_2 = require("@testing-library/react");
|
|
46
|
+
const fetch_mock_1 = __importDefault(require("fetch-mock"));
|
|
47
|
+
const locale_1 = require("./locale");
|
|
48
|
+
const localized_component_1 = require("./localized-component");
|
|
49
|
+
let loadedSpy = jest.fn();
|
|
50
|
+
let LocalizedWithDecorator = class LocalizedWithDecorator extends react_1.Component {
|
|
51
|
+
constructor(props) {
|
|
52
|
+
super(props);
|
|
53
|
+
this.state = {
|
|
108
54
|
someState: 'a decorator nice starting point'
|
|
109
55
|
};
|
|
110
|
-
return _this;
|
|
111
56
|
}
|
|
112
|
-
|
|
57
|
+
onLoadLocale(locale) {
|
|
113
58
|
loadedSpy(locale);
|
|
114
|
-
}
|
|
115
|
-
|
|
59
|
+
}
|
|
60
|
+
render() {
|
|
116
61
|
return (react_1.default.createElement("div", null,
|
|
117
62
|
react_1.default.createElement("p", { "data-testid": "casa" },
|
|
118
63
|
"Casa es ",
|
|
119
64
|
this.state.locale.house),
|
|
120
65
|
react_1.default.createElement("span", null, this.state.someState)));
|
|
121
|
-
};
|
|
122
|
-
LocalizedWithDecorator = __decorate([
|
|
123
|
-
(0, localized_component_1.localize)('LocalizedWithDecorator')
|
|
124
|
-
], LocalizedWithDecorator);
|
|
125
|
-
return LocalizedWithDecorator;
|
|
126
|
-
}(react_1.Component));
|
|
127
|
-
var LocalizedWithClass = /** @class */ (function (_super) {
|
|
128
|
-
__extends(LocalizedWithClass, _super);
|
|
129
|
-
function LocalizedWithClass(props) {
|
|
130
|
-
var _this = _super.call(this, props) || this;
|
|
131
|
-
_this.state = __assign({ someState: 'a class nice starting point' }, _this.state);
|
|
132
|
-
return _this;
|
|
133
66
|
}
|
|
134
|
-
|
|
67
|
+
};
|
|
68
|
+
LocalizedWithDecorator = __decorate([
|
|
69
|
+
(0, localized_component_1.localize)('LocalizedWithDecorator')
|
|
70
|
+
], LocalizedWithDecorator);
|
|
71
|
+
class LocalizedWithClass extends localized_component_1.LocalizedComponent {
|
|
72
|
+
constructor(props) {
|
|
73
|
+
super(props);
|
|
74
|
+
this.state = Object.assign({ someState: 'a class nice starting point' }, this.state);
|
|
75
|
+
}
|
|
76
|
+
onLoadLocale(locale) {
|
|
135
77
|
loadedSpy(locale);
|
|
136
|
-
}
|
|
137
|
-
|
|
78
|
+
}
|
|
79
|
+
render() {
|
|
138
80
|
return (react_1.default.createElement("div", null,
|
|
139
81
|
react_1.default.createElement("p", { "data-testid": "casa" },
|
|
140
82
|
"Casa es ",
|
|
141
83
|
this.state.locale.house),
|
|
142
84
|
react_1.default.createElement("span", null, this.state.someState)));
|
|
143
|
-
}
|
|
144
|
-
|
|
85
|
+
}
|
|
86
|
+
className() {
|
|
145
87
|
return 'LocalizedWithClass';
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
}(localized_component_1.LocalizedComponent));
|
|
88
|
+
}
|
|
89
|
+
}
|
|
149
90
|
function LocalizedWithHook() {
|
|
150
|
-
|
|
91
|
+
const locale = (0, localized_component_1.useLocale)('LocalizedWithHook');
|
|
151
92
|
return (react_1.default.createElement("div", null,
|
|
152
93
|
react_1.default.createElement("p", { "data-testid": "casa" },
|
|
153
94
|
"Casa es ",
|
|
154
95
|
locale.house)));
|
|
155
96
|
}
|
|
156
|
-
describe('React Component Localizer',
|
|
157
|
-
beforeEach(
|
|
158
|
-
fetch_mock_1.default.mock('locales/en.json',
|
|
97
|
+
describe('React Component Localizer', () => {
|
|
98
|
+
beforeEach(() => {
|
|
99
|
+
fetch_mock_1.default.mock('locales/en.json', () => {
|
|
159
100
|
return {
|
|
160
101
|
"hi": "Hello",
|
|
161
102
|
"LocalizedWithClass": {
|
|
@@ -173,115 +114,48 @@ describe('React Component Localizer', function () {
|
|
|
173
114
|
localePath: 'locales'
|
|
174
115
|
});
|
|
175
116
|
});
|
|
176
|
-
afterEach(
|
|
117
|
+
afterEach(() => {
|
|
177
118
|
fetch_mock_1.default.restore();
|
|
178
119
|
loadedSpy.mockReset();
|
|
179
120
|
});
|
|
180
|
-
it('should render localized word with decorator',
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
return [2 /*return*/];
|
|
205
|
-
}
|
|
206
|
-
});
|
|
207
|
-
}); });
|
|
208
|
-
it('should not overwrite state of localized class', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
209
|
-
var classWrapper, decoratorWrapper, _a, _b;
|
|
210
|
-
return __generator(this, function (_c) {
|
|
211
|
-
switch (_c.label) {
|
|
212
|
-
case 0:
|
|
213
|
-
classWrapper = (0, react_2.render)(react_1.default.createElement(LocalizedWithClass, null));
|
|
214
|
-
decoratorWrapper = (0, react_2.render)(react_1.default.createElement(LocalizedWithDecorator, null));
|
|
215
|
-
_a = expect;
|
|
216
|
-
return [4 /*yield*/, classWrapper.findByText('a class nice starting point')];
|
|
217
|
-
case 1:
|
|
218
|
-
_a.apply(void 0, [_c.sent()]).toBeInTheDocument();
|
|
219
|
-
_b = expect;
|
|
220
|
-
return [4 /*yield*/, decoratorWrapper.findByText('a decorator nice starting point')];
|
|
221
|
-
case 2:
|
|
222
|
-
_b.apply(void 0, [_c.sent()]).toBeInTheDocument();
|
|
223
|
-
return [2 /*return*/];
|
|
224
|
-
}
|
|
225
|
-
});
|
|
226
|
-
}); });
|
|
227
|
-
it('should render localized word with hook', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
228
|
-
var wrapper, elem;
|
|
229
|
-
return __generator(this, function (_a) {
|
|
230
|
-
switch (_a.label) {
|
|
231
|
-
case 0:
|
|
232
|
-
wrapper = (0, react_2.render)(react_1.default.createElement(LocalizedWithHook, null));
|
|
233
|
-
return [4 /*yield*/, wrapper.findByText('Casa es morada')];
|
|
234
|
-
case 1:
|
|
235
|
-
elem = _a.sent();
|
|
236
|
-
expect(elem).toBeInTheDocument();
|
|
237
|
-
return [2 /*return*/];
|
|
238
|
-
}
|
|
239
|
-
});
|
|
240
|
-
}); });
|
|
241
|
-
it('should wait locale json to load', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
242
|
-
var wrapper, elem;
|
|
243
|
-
return __generator(this, function (_a) {
|
|
244
|
-
switch (_a.label) {
|
|
245
|
-
case 0:
|
|
246
|
-
locale_1.Locale.config({
|
|
247
|
-
locale: 'en'
|
|
248
|
-
});
|
|
249
|
-
wrapper = (0, react_2.render)(react_1.default.createElement(LocalizedWithDecorator, null));
|
|
250
|
-
return [4 /*yield*/, wrapper.findByText('Casa es maison')];
|
|
251
|
-
case 1:
|
|
252
|
-
elem = _a.sent();
|
|
253
|
-
expect(elem).toBeInTheDocument();
|
|
254
|
-
return [2 /*return*/];
|
|
255
|
-
}
|
|
256
|
-
});
|
|
257
|
-
}); });
|
|
258
|
-
it('should notify on locale loaded with decorator', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
259
|
-
var wrapper;
|
|
260
|
-
return __generator(this, function (_a) {
|
|
261
|
-
switch (_a.label) {
|
|
262
|
-
case 0:
|
|
263
|
-
wrapper = (0, react_2.render)(react_1.default.createElement(LocalizedWithDecorator, null));
|
|
264
|
-
return [4 /*yield*/, wrapper.findByText('Casa es maison')];
|
|
265
|
-
case 1:
|
|
266
|
-
_a.sent();
|
|
267
|
-
expect(loadedSpy).toHaveBeenCalledWith(expect.objectContaining({ house: 'maison' }));
|
|
268
|
-
return [2 /*return*/];
|
|
269
|
-
}
|
|
270
|
-
});
|
|
271
|
-
}); });
|
|
272
|
-
it('should notify on locale loaded with class', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
273
|
-
var wrapper;
|
|
274
|
-
return __generator(this, function (_a) {
|
|
275
|
-
switch (_a.label) {
|
|
276
|
-
case 0:
|
|
277
|
-
wrapper = (0, react_2.render)(react_1.default.createElement(LocalizedWithClass, null));
|
|
278
|
-
return [4 /*yield*/, wrapper.findByText('Casa es albergo')];
|
|
279
|
-
case 1:
|
|
280
|
-
_a.sent();
|
|
281
|
-
expect(loadedSpy).toHaveBeenCalledWith(expect.objectContaining({ house: 'albergo' }));
|
|
282
|
-
return [2 /*return*/];
|
|
283
|
-
}
|
|
121
|
+
it('should render localized word with decorator', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
122
|
+
const wrapper = (0, react_2.render)(react_1.default.createElement(LocalizedWithDecorator, null));
|
|
123
|
+
const elem = yield wrapper.findByText('Casa es maison');
|
|
124
|
+
expect(elem).toBeInTheDocument();
|
|
125
|
+
}));
|
|
126
|
+
it('should render localized word by extending class', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
127
|
+
const wrapper = (0, react_2.render)(react_1.default.createElement(LocalizedWithClass, null));
|
|
128
|
+
const elem = yield wrapper.findByText('Casa es albergo');
|
|
129
|
+
expect(elem).toBeInTheDocument();
|
|
130
|
+
}));
|
|
131
|
+
it('should not overwrite state of localized class', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
132
|
+
const classWrapper = (0, react_2.render)(react_1.default.createElement(LocalizedWithClass, null));
|
|
133
|
+
const decoratorWrapper = (0, react_2.render)(react_1.default.createElement(LocalizedWithDecorator, null));
|
|
134
|
+
expect(yield classWrapper.findByText('a class nice starting point')).toBeInTheDocument();
|
|
135
|
+
expect(yield decoratorWrapper.findByText('a decorator nice starting point')).toBeInTheDocument();
|
|
136
|
+
}));
|
|
137
|
+
it('should render localized word with hook', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
138
|
+
const wrapper = (0, react_2.render)(react_1.default.createElement(LocalizedWithHook, null));
|
|
139
|
+
const elem = yield wrapper.findByText('Casa es morada');
|
|
140
|
+
expect(elem).toBeInTheDocument();
|
|
141
|
+
}));
|
|
142
|
+
it('should wait locale json to load', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
143
|
+
locale_1.Locale.config({
|
|
144
|
+
locale: 'en'
|
|
284
145
|
});
|
|
285
|
-
|
|
146
|
+
const wrapper = (0, react_2.render)(react_1.default.createElement(LocalizedWithDecorator, null));
|
|
147
|
+
const elem = yield wrapper.findByText('Casa es maison');
|
|
148
|
+
expect(elem).toBeInTheDocument();
|
|
149
|
+
}));
|
|
150
|
+
it('should notify on locale loaded with decorator', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
151
|
+
const wrapper = (0, react_2.render)(react_1.default.createElement(LocalizedWithDecorator, null));
|
|
152
|
+
yield wrapper.findByText('Casa es maison');
|
|
153
|
+
expect(loadedSpy).toHaveBeenCalledWith(expect.objectContaining({ house: 'maison' }));
|
|
154
|
+
}));
|
|
155
|
+
it('should notify on locale loaded with class', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
156
|
+
const wrapper = (0, react_2.render)(react_1.default.createElement(LocalizedWithClass, null));
|
|
157
|
+
yield wrapper.findByText('Casa es albergo');
|
|
158
|
+
expect(loadedSpy).toHaveBeenCalledWith(expect.objectContaining({ house: 'albergo' }));
|
|
159
|
+
}));
|
|
286
160
|
});
|
|
287
161
|
//# sourceMappingURL=react-localizer.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-localizer.spec.js","sourceRoot":"","sources":["../src/react-localizer.spec.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"react-localizer.spec.js","sourceRoot":"","sources":["../src/react-localizer.spec.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@entropic-bond/localize-react",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.2",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"branches": [
|
|
@@ -46,21 +46,22 @@
|
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@semantic-release/changelog": "^6.0.1",
|
|
48
48
|
"@semantic-release/git": "^10.0.1",
|
|
49
|
-
"@testing-library/jest-dom": "^5.16.
|
|
50
|
-
"@testing-library/react": "^13.
|
|
51
|
-
"@testing-library/user-event": "^14.
|
|
52
|
-
"@types/jest": "^
|
|
53
|
-
"@types/react": "^18.0.
|
|
54
|
-
"@types/react-dom": "^18.0.
|
|
49
|
+
"@testing-library/jest-dom": "^5.16.5",
|
|
50
|
+
"@testing-library/react": "^13.3.0",
|
|
51
|
+
"@testing-library/user-event": "^14.4.3",
|
|
52
|
+
"@types/jest": "^28.1.7",
|
|
53
|
+
"@types/react": "^18.0.17",
|
|
54
|
+
"@types/react-dom": "^18.0.6",
|
|
55
55
|
"fetch-mock": "^9.11.0",
|
|
56
56
|
"git-branch-is": "^4.0.0",
|
|
57
|
-
"husky": "^
|
|
58
|
-
"jest": "^
|
|
59
|
-
"
|
|
60
|
-
"react
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
57
|
+
"husky": "^8.0.1",
|
|
58
|
+
"jest": "^28.1.3",
|
|
59
|
+
"jest-environment-jsdom": "^28.1.3",
|
|
60
|
+
"react": "^18.2.0",
|
|
61
|
+
"react-dom": "^18.2.0",
|
|
62
|
+
"semantic-release": "^19.0.3",
|
|
63
|
+
"ts-jest": "^28.0.8",
|
|
64
|
+
"typescript": "^4.7.4"
|
|
64
65
|
},
|
|
65
66
|
"husky": {
|
|
66
67
|
"hooks": {
|