hyb
2025-05-14 87453ffd761425b9f363a09a0f8fe07d770cb325
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
'use strict';
 
exports.__esModule = true;
 
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) {
    return typeof obj;
} : function (obj) {
    return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
};
 
exports.default = function (Vue) {
 
    /**
     * template
     *
     * @param {String} string
     * @param {Array} ...args
     * @return {String}
     */
 
    function template(string) {
        for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
            args[_key - 1] = arguments[_key];
        }
 
        if (args.length === 1 && _typeof(args[0]) === 'object') {
            args = args[0];
        }
 
        if (!args || !args.hasOwnProperty) {
            args = {};
        }
 
        return string.replace(RE_NARGS, function (match, prefix, i, index) {
            var result = void 0;
 
            if (string[index - 1] === '{' && string[index + match.length] === '}') {
                return i;
            } else {
                result = (0, _util.hasOwn)(args, i) ? args[i] : null;
                if (result === null || result === undefined) {
                    return '';
                }
 
                return result;
            }
        });
    }
 
    return template;
};
 
var _util = require('element-ui/lib/utils/util');
 
var RE_NARGS = /(%|)\{([0-9a-zA-Z_]+)\}/g;
/**
 *  String format template
 *  - Inspired:
 *    https://github.com/Matt-Esch/string-template/index.js
 */