Skip to content

Instantly share code, notes, and snippets.

@gtrabanco
Last active May 2, 2021 22:49
Show Gist options
  • Save gtrabanco/1f9aaac355e4cdd3a4acd38f08661795 to your computer and use it in GitHub Desktop.
Save gtrabanco/1f9aaac355e4cdd3a4acd38f08661795 to your computer and use it in GitHub Desktop.
Solving Index Signature in Typescript for dynamic object property names
/**
* In this case this function convert an objest to url query params
*/
const object2UrlParameters = (objectValues:object): string => {
let returnedParams:string = ''
Object.getOwnPropertyNames(objectValues).forEach((paramName) => {
let key = paramName as keyof object //Avoiding Index Signature
let value = objectValues[key]
returnedParams = `${returnedParams}&${paramName}=${value}`
})
return returnedParams.slice(1)
}
//Example
console.log(object2UrlParameters({foo: "baz", number: 2}))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment