@fruits-chain/react-native-xiaoshu
Version:
🌈 React Native UI library
42 lines (32 loc) • 895 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createVar = void 0;
var _isNil = _interopRequireDefault(require("lodash/isNil"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const StyleMap = new Map();
const createVar = (token, creator) => {
let myStyle;
for (let [key, value] of StyleMap) {
if (key[1] === creator) {
if (key[0] === token) {
myStyle = value;
} else {
StyleMap.delete(key);
}
}
}
if (!myStyle) {
myStyle = creator(token); // 变量覆盖
Object.keys(myStyle).forEach(field => {
if (!(0, _isNil.default)(token[field])) {
myStyle[field] = token[field];
}
});
StyleMap.set([token, creator], myStyle);
}
return myStyle;
};
exports.createVar = createVar;
//# sourceMappingURL=create-var.js.map