gettext-universal 1.0.22 → 1.0.24

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.
@@ -11,6 +11,14 @@ declare class Config {
11
11
  };
12
12
  }): void;
13
13
  getFallbacks(): string[] | undefined;
14
+ /**
15
+ * Returns the active locale. If `setLocale` was called with a
16
+ * function (a resolver), the resolver is invoked here so callers
17
+ * always receive a string — this lets apps plumb a per-request
18
+ * locale through AsyncLocalStorage (or similar) transparently.
19
+ *
20
+ * @returns {string | undefined}
21
+ */
14
22
  getLocale(): string | undefined;
15
23
  getLocales(): Record<string, Record<string, any>>;
16
24
  /**
@@ -20,10 +28,14 @@ declare class Config {
20
28
  setFallbacks(fallbacks: string[]): void;
21
29
  fallbacks: string[] | undefined;
22
30
  /**
23
- * @param {string} locale
31
+ * Sets the active locale. Accepts a string (global/static locale)
32
+ * OR a function that returns the current locale on each call
33
+ * (useful for per-request locale backed by AsyncLocalStorage).
34
+ *
35
+ * @param {string | (() => string | undefined)} locale
24
36
  * @returns {void}
25
37
  */
26
- setLocale(locale: string): void;
27
- locale: string | undefined;
38
+ setLocale(locale: string | (() => string | undefined)): void;
39
+ locale: string | (() => string | undefined) | undefined;
28
40
  }
29
41
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.js"],"names":[],"mappings":";AAgDA,6BAA2B;AA5C3B;IAEI,kDAAkD;IAClD,SADW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAC7B;IAGnB,oGAAoG;IACpG,mDADY;QAAC,IAAI,EAAE,MAAM,MAAM,EAAE,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG;YAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;SAAC,CAAA;KAAC,QAchF;IAED,qCAAwC;IACxC,gCAAkC;IAClC,kDAAoC;IAEpC;;;OAGG;IACH,wBAHW,MAAM,EAAE,GACN,IAAI,CAIhB;IADC,gCAA0B;IAG5B;;;OAGG;IACH,kBAHW,MAAM,GACJ,IAAI,CAKhB;IAFC,2BAAoB;CAGvB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.js"],"names":[],"mappings":";AAuEA,6BAA2B;AAnE3B;IAEI,kDAAkD;IAClD,SADW,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAC7B;IAGnB,oGAAoG;IACpG,mDADY;QAAC,IAAI,EAAE,MAAM,MAAM,EAAE,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG;YAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;SAAC,CAAA;KAAC,QAchF;IAED,qCAAwC;IAExC;;;;;;;OAOG;IACH,aAFa,MAAM,GAAG,SAAS,CAK9B;IAED,kDAAoC;IAEpC;;;OAGG;IACH,wBAHW,MAAM,EAAE,GACN,IAAI,CAIhB;IADC,gCAA0B;IAG5B;;;;;;;OAOG;IACH,kBAHW,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,GACjC,IAAI,CAWhB;IARC,wBAJyB,MAAM,GAAG,SAAS,cAIvB;CASvB"}
@@ -18,7 +18,19 @@ class Config {
18
18
  }
19
19
  }
20
20
  getFallbacks() { return this.fallbacks; }
21
- getLocale() { return this.locale; }
21
+ /**
22
+ * Returns the active locale. If `setLocale` was called with a
23
+ * function (a resolver), the resolver is invoked here so callers
24
+ * always receive a string — this lets apps plumb a per-request
25
+ * locale through AsyncLocalStorage (or similar) transparently.
26
+ *
27
+ * @returns {string | undefined}
28
+ */
29
+ getLocale() {
30
+ if (typeof this.locale === "function")
31
+ return this.locale();
32
+ return this.locale;
33
+ }
22
34
  getLocales() { return this.locales; }
23
35
  /**
24
36
  * @param {string[]} fallbacks
@@ -28,14 +40,23 @@ class Config {
28
40
  this.fallbacks = fallbacks;
29
41
  }
30
42
  /**
31
- * @param {string} locale
43
+ * Sets the active locale. Accepts a string (global/static locale)
44
+ * OR a function that returns the current locale on each call
45
+ * (useful for per-request locale backed by AsyncLocalStorage).
46
+ *
47
+ * @param {string | (() => string | undefined)} locale
32
48
  * @returns {void}
33
49
  */
34
50
  setLocale(locale) {
35
51
  this.locale = locale;
36
- events.emit("onLocaleChange", { locale });
52
+ // Only emit for static locales. Function resolvers return a
53
+ // per-request locale dynamically — emitting undefined would
54
+ // mislead listeners into thinking the locale was cleared.
55
+ if (typeof locale !== "function") {
56
+ events.emit("onLocaleChange", { locale });
57
+ }
37
58
  }
38
59
  }
39
60
  const config = new Config();
