Skip to content

Instantly share code, notes, and snippets.

@abner
Created May 23, 2016 20:58
Show Gist options
  • Select an option

  • Save abner/7fbd33ac4ee292514b1191ef3441faa1 to your computer and use it in GitHub Desktop.

Select an option

Save abner/7fbd33ac4ee292514b1191ef3441faa1 to your computer and use it in GitHub Desktop.
Typescript - Runtime Methods
interface MusicKeyboard {
playC(): string;
}
function addMusicKeyboardMethods(object: Object): MusicKeyboard {
Object.defineProperties(object, {
"playC": function() {
return "Playing C on Keyboard";
}
});
return <MusicKeyboard>object;
}
let a: Object = {};
let aWrappedAsMusicKeyboard: MusicKeyboard = addMusicKeyboardMethods(a);
aWrappedAsMusicKeyboard.playC();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment