function proxify (instance: MemoryStorage) {
return new Proxy(instance, {
set: function (obj, prop: string | symbol, value) {
function proxify (instance: MemoryStorage) {
return new Proxy(instance, {
set: function (obj, prop: string | symbol, value) {
- if (MemoryStorage.prototype.hasOwnProperty(prop)) {
- // FIXME: symbol typing issue https://github.com/microsoft/TypeScript/issues/1863
+ if (Object.prototype.hasOwnProperty.call(MemoryStorage, prop)) {
+ // FIXME: remove cast on typescript upgrade
instance[prop as any] = value
} else {
instance.setItem(prop, value)
}
instance[prop as any] = value
} else {
instance.setItem(prop, value)
}
- if (MemoryStorage.prototype.hasOwnProperty(name)) {
- // FIXME: symbol typing issue https://github.com/microsoft/TypeScript/issues/1863
+ // FIXME: remove cast on typescript upgrade
+ if (typeof instance[name as any] === 'function') {
+ // FIXME: remove cast on typescript upgrade