Skip to content

Instantly share code, notes, and snippets.

View jwulf's full-sized avatar
:octocat:
Coding on Halmak

Josh Wulf jwulf

:octocat:
Coding on Halmak
View GitHub Profile
const GlobalMemberStore = (() => {
let _members = []
const needsArg = arg => {
if (!member) {
throw new Error (`Undefined passed as argument to Store!`)
}
return arg
}
const needsId = member => {
if (!member.id) {
const GlobalMemberStore = (() => {
let _members = []
const Store = {
putMember: member => {
if (Store.getMember(member.id).found) {
throw new Error(`${member.id} already exists!`)
}
_members = [..._members, {...member}]
}
}
const GlobalMemberStore = (() => {
let _members = []
const Store = {
updateMember: update => {
const member = Store.getMember(update.id)
if (!member.found) {
throw new Error(`No member with id ${update.id} in the store!`)
}
_members = _members.map(m => m.id === update.id ?
{...update} : m)
const GlobalMemberStore = (() => {
let _members = []
const Store = {
}
return Store
})()
const GlobalMemberStore = (() => {
let _members = []
return {
getMember: id => {
const member = _members.filter(m => m.id === id)
return member.length === 1 ?
{ found: true, member: {...member[0]}} :
{ found: false, member: undefined }
}
}
const GlobalMemberStore = (() => {
let _members = []
return {
getMember: id => _members.filter(m => m.id === id)
}
})()
const GlobalMemberStore = (() => {
let _members = []
return {
updateMember: update => (_members = _members.map(m => m.id === update.id ?
{...update} : m))
}
})()
const GlobalMemberStore = (() => {
let _members = []
return {
setMembers: members => _members = members.map(m => ({...m}))
}
})()
const GlobalMemberStore = (() => {
let _members = []
return {
getMembers: () => _members.map(m => ({...m}))
}
})()
const GlobalMemberStore = (() => {
let _members = []
return {
getMembers: () => [..._members]
}
})()