export default { copyOptions: function (options: Record<string, unknown>) { const copy: Record<string, unknown> = {}; for (const key in options) { if (Object.prototype.hasOwnProperty.call(options, key)) { copy[key] = options[key]; } } return copy; },
ensureFlagExists: function (item: string, options: Record<string, unknown>) { if (!(item in options) || typeof options[item] !== "boolean") { options[item] = false; } },
ensureSpacesExists: function (options: Record<string, unknown>) { if ( !("spaces" in options) || (typeof options.spaces !== "number" && typeof options.spaces !== "string") ) { options.spaces = 0; } },
ensureAlwaysArrayExists: function (options: Record<string, unknown>) { if ( !("alwaysArray" in options) || (typeof options.alwaysArray !== "boolean" && !Array.isArray(options.alwaysArray)) ) { options.alwaysArray = false; } },
ensureKeyExists: function (key: string, options: Record<string, unknown>) { if (!(key + "Key" in options) || typeof options[key + "Key"] !== "string") { options[key + "Key"] = options.compact ? "_" + key : key; } },};