UNPKG

@donation-alerts/common

Version:

Common utils and types that are used in other @donation-alerts packages.

39 lines (38 loc) 1.12 kB
"use strict"; 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);