JSON Virtual Network
Thought I'd make a networking system to go along with my other project https://npmjs.org/jvfs , to utilize networks, and ip addresses, hosts (jvfs objects), etc.
Functions:
var net=jvnet();
net{
del (name) = delete network by name
create () = create a network and return the {name} of it
link (ip,name) = link an ip to the name of a network
unlink (ip) = unlink an ip from a network name
hexip (hex) = get ip version of hex
iphex (ip) = get hex version of ip
ipname (ip) = get network name ip is linked to
gen_ip (static={1:&i,2:&i,3:&i,4:&i},limit={1:[&i,&i],2:[&i,&i],3:[&i,&i],4:[&i,&i]}) = generate an ip with rules
[
static, makes either of the 1st,2nd,3rd,4th octets stay the same
limit, sets random int limits for supplied octets, 1:[0,255] means the first octet is randomized between 0 and 255
returns an ip with specified {static} and {limit} rules
]
list{
ip () = get list of ips in net
name () = get list of network name in net
}
get{
ip (ip) = get a network object by ip (only valid if the ip was linked to name)
hex (hex) = get network object by hex (only vlid if ip version of the hex was linked to name)
name (name) = get network object by its name
}
check{
ip (ip) = check if ip exists
hex (hex) = check if ip version of hex exists
name (name) = check if network name exists
}
}
var network=net.get.(ip/hex/name);
network{
hosts{
create (ip) = create a host on the network with supplied ip
list () = list all hosts/ips on a network
get{
get_fs{
get the https://npmjs.org/jvfs object from a host
}
put_fs (https://npmjs.org/jvfs object) = overwrite the fs of the host
}
del (ip) = delete host by ip on a network
check (ip) = check if ip/host on network exists
}
main{
set (ip) = set the main host to be accessed on network
del () = delete the main host config
get () = get the main ip that is set up
}
}