RegExpObjectSerializer.js 711 B

12345678910111213141516171819202122232425262728
  1. /*
  2. MIT License http://www.opensource.org/licenses/mit-license.php
  3. */
  4. "use strict";
  5. /** @typedef {import("./ObjectMiddleware").ObjectDeserializerContext} ObjectDeserializerContext */
  6. /** @typedef {import("./ObjectMiddleware").ObjectSerializerContext} ObjectSerializerContext */
  7. class RegExpObjectSerializer {
  8. /**
  9. * @param {RegExp} obj regexp
  10. * @param {ObjectSerializerContext} context context
  11. */
  12. serialize(obj, context) {
  13. context.write(obj.source);
  14. context.write(obj.flags);
  15. }
  16. /**
  17. * @param {ObjectDeserializerContext} context context
  18. * @returns {RegExp} regexp
  19. */
  20. deserialize(context) {
  21. return new RegExp(context.read(), context.read());
  22. }
  23. }
  24. module.exports = RegExpObjectSerializer;