@fruits-chain/react-native-xiaoshu
Version:
🌈 React Native UI library
37 lines (35 loc) • 915 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createVar = void 0;
var _isNil = _interopRequireDefault(require("lodash/isNil"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
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);
}
}
}
// @ts-ignore
if (!myStyle) {
myStyle = creator(token);
// 变量覆盖
// @ts-ignore
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