ocrmnav
Version:
DevStack - The Complete Developer Toolkit - Virtual file system, workflow automation, and more than 65+ other development tools / features in one seamless extension. Cutting down dev times never before seen.
216 lines (169 loc) • 6.28 kB
JavaScript
exports.id = 123;
exports.ids = [123];
exports.modules = {
/***/ 1533:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/**
* Contains helpers for working with vendor prefixes.
*
* Copied from https://github.com/postcss/postcss/commit/777c55b5d2a10605313a4972888f4f32005f5ac2
*
* @namespace vendor
*/
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
/**
* Returns the vendor prefix extracted from an input string.
*
* @param {string} prop String with or without vendor prefix.
*
* @returns {string} vendor prefix or empty string
*
* @example
* vendor.prefix('-moz-tab-size') //=> '-moz-'
* vendor.prefix('tab-size') //=> ''
*/
prefix(prop) {
const match = prop.match(/^(-\w+-)/);
if (match) {
return match[0] || '';
}
return '';
},
/**
* Returns the input string stripped of its vendor prefix.
*
* @param {string} prop String with or without vendor prefix.
*
* @returns {string} String name without vendor prefixes.
*
* @example
* vendor.unprefixed('-moz-tab-size') //=> 'tab-size'
*/
unprefixed(prop) {
return prop.replace(/^-\w+-/, '');
},
});
/***/ }),
/***/ 1622:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var postcss_value_parser__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1514);
/* harmony import */ var _utils_validateTypes_mjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(579);
/* harmony import */ var _utils_isNonNegativeInteger_mjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1623);
/* harmony import */ var _utils_matchesStringOrRegExp_mjs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(870);
/* harmony import */ var _utils_report_mjs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(945);
/* harmony import */ var _utils_ruleMessages_mjs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(950);
/* harmony import */ var _utils_validateObjectWithProps_mjs__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(1624);
/* harmony import */ var _utils_validateOptions_mjs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(873);
/* harmony import */ var _utils_vendor_mjs__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(1533);
const ruleName = 'declaration-property-max-values';
const messages = (0,_utils_ruleMessages_mjs__WEBPACK_IMPORTED_MODULE_5__["default"])(ruleName, {
expected: (property, max) =>
`Expected "${property}" to have no more than ${max} ${max === 1 ? 'value' : 'values'}`,
});
const meta = {
url: 'https://stylelint.io/user-guide/rules/declaration-property-max-values',
};
/**
* @param {valueParser.Node} node
*/
const isValueNode = (node) => {
return node.type === 'word' || node.type === 'function' || node.type === 'string';
};
/** @type {import('stylelint').CoreRules[ruleName]} */
const rule = (primary) => {
return (root, result) => {
const validOptions = (0,_utils_validateOptions_mjs__WEBPACK_IMPORTED_MODULE_7__["default"])(result, ruleName, {
actual: primary,
possible: [(0,_utils_validateObjectWithProps_mjs__WEBPACK_IMPORTED_MODULE_6__["default"])(_utils_isNonNegativeInteger_mjs__WEBPACK_IMPORTED_MODULE_2__["default"])],
});
if (!validOptions) {
return;
}
root.walkDecls((decl) => {
const { prop, value } = decl;
const propLength = postcss_value_parser__WEBPACK_IMPORTED_MODULE_0__(value).nodes.filter(isValueNode).length;
const unprefixedProp = _utils_vendor_mjs__WEBPACK_IMPORTED_MODULE_8__["default"].unprefixed(prop);
const propKey = Object.keys(primary).find((propIdentifier) =>
(0,_utils_matchesStringOrRegExp_mjs__WEBPACK_IMPORTED_MODULE_3__["default"])(unprefixedProp, propIdentifier),
);
if (!propKey) {
return;
}
const max = primary[propKey];
(0,_utils_validateTypes_mjs__WEBPACK_IMPORTED_MODULE_1__.assertNumber)(max);
if (propLength <= max) {
return;
}
(0,_utils_report_mjs__WEBPACK_IMPORTED_MODULE_4__["default"])({
message: messages.expected,
messageArgs: [prop, max],
node: decl,
result,
ruleName,
});
});
};
};
rule.ruleName = ruleName;
rule.messages = messages;
rule.meta = meta;
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (rule);
/***/ }),
/***/ 1623:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ isNonNegativeInteger)
/* harmony export */ });
/**
* @param {unknown} value
*/
function isNonNegativeInteger(value) {
return Number.isInteger(value) && typeof value === 'number' && value >= 0;
}
/***/ }),
/***/ 1624:
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ validateObjectWithProps)
/* harmony export */ });
/* harmony import */ var _validateTypes_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(579);
/**
* Check whether the variable is an object and all its properties agree with the provided validator.
*
* @example
* config = {
* value1: 1,
* value2: 2,
* value3: 3,
* };
* validateObjectWithProps(isNumber)(config);
* //=> true
*
* @param {(value: unknown) => boolean} validator
* @returns {(value: unknown) => boolean}
*/
function validateObjectWithProps(validator) {
return (value) => {
if (!(0,_validateTypes_mjs__WEBPACK_IMPORTED_MODULE_0__.isPlainObject)(value)) {
return false;
}
return Object.values(value).every((item) => {
return validator(item);
});
};
}
/***/ })
};
;
//# sourceMappingURL=123.extension.js.map
;