1.0.3 • Published 10 years ago

fonksiyon v1.0.3

Weekly downloads
3
License
MIT
Repository
github
Last release
10 years ago

Fonksiyon

Simplest Function Overloading

How can i install?

npm install fonksiyon

Pros

  • Fast
  • Small
  • YES Optional parameters..

Cons

  • No Grouped parameters (it will come soon. string, number, string)
  • No continous parameters (it will come soon. string, number...)

We are working for the cons..

Supported Types

  • string
  • number
  • array
  • object
  • function
  • null or undefined (represented as null)
  • any (represented as can get any param)
  • own classes

How can i use this

var fonksiyon = require("fonksiyon");
var sayhello = fonksiyon({
	"string": function (who) {
		console.log("Hello " + who);
	}, 
	"string, string": function(guy, guy2) {
		console.log("Welcome back " + guy + " and " + guy2 + " :)");
	}
});

sayhello("furkan");
sayhello("fatma", "kadir")

Console output;

Hello furkan
Welcome back fatma and kadir :)

More?

var fonksiyon = require("fonksiyon");


function Person(name) {
	this.name = name;
}
/*
                             _________________________________
                            |   you must put name to function |
                            |_________________________________|
                            |
                            v
var person = new function Person(name) {
*/

var sayhello = fonksiyon({
	"Person": function(person) {
		console.log("Hello " + person.name);
	}, 
	"string": function (who) {
		console.log("Hello " + who);
	}, 
	"string, string": function(guy, guy2) {
		console.log("Welcome back " + guy + " and " + guy2 + " :)");
	}, 
	"Person, Person": function(guy, guy2) {
		console.log("Welcome back " + guy.name + " and " + guy2.name + " :)");
	}
});

var me = new Person("dogan");
var him = new Person("some guy");
sayHello(me, him);

Optional parameters

use * statement for making optional parameter

var opt = fonksiyon({
	"string, *number": function(str, num) {
		num || (num = 5);
		console.log(str, num);
	}
});

Empty parameters

use null statement for making empty parameter

var emptyparam = fonksiyon({
	null: function() {
		//no param
	}
});

Any parameters

use any statement for allow all parameters

var anyparam = fonksiyon({
	"string, any": function(str, something) {
		
	}
});
1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago