UNPKG

persistent-programming

Version:

[![Build Status](https://travis-ci.com/unsegnor/object-repository.svg?branch=master)](https://travis-ci.com/unsegnor/object-repository) # object-repository Object repository. Just to work with javascript objects implementing transparent persistence. No 'S

50 lines (41 loc) 984 B
module.exports = function() { let fakeId, equalObject = {}, notEqualObject = {}, fakeValue, expectedProperty return Object.freeze({ getId, equals, get, setFakeId, setEquals, setNotEquals, setFake }) function setFakeId(id){ fakeId = id } function setEquals(object){ equalObject = object } function setNotEquals(object){ notEqualObject = object } function setFake(property, value){ expectedProperty = property fakeValue = value } async function getId(){ return fakeId } async function equals(object){ if(object === equalObject) return true if(object === notEqualObject) return false throw new Error('object not expected') } async function get(property){ if(property === expectedProperty) return fakeValue throw new Error('property not expected') } }