RxJS의 pipe
를 흉내내서 뭔가 만들고 있는데, pipe
안에 들어가는 함수가 operation oriented가 되도록 유도한다. 즉, x.pipe(f(y))
가 f(y,x)
로 해석되어야하니, f
는 data oriented가 아닌 operation oriented가 되어야하는 것이다. 근데, 나도 일반적으로 operation oriented를 선호하긴하지만 JS의 관례는 그게 아니다. 그래서 f
를 pipe
를 통해서 쓰지 않을 경우에 어떤 사람들은 생소하게 느낄거 같다. 나는 x
가 this
처럼 사용되고(data oriented), pipe
는 메소드 확장의 역할을 맡게 하고 싶다.
어떻게 하는게 맞을까?