react-native-yoga-jsi 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -18
- package/android/CMakeLists.txt +1 -1
- package/cpp/macros.h +2 -15
- package/cpp/nodeProperties.h +9 -7
- package/lib/commonjs/index.js +1 -7
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +1 -7
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/coreTypes.d.ts +3 -2
- package/lib/typescript/src/coreTypes.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +5 -3
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +7 -7
- package/src/coreTypes.ts +4 -2
- package/src/index.ts +6 -8
package/README.md
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
> **⚠️ Experimental Warning**
|
2
|
-
> This library is in its experimental phase and may have breaking changes.
|
2
|
+
> This library is in its experimental phase and may have breaking changes.
|
3
3
|
|
4
4
|
---
|
5
5
|
|
@@ -7,8 +7,8 @@
|
|
7
7
|
|
8
8
|
| Platform | Supported Versions |
|
9
9
|
| ----------- | ------------------ |
|
10
|
-
| **iOS** |
|
11
|
-
| **Android** | 0.73
|
10
|
+
| **iOS** | >= 0.73.0 |
|
11
|
+
| **Android** | >= 0.73.0 |
|
12
12
|
|
13
13
|
---
|
14
14
|
|
@@ -18,6 +18,16 @@ This library aims to expose Yoga APIs to javascript, enabling advanced layout fu
|
|
18
18
|
|
19
19
|
---
|
20
20
|
|
21
|
+
## Installation
|
22
|
+
|
23
|
+
To install this library, use the following command:
|
24
|
+
|
25
|
+
```bash
|
26
|
+
npm i react-native-yoga-jsi
|
27
|
+
```
|
28
|
+
|
29
|
+
---
|
30
|
+
|
21
31
|
## APIs
|
22
32
|
|
23
33
|
### Core API
|
@@ -39,18 +49,18 @@ The derived API is structured to feel like the standard React Native style API.
|
|
39
49
|
|
40
50
|
## Roadmap
|
41
51
|
|
42
|
-
| Feature
|
43
|
-
|
|
44
|
-
| Core Yoga API bindings
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
| Feature | Status |
|
53
|
+
| ---------------------------------------------- | ----------------------------------------------------- |
|
54
|
+
| Core Yoga API bindings | 🌕 Implemented |
|
55
|
+
| Support all react native versions above 0.73.0 | 🌕 Implemented |
|
56
|
+
| Derived api similar to React Native stylesheet | 🌔 In Progress |
|
57
|
+
| Internal tests | 🌔 In Progress |
|
58
|
+
| Compatibility with Reanimated's UI thread | 🌓 Partly done (Not possible to jump between threads) |
|
59
|
+
| Provide detailed documentation and examples | 🌘 In Progress |
|
60
|
+
| Internal benchmarks | 🌘 In Progress |
|
61
|
+
| Jest mocks | 🌘 In Progress |
|
62
|
+
| Spacer primitive (like SwiftUI) | 🌑 Planned |
|
63
|
+
| Migrate to Nitro Module | 🌑 Planned |
|
54
64
|
|
55
65
|
---
|
56
66
|
|
@@ -58,16 +68,22 @@ The derived API is structured to feel like the standard React Native style API.
|
|
58
68
|
|
59
69
|
Here are a few examples demonstrating the use of this library:
|
60
70
|
|
61
|
-
### Example 1: Text Layout
|
71
|
+
### Example 1: Text Layout
|
62
72
|
|
63
73
|
[View Example](./testProj/src/navigators/children/TextLayout/TextLayout.tsx)
|
64
74
|
|
65
|
-
### Example 2: Animated Layout
|
75
|
+
### Example 2: Animated Layout
|
66
76
|
|
67
77
|
[View Example](./testProj/src/navigators/children/AnimatedExample/AnimatedExample.tsx)
|
68
78
|
|
69
79
|
---
|
70
80
|
|
81
|
+
## Architecture
|
82
|
+
|
83
|
+
The structural foundation of this library originates from [react-native-quick-crypto](https://github.com/margelo/react-native-quick-crypto/tree/v0.7.11).
|
84
|
+
|
85
|
+
---
|
86
|
+
|
71
87
|
## Contribution
|
72
88
|
|
73
89
|
This library is experimental and open to contributions. Please submit issues, feature requests, or pull requests via the repository.
|
@@ -80,4 +96,4 @@ MIT
|
|
80
96
|
|
81
97
|
---
|
82
98
|
|
83
|
-
Happy
|
99
|
+
Happy Hacking! 🚀
|
package/android/CMakeLists.txt
CHANGED
@@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.10.2)
|
|
4
4
|
set(PACKAGE_NAME "reactnativeyogajsi")
|
5
5
|
set(BUILD_DIR ${CMAKE_SOURCE_DIR}/build)
|
6
6
|
set(CMAKE_VERBOSE_MAKEFILE ON)
|
7
|
-
set(CMAKE_CXX_STANDARD
|
7
|
+
set(CMAKE_CXX_STANDARD 20)
|
8
8
|
|
9
9
|
# set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g")
|
10
10
|
# set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g")
|
package/cpp/macros.h
CHANGED
@@ -1,19 +1,6 @@
|
|
1
1
|
#ifndef RN_YOGA_MACROS_H
|
2
2
|
#define RN_YOGA_MACROS_H
|
3
3
|
|
4
|
-
// #define CREATE_INSTALL_HOST_FUN(funcName, argCount, scopeVar, rt, where, body) \
|
5
|
-
// auto funcName = Function::createFromHostFunction(rt, \
|
6
|
-
// PropNameID::forAscii(rt, #funcName), \
|
7
|
-
// argCount, \
|
8
|
-
// [scopeVar](Runtime & runtime, const Value &thisValue, const Value *arguments, size_t count) -> Value body); \
|
9
|
-
// where.setProperty(rt, #funcName, move(funcName));
|
10
|
-
|
11
|
-
// #define INSTALL_HOST_FUN_TO_CONFIG(funcName, argCount, body) \
|
12
|
-
// CREATE_INSTALL_HOST_FUN(funcName, argCount, body, config, jsiRuntime, configObject)
|
13
|
-
|
14
|
-
// // #define INSTALL_HOST_FUN(funcName, argCount, body) \
|
15
|
-
// // CREATE_INSTALL_HOST_FUN(funcName, argCount, body, node, runtime, nodeObject)
|
16
|
-
|
17
4
|
#define SET_AUTO_PERCENT_NUMBER(autoSetter, percentSetter, numberSetter) \
|
18
5
|
if (arguments[0].isString()) \
|
19
6
|
{ \
|
@@ -41,7 +28,7 @@
|
|
41
28
|
#define ON_VALUE_PERCENT_UND_NUM(arg, onPercentage, onUndefined, onNumber) \
|
42
29
|
if (arg.isString()) \
|
43
30
|
{ \
|
44
|
-
std::string stringValue =
|
31
|
+
std::string stringValue = arg.getString(runtime).utf8(runtime); \
|
45
32
|
float percentage = std::stof(stringValue.substr(0, stringValue.size() - 1)); \
|
46
33
|
onPercentage; \
|
47
34
|
} \
|
@@ -58,7 +45,7 @@
|
|
58
45
|
#define ON_VALUE_AUTO_PERCENT_UND_NUM(arg, onAuto, onPercentage, onUndefined, onNumber) \
|
59
46
|
if (arg.isString()) \
|
60
47
|
{ \
|
61
|
-
std::string stringValue =
|
48
|
+
std::string stringValue = arg.getString(runtime).utf8(runtime); \
|
62
49
|
if (stringValue == "auto") \
|
63
50
|
onAuto; \
|
64
51
|
else \
|
package/cpp/nodeProperties.h
CHANGED
@@ -110,7 +110,7 @@ namespace nodeProperties
|
|
110
110
|
})
|
111
111
|
|
112
112
|
INSTALL_HOST_FUN(getHeight, 0, {
|
113
|
-
|
113
|
+
SET_YGVALUE(YGNodeStyleGetHeight(node));
|
114
114
|
})
|
115
115
|
|
116
116
|
INSTALL_HOST_FUN(getComputedHeight, 0, {
|
@@ -127,8 +127,6 @@ namespace nodeProperties
|
|
127
127
|
|
128
128
|
INSTALL_HOST_FUN(setPadding, 2, {
|
129
129
|
auto edge = YGEdge(arguments[0].getNumber());
|
130
|
-
printf("edge: %d\n", edge);
|
131
|
-
printf("value: %f\n", arguments[1].getNumber());
|
132
130
|
ON_VALUE_PERCENT_UND_NUM(
|
133
131
|
arguments[1],
|
134
132
|
YGNodeStyleSetPaddingPercent(node, edge, percentage),
|
@@ -167,7 +165,7 @@ namespace nodeProperties
|
|
167
165
|
|
168
166
|
INSTALL_HOST_FUN(setMarginPercent, 2, {
|
169
167
|
auto edge = YGEdge(arguments[0].getNumber());
|
170
|
-
ON_NUM_UNDEFINED(arguments[1], YGNodeStyleSetMarginPercent(node, edge,
|
168
|
+
ON_NUM_UNDEFINED(arguments[1], YGNodeStyleSetMarginPercent(node, edge, arguments[1].getNumber()), YGNodeStyleSetMarginPercent(node, edge, YGUndefined));
|
171
169
|
})
|
172
170
|
|
173
171
|
INSTALL_HOST_FUN(setPosition, 2, {
|
@@ -215,7 +213,7 @@ namespace nodeProperties
|
|
215
213
|
});
|
216
214
|
|
217
215
|
INSTALL_HOST_FUN(setFlex, 1, {
|
218
|
-
ON_NUM_UNDEFINED(arguments[0], YGNodeStyleSetFlex(node,
|
216
|
+
ON_NUM_UNDEFINED(arguments[0], YGNodeStyleSetFlex(node, arguments[0].getNumber()), YGNodeStyleSetFlex(node, YGUndefined));
|
219
217
|
});
|
220
218
|
|
221
219
|
INSTALL_HOST_FUN(setFlexGrow, 1, {
|
@@ -223,7 +221,7 @@ namespace nodeProperties
|
|
223
221
|
});
|
224
222
|
|
225
223
|
INSTALL_HOST_FUN(setFlexShrink, 1, {
|
226
|
-
ON_NUM_UNDEFINED(arguments[0], YGNodeStyleSetFlexShrink(node,
|
224
|
+
ON_NUM_UNDEFINED(arguments[0], YGNodeStyleSetFlexShrink(node, arguments[0].getNumber()), YGNodeStyleSetFlexShrink(node, YGUndefined));
|
227
225
|
});
|
228
226
|
|
229
227
|
INSTALL_HOST_FUN(setFlexBasis, 1, {
|
@@ -261,6 +259,10 @@ namespace nodeProperties
|
|
261
259
|
RETURN_AS_DOUBLE(YGNodeStyleGetFlexGrow(node));
|
262
260
|
});
|
263
261
|
|
262
|
+
INSTALL_HOST_FUN(getFlex, 0, {
|
263
|
+
RETURN_AS_DOUBLE(YGNodeStyleGetFlex(node));
|
264
|
+
});
|
265
|
+
|
264
266
|
INSTALL_HOST_FUN(getFlexShrink, 0, {
|
265
267
|
RETURN_AS_DOUBLE(YGNodeStyleGetFlexShrink(node));
|
266
268
|
});
|
@@ -280,7 +282,7 @@ namespace nodeProperties
|
|
280
282
|
|
281
283
|
INSTALL_HOST_FUN(setBorder, 2, {
|
282
284
|
auto edge = YGEdge(arguments[0].getNumber());
|
283
|
-
ON_NUM_UNDEFINED(arguments[1], YGNodeStyleSetBorder(node, edge,
|
285
|
+
ON_NUM_UNDEFINED(arguments[1], YGNodeStyleSetBorder(node, edge, arguments[1].getNumber()), YGNodeStyleSetBorder(node, edge, YGUndefined));
|
284
286
|
});
|
285
287
|
|
286
288
|
INSTALL_HOST_FUN(getBorder, 1, {
|
package/lib/commonjs/index.js
CHANGED
@@ -30,16 +30,10 @@ Object.keys(_coreTypes).forEach(function (key) {
|
|
30
30
|
}
|
31
31
|
});
|
32
32
|
});
|
33
|
-
// import * as derived from './derived';
|
34
|
-
// import * as coreTypes from './coreTypes';
|
35
|
-
|
36
33
|
(function () {
|
37
34
|
_reactNative.NativeModules.YogaJSI.install();
|
38
35
|
})();
|
39
|
-
|
40
|
-
//@ts-expect-error gotta fix it later
|
41
|
-
const YogaModule = global;
|
42
|
-
var _default = exports.default = YogaModule.Yoga; // module.exports = YogaModule.Yoga;
|
36
|
+
var _default = exports.default = Yoga; // module.exports = YogaModule.Yoga;
|
43
37
|
// module.exports.default = YogaModule.Yoga;
|
44
38
|
// module.exports.derived = derived;
|
45
39
|
// module.exports.coreTypes = coreTypes;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_derived","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_coreTypes","NativeModules","YogaJSI","install","
|
1
|
+
{"version":3,"names":["_reactNative","require","_derived","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_coreTypes","NativeModules","YogaJSI","install","_default","default","Yoga"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAaA,IAAAC,QAAA,GAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,QAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,QAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,QAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,UAAA,GAAAd,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAW,UAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,UAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,UAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AAXA,CAAC,YAAY;EACXU,0BAAa,CAACC,OAAO,CAACC,OAAO,CAAC,CAAC;AACjC,CAAC,EAAE,CAAC;AAAC,IAAAC,QAAA,GAAAR,OAAA,CAAAS,OAAA,GAOUC,IAAI,EAInB;AACA;AACA;AACA","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
@@ -1,16 +1,10 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
import { NativeModules } from 'react-native';
|
4
|
-
// import * as derived from './derived';
|
5
|
-
// import * as coreTypes from './coreTypes';
|
6
|
-
|
7
4
|
(function () {
|
8
5
|
NativeModules.YogaJSI.install();
|
9
6
|
})();
|
10
|
-
|
11
|
-
//@ts-expect-error gotta fix it later
|
12
|
-
const YogaModule = global;
|
13
|
-
export default YogaModule.Yoga;
|
7
|
+
export default Yoga;
|
14
8
|
export * from './derived';
|
15
9
|
export * from './coreTypes';
|
16
10
|
|
package/lib/module/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["NativeModules","YogaJSI","install","
|
1
|
+
{"version":3,"names":["NativeModules","YogaJSI","install","Yoga"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,cAAc;AAG5C,CAAC,YAAY;EACXA,aAAa,CAACC,OAAO,CAACC,OAAO,CAAC,CAAC;AACjC,CAAC,EAAE,CAAC;AAOJ,eAAeC,IAAI;AACnB,cAAc,WAAW;AACzB,cAAc,aAAa;;AAE3B;AACA;AACA;AACA","ignoreList":[]}
|
@@ -124,7 +124,7 @@ type Size = {
|
|
124
124
|
width: number;
|
125
125
|
height: number;
|
126
126
|
};
|
127
|
-
type Value = {
|
127
|
+
export type Value = {
|
128
128
|
unit: Unit;
|
129
129
|
value: number;
|
130
130
|
};
|
@@ -152,7 +152,7 @@ export type Node = {
|
|
152
152
|
getBorder(edge: Edge): number;
|
153
153
|
getChild(index: number): Node;
|
154
154
|
getChildCount(): number;
|
155
|
-
getComputedBorder(edge: Edge): number;
|
155
|
+
getComputedBorder(edge: Edge.Left | Edge.Right | Edge.Bottom | Edge.Top | Edge.Start | Edge.End): number;
|
156
156
|
getComputedBottom(): number;
|
157
157
|
getComputedHeight(): number;
|
158
158
|
getComputedLayout(): Layout;
|
@@ -168,6 +168,7 @@ export type Node = {
|
|
168
168
|
getFlexBasis(): Value;
|
169
169
|
getFlexDirection(): FlexDirection;
|
170
170
|
getFlexGrow(): number;
|
171
|
+
getFlex(): number;
|
171
172
|
getFlexShrink(): number;
|
172
173
|
getFlexWrap(): Wrap;
|
173
174
|
getHeight(): Value;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"coreTypes.d.ts","sourceRoot":"","sources":["../../../src/coreTypes.ts"],"names":[],"mappings":"AAAA,oBAAY,KAAK;IACf,IAAI,IAAI;IACR,SAAS,IAAI;IACb,MAAM,IAAI;IACV,OAAO,IAAI;IACX,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,YAAY,IAAI;IAChB,WAAW,IAAI;IACf,WAAW,IAAI;CAChB;AAED,oBAAY,SAAS;IACnB,SAAS,IAAI;IACb,UAAU,IAAI;CACf;AAED,oBAAY,SAAS;IACnB,KAAK,IAAI;IACT,MAAM,IAAI;CACX;AAED,oBAAY,SAAS;IACnB,OAAO,IAAI;IACX,GAAG,IAAI;IACP,GAAG,IAAI;CACR;AAED,oBAAY,OAAO;IACjB,IAAI,IAAI;IACR,IAAI,IAAI;IACR,QAAQ,IAAI;CACb;AAED,oBAAY,IAAI;IACd,IAAI,IAAI;IACR,GAAG,IAAI;IACP,KAAK,IAAI;IACT,MAAM,IAAI;IACV,KAAK,IAAI;IACT,GAAG,IAAI;IACP,UAAU,IAAI;IACd,QAAQ,IAAI;IACZ,GAAG,IAAI;CACR;AAED,oBAAY,MAAM;IAChB,IAAI,IAAI;IACR,gBAAgB,IAAI;IACpB,4CAA4C,IAAI;IAChD,+BAA+B,IAAI;IACnC,GAAG,aAAa;IAChB,OAAO,aAAa;CACrB;AAED,oBAAY,mBAAmB;IAC7B,YAAY,IAAI;CACjB;AAED,oBAAY,aAAa;IACvB,MAAM,IAAI;IACV,aAAa,IAAI;IACjB,GAAG,IAAI;IACP,UAAU,IAAI;CACf;AAED,oBAAY,MAAM;IAChB,MAAM,IAAI;IACV,GAAG,IAAI;IACP,GAAG,IAAI;CACR;AAED,oBAAY,OAAO;IACjB,SAAS,IAAI;IACb,MAAM,IAAI;IACV,OAAO,IAAI;IACX,YAAY,IAAI;IAChB,WAAW,IAAI;IACf,WAAW,IAAI;CAChB;AAED,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;IACT,OAAO,IAAI;IACX,KAAK,IAAI;CACV;AAED,oBAAY,WAAW;IACrB,SAAS,IAAI;IACb,OAAO,IAAI;IACX,MAAM,IAAI;CACX;AAED,oBAAY,QAAQ;IAClB,OAAO,IAAI;IACX,IAAI,IAAI;CACT;AAED,oBAAY,QAAQ;IAClB,OAAO,IAAI;IACX,MAAM,IAAI;IACV,MAAM,IAAI;CACX;AAED,oBAAY,YAAY;IACtB,MAAM,IAAI;IACV,QAAQ,IAAI;IACZ,QAAQ,IAAI;CACb;AAED,oBAAY,IAAI;IACd,SAAS,IAAI;IACb,KAAK,IAAI;IACT,OAAO,IAAI;IACX,IAAI,IAAI;CACT;AAED,oBAAY,IAAI;IACd,MAAM,IAAI;IACV,IAAI,IAAI;IACR,WAAW,IAAI;CAChB;AAED,KAAK,MAAM,GAAG;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,IAAI,GAAG;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,
|
1
|
+
{"version":3,"file":"coreTypes.d.ts","sourceRoot":"","sources":["../../../src/coreTypes.ts"],"names":[],"mappings":"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"}
|
@@ -1,6 +1,8 @@
|
|
1
|
-
import type { Yoga } from './coreTypes';
|
2
|
-
declare
|
3
|
-
|
1
|
+
import type { Yoga as YogaType } from './coreTypes';
|
2
|
+
declare global {
|
3
|
+
const Yoga: YogaType;
|
4
|
+
}
|
5
|
+
export default Yoga;
|
4
6
|
export * from './derived';
|
5
7
|
export * from './coreTypes';
|
6
8
|
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAMpD,OAAO,CAAC,MAAM,CAAC;IACb,MAAM,IAAI,EAAE,QAAQ,CAAC;CACtB;AAGD,eAAe,IAAI,CAAC;AACpB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "react-native-yoga-jsi",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.2.0",
|
4
4
|
"description": "Using Yoga with JSI in React Native",
|
5
5
|
"packageManager": "bun@1.1.26",
|
6
6
|
"main": "lib/commonjs/index",
|
@@ -45,19 +45,19 @@
|
|
45
45
|
"android",
|
46
46
|
"jsi",
|
47
47
|
"c++",
|
48
|
-
"
|
49
|
-
"
|
48
|
+
"yoga",
|
49
|
+
"yoga-layout"
|
50
50
|
],
|
51
51
|
"repository": {
|
52
52
|
"type": "git",
|
53
|
-
"url": "git+https://github.com/
|
53
|
+
"url": "git+https://github.com/Swami-Laxmikant/react-native-yoga-jsi.git"
|
54
54
|
},
|
55
|
-
"authors": "
|
55
|
+
"authors": "Laxmikant Swami",
|
56
56
|
"license": "MIT",
|
57
57
|
"bugs": {
|
58
|
-
"url": "https://github.com/
|
58
|
+
"url": "https://github.com/Swami-Laxmikant/react-native-yoga-jsi/issues"
|
59
59
|
},
|
60
|
-
"homepage": "https://github.com/
|
60
|
+
"homepage": "https://github.com/Swami-Laxmikant/react-native-yoga-jsi",
|
61
61
|
"publishConfig": {
|
62
62
|
"registry": "https://registry.npmjs.org/"
|
63
63
|
},
|
package/src/coreTypes.ts
CHANGED
@@ -145,7 +145,7 @@ type Size = {
|
|
145
145
|
height: number;
|
146
146
|
};
|
147
147
|
|
148
|
-
type Value = {
|
148
|
+
export type Value = {
|
149
149
|
unit: Unit;
|
150
150
|
value: number;
|
151
151
|
};
|
@@ -189,7 +189,8 @@ export type Node = {
|
|
189
189
|
getBorder(edge: Edge): number;
|
190
190
|
getChild(index: number): Node;
|
191
191
|
getChildCount(): number;
|
192
|
-
|
192
|
+
// safe edge
|
193
|
+
getComputedBorder(edge: Edge.Left | Edge.Right | Edge.Bottom | Edge.Top | Edge.Start | Edge.End): number;
|
193
194
|
getComputedBottom(): number;
|
194
195
|
getComputedHeight(): number;
|
195
196
|
getComputedLayout(): Layout;
|
@@ -205,6 +206,7 @@ export type Node = {
|
|
205
206
|
getFlexBasis(): Value;
|
206
207
|
getFlexDirection(): FlexDirection;
|
207
208
|
getFlexGrow(): number;
|
209
|
+
getFlex(): number;
|
208
210
|
getFlexShrink(): number;
|
209
211
|
getFlexWrap(): Wrap;
|
210
212
|
getHeight(): Value;
|
package/src/index.ts
CHANGED
@@ -1,18 +1,16 @@
|
|
1
1
|
import { NativeModules } from 'react-native';
|
2
|
-
import type { Yoga } from './coreTypes';
|
3
|
-
// import * as derived from './derived';
|
4
|
-
// import * as coreTypes from './coreTypes';
|
2
|
+
import type { Yoga as YogaType } from './coreTypes';
|
5
3
|
|
6
4
|
(function () {
|
7
5
|
NativeModules.YogaJSI.install();
|
8
6
|
})();
|
9
7
|
|
10
|
-
|
11
|
-
const
|
12
|
-
|
13
|
-
} = global;
|
8
|
+
declare global {
|
9
|
+
const Yoga: YogaType;
|
10
|
+
}
|
14
11
|
|
15
|
-
|
12
|
+
|
13
|
+
export default Yoga;
|
16
14
|
export * from './derived';
|
17
15
|
export * from './coreTypes';
|
18
16
|
|