Skip to content

Instantly share code, notes, and snippets.

@whitelizard
Last active December 20, 2019 21:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save whitelizard/9656c3cc53da34997eccc30baba431b9 to your computer and use it in GitHub Desktop.
Save whitelizard/9656c3cc53da34997eccc30baba431b9 to your computer and use it in GitHub Desktop.
Functional style Factory in JavaScript
const makeCircle = (pos = [0, 0], r = 0) => {
let state = circle(pos, r);
return {
getState: () => state,
incHits: () => (state = incHits(state)),
setPos: pos => (state = setPos(state, pos)),
area: () => area(r),
intersect: c2 => {
let hit;
[hit, state] = intersect(state, c2.getState());
if (hit) c2.incHits();
return hit;
},
};
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment