Skip to content

Instantly share code, notes, and snippets.

@OmerShapira
Created January 27, 2014 18:12
Show Gist options
  • Save OmerShapira/8654205 to your computer and use it in GitHub Desktop.
Save OmerShapira/8654205 to your computer and use it in GitHub Desktop.
Javascript swizzle generator for Ryan.js
function generateSwizzles (){
var allSwizzles = [];
var perm = function(list, ret){
if (list.length == 0) {
var swizzleMember = ret.join('') + " : [" + ret.join(',') + ']'
allSwizzles.push(swizzleMember);
return;
}
for (var i = 0; i < list.length; i++) {
var x = list.splice(i, 1);
ret.push(x);
perm(list, ret);
ret.pop();
list.splice(i, 0, x);
}
};
perm(['x', 'y', 'z', 'w'], []);
var swizzleObjectString = "{" + allSwizzles.join(',\n') + "}";
return swizzleObjectString;
//instead of returning you can then write "eval(swizzleObjectString)" and you're set
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment