@donation-alerts/common
Version:
Common utils and types that are used in other @donation-alerts packages.
39 lines (38 loc) • 1.12 kB
JavaScript
;
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DataObject = exports.rawDataSymbol = void 0;
exports.getRawData = getRawData;
const tslib_1 = require("tslib");
const shared_utils_1 = require("@stimulcross/shared-utils");
const klona_1 = require("klona");
/** @internal */
exports.rawDataSymbol = Symbol('donationAlertsRawData');
/**
* Retrieves a deep clone of the raw data of the given `DataObject` instance.
*
* @param data The `DataObject` instance from which to obtain the raw data.
*
* @returns A deep-cloned copy of the raw data stored within the given data object.
*
* @example
* ```ts
* const rawData = getRawData(myDataObject);
* console.log(rawData); // Logs the raw data
* ```
*/
function getRawData(data) {
return (0, klona_1.klona)(data[exports.rawDataSymbol]);
}
/** @internal */
class DataObject {
/** @internal */
constructor(data) {
this[exports.rawDataSymbol] = data;
}
}
exports.DataObject = DataObject;
_a = exports.rawDataSymbol;
tslib_1.__decorate([
shared_utils_1.nonenumerable
], DataObject.prototype, _a, void 0);