mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2026-01-03 20:12:51 +00:00
refactor: replace rfdc with native structuredClone
This commit is contained in:
@@ -21,10 +21,13 @@
|
||||
"allowedCommonJsDependencies": [
|
||||
"moment",
|
||||
"opening_hours",
|
||||
"leaflet",
|
||||
"leaflet.markercluster",
|
||||
"localforge",
|
||||
"guid-typescript"
|
||||
"localforage",
|
||||
"i18next",
|
||||
"semver",
|
||||
"suncalc",
|
||||
"guid-typescript",
|
||||
"fast-deep-equal",
|
||||
"maplibre-gl"
|
||||
],
|
||||
"aot": true,
|
||||
"assets": [
|
||||
|
||||
@@ -104,7 +104,7 @@ describe('ConfigProvider', () => {
|
||||
|
||||
it('should throw error on wrong config version in storage', async () => {
|
||||
storageProviderSpy.has.and.returnValue(Promise.resolve(true));
|
||||
const wrongConfig = JSON.parse(JSON.stringify(sampleIndexResponse));
|
||||
const wrongConfig = structuredClone(sampleIndexResponse);
|
||||
wrongConfig.backend.SCVersion = '0.1.0';
|
||||
storageProviderSpy.get.and.returnValue(wrongConfig);
|
||||
spyOn(configProvider.client, 'handshake').and.returnValue(Promise.resolve(sampleIndexResponse));
|
||||
|
||||
@@ -59,7 +59,7 @@ describe('SettingsProvider', () => {
|
||||
});
|
||||
|
||||
it('should provide and get setting', async () => {
|
||||
await settingsProvider.provideSetting(JSON.parse(JSON.stringify(CONFIG_SETTINGS_MOCK[0])));
|
||||
await settingsProvider.provideSetting(structuredClone(CONFIG_SETTINGS_MOCK[0]));
|
||||
const setting: SCSetting = await settingsProvider.getSetting(
|
||||
CONFIG_SETTINGS_MOCK[0].categories[0],
|
||||
CONFIG_SETTINGS_MOCK[0].name,
|
||||
@@ -68,7 +68,7 @@ describe('SettingsProvider', () => {
|
||||
});
|
||||
|
||||
it('should provide and get settings value', async () => {
|
||||
await settingsProvider.provideSetting(JSON.parse(JSON.stringify(CONFIG_SETTINGS_MOCK[0])));
|
||||
await settingsProvider.provideSetting(structuredClone(CONFIG_SETTINGS_MOCK[0]));
|
||||
const value = await settingsProvider.getValue(
|
||||
CONFIG_SETTINGS_MOCK[0].categories[0],
|
||||
CONFIG_SETTINGS_MOCK[0].name,
|
||||
@@ -109,7 +109,7 @@ describe('SettingsProvider', () => {
|
||||
});
|
||||
|
||||
it('should set value of a provided setting', async () => {
|
||||
await settingsProvider.provideSetting(JSON.parse(JSON.stringify(CONFIG_SETTINGS_MOCK[1])));
|
||||
await settingsProvider.provideSetting(structuredClone(CONFIG_SETTINGS_MOCK[1]));
|
||||
await settingsProvider.setSettingValue(
|
||||
CONFIG_SETTINGS_MOCK[1].categories[0],
|
||||
CONFIG_SETTINGS_MOCK[1].name,
|
||||
@@ -125,7 +125,7 @@ describe('SettingsProvider', () => {
|
||||
it('should return copy of settingsCache', async () => {
|
||||
const category = CONFIG_SETTINGS_MOCK[0].categories[0];
|
||||
const name = CONFIG_SETTINGS_MOCK[0].name;
|
||||
await settingsProvider.provideSetting(JSON.parse(JSON.stringify(CONFIG_SETTINGS_MOCK[0])));
|
||||
await settingsProvider.provideSetting(structuredClone(CONFIG_SETTINGS_MOCK[0]));
|
||||
const settings = await settingsProvider.getCache();
|
||||
settings[category].settings[name].value = 'testValue';
|
||||
// cached setting value should still be defaultValue
|
||||
@@ -133,7 +133,7 @@ describe('SettingsProvider', () => {
|
||||
});
|
||||
|
||||
it('should call storage put on setSettingValue', async () => {
|
||||
await settingsProvider.provideSetting(JSON.parse(JSON.stringify(CONFIG_SETTINGS_MOCK[0])));
|
||||
await settingsProvider.provideSetting(structuredClone(CONFIG_SETTINGS_MOCK[0]));
|
||||
await settingsProvider.setSettingValue(
|
||||
CONFIG_SETTINGS_MOCK[0].categories[0],
|
||||
CONFIG_SETTINGS_MOCK[0].name,
|
||||
@@ -150,7 +150,7 @@ describe('SettingsProvider', () => {
|
||||
it('should reset settings', async () => {
|
||||
const category = CONFIG_SETTINGS_MOCK[0].categories[0];
|
||||
const name = CONFIG_SETTINGS_MOCK[0].name;
|
||||
await settingsProvider.provideSetting(JSON.parse(JSON.stringify(CONFIG_SETTINGS_MOCK[0])));
|
||||
await settingsProvider.provideSetting(structuredClone(CONFIG_SETTINGS_MOCK[0]));
|
||||
await settingsProvider.setSettingValue(category, name, 'guest');
|
||||
await settingsProvider.resetDefault();
|
||||
const value = await settingsProvider.getValue(
|
||||
@@ -203,7 +203,7 @@ describe('SettingsProvider', () => {
|
||||
*/
|
||||
async function testValue(setting: SCSetting, value: unknown) {
|
||||
let error: Error | undefined = undefined;
|
||||
await settingsProvider.provideSetting(JSON.parse(JSON.stringify(setting)));
|
||||
await settingsProvider.provideSetting(structuredClone(setting));
|
||||
try {
|
||||
await settingsProvider.setSettingValue(setting.categories[0], setting.name, value as never);
|
||||
} catch (error_) {
|
||||
|
||||
@@ -271,7 +271,7 @@ export class SettingsProvider {
|
||||
public async getCache(): Promise<SettingsCache> {
|
||||
await this.init();
|
||||
|
||||
return JSON.parse(JSON.stringify(this.settingsCache));
|
||||
return structuredClone(this.settingsCache);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -291,7 +291,7 @@ export class SettingsProvider {
|
||||
await this.init();
|
||||
if (this.settingExists(category, name)) {
|
||||
// return a copy of the settings
|
||||
return JSON.parse(JSON.stringify(this.settingsCache[category].settings[name]));
|
||||
return structuredClone(this.settingsCache[category].settings[name]);
|
||||
}
|
||||
throw new Error(`Setting "${name}" not provided`);
|
||||
}
|
||||
@@ -306,7 +306,7 @@ export class SettingsProvider {
|
||||
await this.init();
|
||||
if (this.settingExists(category, name)) {
|
||||
// return a copy of the settings value
|
||||
return JSON.parse(JSON.stringify(this.settingsCache[category].settings[name].value));
|
||||
return structuredClone(this.settingsCache[category].settings[name].value)!;
|
||||
}
|
||||
throw new Error(`Setting "${name}" not provided`);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user