Last active
August 29, 2015 13:56
-
-
Save psulek/9253129 to your computer and use it in GitHub Desktop.
Revisions
-
psulek renamed this gist
Feb 27, 2014 . 1 changed file with 0 additions and 0 deletions.There are no files selected for viewing
File renamed without changes. -
psulek revised this gist
Feb 27, 2014 . 2 changed files with 0 additions and 10 deletions.There are no files selected for viewing
File renamed without changes.This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,10 +0,0 @@ -
psulek created this gist
Feb 27, 2014 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,10 @@ <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>JS Bin</title> </head> <body> </body> </html> This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,48 @@ var States; (function (States) { States[States["New"] = 1] = "New"; States[States["Active"] = 2] = "Active"; States[States["Disabled"] = 3] = "Disabled"; })(States || (States = {})); Object.prototype.enumEqual = function(enumType, enumItem) { debugger; var isNum = function(v) { return !isNaN(parseInt(v)); }; var enumValueToCompare = enumItem; var thisIsNumber = isNum(this); if (thisIsNumber) { if (!isNum(enumItem)) // enumItem is NOT number enumValueToCompare = enumType[enumItem]; } else{ // this is NOT number if (isNum(enumItem)) { // enumItem IS number var enumMember = enumType[enumItem]; if (!isNum(enumMember)) // enumMember is NOT number enumValueToCompare = enumMember; } else { // do nothing (same as default: enumValueToCompare = enumItem) } } return this == enumValueToCompare; }; var result = ''; result += "Active".enumEqual(States, States[States.Active]) + ' | '; result += "Active".enumEqual(States, States.Active) + ' | '; result += "Active".enumEqual(States, 2) + ' | '; result += "Active".enumEqual(States, "Active") + ' | '; result += States.Active.enumEqual(States, "Active") + ' | '; var num = 2; result += num.enumEqual(States, States[States.Active]) + ' | '; result += num.enumEqual(States, States.Active) + ' | '; result += num.enumEqual(States, 2) + ' | '; result += num.enumEqual(States, "Active") + ' | '; alert(result);