@entropic-bond/localize-react 1.0.0 → 1.2.0

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/index.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export * from './locale';
2
+ export * from './localized-component';
3
+ export * from './utils';
package/lib/index.js ADDED
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./locale"), exports);
18
+ __exportStar(require("./localized-component"), exports);
19
+ __exportStar(require("./utils"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwB;AACxB,wDAAqC;AACrC,0CAAuB"}
package/lib/locale.d.ts CHANGED
@@ -5,16 +5,22 @@ interface LocaleConfig {
5
5
  export interface LocaleEntries {
6
6
  [key: string]: string;
7
7
  }
8
+ declare type Rule = (word: string, locale: string) => string;
8
9
  export declare class Locale {
9
10
  private constructor();
10
11
  static get instance(): Locale;
11
- static pluralize(word: string, amount: number, pluralizer: string): string;
12
+ pluralize(word: string, amount?: number, pluralizer?: (word: string, locale: string) => string): Promise<any>;
12
13
  static config(config: LocaleConfig): void;
13
14
  get(component: string): Promise<{}>;
14
15
  private fetchCache;
15
16
  private getLocaleFilePath;
17
+ static useRule(rule: Rule, locale: string): void;
18
+ static rules: {
19
+ endsY: (word: string, locale: string) => string;
20
+ };
16
21
  private static _instance;
17
22
  private static _registeredConfig;
23
+ private static _registeredRules;
18
24
  private _lang;
19
25
  private _localePath;
20
26
  private _pendingPromise;
package/lib/locale.js CHANGED
@@ -67,11 +67,31 @@ var Locale = /** @class */ (function () {
67
67
  enumerable: false,
68
68
  configurable: true
69
69
  });
70
- Locale.pluralize = function (word, amount, pluralizer) {
71
- if (amount > 1) {
72
- return word + pluralizer;
73
- }
74
- return word;
70
+ Locale.prototype.pluralize = function (word, amount, pluralizer) {
71
+ var _a;
72
+ if (amount === void 0) { amount = 0; }
73
+ return __awaiter(this, void 0, void 0, function () {
74
+ var plural, i, rules;
75
+ return __generator(this, function (_b) {
76
+ switch (_b.label) {
77
+ case 0:
78
+ if (amount === 1)
79
+ return [2 /*return*/, word];
80
+ return [4 /*yield*/, this.get('pluralizeExceptions')];
81
+ case 1:
82
+ plural = (_a = (_b.sent())) === null || _a === void 0 ? void 0 : _a[word];
83
+ if (plural)
84
+ return [2 /*return*/, plural];
85
+ plural = pluralizer === null || pluralizer === void 0 ? void 0 : pluralizer(word, this._lang);
86
+ i = 0;
87
+ rules = Locale._registeredRules[this._lang];
88
+ while (!plural && rules && i < rules.length) {
89
+ plural = rules[i++](word, this._lang);
90
+ }
91
+ return [2 /*return*/, plural || word + 's'];
92
+ }
93
+ });
94
+ });
75
95
  };
76
96
  Locale.config = function (config) {
77
97
  this._registeredConfig = __assign(__assign({}, this._registeredConfig), config);
@@ -118,12 +138,25 @@ var Locale = /** @class */ (function () {
118
138
  };
119
139
  Locale.prototype.getLocaleFilePath = function (locale) {
120
140
  if (this._lang.indexOf('http') < 0) {
121
- return this._localePath + "/" + (locale || this._lang) + ".json";
141
+ return "".concat(this._localePath, "/").concat(locale || this._lang, ".json");
122
142
  }
123
143
  return this._lang;
124
144
  };
145
+ Locale.useRule = function (rule, locale) {
146
+ if (!Locale._registeredRules[locale])
147
+ Locale._registeredRules[locale] = [];
148
+ Locale._registeredRules[locale].push(rule);
149
+ };
150
+ Locale.rules = {
151
+ endsY: function (word, locale) {
152
+ if (locale !== 'en')
153
+ return;
154
+ return word.slice(-1) === 'y' ? word.slice(0, -1) + 'ies' : word;
155
+ }
156
+ };
125
157
  Locale._instance = null;
126
158
  Locale._registeredConfig = {};
159
+ Locale._registeredRules = {};
127
160
  return Locale;
128
161
  }());
129
162
  exports.Locale = Locale;
package/lib/locale.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"locale.js","sourceRoot":"","sources":["../src/locale.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA;IACC,gBAAqB,MAAoB;QAgEjC,oBAAe,GAAG,IAAI,CAAA;QACtB,WAAM,GAAO,IAAI,CAAA;QAhExB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAC3B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,CAAA;QAClC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAA;IAC3C,CAAC;IAED,sBAAkB,kBAAQ;aAA1B;YACC,IAAK,CAAC,IAAI,CAAC,SAAS,EAAG;gBACtB,IAAI,CAAC,SAAS,GAAG,IAAI,MAAM,CAAE,IAAI,CAAC,iBAAiB,CAAE,CAAA;aACrD;YACD,OAAO,IAAI,CAAC,SAAS,CAAA;QACtB,CAAC;;;OAAA;IAEM,gBAAS,GAAhB,UAAkB,IAAY,EAAE,MAAc,EAAE,UAAkB;QACjE,IAAK,MAAM,GAAG,CAAC,EAAG;YACjB,OAAO,IAAI,GAAG,UAAU,CAAA;SACxB;QACD,OAAO,IAAI,CAAA;IACZ,CAAC;IAEM,aAAM,GAAb,UAAe,MAAoB;QAClC,IAAI,CAAC,iBAAiB,yBAClB,IAAI,CAAC,iBAAiB,GACtB,MAAM,CACT,CAAA;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACtB,CAAC;IAEK,oBAAG,GAAT,UAAW,SAAiB;;;;;;;6BACtB,CAAC,IAAI,CAAC,MAAM,EAAZ,wBAAY;wBAChB,KAAA,IAAI,CAAA;wBAAU,qBAAM,IAAI,CAAC,UAAU,CAClC;;;;;;4CAEW,qBAAM,KAAK,CAAE,IAAI,CAAC,iBAAiB,EAAE,CAAE,EAAA;gDAAhD,sBAAO,CAAE,SAAuC,CAAE,CAAC,IAAI,EAAE,EAAA;;;4CAGhD,qBAAM,KAAK,CAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAE,EAAA;gDAApD,sBAAO,CAAE,SAA2C,CAAE,CAAC,IAAI,EAAE,EAAA;;;;iCAE9D,CACD,EAAA;;wBATD,GAAK,MAAM,GAAG,SASb,CAAA;;4BAEF,sBAAO,IAAI,CAAC,MAAM,CAAE,SAAS,CAAE,EAAA;;;;KAC/B;IAEO,2BAAU,GAAlB,UAAyB,aAA+B;QACvD,IAAK,CAAC,IAAI,CAAC,eAAe,EAAG;YAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,OAAO,CAAO,UAAA,OAAO,IAAI,OAAA,OAAO,CAAE,aAAa,EAAE,CAAE,EAA1B,CAA0B,CAAE,CAAA;SAChF;QACD,OAAO,IAAI,CAAC,eAAe,CAAA;IAC5B,CAAC;IAEO,kCAAiB,GAAzB,UAA2B,MAAe;QACzC,IAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAG;YACrC,OAAW,IAAI,CAAC,WAAW,UAAM,MAAM,IAAI,IAAI,CAAC,KAAK,WAAQ,CAAA;SAC7D;QAED,OAAO,IAAI,CAAC,KAAK,CAAA;IAClB,CAAC;IAEc,gBAAS,GAAW,IAAI,CAAA;IACxB,wBAAiB,GAAiB,EAAkB,CAAA;IAKpE,aAAC;CAAA,AAnED,IAmEC;AAnEY,wBAAM"}
1
+ {"version":3,"file":"locale.js","sourceRoot":"","sources":["../src/locale.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA;IACC,gBAAqB,MAAoB;QAsFjC,oBAAe,GAAG,IAAI,CAAA;QACtB,WAAM,GAAO,IAAI,CAAA;QAtFxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAClB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAA;QAC3B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,CAAA;QAClC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAA;IAC3C,CAAC;IAED,sBAAkB,kBAAQ;aAA1B;YACC,IAAK,CAAC,IAAI,CAAC,SAAS,EAAG;gBACtB,IAAI,CAAC,SAAS,GAAG,IAAI,MAAM,CAAE,IAAI,CAAC,iBAAiB,CAAE,CAAA;aACrD;YACD,OAAO,IAAI,CAAC,SAAS,CAAA;QACtB,CAAC;;;OAAA;IAEK,0BAAS,GAAf,UAAiB,IAAY,EAAE,MAAkB,EAAE,UAAsD;;QAA1E,uBAAA,EAAA,UAAkB;;;;;;wBAChD,IAAK,MAAM,KAAK,CAAC;4BAAG,sBAAO,IAAI,EAAA;wBAEhB,qBAAM,IAAI,CAAC,GAAG,CAAE,qBAAqB,CAAE,EAAA;;wBAAlD,MAAM,GAAG,MAAA,CAAE,SAAuC,CAAE,0CAAI,IAAI,CAAE;wBAClE,IAAK,MAAM;4BAAG,sBAAO,MAAM,EAAA;wBAE3B,MAAM,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAI,IAAI,EAAE,IAAI,CAAC,KAAK,CAAE,CAAA;wBACrC,CAAC,GAAG,CAAC,CAAA;wBACH,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAE,IAAI,CAAC,KAAK,CAAE,CAAA;wBACnD,OAAQ,CAAC,MAAM,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,EAAG;4BAC9C,MAAM,GAAG,KAAK,CAAE,CAAC,EAAE,CAAE,CAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAE,CAAA;yBACzC;wBAED,sBAAO,MAAM,IAAI,IAAI,GAAG,GAAG,EAAA;;;;KAC3B;IAEM,aAAM,GAAb,UAAe,MAAoB;QAClC,IAAI,CAAC,iBAAiB,yBAClB,IAAI,CAAC,iBAAiB,GACtB,MAAM,CACT,CAAA;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;IACtB,CAAC;IAEK,oBAAG,GAAT,UAAW,SAAiB;;;;;;;6BACtB,CAAC,IAAI,CAAC,MAAM,EAAZ,wBAAY;wBAChB,KAAA,IAAI,CAAA;wBAAU,qBAAM,IAAI,CAAC,UAAU,CAClC;;;;;;4CAEW,qBAAM,KAAK,CAAE,IAAI,CAAC,iBAAiB,EAAE,CAAE,EAAA;gDAAhD,sBAAO,CAAE,SAAuC,CAAE,CAAC,IAAI,EAAE,EAAA;;;4CAGhD,qBAAM,KAAK,CAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAE,EAAA;gDAApD,sBAAO,CAAE,SAA2C,CAAE,CAAC,IAAI,EAAE,EAAA;;;;iCAE9D,CACD,EAAA;;wBATD,GAAK,MAAM,GAAG,SASb,CAAA;;4BAEF,sBAAO,IAAI,CAAC,MAAM,CAAE,SAAS,CAAE,EAAA;;;;KAC/B;IAEO,2BAAU,GAAlB,UAAyB,aAA+B;QACvD,IAAK,CAAC,IAAI,CAAC,eAAe,EAAG;YAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,OAAO,CAAO,UAAA,OAAO,IAAI,OAAA,OAAO,CAAE,aAAa,EAAE,CAAE,EAA1B,CAA0B,CAAE,CAAA;SAChF;QACD,OAAO,IAAI,CAAC,eAAe,CAAA;IAC5B,CAAC;IAEO,kCAAiB,GAAzB,UAA2B,MAAe;QACzC,IAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAG;YACrC,OAAO,UAAI,IAAI,CAAC,WAAW,cAAM,MAAM,IAAI,IAAI,CAAC,KAAK,UAAQ,CAAA;SAC7D;QAED,OAAO,IAAI,CAAC,KAAK,CAAA;IAClB,CAAC;IAEM,cAAO,GAAd,UAAgB,IAAU,EAAE,MAAc;QACzC,IAAK,CAAC,MAAM,CAAC,gBAAgB,CAAE,MAAM,CAAE;YAAG,MAAM,CAAC,gBAAgB,CAAE,MAAM,CAAE,GAAG,EAAE,CAAA;QAChF,MAAM,CAAC,gBAAgB,CAAE,MAAM,CAAE,CAAC,IAAI,CAAE,IAAI,CAAE,CAAA;IAC/C,CAAC;IAEM,YAAK,GAAG;QACd,KAAK,EAAE,UAAE,IAAY,EAAE,MAAc;YACpC,IAAK,MAAM,KAAG,IAAI;gBAAG,OAAM;YAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAA,CAAC,CAAC,IAAI,CAAC,KAAK,CAAE,CAAC,EAAE,CAAC,CAAC,CAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;QAClE,CAAC;KACD,CAAA;IAEc,gBAAS,GAAW,IAAI,CAAA;IACxB,wBAAiB,GAAiB,EAAkB,CAAA;IACpD,uBAAgB,GAAkC,EAAE,CAAA;IAKpE,aAAC;CAAA,AAzFD,IAyFC;AAzFY,wBAAM"}
@@ -52,6 +52,10 @@ describe('Locale', function () {
52
52
  "moduleA": {
53
53
  "bye": "Bye",
54
54
  "goodMorning": "Good Morning"
55
+ },
56
+ "pluralizeExceptions": {
57
+ "mouse": "mice",
58
+ "foot": "feet"
55
59
  }
56
60
  };
57
61
  });
@@ -114,5 +118,124 @@ describe('Locale', function () {
114
118
  return [2 /*return*/];
115
119
  });
116
120
  }); });
121
+ describe('Pluralizer', function () {
122
+ it('should pluralize by default', function () { return __awaiter(void 0, void 0, void 0, function () {
123
+ var _a;
124
+ return __generator(this, function (_b) {
125
+ switch (_b.label) {
126
+ case 0:
127
+ _a = expect;
128
+ return [4 /*yield*/, locale_1.Locale.instance.pluralize('apple')];
129
+ case 1:
130
+ _a.apply(void 0, [_b.sent()]).toEqual('apples');
131
+ return [2 /*return*/];
132
+ }
133
+ });
134
+ }); });
135
+ it('should pluralize exceptions', function () { return __awaiter(void 0, void 0, void 0, function () {
136
+ var _a;
137
+ return __generator(this, function (_b) {
138
+ switch (_b.label) {
139
+ case 0:
140
+ _a = expect;
141
+ return [4 /*yield*/, locale_1.Locale.instance.pluralize('mouse')];
142
+ case 1:
143
+ _a.apply(void 0, [_b.sent()]).toEqual('mice');
144
+ return [2 /*return*/];
145
+ }
146
+ });
147
+ }); });
148
+ it('should not pluralize on amount equal to 1', function () { return __awaiter(void 0, void 0, void 0, function () {
149
+ var _a;
150
+ return __generator(this, function (_b) {
151
+ switch (_b.label) {
152
+ case 0:
153
+ _a = expect;
154
+ return [4 /*yield*/, locale_1.Locale.instance.pluralize('apple', 1)];
155
+ case 1:
156
+ _a.apply(void 0, [_b.sent()]).toEqual('apple');
157
+ return [2 /*return*/];
158
+ }
159
+ });
160
+ }); });
161
+ it('should pluralize on amounts greather than 1', function () { return __awaiter(void 0, void 0, void 0, function () {
162
+ var _a, _b;
163
+ return __generator(this, function (_c) {
164
+ switch (_c.label) {
165
+ case 0:
166
+ _a = expect;
167
+ return [4 /*yield*/, locale_1.Locale.instance.pluralize('apple', 2)];
168
+ case 1:
169
+ _a.apply(void 0, [_c.sent()]).toEqual('apples');
170
+ _b = expect;
171
+ return [4 /*yield*/, locale_1.Locale.instance.pluralize('apple', 3)];
172
+ case 2:
173
+ _b.apply(void 0, [_c.sent()]).toEqual('apples');
174
+ return [2 /*return*/];
175
+ }
176
+ });
177
+ }); });
178
+ it('should pluralize on negative amounts', function () { return __awaiter(void 0, void 0, void 0, function () {
179
+ var _a, _b, _c;
180
+ return __generator(this, function (_d) {
181
+ switch (_d.label) {
182
+ case 0:
183
+ _a = expect;
184
+ return [4 /*yield*/, locale_1.Locale.instance.pluralize('apple', -1)];
185
+ case 1:
186
+ _a.apply(void 0, [_d.sent()]).toEqual('apples');
187
+ _b = expect;
188
+ return [4 /*yield*/, locale_1.Locale.instance.pluralize('apple', -2)];
189
+ case 2:
190
+ _b.apply(void 0, [_d.sent()]).toEqual('apples');
191
+ _c = expect;
192
+ return [4 /*yield*/, locale_1.Locale.instance.pluralize('apple', -3)];
193
+ case 3:
194
+ _c.apply(void 0, [_d.sent()]).toEqual('apples');
195
+ return [2 /*return*/];
196
+ }
197
+ });
198
+ }); });
199
+ it('should pluralize on 0 amount', function () { return __awaiter(void 0, void 0, void 0, function () {
200
+ var _a;
201
+ return __generator(this, function (_b) {
202
+ switch (_b.label) {
203
+ case 0:
204
+ _a = expect;
205
+ return [4 /*yield*/, locale_1.Locale.instance.pluralize('apple', 0)];
206
+ case 1:
207
+ _a.apply(void 0, [_b.sent()]).toEqual('apples');
208
+ return [2 /*return*/];
209
+ }
210
+ });
211
+ }); });
212
+ it('should use provided pluralize function', function () { return __awaiter(void 0, void 0, void 0, function () {
213
+ var _a;
214
+ return __generator(this, function (_b) {
215
+ switch (_b.label) {
216
+ case 0:
217
+ _a = expect;
218
+ return [4 /*yield*/, locale_1.Locale.instance.pluralize('city', 0, locale_1.Locale.rules.endsY)];
219
+ case 1:
220
+ _a.apply(void 0, [_b.sent()]).toEqual('cities');
221
+ return [2 /*return*/];
222
+ }
223
+ });
224
+ }); });
225
+ it('should use rules', function () { return __awaiter(void 0, void 0, void 0, function () {
226
+ var _a;
227
+ return __generator(this, function (_b) {
228
+ switch (_b.label) {
229
+ case 0:
230
+ locale_1.Locale.useRule(locale_1.Locale.rules.endsY, 'en');
231
+ _a = expect;
232
+ return [4 /*yield*/, locale_1.Locale.instance.pluralize('city')];
233
+ case 1:
234
+ _a.apply(void 0, [_b.sent()]).toEqual('cities');
235
+ return [2 /*return*/];
236
+ }
237
+ });
238
+ }); });
239
+ });
117
240
  });
