@lion/localize
Advanced tools
Comparing version 0.20.0 to 0.20.1
# Change Log | ||
## 0.20.1 | ||
### Patch Changes | ||
- 5ca3d275: Fix localize race condition where data was being added while namespace loader promise was no longer in cache. | ||
## 0.20.0 | ||
@@ -4,0 +10,0 @@ |
@@ -12,3 +12,3 @@ # Systems >> Localize >> Overview ||10 | ||
Further examples and a more in depth description can be found at the [Features Page](https://github.com/ing-bank/lion/blob/24b272ecf272f883ddb8130e22271557f4ff444e/docs/docs/systems/localize/features.md). | ||
Further examples and a more in depth description can be found at the [Features Page](https://github.com/ing-bank/lion/blob/8a322836ce238bd09d6c73f1a947d130e01cb697/docs/docs/systems/localize/features.md). | ||
@@ -19,5 +19,5 @@ ## Content | ||
| ---------------------------------------- | --------------------------------------------- | | ||
| [Translate Text](https://github.com/ing-bank/lion/blob/24b272ecf272f883ddb8130e22271557f4ff444e/docs/docs/systems/localize/text.md) | Load and translate text in multiple languages | | ||
| [Format Numbers](https://github.com/ing-bank/lion/blob/24b272ecf272f883ddb8130e22271557f4ff444e/docs/docs/systems/localize/numbers.md) | Format numbers in multiple languages | | ||
| [Format Dates](https://github.com/ing-bank/lion/blob/24b272ecf272f883ddb8130e22271557f4ff444e/docs/docs/systems/localize/dates.md) | Format dates in multiple languages | | ||
| [Translate Text](https://github.com/ing-bank/lion/blob/8a322836ce238bd09d6c73f1a947d130e01cb697/docs/docs/systems/localize/text.md) | Load and translate text in multiple languages | | ||
| [Format Numbers](https://github.com/ing-bank/lion/blob/8a322836ce238bd09d6c73f1a947d130e01cb697/docs/docs/systems/localize/numbers.md) | Format numbers in multiple languages | | ||
| [Format Dates](https://github.com/ing-bank/lion/blob/8a322836ce238bd09d6c73f1a947d130e01cb697/docs/docs/systems/localize/dates.md) | Format dates in multiple languages | | ||
@@ -24,0 +24,0 @@ ## Installation |
{ | ||
"name": "@lion/localize", | ||
"version": "0.20.0", | ||
"version": "0.20.1", | ||
"description": "The localization system helps to manage localization data split into locales and automate its loading", | ||
@@ -5,0 +5,0 @@ "license": "MIT", |
@@ -12,3 +12,3 @@ # Systems >> Localize >> Overview ||10 | ||
Further examples and a more in depth description can be found at the [Features Page](https://github.com/ing-bank/lion/blob/24b272ecf272f883ddb8130e22271557f4ff444e/docs/docs/systems/localize/features.md). | ||
Further examples and a more in depth description can be found at the [Features Page](https://github.com/ing-bank/lion/blob/8a322836ce238bd09d6c73f1a947d130e01cb697/docs/docs/systems/localize/features.md). | ||
@@ -19,5 +19,5 @@ ## Content | ||
| ---------------------------------------- | --------------------------------------------- | | ||
| [Translate Text](https://github.com/ing-bank/lion/blob/24b272ecf272f883ddb8130e22271557f4ff444e/docs/docs/systems/localize/text.md) | Load and translate text in multiple languages | | ||
| [Format Numbers](https://github.com/ing-bank/lion/blob/24b272ecf272f883ddb8130e22271557f4ff444e/docs/docs/systems/localize/numbers.md) | Format numbers in multiple languages | | ||
| [Format Dates](https://github.com/ing-bank/lion/blob/24b272ecf272f883ddb8130e22271557f4ff444e/docs/docs/systems/localize/dates.md) | Format dates in multiple languages | | ||
| [Translate Text](https://github.com/ing-bank/lion/blob/8a322836ce238bd09d6c73f1a947d130e01cb697/docs/docs/systems/localize/text.md) | Load and translate text in multiple languages | | ||
| [Format Numbers](https://github.com/ing-bank/lion/blob/8a322836ce238bd09d6c73f1a947d130e01cb697/docs/docs/systems/localize/numbers.md) | Format numbers in multiple languages | | ||
| [Format Dates](https://github.com/ing-bank/lion/blob/8a322836ce238bd09d6c73f1a947d130e01cb697/docs/docs/systems/localize/dates.md) | Format dates in multiple languages | | ||
@@ -24,0 +24,0 @@ ## Installation |
@@ -343,4 +343,10 @@ // @ts-expect-error [external]: no types for this package | ||
obj => { | ||
const data = isLocalizeESModule(obj) ? obj.default : obj; | ||
this.addData(locale, namespace, data); | ||
// add data only if we have the promise in cache | ||
if ( | ||
this.__namespaceLoaderPromisesCache[locale] && | ||
this.__namespaceLoaderPromisesCache[locale][namespace] === loaderPromise | ||
) { | ||
const data = isLocalizeESModule(obj) ? obj.default : obj; | ||
this.addData(locale, namespace, data); | ||
} | ||
}, | ||
@@ -347,0 +353,0 @@ ); |
@@ -61,2 +61,26 @@ import { expect, oneEvent, aTimeout } from '@open-wc/testing'; | ||
it('empties storage after reset() is invoked', async () => { | ||
manager = new LocalizeManager(); | ||
let deferredResolve; | ||
manager.loadNamespace({ | ||
generic: () => | ||
new Promise(resolve => { | ||
deferredResolve = () => resolve({ greeting: 'Hello!' }); | ||
}), | ||
}); | ||
const { loadingComplete } = manager; | ||
manager.reset(); | ||
expect(getProtectedMembers(manager).storage).to.be.empty; | ||
// @ts-ignore | ||
deferredResolve(); | ||
await loadingComplete; | ||
// storage still needs to be empty after promise is fulfilled. | ||
expect(getProtectedMembers(manager).storage).to.be.empty; | ||
}); | ||
it('has teardown() method removing all side effects', () => { | ||
@@ -63,0 +87,0 @@ manager = new LocalizeManager(); |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
252886
5179