40
61
  export default config;
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFBO0FBRWhDLE1BQU0sTUFBTTtJQUNWO1FBQ0Usa0RBQWtEO1FBQ2xELElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFFRCxvR0FBb0c7SUFDcEcsa0NBQWtDLENBQUMsY0FBYztRQUMvQyxLQUFLLE1BQU0sVUFBVSxJQUFJLGNBQWMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQy9DLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtZQUVoRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsVUFBVSxFQUFFLENBQUMsQ0FBQTtZQUNwRSxDQUFDO1lBRUQsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ3ZCLE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUE7WUFFdkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxZQUFZLENBQUE7UUFDckMsQ0FBQztJQUNILENBQUM7SUFFRCxZQUFZLEtBQUssT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFBLENBQUMsQ0FBQztJQUN4QyxTQUFTLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFBLENBQUMsQ0FBQztJQUNsQyxVQUFVLEtBQUssT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFBLENBQUMsQ0FBQztJQUVwQzs7O09BR0c7SUFDSCxZQUFZLENBQUMsU0FBUztRQUNwQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQTtJQUM1QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLE1BQU07UUFDZCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUMsTUFBTSxFQUFDLENBQUMsQ0FBQTtJQUN6QyxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFBO0FBRTNCLGVBQWUsTUFBTSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBldmVudHMgZnJvbSBcIi4vZXZlbnRzLmpzXCJcblxuY2xhc3MgQ29uZmlnIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBhbnk+Pn0gKi9cbiAgICB0aGlzLmxvY2FsZXMgPSB7fVxuICB9XG5cbiAgLyoqIEBwYXJhbSB7e2tleXM6ICgpID0+IHN0cmluZ1tdLCAoa2V5OiBzdHJpbmcpOiB7ZGVmYXVsdDogUmVjb3JkPHN0cmluZywgYW55Pn19fSByZXF1aXJlQ29udGV4dCAqL1xuICBsb2FkVHJhbnNsYXRpb25zRnJvbVJlcXVpcmVDb250ZXh0KHJlcXVpcmVDb250ZXh0KSB7XG4gICAgZm9yIChjb25zdCBsb2NhbGVGaWxlIG9mIHJlcXVpcmVDb250ZXh0LmtleXMoKSkge1xuICAgICAgY29uc3QgbWF0Y2ggPSBsb2NhbGVGaWxlLm1hdGNoKC8oW2Etel17Mn0pLmpzJC8pXG5cbiAgICAgIGlmICghbWF0Y2gpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZG4ndCBkZXRlY3QgbG9jYWxlIGZyb20gZmlsZTogJHtsb2NhbGVGaWxlfWApXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGxvY2FsZSA9IG1hdGNoWzFdXG4gICAgICBjb25zdCB0cmFuc2xhdGlvbnMgPSByZXF1aXJlQ29udGV4dChsb2NhbGVGaWxlKS5kZWZhdWx0XG5cbiAgICAgIHRoaXMubG9jYWxlc1tsb2NhbGVdID0gdHJhbnNsYXRpb25zXG4gICAgfVxuICB9XG5cbiAgZ2V0RmFsbGJhY2tzKCkgeyByZXR1cm4gdGhpcy5mYWxsYmFja3MgfVxuICBnZXRMb2NhbGUoKSB7IHJldHVybiB0aGlzLmxvY2FsZSB9XG4gIGdldExvY2FsZXMoKSB7IHJldHVybiB0aGlzLmxvY2FsZXMgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBmYWxsYmFja3NcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBzZXRGYWxsYmFja3MoZmFsbGJhY2tzKSB7XG4gICAgdGhpcy5mYWxsYmFja3MgPSBmYWxsYmFja3NcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbG9jYWxlXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgc2V0TG9jYWxlKGxvY2FsZSkge1xuICAgIHRoaXMubG9jYWxlID0gbG9jYWxlXG4gICAgZXZlbnRzLmVtaXQoXCJvbkxvY2FsZUNoYW5nZVwiLCB7bG9jYWxlfSlcbiAgfVxufVxuXG5jb25zdCBjb25maWcgPSBuZXcgQ29uZmlnKClcblxuZXhwb3J0IGRlZmF1bHQgY29uZmlnXG4iXX0=
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFBO0FBRWhDLE1BQU0sTUFBTTtJQUNWO1FBQ0Usa0RBQWtEO1FBQ2xELElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFFRCxvR0FBb0c7SUFDcEcsa0NBQWtDLENBQUMsY0FBYztRQUMvQyxLQUFLLE1BQU0sVUFBVSxJQUFJLGNBQWMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQy9DLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtZQUVoRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsVUFBVSxFQUFFLENBQUMsQ0FBQTtZQUNwRSxDQUFDO1lBRUQsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO1lBQ3ZCLE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUE7WUFFdkQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxZQUFZLENBQUE7UUFDckMsQ0FBQztJQUNILENBQUM7SUFFRCxZQUFZLEtBQUssT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFBLENBQUMsQ0FBQztJQUV4Qzs7Ozs7OztPQU9HO0lBQ0gsU0FBUztRQUNQLElBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLFVBQVU7WUFBRSxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUMzRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUE7SUFDcEIsQ0FBQztJQUVELFVBQVUsS0FBSyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUEsQ0FBQyxDQUFDO0lBRXBDOzs7T0FHRztJQUNILFlBQVksQ0FBQyxTQUFTO1FBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFBO0lBQzVCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsU0FBUyxDQUFDLE1BQU07UUFDZCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUVwQiw0REFBNEQ7UUFDNUQsNERBQTREO1FBQzVELDBEQUEwRDtRQUMxRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsRUFBQyxNQUFNLEVBQUMsQ0FBQyxDQUFBO1FBQ3pDLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFBO0FBRTNCLGVBQWUsTUFBTSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBldmVudHMgZnJvbSBcIi4vZXZlbnRzLmpzXCJcblxuY2xhc3MgQ29uZmlnIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBhbnk+Pn0gKi9cbiAgICB0aGlzLmxvY2FsZXMgPSB7fVxuICB9XG5cbiAgLyoqIEBwYXJhbSB7e2tleXM6ICgpID0+IHN0cmluZ1tdLCAoa2V5OiBzdHJpbmcpOiB7ZGVmYXVsdDogUmVjb3JkPHN0cmluZywgYW55Pn19fSByZXF1aXJlQ29udGV4dCAqL1xuICBsb2FkVHJhbnNsYXRpb25zRnJvbVJlcXVpcmVDb250ZXh0KHJlcXVpcmVDb250ZXh0KSB7XG4gICAgZm9yIChjb25zdCBsb2NhbGVGaWxlIG9mIHJlcXVpcmVDb250ZXh0LmtleXMoKSkge1xuICAgICAgY29uc3QgbWF0Y2ggPSBsb2NhbGVGaWxlLm1hdGNoKC8oW2Etel17Mn0pLmpzJC8pXG5cbiAgICAgIGlmICghbWF0Y2gpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZG4ndCBkZXRlY3QgbG9jYWxlIGZyb20gZmlsZTogJHtsb2NhbGVGaWxlfWApXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGxvY2FsZSA9IG1hdGNoWzFdXG4gICAgICBjb25zdCB0cmFuc2xhdGlvbnMgPSByZXF1aXJlQ29udGV4dChsb2NhbGVGaWxlKS5kZWZhdWx0XG5cbiAgICAgIHRoaXMubG9jYWxlc1tsb2NhbGVdID0gdHJhbnNsYXRpb25zXG4gICAgfVxuICB9XG5cbiAgZ2V0RmFsbGJhY2tzKCkgeyByZXR1cm4gdGhpcy5mYWxsYmFja3MgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBhY3RpdmUgbG9jYWxlLiBJZiBgc2V0TG9jYWxlYCB3YXMgY2FsbGVkIHdpdGggYVxuICAgKiBmdW5jdGlvbiAoYSByZXNvbHZlciksIHRoZSByZXNvbHZlciBpcyBpbnZva2VkIGhlcmUgc28gY2FsbGVyc1xuICAgKiBhbHdheXMgcmVjZWl2ZSBhIHN0cmluZyDigJQgdGhpcyBsZXRzIGFwcHMgcGx1bWIgYSBwZXItcmVxdWVzdFxuICAgKiBsb2NhbGUgdGhyb3VnaCBBc3luY0xvY2FsU3RvcmFnZSAob3Igc2ltaWxhcikgdHJhbnNwYXJlbnRseS5cbiAgICpcbiAgICogQHJldHVybnMge3N0cmluZyB8IHVuZGVmaW5lZH1cbiAgICovXG4gIGdldExvY2FsZSgpIHtcbiAgICBpZiAodHlwZW9mIHRoaXMubG9jYWxlID09PSBcImZ1bmN0aW9uXCIpIHJldHVybiB0aGlzLmxvY2FsZSgpXG4gICAgcmV0dXJuIHRoaXMubG9jYWxlXG4gIH1cblxuICBnZXRMb2NhbGVzKCkgeyByZXR1cm4gdGhpcy5sb2NhbGVzIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmdbXX0gZmFsbGJhY2tzXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgc2V0RmFsbGJhY2tzKGZhbGxiYWNrcykge1xuICAgIHRoaXMuZmFsbGJhY2tzID0gZmFsbGJhY2tzXG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgYWN0aXZlIGxvY2FsZS4gQWNjZXB0cyBhIHN0cmluZyAoZ2xvYmFsL3N0YXRpYyBsb2NhbGUpXG4gICAqIE9SIGEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIHRoZSBjdXJyZW50IGxvY2FsZSBvbiBlYWNoIGNhbGxcbiAgICogKHVzZWZ1bCBmb3IgcGVyLXJlcXVlc3QgbG9jYWxlIGJhY2tlZCBieSBBc3luY0xvY2FsU3RvcmFnZSkuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nIHwgKCgpID0+IHN0cmluZyB8IHVuZGVmaW5lZCl9IGxvY2FsZVxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICovXG4gIHNldExvY2FsZShsb2NhbGUpIHtcbiAgICB0aGlzLmxvY2FsZSA9IGxvY2FsZVxuXG4gICAgLy8gT25seSBlbWl0IGZvciBzdGF0aWMgbG9jYWxlcy4gRnVuY3Rpb24gcmVzb2x2ZXJzIHJldHVybiBhXG4gICAgLy8gcGVyLXJlcXVlc3QgbG9jYWxlIGR5bmFtaWNhbGx5IOKAlCBlbWl0dGluZyB1bmRlZmluZWQgd291bGRcbiAgICAvLyBtaXNsZWFkIGxpc3RlbmVycyBpbnRvIHRoaW5raW5nIHRoZSBsb2NhbGUgd2FzIGNsZWFyZWQuXG4gICAgaWYgKHR5cGVvZiBsb2NhbGUgIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgZXZlbnRzLmVtaXQoXCJvbkxvY2FsZUNoYW5nZVwiLCB7bG9jYWxlfSlcbiAgICB9XG4gIH1cbn1cblxuY29uc3QgY29uZmlnID0gbmV3IENvbmZpZygpXG5cbmV4cG9ydCBkZWZhdWx0IGNvbmZpZ1xuIl19
@@ -16,10 +16,16 @@
16
16
  * via refs, so a settings picker that calls `setLocale` stays in effect
