(function(root,factory){"use strict";if(typeofmodule==="object"&&module.exports){module.exports=factory(root.Record)}else{root.Record=factory(root.Record)}})(this,function(){"use strict";classRecord{constructor(init,opts){this.store=(opts||{}).store;this.debug=(opts||{}).debug;this.records=Array.isArray(init)?init:[]}_log(){if(!this.debug){console.log(...arguments)}}add(entry){if(Array.isArray(entry)){entry.forEach(()=>{if(!entry.id){entry.id=Math.random().toString(36).substr(2,9)}this.records.push(entry);returnentry})}else{if(!entry.id){entry.id=Math.random().toString(36).substr(2,9)}this.records.push(entry);returnentry}}find(key){if(!key){returnthis.records}if(typeofkey==="string"||typeofkey==="number"){returnthis.records.filter(record=>{returnrecord.id===key})}letvalue=Object.keys(key);returnthis.records.filter(record=>{if(value.indexOf("id")!==-1){returnrecord.id===key.id}returnvalue.every(val=>{returnrecord[val]===key[val]})})}remove(entry){if(!entry||Array.isArray(entry)){this._log(console.error("remove() accepts a single object"));return[]}letentries=this.find(entry);entries.forEach(item=>{this.records.splice(this.records.indexOf(item),1)});returnentries}clear(){this.records=[]}count(){returnthis.records.length}save(){if(this.storage){}}dump(){}}returnRecord});