MWSE/public/studio/sdb.js

44 lines
809 B
JavaScript

/**
* @ 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;