| | |
| | | var $ = require('../internals/export'); |
| | | var uncurryThis = require('../internals/function-uncurry-this'); |
| | | var hiddenKeys = require('../internals/hidden-keys'); |
| | | var isObject = require('../internals/is-object'); |
| | | var hasOwn = require('../internals/has-own-property'); |
| | | var defineProperty = require('../internals/object-define-property').f; |
| | | var getOwnPropertyNamesModule = require('../internals/object-get-own-property-names'); |
| | | var getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external'); |
| | | var isExtensible = require('../internals/object-is-extensible'); |
| | | var uid = require('../internals/uid'); |
| | | var FREEZING = require('../internals/freezing'); |
| | | |
| | | var REQUIRED = false; |
| | | var METADATA = uid('meta'); |
| | | var id = 0; |
| | | |
| | | // eslint-disable-next-line es/no-object-isextensible -- safe |
| | | var isExtensible = Object.isExtensible || function () { |
| | | return true; |
| | | }; |
| | | |
| | | var setMetadata = function (it) { |
| | | defineProperty(it, METADATA, { value: { |
| | |
| | | meta.enable = function () { /* empty */ }; |
| | | REQUIRED = true; |
| | | var getOwnPropertyNames = getOwnPropertyNamesModule.f; |
| | | var splice = [].splice; |
| | | var splice = uncurryThis([].splice); |
| | | var test = {}; |
| | | test[METADATA] = 1; |
| | | |
| | |
| | | var result = getOwnPropertyNames(it); |
| | | for (var i = 0, length = result.length; i < length; i++) { |
| | | if (result[i] === METADATA) { |
| | | splice.call(result, i, 1); |
| | | splice(result, i, 1); |
| | | break; |
| | | } |
| | | } return result; |