'use strict'; const { cppdb } = require('../util'); module.exports = function serialize(options) { if (options == null) options = {}; // Validate arguments if (typeof options !== 'object') throw new TypeError('Expected first argument to be an options object'); // Interpret and validate options const attachedName = 'attached' in options ? options.attached : 'main'; if (typeof attachedName !== 'string') throw new TypeError('Expected the "attached" option to be a string'); if (!attachedName) throw new TypeError('The "attached" option cannot be an empty string'); return this[cppdb].serialize(attachedName); };