index.js (1646B)
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 * Test whether an object contains a nested key path. 23 * 24 * @module @stdlib/assert/deep-has-own-property 25 * 26 * @example 27 * var deepHasOwnProp = require( '@stdlib/assert/deep-has-own-property' ); 28 * 29 * var obj = { 30 * 'a': { 31 * 'b': { 32 * 'c': 'd' 33 * } 34 * } 35 * }; 36 * 37 * var bool = deepHasOwnProp( obj, 'a.b.c' ); 38 * // returns true 39 * 40 * bool = deepHasOwnProp( obj, [ 'a', 'b', 'c' ] ); 41 * // returns true 42 * 43 * @example 44 * var factory = require( '@stdlib/assert/deep-has-own-property' ).factory; 45 * 46 * var has = factory( 'a/b/c', { 47 * 'sep': '/' 48 * }); 49 * 50 * var obj = { 51 * 'a': { 52 * 'b': { 53 * 'c': 'd' 54 * } 55 * } 56 * }; 57 * 58 * var bool = has( obj ); 59 * // returns true 60 */ 61 62 // MODULES // 63 64 var setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' ); 65 var deepHasOwnProp = require( './main.js' ); 66 var factory = require( './factory.js' ); 67 68 69 // MAIN // 70 71 setReadOnly( deepHasOwnProp, 'factory', factory ); 72 73 74 // EXPORTS // 75 76 module.exports = deepHasOwnProp;