File tree Expand file tree Collapse file tree 5 files changed +65
-0
lines changed Expand file tree Collapse file tree 5 files changed +65
-0
lines changed Original file line number Diff line number Diff line change 1+ export function greaterThan ( base : number ) {
2+ return ( toTest : number ) => toTest > base ;
3+ }
4+
5+ export function greaterThanOrEqual ( base : number ) {
6+ return ( toTest : number ) => toTest >= base ;
7+ }
8+
9+ export function greaterThanParameter ( toTest : number , base : number ) {
10+ if ( ! greaterThanParameter . checkers . has ( base ) ) {
11+ greaterThanParameter . checkers . set ( base , greaterThan ( base ) ) ;
12+ }
13+
14+ const checker = greaterThanParameter . checkers . get ( base ) ! ;
15+
16+ return checker ( toTest ) ;
17+ }
18+
19+ greaterThanParameter . checkers = new Map < number , ( number : number ) => boolean > ( ) ;
Original file line number Diff line number Diff line change 1+ import { } from "./repeat.ts" ;
2+ import { } from "./greater_than.ts" ;
3+ import { } from "./noisy.ts" ;
Original file line number Diff line number Diff line change 1+ // deno-lint-ignore-file no-explicit-any
2+
3+ export function noisy < T extends ( ...args : any ) => any > (
4+ func : T ,
5+ { mute } = { mute : false } ,
6+ ) {
7+ return ( ...args : Parameters < T > ) => {
8+ if ( ! mute ) {
9+ console . log ( `Calling "${ func . name ?? "" } " with args: ${ args } .` ) ;
10+ }
11+
12+ // const result = func(...args);
13+
14+ const result = func . apply ( undefined , args ) ;
15+
16+ if ( ! mute ) {
17+ console . log ( `Result: ${ result } .` ) ;
18+ }
19+
20+ return result as ReturnType < T > ;
21+ } ;
22+ }
Original file line number Diff line number Diff line change 1+ export function repeat < T extends ( ...args : any ) => any > (
2+ times : number ,
3+ action : T ,
4+ ) {
5+ const results = [ ] ;
6+
7+ for ( let i = 0 ; i < times ; i ++ ) {
8+ const result = action ( i ) ;
9+
10+ results . push ( result as ReturnType < T > ) ;
11+ }
12+
13+ return results ;
14+ }
Original file line number Diff line number Diff line change 1+ // deno-lint-ignore-file no-explicit-any
2+
3+ export function unless < T extends ( ...params : any [ ] ) => any > ( test : T , then : T ) {
4+ if ( test ( ) ) {
5+ return then ( ) as ReturnType < T > ;
6+ }
7+ }
You can’t perform that action at this time.
0 commit comments