118
241
  //# sourceMappingURL=locale.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"locale.spec.js","sourceRoot":"","sources":["../src/locale.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAAkC;AAClC,mCAAiC;AAEjC,QAAQ,CAAE,QAAQ,EAAE;IACnB,UAAU,CAAC;QACV,eAAM,CAAC,MAAM,CAAC;YACb,UAAU,EAAE,SAAS;SACrB,CAAC,CAAA;QACF,oBAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAAO,OAAO;gBAC/C,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE;oBACV,KAAK,EAAE,KAAK;oBACZ,aAAa,EAAE,cAAc;iBAC7B;aACD,CAAA;QAAA,CAAC,CAAC,CAAA;QACH,oBAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAAO,OAAO;gBAC/C,IAAI,EAAE,SAAS;aACf,CAAA;QAAA,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,SAAS,CAAE,cAAM,OAAA,oBAAS,CAAC,OAAO,EAAE,EAAnB,CAAmB,CAAE,CAAA;IAEtC,EAAE,CAAE,yBAAyB,EAAE;;;;;oBAC9B,KAAA,MAAM,CAAA;oBAAE,qBAAM,eAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAA;;oBAAvC,kBAAQ,SAA+B,EAAE,CAAC,OAAO,CAAE,OAAO,CAAE,CAAA;;;;SAC5D,CAAC,CAAA;IAEF,EAAE,CAAE,sBAAsB,EAAE;;;;;oBAC3B,eAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;oBAC/B,KAAA,MAAM,CAAA;oBAAE,qBAAM,eAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAA;;oBAAvC,kBAAQ,SAA+B,EAAE,CAAC,OAAO,CAAE,SAAS,CAAE,CAAA;;;;SAC9D,CAAC,CAAA;IAEF,EAAE,CAAE,+BAA+B,EAAE;;;;;oBACpC,eAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;oBACb,qBAAM,eAAM,CAAC,QAAQ,CAAC,GAAG,CAAE,SAAS,CAAE,EAAA;;oBAAlD,MAAM,GAAM,SAAsC;oBACxD,MAAM,CAAE,MAAM,CAAE,KAAK,CAAE,CAAE,CAAC,OAAO,CAAE,KAAK,CAAE,CAAA;oBAC1C,MAAM,CAAE,MAAM,CAAE,aAAa,CAAE,CAAE,CAAC,OAAO,CAAE,cAAc,CAAE,CAAA;;;;SAC3D,CAAC,CAAA;IAEF,EAAE,CAAE,yEAAyE,EAAE;;YAC9E,MAAM,CAAE,oBAAS,CAAC,KAAK,EAAE,CAAC,MAAM,CAAE,CAAC,IAAI,CAAE,CAAC,CAAE,CAAA;YAC5C,eAAM,CAAC,QAAQ,CAAC,GAAG,CAAE,SAAS,CAAE,CAAA;YAChC,eAAM,CAAC,QAAQ,CAAC,GAAG,CAAE,IAAI,CAAE,CAAA;YAC3B,eAAM,CAAC,QAAQ,CAAC,GAAG,CAAE,SAAS,CAAE,CAAC,KAAK,CAAC,CAAA;YACvC,MAAM,CAAE,oBAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAE,CAAC,IAAI,CAAE,CAAC,CAAE,CAAA;;;SAC7D,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"locale.spec.js","sourceRoot":"","sources":["../src/locale.spec.ts"],"names":[],"mappings":"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"}
