diff options
Diffstat (limited to 'app/assets/javascripts/content_editor/services/build_serializer_config.js')
-rw-r--r-- | app/assets/javascripts/content_editor/services/build_serializer_config.js | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/app/assets/javascripts/content_editor/services/build_serializer_config.js b/app/assets/javascripts/content_editor/services/build_serializer_config.js new file mode 100644 index 00000000000..75e2b0f9eba --- /dev/null +++ b/app/assets/javascripts/content_editor/services/build_serializer_config.js @@ -0,0 +1,22 @@ +const buildSerializerConfig = (extensions = []) => + extensions + .filter(({ serializer }) => serializer) + .reduce( + (serializers, { serializer, tiptapExtension: { name, type } }) => { + const collection = `${type}s`; + + return { + ...serializers, + [collection]: { + ...serializers[collection], + [name]: serializer, + }, + }; + }, + { + nodes: {}, + marks: {}, + }, + ); + +export default buildSerializerConfig; |