|
|
|
@ -2,14 +2,14 @@ import { make_reactive, NOTIFY_WITH_ALL_PARAMS } from './utils.js';
|
|
|
|
|
|
|
|
|
|
|
|
export const ReactiveMap = make_reactive(Map, {
|
|
|
|
export const ReactiveMap = make_reactive(Map, {
|
|
|
|
write_properties: ['clear', 'delete', 'set'],
|
|
|
|
write_properties: ['clear', 'delete', 'set'],
|
|
|
|
read_properties: ['get', 'keys', 'size', 'entries', 'values', 'has'],
|
|
|
|
read_properties: ['get', 'keys', 'entries', 'values', 'has'],
|
|
|
|
interceptors: {
|
|
|
|
interceptors: {
|
|
|
|
set: (notify_read_methods, value, property, ...params) => {
|
|
|
|
set: (notify_read_methods, value, property, ...params) => {
|
|
|
|
if (value.get(params[0]) === params[1]) {
|
|
|
|
if (value.get(params[0]) === params[1]) {
|
|
|
|
return false;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (!value.has(params[0])) {
|
|
|
|
if (!value.has(params[0])) {
|
|
|
|
notify_read_methods(['keys', 'size']);
|
|
|
|
notify_read_methods(['keys']);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
notify_read_methods(['entries', 'values']);
|
|
|
|
notify_read_methods(['entries', 'values']);
|
|
|
|
notify_read_methods(['get', 'has'], params[1]);
|
|
|
|
notify_read_methods(['get', 'has'], params[1]);
|
|
|
|
@ -19,7 +19,7 @@ export const ReactiveMap = make_reactive(Map, {
|
|
|
|
if (value.size === 0) {
|
|
|
|
if (value.size === 0) {
|
|
|
|
return false;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
notify_read_methods(['keys', 'size', 'values', 'entries', 'has'], NOTIFY_WITH_ALL_PARAMS);
|
|
|
|
notify_read_methods(['keys', 'values', 'entries', 'has'], NOTIFY_WITH_ALL_PARAMS);
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
},
|
|
|
|
},
|
|
|
|
delete: (notify_read_methods, value, property, ...params) => {
|
|
|
|
delete: (notify_read_methods, value, property, ...params) => {
|
|
|
|
@ -27,7 +27,7 @@ export const ReactiveMap = make_reactive(Map, {
|
|
|
|
return false;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
notify_read_methods(['get', 'has'], params[0]);
|
|
|
|
notify_read_methods(['get', 'has'], params[0]);
|
|
|
|
notify_read_methods(['keys', 'size', 'values', 'entries']);
|
|
|
|
notify_read_methods(['keys', 'values', 'entries']);
|
|
|
|
return true;
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|