A small script that enables you to make typos in JavaScript property names. Powered by ES6 proxies + Levenshtein string distance.
JavaScript
Latest commit 9f22b62 May 10, 2016 @mathiasbynens README: Remove `--harmony-proxies` flag
It’s no longer needed in Node.js v6+.
Failed to load latest commit information.
tests Release v2.0.0 May 10, 2016
.gitattributes Initial commit Nov 28, 2013
.gitignore Initial commit Nov 28, 2013
.travis.yml Release v2.0.0 May 10, 2016
LICENSE-MIT.txt Use HTTPS URLs where possible Nov 21, 2014
README.md README: Remove `--harmony-proxies` flag May 10, 2016
package.json Release v2.0.0 May 10, 2016
tpyo.js Release v2.0.0 May 10, 2016

README.md

tpyo Build status Dependency status

Ever wanted to use Math.SQUIRTLE instead of Math.SQRT2? Think Function.prototype.apple looks shinier than apply? Or do you prefer Array.prototype.faReech over forEach? Look no further — tpyo’s got your back.

tpyo (pronounced ‘typo’) is the result of combining the power of ES6 proxies with Levenshtein string distance. It’s a small script that enables you to make typos in JavaScript property names.

Installation

Via npm:

npm install tpyo

In Node.js v6+:

const tpyo = require('tpyo');

Examples

const array = tpyo(['a', 'b', 'c']);
array.lnegth;
// → `3`
array.tosTr1ng();
// → `'a,b,c'`
array.fap(function(item) {
    return item + item;
});
// → `['aa', 'bb', 'cc']`
array.poop();
// → `'cc'`
array.shit();
// → `'aa'`

const object = tpyo({
    'name': 'Leeroy Jenkins',
    'awesome': true
});
object.naem;
// → `'Leeroy Jenkins'`
object.awsum;
// → `true`

const math = tpyo(Math);
math.PIE;
// → `3.141592653589793`
math.squrt(4);
// → `2`

For more examples, see the tests. More examples welcome :)

Should I use this?

Nope. It’s just a fun example of what’s possible with ECMAScript 6 proxies.

Acknowledgements

Author

twitter/mathias
Mathias Bynens

License

tpyo is available under the MIT license.