A fork of https://github.com/ueokande/vim-vixen
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
483 B
25 lines
483 B
import Mark from '../domains/Mark'; |
|
|
|
export default interface MarkRepository { |
|
set(key: string, mark: Mark): void; |
|
|
|
get(key: string): Mark | null; |
|
|
|
// eslint-disable-next-line semi |
|
} |
|
|
|
const saved: {[key: string]: Mark} = {}; |
|
|
|
export class MarkRepositoryImpl implements MarkRepository { |
|
set(key: string, mark: Mark): void { |
|
saved[key] = mark; |
|
} |
|
|
|
get(key: string): Mark | null { |
|
let v = saved[key]; |
|
if (!v) { |
|
return null; |
|
} |
|
return { ...v }; |
|
} |
|
}
|
|
|