Tuple to Object
Given an array, transform it into an object type and the key/value must be in the provided array.
For example:
tsconsttuple = ['tesla', 'model 3', 'model X', 'model Y'] asconst typeCannot find name 'TupleToObject'.2304Cannot find name 'TupleToObject'.Result =<typeof TupleToObject tuple > // expected { 'tesla': 'tesla', 'model 3': 'model 3', 'model X': 'model X', 'model Y': 'model Y'}
tsconsttuple = ['tesla', 'model 3', 'model X', 'model Y'] asconst typeCannot find name 'TupleToObject'.2304Cannot find name 'TupleToObject'.Result =<typeof TupleToObject tuple > // expected { 'tesla': 'tesla', 'model 3': 'model 3', 'model X': 'model X', 'model Y': 'model Y'}
Solution ✅
tsconsttuple = ['tesla', 'model 3', 'model X', 'model Y'] asconst typeTupleToObject <T extends readonly any[]> = {[P inT [number]]:P }typeResult =TupleToObject <typeoftuple > // expected { 'tesla': 'tesla', 'model 3': 'model 3', 'model X': 'model X', 'model Y': 'model Y'}
tsconsttuple = ['tesla', 'model 3', 'model X', 'model Y'] asconst typeTupleToObject <T extends readonly any[]> = {[P inT [number]]:P }typeResult =TupleToObject <typeoftuple > // expected { 'tesla': 'tesla', 'model 3': 'model 3', 'model X': 'model X', 'model Y': 'model Y'}