2013-10-09 1 views
0

Я ищу библиотеку сериализации для node.jsпакет узлов, который поддерживает сериализацию функций?

Объект JS изначально сериализуется JSON, за исключением функций. В любом случае мне также нужна сериализация функций. Это не для обмена данными. Я просто хочу сохранить свою программу, написанную в узле REPL, как форму изображения. (вы можете себе представить изображение Smalltalk)

Так что мне нужна очень надежная реализация сериализации функций. Функции должны храниться в форме исходного кода.

Какую упаковку я могу использовать для этой цели? Или я должен бросить один сам?

+1

Функции не единственное, что не поддерживается JSON, а также даты, регулярные выражения и другие встроенные объекты, прототип цепи, круговые ссылки и замыкания. Таким образом, вам лучше по-настоящему реализовать только те части, которые вам действительно нужны. – vkurchatkin

ответ

2

Вызов toString на функцию даст вам действительный исходный код для функции. Возможно, это не исходный исходный код (например, комментарии удалены). Вы не можете решить проблему потери состояния закрытия, поэтому ваша функция не может ссылаться на любые переменные, которые она не определяет сама или не определяется как аргументы. Вы можете воссоздать функцию, используя new Function(str)