6.10.109 • Published 11 months ago

@diotoborg/fuga-nihil v6.10.109

Weekly downloads
-
License
MIT
Repository
github
Last release
11 months ago

@diotoborg/fuga-nihil

Safely flatten a nested JavaScript object.

NPM

Commitizen friendly js-standard-style Build Coverage Known Vulnerabilities

Installation

$ npm i @diotoborg/fuga-nihil

Methods

flatten(obj, delimiter)

Flattens an object to one level deep. Optionally takes a custom delimiter, otherwise uses . by default. Circular references within the object will be replaced with [Circular].

const { flatten } = require('@diotoborg/fuga-nihil')

const original = {
    a: {
        b: {
            c: [{
                val: 'one'
            }, {
                val: 'two'
            }],
            d: 'three'
        },
        e: 'four',
    }
}
original.a.b.f = original.a.b
original.a.b.c.push(original.a)

const flat = flatten(original)
/*
{
  'a.b.c.0.val': 'one',
  'a.b.c.1.val': 'two',
  'a.b.c.2': '[Circular]',
  'a.b.d': 'three',
  'a.e': 'four',
  'a.b.f': '[Circular]'
}
*/

const underscoreFlat = flatten(original, '_')
/*
{
  'a_b_c_0_val': 'one',
  'a_b_c_1_val': 'two',
  'a_b_c_2': '[Circular]',
  'a_b_d': 'three',
  'a_e': 'four',
  'a_b_f': '[Circular]'
}
*/

unflatten(obj, delimiter)

Unflattens an object back to its original nested form. Optionally takes a custom delimiter, otherwise uses . by default. Circular references denoted by [Circular] are treated as Strings.

const { unflatten } = require('@diotoborg/fuga-nihil')

const original = {
    'a.b.c.0.val': 'one',
    'a.b.c.1.val': 'two',
    'a.b.c.2': '[Circular]',
    'a.b.d': 'three',
    'a.e': 'four',
    'a.b.f': '[Circular]'
}


const unflat = unflatten(original)

/*{
  a:{
    b:{
      c:[
        {
          val:'one'
        },
        {
          val:'two'
        },
        '[Circular]'
      ],
      d:'three',
      f:'[Circular]'
    },
    e:'four'
  }
}*/
6.10.108

11 months ago

6.10.109

11 months ago

6.10.107

11 months ago

6.9.107

11 months ago

6.9.106

11 months ago

6.9.105

11 months ago

6.9.104

11 months ago

6.9.103

11 months ago

6.9.102

11 months ago

5.9.102

11 months ago

5.9.101

11 months ago

5.9.100

11 months ago

5.9.99

11 months ago

5.9.98

11 months ago

5.9.97

11 months ago

4.9.97

11 months ago

4.9.96

11 months ago

4.9.95

11 months ago

4.9.94

11 months ago

4.9.93

11 months ago

4.9.92

11 months ago

4.9.91

11 months ago

4.9.90

11 months ago

4.9.89

11 months ago

4.8.89

11 months ago

4.8.88

11 months ago

4.8.87

11 months ago

4.8.86

12 months ago

4.8.85

12 months ago

4.8.84

12 months ago

4.8.83

12 months ago

4.8.82

12 months ago

3.8.82

12 months ago

3.8.81

12 months ago

3.8.80

12 months ago

3.8.79

12 months ago

3.8.78

12 months ago

3.8.77

12 months ago

3.8.76

12 months ago

3.8.75

12 months ago

3.8.74

12 months ago

3.8.73

12 months ago

3.8.72

12 months ago

3.8.71

12 months ago

3.8.70

12 months ago

3.8.69

12 months ago

3.8.68

12 months ago

3.8.67

1 year ago

3.8.66

1 year ago

3.8.65

1 year ago

3.8.64

1 year ago

2.8.64

1 year ago

2.8.63

1 year ago

2.8.62

1 year ago

2.8.61

1 year ago

2.7.61

1 year ago

2.7.60

1 year ago

2.7.59

1 year ago

2.6.59

1 year ago

2.6.58

1 year ago

2.6.57

1 year ago

2.6.56

1 year ago

2.6.55

1 year ago

2.6.54

1 year ago

2.6.53

1 year ago

2.6.52

1 year ago

2.6.51

1 year ago

2.6.50

1 year ago

2.6.49

1 year ago

2.6.48

1 year ago

2.6.47

1 year ago

2.6.46

1 year ago

2.5.46

1 year ago

2.5.45

1 year ago

2.5.44

1 year ago

2.5.43

1 year ago

2.5.42

1 year ago

2.5.41

1 year ago

2.5.40

1 year ago

2.5.39

1 year ago

2.5.38

1 year ago

2.4.38

1 year ago

2.3.38

1 year ago

2.2.38

1 year ago

2.2.37

1 year ago

2.2.36

1 year ago

2.2.35

1 year ago

2.2.34

1 year ago

2.2.33

1 year ago

2.2.32

1 year ago

2.2.31

1 year ago

2.2.30

1 year ago

2.2.29

1 year ago

1.2.29

1 year ago

1.2.28

1 year ago

1.2.27

1 year ago

1.2.26

1 year ago

1.2.25

1 year ago

1.2.24

1 year ago

1.2.23

1 year ago

1.2.22

1 year ago

1.1.22

1 year ago

1.1.21

1 year ago

1.1.20

1 year ago

1.1.19

1 year ago

1.1.18

1 year ago

1.1.17

1 year ago

1.1.16

1 year ago

1.0.16

1 year ago

1.0.15

1 year ago

1.0.14

1 year ago

1.0.13

1 year ago

1.0.12

1 year ago

1.0.11

1 year ago

1.0.10

1 year ago

1.0.9

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago