jj 0.1.1 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +36 -7
- package/lib/WC.d.ts +45 -0
- package/lib/WC.js +118 -0
- package/lib/WC.js.map +1 -0
- package/lib/WDF.d.ts +11 -0
- package/lib/WDF.js +31 -0
- package/lib/WDF.js.map +1 -0
- package/lib/WE.d.ts +43 -0
- package/lib/WE.js +133 -0
- package/lib/WE.js.map +1 -0
- package/lib/WHE.d.ts +21 -0
- package/lib/WHE.js +75 -0
- package/lib/WHE.js.map +1 -0
- package/lib/WN-mixin.d.ts +9 -0
- package/lib/WN-mixin.js +59 -0
- package/lib/WN-mixin.js.map +1 -0
- package/lib/WN.d.ts +34 -0
- package/lib/WN.js +145 -0
- package/lib/WN.js.map +1 -0
- package/lib/WSH.d.ts +11 -0
- package/lib/WSH.js +29 -0
- package/lib/WSH.js.map +1 -0
- package/lib/WT.d.ts +12 -0
- package/lib/WT.js +39 -0
- package/lib/WT.js.map +1 -0
- package/lib/bundle.js +706 -0
- package/lib/bundle.js.map +7 -0
- package/lib/bundle.min.js +2 -0
- package/lib/case.d.ts +3 -0
- package/lib/case.js +34 -0
- package/lib/case.js.map +1 -0
- package/lib/case.test.d.ts +1 -0
- package/lib/case.test.js +79 -0
- package/lib/case.test.js.map +1 -0
- package/lib/h.d.ts +3 -0
- package/lib/h.js +9 -0
- package/lib/h.js.map +1 -0
- package/lib/index.d.ts +11 -0
- package/lib/index.js +12 -0
- package/lib/index.js.map +1 -0
- package/lib/util.d.ts +4 -0
- package/lib/util.js +11 -0
- package/lib/util.js.map +1 -0
- package/package.json +56 -26
- package/CSS.js +0 -145
- package/Router.js +0 -89
- package/Selector.js +0 -175
- package/Tag.js +0 -827
- package/control.js +0 -74
- package/dist/jj.js +0 -1580
- package/dist/jj.js.gz +0 -0
- package/dist/jj.min.js +0 -1
- package/dist/jj.min.js.gz +0 -0
- package/dist/jj.min.js.map +0 -1
- package/events.js +0 -16
- package/index.js +0 -26
- package/observer.js +0 -27
- package/rollup.config.js +0 -25
- package/unit.js +0 -78
- package/util.js +0 -153
- package/win.js +0 -11
package/control.js
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { isFn, isNum } from './util.js'
|
|
2
|
-
|
|
3
|
-
function parseRangeArguments(arr) {
|
|
4
|
-
if (arr.length < 2) {
|
|
5
|
-
throw new TypeError(`Expected at least 2 arguments but got ${arr}`)
|
|
6
|
-
}
|
|
7
|
-
if (!isNum(arr[0])) {
|
|
8
|
-
throw new TypeError(`The first argument must be a number but got ${arr[0]}`)
|
|
9
|
-
}
|
|
10
|
-
if (isFn(arr[1])) {
|
|
11
|
-
// range(end, fn, ...extraParams)
|
|
12
|
-
const [ end, fn, ...extraParams ] = arr
|
|
13
|
-
return { start: 0, end, step: 1, fn, extraParams }
|
|
14
|
-
} else if (isFn(arr[2])) {
|
|
15
|
-
// range(start, end, fn, ...extraParams)
|
|
16
|
-
const [ start, end, fn, ...extraParams ] = arr
|
|
17
|
-
return { start, end, step: 1, fn, extraParams }
|
|
18
|
-
} else if (isFn(arr[3])) {
|
|
19
|
-
// // range(start, end, step, fn, ...extraParams)
|
|
20
|
-
const [ start, end, step, fn, ...extraParams ] = arr
|
|
21
|
-
return { start, end, step, fn, extraParams }
|
|
22
|
-
}
|
|
23
|
-
throw new TypeError(`Which function do you want to run? Got ${arr}`)
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export const control = {
|
|
27
|
-
/**
|
|
28
|
-
* @remark if inside the function you need to refer to the tag (exposed as `this`), just remember
|
|
29
|
-
* to use a classic function instead of an arrow function
|
|
30
|
-
*/
|
|
31
|
-
if(condition, fn, ...extraParams) {
|
|
32
|
-
if (condition) {
|
|
33
|
-
return this.run(fn, ...extraParams)
|
|
34
|
-
}
|
|
35
|
-
return this
|
|
36
|
-
},
|
|
37
|
-
|
|
38
|
-
forEach(arr, fn, ...extraParams) {
|
|
39
|
-
arr.forEach(item => {
|
|
40
|
-
this.run(fn, item, ...extraParams)
|
|
41
|
-
})
|
|
42
|
-
|
|
43
|
-
return this
|
|
44
|
-
},
|
|
45
|
-
|
|
46
|
-
times(n, fn, ...extraParams) {
|
|
47
|
-
return this.range(1, n + 1, 1, fn, ...extraParams)
|
|
48
|
-
},
|
|
49
|
-
|
|
50
|
-
// range(start, end, step, fn, ...extraParams)
|
|
51
|
-
// range(start, end, fn, ...extraParams) // step = 1
|
|
52
|
-
// range(end, fn, ...extraParams) // start = 0, step = 1
|
|
53
|
-
range() {
|
|
54
|
-
const { start, end, step, fn, extraParams } = parseRangeArguments(Array.from(arguments))
|
|
55
|
-
if (!isNum(start) || !isNum(end) || !isNum(step)) {
|
|
56
|
-
throw new TypeError(`Expected numbers but got: start=${start}, end=${end}, step=${step}`)
|
|
57
|
-
}
|
|
58
|
-
if (step === 0) {
|
|
59
|
-
throw new Error(`The step cannot be zero`)
|
|
60
|
-
}
|
|
61
|
-
if ((start < end && step < 0) || (start > end && step > 0)) {
|
|
62
|
-
throw new Error(`This loop will never end: start=${start}, end=${end}, step=${step}`)
|
|
63
|
-
}
|
|
64
|
-
for (let i = start; i < end; i += step) {
|
|
65
|
-
this.run(fn, i, ...extraParams)
|
|
66
|
-
}
|
|
67
|
-
return this
|
|
68
|
-
},
|
|
69
|
-
|
|
70
|
-
run(fn, ...extraParams) {
|
|
71
|
-
fn.call(this, this, ...extraParams)
|
|
72
|
-
return this
|
|
73
|
-
},
|
|
74
|
-
}
|