mathiasbynens / tpyo

A small script that enables you to make typos in JavaScript property names. Powered by ES2015 proxies + Levenshtein string distance.
https://mths.be/tpyo
MIT License
206 stars 6 forks source link

tpyo Build 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 ES2015 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.rap((item) => 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 2015 proxies.

Acknowledgements

Author

twitter/mathias
Mathias Bynens

License

tpyo is available under the MIT license.