UNPKG

@react-native-localize-ext/core

Version:
39 lines (38 loc) 1.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createI18n = exports.createPolyfillI18n = void 0; const I18n_1 = require("./I18n"); const I18nPolyfill_1 = require("./I18nPolyfill"); function createPolyfillI18n(config) { const instance = new I18nPolyfill_1.I18nPolyfill(config); const data = {}; Object.defineProperty(data, '_', { value: instance, }); Object.keys(config.defaultLocale.values).forEach((property) => { Object.defineProperty(data, property, { get: () => { return instance.chain()[property]; }, }); }); // @ts-ignore return data; } exports.createPolyfillI18n = createPolyfillI18n; function createI18n(config) { if (typeof Proxy === 'function') { const instance = new I18n_1.I18n(config); // @ts-ignore return new Proxy({}, { get: (_, property) => { if (property === '_') { return instance; } return instance.chain()[property]; }, }); } return createPolyfillI18n(config); } exports.createI18n = createI18n;