source: imaps-frontend/node_modules/webpack-merge/dist/utils.js@ 79a0317

main
Last change on this file since 79a0317 was 79a0317, checked in by stefan toskovski <stefantoska84@…>, 3 days ago

F4 Finalna Verzija

  • Property mode set to 100644
File size: 3.0 KB
Line 
1"use strict";
2var __read = (this && this.__read) || function (o, n) {
3 var m = typeof Symbol === "function" && o[Symbol.iterator];
4 if (!m) return o;
5 var i = m.call(o), r, ar = [], e;
6 try {
7 while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8 }
9 catch (error) { e = { error: error }; }
10 finally {
11 try {
12 if (r && !r.done && (m = i["return"])) m.call(i);
13 }
14 finally { if (e) throw e.error; }
15 }
16 return ar;
17};
18Object.defineProperty(exports, "__esModule", { value: true });
19exports.isSameCondition = exports.isUndefined = exports.isPlainObject = exports.isFunction = exports.isRegex = void 0;
20var flat_1 = require("flat");
21function isRegex(o) {
22 return o instanceof RegExp;
23}
24exports.isRegex = isRegex;
25// https://stackoverflow.com/a/7356528/228885
26function isFunction(functionToCheck) {
27 return (functionToCheck && {}.toString.call(functionToCheck) === "[object Function]");
28}
29exports.isFunction = isFunction;
30function isPlainObject(a) {
31 if (a === null || Array.isArray(a)) {
32 return false;
33 }
34 return typeof a === "object";
35}
36exports.isPlainObject = isPlainObject;
37function isUndefined(a) {
38 return typeof a === "undefined";
39}
40exports.isUndefined = isUndefined;
41/**
42 * According to Webpack docs, a "test" should be the following:
43 *
44 * - A string
45 * - A RegExp
46 * - A function
47 * - An array of conditions (may be nested)
48 * - An object of conditions (may be nested)
49 *
50 * https://webpack.js.org/configuration/module/#condition
51 */
52function isSameCondition(a, b) {
53 var _a, _b;
54 if (!a || !b) {
55 return a === b;
56 }
57 if (typeof a === "string" ||
58 typeof b === "string" ||
59 isRegex(a) ||
60 isRegex(b) ||
61 isFunction(a) ||
62 isFunction(b)) {
63 return a.toString() === b.toString();
64 }
65 var entriesA = Object.entries((0, flat_1.flatten)(a));
66 var entriesB = Object.entries((0, flat_1.flatten)(b));
67 if (entriesA.length !== entriesB.length) {
68 return false;
69 }
70 for (var i = 0; i < entriesA.length; i++) {
71 entriesA[i][0] = entriesA[i][0].replace(/\b\d+\b/g, "[]");
72 entriesB[i][0] = entriesB[i][0].replace(/\b\d+\b/g, "[]");
73 }
74 function cmp(_a, _b) {
75 var _c = __read(_a, 2), k1 = _c[0], v1 = _c[1];
76 var _d = __read(_b, 2), k2 = _d[0], v2 = _d[1];
77 if (k1 < k2)
78 return -1;
79 if (k1 > k2)
80 return 1;
81 if (v1 < v2)
82 return -1;
83 if (v1 > v2)
84 return 1;
85 return 0;
86 }
87 entriesA.sort(cmp);
88 entriesB.sort(cmp);
89 if (entriesA.length !== entriesB.length) {
90 return false;
91 }
92 for (var i = 0; i < entriesA.length; i++) {
93 if (entriesA[i][0] !== entriesB[i][0] ||
94 ((_a = entriesA[i][1]) === null || _a === void 0 ? void 0 : _a.toString()) !== ((_b = entriesB[i][1]) === null || _b === void 0 ? void 0 : _b.toString())) {
95 return false;
96 }
97 }
98 return true;
99}
100exports.isSameCondition = isSameCondition;
101//# sourceMappingURL=utils.js.map
Note: See TracBrowser for help on using the repository browser.