I created a Dart library that simplifies working with IP addresses

Photo by Alexandru Acea on Unsplash

Dart で ipaddress をいい感じにするライブラリを作りました.

yuzumone/ipaddr

ipaddr | Dart Package

モチベーション

生活していると「あーこのアドレスがこのセグメント内かどうか調べたいわー」となることが多いと思います.
これまでは Python でやることが多かったのですが,Dart でやりたい欲がふつふつと湧いてきました.
軽く見た感じ Python の ipaddress 相当のものがなさそうだったので作りました.

使い方

Readme の通りですが.

import 'package:ipaddr/ipaddr.dart' as ipaddr;

main() {
  var address = ipaddr.IPv4Address('192.168.10.10');
  var network = ipaddr.IPv4Network('192.168.10.0/24');
  if (network.addresses.contains(address)) {
    print('${address} is included ${network}');
    // 192.168.10.10 is included 192.168.10.0/24
  }
}

ライブラリを公開してみて

Maven とかと比べるとめっちゃ楽です.
やることは以下のコマンドだけ.

pub publish --dry-run
pub publish

注意点としては dry-run はパッケージ名の重複は見てくれないというところです.
成功したからいける~と思ったらできなくてひどい目にあいました.
一応 pub.dev で検索してからいけそうだったのでそのライブラリ名にしたんですが,管理されていないのは名前が完全一致していてもトップに表示されないみたいです.
ぴえん.