UNPKG

@berish/serber

Version:

Serializable and deserializable adaptive adapter with plugins

53 lines 4.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function withParamsPlugin(plugin, beforeParams, afterParams) { if (!plugin) return null; beforeParams = beforeParams || {}; afterParams = afterParams || {}; if (Object.keys(beforeParams).length <= 0 && Object.keys(afterParams).length <= 0) return plugin; return { isForSerialize: plugin.isForSerialize && ((obj, params) => plugin.isForSerialize(obj, Object.assign(Object.assign(Object.assign({}, beforeParams), params), afterParams))), isForDeserialize: plugin.isForDeserialize && ((obj, params) => plugin.isForDeserialize(obj, Object.assign(Object.assign(Object.assign({}, beforeParams), params), afterParams))), isForSerializeAsync: plugin.isForSerializeAsync && ((obj, params) => plugin.isForSerializeAsync(obj, Object.assign(Object.assign(Object.assign({}, beforeParams), params), afterParams))), isForDeserializeAsync: plugin.isForDeserializeAsync && ((obj, params) => plugin.isForDeserializeAsync(obj, Object.assign(Object.assign(Object.assign({}, beforeParams), params), afterParams))), serialize: plugin.serialize && ((obj, params) => plugin.serialize(obj, Object.assign(Object.assign(Object.assign({}, beforeParams), params), afterParams))), deserialize: plugin.deserialize && ((obj, params) => plugin.deserialize(obj, Object.assign(Object.assign(Object.assign({}, beforeParams), params), afterParams))), serializeAsync: plugin.serializeAsync && ((obj, params) => plugin.serializeAsync(obj, Object.assign(Object.assign(Object.assign({}, beforeParams), params), afterParams))), deserializeAsync: plugin.deserializeAsync && ((obj, params) => plugin.deserializeAsync(obj, Object.assign(Object.assign(Object.assign({}, beforeParams), params), afterParams))), beforeSerialize: plugin.beforeSerialize && ((obj, params) => plugin.beforeSerialize(obj, Object.assign(Object.assign(Object.assign({}, beforeParams), params), afterParams))), beforeSerializeAsync: plugin.beforeSerializeAsync && ((obj, params) => plugin.beforeSerializeAsync(obj, Object.assign(Object.assign(Object.assign({}, beforeParams), params), afterParams))), beforeDeserialize: plugin.beforeDeserialize && ((obj, params) => plugin.beforeDeserialize(obj, Object.assign(Object.assign(Object.assign({}, beforeParams), params), afterParams))), beforeDeserializeAsync: plugin.beforeDeserializeAsync && ((obj, params) => plugin.beforeDeserializeAsync(obj, Object.assign(Object.assign(Object.assign({}, beforeParams), params), afterParams))), afterSerialize: plugin.afterSerialize && ((obj, params) => plugin.afterSerialize(obj, Object.assign(Object.assign(Object.assign({}, beforeParams), params), afterParams))), afterSerializeAsync: plugin.afterSerializeAsync && ((obj, params) => plugin.afterSerializeAsync(obj, Object.assign(Object.assign(Object.assign({}, beforeParams), params), afterParams))), afterDeserialize: plugin.afterDeserialize && ((obj, params) => plugin.afterDeserialize(obj, Object.assign(Object.assign(Object.assign({}, beforeParams), params), afterParams))), afterDeserializeAsync: plugin.afterDeserializeAsync && ((obj, params) => plugin.afterDeserializeAsync(obj, Object.assign(Object.assign(Object.assign({}, beforeParams), params), afterParams))), isAlreadySerialized: plugin.isAlreadySerialized && ((obj, params) => plugin.isAlreadySerialized(obj, Object.assign(Object.assign(Object.assign({}, beforeParams), params), afterParams))), isAlreadyDeserialized: plugin.isAlreadyDeserialized && ((obj, params) => plugin.isAlreadyDeserialized(obj, Object.assign(Object.assign(Object.assign({}, beforeParams), params), afterParams))), isAlreadySerializedAsync: plugin.isAlreadySerializedAsync && ((obj, params) => plugin.isAlreadySerializedAsync(obj, Object.assign(Object.assign(Object.assign({}, beforeParams), params), afterParams))), isAlreadyDeserializedAsync: plugin.isAlreadyDeserializedAsync && ((obj, params) => plugin.isAlreadyDeserializedAsync(obj, Object.assign(Object.assign(Object.assign({}, beforeParams), params), afterParams))), }; } exports.withParamsPlugin = withParamsPlugin; //# sourceMappingURL=withParamsPlugin.js.map