3.0.1 • Published 2 years ago

ch4o v3.0.1

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

ch4o

Basic NATIVE js utils

r

r recursively tranverse an object. it provides hooks on each data node, let you to get or modify nodeValue you interested there are two search algorithms: depth-first(DFS) & breadth-first(BFS), use diffrent way to get particular nodes easier.

example:

import {r, BFS, DFS} from 'ch4o';
const o = {a: [2,1]};

function watcher(prop, value) {
    console.log(prop, value);
    return value;
}
const maxDepth = 2;
r(o, watcher, DFS, maxDepth);

TPL

TPL is a template generator

import {TPL, ID, IF, ENDIF, ELSE} from 'ch4o';

const tpl = TPL`Hello ${IF('name')} tpl ${ELSE} ${ID('name')} world${ENDIF}`;

const str = tpl({name: 'ch4o'});
console.log(str);

TaskChain

TaskChain calls task sequence in order, passing result value from one to next, and return the final value Task can be async, you can use either async/await or Promise

import {TaskChain, Task} from 'ch4o';

function inc(src, len = 1) {
    return new Promise((resolve, reject) => {
        setTimeout(() => resolve(src + len), 500);
        console.log(src,len);
    });
}
function toString(value, radix = 10) {
    return +value.toString(radix);
}

const tc = new TaskChain([
    inc,
    new Task(toString, 16),
    new class extends Task {
        name = 'inline'
        exec(value){
            return value + '.';
        }
    },
    new LastTask
]);
let res = await tc.exec(253);

exec

Excecute a string of js expression and return its result

import {exec} from 'ch4o';
console.log(exec('1 + 1')); // 2

// With host values
console.log(exec('1 + a', {a: 2})); // 3
3.0.1

2 years ago

3.0.0

2 years ago

3.0.1-0

2 years ago

2.2.1

3 years ago

2.2.2

2 years ago

2.0.3

3 years ago

2.2.0

3 years ago

2.0.2

3 years ago

2.0.1

3 years ago

2.1.0

3 years ago

2.0.0

3 years ago

1.2.8

3 years ago

1.2.7

3 years ago

1.2.6

3 years ago

1.2.5

3 years ago

1.2.4

3 years ago

1.2.9

3 years ago

1.2.12

3 years ago

1.2.13

3 years ago

1.2.10

3 years ago

1.2.11

3 years ago

1.2.3

3 years ago

1.2.2

3 years ago

1.2.0

3 years ago

1.2.1

3 years ago

1.1.27

4 years ago

1.1.26

4 years ago

1.1.25

4 years ago

1.1.23

4 years ago

1.1.22

4 years ago

1.1.24

4 years ago

1.1.21

4 years ago

1.1.18

4 years ago

1.1.20

4 years ago

1.1.17

4 years ago

1.1.16

4 years ago

1.1.15

4 years ago

1.1.14

4 years ago

1.1.13

4 years ago

1.1.12

4 years ago

1.1.11

4 years ago

1.1.10

4 years ago

1.0.10-2

4 years ago

1.0.10-1

4 years ago

1.0.10-0

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3-0

4 years ago

1.0.3

4 years ago

1.0.2-0

4 years ago

1.0.1-0

4 years ago

1.0.0

4 years ago