Files
doneit-web/.angular/cache/14.2.12/babel-webpack/5625a55dcea2b33d0157e62a395a0969.json
T
Eudes Inácio 53b71ea16f its working
2023-06-30 09:54:21 +01:00

1 line
24 KiB
JSON

{"ast":null,"code":"import { htmlTreeAsString } from './browser.js';\nimport { isError, isEvent, isInstanceOf, isElement, isPlainObject, isPrimitive } from './is.js';\nimport { truncate } from './string.js';\n\n/**\n * Replace a method in an object with a wrapped version of itself.\n *\n * @param source An object that contains a method to be wrapped.\n * @param name The name of the method to be wrapped.\n * @param replacementFactory A higher-order function that takes the original version of the given method and returns a\n * wrapped version. Note: The function returned by `replacementFactory` needs to be a non-arrow function, in order to\n * preserve the correct value of `this`, and the original method must be called using `origMethod.call(this, <other\n * args>)` or `origMethod.apply(this, [<other args>])` (rather than being called directly), again to preserve `this`.\n * @returns void\n */\nfunction fill(source, name, replacementFactory) {\n if (!(name in source)) {\n return;\n }\n var original = source[name];\n var wrapped = replacementFactory(original);\n\n // Make sure it's a function first, as we need to attach an empty prototype for `defineProperties` to work\n // otherwise it'll throw \"TypeError: Object.defineProperties called on non-object\"\n if (typeof wrapped === 'function') {\n try {\n markFunctionWrapped(wrapped, original);\n } catch (_Oo) {\n // This can throw if multiple fill happens on a global object like XMLHttpRequest\n // Fixes https://github.com/getsentry/sentry-javascript/issues/2043\n }\n }\n source[name] = wrapped;\n}\n\n/**\n * Defines a non-enumerable property on the given object.\n *\n * @param obj The object on which to set the property\n * @param name The name of the property to be set\n * @param value The value to which to set the property\n */\nfunction addNonEnumerableProperty(obj, name, value) {\n Object.defineProperty(obj, name, {\n // enumerable: false, // the default, so we can save on bundle size by not explicitly setting it\n value: value,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Remembers the original function on the wrapped function and\n * patches up the prototype.\n *\n * @param wrapped the wrapper function\n * @param original the original function that gets wrapped\n */\nfunction markFunctionWrapped(wrapped, original) {\n var proto = original.prototype || {};\n wrapped.prototype = original.prototype = proto;\n addNonEnumerableProperty(wrapped, '__sentry_original__', original);\n}\n\n/**\n * This extracts the original function if available. See\n * `markFunctionWrapped` for more information.\n *\n * @param func the function to unwrap\n * @returns the unwrapped version of the function if available.\n */\nfunction getOriginalFunction(func) {\n return func.__sentry_original__;\n}\n\n/**\n * Encodes given object into url-friendly format\n *\n * @param object An object that contains serializable values\n * @returns string Encoded\n */\nfunction urlEncode(object) {\n return Object.keys(object).map(key => `${encodeURIComponent(key)}=${encodeURIComponent(object[key])}`).join('&');\n}\n\n/**\n * Transforms any `Error` or `Event` into a plain object with all of their enumerable properties, and some of their\n * non-enumerable properties attached.\n *\n * @param value Initial source that we have to transform in order for it to be usable by the serializer\n * @returns An Event or Error turned into an object - or the value argurment itself, when value is neither an Event nor\n * an Error.\n */\nfunction convertToPlainObject(value) {\n if (isError(value)) {\n return {\n message: value.message,\n name: value.name,\n stack: value.stack,\n ...getOwnProperties(value)\n };\n } else if (isEvent(value)) {\n var newObj = {\n type: value.type,\n target: serializeEventTarget(value.target),\n currentTarget: serializeEventTarget(value.currentTarget),\n ...getOwnProperties(value)\n };\n if (typeof CustomEvent !== 'undefined' && isInstanceOf(value, CustomEvent)) {\n newObj.detail = value.detail;\n }\n return newObj;\n } else {\n return value;\n }\n}\n\n/** Creates a string representation of the target of an `Event` object */\nfunction serializeEventTarget(target) {\n try {\n return isElement(target) ? htmlTreeAsString(target) : Object.prototype.toString.call(target);\n } catch (_oO) {\n return '<unknown>';\n }\n}\n\n/** Filters out all but an object's own properties */\nfunction getOwnProperties(obj) {\n if (typeof obj === 'object' && obj !== null) {\n var extractedProps = {};\n for (var property in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, property)) {\n extractedProps[property] = obj[property];\n }\n }\n return extractedProps;\n } else {\n return {};\n }\n}\n\n/**\n * Given any captured exception, extract its keys and create a sorted\n * and truncated list that will be used inside the event message.\n * eg. `Non-error exception captured with keys: foo, bar, baz`\n */\nfunction extractExceptionKeysForMessage(exception, maxLength = 40) {\n var keys = Object.keys(convertToPlainObject(exception));\n keys.sort();\n if (!keys.length) {\n return '[object has no keys]';\n }\n if (keys[0].length >= maxLength) {\n return truncate(keys[0], maxLength);\n }\n for (let includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n var serialized = keys.slice(0, includedKeys).join(', ');\n if (serialized.length > maxLength) {\n continue;\n }\n if (includedKeys === keys.length) {\n return serialized;\n }\n return truncate(serialized, maxLength);\n }\n return '';\n}\n\n/**\n * Given any object, return a new object having removed all fields whose value was `undefined`.\n * Works recursively on objects and arrays.\n *\n * Attention: This function keeps circular references in the returned object.\n */\nfunction dropUndefinedKeys(inputValue) {\n // This map keeps track of what already visited nodes map to.\n // Our Set - based memoBuilder doesn't work here because we want to the output object to have the same circular\n // references as the input object.\n var memoizationMap = new Map();\n\n // This function just proxies `_dropUndefinedKeys` to keep the `memoBuilder` out of this function's API\n return _dropUndefinedKeys(inputValue, memoizationMap);\n}\nfunction _dropUndefinedKeys(inputValue, memoizationMap) {\n if (isPlainObject(inputValue)) {\n // If this node has already been visited due to a circular reference, return the object it was mapped to in the new object\n var memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal;\n }\n var returnValue = {};\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n for (var key of Object.keys(inputValue)) {\n if (typeof inputValue[key] !== 'undefined') {\n returnValue[key] = _dropUndefinedKeys(inputValue[key], memoizationMap);\n }\n }\n return returnValue;\n }\n if (Array.isArray(inputValue)) {\n // If this node has already been visited due to a circular reference, return the array it was mapped to in the new object\n var memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal;\n }\n var returnValue = [];\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n inputValue.forEach(item => {\n returnValue.push(_dropUndefinedKeys(item, memoizationMap));\n });\n return returnValue;\n }\n return inputValue;\n}\n\n/**\n * Ensure that something is an object.\n *\n * Turns `undefined` and `null` into `String`s and all other primitives into instances of their respective wrapper\n * classes (String, Boolean, Number, etc.). Acts as the identity function on non-primitives.\n *\n * @param wat The subject of the objectification\n * @returns A version of `wat` which can safely be used with `Object` class methods\n */\nfunction objectify(wat) {\n let objectified;\n switch (true) {\n case wat === undefined || wat === null:\n objectified = new String(wat);\n break;\n\n // Though symbols and bigints do have wrapper classes (`Symbol` and `BigInt`, respectively), for whatever reason\n // those classes don't have constructors which can be used with the `new` keyword. We therefore need to cast each as\n // an object in order to wrap it.\n case typeof wat === 'symbol' || typeof wat === 'bigint':\n objectified = Object(wat);\n break;\n\n // this will catch the remaining primitives: `String`, `Number`, and `Boolean`\n case isPrimitive(wat):\n objectified = new wat.constructor(wat);\n break;\n\n // by process of elimination, at this point we know that `wat` must already be an object\n default:\n objectified = wat;\n break;\n }\n return objectified;\n}\nexport { addNonEnumerableProperty, convertToPlainObject, dropUndefinedKeys, extractExceptionKeysForMessage, fill, getOriginalFunction, markFunctionWrapped, objectify, urlEncode };","map":{"version":3,"names":["htmlTreeAsString","isError","isEvent","isInstanceOf","isElement","isPlainObject","isPrimitive","truncate","fill","source","name","replacementFactory","original","wrapped","markFunctionWrapped","_Oo","addNonEnumerableProperty","obj","value","Object","defineProperty","writable","configurable","proto","prototype","getOriginalFunction","func","__sentry_original__","urlEncode","object","keys","map","key","encodeURIComponent","join","convertToPlainObject","message","stack","getOwnProperties","newObj","type","target","serializeEventTarget","currentTarget","CustomEvent","detail","toString","call","_oO","extractedProps","property","hasOwnProperty","extractExceptionKeysForMessage","exception","maxLength","sort","length","includedKeys","serialized","slice","dropUndefinedKeys","inputValue","memoizationMap","Map","_dropUndefinedKeys","memoVal","get","undefined","returnValue","set","Array","isArray","forEach","item","push","objectify","wat","objectified","String","constructor"],"sources":["C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/@sentry/utils/esm/object.js"],"sourcesContent":["import { htmlTreeAsString } from './browser.js';\nimport { isError, isEvent, isInstanceOf, isElement, isPlainObject, isPrimitive } from './is.js';\nimport { truncate } from './string.js';\n\n/**\n * Replace a method in an object with a wrapped version of itself.\n *\n * @param source An object that contains a method to be wrapped.\n * @param name The name of the method to be wrapped.\n * @param replacementFactory A higher-order function that takes the original version of the given method and returns a\n * wrapped version. Note: The function returned by `replacementFactory` needs to be a non-arrow function, in order to\n * preserve the correct value of `this`, and the original method must be called using `origMethod.call(this, <other\n * args>)` or `origMethod.apply(this, [<other args>])` (rather than being called directly), again to preserve `this`.\n * @returns void\n */\nfunction fill(source, name, replacementFactory) {\n if (!(name in source)) {\n return;\n }\n\n var original = source[name] ;\n var wrapped = replacementFactory(original) ;\n\n // Make sure it's a function first, as we need to attach an empty prototype for `defineProperties` to work\n // otherwise it'll throw \"TypeError: Object.defineProperties called on non-object\"\n if (typeof wrapped === 'function') {\n try {\n markFunctionWrapped(wrapped, original);\n } catch (_Oo) {\n // This can throw if multiple fill happens on a global object like XMLHttpRequest\n // Fixes https://github.com/getsentry/sentry-javascript/issues/2043\n }\n }\n\n source[name] = wrapped;\n}\n\n/**\n * Defines a non-enumerable property on the given object.\n *\n * @param obj The object on which to set the property\n * @param name The name of the property to be set\n * @param value The value to which to set the property\n */\nfunction addNonEnumerableProperty(obj, name, value) {\n Object.defineProperty(obj, name, {\n // enumerable: false, // the default, so we can save on bundle size by not explicitly setting it\n value: value,\n writable: true,\n configurable: true,\n });\n}\n\n/**\n * Remembers the original function on the wrapped function and\n * patches up the prototype.\n *\n * @param wrapped the wrapper function\n * @param original the original function that gets wrapped\n */\nfunction markFunctionWrapped(wrapped, original) {\n var proto = original.prototype || {};\n wrapped.prototype = original.prototype = proto;\n addNonEnumerableProperty(wrapped, '__sentry_original__', original);\n}\n\n/**\n * This extracts the original function if available. See\n * `markFunctionWrapped` for more information.\n *\n * @param func the function to unwrap\n * @returns the unwrapped version of the function if available.\n */\nfunction getOriginalFunction(func) {\n return func.__sentry_original__;\n}\n\n/**\n * Encodes given object into url-friendly format\n *\n * @param object An object that contains serializable values\n * @returns string Encoded\n */\nfunction urlEncode(object) {\n return Object.keys(object)\n .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(object[key])}`)\n .join('&');\n}\n\n/**\n * Transforms any `Error` or `Event` into a plain object with all of their enumerable properties, and some of their\n * non-enumerable properties attached.\n *\n * @param value Initial source that we have to transform in order for it to be usable by the serializer\n * @returns An Event or Error turned into an object - or the value argurment itself, when value is neither an Event nor\n * an Error.\n */\nfunction convertToPlainObject(\n value,\n)\n\n {\n if (isError(value)) {\n return {\n message: value.message,\n name: value.name,\n stack: value.stack,\n ...getOwnProperties(value),\n };\n } else if (isEvent(value)) {\n var newObj\n\n = {\n type: value.type,\n target: serializeEventTarget(value.target),\n currentTarget: serializeEventTarget(value.currentTarget),\n ...getOwnProperties(value),\n };\n\n if (typeof CustomEvent !== 'undefined' && isInstanceOf(value, CustomEvent)) {\n newObj.detail = value.detail;\n }\n\n return newObj;\n } else {\n return value;\n }\n}\n\n/** Creates a string representation of the target of an `Event` object */\nfunction serializeEventTarget(target) {\n try {\n return isElement(target) ? htmlTreeAsString(target) : Object.prototype.toString.call(target);\n } catch (_oO) {\n return '<unknown>';\n }\n}\n\n/** Filters out all but an object's own properties */\nfunction getOwnProperties(obj) {\n if (typeof obj === 'object' && obj !== null) {\n var extractedProps = {};\n for (var property in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, property)) {\n extractedProps[property] = (obj )[property];\n }\n }\n return extractedProps;\n } else {\n return {};\n }\n}\n\n/**\n * Given any captured exception, extract its keys and create a sorted\n * and truncated list that will be used inside the event message.\n * eg. `Non-error exception captured with keys: foo, bar, baz`\n */\nfunction extractExceptionKeysForMessage(exception, maxLength = 40) {\n var keys = Object.keys(convertToPlainObject(exception));\n keys.sort();\n\n if (!keys.length) {\n return '[object has no keys]';\n }\n\n if (keys[0].length >= maxLength) {\n return truncate(keys[0], maxLength);\n }\n\n for (let includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n var serialized = keys.slice(0, includedKeys).join(', ');\n if (serialized.length > maxLength) {\n continue;\n }\n if (includedKeys === keys.length) {\n return serialized;\n }\n return truncate(serialized, maxLength);\n }\n\n return '';\n}\n\n/**\n * Given any object, return a new object having removed all fields whose value was `undefined`.\n * Works recursively on objects and arrays.\n *\n * Attention: This function keeps circular references in the returned object.\n */\nfunction dropUndefinedKeys(inputValue) {\n // This map keeps track of what already visited nodes map to.\n // Our Set - based memoBuilder doesn't work here because we want to the output object to have the same circular\n // references as the input object.\n var memoizationMap = new Map();\n\n // This function just proxies `_dropUndefinedKeys` to keep the `memoBuilder` out of this function's API\n return _dropUndefinedKeys(inputValue, memoizationMap);\n}\n\nfunction _dropUndefinedKeys(inputValue, memoizationMap) {\n if (isPlainObject(inputValue)) {\n // If this node has already been visited due to a circular reference, return the object it was mapped to in the new object\n var memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal ;\n }\n\n var returnValue = {};\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n\n for (var key of Object.keys(inputValue)) {\n if (typeof inputValue[key] !== 'undefined') {\n returnValue[key] = _dropUndefinedKeys(inputValue[key], memoizationMap);\n }\n }\n\n return returnValue ;\n }\n\n if (Array.isArray(inputValue)) {\n // If this node has already been visited due to a circular reference, return the array it was mapped to in the new object\n var memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal ;\n }\n\n var returnValue = [];\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n\n inputValue.forEach((item) => {\n returnValue.push(_dropUndefinedKeys(item, memoizationMap));\n });\n\n return returnValue ;\n }\n\n return inputValue;\n}\n\n/**\n * Ensure that something is an object.\n *\n * Turns `undefined` and `null` into `String`s and all other primitives into instances of their respective wrapper\n * classes (String, Boolean, Number, etc.). Acts as the identity function on non-primitives.\n *\n * @param wat The subject of the objectification\n * @returns A version of `wat` which can safely be used with `Object` class methods\n */\nfunction objectify(wat) {\n let objectified;\n switch (true) {\n case wat === undefined || wat === null:\n objectified = new String(wat);\n break;\n\n // Though symbols and bigints do have wrapper classes (`Symbol` and `BigInt`, respectively), for whatever reason\n // those classes don't have constructors which can be used with the `new` keyword. We therefore need to cast each as\n // an object in order to wrap it.\n case typeof wat === 'symbol' || typeof wat === 'bigint':\n objectified = Object(wat);\n break;\n\n // this will catch the remaining primitives: `String`, `Number`, and `Boolean`\n case isPrimitive(wat):\n objectified = new (wat ).constructor(wat);\n break;\n\n // by process of elimination, at this point we know that `wat` must already be an object\n default:\n objectified = wat;\n break;\n }\n return objectified;\n}\n\nexport { addNonEnumerableProperty, convertToPlainObject, dropUndefinedKeys, extractExceptionKeysForMessage, fill, getOriginalFunction, markFunctionWrapped, objectify, urlEncode };\n"],"mappings":"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"},"metadata":{},"sourceType":"module"}