Skip to content

Instantly share code, notes, and snippets.

@xjamundx
Created June 30, 2017 01:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save xjamundx/1e0999392457c20c2d768ac98449888f to your computer and use it in GitHub Desktop.
Save xjamundx/1e0999392457c20c2d768ac98449888f to your computer and use it in GitHub Desktop.
// no types
function getFields(fields) {
return fields.reduce((prev, curr) => (prev[curr] = curr, prev), {})
}
// no return type
function getFields(fields: Array<string>) {
return fields.reduce((prev, curr) => (prev[curr] = curr, prev), {})
}
// generic string: string mapping
function getFields(fields: Array<string>): { [key: string]: string } {
return fields.reduce((prev, curr) => (prev[curr] = curr, prev), {})
}
// TODO: figure out how to get a return type that understands the strings
// When `getFields(['a', 'b'])` then the return type should be `{ a: string, b: string }`
function getFields(fields: Array<string>) {
return fields.reduce((prev, curr) => (prev[curr] = curr, prev), {})
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment