css-kits
Version:
Parse css to javascript object. Support change class and id
43 lines (42 loc) • 1.76 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
(function (factory) {
if (typeof module === "object" && typeof module.exports === "object") {
var v = factory(require, exports);
if (v !== undefined) module.exports = v;
}
else if (typeof define === "function" && define.amd) {
define(["require", "exports", "strkits", "./detector", "./helpful"], factory);
}
})(function (require, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformClassAndID = void 0;
const strkits_1 = __importDefault(require("strkits"));
const detector_1 = require("./detector");
const helpful_1 = require("./helpful");
function transformClassAndID(styleSheetList, transformFunc) {
const classOrIDList = {};
const transform = (oldClassOrID) => {
if (oldClassOrID in classOrIDList === false) {
classOrIDList[oldClassOrID] = transformFunc(oldClassOrID);
}
return classOrIDList[oldClassOrID];
};
const newStyleSheetList = (0, helpful_1.selectorsMap)(styleSheetList, (selector) => {
return strkits_1.default.replaceRange(selector, (0, detector_1.detectAllClassAndId)(selector).map(({ start, end }) => {
return {
start,
end,
value: transform(selector.slice(start, end)),
};
}));
});
return {
newStyleSheetList,
classOrIDList,
};
}
exports.transformClassAndID = transformClassAndID;
});