Anarcode store

Only self mutation is permitted.

JavaScript

var imut = (() => {
    var counter = 99
    return Object.freeze({
        inc() {
            if (counter >= 100) {
                return
            }
            counter += 1
        },
        get counter() {
            return counter
        }
    })
})()
imut.foo = 200
imut.counter = 150

console.log(imut.foo)
console.log(imut.counter)
imut.inc()
console.log(imut.counter)
imut.inc()
console.log(imut.counter)