|
33 | 33 | function minErr(module, ErrorConstructor) {
|
34 | 34 | ErrorConstructor = ErrorConstructor || Error;
|
35 | 35 | return function() {
|
36 |
| - var code = arguments[0], |
37 |
| - prefix = '[' + (module ? module + ':' : '') + code + '] ', |
38 |
| - template = arguments[1], |
39 |
| - templateArgs = arguments, |
| 36 | + var SKIP_INDEXES = 2; |
40 | 37 |
|
41 |
| - message, i; |
| 38 | + var templateArgs = arguments, |
| 39 | + code = templateArgs[0], |
| 40 | + message = '[' + (module ? module + ':' : '') + code + '] ', |
| 41 | + template = templateArgs[1], |
| 42 | + paramPrefix, i; |
42 | 43 |
|
43 |
| - message = prefix + template.replace(/\{\d+\}/g, function(match) { |
44 |
| - var index = +match.slice(1, -1), arg; |
| 44 | + message += template.replace(/\{\d+\}/g, function(match) { |
| 45 | + var index = +match.slice(1, -1), |
| 46 | + shiftedIndex = index + SKIP_INDEXES; |
45 | 47 |
|
46 |
| - if (index + 2 < templateArgs.length) { |
47 |
| - return toDebugString(templateArgs[index + 2]); |
| 48 | + if (shiftedIndex < templateArgs.length) { |
| 49 | + return toDebugString(templateArgs[shiftedIndex]); |
48 | 50 | }
|
| 51 | + |
49 | 52 | return match;
|
50 | 53 | });
|
51 | 54 |
|
52 |
| - message = message + '\nhttp://errors.angularjs.org/"NG_VERSION_FULL"/' + |
| 55 | + message += '\nhttp://errors.angularjs.org/"NG_VERSION_FULL"/' + |
53 | 56 | (module ? module + '/' : '') + code;
|
54 |
| - for (i = 2; i < arguments.length; i++) { |
55 |
| - message = message + (i == 2 ? '?' : '&') + 'p' + (i - 2) + '=' + |
56 |
| - encodeURIComponent(toDebugString(arguments[i])); |
| 57 | + |
| 58 | + for (i = SKIP_INDEXES, paramPrefix = '?'; i < templateArgs.length; i++, paramPrefix = '&') { |
| 59 | + message += paramPrefix + 'p' + (i - SKIP_INDEXES) + '=' + |
| 60 | + encodeURIComponent(toDebugString(templateArgs[i])); |
57 | 61 | }
|
| 62 | + |
58 | 63 | return new ErrorConstructor(message);
|
59 | 64 | };
|
60 | 65 | }
|
0 commit comments