@js-commons/val
v1.2.0
Published
Val class wraps value
Readme
Val
Val class wraps value.
Installation
$ npm i @js-commons/valor
$ yarn add @js-commons/valUse in your script
const Val = require('@js-commons/val')or
import Val from '@js-commons/val'API
You can use below methods.
Creation
Val.empty()
const val = Val.empty()
console.log(val) // { $value: null }Val.of(value)
const val = Val.of('foo')
console.log(val) // { $value: 'foo' }Intermediate operation
Val.filter(callback)
const val = Val.of('foo')
const filtered = val.filter(v => v.startsWith('f'))
console.log(filtered) // { $value: 'foo' }const val = Val.of('foo')
const filtered = val.filter(v => v.startsWith('b'))
console.log(filtered) // { $value: null }Val.map(callback)
const val = Val.of('foo')
const mapped = val.map(v => v + '_')
console.log(mapped) // { $value: 'foo_' }const val = Val.empty()
const mapped = val.map(v => v + '_')
console.log(mapped) // { $value: null }Val.ifPresent(callback)
const val = Val.of('foo')
let tmp
const val2 = val.ifPresent(v => {
tmp = v
})
console.log(val2) // { $value: 'foo' }
console.log(tmp) // fooconst val = Val.empty()
let tmp
const val2 = val.ifPresent(v => {
tmp = v
})
console.log(val2) // { $value: null }
console.log(tmp) // undefinedVal.ifAbsent(callback)
const val = Val.of('foo')
let tmp
const val2 = val.ifAbsent(() => {
tmp = 'bar'
})
console.log(val2) // { $value: 'foo' }
console.log(tmp) // undefinedconst val = Val.empty()
let tmp
const val2 = val.ifAbsent(() => {
tmp = 'bar'
})
console.log(val2) // { $value: null }
console.log(tmp) // barTerminal operation
Val.or(value)
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.orGet(callback)
const val = Val.of('foo')
const value = val.orGet(() => 'bar')
console.log(value) // fooconst val = Val.empty()
const value = val.orGet(() => 'bar')
console.log(value) // barVal.matches(callback)
const val = Val.of('foo')
console.log(val.matches(v => v === 'foo')) // trueconst val = Val.of('foo')
console.log(val.matches(v => v === 'bar')) // falseVal.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()) // true