6.10.109 • Published 10 months ago

@diotoborg/fuga-nihil v6.10.109

Weekly downloads
-
License
MIT
Repository
github
Last release
10 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

10 months ago

6.10.109

10 months ago

6.10.107

10 months ago

6.9.107

10 months ago

6.9.106

10 months ago

6.9.105

10 months ago

6.9.104

10 months ago

6.9.103

10 months ago

6.9.102

10 months ago

5.9.102

10 months ago

5.9.101

10 months ago

5.9.100

10 months ago

5.9.99

10 months ago

5.9.98

10 months ago

5.9.97

10 months ago

4.9.97

10 months ago

4.9.96

10 months ago

4.9.95

10 months ago

4.9.94

10 months ago

4.9.93

10 months ago

4.9.92

10 months ago

4.9.91

10 months ago

4.9.90

10 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

11 months ago

4.8.85

11 months ago

4.8.84

11 months ago

4.8.83

11 months ago

4.8.82

11 months ago

3.8.82

11 months ago

3.8.81

11 months ago

3.8.80

11 months ago

3.8.79

11 months ago

3.8.78

11 months ago

3.8.77

11 months ago

3.8.76

11 months ago

3.8.75

11 months ago

3.8.74

11 months ago

3.8.73

11 months ago

3.8.72

11 months ago

3.8.71

11 months ago

3.8.70

11 months ago

3.8.69

11 months ago

3.8.68

11 months ago

3.8.67

11 months ago

3.8.66

11 months ago

3.8.65

11 months ago

3.8.64

11 months ago

2.8.64

11 months ago

2.8.63

11 months ago

2.8.62

12 months ago

2.8.61

12 months ago

2.7.61

12 months ago

2.7.60

12 months ago

2.7.59

12 months ago

2.6.59

12 months ago

2.6.58

12 months ago

2.6.57

12 months ago

2.6.56

12 months ago

2.6.55

12 months ago

2.6.54

12 months ago

2.6.53

12 months ago

2.6.52

12 months ago

2.6.51

12 months ago

2.6.50

12 months ago

2.6.49

12 months ago

2.6.48

12 months ago

2.6.47

12 months ago

2.6.46

12 months ago

2.5.46

12 months 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