popo

0.1.0 • Public • Published

popo Build Status

Simple way to implement polymorphism in javascript

Install

Install with npm:

npm install --save popo

Usage

There is only possible overload function by arguments number

var popo = require('popo');

var sayHello = popo({
    0: function () {
        return 'Hello Anonymous!';
    },
    1: function (name) {
        return 'Hello ' + name + '!';
    }
}, function otherWay () {
    return 'Do I need to say Hello?';
});

sayHello(); // 'Hello Anonymous!';
sayHello('Haruki'); // 'Hello Haruki!';
sayHello('Haruki', 'Murakami'); // 'Do I need to say Hello?';

TODO

  • overload by type
  • add browser support
  • better implementation of default function

Test

From the repo root:

npm test

License

Copyright (c) 2014 Ruslan Ismagilov. Licensed under the MIT license.

Package Sidebar

Install

npm i popo

Weekly Downloads

1

Version

0.1.0

License

none

Last publish

Collaborators

  • is_ruslan