"use strict"; const rules = require("./rules"); module.exports = { type: function (oldType, newType) { return { forward: rules.types[oldType].losslessConversionTo[newType], backward: rules.types[newType].losslessConversionTo[oldType], }; }, attribute: function (attribute, oldValue, newValue) { let canTransformForward = rules.attributes[attribute].isLossless(oldValue, newValue); let canTransformBackward = rules.attributes[attribute].isLossless(newValue, oldValue); return { forward: (canTransformForward) ? rules.attributes[attribute].losslessTransformer : undefined, backward: (canTransformBackward) ? rules.attributes[attribute].losslessTransformer : undefined, }; } };