/** * Copyright (c) 2017-present A. Matías Quezada */ /** * Adds and removes properties from an object. * Passed value is not modified, a new object is returned. * The returned object will have it's properties sorted aphabetically. * * @param {Object} object Original object from where properties will be omitted or added. * @param {Array} omit A list of properties to omit from the original object in the result object. * @param {Object} add Object with properties to add to the returned object. This will behave as Object.assign. * @returns {Object} A new object with the final properties sorted alphabetically. */ export default function editObject(object: T, omit?: Array, add?: U): Partial & U; declare global { interface ObjectConstructor { keys(object: T): (keyof T)[]; } } export {};