/** * @ typedef {Object} BirthData * @ property {Date} birthDate */ /** * @typedef {Object} BrainCell * @property {string} type * @property {Object} data */ /** * @type {BrainCell[]} */ export let memory = []; export function AddCell(name, data) { memory.push({ type: name, data }); }; /** * @param {string} type * @param {(BrainCell) => boolean} filterQuery */ export function RemoveCell(type, filterQuery) { memory = memory.filter(e => !( e.type == type && filterQuery(e.data) )); }; /** * @param {string} type * @param {(BrainCell) => boolean} filterQuery */ export function FilterCell(type, filterQuery) { return memory.filter(e => e.type == type && filterQuery(e.data) ).map(e => e.data); }; window.memoryDump = () => memory;