index.js (1469B)
1 /** 2 * @license Apache-2.0 3 * 4 * Copyright (c) 2018 The Stdlib Authors. 5 * 6 * Licensed under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 */ 18 19 'use strict'; 20 21 /** 22 * Flatten an object. 23 * 24 * @module @stdlib/utils/flatten-object 25 * 26 * @example 27 * var flattenObject = require( '@stdlib/utils/flatten-object' ); 28 * 29 * var obj = {'a':{'b':{'c':'d'}}}; 30 * 31 * var out = flattenObject( obj ); 32 * // returns {'a.b.c':'d'} 33 * 34 * @example 35 * var flattenObject = require( '@stdlib/utils/flatten-object' ); 36 * 37 * var flatten = flattenObject.factory({ 38 * 'depth': 2, 39 * 'copy': true, 40 * 'delimiter': '|' 41 * }); 42 * 43 * var obj = {'a':{'b':{'c':'d'}}}; 44 * 45 * var out = flatten( obj ); 46 * // returns {'a|b':{'c':'d'}} 47 */ 48 49 // MODULES // 50 51 var setReadOnly = require( './../../define-nonenumerable-read-only-property' ); 52 var flattenObject = require( './flatten_object.js' ); 53 var factory = require( './factory.js' ); 54 55 56 // MAIN // 57 58 setReadOnly( flattenObject, 'factory', factory ); 59 60 61 // EXPORTS // 62 63 module.exports = flattenObject;