@@ -76,7 +76,7 @@ function localize(className) {
76
76
  _this.loadLocale = Promise.all([
77
77
  locale_1.Locale.instance.get(className),
78
78
  locale_1.Locale.instance.get('Generic')
79
- ]).then(function (resp) { return _this['setState']({ locale: __assign(__assign({}, resp[0]), resp[1]) }); });
79
+ ]).then(function (resp) { return _this['setState'](function () { return ({ locale: __assign(__assign({}, resp[0]), resp[1]) }); }); });
80
80
  return _this;
81
81
  }
82
82
  return class_1;
@@ -92,8 +92,8 @@ exports.localize = localize;
92
92
  * @returns an object with the localized strings
93
93
  */
94
94
  function useLocale(componentName) {
95
- var _a = react_1.useState({}), locale = _a[0], setLocale = _a[1];
96
- react_1.useEffect(function () {
95
+ var _a = (0, react_1.useState)({}), locale = _a[0], setLocale = _a[1];
96
+ (0, react_1.useEffect)(function () {
97
97
  Promise.all([
98
98
  locale_1.Locale.instance.get(componentName),
99
99
  locale_1.Locale.instance.get('Generic')
@@ -1 +1 @@
1
- {"version":3,"file":"localized-component.js","sourceRoot":"","sources":["../src/localized-component.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAsD;AACtD,mCAAgD;AAQhD;;;;;;;;;;GAUG;AACH;IAAgG,sCAAe;IAC9G,4BAAa,KAAQ;QAArB,YACC,kBAAO,KAAK,CAAE,SAQd;QANA,KAAI,CAAC,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,EAAO,CAAA;QAEhC,OAAO,CAAC,GAAG,CAAC;YACX,eAAM,CAAC,QAAQ,CAAC,GAAG,CAAE,KAAI,CAAC,SAAS,EAAE,CAAE;YACvC,eAAM,CAAC,QAAQ,CAAC,GAAG,CAAE,SAAS,CAAE;SAChC,CAAC,CAAC,IAAI,CAAE,UAAA,IAAI,IAAI,OAAA,KAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,wBAAO,IAAI,CAAC,CAAC,CAAC,GAAK,IAAI,CAAC,CAAC,CAAC,CAAE,EAAE,CAAE,EAAtD,CAAsD,CAAC,CAAA;;IACzE,CAAC;IAOF,yBAAC;AAAD,CAAC,AAjBD,CAAgG,iBAAS,GAiBxG;AAjBqB,gDAAkB;AAmBxC;;;;;;;;;;;GAWG;AACH,SAAgB,QAAQ,CAAE,SAAiB;IAC1C,OAAO,UAAiD,WAAc;QACrE;YAAqB,2BAAW;YAAzB;gBAAA,qEAMN;gBALC,WAAK,cAAK,MAAM,EAAE,EAAE,IAAK,KAAI,CAAC,OAAO,CAAC,EAAE;gBACxC,gBAAU,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,UAAA,IAAI,IAAI,OAAA,KAAI,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,wBAAO,IAAI,CAAC,CAAC,CAAC,GAAK,IAAI,CAAC,CAAC,CAAC,CAAE,EAAE,CAAE,EAAzD,CAAyD,CAAC,CAAA;;YAC7E,CAAC;YAAD,cAAC;QAAD,CAAC,AANM,CAAc,WAAW,GAM/B;IACF,CAAC,CAAA;AACF,CAAC;AAVD,4BAUC;AAED;;;;;;GAMG;AACH,SAAgB,SAAS,CAAE,aAAqB;IACzC,IAAA,KAAwB,gBAAQ,CAAC,EAA+B,CAAC,EAA/D,MAAM,QAAA,EAAE,SAAS,QAA8C,CAAA;IAEvE,iBAAS,CAAE;QAEV,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,UAAA,IAAI,IAAI,OAAA,SAAS,uBAAM,IAAI,CAAC,CAAC,CAAC,GAAK,IAAI,CAAC,CAAC,CAAC,EAAG,EAArC,CAAqC,CAAC,CAAA;IAExD,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,MAAM,CAAA;AACd,CAAC;AAbD,8BAaC"}
1
+ {"version":3,"file":"localized-component.js","sourceRoot":"","sources":["../src/localized-component.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAsD;AACtD,mCAAgD;AAQhD;;;;;;;;;;GAUG;AACH;IAAgG,sCAAe;IAC9G,4BAAa,KAAQ;QAArB,YACC,kBAAO,KAAK,CAAE,SAQd;QANA,KAAI,CAAC,KAAK,GAAG,EAAE,MAAM,EAAE,EAAE,EAAO,CAAA;QAEhC,OAAO,CAAC,GAAG,CAAC;YACX,eAAM,CAAC,QAAQ,CAAC,GAAG,CAAE,KAAI,CAAC,SAAS,EAAE,CAAE;YACvC,eAAM,CAAC,QAAQ,CAAC,GAAG,CAAE,SAAS,CAAE;SAChC,CAAC,CAAC,IAAI,CAAE,UAAA,IAAI,IAAI,OAAA,KAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,wBAAO,IAAI,CAAC,CAAC,CAAC,GAAK,IAAI,CAAC,CAAC,CAAC,CAAE,EAAE,CAAE,EAAtD,CAAsD,CAAC,CAAA;;IACzE,CAAC;IAOF,yBAAC;AAAD,CAAC,AAjBD,CAAgG,iBAAS,GAiBxG;AAjBqB,gDAAkB;AAmBxC;;;;;;;;;;;GAWG;AACH,SAAgB,QAAQ,CAAE,SAAiB;IAC1C,OAAO,UAAiD,WAAc;QACrE;YAAqB,2BAAW;YAAzB;gBAAA,qEAMN;gBALC,WAAK,cAAK,MAAM,EAAE,EAAE,IAAK,KAAI,CAAC,OAAO,CAAC,EAAE;gBACxC,gBAAU,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,UAAA,IAAI,IAAI,OAAA,KAAI,CAAC,UAAU,CAAC,CAAC,cAAI,OAAA,CAAC,EAAE,MAAM,wBAAO,IAAI,CAAC,CAAC,CAAC,GAAK,IAAI,CAAC,CAAC,CAAC,CAAE,EAAE,CAAE,EAAzC,CAAyC,CAAC,EAA/D,CAA+D,CAAC,CAAA;;YACnF,CAAC;YAAD,cAAC;QAAD,CAAC,AANM,CAAc,WAAW,GAM/B;IACF,CAAC,CAAA;AACF,CAAC;AAVD,4BAUC;AAED;;;;;;GAMG;AACH,SAAgB,SAAS,CAAE,aAAqB;IACzC,IAAA,KAAwB,IAAA,gBAAQ,EAAC,EAA+B,CAAC,EAA/D,MAAM,QAAA,EAAE,SAAS,QAA8C,CAAA;IAEvE,IAAA,iBAAS,EAAE;QAEV,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,UAAA,IAAI,IAAI,OAAA,SAAS,uBAAM,IAAI,CAAC,CAAC,CAAC,GAAK,IAAI,CAAC,CAAC,CAAC,EAAG,EAArC,CAAqC,CAAC,CAAA;IAExD,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,MAAM,CAAA;AACd,CAAC;AAbD,8BAaC"}
@@ -27,7 +27,11 @@ var __assign = (this && this.__assign) || function () {
27
27
  };
28
28
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
29
29
  if (k2 === undefined) k2 = k;
30
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
30
+ var desc = Object.getOwnPropertyDescriptor(m, k);
31
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
32
+ desc = { enumerable: true, get: function() { return m[k]; } };
33
+ }
34
+ Object.defineProperty(o, k2, desc);
31
35
  }) : (function(o, m, k, k2) {
32
36
  if (k2 === undefined) k2 = k;
33
37
  o[k2] = m[k];
@@ -112,7 +116,7 @@ var LocalizedWithDecorator = /** @class */ (function (_super) {
112
116
  react_1.default.createElement("span", null, this.state.someState)));
113
117
  };
114
118
  LocalizedWithDecorator = __decorate([
115
- localized_component_1.localize('LocalizedWithDecorator')
119
+ (0, localized_component_1.localize)('LocalizedWithDecorator')
116
120
  ], LocalizedWithDecorator);
117
121
  return LocalizedWithDecorator;
118
122
  }(react_1.Component));
@@ -136,35 +140,32 @@ var LocalizedWithClass = /** @class */ (function (_super) {
136
140
  return LocalizedWithClass;
137
141
  }(localized_component_1.LocalizedComponent));
138
142
  function LocalizedWithHook() {
139
- var locale = localized_component_1.useLocale('LocalizedWithHook');
143
+ var locale = (0, localized_component_1.useLocale)('LocalizedWithHook');
140
144
  return (react_1.default.createElement("div", null,
141
145
  react_1.default.createElement("p", { "data-testid": "casa" },
142
146
  "Casa es ",
143
147
  locale.house)));
144
148
  }
145
149
  describe('React Component Localizer', function () {
146
- beforeEach(function () { return __awaiter(void 0, void 0, void 0, function () {
147
- return __generator(this, function (_a) {
148
- locale_1.Locale.config({
149
- localePath: 'locales'
150
- });
151
- fetch_mock_1.default.mock('locales/en.json', function () {
152
- return {
153
- "hi": "Hello",
154
- "LocalizedWithClass": {
155
- "house": "albergo"
156
- },
157
- "LocalizedWithDecorator": {
158
- "house": "maison"
159
- },
160
- "LocalizedWithHook": {
161
- "house": "morada"
162
- }
163
- };
164
- });
165
- return [2 /*return*/];
150
+ beforeEach(function () {
151
+ fetch_mock_1.default.mock('locales/en.json', function () {
152
+ return {
153
+ "hi": "Hello",
154
+ "LocalizedWithClass": {
155
+ "house": "albergo"
156
+ },
157
+ "LocalizedWithDecorator": {
158
+ "house": "maison"
159
+ },
160
+ "LocalizedWithHook": {
161
+ "house": "morada"
162
+ }
163
+ };
166
164
  });
167
- }); });
165
+ locale_1.Locale.config({
166
+ localePath: 'locales'
167
+ });
168
+ });
168
169
  afterEach(function () {
169
170
  fetch_mock_1.default.restore();
170
171
  });
@@ -173,7 +174,7 @@ describe('React Component Localizer', function () {
173
174
  return __generator(this, function (_a) {
174
175
  switch (_a.label) {
175
176
  case 0:
176
- wrapper = react_2.render(react_1.default.createElement(LocalizedWithDecorator, null));
177
+ wrapper = (0, react_2.render)(react_1.default.createElement(LocalizedWithDecorator, null));
177
178
  return [4 /*yield*/, wrapper.findByText('Casa es maison')];
178
179
  case 1:
179
180
  elem = _a.sent();
@@ -187,7 +188,7 @@ describe('React Component Localizer', function () {
187
188
  return __generator(this, function (_a) {
188
189
  switch (_a.label) {
189
190
  case 0:
190
- wrapper = react_2.render(react_1.default.createElement(LocalizedWithClass, null));
191
+ wrapper = (0, react_2.render)(react_1.default.createElement(LocalizedWithClass, null));
191
192
  return [4 /*yield*/, wrapper.findByText('Casa es albergo')];
192
193
  case 1:
193
194
  elem = _a.sent();
@@ -201,8 +202,8 @@ describe('React Component Localizer', function () {
201
202
  return __generator(this, function (_c) {
202
203
  switch (_c.label) {
203
204
  case 0:
204
- classWrapper = react_2.render(react_1.default.createElement(LocalizedWithClass, null));
205
- decoratorWrapper = react_2.render(react_1.default.createElement(LocalizedWithDecorator, null));
205
+ classWrapper = (0, react_2.render)(react_1.default.createElement(LocalizedWithClass, null));
206
+ decoratorWrapper = (0, react_2.render)(react_1.default.createElement(LocalizedWithDecorator, null));
206
207
  _a = expect;
207
208
  return [4 /*yield*/, classWrapper.findByText('a class nice starting point')];
208
209
  case 1:
@@ -220,7 +221,7 @@ describe('React Component Localizer', function () {
220
221
  return __generator(this, function (_a) {
221
222
  switch (_a.label) {
222
223
  case 0:
223
- wrapper = react_2.render(react_1.default.createElement(LocalizedWithHook, null));
224
+ wrapper = (0, react_2.render)(react_1.default.createElement(LocalizedWithHook, null));
224
225
  return [4 /*yield*/, wrapper.findByText('Casa es morada')];
225
226
  case 1:
226
227
  elem = _a.sent();
@@ -229,5 +230,22 @@ describe('React Component Localizer', function () {
229
230
  }
230
231
  });
231
232
  }); });
233
+ it('should wait locale json to load', function () { return __awaiter(void 0, void 0, void 0, function () {
234
+ var wrapper, elem;
235
+ return __generator(this, function (_a) {
236
+ switch (_a.label) {
237
+ case 0:
238
+ locale_1.Locale.config({
239
+ locale: 'en'
240
+ });
241
+ wrapper = (0, react_2.render)(react_1.default.createElement(LocalizedWithDecorator, null));
242
+ return [4 /*yield*/, wrapper.findByText('Casa es maison')];
243
+ case 1:
244
+ elem = _a.sent();
245
+ expect(elem).toBeInTheDocument();
246
+ return [2 /*return*/];
247
+ }
248
+ });
249
+ }); });
232
250
  });
233
251
  //# 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":"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"}
1
+ {"version":3,"file":"react-localizer.spec.js","sourceRoot":"","sources":["../src/react-localizer.spec.tsx"],"names":[],"mappings":"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"}
package/lib/utils.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export interface TemplateValues {
2
+ [templateName: string]: string;
3
+ }
4
+ export declare function fillTemplate(text: string, values: TemplateValues): string;
package/lib/utils.js ADDED
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fillTemplate = void 0;
4
+ function fillTemplate(text, values) {
5
+ if (!text)
6
+ return '';
7
+ return text.replace(/\${\s*(\w*)\s*}/g, function (_match, group) {
8
+ return values[group] || '';
9
+ });
10
+ }
11
+ exports.fillTemplate = fillTemplate;
12
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAIA,SAAgB,YAAY,CAAE,IAAY,EAAE,MAAsB;IACjE,IAAK,CAAC,IAAI;QAAG,OAAO,EAAE,CAAA;IAEtB,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,UAAU,MAAM,EAAG,KAAK;QAC/D,OAAO,MAAM,CAAE,KAAK,CAAE,IAAI,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;AACJ,CAAC;AAND,oCAMC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var utils_1 = require("./utils");
4
+ describe('Utils', function () {
5
+ describe('fillTemplates', function () {
6
+ var text = 'The population of ${country} is ${ people} million \
7
+ and the GDP is $${ gdpValue } million';
8
+ var expected = 'The population of U.S.A. is 100 million \
9
+ and the GDP is $1000 million';
10
+ var vars = {
11
+ country: 'U.S.A.',
12
+ people: '100',
13
+ gdpValue: '1000'
14
+ };
15
+ it('should replace vars as a template literal', function () {
16
+ expect((0, utils_1.fillTemplate)(text, vars)).toEqual(expected);
17
+ });
18
+ it('should replace vars with empty value', function () {
19
+ vars.country = '';
20
+ vars.people = undefined;
21
+ expect((0, utils_1.fillTemplate)('The population of ${country} is ${ people} million', vars)).toEqual('The population of is million');
22
+ });
23
+ it('should resturn empty string on falsy', function () {
24
+ expect((0, utils_1.fillTemplate)(undefined, vars)).toEqual('');
25
+ expect((0, utils_1.fillTemplate)(null, vars)).toEqual('');
26
+ expect((0, utils_1.fillTemplate)('', vars)).toEqual('');
27
+ });
28
+ });
29
+ });
30
+ //# sourceMappingURL=utils.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.spec.js","sourceRoot":"","sources":["../src/utils.spec.ts"],"names":[],"mappings":";;AAAA,iCAAsC;AAEtC,QAAQ,CAAE,OAAO,EAAE;IAClB,QAAQ,CAAE,eAAe,EAAE;QAC1B,IAAM,IAAI,GAAG;iDACkC,CAAA;QAC/C,IAAM,QAAQ,GAAG;wCACqB,CAAA;QACtC,IAAM,IAAI,GAAG;YACZ,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,MAAM;SAChB,CAAA;QAED,EAAE,CAAE,2CAA2C,EAAE;YAChD,MAAM,CAAE,IAAA,oBAAY,EAAE,IAAI,EAAE,IAAI,CAAE,CAAE,CAAC,OAAO,CAAE,QAAQ,CAAE,CAAA;QACzD,CAAC,CAAC,CAAA;QAEF,EAAE,CAAE,sCAAsC,EAAE;YAC3C,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;YACjB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;YAEvB,MAAM,CACL,IAAA,oBAAY,EACX,oDAAoD,EACpD,IAAI,CACJ,CACD,CAAC,OAAO,CAAE,gCAAgC,CAAE,CAAA;QAC9C,CAAC,CAAC,CAAA;QAEF,EAAE,CAAE,sCAAsC,EAAE;YAC3C,MAAM,CAAE,IAAA,oBAAY,EAAE,SAAS,EAAE,IAAI,CAAE,CAAE,CAAC,OAAO,CAAE,EAAE,CAAE,CAAA;YACvD,MAAM,CAAE,IAAA,oBAAY,EAAE,IAAI,EAAE,IAAI,CAAE,CAAE,CAAC,OAAO,CAAE,EAAE,CAAE,CAAA;YAClD,MAAM,CAAE,IAAA,oBAAY,EAAE,EAAE,EAAE,IAAI,CAAE,CAAE,CAAC,OAAO,CAAE,EAAE,CAAE,CAAA;QACjD,CAAC,CAAC,CAAA;IAEH,CAAC,CAAC,CAAA;AAEH,CAAC,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@entropic-bond/localize-react",
3
- "version": "1.0.0",
3
+ "version": "1.2.0",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "branches": [
@@ -44,23 +44,23 @@
44
44
  },
45
45
  "homepage": "https://github.com/entropic-bond/localize-react#readme",
46
46
  "devDependencies": {
47
- "@semantic-release/changelog": "^5.0.1",
48
- "@semantic-release/git": "^9.0.0",
49
- "@testing-library/jest-dom": "^5.14.1",
50
- "@testing-library/react": "^12.0.0",
51
- "@testing-library/user-event": "^13.2.1",
52
- "@types/jest": "^26.0.23",
53
- "@types/react": "^17.0.15",
54
- "@types/react-dom": "^17.0.9",
47
+ "@semantic-release/changelog": "^6.0.1",
48
+ "@semantic-release/git": "^10.0.1",
49
+ "@testing-library/jest-dom": "^5.16.2",
50
+ "@testing-library/react": "^12.1.3",
51
+ "@testing-library/user-event": "^13.5.0",
52
+ "@types/jest": "^27.4.1",
53
+ "@types/react": "^17.0.39",
54
+ "@types/react-dom": "^17.0.13",
55
55
  "fetch-mock": "^9.11.0",
56
56
  "git-branch-is": "^4.0.0",
57
- "husky": "^6.0.0",
58
- "jest": "^27.0.5",
57
+ "husky": "^7.0.4",
58
+ "jest": "^27.5.1",
59
59
  "react": "^17.0.2",
60
60
  "react-dom": "^17.0.2",
61
- "semantic-release": "^17.4.4",
62
- "ts-jest": "^27.0.3",
63
- "typescript": "^4.3.4"
61
+ "semantic-release": "^19.0.2",
62
+ "ts-jest": "^27.1.3",
63
+ "typescript": "^4.6.2"
64
64
  },
65
65
  "husky": {
66
66
  "hooks": {