UNPKG

2.62 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6var styleInterface = void 0;
7var styleTheme = void 0;
8
9var START_MARK = 'react-with-styles.resolve.start';
10var END_MARK = 'react-with-styles.resolve.end';
11var MEASURE_MARK = '\uD83D\uDC69\u200D\uD83C\uDFA8 [resolve]';
12
13function registerTheme(theme) {
14 styleTheme = theme;
15}
16
17function registerInterface(interfaceToRegister) {
18 styleInterface = interfaceToRegister;
19}
20
21function create(makeFromTheme, createWithDirection) {
22 var styles = createWithDirection(makeFromTheme(styleTheme));
23 return function () {
24 return styles;
25 };
26}
27
28function createLTR(makeFromTheme) {
29 return create(makeFromTheme, styleInterface.createLTR || styleInterface.create);
30}
31
32function createRTL(makeFromTheme) {
33 return create(makeFromTheme, styleInterface.createRTL || styleInterface.create);
34}
35
36function get() {
37 return styleTheme;
38}
39
40function resolve() {
41 if (process.env.NODE_ENV !== 'production' && typeof performance !== 'undefined' && performance.mark !== undefined && typeof performance.clearMarks === 'function') {
42 performance.clearMarks(START_MARK);
43 performance.mark(START_MARK);
44 }
45
46 for (var _len = arguments.length, styles = Array(_len), _key = 0; _key < _len; _key++) {
47 styles[_key] = arguments[_key];
48 }
49
50 var result = styleInterface.resolve(styles);
51
52 if (process.env.NODE_ENV !== 'production' && typeof performance !== 'undefined' && performance.mark !== undefined && typeof performance.clearMarks === 'function') {
53 performance.clearMarks(END_MARK);
54 performance.mark(END_MARK);
55
56 performance.measure(MEASURE_MARK, START_MARK, END_MARK);
57 performance.clearMarks(MEASURE_MARK);
58 }
59
60 return result;
61}
62
63function resolveLTR() {
64 for (var _len2 = arguments.length, styles = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
65 styles[_key2] = arguments[_key2];
66 }
67
68 if (styleInterface.resolveLTR) {
69 return styleInterface.resolveLTR(styles);
70 }
71
72 return resolve(styles);
73}
74
75function resolveRTL() {
76 for (var _len3 = arguments.length, styles = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
77 styles[_key3] = arguments[_key3];
78 }
79
80 if (styleInterface.resolveRTL) {
81 return styleInterface.resolveRTL(styles);
82 }
83
84 return resolve(styles);
85}
86
87function flush() {
88 if (styleInterface.flush) {
89 styleInterface.flush();
90 }
91}
92
93exports['default'] = {
94 registerTheme: registerTheme,
95 registerInterface: registerInterface,
96 create: createLTR,
97 createLTR: createLTR,
98 createRTL: createRTL,
99 get: get,
100 resolve: resolveLTR,
101 resolveLTR: resolveLTR,
102 resolveRTL: resolveRTL,
103 flush: flush
104};
\No newline at end of file