mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			36 lines
		
	
	
		
			758 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			758 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
'use strict';
 | 
						|
 | 
						|
module.exports = class Projection {
 | 
						|
    constructor() {
 | 
						|
        this.store = {};
 | 
						|
    }
 | 
						|
 | 
						|
    getProjection() {
 | 
						|
        return this.store;
 | 
						|
    }
 | 
						|
 | 
						|
    add(name, countObj) {
 | 
						|
        if (this.store[name]) {
 | 
						|
            this.store[name].yes += countObj.yes;
 | 
						|
            this.store[name].no += countObj.no;
 | 
						|
        } else {
 | 
						|
            this.store[name] = {
 | 
						|
                yes: countObj.yes,
 | 
						|
                no: countObj.no,
 | 
						|
            };
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
    substract(name, countObj) {
 | 
						|
        if (this.store[name]) {
 | 
						|
            this.store[name].yes -= countObj.yes;
 | 
						|
            this.store[name].no -= countObj.no;
 | 
						|
        } else {
 | 
						|
            this.store[name] = {
 | 
						|
                yes: 0,
 | 
						|
                no: 0,
 | 
						|
            };
 | 
						|
        }
 | 
						|
    }
 | 
						|
};
 |