/** * Copyright (c) 2018 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author Alexander Rose */ /** Builds id function returning ids within [firstId, maxId) */ export function idFactory(firstId = 0, maxId = Number.MAX_SAFE_INTEGER) { let _nextId = firstId return () => { const ret = _nextId _nextId = (_nextId + 1) % maxId return ret } }