1 | "use strict";
|
2 | var __importDefault = (this && this.__importDefault) || function (mod) {
|
3 | return (mod && mod.__esModule) ? mod : { "default": mod };
|
4 | };
|
5 | Object.defineProperty(exports, "__esModule", { value: true });
|
6 | exports.scopeCase = void 0;
|
7 | const ensure_1 = require("@commitlint/ensure");
|
8 | const message_1 = __importDefault(require("@commitlint/message"));
|
9 | const negated = (when) => when === 'never';
|
10 | const scopeCase = (parsed, when = 'always', value = []) => {
|
11 | const { scope } = parsed;
|
12 | if (!scope) {
|
13 | return [true];
|
14 | }
|
15 | const checks = (Array.isArray(value) ? value : [value]).map((check) => {
|
16 | if (typeof check === 'string') {
|
17 | return {
|
18 | when: 'always',
|
19 | case: check,
|
20 | };
|
21 | }
|
22 | return check;
|
23 | });
|
24 |
|
25 |
|
26 | const delimiters = /\/|\\|,/g;
|
27 | const scopeSegments = scope.split(delimiters);
|
28 | const result = checks.some((check) => {
|
29 | const r = scopeSegments.every((segment) => delimiters.test(segment) || ensure_1.case(segment, check.case));
|
30 | return negated(check.when) ? !r : r;
|
31 | });
|
32 | const list = checks.map((c) => c.case).join(', ');
|
33 | return [
|
34 | negated(when) ? !result : result,
|
35 | message_1.default([`scope must`, negated(when) ? `not` : null, `be ${list}`]),
|
36 | ];
|
37 | };
|
38 | exports.scopeCase = scopeCase;
|
39 |
|
\ | No newline at end of file |