es6 compatable enums (#1229)
Summary: I wanna repeat the constants export in `yoga-wasm-web`, to achieve ```js import { ALIGN_CENTER } from "yoga-layout"; ``` And I failed. it is impossible because `rollup` and other tools can't transform commonjs `module.exports = { WHATEVER: 1 }` into ECMAScript modules. however, they can work with separate exports like `exports.WHATEVER = 1` and this PR transforms yoga constants into this convertible format This doesn't change anything for the yoga package, but it makes it possible to reexport constants without any modification and hacks, like this ```js export * from "./javascript/src_js/generated/YGEnums.js"; ``` [discussion in yoga-layout-wasm](https://github.com/shuding/yoga-wasm-web/pull/15) Pull Request resolved: https://github.com/facebook/yoga/pull/1229 Reviewed By: NickGerleman Differential Revision: D43437177 Pulled By: rshest fbshipit-source-id: bfe1404d1b48779f404e6510f2aafadd7fd4e774
This commit is contained in:
committed by
Facebook GitHub Bot
parent
220d2582c9
commit
13eacf8858
4
enums.py
4
enums.py
@@ -228,7 +228,6 @@ for name, values in sorted(ENUMS.items()):
|
|||||||
# write out javascript file
|
# write out javascript file
|
||||||
with open(root + "/javascript/src_js/generated/YGEnums.js", "w") as f:
|
with open(root + "/javascript/src_js/generated/YGEnums.js", "w") as f:
|
||||||
f.write(get_license("js"))
|
f.write(get_license("js"))
|
||||||
f.write("module.exports = {\n")
|
|
||||||
items = sorted(ENUMS.items())
|
items = sorted(ENUMS.items())
|
||||||
for name, values in items:
|
for name, values in items:
|
||||||
base = 0
|
base = 0
|
||||||
@@ -237,14 +236,13 @@ with open(root + "/javascript/src_js/generated/YGEnums.js", "w") as f:
|
|||||||
ordinal_arg = value[1] if isinstance(value, tuple) else base
|
ordinal_arg = value[1] if isinstance(value, tuple) else base
|
||||||
|
|
||||||
f.write(
|
f.write(
|
||||||
" %s_%s: %d,\n"
|
"exports.%s_%s = %d;\n"
|
||||||
% (to_java_upper(name), to_java_upper(value_arg), ordinal_arg)
|
% (to_java_upper(name), to_java_upper(value_arg), ordinal_arg)
|
||||||
)
|
)
|
||||||
base = ordinal_arg + 1
|
base = ordinal_arg + 1
|
||||||
|
|
||||||
if name != items[-1][0]:
|
if name != items[-1][0]:
|
||||||
f.write("\n")
|
f.write("\n")
|
||||||
f.write("};\n")
|
|
||||||
|
|
||||||
with open(root + "/javascript/src_js/generated/YGEnums.d.ts", "w") as f:
|
with open(root + "/javascript/src_js/generated/YGEnums.d.ts", "w") as f:
|
||||||
f.write(get_license("js"))
|
f.write(get_license("js"))
|
||||||
|
@@ -1 +1,2 @@
|
|||||||
tests/generated/
|
tests/generated/
|
||||||
|
src_js/generated/
|
||||||
|
@@ -7,88 +7,86 @@
|
|||||||
|
|
||||||
// @generated by enums.py
|
// @generated by enums.py
|
||||||
|
|
||||||
module.exports = {
|
exports.ALIGN_AUTO = 0;
|
||||||
ALIGN_AUTO: 0,
|
exports.ALIGN_FLEX_START = 1;
|
||||||
ALIGN_FLEX_START: 1,
|
exports.ALIGN_CENTER = 2;
|
||||||
ALIGN_CENTER: 2,
|
exports.ALIGN_FLEX_END = 3;
|
||||||
ALIGN_FLEX_END: 3,
|
exports.ALIGN_STRETCH = 4;
|
||||||
ALIGN_STRETCH: 4,
|
exports.ALIGN_BASELINE = 5;
|
||||||
ALIGN_BASELINE: 5,
|
exports.ALIGN_SPACE_BETWEEN = 6;
|
||||||
ALIGN_SPACE_BETWEEN: 6,
|
exports.ALIGN_SPACE_AROUND = 7;
|
||||||
ALIGN_SPACE_AROUND: 7,
|
|
||||||
|
|
||||||
DIMENSION_WIDTH: 0,
|
exports.DIMENSION_WIDTH = 0;
|
||||||
DIMENSION_HEIGHT: 1,
|
exports.DIMENSION_HEIGHT = 1;
|
||||||
|
|
||||||
DIRECTION_INHERIT: 0,
|
exports.DIRECTION_INHERIT = 0;
|
||||||
DIRECTION_LTR: 1,
|
exports.DIRECTION_LTR = 1;
|
||||||
DIRECTION_RTL: 2,
|
exports.DIRECTION_RTL = 2;
|
||||||
|
|
||||||
DISPLAY_FLEX: 0,
|
exports.DISPLAY_FLEX = 0;
|
||||||
DISPLAY_NONE: 1,
|
exports.DISPLAY_NONE = 1;
|
||||||
|
|
||||||
EDGE_LEFT: 0,
|
exports.EDGE_LEFT = 0;
|
||||||
EDGE_TOP: 1,
|
exports.EDGE_TOP = 1;
|
||||||
EDGE_RIGHT: 2,
|
exports.EDGE_RIGHT = 2;
|
||||||
EDGE_BOTTOM: 3,
|
exports.EDGE_BOTTOM = 3;
|
||||||
EDGE_START: 4,
|
exports.EDGE_START = 4;
|
||||||
EDGE_END: 5,
|
exports.EDGE_END = 5;
|
||||||
EDGE_HORIZONTAL: 6,
|
exports.EDGE_HORIZONTAL = 6;
|
||||||
EDGE_VERTICAL: 7,
|
exports.EDGE_VERTICAL = 7;
|
||||||
EDGE_ALL: 8,
|
exports.EDGE_ALL = 8;
|
||||||
|
|
||||||
EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS: 0,
|
exports.EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS = 0;
|
||||||
EXPERIMENTAL_FEATURE_ABSOLUTE_PERCENTAGE_AGAINST_PADDING_EDGE: 1,
|
exports.EXPERIMENTAL_FEATURE_ABSOLUTE_PERCENTAGE_AGAINST_PADDING_EDGE = 1;
|
||||||
EXPERIMENTAL_FEATURE_FIX_ABSOLUTE_TRAILING_COLUMN_MARGIN: 2,
|
exports.EXPERIMENTAL_FEATURE_FIX_ABSOLUTE_TRAILING_COLUMN_MARGIN = 2;
|
||||||
|
|
||||||
FLEX_DIRECTION_COLUMN: 0,
|
exports.FLEX_DIRECTION_COLUMN = 0;
|
||||||
FLEX_DIRECTION_COLUMN_REVERSE: 1,
|
exports.FLEX_DIRECTION_COLUMN_REVERSE = 1;
|
||||||
FLEX_DIRECTION_ROW: 2,
|
exports.FLEX_DIRECTION_ROW = 2;
|
||||||
FLEX_DIRECTION_ROW_REVERSE: 3,
|
exports.FLEX_DIRECTION_ROW_REVERSE = 3;
|
||||||
|
|
||||||
GUTTER_COLUMN: 0,
|
exports.GUTTER_COLUMN = 0;
|
||||||
GUTTER_ROW: 1,
|
exports.GUTTER_ROW = 1;
|
||||||
GUTTER_ALL: 2,
|
exports.GUTTER_ALL = 2;
|
||||||
|
|
||||||
JUSTIFY_FLEX_START: 0,
|
exports.JUSTIFY_FLEX_START = 0;
|
||||||
JUSTIFY_CENTER: 1,
|
exports.JUSTIFY_CENTER = 1;
|
||||||
JUSTIFY_FLEX_END: 2,
|
exports.JUSTIFY_FLEX_END = 2;
|
||||||
JUSTIFY_SPACE_BETWEEN: 3,
|
exports.JUSTIFY_SPACE_BETWEEN = 3;
|
||||||
JUSTIFY_SPACE_AROUND: 4,
|
exports.JUSTIFY_SPACE_AROUND = 4;
|
||||||
JUSTIFY_SPACE_EVENLY: 5,
|
exports.JUSTIFY_SPACE_EVENLY = 5;
|
||||||
|
|
||||||
LOG_LEVEL_ERROR: 0,
|
exports.LOG_LEVEL_ERROR = 0;
|
||||||
LOG_LEVEL_WARN: 1,
|
exports.LOG_LEVEL_WARN = 1;
|
||||||
LOG_LEVEL_INFO: 2,
|
exports.LOG_LEVEL_INFO = 2;
|
||||||
LOG_LEVEL_DEBUG: 3,
|
exports.LOG_LEVEL_DEBUG = 3;
|
||||||
LOG_LEVEL_VERBOSE: 4,
|
exports.LOG_LEVEL_VERBOSE = 4;
|
||||||
LOG_LEVEL_FATAL: 5,
|
exports.LOG_LEVEL_FATAL = 5;
|
||||||
|
|
||||||
MEASURE_MODE_UNDEFINED: 0,
|
exports.MEASURE_MODE_UNDEFINED = 0;
|
||||||
MEASURE_MODE_EXACTLY: 1,
|
exports.MEASURE_MODE_EXACTLY = 1;
|
||||||
MEASURE_MODE_AT_MOST: 2,
|
exports.MEASURE_MODE_AT_MOST = 2;
|
||||||
|
|
||||||
NODE_TYPE_DEFAULT: 0,
|
exports.NODE_TYPE_DEFAULT = 0;
|
||||||
NODE_TYPE_TEXT: 1,
|
exports.NODE_TYPE_TEXT = 1;
|
||||||
|
|
||||||
OVERFLOW_VISIBLE: 0,
|
exports.OVERFLOW_VISIBLE = 0;
|
||||||
OVERFLOW_HIDDEN: 1,
|
exports.OVERFLOW_HIDDEN = 1;
|
||||||
OVERFLOW_SCROLL: 2,
|
exports.OVERFLOW_SCROLL = 2;
|
||||||
|
|
||||||
POSITION_TYPE_STATIC: 0,
|
exports.POSITION_TYPE_STATIC = 0;
|
||||||
POSITION_TYPE_RELATIVE: 1,
|
exports.POSITION_TYPE_RELATIVE = 1;
|
||||||
POSITION_TYPE_ABSOLUTE: 2,
|
exports.POSITION_TYPE_ABSOLUTE = 2;
|
||||||
|
|
||||||
PRINT_OPTIONS_LAYOUT: 1,
|
exports.PRINT_OPTIONS_LAYOUT = 1;
|
||||||
PRINT_OPTIONS_STYLE: 2,
|
exports.PRINT_OPTIONS_STYLE = 2;
|
||||||
PRINT_OPTIONS_CHILDREN: 4,
|
exports.PRINT_OPTIONS_CHILDREN = 4;
|
||||||
|
|
||||||
UNIT_UNDEFINED: 0,
|
exports.UNIT_UNDEFINED = 0;
|
||||||
UNIT_POINT: 1,
|
exports.UNIT_POINT = 1;
|
||||||
UNIT_PERCENT: 2,
|
exports.UNIT_PERCENT = 2;
|
||||||
UNIT_AUTO: 3,
|
exports.UNIT_AUTO = 3;
|
||||||
|
|
||||||
WRAP_NO_WRAP: 0,
|
exports.WRAP_NO_WRAP = 0;
|
||||||
WRAP_WRAP: 1,
|
exports.WRAP_WRAP = 1;
|
||||||
WRAP_WRAP_REVERSE: 2,
|
exports.WRAP_WRAP_REVERSE = 2;
|
||||||
};
|
|
||||||
|
Reference in New Issue
Block a user