blog.bouzuya.net

2019-11-23 bouzuya/beater-matcher 0.1.0 をつくった / 相楽園に行った

bouzuya/beater-matcher 0.1.0 をつくった。

テスト用の matcher を提供する npm package 。たとえば { abc: anyNumber() } という matcher が { abc: 123 } に match する。そういうもの。 chancancode/json_expressions かな。ああいうのが TypeScript でほしくて試しにつくってみた。既にありそうだけどあまり探していない。

match(value: unknown, matcher: unknown): boolean を提供している。基本的に値がそのまま matcher として機能するようにしている。なので↓がなりたつ。

import assert from 'assert';
import { match } from 'beater-matcher';

const value = /* ... */;
assert(match(value, value));

↑で挙げた anyNumber() のような事前に定義している matcher のほか defineMatcher() で独自に定義できる。

import assert from 'assert';
import { defineMatcher, match } from 'beater-matcher';

const matcher = defineMatcher(
  (value: unknown): boolean => {
    return typeof value === 'string' && value.startsWith('ABC');
  }
);
assert(match('ABCDEF', matcher));

使いやすいかどうかはまだ使っていないので分からない。


相楽園に行った。 2017-05-27 にも行った。前回は緑だったが今回は赤だった。紅葉の季節だ。菊の展示をしていた。相変わらず狭い空間にぎゅっと詰め込んであった。体力がないので助かる。


『 IT 』を観た。