react-native-unistyles 3.0.0-alpha.3 → 3.0.0-alpha.4
Sign up to get free protection for your applications and to get access to all the features.
- package/cxx/core/HostStyle.cpp +2 -2
- package/cxx/core/StyleSheetRegistry.cpp +6 -1
- package/cxx/core/StyleSheetRegistry.h +2 -1
- package/cxx/core/UnistylesRegistry.cpp +6 -6
- package/cxx/core/UnistylesRegistry.h +1 -1
- package/cxx/core/UnistylesState.cpp +4 -4
- package/cxx/hybridObjects/HybridShadowRegistry.cpp +2 -2
- package/cxx/hybridObjects/HybridStyleSheet.cpp +19 -23
- package/cxx/hybridObjects/HybridUnistylesRuntime.cpp +2 -2
- package/cxx/parser/Parser.cpp +3 -7
- package/package.json +1 -1
package/cxx/core/HostStyle.cpp
CHANGED
@@ -38,8 +38,8 @@ jsi::Function HostStyle::createAddVariantsProxyFunction(jsi::Runtime& rt) {
|
|
38
38
|
auto useVariantsFnName = jsi::PropNameID::forUtf8(rt, helpers::ADD_VARIANTS_FN);
|
39
39
|
|
40
40
|
return jsi::Function::createFromHostFunction(rt, useVariantsFnName, 1, [&](jsi::Runtime &rt, const jsi::Value &thisVal, const jsi::Value *arguments, size_t count){
|
41
|
-
helpers::assertThat(rt, count == 1, "useVariants expected to be called with one argument.");
|
42
|
-
helpers::assertThat(rt, arguments[0].isObject(), "useVariants expected to be called with object.");
|
41
|
+
helpers::assertThat(rt, count == 1, "Unistyles: useVariants expected to be called with one argument.");
|
42
|
+
helpers::assertThat(rt, arguments[0].isObject(), "Unistyles: useVariants expected to be called with object.");
|
43
43
|
|
44
44
|
auto parser = parser::Parser(this->_unistylesRuntime);
|
45
45
|
auto pairs = parser.variantsToPairs(rt, arguments[0].asObject(rt));
|
@@ -17,7 +17,7 @@ std::shared_ptr<StyleSheet> StyleSheetRegistry::addStyleSheetFromValue(jsi::Runt
|
|
17
17
|
std::shared_ptr<StyleSheet> StyleSheetRegistry::addFromFunction(jsi::Runtime& rt, unsigned int tag, jsi::Function styleSheetFn) {
|
18
18
|
auto numberOfArgs = styleSheetFn.getProperty(rt, "length").getNumber();
|
19
19
|
|
20
|
-
helpers::assertThat(rt, numberOfArgs <= 2, "expected up to 2 arguments.");
|
20
|
+
helpers::assertThat(rt, numberOfArgs <= 2, "StyleSheet.create expected up to 2 arguments.");
|
21
21
|
|
22
22
|
auto& registry = UnistylesRegistry::get();
|
23
23
|
|
@@ -43,3 +43,8 @@ std::shared_ptr<StyleSheet> StyleSheetRegistry::addFromObject(jsi::Runtime& rt,
|
|
43
43
|
return registry.addStyleSheet(tag, core::StyleSheetType::Static, std::move(rawStyleSheet));
|
44
44
|
}
|
45
45
|
|
46
|
+
void StyleSheetRegistry::removeStyleSheetByTag(unsigned int tag) {
|
47
|
+
auto& registry = UnistylesRegistry::get();
|
48
|
+
|
49
|
+
registry.removeStyleSheet(tag);
|
50
|
+
}
|
@@ -17,7 +17,8 @@ struct StyleSheetRegistry {
|
|
17
17
|
StyleSheetRegistry(StyleSheetRegistry&&) = delete;
|
18
18
|
|
19
19
|
virtual std::shared_ptr<StyleSheet> addStyleSheetFromValue(jsi::Runtime& rt, jsi::Object rawStyleSheet);
|
20
|
-
|
20
|
+
virtual void removeStyleSheetByTag(unsigned int tag);
|
21
|
+
|
21
22
|
private:
|
22
23
|
virtual std::shared_ptr<StyleSheet> addFromFunction(jsi::Runtime& rt, unsigned int tag, jsi::Function styleSheetFn);
|
23
24
|
virtual std::shared_ptr<StyleSheet> addFromObject(jsi::Runtime& rt, unsigned int tag, jsi::Object rawStyleSheet);
|
@@ -63,15 +63,15 @@ void core::UnistylesRegistry::updateTheme(jsi::Runtime& rt, std::string& themeNa
|
|
63
63
|
auto& state = this->getState(rt);
|
64
64
|
auto it = state._jsThemes.find(themeName);
|
65
65
|
|
66
|
-
helpers::assertThat(rt, it != state._jsThemes.end(), "
|
66
|
+
helpers::assertThat(rt, it != state._jsThemes.end(), "Unistyles: You're trying to update theme '" + themeName + "' but it wasn't registered.");
|
67
67
|
|
68
68
|
auto currentThemeValue = it->second.lock(rt);
|
69
69
|
|
70
|
-
helpers::assertThat(rt, currentThemeValue.isObject(), "
|
70
|
+
helpers::assertThat(rt, currentThemeValue.isObject(), "Unistyles: Unable to update your theme from C++. It was already garbage collected.");
|
71
71
|
|
72
72
|
auto result = callback.call(rt, currentThemeValue.asObject(rt));
|
73
73
|
|
74
|
-
helpers::assertThat(rt, result.isObject(), "
|
74
|
+
helpers::assertThat(rt, result.isObject(), "Unistyles: Returned theme is not an object. Please check your updateTheme function.");
|
75
75
|
|
76
76
|
it->second = jsi::WeakObject(rt, result.asObject(rt));
|
77
77
|
}
|
@@ -99,7 +99,7 @@ std::shared_ptr<core::StyleSheet> core::UnistylesRegistry::addStyleSheet(int tag
|
|
99
99
|
return this->_styleSheetRegistry.back();
|
100
100
|
}
|
101
101
|
|
102
|
-
|
102
|
+
void core::UnistylesRegistry::removeStyleSheet(int tag) {
|
103
103
|
auto it = std::find_if(
|
104
104
|
this->_styleSheetRegistry.begin(),
|
105
105
|
this->_styleSheetRegistry.end(),
|
@@ -111,8 +111,8 @@ std::shared_ptr<core::StyleSheet> core::UnistylesRegistry::getStyleSheetById(int
|
|
111
111
|
if (it == this->_styleSheetRegistry.cend()) {
|
112
112
|
throw std::runtime_error("stylesheet with tag: " + std::to_string(tag) + " cannot be found.");
|
113
113
|
}
|
114
|
-
|
115
|
-
|
114
|
+
|
115
|
+
this->_styleSheetRegistry.erase(it);
|
116
116
|
}
|
117
117
|
|
118
118
|
DependencyMap core::UnistylesRegistry::buildDependencyMap(std::vector<UnistyleDependency>& deps) {
|
@@ -38,7 +38,7 @@ struct UnistylesRegistry: public StyleSheetRegistry {
|
|
38
38
|
void linkShadowNodeWithUnistyle(const ShadowNodeFamily*, const core::Unistyle::Shared);
|
39
39
|
void unlinkShadowNodeWithUnistyle(const ShadowNodeFamily*, const core::Unistyle::Shared);
|
40
40
|
std::shared_ptr<core::StyleSheet> addStyleSheet(int tag, core::StyleSheetType type, jsi::Object&& rawValue);
|
41
|
-
|
41
|
+
void removeStyleSheet(int tag);
|
42
42
|
DependencyMap buildDependencyMap(std::vector<UnistyleDependency>& deps);
|
43
43
|
DependencyMap buildDependencyMap();
|
44
44
|
|
@@ -12,7 +12,7 @@ bool core::UnistylesState::hasAdaptiveThemes() {
|
|
12
12
|
}
|
13
13
|
|
14
14
|
void core::UnistylesState::setTheme(std::string themeName) {
|
15
|
-
helpers::assertThat(*_rt, helpers::vecContainsKeys(this->_registeredThemeNames, {themeName}), "You're trying to set theme to: '" + std::string(themeName) + "', but it wasn't registered.");
|
15
|
+
helpers::assertThat(*_rt, helpers::vecContainsKeys(this->_registeredThemeNames, {themeName}), "Unistyles: You're trying to set theme to: '" + std::string(themeName) + "', but it wasn't registered.");
|
16
16
|
|
17
17
|
if (themeName != this->_currentThemeName) {
|
18
18
|
this->_currentThemeName = themeName;
|
@@ -31,15 +31,15 @@ jsi::Object core::UnistylesState::getJSTheme() {
|
|
31
31
|
return jsi::Object(*_rt);
|
32
32
|
}
|
33
33
|
|
34
|
-
helpers::assertThat(*_rt, _currentThemeName.has_value(), "
|
34
|
+
helpers::assertThat(*_rt, _currentThemeName.has_value(), "Unistyles: One of your stylesheets is trying to get the theme, but no theme has been selected yet. Did you forget to select an initial theme?");
|
35
35
|
|
36
36
|
auto it = this->_jsThemes.find(_currentThemeName.value());
|
37
37
|
|
38
|
-
helpers::assertThat(*_rt, it != this->_jsThemes.end(), "
|
38
|
+
helpers::assertThat(*_rt, it != this->_jsThemes.end(), "Unistyles: You're trying to get theme '" + _currentThemeName.value() + "', but it was not registered. Did you forget to register it with StyleSheet.configure?");
|
39
39
|
|
40
40
|
auto maybeTheme = it->second.lock(*_rt);
|
41
41
|
|
42
|
-
helpers::assertThat(*_rt, maybeTheme.isObject(), "
|
42
|
+
helpers::assertThat(*_rt, maybeTheme.isObject(), "Unistyles: Unable to retrieve your theme from C++ as it has already been garbage collected, likely due to multiple hot reloads. Please live reload the app.");
|
43
43
|
|
44
44
|
return maybeTheme.asObject(*_rt);
|
45
45
|
}
|
@@ -4,7 +4,7 @@ using namespace margelo::nitro::unistyles;
|
|
4
4
|
using namespace facebook::react;
|
5
5
|
|
6
6
|
jsi::Value HybridShadowRegistry::link(jsi::Runtime &rt, const jsi::Value &thisValue, const jsi::Value *args, size_t count) {
|
7
|
-
helpers::assertThat(rt, count == 2, "Invalid babel transform
|
7
|
+
helpers::assertThat(rt, count == 2, "Unistyles: Invalid babel transform 'ShadowRegistry link' expected two arguments.");
|
8
8
|
|
9
9
|
ShadowNode::Shared shadowNodeWrapper = shadowNodeFromValue(rt, args[0]);
|
10
10
|
core::Unistyle::Shared unistyleWrapper = core::unistyleFromValue(rt, args[1]);
|
@@ -17,7 +17,7 @@ jsi::Value HybridShadowRegistry::link(jsi::Runtime &rt, const jsi::Value &thisVa
|
|
17
17
|
}
|
18
18
|
|
19
19
|
jsi::Value HybridShadowRegistry::unlink(jsi::Runtime &rt, const jsi::Value &thisValue, const jsi::Value *args, size_t count) {
|
20
|
-
helpers::assertThat(rt, count == 2, "Invalid babel transform
|
20
|
+
helpers::assertThat(rt, count == 2, "Unistyles: Invalid babel transform 'ShadowRegistry unlink' expected two arguments.");
|
21
21
|
|
22
22
|
ShadowNode::Shared shadowNodeWrapper = shadowNodeFromValue(rt, args[0]);
|
23
23
|
core::Unistyle::Shared unistyleWrapper = core::unistyleFromValue(rt, args[1]);
|
@@ -22,11 +22,7 @@ jsi::Value HybridStyleSheet::create(jsi::Runtime &rt, const jsi::Value &thisVal,
|
|
22
22
|
|
23
23
|
// this might happen only when hot reloading
|
24
24
|
if (this->__unid != -1) {
|
25
|
-
|
26
|
-
auto style = std::make_shared<core::HostStyle>(registeredStyleSheet, this->_unistylesRuntime);
|
27
|
-
auto styleHostObject = jsi::Object::createFromHostObject(rt, style);
|
28
|
-
|
29
|
-
return styleHostObject;
|
25
|
+
registry.removeStyleSheet(this->__unid);
|
30
26
|
}
|
31
27
|
|
32
28
|
jsi::Object rawStyleSheet = arguments[0].asObject(rt);
|
@@ -57,24 +53,24 @@ jsi::Value HybridStyleSheet::configure(jsi::Runtime &rt, const jsi::Value &thisV
|
|
57
53
|
|
58
54
|
helpers::enumerateJSIObject(rt, config, [&](const std::string& propertyName, jsi::Value& propertyValue){
|
59
55
|
if (propertyName == "settings") {
|
60
|
-
helpers::assertThat(rt, propertyValue.isObject(), "settings must be an object.");
|
56
|
+
helpers::assertThat(rt, propertyValue.isObject(), "StyleSheet.configure's settings must be an object.");
|
61
57
|
|
62
58
|
return this->parseSettings(rt, propertyValue.asObject(rt));
|
63
59
|
}
|
64
60
|
|
65
61
|
if (propertyName == "breakpoints") {
|
66
|
-
helpers::assertThat(rt, propertyValue.isObject(), "breakpoints must be an object.");
|
62
|
+
helpers::assertThat(rt, propertyValue.isObject(), "StyleSheet.configure's breakpoints must be an object.");
|
67
63
|
|
68
64
|
return this->parseBreakpoints(rt, propertyValue.asObject(rt));
|
69
65
|
}
|
70
66
|
|
71
67
|
if (propertyName == "themes") {
|
72
|
-
helpers::assertThat(rt, propertyValue.isObject(), "themes must be an object.");
|
68
|
+
helpers::assertThat(rt, propertyValue.isObject(), "StyleSheet.configure's themes must be an object.");
|
73
69
|
|
74
70
|
return this->parseThemes(rt, propertyValue.asObject(rt));
|
75
71
|
}
|
76
72
|
|
77
|
-
helpers::assertThat(rt, false, "received unexpected key: '" + std::string(propertyName) + "'.");
|
73
|
+
helpers::assertThat(rt, false, "StyleSheet.configure received unexpected key: '" + std::string(propertyName) + "'.");
|
78
74
|
});
|
79
75
|
|
80
76
|
verifyAndSelectTheme(rt);
|
@@ -88,7 +84,7 @@ void HybridStyleSheet::parseSettings(jsi::Runtime &rt, jsi::Object settings) {
|
|
88
84
|
|
89
85
|
helpers::enumerateJSIObject(rt, settings, [&](const std::string& propertyName, jsi::Value& propertyValue){
|
90
86
|
if (propertyName == "adaptiveThemes") {
|
91
|
-
helpers::assertThat(rt, propertyValue.isBool(), "adaptiveThemes
|
87
|
+
helpers::assertThat(rt, propertyValue.isBool(), "StyleSheet.configure's adaptiveThemes must be of boolean type.");
|
92
88
|
|
93
89
|
registry.setPrefersAdaptiveThemes(rt, propertyValue.asBool());
|
94
90
|
|
@@ -97,31 +93,31 @@ void HybridStyleSheet::parseSettings(jsi::Runtime &rt, jsi::Object settings) {
|
|
97
93
|
|
98
94
|
if (propertyName == "initialTheme") {
|
99
95
|
if (propertyValue.isObject()) {
|
100
|
-
helpers::assertThat(rt, propertyValue.asObject(rt).isFunction(rt), "initialTheme
|
96
|
+
helpers::assertThat(rt, propertyValue.asObject(rt).isFunction(rt), "StyleSheet.configure's initialTheme must be either a string or a function.");
|
101
97
|
|
102
98
|
auto result = propertyValue.asObject(rt).asFunction(rt).call(rt);
|
103
99
|
|
104
|
-
helpers::assertThat(rt, result.isString(), "initialTheme resolved from function is not a string. Please check your initialTheme function.");
|
100
|
+
helpers::assertThat(rt, result.isString(), "StyleSheet.configure's initialTheme resolved from function is not a string. Please check your initialTheme function.");
|
105
101
|
|
106
102
|
return registry.setInitialThemeName(rt, result.asString(rt).utf8(rt));
|
107
103
|
}
|
108
104
|
|
109
|
-
helpers::assertThat(rt, propertyValue.isString(), "initialTheme
|
105
|
+
helpers::assertThat(rt, propertyValue.isString(), "StyleSheet.configure's initialTheme must be either a string or a function.");
|
110
106
|
|
111
107
|
registry.setInitialThemeName(rt, propertyValue.asString(rt).utf8(rt));
|
112
108
|
|
113
109
|
return;
|
114
110
|
}
|
115
111
|
|
116
|
-
helpers::assertThat(rt, false, "settings received unexpected key: '" + std::string(propertyName) + "'");
|
112
|
+
helpers::assertThat(rt, false, "StyleSheet.configure's settings received unexpected key: '" + std::string(propertyName) + "'");
|
117
113
|
});
|
118
114
|
}
|
119
115
|
|
120
116
|
void HybridStyleSheet::parseBreakpoints(jsi::Runtime &rt, jsi::Object breakpoints){
|
121
117
|
helpers::Breakpoints sortedBreakpoints = helpers::jsiBreakpointsToVecPairs(rt, std::move(breakpoints));
|
122
118
|
|
123
|
-
helpers::assertThat(rt, sortedBreakpoints.size() > 0, "
|
124
|
-
helpers::assertThat(rt, sortedBreakpoints.front().second == 0, "first breakpoint must start from 0.");
|
119
|
+
helpers::assertThat(rt, sortedBreakpoints.size() > 0, "StyleSheet.configure's breakpoints can't be empty.");
|
120
|
+
helpers::assertThat(rt, sortedBreakpoints.front().second == 0, "StyleSheet.configure's first breakpoint must start from 0.");
|
125
121
|
|
126
122
|
auto& registry = core::UnistylesRegistry::get();
|
127
123
|
auto& state = registry.getState(rt);
|
@@ -134,7 +130,7 @@ void HybridStyleSheet::parseThemes(jsi::Runtime &rt, jsi::Object themes) {
|
|
134
130
|
auto& registry = core::UnistylesRegistry::get();
|
135
131
|
|
136
132
|
helpers::enumerateJSIObject(rt, themes, [&](const std::string& propertyName, jsi::Value& propertyValue){
|
137
|
-
helpers::assertThat(rt, propertyValue.isObject(), "registered theme '" + propertyName + "' must be an object.");
|
133
|
+
helpers::assertThat(rt, propertyValue.isObject(), "StyleSheet.configure's registered theme '" + propertyName + "' must be an object.");
|
138
134
|
|
139
135
|
registry.registerTheme(rt, propertyName, propertyValue.asObject(rt));
|
140
136
|
});
|
@@ -152,7 +148,7 @@ void HybridStyleSheet::verifyAndSelectTheme(jsi::Runtime &rt) {
|
|
152
148
|
|
153
149
|
// user tries to enable adaptive themes, but didn't register both 'light' and 'dark' themes
|
154
150
|
if (prefersAdaptiveThemes && !hasAdaptiveThemes) {
|
155
|
-
helpers::assertThat(rt, false, "
|
151
|
+
helpers::assertThat(rt, false, "Unistyles: You're trying to enable adaptiveThemes, but you didn't register both 'light' and 'dark' themes.");
|
156
152
|
}
|
157
153
|
|
158
154
|
// user didn't select initial theme nor can have adaptive themes, and registered more than 1 theme
|
@@ -176,14 +172,14 @@ void HybridStyleSheet::verifyAndSelectTheme(jsi::Runtime &rt) {
|
|
176
172
|
// user selected both initial theme and adaptive themes
|
177
173
|
// we should throw an error as these options are mutually exclusive
|
178
174
|
if (hasInitialTheme && hasAdaptiveThemes) {
|
179
|
-
helpers::assertThat(rt, false, "
|
175
|
+
helpers::assertThat(rt, false, "Unistyles: You're trying to set initial theme and enable adaptiveThemes, but these options are mutually exclusive.");
|
180
176
|
}
|
181
177
|
|
182
178
|
// user only selected initial theme
|
183
179
|
// validate if following theme exist
|
184
180
|
std::string selectedTheme = state.getInitialTheme().value();
|
185
181
|
|
186
|
-
helpers::assertThat(rt, state.hasTheme(selectedTheme), "
|
182
|
+
helpers::assertThat(rt, state.hasTheme(selectedTheme), "Unistyles: You're trying to select theme '" + selectedTheme + "' but it wasn't registered.");
|
187
183
|
|
188
184
|
state.setTheme(selectedTheme);
|
189
185
|
}
|
@@ -202,18 +198,18 @@ void HybridStyleSheet::setThemeFromColorScheme(jsi::Runtime& rt) {
|
|
202
198
|
|
203
199
|
return;
|
204
200
|
default:
|
205
|
-
throw std::runtime_error("
|
201
|
+
throw std::runtime_error("Unistyles: Unable to set adaptive theme as your device doesn't support it.");
|
206
202
|
}
|
207
203
|
}
|
208
204
|
|
209
205
|
void HybridStyleSheet::loadExternalMethods(const jsi::Value& thisValue, jsi::Runtime& rt) {
|
210
206
|
auto jsMethods = thisValue.getObject(rt).getProperty(rt, "jsMethods");
|
211
207
|
|
212
|
-
helpers::assertThat(rt, jsMethods.isObject(), "
|
208
|
+
helpers::assertThat(rt, jsMethods.isObject(), "Unistyles: Can't find jsMethods.");
|
213
209
|
|
214
210
|
auto maybeProcessColorFn = jsMethods.asObject(rt).getProperty(rt, "processColor");
|
215
211
|
|
216
|
-
helpers::assertThat(rt, maybeProcessColorFn.isObject(), "
|
212
|
+
helpers::assertThat(rt, maybeProcessColorFn.isObject(), "Unistyles: Can't load processColor function from JS.");
|
217
213
|
|
218
214
|
auto processColorFn = maybeProcessColorFn.asObject(rt).asFunction(rt);
|
219
215
|
auto& registry = core::UnistylesRegistry::get();
|
@@ -58,7 +58,7 @@ double HybridUnistylesRuntime::getFontScale() {
|
|
58
58
|
};
|
59
59
|
|
60
60
|
void HybridUnistylesRuntime::setTheme(const std::string &themeName) {
|
61
|
-
helpers::assertThat(*_rt, !this->getHasAdaptiveThemes(), "You're trying to set theme to: '" + themeName + "', but adaptiveThemes are enabled.");
|
61
|
+
helpers::assertThat(*_rt, !this->getHasAdaptiveThemes(), "Unistyles: You're trying to set theme to: '" + themeName + "', but adaptiveThemes are enabled.");
|
62
62
|
|
63
63
|
auto& state = core::UnistylesRegistry::get().getState(*_rt);
|
64
64
|
|
@@ -117,7 +117,7 @@ jsi::Value HybridUnistylesRuntime::updateTheme(jsi::Runtime &rt, const jsi::Valu
|
|
117
117
|
auto& registry = core::UnistylesRegistry::get();
|
118
118
|
auto themeName = args[0].asString(rt).utf8(rt);
|
119
119
|
|
120
|
-
helpers::assertThat(rt, args[1].asObject(rt).isFunction(rt), "second argument
|
120
|
+
helpers::assertThat(rt, args[1].asObject(rt).isFunction(rt), "UnistylesRuntime.updateTheme expected second argument to be a function.");
|
121
121
|
|
122
122
|
registry.updateTheme(rt, themeName, args[1].asObject(rt).asFunction(rt));
|
123
123
|
|
package/cxx/parser/Parser.cpp
CHANGED
@@ -11,7 +11,7 @@ void parser::Parser::buildUnistyles(jsi::Runtime& rt, std::shared_ptr<StyleSheet
|
|
11
11
|
jsi::Object unwrappedStyleSheet = this->unwrapStyleSheet(rt, styleSheet);
|
12
12
|
|
13
13
|
helpers::enumerateJSIObject(rt, unwrappedStyleSheet, [&](const std::string& styleKey, jsi::Value& propertyValue){
|
14
|
-
helpers::assertThat(rt, propertyValue.isObject(), "
|
14
|
+
helpers::assertThat(rt, propertyValue.isObject(), "Unistyles: Style with name '" + styleKey + "' is not a function or object.");
|
15
15
|
|
16
16
|
jsi::Object styleValue = propertyValue.asObject(rt);
|
17
17
|
|
@@ -128,7 +128,7 @@ void parser::Parser::rebuildUnistyle(jsi::Runtime& rt, std::shared_ptr<StyleShee
|
|
128
128
|
auto unistyleFn = std::dynamic_pointer_cast<UnistyleDynamicFunction>(unistyle);
|
129
129
|
auto maybeMetadata = unistyleFn->dynamicFunctionMetadata;
|
130
130
|
|
131
|
-
helpers::assertThat(rt, maybeMetadata.has_value(), "Your dynamic function '" + unistyleFn->styleKey + "' has no metadata and can't be processed.");
|
131
|
+
helpers::assertThat(rt, maybeMetadata.has_value(), "Unistyles: Your dynamic function '" + unistyleFn->styleKey + "' has no metadata and can't be processed.");
|
132
132
|
|
133
133
|
// convert arguments to jsi::Value
|
134
134
|
auto metadata = unistyleFn->dynamicFunctionMetadata.value();
|
@@ -316,10 +316,6 @@ jsi::Object parser::Parser::parseFirstLevel(jsi::Runtime& rt, Unistyle::Shared u
|
|
316
316
|
|
317
317
|
parsedStyle.setProperty(rt, jsi::PropNameID::forUtf8(rt, propertyName), this->parseSecondLevel(rt, unistyle, valueFromBreakpoint));
|
318
318
|
});
|
319
|
-
|
320
|
-
if (shouldParseVariants) {
|
321
|
-
unistyle->addDependency(UnistyleDependency::VARIANTS);
|
322
|
-
}
|
323
319
|
|
324
320
|
if (shouldParseVariants && !variants.empty()) {
|
325
321
|
auto propertyValueObject = style.getProperty(rt, "variants").asObject(rt);
|
@@ -371,7 +367,7 @@ jsi::Function parser::Parser::createDynamicFunctionProxy(jsi::Runtime& rt, Unist
|
|
371
367
|
|
372
368
|
// function convert babel generated dependencies to C++ dependencies
|
373
369
|
std::vector<UnistyleDependency> parser::Parser::parseDependencies(jsi::Runtime &rt, jsi::Object&& dependencies) {
|
374
|
-
helpers::assertThat(rt, dependencies.isArray(rt), "
|
370
|
+
helpers::assertThat(rt, dependencies.isArray(rt), "Unistyles: Babel transform is invalid - unexpected type for dependencies.");
|
375
371
|
|
376
372
|
std::vector<UnistyleDependency> parsedDependencies{};
|
377
373
|
|