tpyo
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
- Kudos to @gf3, whose excellent implementation of the Levenshtein string difference algorithm is being used in tpyo.
- Shout-out to
-ot
.♥
Author
Mathias Bynens |
License
tpyo is available under the MIT license.