@entropic-bond/localize-react 1.5.0 → 1.6.1

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 CHANGED
@@ -2,9 +2,6 @@ interface LocaleConfig {
2
2
  locale?: string;
3
3
  localePath?: string;
4
4
  }
5
- export interface LocaleEntries {
6
- [key: string | symbol]: string & LocaleEntries;
7
- }
8
5
  type Rule = (word: string, locale: string) => string | undefined;
9
6
  export declare class Locale {
10
7
  private constructor();
package/lib/locale.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"locale.js","sourceRoot":"","sources":["../src/locale.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"locale.js","sourceRoot":"","sources":["../src/locale.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,12 @@
1
1
  import { Component } from 'react';
2
- import { LocaleEntries } from './locale';
2
+ export interface LocaleEntries {
3
+ [key: string | symbol]: string & LocaleEntries;
4
+ }
3
5
  export interface LocalizedState {
4
6
  locale: LocaleEntries;
5
7
  }
8
+ export declare function createSafeLocalizerFor(locale: LocaleEntries, throwOnKeyNotFound?: boolean): (keyPath: string) => string;
9
+ export declare function safeLocalize(locale: LocaleEntries, keyPath: string): string;
6
10
  export type StateWithLocale<S> = S & LocalizedState;
7
11
  /**
8
12
  * Derive React components from this class to provide locale capabilities.
@@ -1,8 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useLocale = exports.localize = exports.LocalizedComponent = void 0;
3
+ exports.useLocale = exports.localize = exports.LocalizedComponent = exports.safeLocalize = exports.createSafeLocalizerFor = void 0;
4
4
  const react_1 = require("react");
5
5
  const locale_1 = require("./locale");
6
+ function createSafeLocalizerFor(locale, throwOnKeyNotFound = false) {
7
+ return (keyPath, throwOnNotFound = throwOnKeyNotFound) => {
8
+ const value = keyPath.split('.').reduce((acc, prop) => acc[prop], locale);
9
+ if (value === undefined && throwOnNotFound)
10
+ throw Error(`Translation for ${keyPath} not found`);
11
+ return value || keyPath;
12
+ };
13
+ }
14
+ exports.createSafeLocalizerFor = createSafeLocalizerFor;
15
+ function safeLocalize(locale, keyPath) {
16
+ return createSafeLocalizerFor(locale)(keyPath);
17
+ }
18
+ exports.safeLocalize = safeLocalize;
6
19
  /**
7
20
  * Derive React components from this class to provide locale capabilities.
8
21
  *
@@ -1 +1 @@
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,EAAmB,CAAC,CAAA;IAE3D,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
+ {"version":3,"file":"localized-component.js","sourceRoot":"","sources":["../src/localized-component.tsx"],"names":[],"mappings":"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"}
@@ -101,7 +101,11 @@ describe('React Component Localizer', () => {
101
101
  return {
102
102
  "hi": "Hello",
103
103
  "LocalizedWithClass": {
104
- "house": "albergo"
104
+ "house": "albergo",
105
+ "car": {
106
+ "sedan": "Sedan",
107
+ "coupe": "Coupe"
108
+ }
105
109
  },
106
110
  "LocalizedWithDecorator": {
107
111
  "house": "maison"
@@ -158,5 +162,20 @@ describe('React Component Localizer', () => {
158
162
  yield wrapper.findByText('Casa es albergo');
159
163
  expect(loadedSpy).toHaveBeenCalledWith(expect.objectContaining({ house: 'albergo' }));
160
164
  }));
165
+ it('should get a safe translation', () => __awaiter(void 0, void 0, void 0, function* () {
166
+ const locale = yield locale_1.Locale.instance.get('LocalizedWithClass');
167
+ const loc = (0, localized_component_1.createSafeLocalizerFor)(locale);
168
+ expect((0, localized_component_1.safeLocalize)(locale, 'house')).toBe('albergo');
169
+ expect(loc('house')).toBe('albergo');
170
+ expect((0, localized_component_1.safeLocalize)(locale, 'car.sedan')).toBe('Sedan');
171
+ expect(loc('car.sedan')).toBe('Sedan');
172
+ expect((0, localized_component_1.safeLocalize)(locale, 'notExistingKey')).toBe('notExistingKey');
173
+ expect(loc('notExistingKey')).toBe('notExistingKey');
174
+ }));
175
+ it('should throw error when trying to get a translation from a non existing locale', () => __awaiter(void 0, void 0, void 0, function* () {
176
+ const locale = yield locale_1.Locale.instance.get('LocalizedWithClass');
177
+ const loc = (0, localized_component_1.createSafeLocalizerFor)(locale, true);
178
+ expect(() => loc('carSedan')).toThrow();
179
+ }));
161
180
  });
162
181
  //# 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAwC;AACxC,kDAA+C;AAC/C,4DAAkC;AAClC,qCAAgD;AAChD,+DAA+F;AAM/F,IAAI,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;AAGzB,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,iBAAwB;IAC5D,YAAa,KAAS;QACrB,KAAK,CAAE,KAAK,CAAE,CAAA;QACd,IAAI,CAAC,KAAK,GAAG;YACZ,SAAS,EAAE,iCAAiC;YAC5C,MAAM,EAAE,EAAE;SACV,CAAA;IACF,CAAC;IAED,YAAY,CAAE,MAAqB;QAClC,SAAS,CAAE,MAAM,CAAE,CAAA;IACpB,CAAC;IAEQ,MAAM;QACd,OAAO,CACN;YACC,oDAAe,MAAM;;gBAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAM;YAC7D,4CAAQ,IAAI,CAAC,KAAK,CAAC,SAAS,CAAS,CAChC,CACN,CAAA;IACF,CAAC;CACD,CAAA;AArBK,sBAAsB;IAD3B,IAAA,8BAAQ,EAAE,wBAAwB,CAAE;GAC/B,sBAAsB,CAqB3B;AAED,MAAM,kBAAmB,SAAQ,wCAAiC;IACjE,YAAa,KAAS;QACrB,KAAK,CAAE,KAAK,CAAE,CAAA;QACd,IAAI,CAAC,KAAK,mCACN,IAAI,CAAC,KAAK,KACb,SAAS,EAAE,6BAA6B,GACxC,CAAA;IACF,CAAC;IAEQ,YAAY,CAAE,MAAqB;QAC3C,SAAS,CAAE,MAAM,CAAE,CAAA;IACpB,CAAC;IAEQ,MAAM;QACd,OAAO,CACN;YACC,oDAAe,MAAM;;gBAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAM;YAC7D,4CAAQ,IAAI,CAAC,KAAK,CAAC,SAAS,CAAS,CAChC,CACN,CAAA;IACF,CAAC;IAED,SAAS;QACR,OAAO,oBAAoB,CAAA;IAC5B,CAAC;CACD;AAED,SAAS,iBAAiB;IACzB,MAAM,MAAM,GAAG,IAAA,+BAAS,EAAE,mBAAmB,CAAE,CAAA;IAE/C,OAAO,CACN;QACC,oDAAe,MAAM;;YAAW,MAAM,CAAC,KAAK,CAAM,CAC7C,CACN,CAAA;AACF,CAAC;AAED,QAAQ,CAAE,2BAA2B,EAAE,GAAE,EAAE;IAC1C,UAAU,CAAC,GAAE,EAAE;QACd,oBAAS,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAE,EAAE;YAAG,OAAO;gBAC/C,IAAI,EAAE,OAAO;gBACb,oBAAoB,EAAE;oBACrB,OAAO,EAAE,SAAS;iBAClB;gBACD,wBAAwB,EAAE;oBACzB,OAAO,EAAE,QAAQ;iBACjB;gBACD,mBAAmB,EAAE;oBACpB,OAAO,EAAE,QAAQ;iBACjB;aACD,CAAA;QAAA,CAAC,CAAC,CAAA;QACH,eAAM,CAAC,MAAM,CAAC;YACb,UAAU,EAAE,SAAS;SACrB,CAAC,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,SAAS,CAAC,GAAE,EAAE;QACb,oBAAS,CAAC,OAAO,EAAE,CAAC;QACpB,SAAS,CAAC,SAAS,EAAE,CAAA;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAE,6CAA6C,EAAE,GAAQ,EAAE;QAC5D,MAAM,OAAO,GAAG,IAAA,cAAM,EAAE,8BAAC,sBAAsB,OAAE,CAAE,CAAA;QAEnD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,CAAE,gBAAgB,CAAE,CAAA;QACzD,MAAM,CAAE,IAAI,CAAE,CAAC,iBAAiB,EAAE,CAAA;IACnC,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAE,iDAAiD,EAAE,GAAQ,EAAE;QAChE,MAAM,OAAO,GAAG,IAAA,cAAM,EAAE,8BAAC,kBAAkB,OAAE,CAAE,CAAA;QAE/C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,CAAE,iBAAiB,CAAE,CAAA;QAC1D,MAAM,CAAE,IAAI,CAAE,CAAC,iBAAiB,EAAE,CAAA;IACnC,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAE,+CAA+C,EAAE,GAAQ,EAAE;QAC9D,MAAM,YAAY,GAAG,IAAA,cAAM,EAAE,8BAAC,kBAAkB,OAAE,CAAE,CAAA;QACpD,MAAM,gBAAgB,GAAG,IAAA,cAAM,EAAE,8BAAC,sBAAsB,OAAE,CAAE,CAAA;QAE5D,MAAM,CACL,MAAM,YAAY,CAAC,UAAU,CAAE,6BAA6B,CAAE,CAC9D,CAAC,iBAAiB,EAAE,CAAA;QAErB,MAAM,CACL,MAAM,gBAAgB,CAAC,UAAU,CAAE,iCAAiC,CAAE,CACtE,CAAC,iBAAiB,EAAE,CAAA;IACtB,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAE,wCAAwC,EAAE,GAAQ,EAAE;QACvD,MAAM,OAAO,GAAG,IAAA,cAAM,EAAE,8BAAC,iBAAiB,OAAE,CAAE,CAAA;QAE9C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,CAAE,gBAAgB,CAAE,CAAA;QACzD,MAAM,CAAE,IAAI,CAAE,CAAC,iBAAiB,EAAE,CAAA;IACnC,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAE,iCAAiC,EAAE,GAAQ,EAAE;QAChD,eAAM,CAAC,MAAM,CAAC;YACb,MAAM,EAAE,IAAI;SACZ,CAAC,CAAA;QACF,MAAM,OAAO,GAAG,IAAA,cAAM,EAAE,8BAAC,sBAAsB,OAAE,CAAE,CAAA;QAEnD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,CAAE,gBAAgB,CAAE,CAAA;QACzD,MAAM,CAAE,IAAI,CAAE,CAAC,iBAAiB,EAAE,CAAA;IACnC,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAE,+CAA+C,EAAE,GAAQ,EAAE;QAC9D,MAAM,OAAO,GAAG,IAAA,cAAM,EAAE,8BAAC,sBAAsB,OAAE,CAAE,CAAA;QAEnD,MAAM,OAAO,CAAC,UAAU,CAAE,gBAAgB,CAAE,CAAA;QAC5C,MAAM,CAAE,SAAS,CAAE,CAAC,oBAAoB,CAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;IACxF,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAE,2CAA2C,EAAE,GAAQ,EAAE;QAC1D,MAAM,OAAO,GAAG,IAAA,cAAM,EAAE,8BAAC,kBAAkB,OAAE,CAAE,CAAA;QAE/C,MAAM,OAAO,CAAC,UAAU,CAAE,iBAAiB,CAAE,CAAA;QAC7C,MAAM,CAAE,SAAS,CAAE,CAAC,oBAAoB,CAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;IACzF,CAAC,CAAA,CAAC,CAAA;AAGH,CAAC,CAAC,CAAA"}
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.5.0",
3
+ "version": "1.6.1",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "branches": [