aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/background/repositories/PersistentSettingRepository.ts2
-rw-r--r--src/settings/components/form/KeymapsForm.tsx2
-rw-r--r--src/settings/components/form/SearchForm.tsx4
-rw-r--r--src/settings/components/index.tsx2
-rw-r--r--src/settings/storage.ts2
-rw-r--r--src/shared/SettingData.ts24
-rw-r--r--test/settings/components/form/KeymapsForm.test.tsx4
-rw-r--r--test/settings/components/form/SearchEngineForm.test.tsx8
-rw-r--r--test/shared/SettingData.test.ts12
9 files changed, 30 insertions, 30 deletions
diff --git a/src/background/repositories/PersistentSettingRepository.ts b/src/background/repositories/PersistentSettingRepository.ts
index 927bce9..e3b78b3 100644
--- a/src/background/repositories/PersistentSettingRepository.ts
+++ b/src/background/repositories/PersistentSettingRepository.ts
@@ -8,7 +8,7 @@ export default class SettingRepository {
if (!settings) {
return null;
}
- return SettingData.valueOf(settings as any);
+ return SettingData.fromJSON(settings as any);
}
}
diff --git a/src/settings/components/form/KeymapsForm.tsx b/src/settings/components/form/KeymapsForm.tsx
index 3cba0c0..94934ae 100644
--- a/src/settings/components/form/KeymapsForm.tsx
+++ b/src/settings/components/form/KeymapsForm.tsx
@@ -12,7 +12,7 @@ interface Props {
class KeymapsForm extends React.Component<Props> {
public static defaultProps: Props = {
- value: FormKeymaps.valueOf({}),
+ value: FormKeymaps.fromJSON({}),
onChange: () => {},
onBlur: () => {},
};
diff --git a/src/settings/components/form/SearchForm.tsx b/src/settings/components/form/SearchForm.tsx
index 6ba6cfb..0aaf6fd 100644
--- a/src/settings/components/form/SearchForm.tsx
+++ b/src/settings/components/form/SearchForm.tsx
@@ -12,7 +12,7 @@ interface Props {
class SearchForm extends React.Component<Props> {
public static defaultProps: Props = {
- value: FormSearch.valueOf({ default: '', engines: []}),
+ value: FormSearch.fromJSON({ default: '', engines: []}),
onChange: () => {},
onBlur: () => {},
};
@@ -81,7 +81,7 @@ class SearchForm extends React.Component<Props> {
}
}
- this.props.onChange(FormSearch.valueOf(next));
+ this.props.onChange(FormSearch.fromJSON(next));
if (name === 'delete' || name === 'default') {
this.props.onBlur();
}
diff --git a/src/settings/components/index.tsx b/src/settings/components/index.tsx
index 586f0f0..160dd9c 100644
--- a/src/settings/components/index.tsx
+++ b/src/settings/components/index.tsx
@@ -133,7 +133,7 @@ class SettingsComponent extends React.Component<Props> {
let data = new SettingData({
source: this.props.source,
form: (this.props.form as FormSettings).buildWithSearch(
- FormSearch.valueOf(value)),
+ FormSearch.fromJSON(value)),
});
this.props.dispatch(settingActions.set(data));
}
diff --git a/src/settings/storage.ts b/src/settings/storage.ts
index 32b6351..2a983df 100644
--- a/src/settings/storage.ts
+++ b/src/settings/storage.ts
@@ -6,7 +6,7 @@ export const load = async(): Promise<SettingData> => {
return DefaultSettingData;
}
try {
- return SettingData.valueOf(settings as any);
+ return SettingData.fromJSON(settings as any);
} catch (e) {
console.error('unable to load settings', e);
return DefaultSettingData;
diff --git a/src/shared/SettingData.ts b/src/shared/SettingData.ts
index b19a756..532570e 100644
--- a/src/shared/SettingData.ts
+++ b/src/shared/SettingData.ts
@@ -6,9 +6,9 @@ import Properties from './settings/Properties';
import Blacklist from './settings/Blacklist';
export class FormKeymaps {
- private data: {[op: string]: string};
+ private readonly data: {[op: string]: string};
- constructor(data: {[op: string]: string}) {
+ private constructor(data: {[op: string]: string}) {
this.data = data;
}
@@ -38,7 +38,7 @@ export class FormKeymaps {
return new FormKeymaps(newData);
}
- static valueOf(o: ReturnType<FormKeymaps['toJSON']>): FormKeymaps {
+ static fromJSON(o: ReturnType<FormKeymaps['toJSON']>): FormKeymaps {
let data: {[op: string]: string} = {};
for (let op of Object.keys(o)) {
data[op] = o[op] as string;
@@ -65,9 +65,9 @@ export class FormKeymaps {
}
export class FormSearch {
- private default: string;
+ private readonly default: string;
- private engines: string[][];
+ private readonly engines: string[][];
constructor(defaultEngine: string, engines: string[][]) {
this.default = defaultEngine;
@@ -92,7 +92,7 @@ export class FormSearch {
};
}
- static valueOf(o: ReturnType<FormSearch['toJSON']>): FormSearch {
+ static fromJSON(o: ReturnType<FormSearch['toJSON']>): FormSearch {
if (!Object.prototype.hasOwnProperty.call(o, 'default')) {
throw new TypeError(`"default" field not set`);
}
@@ -220,15 +220,15 @@ export class FormSettings {
};
}
- static valueOf(o: ReturnType<FormSettings['toJSON']>): FormSettings {
+ static fromJSON(o: ReturnType<FormSettings['toJSON']>): FormSettings {
for (let name of ['keymaps', 'search', 'properties', 'blacklist']) {
if (!Object.prototype.hasOwnProperty.call(o, name)) {
throw new Error(`"${name}" field not set`);
}
}
return new FormSettings(
- FormKeymaps.valueOf(o.keymaps),
- FormSearch.valueOf(o.search),
+ FormKeymaps.fromJSON(o.keymaps),
+ FormSearch.fromJSON(o.search),
Properties.fromJSON(o.properties),
Blacklist.fromJSON(o.blacklist),
);
@@ -311,7 +311,7 @@ export default class SettingData {
throw new Error(`unknown settings source: ${this.source}`);
}
- static valueOf(o: {
+ static fromJSON(o: {
source: string;
json?: string;
form?: ReturnType<FormSettings['toJSON']>;
@@ -326,7 +326,7 @@ export default class SettingData {
case SettingSource.Form:
return new SettingData({
source: o.source,
- form: FormSettings.valueOf(
+ form: FormSettings.fromJSON(
o.form as ReturnType<FormSettings['toJSON']>),
});
}
@@ -334,7 +334,7 @@ export default class SettingData {
}
}
-export const DefaultSettingData: SettingData = SettingData.valueOf({
+export const DefaultSettingData: SettingData = SettingData.fromJSON({
source: 'json',
json: DefaultSettingJSONText,
});
diff --git a/test/settings/components/form/KeymapsForm.test.tsx b/test/settings/components/form/KeymapsForm.test.tsx
index dc2322b..1d1e77c 100644
--- a/test/settings/components/form/KeymapsForm.test.tsx
+++ b/test/settings/components/form/KeymapsForm.test.tsx
@@ -9,7 +9,7 @@ import { expect } from 'chai';
describe("settings/form/KeymapsForm", () => {
describe('render', () => {
it('renders keymap fields', () => {
- let root = ReactTestRenderer.create(<KeymapsForm value={FormKeymaps.valueOf({
+ let root = ReactTestRenderer.create(<KeymapsForm value={FormKeymaps.fromJSON({
'scroll.vertically?{"count":1}': 'j',
'scroll.vertically?{"count":-1}': 'k',
})} />).root
@@ -48,7 +48,7 @@ describe("settings/form/KeymapsForm", () => {
it('invokes onChange event on edit', (done) => {
ReactTestUtils.act(() => {
ReactDOM.render(<KeymapsForm
- value={FormKeymaps.valueOf({
+ value={FormKeymaps.fromJSON({
'scroll.vertically?{"count":1}': 'j',
'scroll.vertically?{"count":-1}': 'k',
})}
diff --git a/test/settings/components/form/SearchEngineForm.test.tsx b/test/settings/components/form/SearchEngineForm.test.tsx
index 0e6b17d..1f0420d 100644
--- a/test/settings/components/form/SearchEngineForm.test.tsx
+++ b/test/settings/components/form/SearchEngineForm.test.tsx
@@ -8,7 +8,7 @@ import { FormSearch } from 'shared/SettingData';
describe("settings/form/SearchForm", () => {
describe('render', () => {
it('renders SearchForm', () => {
- let root = ReactTestRenderer.create(<SearchForm value={FormSearch.valueOf({
+ let root = ReactTestRenderer.create(<SearchForm value={FormSearch.fromJSON({
default: 'google',
engines: [['google', 'google.com'], ['yahoo', 'yahoo.com']],
})} />).root;
@@ -41,7 +41,7 @@ describe("settings/form/SearchForm", () => {
it('invokes onChange event on edit', (done) => {
ReactTestUtils.act(() => {
ReactDOM.render(<SearchForm
- value={FormSearch.valueOf({
+ value={FormSearch.fromJSON({
default: 'google',
engines: [['google', 'google.com'], ['yahoo', 'yahoo.com']]
})}
@@ -67,7 +67,7 @@ describe("settings/form/SearchForm", () => {
it('invokes onChange event on delete', (done) => {
ReactTestUtils.act(() => {
- ReactDOM.render(<SearchForm value={FormSearch.valueOf({
+ ReactDOM.render(<SearchForm value={FormSearch.fromJSON({
default: 'yahoo',
engines: [['louvre', 'google.com'], ['yahoo', 'yahoo.com']]
})}
@@ -88,7 +88,7 @@ describe("settings/form/SearchForm", () => {
it('invokes onChange event on add', (done) => {
ReactTestUtils.act(() => {
- ReactDOM.render(<SearchForm value={FormSearch.valueOf({
+ ReactDOM.render(<SearchForm value={FormSearch.fromJSON({
default: 'yahoo',
engines: [['google', 'google.com']]
})}
diff --git a/test/shared/SettingData.test.ts b/test/shared/SettingData.test.ts
index 138d768..d95c271 100644
--- a/test/shared/SettingData.test.ts
+++ b/test/shared/SettingData.test.ts
@@ -14,7 +14,7 @@ describe('shared/SettingData', () => {
'scroll.home': '0',
};
- let keymaps = FormKeymaps.valueOf(data).toKeymaps().toJSON();
+ let keymaps = FormKeymaps.fromJSON(data).toKeymaps().toJSON();
expect(keymaps).to.deep.equal({
'j': { type: 'scroll.vertically', count: 1 },
'0': { type: 'scroll.home' },
@@ -118,7 +118,7 @@ describe('shared/SettingData', () => {
blacklist: []
};
- let settings = FormSettings.valueOf(data).toSettings();
+ let settings = FormSettings.fromJSON(data).toSettings();
expect({
keymaps: settings.keymaps.toJSON(),
search: settings.search.toJSON(),
@@ -211,7 +211,7 @@ describe('shared/SettingData', () => {
}`,
};
- let j = SettingData.valueOf(data).toJSON();
+ let j = SettingData.fromJSON(data).toJSON();
expect(j.source).to.equal('json');
expect(j.json).to.be.a('string');
});
@@ -236,7 +236,7 @@ describe('shared/SettingData', () => {
},
};
- let j = SettingData.valueOf(data).toJSON();
+ let j = SettingData.fromJSON(data).toJSON();
expect(j.source).to.equal('form');
expect(j.form).to.deep.equal({
keymaps: {},
@@ -277,7 +277,7 @@ describe('shared/SettingData', () => {
}`,
};
- let settings = SettingData.valueOf(data).toSettings();
+ let settings = SettingData.fromJSON(data).toSettings();
expect(settings.search.defaultEngine).to.equal('google');
});
@@ -301,7 +301,7 @@ describe('shared/SettingData', () => {
},
};
- let settings = SettingData.valueOf(data).toSettings();
+ let settings = SettingData.fromJSON(data).toSettings();
expect(settings.search.defaultEngine).to.equal('yahoo');
});
});