1.0.0 • Published 7 years ago
@munierujp/val v1.0.0
Val.js
Val class wraps value.
Installation
$ npm i @munierujp/valor
$ yarn add @munierujp/valUse in your script
const Val = require('@munierujp/val')Usage
You can use below methods.
Creation
Val.empty()
const val = Val.empty()
console.log(val) // { _: null }Val.of(value)
const val = Val.of('foo')
console.log(val) // { _: 'foo' }Intermediate operation
Val.filter(matcher)
const val = Val.of('foo')
const filtered = val.filter(v => v.startsWith('f'))
console.log(filtered) // { _: 'foo' }const val = Val.of('foo')
const filtered = val.filter(v => v.startsWith('b'))
console.log(filtered) // { _: null }Val.map(mapper)
const val = Val.of('foo')
const mapped = val.map(v => v + '_')
console.log(mapped) // { _: 'foo_' }const val = Val.empty()
const mapped = val.map(v => v + '_')
console.log(mapped) // { _: null }Val.ifPresent(callback)
const val = Val.of('foo')
let tmp
const val2 = val.ifPresent(v => {
tmp = v
})
console.log(val2) // { _: 'foo' }
console.log(tmp) // fooconst val = Val.empty()
let tmp
const val2 = val.ifPresent(v => {
tmp = v
})
console.log(val2) // { _: null }
console.log(tmp) // undefinedVal.ifAbsent(callback)
const val = Val.of('foo')
let tmp
const val2 = val.ifAbsent(() => {
tmp = 'bar'
})
console.log(val2) // { _: 'foo' }
console.log(tmp) // undefinedconst val = Val.empty()
let tmp
const val2 = val.ifAbsent(() => {
tmp = 'bar'
})
console.log(val2) // { _: null }
console.log(tmp) // barVal.or(other)
const val = Val.of('foo')
const value = val.or('bar')
console.log(value) // fooconst val = Val.empty()
const value = val.or('bar')
console.log(value) // barVal.is(value)
const val = Val.of('foo')
console.log(val.is('foo')) // trueconst val = Val.of('foo')
console.log(val.is('bar')) // falseVal.isPresent()
const val = Val.of('foo')
console.log(val.isPresent()) // trueconst val = Val.empty()
console.log(val.isPresent()) // falseVal.isAbsent()
const val = Val.of('foo')
console.log(val.isAbsent()) // falseconst val = Val.empty()
console.log(val.isAbsent()) // true1.0.0
7 years ago