@react-native/codegen 0.74.0 → 0.75.0-nightly-20240221-a1171f79f
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/lib/CodegenSchema.d.ts +10 -1
- package/lib/CodegenSchema.js.flow +2 -1
- package/lib/SchemaValidator.js.flow +2 -2
- package/lib/cli/combine/combine-js-to-schema-cli.js +59 -40
- package/lib/cli/combine/combine-js-to-schema-cli.js.flow +23 -39
- package/lib/cli/combine/combine-js-to-schema.js +49 -1
- package/lib/cli/combine/combine-js-to-schema.js.flow +59 -1
- package/lib/cli/combine/combine-schemas-cli.js +77 -0
- package/lib/cli/combine/combine-schemas-cli.js.flow +87 -0
- package/lib/cli/combine/combine-utils.js +3 -65
- package/lib/cli/combine/combine-utils.js.flow +7 -28
- package/lib/cli/parser/parser.js +1 -1
- package/lib/cli/parser/parser.js.flow +1 -1
- package/lib/generators/RNCodegen.d.ts +1 -0
- package/lib/generators/RNCodegen.js +58 -31
- package/lib/generators/RNCodegen.js.flow +52 -32
- package/lib/generators/TypeUtils/Cxx/index.js +17 -0
- package/lib/generators/TypeUtils/Cxx/index.js.flow +18 -0
- package/lib/generators/TypeUtils/Java/index.js +31 -0
- package/lib/generators/TypeUtils/Java/index.js.flow +27 -0
- package/lib/generators/TypeUtils/Objective-C/index.js +17 -0
- package/lib/generators/TypeUtils/Objective-C/index.js.flow +18 -0
- package/lib/generators/components/ComponentsGeneratorUtils.js +7 -7
- package/lib/generators/components/ComponentsGeneratorUtils.js.flow +8 -10
- package/lib/generators/components/ComponentsProviderUtils.js +55 -0
- package/lib/generators/components/ComponentsProviderUtils.js.flow +60 -0
- package/lib/generators/components/CppHelpers.js +7 -0
- package/lib/generators/components/CppHelpers.js.flow +14 -0
- package/lib/generators/components/GenerateComponentDescriptorCpp.js +89 -0
- package/lib/generators/components/GenerateComponentDescriptorCpp.js.flow +101 -0
- package/lib/generators/components/GenerateComponentDescriptorH.js +28 -12
- package/lib/generators/components/GenerateComponentDescriptorH.js.flow +20 -12
- package/lib/generators/components/GenerateComponentHObjCpp.js +15 -1
- package/lib/generators/components/GenerateComponentHObjCpp.js.flow +11 -2
- package/lib/generators/components/GenerateEventEmitterCpp.js +28 -15
- package/lib/generators/components/GenerateEventEmitterCpp.js.flow +16 -17
- package/lib/generators/components/GenerateEventEmitterH.js +20 -13
- package/lib/generators/components/GenerateEventEmitterH.js.flow +13 -15
- package/lib/generators/components/GeneratePropsCpp.js +17 -8
- package/lib/generators/components/GeneratePropsCpp.js.flow +13 -9
- package/lib/generators/components/GeneratePropsH.js +23 -16
- package/lib/generators/components/GeneratePropsH.js.flow +12 -16
- package/lib/generators/components/GeneratePropsJavaDelegate.js +11 -3
- package/lib/generators/components/GeneratePropsJavaDelegate.js.flow +7 -4
- package/lib/generators/components/GeneratePropsJavaInterface.js +11 -3
- package/lib/generators/components/GeneratePropsJavaInterface.js.flow +6 -3
- package/lib/generators/components/GeneratePropsJavaPojo/PojoCollector.js.flow +6 -6
- package/lib/generators/components/GeneratePropsJavaPojo/index.js +1 -1
- package/lib/generators/components/GeneratePropsJavaPojo/index.js.flow +1 -1
- package/lib/generators/components/GeneratePropsJavaPojo/serializePojo.js.flow +1 -0
- package/lib/generators/components/GenerateShadowNodeCpp.js +19 -8
- package/lib/generators/components/GenerateShadowNodeCpp.js.flow +9 -8
- package/lib/generators/components/GenerateShadowNodeH.js +27 -11
- package/lib/generators/components/GenerateShadowNodeH.js.flow +11 -14
- package/lib/generators/components/GenerateStateCpp.js +19 -8
- package/lib/generators/components/GenerateStateCpp.js.flow +9 -8
- package/lib/generators/components/GenerateStateH.js +9 -5
- package/lib/generators/components/GenerateStateH.js.flow +3 -4
- package/lib/generators/components/GenerateTests.js +11 -5
- package/lib/generators/components/GenerateTests.js.flow +2 -2
- package/lib/generators/components/GenerateThirdPartyFabricComponentsProviderH.js +16 -3
- package/lib/generators/components/GenerateThirdPartyFabricComponentsProviderH.js.flow +18 -3
- package/lib/generators/components/GenerateThirdPartyFabricComponentsProviderObjCpp.js +18 -3
- package/lib/generators/components/GenerateThirdPartyFabricComponentsProviderObjCpp.js.flow +21 -3
- package/lib/generators/components/GenerateViewConfigJs.js +2 -2
- package/lib/generators/components/GenerateViewConfigJs.js.flow +2 -2
- package/lib/generators/components/JavaHelpers.js +8 -0
- package/lib/generators/components/JavaHelpers.js.flow +9 -0
- package/lib/generators/components/__test_fixtures__/fixtures.js +22 -0
- package/lib/generators/components/__test_fixtures__/fixtures.js.flow +22 -0
- package/lib/generators/modules/GenerateModuleCpp.js +14 -10
- package/lib/generators/modules/GenerateModuleCpp.js.flow +9 -10
- package/lib/generators/modules/GenerateModuleH.js +198 -72
- package/lib/generators/modules/GenerateModuleH.js.flow +186 -71
- package/lib/generators/modules/GenerateModuleJavaSpec.js +50 -57
- package/lib/generators/modules/GenerateModuleJavaSpec.js.flow +45 -50
- package/lib/generators/modules/GenerateModuleJniCpp.js +16 -12
- package/lib/generators/modules/GenerateModuleJniCpp.js.flow +11 -12
- package/lib/generators/modules/GenerateModuleJniH.js +12 -5
- package/lib/generators/modules/GenerateModuleJniH.js.flow +8 -6
- package/lib/generators/modules/GenerateModuleObjCpp/StructCollector.js +5 -5
- package/lib/generators/modules/GenerateModuleObjCpp/StructCollector.js.flow +11 -12
- package/lib/generators/modules/GenerateModuleObjCpp/header/serializeConstantsStruct.js +23 -21
- package/lib/generators/modules/GenerateModuleObjCpp/header/serializeConstantsStruct.js.flow +19 -18
- package/lib/generators/modules/GenerateModuleObjCpp/header/serializeRegularStruct.js +23 -21
- package/lib/generators/modules/GenerateModuleObjCpp/header/serializeRegularStruct.js.flow +19 -18
- package/lib/generators/modules/GenerateModuleObjCpp/index.js +18 -20
- package/lib/generators/modules/GenerateModuleObjCpp/index.js.flow +11 -14
- package/lib/generators/modules/GenerateModuleObjCpp/serializeMethod.js +40 -42
- package/lib/generators/modules/GenerateModuleObjCpp/serializeMethod.js.flow +38 -44
- package/lib/generators/modules/GenerateModuleObjCpp/source/serializeModule.js +25 -27
- package/lib/generators/modules/GenerateModuleObjCpp/source/serializeModule.js.flow +26 -28
- package/lib/generators/modules/Utils.js +98 -0
- package/lib/generators/modules/Utils.js.flow +34 -2
- package/lib/generators/modules/__test_fixtures__/fixtures.js +685 -64
- package/lib/generators/modules/__test_fixtures__/fixtures.js.flow +686 -64
- package/lib/parsers/error-utils.js +17 -17
- package/lib/parsers/error-utils.js.flow +10 -10
- package/lib/parsers/errors.js +10 -0
- package/lib/parsers/errors.js.flow +15 -1
- package/lib/parsers/flow/components/__test_fixtures__/fixtures.js +7 -1
- package/lib/parsers/flow/components/__test_fixtures__/fixtures.js.flow +7 -1
- package/lib/parsers/flow/components/commands.js +24 -0
- package/lib/parsers/flow/components/commands.js.flow +45 -3
- package/lib/parsers/flow/components/componentsUtils.js +5 -4
- package/lib/parsers/flow/components/componentsUtils.js.flow +4 -3
- package/lib/parsers/flow/components/events.js +7 -7
- package/lib/parsers/flow/components/events.js.flow +7 -7
- package/lib/parsers/flow/components/index.js +8 -8
- package/lib/parsers/flow/components/index.js.flow +3 -3
- package/lib/parsers/flow/modules/__test_fixtures__/fixtures.js +13 -0
- package/lib/parsers/flow/modules/__test_fixtures__/fixtures.js.flow +13 -0
- package/lib/parsers/flow/modules/index.js +20 -19
- package/lib/parsers/flow/modules/index.js.flow +10 -11
- package/lib/parsers/flow/parseFlowAndThrowErrors.js +105 -0
- package/lib/parsers/flow/parseFlowAndThrowErrors.js.flow +41 -0
- package/lib/parsers/flow/parser.js +24 -25
- package/lib/parsers/flow/parser.js.flow +27 -36
- package/lib/parsers/flow/utils.js.flow +1 -1
- package/lib/parsers/parser.js.flow +12 -10
- package/lib/parsers/parserMock.js +11 -12
- package/lib/parsers/parserMock.js.flow +25 -28
- package/lib/parsers/parsers-commons.js +85 -36
- package/lib/parsers/parsers-commons.js.flow +71 -37
- package/lib/parsers/parsers-primitives.js +17 -17
- package/lib/parsers/parsers-primitives.js.flow +14 -16
- package/lib/parsers/schema.js.flow +3 -3
- package/lib/parsers/typescript/components/__test_fixtures__/fixtures.js +8 -1
- package/lib/parsers/typescript/components/__test_fixtures__/fixtures.js.flow +8 -1
- package/lib/parsers/typescript/components/commands.js +23 -15
- package/lib/parsers/typescript/components/commands.js.flow +24 -16
- package/lib/parsers/typescript/components/componentsUtils.js +34 -20
- package/lib/parsers/typescript/components/componentsUtils.js.flow +36 -19
- package/lib/parsers/typescript/components/events.js +22 -22
- package/lib/parsers/typescript/components/events.js.flow +11 -10
- package/lib/parsers/typescript/components/extends.js.flow +1 -0
- package/lib/parsers/typescript/components/index.js +10 -10
- package/lib/parsers/typescript/components/index.js.flow +4 -4
- package/lib/parsers/typescript/modules/__test_fixtures__/fixtures.js +13 -0
- package/lib/parsers/typescript/modules/__test_fixtures__/fixtures.js.flow +13 -0
- package/lib/parsers/typescript/modules/index.js +25 -20
- package/lib/parsers/typescript/modules/index.js.flow +16 -14
- package/lib/parsers/typescript/parser.js +25 -26
- package/lib/parsers/typescript/parser.js.flow +23 -27
- package/lib/parsers/utils.js +5 -0
- package/lib/parsers/utils.js.flow +6 -1
- package/package.json +8 -6
|
@@ -10,28 +10,28 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
const _require = require('
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
13
|
+
const _require = require('../../error-utils'),
|
|
14
|
+
throwIfArgumentPropsAreNull = _require.throwIfArgumentPropsAreNull,
|
|
15
|
+
throwIfBubblingTypeIsNull = _require.throwIfBubblingTypeIsNull,
|
|
16
|
+
throwIfEventHasNoName = _require.throwIfEventHasNoName;
|
|
17
|
+
const _require2 = require('../../parsers-commons'),
|
|
18
|
+
buildPropertiesForEvent = _require2.buildPropertiesForEvent,
|
|
19
|
+
emitBuildEventSchema = _require2.emitBuildEventSchema,
|
|
20
|
+
getEventArgument = _require2.getEventArgument,
|
|
21
|
+
handleEventHandler = _require2.handleEventHandler;
|
|
22
|
+
const _require3 = require('../../parsers-primitives'),
|
|
23
|
+
emitBoolProp = _require3.emitBoolProp,
|
|
24
|
+
emitDoubleProp = _require3.emitDoubleProp,
|
|
25
|
+
emitFloatProp = _require3.emitFloatProp,
|
|
26
|
+
emitInt32Prop = _require3.emitInt32Prop,
|
|
27
|
+
emitMixedProp = _require3.emitMixedProp,
|
|
28
|
+
emitObjectProp = _require3.emitObjectProp,
|
|
29
|
+
emitStringProp = _require3.emitStringProp,
|
|
30
|
+
emitUnionProp = _require3.emitUnionProp;
|
|
31
|
+
const _require4 = require('../parseTopLevelType'),
|
|
32
|
+
parseTopLevelType = _require4.parseTopLevelType;
|
|
33
|
+
const _require5 = require('./componentsUtils'),
|
|
34
|
+
flattenProperties = _require5.flattenProperties;
|
|
35
35
|
function getPropertyType(
|
|
36
36
|
/* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's
|
|
37
37
|
* LTI update could not be added via codemod */
|
|
@@ -11,35 +11,36 @@
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
13
|
import type {
|
|
14
|
+
EventTypeAnnotation,
|
|
14
15
|
EventTypeShape,
|
|
15
16
|
NamedShape,
|
|
16
|
-
EventTypeAnnotation,
|
|
17
17
|
} from '../../../CodegenSchema.js';
|
|
18
|
-
import type {TypeDeclarationMap} from '../../utils';
|
|
19
18
|
import type {Parser} from '../../parser';
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
import type {TypeDeclarationMap} from '../../utils';
|
|
20
|
+
|
|
22
21
|
const {
|
|
23
|
-
throwIfEventHasNoName,
|
|
24
|
-
throwIfBubblingTypeIsNull,
|
|
25
22
|
throwIfArgumentPropsAreNull,
|
|
23
|
+
throwIfBubblingTypeIsNull,
|
|
24
|
+
throwIfEventHasNoName,
|
|
26
25
|
} = require('../../error-utils');
|
|
27
26
|
const {
|
|
28
|
-
getEventArgument,
|
|
29
27
|
buildPropertiesForEvent,
|
|
30
|
-
handleEventHandler,
|
|
31
28
|
emitBuildEventSchema,
|
|
29
|
+
getEventArgument,
|
|
30
|
+
handleEventHandler,
|
|
32
31
|
} = require('../../parsers-commons');
|
|
33
32
|
const {
|
|
34
33
|
emitBoolProp,
|
|
35
34
|
emitDoubleProp,
|
|
36
35
|
emitFloatProp,
|
|
37
|
-
emitMixedProp,
|
|
38
|
-
emitStringProp,
|
|
39
36
|
emitInt32Prop,
|
|
37
|
+
emitMixedProp,
|
|
40
38
|
emitObjectProp,
|
|
39
|
+
emitStringProp,
|
|
41
40
|
emitUnionProp,
|
|
42
41
|
} = require('../../parsers-primitives');
|
|
42
|
+
const {parseTopLevelType} = require('../parseTopLevelType');
|
|
43
|
+
const {flattenProperties} = require('./componentsUtils');
|
|
43
44
|
function getPropertyType(
|
|
44
45
|
/* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's
|
|
45
46
|
* LTI update could not be added via codemod */
|
|
@@ -10,16 +10,16 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
const _require = require('
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
13
|
+
const _require = require('../../parsers-commons'),
|
|
14
|
+
findComponentConfig = _require.findComponentConfig,
|
|
15
|
+
getCommandProperties = _require.getCommandProperties,
|
|
16
|
+
getOptions = _require.getOptions;
|
|
17
|
+
const _require2 = require('./commands'),
|
|
18
|
+
getCommands = _require2.getCommands;
|
|
19
|
+
const _require3 = require('./events'),
|
|
20
|
+
getEvents = _require3.getEvents;
|
|
21
|
+
const _require4 = require('./extends'),
|
|
22
|
+
categorizeProps = _require4.categorizeProps;
|
|
23
23
|
|
|
24
24
|
// $FlowFixMe[unclear-type] TODO(T108222691): Use flow-types for @babel/parser
|
|
25
25
|
|
|
@@ -12,14 +12,14 @@
|
|
|
12
12
|
import type {Parser} from '../../parser';
|
|
13
13
|
import type {ComponentSchemaBuilderConfig} from '../../schema.js';
|
|
14
14
|
|
|
15
|
-
const {getCommands} = require('./commands');
|
|
16
|
-
const {getEvents} = require('./events');
|
|
17
|
-
const {categorizeProps} = require('./extends');
|
|
18
15
|
const {
|
|
19
|
-
getOptions,
|
|
20
16
|
findComponentConfig,
|
|
21
17
|
getCommandProperties,
|
|
18
|
+
getOptions,
|
|
22
19
|
} = require('../../parsers-commons');
|
|
20
|
+
const {getCommands} = require('./commands');
|
|
21
|
+
const {getEvents} = require('./events');
|
|
22
|
+
const {categorizeProps} = require('./extends');
|
|
23
23
|
|
|
24
24
|
// $FlowFixMe[unclear-type] TODO(T108222691): Use flow-types for @babel/parser
|
|
25
25
|
type PropsAST = Object;
|
|
@@ -796,10 +796,23 @@ export type ChooseFloat = 1.44 | 2.88 | 5.76;
|
|
|
796
796
|
export type ChooseObject = {} | {low: string};
|
|
797
797
|
export type ChooseString = 'One' | 'Two' | 'Three';
|
|
798
798
|
|
|
799
|
+
export type BinaryTreeNode = {
|
|
800
|
+
left?: BinaryTreeNode,
|
|
801
|
+
value: number,
|
|
802
|
+
right?: BinaryTreeNode,
|
|
803
|
+
};
|
|
804
|
+
|
|
805
|
+
export type GraphNode = {
|
|
806
|
+
label: string,
|
|
807
|
+
neighbors?: Array<GraphNode>,
|
|
808
|
+
};
|
|
809
|
+
|
|
799
810
|
export interface Spec extends TurboModule {
|
|
800
811
|
readonly getCallback: () => () => void;
|
|
801
812
|
readonly getMixed: (arg: unknown) => unknown;
|
|
802
813
|
readonly getEnums: (quality: Quality, resolution?: Resolution, floppy: Floppy, stringOptions: StringOptions) => string;
|
|
814
|
+
readonly getBinaryTreeNode: (arg: BinaryTreeNode) => BinaryTreeNode;
|
|
815
|
+
readonly getGraphNode: (arg: GraphNode) => GraphNode;
|
|
803
816
|
readonly getMap: (arg: {[a: string]: number | null;}) => {[b: string]: number | null;};
|
|
804
817
|
readonly getAnotherMap: (arg: {[key: string]: string}) => {[key: string]: string};
|
|
805
818
|
readonly getUnion: (chooseInt: ChooseInt, chooseFloat: ChooseFloat, chooseObject: ChooseObject, chooseString: ChooseString) => ChooseObject;
|
|
@@ -825,10 +825,23 @@ export type ChooseFloat = 1.44 | 2.88 | 5.76;
|
|
|
825
825
|
export type ChooseObject = {} | {low: string};
|
|
826
826
|
export type ChooseString = 'One' | 'Two' | 'Three';
|
|
827
827
|
|
|
828
|
+
export type BinaryTreeNode = {
|
|
829
|
+
left?: BinaryTreeNode,
|
|
830
|
+
value: number,
|
|
831
|
+
right?: BinaryTreeNode,
|
|
832
|
+
};
|
|
833
|
+
|
|
834
|
+
export type GraphNode = {
|
|
835
|
+
label: string,
|
|
836
|
+
neighbors?: Array<GraphNode>,
|
|
837
|
+
};
|
|
838
|
+
|
|
828
839
|
export interface Spec extends TurboModule {
|
|
829
840
|
readonly getCallback: () => () => void;
|
|
830
841
|
readonly getMixed: (arg: unknown) => unknown;
|
|
831
842
|
readonly getEnums: (quality: Quality, resolution?: Resolution, floppy: Floppy, stringOptions: StringOptions) => string;
|
|
843
|
+
readonly getBinaryTreeNode: (arg: BinaryTreeNode) => BinaryTreeNode;
|
|
844
|
+
readonly getGraphNode: (arg: GraphNode) => GraphNode;
|
|
832
845
|
readonly getMap: (arg: {[a: string]: number | null;}) => {[b: string]: number | null;};
|
|
833
846
|
readonly getAnotherMap: (arg: {[key: string]: string}) => {[key: string]: string};
|
|
834
847
|
readonly getUnion: (chooseInt: ChooseInt, chooseFloat: ChooseFloat, chooseObject: ChooseObject, chooseString: ChooseString) => ChooseObject;
|
|
@@ -10,32 +10,33 @@
|
|
|
10
10
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
|
-
const _require = require('
|
|
14
|
-
|
|
15
|
-
const _require2 = require('../components/componentsUtils'),
|
|
16
|
-
flattenProperties = _require2.flattenProperties;
|
|
17
|
-
const _require3 = require('../../parsers-commons'),
|
|
18
|
-
parseObjectProperty = _require3.parseObjectProperty;
|
|
19
|
-
const _require4 = require('../../parsers-primitives'),
|
|
20
|
-
emitArrayType = _require4.emitArrayType,
|
|
21
|
-
emitFunction = _require4.emitFunction,
|
|
22
|
-
emitDictionary = _require4.emitDictionary,
|
|
23
|
-
emitPromise = _require4.emitPromise,
|
|
24
|
-
emitRootTag = _require4.emitRootTag,
|
|
25
|
-
emitUnion = _require4.emitUnion,
|
|
26
|
-
emitCommonTypes = _require4.emitCommonTypes,
|
|
27
|
-
typeAliasResolution = _require4.typeAliasResolution,
|
|
28
|
-
typeEnumResolution = _require4.typeEnumResolution,
|
|
29
|
-
translateArrayTypeAnnotation = _require4.translateArrayTypeAnnotation;
|
|
30
|
-
const _require5 = require('../../errors'),
|
|
31
|
-
UnsupportedGenericParserError = _require5.UnsupportedGenericParserError,
|
|
13
|
+
const _require = require('../../errors'),
|
|
14
|
+
UnsupportedGenericParserError = _require.UnsupportedGenericParserError,
|
|
32
15
|
UnsupportedTypeAnnotationParserError =
|
|
33
|
-
|
|
16
|
+
_require.UnsupportedTypeAnnotationParserError;
|
|
17
|
+
const _require2 = require('../../parsers-commons'),
|
|
18
|
+
parseObjectProperty = _require2.parseObjectProperty;
|
|
19
|
+
const _require3 = require('../../parsers-primitives'),
|
|
20
|
+
emitArrayType = _require3.emitArrayType,
|
|
21
|
+
emitCommonTypes = _require3.emitCommonTypes,
|
|
22
|
+
emitDictionary = _require3.emitDictionary,
|
|
23
|
+
emitFunction = _require3.emitFunction,
|
|
24
|
+
emitPromise = _require3.emitPromise,
|
|
25
|
+
emitRootTag = _require3.emitRootTag,
|
|
26
|
+
emitUnion = _require3.emitUnion,
|
|
27
|
+
translateArrayTypeAnnotation = _require3.translateArrayTypeAnnotation,
|
|
28
|
+
typeAliasResolution = _require3.typeAliasResolution,
|
|
29
|
+
typeEnumResolution = _require3.typeEnumResolution;
|
|
30
|
+
const _require4 = require('../components/componentsUtils'),
|
|
31
|
+
flattenProperties = _require4.flattenProperties;
|
|
32
|
+
const _require5 = require('../parseTopLevelType'),
|
|
33
|
+
flattenIntersectionType = _require5.flattenIntersectionType;
|
|
34
34
|
function translateObjectTypeAnnotation(
|
|
35
35
|
hasteModuleName,
|
|
36
36
|
/**
|
|
37
37
|
* TODO(T108222691): Use flow-types for @babel/parser
|
|
38
38
|
*/
|
|
39
|
+
typeScriptTypeAnnotation,
|
|
39
40
|
nullable,
|
|
40
41
|
objectMembers,
|
|
41
42
|
typeResolutionStatus,
|
|
@@ -52,6 +53,7 @@ function translateObjectTypeAnnotation(
|
|
|
52
53
|
.map(property => {
|
|
53
54
|
return tryParse(() => {
|
|
54
55
|
return parseObjectProperty(
|
|
56
|
+
typeScriptTypeAnnotation,
|
|
55
57
|
property,
|
|
56
58
|
hasteModuleName,
|
|
57
59
|
types,
|
|
@@ -259,6 +261,7 @@ function translateTypeAnnotation(
|
|
|
259
261
|
}
|
|
260
262
|
return translateObjectTypeAnnotation(
|
|
261
263
|
hasteModuleName,
|
|
264
|
+
typeScriptTypeAnnotation,
|
|
262
265
|
nullable,
|
|
263
266
|
flattenProperties([typeAnnotation], types, parser),
|
|
264
267
|
typeResolutionStatus,
|
|
@@ -274,6 +277,7 @@ function translateTypeAnnotation(
|
|
|
274
277
|
case 'TSIntersectionType': {
|
|
275
278
|
return translateObjectTypeAnnotation(
|
|
276
279
|
hasteModuleName,
|
|
280
|
+
typeScriptTypeAnnotation,
|
|
277
281
|
nullable,
|
|
278
282
|
flattenProperties(
|
|
279
283
|
flattenIntersectionType(typeAnnotation, types),
|
|
@@ -316,6 +320,7 @@ function translateTypeAnnotation(
|
|
|
316
320
|
}
|
|
317
321
|
return translateObjectTypeAnnotation(
|
|
318
322
|
hasteModuleName,
|
|
323
|
+
typeScriptTypeAnnotation,
|
|
319
324
|
nullable,
|
|
320
325
|
typeAnnotation.members,
|
|
321
326
|
typeResolutionStatus,
|
|
@@ -13,46 +13,44 @@
|
|
|
13
13
|
import type {
|
|
14
14
|
NamedShape,
|
|
15
15
|
NativeModuleAliasMap,
|
|
16
|
-
NativeModuleEnumMap,
|
|
17
16
|
NativeModuleBaseTypeAnnotation,
|
|
17
|
+
NativeModuleEnumMap,
|
|
18
18
|
NativeModuleTypeAnnotation,
|
|
19
19
|
Nullable,
|
|
20
20
|
} from '../../../CodegenSchema';
|
|
21
|
-
|
|
22
21
|
import type {Parser} from '../../parser';
|
|
23
22
|
import type {
|
|
24
23
|
ParserErrorCapturer,
|
|
25
|
-
TypeResolutionStatus,
|
|
26
24
|
TypeDeclarationMap,
|
|
25
|
+
TypeResolutionStatus,
|
|
27
26
|
} from '../../utils';
|
|
28
|
-
const {flattenIntersectionType} = require('../parseTopLevelType');
|
|
29
|
-
const {flattenProperties} = require('../components/componentsUtils');
|
|
30
27
|
|
|
28
|
+
const {
|
|
29
|
+
UnsupportedGenericParserError,
|
|
30
|
+
UnsupportedTypeAnnotationParserError,
|
|
31
|
+
} = require('../../errors');
|
|
31
32
|
const {parseObjectProperty} = require('../../parsers-commons');
|
|
32
|
-
|
|
33
33
|
const {
|
|
34
34
|
emitArrayType,
|
|
35
|
-
|
|
35
|
+
emitCommonTypes,
|
|
36
36
|
emitDictionary,
|
|
37
|
+
emitFunction,
|
|
37
38
|
emitPromise,
|
|
38
39
|
emitRootTag,
|
|
39
40
|
emitUnion,
|
|
40
|
-
|
|
41
|
+
translateArrayTypeAnnotation,
|
|
41
42
|
typeAliasResolution,
|
|
42
43
|
typeEnumResolution,
|
|
43
|
-
translateArrayTypeAnnotation,
|
|
44
44
|
} = require('../../parsers-primitives');
|
|
45
|
-
|
|
46
|
-
const {
|
|
47
|
-
UnsupportedGenericParserError,
|
|
48
|
-
UnsupportedTypeAnnotationParserError,
|
|
49
|
-
} = require('../../errors');
|
|
45
|
+
const {flattenProperties} = require('../components/componentsUtils');
|
|
46
|
+
const {flattenIntersectionType} = require('../parseTopLevelType');
|
|
50
47
|
|
|
51
48
|
function translateObjectTypeAnnotation(
|
|
52
49
|
hasteModuleName: string,
|
|
53
50
|
/**
|
|
54
51
|
* TODO(T108222691): Use flow-types for @babel/parser
|
|
55
52
|
*/
|
|
53
|
+
typeScriptTypeAnnotation: $FlowFixMe,
|
|
56
54
|
nullable: boolean,
|
|
57
55
|
objectMembers: $ReadOnlyArray<$FlowFixMe>,
|
|
58
56
|
typeResolutionStatus: TypeResolutionStatus,
|
|
@@ -69,6 +67,7 @@ function translateObjectTypeAnnotation(
|
|
|
69
67
|
.map<?NamedShape<Nullable<NativeModuleBaseTypeAnnotation>>>(property => {
|
|
70
68
|
return tryParse(() => {
|
|
71
69
|
return parseObjectProperty(
|
|
70
|
+
typeScriptTypeAnnotation,
|
|
72
71
|
property,
|
|
73
72
|
hasteModuleName,
|
|
74
73
|
types,
|
|
@@ -269,6 +268,7 @@ function translateTypeAnnotation(
|
|
|
269
268
|
|
|
270
269
|
return translateObjectTypeAnnotation(
|
|
271
270
|
hasteModuleName,
|
|
271
|
+
typeScriptTypeAnnotation,
|
|
272
272
|
nullable,
|
|
273
273
|
flattenProperties([typeAnnotation], types, parser),
|
|
274
274
|
typeResolutionStatus,
|
|
@@ -284,6 +284,7 @@ function translateTypeAnnotation(
|
|
|
284
284
|
case 'TSIntersectionType': {
|
|
285
285
|
return translateObjectTypeAnnotation(
|
|
286
286
|
hasteModuleName,
|
|
287
|
+
typeScriptTypeAnnotation,
|
|
287
288
|
nullable,
|
|
288
289
|
flattenProperties(
|
|
289
290
|
flattenIntersectionType(typeAnnotation, types),
|
|
@@ -327,6 +328,7 @@ function translateTypeAnnotation(
|
|
|
327
328
|
|
|
328
329
|
return translateObjectTypeAnnotation(
|
|
329
330
|
hasteModuleName,
|
|
331
|
+
typeScriptTypeAnnotation,
|
|
330
332
|
nullable,
|
|
331
333
|
typeAnnotation.members,
|
|
332
334
|
typeResolutionStatus,
|
|
@@ -38,35 +38,34 @@ function _toPrimitive(input, hint) {
|
|
|
38
38
|
}
|
|
39
39
|
return (hint === 'string' ? String : Number)(input);
|
|
40
40
|
}
|
|
41
|
-
const
|
|
42
|
-
|
|
41
|
+
const _require = require('../errors'),
|
|
42
|
+
UnsupportedObjectPropertyTypeAnnotationParserError =
|
|
43
|
+
_require.UnsupportedObjectPropertyTypeAnnotationParserError;
|
|
44
|
+
const _require2 = require('../parsers-commons.js'),
|
|
45
|
+
buildModuleSchema = _require2.buildModuleSchema,
|
|
46
|
+
buildPropSchema = _require2.buildPropSchema,
|
|
47
|
+
buildSchema = _require2.buildSchema,
|
|
48
|
+
extendsForProp = _require2.extendsForProp,
|
|
49
|
+
handleGenericTypeAnnotation = _require2.handleGenericTypeAnnotation;
|
|
50
|
+
const _require3 = require('../parsers-primitives'),
|
|
51
|
+
Visitor = _require3.Visitor;
|
|
52
|
+
const _require4 = require('../schema.js'),
|
|
53
|
+
wrapComponentSchema = _require4.wrapComponentSchema;
|
|
54
|
+
const _require5 = require('./components'),
|
|
55
|
+
buildComponentSchema = _require5.buildComponentSchema;
|
|
56
|
+
const _require6 = require('./components/componentsUtils'),
|
|
57
|
+
flattenProperties = _require6.flattenProperties,
|
|
58
|
+
getSchemaInfo = _require6.getSchemaInfo,
|
|
59
|
+
getTypeAnnotation = _require6.getTypeAnnotation;
|
|
60
|
+
const _require7 = require('./modules'),
|
|
43
61
|
typeScriptTranslateTypeAnnotation =
|
|
44
|
-
|
|
45
|
-
|
|
62
|
+
_require7.typeScriptTranslateTypeAnnotation;
|
|
63
|
+
const _require8 = require('./parseTopLevelType'),
|
|
64
|
+
parseTopLevelType = _require8.parseTopLevelType;
|
|
46
65
|
// $FlowFixMe[untyped-import] Use flow-types for @babel/parser
|
|
47
66
|
const babelParser = require('@babel/parser');
|
|
48
|
-
const _require2 = require('../parsers-primitives'),
|
|
49
|
-
Visitor = _require2.Visitor;
|
|
50
|
-
const _require3 = require('./components'),
|
|
51
|
-
buildComponentSchema = _require3.buildComponentSchema;
|
|
52
|
-
const _require4 = require('../schema.js'),
|
|
53
|
-
wrapComponentSchema = _require4.wrapComponentSchema;
|
|
54
|
-
const _require5 = require('../parsers-commons.js'),
|
|
55
|
-
buildSchema = _require5.buildSchema,
|
|
56
|
-
buildModuleSchema = _require5.buildModuleSchema,
|
|
57
|
-
extendsForProp = _require5.extendsForProp,
|
|
58
|
-
buildPropSchema = _require5.buildPropSchema,
|
|
59
|
-
handleGenericTypeAnnotation = _require5.handleGenericTypeAnnotation;
|
|
60
|
-
const _require6 = require('./parseTopLevelType'),
|
|
61
|
-
parseTopLevelType = _require6.parseTopLevelType;
|
|
62
|
-
const _require7 = require('./components/componentsUtils'),
|
|
63
|
-
getSchemaInfo = _require7.getSchemaInfo,
|
|
64
|
-
getTypeAnnotation = _require7.getTypeAnnotation,
|
|
65
|
-
flattenProperties = _require7.flattenProperties;
|
|
66
67
|
const fs = require('fs');
|
|
67
|
-
const
|
|
68
|
-
UnsupportedObjectPropertyTypeAnnotationParserError =
|
|
69
|
-
_require8.UnsupportedObjectPropertyTypeAnnotationParserError;
|
|
68
|
+
const invariant = require('invariant');
|
|
70
69
|
class TypeScriptParser {
|
|
71
70
|
constructor() {
|
|
72
71
|
_defineProperty(
|
|
@@ -148,7 +147,7 @@ class TypeScriptParser {
|
|
|
148
147
|
const contents = fs.readFileSync(filename, 'utf8');
|
|
149
148
|
return this.parseString(contents, 'path/NativeSampleTurboModule.ts');
|
|
150
149
|
}
|
|
151
|
-
getAst(contents) {
|
|
150
|
+
getAst(contents, filename) {
|
|
152
151
|
return babelParser.parse(contents, {
|
|
153
152
|
sourceType: 'module',
|
|
154
153
|
plugins: ['typescript'],
|
|
@@ -11,17 +11,17 @@
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
13
|
import type {
|
|
14
|
-
|
|
15
|
-
SchemaType,
|
|
14
|
+
ExtendsPropsShape,
|
|
16
15
|
NamedShape,
|
|
17
|
-
Nullable,
|
|
18
|
-
NativeModuleParamTypeAnnotation,
|
|
19
|
-
NativeModuleEnumMembers,
|
|
20
|
-
NativeModuleEnumMemberType,
|
|
21
16
|
NativeModuleAliasMap,
|
|
22
17
|
NativeModuleEnumMap,
|
|
18
|
+
NativeModuleEnumMembers,
|
|
19
|
+
NativeModuleEnumMemberType,
|
|
20
|
+
NativeModuleParamTypeAnnotation,
|
|
21
|
+
Nullable,
|
|
23
22
|
PropTypeAnnotation,
|
|
24
|
-
|
|
23
|
+
SchemaType,
|
|
24
|
+
UnionTypeAnnotationMemberType,
|
|
25
25
|
} from '../../CodegenSchema';
|
|
26
26
|
import type {ParserType} from '../errors';
|
|
27
27
|
import type {
|
|
@@ -32,39 +32,35 @@ import type {
|
|
|
32
32
|
} from '../parser';
|
|
33
33
|
import type {
|
|
34
34
|
ParserErrorCapturer,
|
|
35
|
-
TypeDeclarationMap,
|
|
36
35
|
PropAST,
|
|
36
|
+
TypeDeclarationMap,
|
|
37
37
|
TypeResolutionStatus,
|
|
38
38
|
} from '../utils';
|
|
39
|
-
const invariant = require('invariant');
|
|
40
|
-
|
|
41
|
-
const {typeScriptTranslateTypeAnnotation} = require('./modules');
|
|
42
|
-
|
|
43
|
-
// $FlowFixMe[untyped-import] Use flow-types for @babel/parser
|
|
44
|
-
const babelParser = require('@babel/parser');
|
|
45
39
|
|
|
46
|
-
const {Visitor} = require('../parsers-primitives');
|
|
47
|
-
const {buildComponentSchema} = require('./components');
|
|
48
|
-
const {wrapComponentSchema} = require('../schema.js');
|
|
49
40
|
const {
|
|
50
|
-
|
|
41
|
+
UnsupportedObjectPropertyTypeAnnotationParserError,
|
|
42
|
+
} = require('../errors');
|
|
43
|
+
const {
|
|
51
44
|
buildModuleSchema,
|
|
52
|
-
extendsForProp,
|
|
53
45
|
buildPropSchema,
|
|
46
|
+
buildSchema,
|
|
47
|
+
extendsForProp,
|
|
54
48
|
handleGenericTypeAnnotation,
|
|
55
49
|
} = require('../parsers-commons.js');
|
|
56
|
-
|
|
57
|
-
const {
|
|
50
|
+
const {Visitor} = require('../parsers-primitives');
|
|
51
|
+
const {wrapComponentSchema} = require('../schema.js');
|
|
52
|
+
const {buildComponentSchema} = require('./components');
|
|
58
53
|
const {
|
|
54
|
+
flattenProperties,
|
|
59
55
|
getSchemaInfo,
|
|
60
56
|
getTypeAnnotation,
|
|
61
|
-
flattenProperties,
|
|
62
57
|
} = require('./components/componentsUtils');
|
|
58
|
+
const {typeScriptTranslateTypeAnnotation} = require('./modules');
|
|
59
|
+
const {parseTopLevelType} = require('./parseTopLevelType');
|
|
60
|
+
// $FlowFixMe[untyped-import] Use flow-types for @babel/parser
|
|
61
|
+
const babelParser = require('@babel/parser');
|
|
63
62
|
const fs = require('fs');
|
|
64
|
-
|
|
65
|
-
const {
|
|
66
|
-
UnsupportedObjectPropertyTypeAnnotationParserError,
|
|
67
|
-
} = require('../errors');
|
|
63
|
+
const invariant = require('invariant');
|
|
68
64
|
|
|
69
65
|
class TypeScriptParser implements Parser {
|
|
70
66
|
typeParameterInstantiation: string = 'TSTypeParameterInstantiation';
|
|
@@ -146,7 +142,7 @@ class TypeScriptParser implements Parser {
|
|
|
146
142
|
return this.parseString(contents, 'path/NativeSampleTurboModule.ts');
|
|
147
143
|
}
|
|
148
144
|
|
|
149
|
-
getAst(contents: string): $FlowFixMe {
|
|
145
|
+
getAst(contents: string, filename?: ?string): $FlowFixMe {
|
|
150
146
|
return babelParser.parse(contents, {
|
|
151
147
|
sourceType: 'module',
|
|
152
148
|
plugins: ['typescript'],
|
package/lib/parsers/utils.js
CHANGED
|
@@ -50,6 +50,11 @@ function verifyPlatforms(hasteModuleName, moduleName) {
|
|
|
50
50
|
excludedPlatforms.add('android');
|
|
51
51
|
return;
|
|
52
52
|
}
|
|
53
|
+
if (name.endsWith('Windows')) {
|
|
54
|
+
excludedPlatforms.add('iOS');
|
|
55
|
+
excludedPlatforms.add('android');
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
53
58
|
if (name.endsWith('Cxx')) {
|
|
54
59
|
cxxOnly = true;
|
|
55
60
|
excludedPlatforms.add('iOS');
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
'use strict';
|
|
12
12
|
|
|
13
13
|
const {ParserError} = require('./errors');
|
|
14
|
-
|
|
15
14
|
const path = require('path');
|
|
16
15
|
|
|
17
16
|
export type TypeDeclarationMap = {[declarationName: string]: $FlowFixMe};
|
|
@@ -86,6 +85,12 @@ function verifyPlatforms(
|
|
|
86
85
|
return;
|
|
87
86
|
}
|
|
88
87
|
|
|
88
|
+
if (name.endsWith('Windows')) {
|
|
89
|
+
excludedPlatforms.add('iOS');
|
|
90
|
+
excludedPlatforms.add('android');
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
|
|
89
94
|
if (name.endsWith('Cxx')) {
|
|
90
95
|
cxxOnly = true;
|
|
91
96
|
excludedPlatforms.add('iOS');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-native/codegen",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.75.0-nightly-20240221-a1171f79f",
|
|
4
4
|
"description": "Code generation tools for React Native",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -30,8 +30,11 @@
|
|
|
30
30
|
],
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@babel/parser": "^7.20.0",
|
|
33
|
-
"
|
|
33
|
+
"glob": "^7.1.1",
|
|
34
|
+
"hermes-parser": "0.19.1",
|
|
35
|
+
"invariant": "^2.2.4",
|
|
34
36
|
"jscodeshift": "^0.14.0",
|
|
37
|
+
"mkdirp": "^0.5.1",
|
|
35
38
|
"nullthrows": "^1.1.1"
|
|
36
39
|
},
|
|
37
40
|
"devDependencies": {
|
|
@@ -46,12 +49,11 @@
|
|
|
46
49
|
"@babel/plugin-transform-flow-strip-types": "^7.20.0",
|
|
47
50
|
"@babel/preset-env": "^7.20.0",
|
|
48
51
|
"chalk": "^4.0.0",
|
|
49
|
-
"
|
|
50
|
-
"invariant": "^2.2.4",
|
|
52
|
+
"hermes-estree": "0.19.1",
|
|
51
53
|
"micromatch": "^4.0.4",
|
|
52
|
-
"mkdirp": "^0.5.1",
|
|
53
54
|
"prettier": "2.8.8",
|
|
54
|
-
"rimraf": "^3.0.2"
|
|
55
|
+
"rimraf": "^3.0.2",
|
|
56
|
+
"yargs": "^17.6.2"
|
|
55
57
|
},
|
|
56
58
|
"peerDependencies": {
|
|
57
59
|
"@babel/preset-env": "^7.1.6"
|