UNPKG

surreal

Version:

Map javascript object property names to aliases for optimal serialized document storage

41 lines 1.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Surreal = void 0; var tslib_1 = require("tslib"); var serializer_1 = require("./serializer"); function Surreal(transformer) { var args = []; for (var _i = 1; _i < arguments.length; _i++) { args[_i - 1] = arguments[_i]; } var serializer; if (typeof (transformer) === 'function') { serializer = new (transformer.bind.apply(transformer, tslib_1.__spreadArrays([void 0], args)))(); } else if (transformer instanceof Array) { var props = transformer; serializer = new serializer_1.ArraySerializer(props); } else { var map = transformer; var useMappedPropertyName = args[0]; serializer = new serializer_1.MapSerializer(map, useMappedPropertyName); } return { serializer: serializer, serializable: function (target) { if (!target) target = function fresh() { return; }; target.prototype.toJSON = function () { return serializer.serialize(this); }; target.prototype.fromJSON = function (record) { serializer.deserialize(record, this); return this; }; return target; } }; } exports.Surreal = Surreal; //# sourceMappingURL=index.js.map