deno.land / x / rambda@v9.1.1 / source / getter.js

نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import { mergeRight } from './mergeRight.js'import { pick } from './pick.js'import { type } from './type.js'
let holder = {}
/** * Pass string to get value * Pass array to get object of values * Pass undefined to get all data */export function getter(key){ const typeKey = type(key)
if (typeKey === 'String') return holder[ key ]
if (typeKey === 'Array') return pick(key, holder)
return holder}
export function setter(maybeKey, maybeValue){ const typeKey = type(maybeKey) const typeValue = type(maybeValue)
if (typeKey === 'String'){ if (typeValue === 'Function'){ return holder[ maybeKey ] = maybeValue(holder[ maybeKey ]) }
return holder[ maybeKey ] = maybeValue }
if (typeKey !== 'Object') return
holder = mergeRight(holder, maybeKey)}
export function reset(){ holder = {}}
rambda

Version Info

Tagged at
2 months ago