UNPKG

@nova-odm/auto-marshaller

Version:

A data marshaller that converts JavaScript types into Amazon DynamoDB AttributeValues

61 lines (60 loc) 2.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NumberValueSet = void 0; var tslib_1 = require("tslib"); var ObjectSet_1 = require("./ObjectSet"); var NumberValue_1 = require("./NumberValue"); /** * A set of numeric values represented internally as NumberValue objects. * Equality is determined by the string representation of the number and not by * the identity or data type of the provided value. */ var NumberValueSet = /** @class */ (function (_super) { tslib_1.__extends(NumberValueSet, _super); function NumberValueSet() { return _super !== null && _super.apply(this, arguments) || this; } /** * @inheritDoc * * If a number or string is provided, it will be converted to a NumberValue * object. */ NumberValueSet.prototype.add = function (value) { if (typeof value === 'number' || typeof value === 'string') { value = new NumberValue_1.NumberValue(value); } _super.prototype.add.call(this, value); return this; }; NumberValueSet.prototype.delete = function (value) { var valueString = value.toString(); var scrubbedValues = this._values .filter(function (item) { return item.toString() !== valueString; }); var numRemoved = this._values.length - scrubbedValues.length; this._values = scrubbedValues; return numRemoved > 0; }; NumberValueSet.prototype.has = function (value) { var e_1, _a; var valueString = value.toString(); try { for (var _b = tslib_1.__values(this), _c = _b.next(); !_c.done; _c = _b.next()) { var item = _c.value; if (item.toString() === valueString) { return true; } } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (_c && !_c.done && (_a = _b.return)) _a.call(_b); } finally { if (e_1) throw e_1.error; } } return false; }; return NumberValueSet; }(ObjectSet_1.ObjectSet)); exports.NumberValueSet = NumberValueSet;