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

GitHub - yuzumone/ipaddr: Dart library for using to create/poke/manipulate IPv4 and IPv6 addresses and networks.

Dart library for using to create/poke/manipulate IPv4 and IPv6 addresses and networks. - …

github.com favicon image github.com

ipaddr | Dart package

This library is used to create/poke/manipulate IPv4 and IPv6 addresses and networks.

pub.dev favicon image pub.dev

モチベーション

生活していると「あーこのアドレスがこのセグメント内かどうか調べたいわー」となることが多いと思います. これまでは 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 で検索してからいけそうだったのでそのライブラリ名にしたんですが,管理されていないのは名前が完全一致していてもトップに表示されないみたいです. ぴえん.