执行过npm install命令的vue-element-admin源码
康凯
2022-05-20 aa4c235a8ca67ea8b731f90c951a465e92c0a865
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*
    ## Parser
 
    解析数据模板(属性名部分)。
 
    * Parser.parse( name )
        
        ```json
        {
            parameters: [ name, inc, range, decimal ],
            rnage: [ min , max ],
 
            min: min,
            max: max,
            count : count,
 
            decimal: decimal,
            dmin: dmin,
            dmax: dmax,
            dcount: dcount
        }
        ```
 */
 
var Constant = require('./constant')
var Random = require('./random/')
 
/* jshint -W041 */
module.exports = {
    parse: function(name) {
        name = name == undefined ? '' : (name + '')
 
        var parameters = (name || '').match(Constant.RE_KEY)
 
        var range = parameters && parameters[3] && parameters[3].match(Constant.RE_RANGE)
        var min = range && range[1] && parseInt(range[1], 10) // || 1
        var max = range && range[2] && parseInt(range[2], 10) // || 1
            // repeat || min-max || 1
            // var count = range ? !range[2] && parseInt(range[1], 10) || Random.integer(min, max) : 1
        var count = range ? !range[2] ? parseInt(range[1], 10) : Random.integer(min, max) : undefined
 
        var decimal = parameters && parameters[4] && parameters[4].match(Constant.RE_RANGE)
        var dmin = decimal && decimal[1] && parseInt(decimal[1], 10) // || 0,
        var dmax = decimal && decimal[2] && parseInt(decimal[2], 10) // || 0,
            // int || dmin-dmax || 0
        var dcount = decimal ? !decimal[2] && parseInt(decimal[1], 10) || Random.integer(dmin, dmax) : undefined
 
        var result = {
            // 1 name, 2 inc, 3 range, 4 decimal
            parameters: parameters,
            // 1 min, 2 max
            range: range,
            min: min,
            max: max,
            // min-max
            count: count,
            // 是否有 decimal
            decimal: decimal,
            dmin: dmin,
            dmax: dmax,
            // dmin-dimax
            dcount: dcount
        }
 
        for (var r in result) {
            if (result[r] != undefined) return result
        }
 
        return {}
    }
}