/** * @license * Copyright 2019 Stephane M. Catala * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * Limitations under the License. */ import compose from '../' import log from './console' const tap = fn => v => (fn(v), v) const f = compose( tap(log('output:')), (s: string) => `${s.length}${s}`, (x: number) => '.'.repeat(x), x => 4 - x, tap(log('input:')) ) ;[0, 1, 2, 3, 4].forEach(f)