| Total Complexity | 88 |
| Complexity/F | 2.51 |
| Lines of Code | 255 |
| Function Count | 35 |
| Duplicated Lines | 210 |
| Ratio | 82.35 % |
| Changes | 0 | ||
Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.
Common duplication problems, and corresponding solutions are:
Complex classes like public/js/modernizr.js often do a lot of different things. To break such a class down, we need to identify a cohesive component within that class. A common approach to find such a component is to look for fields/methods that share the same prefixes, or suffixes.
Once you have determined the fields that belong together, you can apply the Extract Class refactoring. If the component makes sense as a sub-class, Extract Subclass is also a candidate, and is often faster.
| 1 | View Code Duplication | /******/ (function(modules) { // webpackBootstrap |
|
|
|
|||
| 2 | /******/ // The module cache |
||
| 3 | /******/ var installedModules = {}; |
||
| 4 | /******/ |
||
| 5 | /******/ // The require function |
||
| 6 | /******/ function __webpack_require__(moduleId) { |
||
| 7 | /******/ |
||
| 8 | /******/ // Check if module is in cache |
||
| 9 | /******/ if(installedModules[moduleId]) { |
||
| 10 | /******/ return installedModules[moduleId].exports; |
||
| 11 | /******/ } |
||
| 12 | /******/ // Create a new module (and put it into the cache) |
||
| 13 | /******/ var module = installedModules[moduleId] = { |
||
| 14 | /******/ i: moduleId, |
||
| 15 | /******/ l: false, |
||
| 16 | /******/ exports: {} |
||
| 17 | /******/ }; |
||
| 18 | /******/ |
||
| 19 | /******/ // Execute the module function |
||
| 20 | /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); |
||
| 21 | /******/ |
||
| 22 | /******/ // Flag the module as loaded |
||
| 23 | /******/ module.l = true; |
||
| 24 | /******/ |
||
| 25 | /******/ // Return the exports of the module |
||
| 26 | /******/ return module.exports; |
||
| 27 | /******/ } |
||
| 28 | /******/ |
||
| 29 | /******/ |
||
| 30 | /******/ // expose the modules object (__webpack_modules__) |
||
| 31 | /******/ __webpack_require__.m = modules; |
||
| 32 | /******/ |
||
| 33 | /******/ // expose the module cache |
||
| 34 | /******/ __webpack_require__.c = installedModules; |
||
| 35 | /******/ |
||
| 36 | /******/ // define getter function for harmony exports |
||
| 37 | /******/ __webpack_require__.d = function(exports, name, getter) { |
||
| 38 | /******/ if(!__webpack_require__.o(exports, name)) { |
||
| 39 | /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); |
||
| 40 | /******/ } |
||
| 41 | /******/ }; |
||
| 42 | /******/ |
||
| 43 | /******/ // define __esModule on exports |
||
| 44 | /******/ __webpack_require__.r = function(exports) { |
||
| 45 | /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { |
||
| 46 | /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); |
||
| 47 | /******/ } |
||
| 48 | /******/ Object.defineProperty(exports, '__esModule', { value: true }); |
||
| 49 | /******/ }; |
||
| 50 | /******/ |
||
| 51 | /******/ // create a fake namespace object |
||
| 52 | /******/ // mode & 1: value is a module id, require it |
||
| 53 | /******/ // mode & 2: merge all properties of value into the ns |
||
| 54 | /******/ // mode & 4: return value when already ns object |
||
| 55 | /******/ // mode & 8|1: behave like require |
||
| 56 | /******/ __webpack_require__.t = function(value, mode) { |
||
| 57 | /******/ if(mode & 1) value = __webpack_require__(value); |
||
| 58 | /******/ if(mode & 8) return value; |
||
| 59 | /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; |
||
| 60 | /******/ var ns = Object.create(null); |
||
| 61 | /******/ __webpack_require__.r(ns); |
||
| 62 | /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); |
||
| 63 | /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); |
||
| 64 | /******/ return ns; |
||
| 65 | /******/ }; |
||
| 66 | /******/ |
||
| 67 | /******/ // getDefaultExport function for compatibility with non-harmony modules |
||
| 68 | /******/ __webpack_require__.n = function(module) { |
||
| 69 | /******/ var getter = module && module.__esModule ? |
||
| 70 | /******/ function getDefault() { return module['default']; } : |
||
| 71 | /******/ function getModuleExports() { return module; }; |
||
| 72 | /******/ __webpack_require__.d(getter, 'a', getter); |
||
| 73 | /******/ return getter; |
||
| 74 | /******/ }; |
||
| 75 | /******/ |
||
| 76 | /******/ // Object.prototype.hasOwnProperty.call |
||
| 77 | /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; |
||
| 78 | /******/ |
||
| 79 | /******/ // __webpack_public_path__ |
||
| 80 | /******/ __webpack_require__.p = "/"; |
||
| 81 | /******/ |
||
| 82 | /******/ |
||
| 83 | /******/ // Load entry module and return exports |
||
| 84 | /******/ return __webpack_require__(__webpack_require__.s = 3); |
||
| 85 | /******/ }) |
||
| 86 | /************************************************************************/ |
||
| 87 | /******/ ({ |
||
| 88 | |||
| 89 | /***/ "./resources/assets/js/modernizr.js": |
||
| 90 | /*!******************************************!*\ |
||
| 91 | !*** ./resources/assets/js/modernizr.js ***! |
||
| 92 | \******************************************/ |
||
| 93 | /*! no static exports found */ |
||
| 94 | /***/ (function(module, exports) { |
||
| 95 | |||
| 96 | function _typeof2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); } |
||
| 97 | |||
| 98 | function _typeof(obj) { |
||
| 99 | if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") { |
||
| 100 | _typeof = function _typeof(obj) { |
||
| 101 | return _typeof2(obj); |
||
| 102 | }; |
||
| 103 | } else { |
||
| 104 | _typeof = function _typeof(obj) { |
||
| 105 | return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof2(obj); |
||
| 106 | }; |
||
| 107 | } |
||
| 108 | |||
| 109 | return _typeof(obj); |
||
| 110 | } |
||
| 111 | /*! modernizr 3.5.0 (Custom Build) | MIT * |
||
| 112 | * https://modernizr.com/download/?-emoji-svg-touchevents-setclasses !*/ |
||
| 113 | |||
| 114 | |||
| 115 | View Code Duplication | !function (e, t, n) { |
|
| 116 | function o(e, t) { |
||
| 117 | return _typeof(e) === t; |
||
| 118 | } |
||
| 119 | |||
| 120 | function a() { |
||
| 121 | var e, t, n, a, s, i, r; |
||
| 122 | |||
| 123 | for (var l in c) { |
||
| 124 | if (c.hasOwnProperty(l)) { |
||
| 125 | if (e = [], t = c[l], t.name && (e.push(t.name.toLowerCase()), t.options && t.options.aliases && t.options.aliases.length)) for (n = 0; n < t.options.aliases.length; n++) { |
||
| 126 | e.push(t.options.aliases[n].toLowerCase()); |
||
| 127 | } |
||
| 128 | |||
| 129 | for (a = o(t.fn, "function") ? t.fn() : t.fn, s = 0; s < e.length; s++) { |
||
| 130 | i = e[s], r = i.split("."), 1 === r.length ? Modernizr[r[0]] = a : (!Modernizr[r[0]] || Modernizr[r[0]] instanceof Boolean || (Modernizr[r[0]] = new Boolean(Modernizr[r[0]])), Modernizr[r[0]][r[1]] = a), f.push((a ? "" : "no-") + r.join("-")); |
||
| 131 | } |
||
| 132 | } |
||
| 133 | } |
||
| 134 | } |
||
| 135 | |||
| 136 | function s(e) { |
||
| 137 | var t = u.className, |
||
| 138 | n = Modernizr._config.classPrefix || ""; |
||
| 139 | |||
| 140 | if (p && (t = t.baseVal), Modernizr._config.enableJSClass) { |
||
| 141 | var o = new RegExp("(^|\\s)" + n + "no-js(\\s|$)"); |
||
| 142 | t = t.replace(o, "$1" + n + "js$2"); |
||
| 143 | } |
||
| 144 | |||
| 145 | Modernizr._config.enableClasses && (t += " " + n + e.join(" " + n), p ? u.className.baseVal = t : u.className = t); |
||
| 146 | } |
||
| 147 | |||
| 148 | function i() { |
||
| 149 | return "function" != typeof t.createElement ? t.createElement(arguments[0]) : p ? t.createElementNS.call(t, "http://www.w3.org/2000/svg", arguments[0]) : t.createElement.apply(t, arguments); |
||
| 150 | } |
||
| 151 | |||
| 152 | function r() { |
||
| 153 | var e = t.body; |
||
| 154 | return e || (e = i(p ? "svg" : "body"), e.fake = !0), e; |
||
| 155 | } |
||
| 156 | |||
| 157 | function l(e, n, o, a) { |
||
| 158 | var s, |
||
| 159 | l, |
||
| 160 | f, |
||
| 161 | c, |
||
| 162 | d = "modernizr", |
||
| 163 | p = i("div"), |
||
| 164 | v = r(); |
||
| 165 | if (parseInt(o, 10)) for (; o--;) { |
||
| 166 | f = i("div"), f.id = a ? a[o] : d + (o + 1), p.appendChild(f); |
||
| 167 | } |
||
| 168 | return s = i("style"), s.type = "text/css", s.id = "s" + d, (v.fake ? v : p).appendChild(s), v.appendChild(p), s.styleSheet ? s.styleSheet.cssText = e : s.appendChild(t.createTextNode(e)), p.id = d, v.fake && (v.style.background = "", v.style.overflow = "hidden", c = u.style.overflow, u.style.overflow = "hidden", u.appendChild(v)), l = n(p, e), v.fake ? (v.parentNode.removeChild(v), u.style.overflow = c, u.offsetHeight) : p.parentNode.removeChild(p), !!l; |
||
| 169 | } |
||
| 170 | |||
| 171 | var f = [], |
||
| 172 | c = [], |
||
| 173 | d = { |
||
| 174 | _version: "3.5.0", |
||
| 175 | _config: { |
||
| 176 | classPrefix: "", |
||
| 177 | enableClasses: !0, |
||
| 178 | enableJSClass: !0, |
||
| 179 | usePrefixes: !0 |
||
| 180 | }, |
||
| 181 | _q: [], |
||
| 182 | on: function on(e, t) { |
||
| 183 | var n = this; |
||
| 184 | setTimeout(function () { |
||
| 185 | t(n[e]); |
||
| 186 | }, 0); |
||
| 187 | }, |
||
| 188 | addTest: function addTest(e, t, n) { |
||
| 189 | c.push({ |
||
| 190 | name: e, |
||
| 191 | fn: t, |
||
| 192 | options: n |
||
| 193 | }); |
||
| 194 | }, |
||
| 195 | addAsyncTest: function addAsyncTest(e) { |
||
| 196 | c.push({ |
||
| 197 | name: null, |
||
| 198 | fn: e |
||
| 199 | }); |
||
| 200 | } |
||
| 201 | }, |
||
| 202 | Modernizr = function Modernizr() {}; |
||
| 203 | |||
| 204 | Modernizr.prototype = d, Modernizr = new Modernizr(), Modernizr.addTest("svg", !!t.createElementNS && !!t.createElementNS("http://www.w3.org/2000/svg", "svg").createSVGRect); |
||
| 205 | var u = t.documentElement, |
||
| 206 | p = "svg" === u.nodeName.toLowerCase(); |
||
| 207 | Modernizr.addTest("canvas", function () { |
||
| 208 | var e = i("canvas"); |
||
| 209 | return !(!e.getContext || !e.getContext("2d")); |
||
| 210 | }), Modernizr.addTest("canvastext", function () { |
||
| 211 | return Modernizr.canvas === !1 ? !1 : "function" == typeof i("canvas").getContext("2d").fillText; |
||
| 212 | }), Modernizr.addTest("emoji", function () { |
||
| 213 | if (!Modernizr.canvastext) return !1; |
||
| 214 | var t = e.devicePixelRatio || 1, |
||
| 215 | n = 12 * t, |
||
| 216 | o = i("canvas"), |
||
| 217 | a = o.getContext("2d"); |
||
| 218 | return a.fillStyle = "#f00", a.textBaseline = "top", a.font = "32px Arial", a.fillText("🐨", 0, 0), 0 !== a.getImageData(n, n, 1, 1).data[0]; |
||
| 219 | }); |
||
| 220 | var v = d._config.usePrefixes ? " -webkit- -moz- -o- -ms- ".split(" ") : ["", ""]; |
||
| 221 | d._prefixes = v; |
||
| 222 | var m = d.testStyles = l; |
||
| 223 | Modernizr.addTest("touchevents", function () { |
||
| 224 | var n; |
||
| 225 | if ("ontouchstart" in e || e.DocumentTouch && t instanceof DocumentTouch) n = !0;else { |
||
| 226 | var o = ["@media (", v.join("touch-enabled),("), "heartz", ")", "{#modernizr{top:9px;position:absolute}}"].join(""); |
||
| 227 | m(o, function (e) { |
||
| 228 | n = 9 === e.offsetTop; |
||
| 229 | }); |
||
| 230 | } |
||
| 231 | return n; |
||
| 232 | }), a(), s(f), delete d.addTest, delete d.addAsyncTest; |
||
| 233 | |||
| 234 | for (var h = 0; h < Modernizr._q.length; h++) { |
||
| 235 | Modernizr._q[h](); |
||
| 236 | } |
||
| 237 | |||
| 238 | e.Modernizr = Modernizr; |
||
| 239 | }(window, document); |
||
| 240 | |||
| 241 | /***/ }), |
||
| 242 | |||
| 243 | /***/ 3: |
||
| 244 | /*!************************************************!*\ |
||
| 245 | !*** multi ./resources/assets/js/modernizr.js ***! |
||
| 246 | \************************************************/ |
||
| 247 | /*! no static exports found */ |
||
| 248 | /***/ (function(module, exports, __webpack_require__) { |
||
| 249 | |||
| 250 | module.exports = __webpack_require__(/*! C:\dev\htdocs\GCTC-NTGC\TalentCloud\resources\assets\js\modernizr.js */"./resources/assets/js/modernizr.js"); |
||
| 251 | |||
| 252 | |||
| 253 | /***/ }) |
||
| 254 | |||
| 255 | /******/ }); |