17
17
  * across re-renders.
18
18
  *
19
- * Returns `void`. For the callable-translator pattern, keep using
20
- * `useTranslate()` / `useTranslateExpo()` both hooks remain available.
19
+ * Returns the currently active locale string from `config.getLocale()`
20
+ * (or `undefined` when no locale has been set yet) so callers can pass
21
+ * it as a `useEffect` dependency. The hook's own `setTick` subscription
22
+ * to `onLocaleChange` makes the return value reactive — including
23
+ * imperative `config.setLocale(...)` calls from a settings picker that
24
+ * does not also push through `TranslateContext`. For the callable-
25
+ * translator pattern, keep using `useTranslate()` / `useTranslateExpo()`
26
+ * — both hooks remain available.
21
27
  *
22
- * @returns {void}
28
+ * @returns {string | undefined}
23
29
  */
24
- export default function useLocaleExpo(): void;
30
+ export default function useLocaleExpo(): string | undefined;
25
31
  //# sourceMappingURL=use-locale-expo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-locale-expo.d.ts","sourceRoot":"","sources":["../../src/use-locale-expo.js"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,yCAFa,IAAI,CAgEhB"}
1
+ {"version":3,"file":"use-locale-expo.d.ts","sourceRoot":"","sources":["../../src/use-locale-expo.js"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,yCAFa,MAAM,GAAG,SAAS,CAwE9B"}
@@ -22,10 +22,16 @@ import TranslateContext from "./translate-context.js";
22
22
  * via refs, so a settings picker that calls `setLocale` stays in effect
23
23
  * across re-renders.
24
24
  *
25
- * Returns `void`. For the callable-translator pattern, keep using
26
- * `useTranslate()` / `useTranslateExpo()` both hooks remain available.
25
+ * Returns the currently active locale string from `config.getLocale()`
26
+ * (or `undefined` when no locale has been set yet) so callers can pass
27
+ * it as a `useEffect` dependency. The hook's own `setTick` subscription
28
+ * to `onLocaleChange` makes the return value reactive — including
29
+ * imperative `config.setLocale(...)` calls from a settings picker that
30
+ * does not also push through `TranslateContext`. For the callable-
31
+ * translator pattern, keep using `useTranslate()` / `useTranslateExpo()`
32
+ * — both hooks remain available.
27
33
  *
28
- * @returns {void}
34
+ * @returns {string | undefined}
29
35
  */
30
36
  export default function useLocaleExpo() {
31
37
  const localeContext = useContext(TranslateContext);
@@ -78,5 +84,12 @@ export default function useLocaleExpo() {
78
84
  lastWrittenFallbacksRef.current = deviceLocales;
79
85
  config.setFallbacks(deviceLocales);
80
86
  }, [deviceLocales]);
87
+ // Read the authoritative locale from `config` (rather than returning the
88
+ // derived `primaryLocale`) so an imperative `config.setLocale("de")` from a
89
+ // settings picker — which emits `onLocaleChange` and re-renders this hook
90
+ // via `setTick` above — surfaces in the return value too. Returning
91
+ // `primaryLocale` would miss those overrides whenever the host app does not
92
+ // also push the new locale through `TranslateContext`.
93
+ return config.getLocale();
81
94
  }
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWxvY2FsZS1leHBvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3VzZS1sb2NhbGUtZXhwby5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDdEUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLG1CQUFtQixDQUFBO0FBQzVDLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUE7QUFDaEMsT0FBTyxnQkFBZ0IsTUFBTSx3QkFBd0IsQ0FBQTtBQUVyRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUNILE1BQU0sQ0FBQyxPQUFPLFVBQVUsYUFBYTtJQUNuQyxNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUNsRCxNQUFNLE9BQU8sR0FBRyxVQUFVLEVBQUUsQ0FBQTtJQUM1QixNQUFNLGFBQWEsR0FBRyxhQUFhLEVBQUUsTUFBTSxDQUFBO0lBRTNDLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUU7UUFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUE7UUFFdEMsT0FBTyxPQUFPO2FBQ1gsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDO2FBQzVDLE1BQU0sQ0FBQyx3REFBd0QsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ2hJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFFYixNQUFNLGFBQWEsR0FBRyxhQUFhLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBRXZELHFFQUFxRTtJQUNyRSxvRUFBb0U7SUFDcEUsRUFBRTtJQUNGLG1FQUFtRTtJQUNuRSx1RUFBdUU7SUFDdkUsbUVBQW1FO0lBQ25FLGtFQUFrRTtJQUNsRSxtRUFBbUU7SUFDbkUsTUFBTSxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBRS9CLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDYixzQkFBc0I7UUFDdEIsTUFBTSxjQUFjLEdBQUcsR0FBRyxFQUFFO1lBQzFCLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQzdCLENBQUMsQ0FBQTtRQUVELE1BQU0sQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLENBQUE7UUFFM0MsT0FBTyxHQUFHLEVBQUU7WUFDVixNQUFNLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLGNBQWMsQ0FBQyxDQUFBO1FBQzlDLENBQUMsQ0FBQTtJQUNILENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUVOLG9EQUFvRDtJQUNwRCxNQUFNLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUUxQyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ2IsSUFBSSxDQUFDLGFBQWE7WUFBRSxPQUFNO1FBQzFCLElBQUkscUJBQXFCLENBQUMsT0FBTyxLQUFLLGFBQWE7WUFBRSxPQUFNO1FBRTNELHFCQUFxQixDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUE7UUFDN0MsTUFBTSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUNqQyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFBO0lBRW5CLHNEQUFzRDtJQUN0RCxNQUFNLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUU1QyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ2IsTUFBTSxRQUFRLEdBQUcsdUJBQXVCLENBQUMsT0FBTyxDQUFBO1FBRWhELElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssYUFBYSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsTUFBTSxLQUFLLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDL0gsT0FBTTtRQUNSLENBQUM7UUFFRCx1QkFBdUIsQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFBO1FBQy9DLE1BQU0sQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDcEMsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQTtBQUNyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCB7dXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHt1c2VMb2NhbGVzfSBmcm9tIFwiZXhwby1sb2NhbGl6YXRpb25cIlxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi9jb25maWcuanNcIlxuaW1wb3J0IGV2ZW50cyBmcm9tIFwiLi9ldmVudHMuanNcIlxuaW1wb3J0IFRyYW5zbGF0ZUNvbnRleHQgZnJvbSBcIi4vdHJhbnNsYXRlLWNvbnRleHQuanNcIlxuXG4vKipcbiAqIFN1YnNjcmliZXMgdGhlIGNhbGxpbmcgY29tcG9uZW50IHRvIHRoZSBjdXJyZW50IGxvY2FsZSBzbyBpdCByZS1yZW5kZXJzXG4gKiB3aGVuIGFueSBjb2RlIGNhbGxzIGBjb25maWcuc2V0TG9jYWxlKC4uLilgIChlLmcuIGEgc2V0dGluZ3MgcGlja2VyKS5cbiAqIEFsc28gc3luY3MgdGhlIGNvbnRleHQtc2V0IGxvY2FsZSArIGRldmljZSBsb2NhbGVzIGludG8gdGhlIGdsb2JhbFxuICogYGNvbmZpZ2Agb24gZmlyc3QgbW91bnQgYW5kIHdoZW5ldmVyIHRoZSBjb250ZXh0L2RldmljZSB2YWx1ZXMgY2hhbmdlLFxuICogc28gZGlyZWN0IGNhbGxlcnMgb2YgYHRyYW5zbGF0ZSguLi4pYCByZWFkIHRoZSByaWdodCB2YWx1ZXMgd2l0aG91dFxuICogbmVlZGluZyB0aGUgaG9vaydzIHJldHVybiB2YWx1ZS5cbiAqXG4gKiBQYWlyIHdpdGggYSBjbGFzcy1maWVsZCBgXyA9IHRyYW5zbGF0ZWAgKG9yIGEgZGlyZWN0IGBpbXBvcnQgdHJhbnNsYXRlXG4gKiBmcm9tIFwiZ2V0dGV4dC11bml2ZXJzYWwvYnVpbGQvc3JjL3RyYW5zbGF0ZS5qc1wiYCkgc28gdGhlIHRyYW5zbGF0b3IgaXNcbiAqIGFsd2F5cyBkZWZpbmVkIGFuZCB0eXBlY2hlY2tzIGNsZWFubHksIGluc3RlYWQgb2YgcmVseWluZyBvbiB0aGVcbiAqIGB1c2VUcmFuc2xhdGUoKWAgcmV0dXJuIHZhbHVlIGJlaW5nIGFzc2lnbmVkIGluc2lkZSBgc2V0dXAoKWAuXG4gKlxuICogRG9lcyBOT1QgZmlnaHQgZXhwbGljaXQgYGNvbmZpZy5zZXRMb2NhbGUoLi4uKWAgY2FsbGVycyDigJQgdGhlIGhvb2tcbiAqIG9ubHkgd3JpdGVzIHdoZW4gSVRTIE9XTiBkZXJpdmVkIHByaW1hcnkvZmFsbGJhY2sgY2hhbmdlcywgdHJhY2tlZFxuICogdmlhIHJlZnMsIHNvIGEgc2V0dGluZ3MgcGlja2VyIHRoYXQgY2FsbHMgYHNldExvY2FsZWAgc3RheXMgaW4gZWZmZWN0XG4gKiBhY3Jvc3MgcmUtcmVuZGVycy5cbiAqXG4gKiBSZXR1cm5zIGB2b2lkYC4gRm9yIHRoZSBjYWxsYWJsZS10cmFuc2xhdG9yIHBhdHRlcm4sIGtlZXAgdXNpbmdcbiAqIGB1c2VUcmFuc2xhdGUoKWAgLyBgdXNlVHJhbnNsYXRlRXhwbygpYCDigJQgYm90aCBob29rcyByZW1haW4gYXZhaWxhYmxlLlxuICpcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VMb2NhbGVFeHBvKCkge1xuICBjb25zdCBsb2NhbGVDb250ZXh0ID0gdXNlQ29udGV4dChUcmFuc2xhdGVDb250ZXh0KVxuICBjb25zdCBsb2NhbGVzID0gdXNlTG9jYWxlcygpXG4gIGNvbnN0IGNvbnRleHRMb2NhbGUgPSBsb2NhbGVDb250ZXh0Py5sb2NhbGVcblxuICBjb25zdCBkZXZpY2VMb2NhbGVzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGxvY2FsZXMpKSByZXR1cm4gW11cblxuICAgIHJldHVybiBsb2NhbGVzXG4gICAgICAubWFwKChsb2NhbGVEYXRhKSA9PiBsb2NhbGVEYXRhLmxhbmd1YWdlQ29kZSlcbiAgICAgIC5maWx0ZXIoLyoqIEB0eXBlIHsodmFsdWU6IHN0cmluZyB8IG51bGwpID0+IHZhbHVlIGlzIHN0cmluZ30gKi8gKCh2YWx1ZSkgPT4gdHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiICYmIHZhbHVlLmxlbmd0aCA+IDApKVxuICB9LCBbbG9jYWxlc10pXG5cbiAgY29uc3QgcHJpbWFyeUxvY2FsZSA9IGNvbnRleHRMb2NhbGUgfHwgZGV2aWNlTG9jYWxlc1swXVxuXG4gIC8vIFJlLXJlbmRlciB3aGVuZXZlciBhbnkgY29kZSBjYWxscyBgY29uZmlnLnNldExvY2FsZSguLi4pYCDigJQgZS5nLiBhXG4gIC8vIHNldHRpbmdzIHBpY2tlciB0aGF0IHN3YXBzIHRoZSBhY3RpdmUgbG9jYWxlIGZyb20gYW5vdGhlciBzY3JlZW4uXG4gIC8vXG4gIC8vIE11c3Qgc3Vic2NyaWJlIEJFRk9SRSB0aGUgcHJpbWFyeS9mYWxsYmFja3MgYHVzZUVmZmVjdGBzIGJlbG93IOKAlFxuICAvLyB0aG9zZSBjYWxsIGBjb25maWcuc2V0TG9jYWxlKC4uLilgIHdoaWNoIGVtaXRzIGBvbkxvY2FsZUNoYW5nZWAsIGFuZFxuICAvLyB3aXRob3V0IGEgbGl2ZSBsaXN0ZW5lciB0aGUgZmlyc3QtbW91bnQgc3luYyBvZiBhIHN0YWxlIGBjb25maWdgXG4gIC8vIHdvdWxkIGJlIHNpbGVudGx5IG1pc3NlZCwgbGVhdmluZyB0aGUgY29tcG9uZW50IHJlbmRlcmluZyBzdGFsZVxuICAvLyB0cmFuc2xhdGlvbnMgZnJvbSBgdHJhbnNsYXRlKC4uLilgIHVudGlsIGFuIHVucmVsYXRlZCByZS1yZW5kZXIuXG4gIGNvbnN0IFssIHNldFRpY2tdID0gdXNlU3RhdGUoMClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbiAgICBjb25zdCBvbkxvY2FsZUNoYW5nZSA9ICgpID0+IHtcbiAgICAgIHNldFRpY2soKHRpY2spID0+IHRpY2sgKyAxKVxuICAgIH1cblxuICAgIGV2ZW50cy5vbihcIm9uTG9jYWxlQ2hhbmdlXCIsIG9uTG9jYWxlQ2hhbmdlKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGV2ZW50cy5vZmYoXCJvbkxvY2FsZUNoYW5nZVwiLCBvbkxvY2FsZUNoYW5nZSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIC8qKiBAdHlwZSB7UmVhY3QuTXV0YWJsZVJlZk9iamVjdDxzdHJpbmcgfCBudWxsPn0gKi9cbiAgY29uc3QgbGFzdFdyaXR0ZW5QcmltYXJ5UmVmID0gdXNlUmVmKG51bGwpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXByaW1hcnlMb2NhbGUpIHJldHVyblxuICAgIGlmIChsYXN0V3JpdHRlblByaW1hcnlSZWYuY3VycmVudCA9PT0gcHJpbWFyeUxvY2FsZSkgcmV0dXJuXG5cbiAgICBsYXN0V3JpdHRlblByaW1hcnlSZWYuY3VycmVudCA9IHByaW1hcnlMb2NhbGVcbiAgICBjb25maWcuc2V0TG9jYWxlKHByaW1hcnlMb2NhbGUpXG4gIH0sIFtwcmltYXJ5TG9jYWxlXSlcblxuICAvKiogQHR5cGUge1JlYWN0Lk11dGFibGVSZWZPYmplY3Q8c3RyaW5nW10gfCBudWxsPn0gKi9cbiAgY29uc3QgbGFzdFdyaXR0ZW5GYWxsYmFja3NSZWYgPSB1c2VSZWYobnVsbClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHByZXZpb3VzID0gbGFzdFdyaXR0ZW5GYWxsYmFja3NSZWYuY3VycmVudFxuXG4gICAgaWYgKHByZXZpb3VzICYmIHByZXZpb3VzLmxlbmd0aCA9PT0gZGV2aWNlTG9jYWxlcy5sZW5ndGggJiYgcHJldmlvdXMuZXZlcnkoKGxvY2FsZSwgaW5kZXgpID0+IGxvY2FsZSA9PT0gZGV2aWNlTG9jYWxlc1tpbmRleF0pKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBsYXN0V3JpdHRlbkZhbGxiYWNrc1JlZi5jdXJyZW50ID0gZGV2aWNlTG9jYWxlc1xuICAgIGNvbmZpZy5zZXRGYWxsYmFja3MoZGV2aWNlTG9jYWxlcylcbiAgfSwgW2RldmljZUxvY2FsZXNdKVxufVxuIl19
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWxvY2FsZS1leHBvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3VzZS1sb2NhbGUtZXhwby5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxFQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDdEUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLG1CQUFtQixDQUFBO0FBQzVDLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUE7QUFDaEMsT0FBTyxnQkFBZ0IsTUFBTSx3QkFBd0IsQ0FBQTtBQUVyRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRCRztBQUNILE1BQU0sQ0FBQyxPQUFPLFVBQVUsYUFBYTtJQUNuQyxNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtJQUNsRCxNQUFNLE9BQU8sR0FBRyxVQUFVLEVBQUUsQ0FBQTtJQUM1QixNQUFNLGFBQWEsR0FBRyxhQUFhLEVBQUUsTUFBTSxDQUFBO0lBRTNDLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUU7UUFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUE7UUFFdEMsT0FBTyxPQUFPO2FBQ1gsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDO2FBQzVDLE1BQU0sQ0FBQyx3REFBd0QsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ2hJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFFYixNQUFNLGFBQWEsR0FBRyxhQUFhLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBRXZELHFFQUFxRTtJQUNyRSxvRUFBb0U7SUFDcEUsRUFBRTtJQUNGLG1FQUFtRTtJQUNuRSx1RUFBdUU7SUFDdkUsbUVBQW1FO0lBQ25FLGtFQUFrRTtJQUNsRSxtRUFBbUU7SUFDbkUsTUFBTSxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBRS9CLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDYixzQkFBc0I7UUFDdEIsTUFBTSxjQUFjLEdBQUcsR0FBRyxFQUFFO1lBQzFCLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBQzdCLENBQUMsQ0FBQTtRQUVELE1BQU0sQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLENBQUE7UUFFM0MsT0FBTyxHQUFHLEVBQUU7WUFDVixNQUFNLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLGNBQWMsQ0FBQyxDQUFBO1FBQzlDLENBQUMsQ0FBQTtJQUNILENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUVOLG9EQUFvRDtJQUNwRCxNQUFNLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUUxQyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ2IsSUFBSSxDQUFDLGFBQWE7WUFBRSxPQUFNO1FBQzFCLElBQUkscUJBQXFCLENBQUMsT0FBTyxLQUFLLGFBQWE7WUFBRSxPQUFNO1FBRTNELHFCQUFxQixDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUE7UUFDN0MsTUFBTSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQTtJQUNqQyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFBO0lBRW5CLHNEQUFzRDtJQUN0RCxNQUFNLHVCQUF1QixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUU1QyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ2IsTUFBTSxRQUFRLEdBQUcsdUJBQXVCLENBQUMsT0FBTyxDQUFBO1FBRWhELElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssYUFBYSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsTUFBTSxLQUFLLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDL0gsT0FBTTtRQUNSLENBQUM7UUFFRCx1QkFBdUIsQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFBO1FBQy9DLE1BQU0sQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDcEMsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQTtJQUVuQix5RUFBeUU7SUFDekUsNEVBQTRFO0lBQzVFLDBFQUEwRTtJQUMxRSxvRUFBb0U7SUFDcEUsNEVBQTRFO0lBQzVFLHVEQUF1RDtJQUN2RCxPQUFPLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQTtBQUMzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCB7dXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHt1c2VMb2NhbGVzfSBmcm9tIFwiZXhwby1sb2NhbGl6YXRpb25cIlxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi9jb25maWcuanNcIlxuaW1wb3J0IGV2ZW50cyBmcm9tIFwiLi9ldmVudHMuanNcIlxuaW1wb3J0IFRyYW5zbGF0ZUNvbnRleHQgZnJvbSBcIi4vdHJhbnNsYXRlLWNvbnRleHQuanNcIlxuXG4vKipcbiAqIFN1YnNjcmliZXMgdGhlIGNhbGxpbmcgY29tcG9uZW50IHRvIHRoZSBjdXJyZW50IGxvY2FsZSBzbyBpdCByZS1yZW5kZXJzXG4gKiB3aGVuIGFueSBjb2RlIGNhbGxzIGBjb25maWcuc2V0TG9jYWxlKC4uLilgIChlLmcuIGEgc2V0dGluZ3MgcGlja2VyKS5cbiAqIEFsc28gc3luY3MgdGhlIGNvbnRleHQtc2V0IGxvY2FsZSArIGRldmljZSBsb2NhbGVzIGludG8gdGhlIGdsb2JhbFxuICogYGNvbmZpZ2Agb24gZmlyc3QgbW91bnQgYW5kIHdoZW5ldmVyIHRoZSBjb250ZXh0L2RldmljZSB2YWx1ZXMgY2hhbmdlLFxuICogc28gZGlyZWN0IGNhbGxlcnMgb2YgYHRyYW5zbGF0ZSguLi4pYCByZWFkIHRoZSByaWdodCB2YWx1ZXMgd2l0aG91dFxuICogbmVlZGluZyB0aGUgaG9vaydzIHJldHVybiB2YWx1ZS5cbiAqXG4gKiBQYWlyIHdpdGggYSBjbGFzcy1maWVsZCBgXyA9IHRyYW5zbGF0ZWAgKG9yIGEgZGlyZWN0IGBpbXBvcnQgdHJhbnNsYXRlXG4gKiBmcm9tIFwiZ2V0dGV4dC11bml2ZXJzYWwvYnVpbGQvc3JjL3RyYW5zbGF0ZS5qc1wiYCkgc28gdGhlIHRyYW5zbGF0b3IgaXNcbiAqIGFsd2F5cyBkZWZpbmVkIGFuZCB0eXBlY2hlY2tzIGNsZWFubHksIGluc3RlYWQgb2YgcmVseWluZyBvbiB0aGVcbiAqIGB1c2VUcmFuc2xhdGUoKWAgcmV0dXJuIHZhbHVlIGJlaW5nIGFzc2lnbmVkIGluc2lkZSBgc2V0dXAoKWAuXG4gKlxuICogRG9lcyBOT1QgZmlnaHQgZXhwbGljaXQgYGNvbmZpZy5zZXRMb2NhbGUoLi4uKWAgY2FsbGVycyDigJQgdGhlIGhvb2tcbiAqIG9ubHkgd3JpdGVzIHdoZW4gSVRTIE9XTiBkZXJpdmVkIHByaW1hcnkvZmFsbGJhY2sgY2hhbmdlcywgdHJhY2tlZFxuICogdmlhIHJlZnMsIHNvIGEgc2V0dGluZ3MgcGlja2VyIHRoYXQgY2FsbHMgYHNldExvY2FsZWAgc3RheXMgaW4gZWZmZWN0XG4gKiBhY3Jvc3MgcmUtcmVuZGVycy5cbiAqXG4gKiBSZXR1cm5zIHRoZSBjdXJyZW50bHkgYWN0aXZlIGxvY2FsZSBzdHJpbmcgZnJvbSBgY29uZmlnLmdldExvY2FsZSgpYFxuICogKG9yIGB1bmRlZmluZWRgIHdoZW4gbm8gbG9jYWxlIGhhcyBiZWVuIHNldCB5ZXQpIHNvIGNhbGxlcnMgY2FuIHBhc3NcbiAqIGl0IGFzIGEgYHVzZUVmZmVjdGAgZGVwZW5kZW5jeS4gVGhlIGhvb2sncyBvd24gYHNldFRpY2tgIHN1YnNjcmlwdGlvblxuICogdG8gYG9uTG9jYWxlQ2hhbmdlYCBtYWtlcyB0aGUgcmV0dXJuIHZhbHVlIHJlYWN0aXZlIOKAlCBpbmNsdWRpbmdcbiAqIGltcGVyYXRpdmUgYGNvbmZpZy5zZXRMb2NhbGUoLi4uKWAgY2FsbHMgZnJvbSBhIHNldHRpbmdzIHBpY2tlciB0aGF0XG4gKiBkb2VzIG5vdCBhbHNvIHB1c2ggdGhyb3VnaCBgVHJhbnNsYXRlQ29udGV4dGAuIEZvciB0aGUgY2FsbGFibGUtXG4gKiB0cmFuc2xhdG9yIHBhdHRlcm4sIGtlZXAgdXNpbmcgYHVzZVRyYW5zbGF0ZSgpYCAvIGB1c2VUcmFuc2xhdGVFeHBvKClgXG4gKiDigJQgYm90aCBob29rcyByZW1haW4gYXZhaWxhYmxlLlxuICpcbiAqIEByZXR1cm5zIHtzdHJpbmcgfCB1bmRlZmluZWR9XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUxvY2FsZUV4cG8oKSB7XG4gIGNvbnN0IGxvY2FsZUNvbnRleHQgPSB1c2VDb250ZXh0KFRyYW5zbGF0ZUNvbnRleHQpXG4gIGNvbnN0IGxvY2FsZXMgPSB1c2VMb2NhbGVzKClcbiAgY29uc3QgY29udGV4dExvY2FsZSA9IGxvY2FsZUNvbnRleHQ/LmxvY2FsZVxuXG4gIGNvbnN0IGRldmljZUxvY2FsZXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkobG9jYWxlcykpIHJldHVybiBbXVxuXG4gICAgcmV0dXJuIGxvY2FsZXNcbiAgICAgIC5tYXAoKGxvY2FsZURhdGEpID0+IGxvY2FsZURhdGEubGFuZ3VhZ2VDb2RlKVxuICAgICAgLmZpbHRlcigvKiogQHR5cGUgeyh2YWx1ZTogc3RyaW5nIHwgbnVsbCkgPT4gdmFsdWUgaXMgc3RyaW5nfSAqLyAoKHZhbHVlKSA9PiB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgJiYgdmFsdWUubGVuZ3RoID4gMCkpXG4gIH0sIFtsb2NhbGVzXSlcblxuICBjb25zdCBwcmltYXJ5TG9jYWxlID0gY29udGV4dExvY2FsZSB8fCBkZXZpY2VMb2NhbGVzWzBdXG5cbiAgLy8gUmUtcmVuZGVyIHdoZW5ldmVyIGFueSBjb2RlIGNhbGxzIGBjb25maWcuc2V0TG9jYWxlKC4uLilgIOKAlCBlLmcuIGFcbiAgLy8gc2V0dGluZ3MgcGlja2VyIHRoYXQgc3dhcHMgdGhlIGFjdGl2ZSBsb2NhbGUgZnJvbSBhbm90aGVyIHNjcmVlbi5cbiAgLy9cbiAgLy8gTXVzdCBzdWJzY3JpYmUgQkVGT1JFIHRoZSBwcmltYXJ5L2ZhbGxiYWNrcyBgdXNlRWZmZWN0YHMgYmVsb3cg4oCUXG4gIC8vIHRob3NlIGNhbGwgYGNvbmZpZy5zZXRMb2NhbGUoLi4uKWAgd2hpY2ggZW1pdHMgYG9uTG9jYWxlQ2hhbmdlYCwgYW5kXG4gIC8vIHdpdGhvdXQgYSBsaXZlIGxpc3RlbmVyIHRoZSBmaXJzdC1tb3VudCBzeW5jIG9mIGEgc3RhbGUgYGNvbmZpZ2BcbiAgLy8gd291bGQgYmUgc2lsZW50bHkgbWlzc2VkLCBsZWF2aW5nIHRoZSBjb21wb25lbnQgcmVuZGVyaW5nIHN0YWxlXG4gIC8vIHRyYW5zbGF0aW9ucyBmcm9tIGB0cmFuc2xhdGUoLi4uKWAgdW50aWwgYW4gdW5yZWxhdGVkIHJlLXJlbmRlci5cbiAgY29uc3QgWywgc2V0VGlja10gPSB1c2VTdGF0ZSgwKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuICAgIGNvbnN0IG9uTG9jYWxlQ2hhbmdlID0gKCkgPT4ge1xuICAgICAgc2V0VGljaygodGljaykgPT4gdGljayArIDEpXG4gICAgfVxuXG4gICAgZXZlbnRzLm9uKFwib25Mb2NhbGVDaGFuZ2VcIiwgb25Mb2NhbGVDaGFuZ2UpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZXZlbnRzLm9mZihcIm9uTG9jYWxlQ2hhbmdlXCIsIG9uTG9jYWxlQ2hhbmdlKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgLyoqIEB0eXBlIHtSZWFjdC5NdXRhYmxlUmVmT2JqZWN0PHN0cmluZyB8IG51bGw+fSAqL1xuICBjb25zdCBsYXN0V3JpdHRlblByaW1hcnlSZWYgPSB1c2VSZWYobnVsbClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghcHJpbWFyeUxvY2FsZSkgcmV0dXJuXG4gICAgaWYgKGxhc3RXcml0dGVuUHJpbWFyeVJlZi5jdXJyZW50ID09PSBwcmltYXJ5TG9jYWxlKSByZXR1cm5cblxuICAgIGxhc3RXcml0dGVuUHJpbWFyeVJlZi5jdXJyZW50ID0gcHJpbWFyeUxvY2FsZVxuICAgIGNvbmZpZy5zZXRMb2NhbGUocHJpbWFyeUxvY2FsZSlcbiAgfSwgW3ByaW1hcnlMb2NhbGVdKVxuXG4gIC8qKiBAdHlwZSB7UmVhY3QuTXV0YWJsZVJlZk9iamVjdDxzdHJpbmdbXSB8IG51bGw+fSAqL1xuICBjb25zdCBsYXN0V3JpdHRlbkZhbGxiYWNrc1JlZiA9IHVzZVJlZihudWxsKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgcHJldmlvdXMgPSBsYXN0V3JpdHRlbkZhbGxiYWNrc1JlZi5jdXJyZW50XG5cbiAgICBpZiAocHJldmlvdXMgJiYgcHJldmlvdXMubGVuZ3RoID09PSBkZXZpY2VMb2NhbGVzLmxlbmd0aCAmJiBwcmV2aW91cy5ldmVyeSgobG9jYWxlLCBpbmRleCkgPT4gbG9jYWxlID09PSBkZXZpY2VMb2NhbGVzW2luZGV4XSkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGxhc3RXcml0dGVuRmFsbGJhY2tzUmVmLmN1cnJlbnQgPSBkZXZpY2VMb2NhbGVzXG4gICAgY29uZmlnLnNldEZhbGxiYWNrcyhkZXZpY2VMb2NhbGVzKVxuICB9LCBbZGV2aWNlTG9jYWxlc10pXG5cbiAgLy8gUmVhZCB0aGUgYXV0aG9yaXRhdGl2ZSBsb2NhbGUgZnJvbSBgY29uZmlnYCAocmF0aGVyIHRoYW4gcmV0dXJuaW5nIHRoZVxuICAvLyBkZXJpdmVkIGBwcmltYXJ5TG9jYWxlYCkgc28gYW4gaW1wZXJhdGl2ZSBgY29uZmlnLnNldExvY2FsZShcImRlXCIpYCBmcm9tIGFcbiAgLy8gc2V0dGluZ3MgcGlja2VyIOKAlCB3aGljaCBlbWl0cyBgb25Mb2NhbGVDaGFuZ2VgIGFuZCByZS1yZW5kZXJzIHRoaXMgaG9va1xuICAvLyB2aWEgYHNldFRpY2tgIGFib3ZlIOKAlCBzdXJmYWNlcyBpbiB0aGUgcmV0dXJuIHZhbHVlIHRvby4gUmV0dXJuaW5nXG4gIC8vIGBwcmltYXJ5TG9jYWxlYCB3b3VsZCBtaXNzIHRob3NlIG92ZXJyaWRlcyB3aGVuZXZlciB0aGUgaG9zdCBhcHAgZG9lcyBub3RcbiAgLy8gYWxzbyBwdXNoIHRoZSBuZXcgbG9jYWxlIHRocm91Z2ggYFRyYW5zbGF0ZUNvbnRleHRgLlxuICByZXR1cm4gY29uZmlnLmdldExvY2FsZSgpXG59XG4iXX0=
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  },
5
5
  "name": "gettext-universal",
6
6
  "type": "module",
7
- "version": "1.0.22",
7
+ "version": "1.0.24",
8
8
  "main": "build/index.js",
9
9
  "types": "build/index.d.ts",
10
10
  "files": [