@react-native/codegen 0.72.1 → 0.72.2

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.
Files changed (119) hide show
  1. package/lib/CodegenSchema.d.ts +348 -0
  2. package/lib/CodegenSchema.js.flow +31 -3
  3. package/lib/SchemaValidator.d.ts +11 -0
  4. package/lib/cli/combine/combine-js-to-schema.js +8 -8
  5. package/lib/cli/combine/combine-js-to-schema.js.flow +8 -7
  6. package/lib/cli/parser/parser.js +8 -15
  7. package/lib/cli/parser/parser.js.flow +8 -14
  8. package/lib/generators/Utils.js +16 -0
  9. package/lib/generators/Utils.js.flow +20 -0
  10. package/lib/generators/__test_fixtures__/fixtures.js +2 -1
  11. package/lib/generators/__test_fixtures__/fixtures.js.flow +2 -1
  12. package/lib/generators/components/ComponentsGeneratorUtils.js +10 -1
  13. package/lib/generators/components/ComponentsGeneratorUtils.js.flow +12 -2
  14. package/lib/generators/components/CppHelpers.js +8 -15
  15. package/lib/generators/components/CppHelpers.js.flow +8 -19
  16. package/lib/generators/components/GenerateEventEmitterCpp.js +7 -3
  17. package/lib/generators/components/GenerateEventEmitterCpp.js.flow +7 -3
  18. package/lib/generators/components/GenerateEventEmitterH.js +2 -2
  19. package/lib/generators/components/GenerateEventEmitterH.js.flow +1 -2
  20. package/lib/generators/components/GeneratePropsH.js +3 -4
  21. package/lib/generators/components/GeneratePropsH.js.flow +2 -4
  22. package/lib/generators/components/GeneratePropsJavaDelegate.js +2 -0
  23. package/lib/generators/components/GeneratePropsJavaDelegate.js.flow +2 -0
  24. package/lib/generators/components/GeneratePropsJavaInterface.js +3 -0
  25. package/lib/generators/components/GeneratePropsJavaInterface.js.flow +3 -0
  26. package/lib/generators/components/GeneratePropsJavaPojo/serializePojo.js +8 -0
  27. package/lib/generators/components/GeneratePropsJavaPojo/serializePojo.js.flow +12 -0
  28. package/lib/generators/components/GenerateTests.js +3 -2
  29. package/lib/generators/components/GenerateTests.js.flow +3 -1
  30. package/lib/generators/components/GenerateViewConfigJs.js +5 -2
  31. package/lib/generators/components/GenerateViewConfigJs.js.flow +5 -2
  32. package/lib/generators/components/JavaHelpers.js +9 -0
  33. package/lib/generators/components/JavaHelpers.js.flow +12 -1
  34. package/lib/generators/components/__test_fixtures__/fixtures.js +41 -0
  35. package/lib/generators/components/__test_fixtures__/fixtures.js.flow +42 -0
  36. package/lib/generators/modules/GenerateModuleCpp.js +9 -4
  37. package/lib/generators/modules/GenerateModuleCpp.js.flow +11 -3
  38. package/lib/generators/modules/GenerateModuleH.js +185 -33
  39. package/lib/generators/modules/GenerateModuleH.js.flow +203 -25
  40. package/lib/generators/modules/GenerateModuleJavaSpec.js +2 -2
  41. package/lib/generators/modules/GenerateModuleJavaSpec.js.flow +5 -5
  42. package/lib/generators/modules/GenerateModuleJniCpp.js +2 -2
  43. package/lib/generators/modules/GenerateModuleJniCpp.js.flow +5 -5
  44. package/lib/generators/modules/GenerateModuleObjCpp/index.js +2 -2
  45. package/lib/generators/modules/GenerateModuleObjCpp/index.js.flow +2 -2
  46. package/lib/generators/modules/GenerateModuleObjCpp/serializeMethod.js.flow +2 -2
  47. package/lib/generators/modules/Utils.js +4 -0
  48. package/lib/generators/modules/Utils.js.flow +6 -0
  49. package/lib/generators/modules/__test_fixtures__/fixtures.js +152 -10
  50. package/lib/generators/modules/__test_fixtures__/fixtures.js.flow +152 -10
  51. package/lib/parsers/error-utils.js +1 -19
  52. package/lib/parsers/error-utils.js.flow +1 -19
  53. package/lib/parsers/errors.d.ts +10 -0
  54. package/lib/parsers/errors.js +9 -29
  55. package/lib/parsers/errors.js.flow +2 -20
  56. package/lib/parsers/flow/Visitor.js +37 -0
  57. package/lib/parsers/flow/Visitor.js.flow +41 -0
  58. package/lib/parsers/flow/components/__test_fixtures__/fixtures.js +20 -2
  59. package/lib/parsers/flow/components/__test_fixtures__/fixtures.js.flow +20 -2
  60. package/lib/parsers/flow/components/commands.js +3 -0
  61. package/lib/parsers/flow/components/commands.js.flow +2 -1
  62. package/lib/parsers/flow/components/componentsUtils.js +10 -0
  63. package/lib/parsers/flow/components/componentsUtils.js.flow +11 -1
  64. package/lib/parsers/flow/components/events.js.flow +1 -1
  65. package/lib/parsers/flow/components/extends.js.flow +1 -1
  66. package/lib/parsers/flow/components/index.js.flow +1 -1
  67. package/lib/parsers/flow/components/options.js.flow +1 -1
  68. package/lib/parsers/flow/components/props.js.flow +1 -1
  69. package/lib/parsers/flow/modules/__test_fixtures__/failures.js +54 -0
  70. package/lib/parsers/flow/modules/__test_fixtures__/failures.js.flow +56 -0
  71. package/lib/parsers/flow/modules/__test_fixtures__/fixtures.js +64 -1
  72. package/lib/parsers/flow/modules/__test_fixtures__/fixtures.js.flow +66 -1
  73. package/lib/parsers/flow/modules/index.js +99 -25
  74. package/lib/parsers/flow/modules/index.js.flow +106 -22
  75. package/lib/parsers/flow/parser.d.ts +10 -0
  76. package/lib/parsers/flow/parser.js +122 -32
  77. package/lib/parsers/flow/parser.js.flow +144 -24
  78. package/lib/parsers/flow/utils.js +33 -19
  79. package/lib/parsers/flow/utils.js.flow +37 -22
  80. package/lib/parsers/parser.d.ts +17 -0
  81. package/lib/parsers/parser.js.flow +102 -17
  82. package/lib/parsers/parserMock.js +87 -30
  83. package/lib/parsers/parserMock.js.flow +118 -24
  84. package/lib/parsers/parsers-commons.js +121 -119
  85. package/lib/parsers/parsers-commons.js.flow +130 -131
  86. package/lib/parsers/parsers-primitives.js +75 -12
  87. package/lib/parsers/parsers-primitives.js.flow +92 -13
  88. package/lib/parsers/schema/index.d.ts +10 -0
  89. package/lib/parsers/typescript/Visitor.js +42 -0
  90. package/lib/parsers/typescript/Visitor.js.flow +47 -0
  91. package/lib/parsers/typescript/components/__test_fixtures__/fixtures.js +22 -0
  92. package/lib/parsers/typescript/components/__test_fixtures__/fixtures.js.flow +22 -0
  93. package/lib/parsers/typescript/components/commands.js +3 -0
  94. package/lib/parsers/typescript/components/commands.js.flow +2 -1
  95. package/lib/parsers/typescript/components/componentsUtils.js +5 -0
  96. package/lib/parsers/typescript/components/componentsUtils.js.flow +6 -1
  97. package/lib/parsers/typescript/components/events.js.flow +1 -1
  98. package/lib/parsers/typescript/components/extends.js.flow +1 -1
  99. package/lib/parsers/typescript/components/index.js.flow +1 -1
  100. package/lib/parsers/typescript/components/options.js.flow +1 -1
  101. package/lib/parsers/typescript/components/props.js.flow +1 -1
  102. package/lib/parsers/typescript/modules/__test_fixtures__/failures.js +52 -0
  103. package/lib/parsers/typescript/modules/__test_fixtures__/failures.js.flow +54 -0
  104. package/lib/parsers/typescript/modules/__test_fixtures__/fixtures.js +142 -0
  105. package/lib/parsers/typescript/modules/__test_fixtures__/fixtures.js.flow +146 -0
  106. package/lib/parsers/typescript/modules/index.js +266 -87
  107. package/lib/parsers/typescript/modules/index.js.flow +230 -48
  108. package/lib/parsers/typescript/parser.d.ts +10 -0
  109. package/lib/parsers/typescript/parser.js +131 -25
  110. package/lib/parsers/typescript/parser.js.flow +137 -26
  111. package/lib/parsers/typescript/utils.js +40 -20
  112. package/lib/parsers/typescript/utils.js.flow +44 -24
  113. package/lib/parsers/utils.js +0 -125
  114. package/lib/parsers/utils.js.flow +3 -70
  115. package/package.json +4 -1
  116. package/lib/parsers/flow/index.js +0 -80
  117. package/lib/parsers/flow/index.js.flow +0 -85
  118. package/lib/parsers/typescript/index.js +0 -85
  119. package/lib/parsers/typescript/index.js.flow +0 -94
@@ -14,7 +14,8 @@ const EMPTY_NATIVE_MODULES = {
14
14
  modules: {
15
15
  NativeSampleTurboModule: {
16
16
  type: 'NativeModule',
17
- aliases: {},
17
+ aliasMap: {},
18
+ enumMap: {},
18
19
  spec: {
19
20
  properties: [],
20
21
  },
@@ -26,7 +27,58 @@ const SIMPLE_NATIVE_MODULES = {
26
27
  modules: {
27
28
  NativeSampleTurboModule: {
28
29
  type: 'NativeModule',
29
- aliases: {},
30
+ aliasMap: {},
31
+ enumMap: {
32
+ NumEnum: {
33
+ type: 'EnumDeclarationWithMembers',
34
+ name: 'NumEnum',
35
+ memberType: 'NumberTypeAnnotation',
36
+ members: [
37
+ {
38
+ name: 'ONE',
39
+ value: '1',
40
+ },
41
+ {
42
+ name: 'TWO',
43
+ value: '2',
44
+ },
45
+ ],
46
+ },
47
+ FloatEnum: {
48
+ type: 'EnumDeclarationWithMembers',
49
+ name: 'FloatEnum',
50
+ memberType: 'NumberTypeAnnotation',
51
+ members: [
52
+ {
53
+ name: 'POINT_ZERO',
54
+ value: '0.0',
55
+ },
56
+ {
57
+ name: 'POINT_ONE',
58
+ value: '0.1',
59
+ },
60
+ {
61
+ name: 'POINT_TWO',
62
+ value: '0.2',
63
+ },
64
+ ],
65
+ },
66
+ StringEnum: {
67
+ type: 'EnumDeclarationWithMembers',
68
+ name: 'StringEnum',
69
+ memberType: 'StringTypeAnnotation',
70
+ members: [
71
+ {
72
+ name: 'HELLO',
73
+ value: 'hello',
74
+ },
75
+ {
76
+ name: 'GoodBye',
77
+ value: 'goodbye',
78
+ },
79
+ ],
80
+ },
81
+ },
30
82
  spec: {
31
83
  properties: [
32
84
  {
@@ -229,6 +281,19 @@ const SIMPLE_NATIVE_MODULES = {
229
281
  ],
230
282
  },
231
283
  },
284
+ {
285
+ name: 'getEnumReturn',
286
+ optional: false,
287
+ typeAnnotation: {
288
+ type: 'FunctionTypeAnnotation',
289
+ returnTypeAnnotation: {
290
+ type: 'EnumDeclaration',
291
+ name: 'NumEnum',
292
+ memberType: 'NumberTypeAnnotation',
293
+ },
294
+ params: [],
295
+ },
296
+ },
232
297
  {
233
298
  name: 'getValueWithCallback',
234
299
  optional: false,
@@ -303,6 +368,7 @@ const SIMPLE_NATIVE_MODULES = {
303
368
  name: 'enumInt',
304
369
  optional: false,
305
370
  typeAnnotation: {
371
+ name: 'NumEnum',
306
372
  type: 'EnumDeclaration',
307
373
  memberType: 'NumberTypeAnnotation',
308
374
  },
@@ -311,6 +377,7 @@ const SIMPLE_NATIVE_MODULES = {
311
377
  name: 'enumFloat',
312
378
  optional: false,
313
379
  typeAnnotation: {
380
+ name: 'FloatEnum',
314
381
  type: 'EnumDeclaration',
315
382
  memberType: 'NumberTypeAnnotation',
316
383
  },
@@ -319,6 +386,7 @@ const SIMPLE_NATIVE_MODULES = {
319
386
  name: 'enumString',
320
387
  optional: false,
321
388
  typeAnnotation: {
389
+ name: 'StringEnum',
322
390
  type: 'EnumDeclaration',
323
391
  memberType: 'StringTypeAnnotation',
324
392
  },
@@ -336,7 +404,8 @@ const TWO_MODULES_DIFFERENT_FILES = {
336
404
  modules: {
337
405
  NativeSampleTurboModule: {
338
406
  type: 'NativeModule',
339
- aliases: {},
407
+ aliasMap: {},
408
+ enumMap: {},
340
409
  spec: {
341
410
  properties: [
342
411
  {
@@ -356,7 +425,8 @@ const TWO_MODULES_DIFFERENT_FILES = {
356
425
  },
357
426
  NativeSampleTurboModule2: {
358
427
  type: 'NativeModule',
359
- aliases: {},
428
+ aliasMap: {},
429
+ enumMap: {},
360
430
  spec: {
361
431
  properties: [
362
432
  {
@@ -392,7 +462,8 @@ const COMPLEX_OBJECTS = {
392
462
  modules: {
393
463
  NativeSampleTurboModule: {
394
464
  type: 'NativeModule',
395
- aliases: {},
465
+ aliasMap: {},
466
+ enumMap: {},
396
467
  spec: {
397
468
  properties: [
398
469
  {
@@ -757,7 +828,7 @@ const NATIVE_MODULES_WITH_TYPE_ALIASES = {
757
828
  modules: {
758
829
  AliasTurboModule: {
759
830
  type: 'NativeModule',
760
- aliases: {
831
+ aliasMap: {
761
832
  Options: {
762
833
  type: 'ObjectTypeAnnotation',
763
834
  properties: [
@@ -847,6 +918,7 @@ const NATIVE_MODULES_WITH_TYPE_ALIASES = {
847
918
  ],
848
919
  },
849
920
  },
921
+ enumMap: {},
850
922
  spec: {
851
923
  properties: [
852
924
  {
@@ -891,7 +963,7 @@ const REAL_MODULE_EXAMPLE = {
891
963
  modules: {
892
964
  NativeCameraRollManager: {
893
965
  type: 'NativeModule',
894
- aliases: {
966
+ aliasMap: {
895
967
  PhotoIdentifierImage: {
896
968
  type: 'ObjectTypeAnnotation',
897
969
  properties: [
@@ -1130,6 +1202,7 @@ const REAL_MODULE_EXAMPLE = {
1130
1202
  ],
1131
1203
  },
1132
1204
  },
1205
+ enumMap: {},
1133
1206
  spec: {
1134
1207
  properties: [
1135
1208
  {
@@ -1218,7 +1291,7 @@ const REAL_MODULE_EXAMPLE = {
1218
1291
  },
1219
1292
  NativeExceptionsManager: {
1220
1293
  type: 'NativeModule',
1221
- aliases: {
1294
+ aliasMap: {
1222
1295
  StackFrame: {
1223
1296
  properties: [
1224
1297
  {
@@ -1325,6 +1398,7 @@ const REAL_MODULE_EXAMPLE = {
1325
1398
  type: 'ObjectTypeAnnotation',
1326
1399
  },
1327
1400
  },
1401
+ enumMap: {},
1328
1402
  spec: {
1329
1403
  properties: [
1330
1404
  {
@@ -1485,7 +1559,7 @@ const CXX_ONLY_NATIVE_MODULES = {
1485
1559
  modules: {
1486
1560
  NativeSampleTurboModule: {
1487
1561
  type: 'NativeModule',
1488
- aliases: {
1562
+ aliasMap: {
1489
1563
  ObjectAlias: {
1490
1564
  type: 'ObjectTypeAnnotation',
1491
1565
  properties: [
@@ -1499,6 +1573,57 @@ const CXX_ONLY_NATIVE_MODULES = {
1499
1573
  ],
1500
1574
  },
1501
1575
  },
1576
+ enumMap: {
1577
+ NumEnum: {
1578
+ type: 'EnumDeclarationWithMembers',
1579
+ name: 'NumEnum',
1580
+ memberType: 'NumberTypeAnnotation',
1581
+ members: [
1582
+ {
1583
+ name: 'ONE',
1584
+ value: '1',
1585
+ },
1586
+ {
1587
+ name: 'TWO',
1588
+ value: '2',
1589
+ },
1590
+ ],
1591
+ },
1592
+ FloatEnum: {
1593
+ type: 'EnumDeclarationWithMembers',
1594
+ name: 'FloatEnum',
1595
+ memberType: 'NumberTypeAnnotation',
1596
+ members: [
1597
+ {
1598
+ name: 'POINT_ZERO',
1599
+ value: '0.0',
1600
+ },
1601
+ {
1602
+ name: 'POINT_ONE',
1603
+ value: '0.1',
1604
+ },
1605
+ {
1606
+ name: 'POINT_TWO',
1607
+ value: '0.2',
1608
+ },
1609
+ ],
1610
+ },
1611
+ StringEnum: {
1612
+ type: 'EnumDeclarationWithMembers',
1613
+ name: 'StringEnum',
1614
+ memberType: 'StringTypeAnnotation',
1615
+ members: [
1616
+ {
1617
+ name: 'HELLO',
1618
+ value: 'hello',
1619
+ },
1620
+ {
1621
+ name: 'GoodBye',
1622
+ value: 'goodbye',
1623
+ },
1624
+ ],
1625
+ },
1626
+ },
1502
1627
  spec: {
1503
1628
  properties: [
1504
1629
  {
@@ -1559,6 +1684,7 @@ const CXX_ONLY_NATIVE_MODULES = {
1559
1684
  name: 'enumInt',
1560
1685
  optional: false,
1561
1686
  typeAnnotation: {
1687
+ name: 'NumEnum',
1562
1688
  type: 'EnumDeclaration',
1563
1689
  memberType: 'NumberTypeAnnotation',
1564
1690
  },
@@ -1567,6 +1693,7 @@ const CXX_ONLY_NATIVE_MODULES = {
1567
1693
  name: 'enumFloat',
1568
1694
  optional: false,
1569
1695
  typeAnnotation: {
1696
+ name: 'FloatEnum',
1570
1697
  type: 'EnumDeclaration',
1571
1698
  memberType: 'NumberTypeAnnotation',
1572
1699
  },
@@ -1575,6 +1702,7 @@ const CXX_ONLY_NATIVE_MODULES = {
1575
1702
  name: 'enumString',
1576
1703
  optional: false,
1577
1704
  typeAnnotation: {
1705
+ name: 'StringEnum',
1578
1706
  type: 'EnumDeclaration',
1579
1707
  memberType: 'StringTypeAnnotation',
1580
1708
  },
@@ -1627,6 +1755,19 @@ const CXX_ONLY_NATIVE_MODULES = {
1627
1755
  ],
1628
1756
  },
1629
1757
  },
1758
+ {
1759
+ name: 'getEnumReturn',
1760
+ optional: false,
1761
+ typeAnnotation: {
1762
+ type: 'FunctionTypeAnnotation',
1763
+ returnTypeAnnotation: {
1764
+ type: 'EnumDeclaration',
1765
+ name: 'NumEnum',
1766
+ memberType: 'NumberTypeAnnotation',
1767
+ },
1768
+ params: [],
1769
+ },
1770
+ },
1630
1771
  ],
1631
1772
  },
1632
1773
  moduleName: 'SampleTurboModuleCxx',
@@ -1638,7 +1779,8 @@ const SAMPLE_WITH_UPPERCASE_NAME = {
1638
1779
  modules: {
1639
1780
  NativeSampleTurboModule: {
1640
1781
  type: 'NativeModule',
1641
- aliases: {},
1782
+ enumMap: {},
1783
+ aliasMap: {},
1642
1784
  spec: {
1643
1785
  properties: [],
1644
1786
  },
@@ -16,7 +16,8 @@ const EMPTY_NATIVE_MODULES: SchemaType = {
16
16
  modules: {
17
17
  NativeSampleTurboModule: {
18
18
  type: 'NativeModule',
19
- aliases: {},
19
+ aliasMap: {},
20
+ enumMap: {},
20
21
  spec: {
21
22
  properties: [],
22
23
  },
@@ -29,7 +30,58 @@ const SIMPLE_NATIVE_MODULES: SchemaType = {
29
30
  modules: {
30
31
  NativeSampleTurboModule: {
31
32
  type: 'NativeModule',
32
- aliases: {},
33
+ aliasMap: {},
34
+ enumMap: {
35
+ NumEnum: {
36
+ type: 'EnumDeclarationWithMembers',
37
+ name: 'NumEnum',
38
+ memberType: 'NumberTypeAnnotation',
39
+ members: [
40
+ {
41
+ name: 'ONE',
42
+ value: '1',
43
+ },
44
+ {
45
+ name: 'TWO',
46
+ value: '2',
47
+ },
48
+ ],
49
+ },
50
+ FloatEnum: {
51
+ type: 'EnumDeclarationWithMembers',
52
+ name: 'FloatEnum',
53
+ memberType: 'NumberTypeAnnotation',
54
+ members: [
55
+ {
56
+ name: 'POINT_ZERO',
57
+ value: '0.0',
58
+ },
59
+ {
60
+ name: 'POINT_ONE',
61
+ value: '0.1',
62
+ },
63
+ {
64
+ name: 'POINT_TWO',
65
+ value: '0.2',
66
+ },
67
+ ],
68
+ },
69
+ StringEnum: {
70
+ type: 'EnumDeclarationWithMembers',
71
+ name: 'StringEnum',
72
+ memberType: 'StringTypeAnnotation',
73
+ members: [
74
+ {
75
+ name: 'HELLO',
76
+ value: 'hello',
77
+ },
78
+ {
79
+ name: 'GoodBye',
80
+ value: 'goodbye',
81
+ },
82
+ ],
83
+ },
84
+ },
33
85
  spec: {
34
86
  properties: [
35
87
  {
@@ -233,6 +285,19 @@ const SIMPLE_NATIVE_MODULES: SchemaType = {
233
285
  ],
234
286
  },
235
287
  },
288
+ {
289
+ name: 'getEnumReturn',
290
+ optional: false,
291
+ typeAnnotation: {
292
+ type: 'FunctionTypeAnnotation',
293
+ returnTypeAnnotation: {
294
+ type: 'EnumDeclaration',
295
+ name: 'NumEnum',
296
+ memberType: 'NumberTypeAnnotation',
297
+ },
298
+ params: [],
299
+ },
300
+ },
236
301
  {
237
302
  name: 'getValueWithCallback',
238
303
  optional: false,
@@ -307,6 +372,7 @@ const SIMPLE_NATIVE_MODULES: SchemaType = {
307
372
  name: 'enumInt',
308
373
  optional: false,
309
374
  typeAnnotation: {
375
+ name: 'NumEnum',
310
376
  type: 'EnumDeclaration',
311
377
  memberType: 'NumberTypeAnnotation',
312
378
  },
@@ -315,6 +381,7 @@ const SIMPLE_NATIVE_MODULES: SchemaType = {
315
381
  name: 'enumFloat',
316
382
  optional: false,
317
383
  typeAnnotation: {
384
+ name: 'FloatEnum',
318
385
  type: 'EnumDeclaration',
319
386
  memberType: 'NumberTypeAnnotation',
320
387
  },
@@ -323,6 +390,7 @@ const SIMPLE_NATIVE_MODULES: SchemaType = {
323
390
  name: 'enumString',
324
391
  optional: false,
325
392
  typeAnnotation: {
393
+ name: 'StringEnum',
326
394
  type: 'EnumDeclaration',
327
395
  memberType: 'StringTypeAnnotation',
328
396
  },
@@ -341,7 +409,8 @@ const TWO_MODULES_DIFFERENT_FILES: SchemaType = {
341
409
  modules: {
342
410
  NativeSampleTurboModule: {
343
411
  type: 'NativeModule',
344
- aliases: {},
412
+ aliasMap: {},
413
+ enumMap: {},
345
414
  spec: {
346
415
  properties: [
347
416
  {
@@ -361,7 +430,8 @@ const TWO_MODULES_DIFFERENT_FILES: SchemaType = {
361
430
  },
362
431
  NativeSampleTurboModule2: {
363
432
  type: 'NativeModule',
364
- aliases: {},
433
+ aliasMap: {},
434
+ enumMap: {},
365
435
  spec: {
366
436
  properties: [
367
437
  {
@@ -398,7 +468,8 @@ const COMPLEX_OBJECTS: SchemaType = {
398
468
  modules: {
399
469
  NativeSampleTurboModule: {
400
470
  type: 'NativeModule',
401
- aliases: {},
471
+ aliasMap: {},
472
+ enumMap: {},
402
473
  spec: {
403
474
  properties: [
404
475
  {
@@ -764,7 +835,7 @@ const NATIVE_MODULES_WITH_TYPE_ALIASES: SchemaType = {
764
835
  modules: {
765
836
  AliasTurboModule: {
766
837
  type: 'NativeModule',
767
- aliases: {
838
+ aliasMap: {
768
839
  Options: {
769
840
  type: 'ObjectTypeAnnotation',
770
841
  properties: [
@@ -854,6 +925,7 @@ const NATIVE_MODULES_WITH_TYPE_ALIASES: SchemaType = {
854
925
  ],
855
926
  },
856
927
  },
928
+ enumMap: {},
857
929
  spec: {
858
930
  properties: [
859
931
  {
@@ -899,7 +971,7 @@ const REAL_MODULE_EXAMPLE: SchemaType = {
899
971
  modules: {
900
972
  NativeCameraRollManager: {
901
973
  type: 'NativeModule',
902
- aliases: {
974
+ aliasMap: {
903
975
  PhotoIdentifierImage: {
904
976
  type: 'ObjectTypeAnnotation',
905
977
  properties: [
@@ -1138,6 +1210,7 @@ const REAL_MODULE_EXAMPLE: SchemaType = {
1138
1210
  ],
1139
1211
  },
1140
1212
  },
1213
+ enumMap: {},
1141
1214
  spec: {
1142
1215
  properties: [
1143
1216
  {
@@ -1226,7 +1299,7 @@ const REAL_MODULE_EXAMPLE: SchemaType = {
1226
1299
  },
1227
1300
  NativeExceptionsManager: {
1228
1301
  type: 'NativeModule',
1229
- aliases: {
1302
+ aliasMap: {
1230
1303
  StackFrame: {
1231
1304
  properties: [
1232
1305
  {
@@ -1333,6 +1406,7 @@ const REAL_MODULE_EXAMPLE: SchemaType = {
1333
1406
  type: 'ObjectTypeAnnotation',
1334
1407
  },
1335
1408
  },
1409
+ enumMap: {},
1336
1410
  spec: {
1337
1411
  properties: [
1338
1412
  {
@@ -1494,7 +1568,7 @@ const CXX_ONLY_NATIVE_MODULES: SchemaType = {
1494
1568
  modules: {
1495
1569
  NativeSampleTurboModule: {
1496
1570
  type: 'NativeModule',
1497
- aliases: {
1571
+ aliasMap: {
1498
1572
  ObjectAlias: {
1499
1573
  type: 'ObjectTypeAnnotation',
1500
1574
  properties: [
@@ -1508,6 +1582,57 @@ const CXX_ONLY_NATIVE_MODULES: SchemaType = {
1508
1582
  ],
1509
1583
  },
1510
1584
  },
1585
+ enumMap: {
1586
+ NumEnum: {
1587
+ type: 'EnumDeclarationWithMembers',
1588
+ name: 'NumEnum',
1589
+ memberType: 'NumberTypeAnnotation',
1590
+ members: [
1591
+ {
1592
+ name: 'ONE',
1593
+ value: '1',
1594
+ },
1595
+ {
1596
+ name: 'TWO',
1597
+ value: '2',
1598
+ },
1599
+ ],
1600
+ },
1601
+ FloatEnum: {
1602
+ type: 'EnumDeclarationWithMembers',
1603
+ name: 'FloatEnum',
1604
+ memberType: 'NumberTypeAnnotation',
1605
+ members: [
1606
+ {
1607
+ name: 'POINT_ZERO',
1608
+ value: '0.0',
1609
+ },
1610
+ {
1611
+ name: 'POINT_ONE',
1612
+ value: '0.1',
1613
+ },
1614
+ {
1615
+ name: 'POINT_TWO',
1616
+ value: '0.2',
1617
+ },
1618
+ ],
1619
+ },
1620
+ StringEnum: {
1621
+ type: 'EnumDeclarationWithMembers',
1622
+ name: 'StringEnum',
1623
+ memberType: 'StringTypeAnnotation',
1624
+ members: [
1625
+ {
1626
+ name: 'HELLO',
1627
+ value: 'hello',
1628
+ },
1629
+ {
1630
+ name: 'GoodBye',
1631
+ value: 'goodbye',
1632
+ },
1633
+ ],
1634
+ },
1635
+ },
1511
1636
  spec: {
1512
1637
  properties: [
1513
1638
  {
@@ -1568,6 +1693,7 @@ const CXX_ONLY_NATIVE_MODULES: SchemaType = {
1568
1693
  name: 'enumInt',
1569
1694
  optional: false,
1570
1695
  typeAnnotation: {
1696
+ name: 'NumEnum',
1571
1697
  type: 'EnumDeclaration',
1572
1698
  memberType: 'NumberTypeAnnotation',
1573
1699
  },
@@ -1576,6 +1702,7 @@ const CXX_ONLY_NATIVE_MODULES: SchemaType = {
1576
1702
  name: 'enumFloat',
1577
1703
  optional: false,
1578
1704
  typeAnnotation: {
1705
+ name: 'FloatEnum',
1579
1706
  type: 'EnumDeclaration',
1580
1707
  memberType: 'NumberTypeAnnotation',
1581
1708
  },
@@ -1584,6 +1711,7 @@ const CXX_ONLY_NATIVE_MODULES: SchemaType = {
1584
1711
  name: 'enumString',
1585
1712
  optional: false,
1586
1713
  typeAnnotation: {
1714
+ name: 'StringEnum',
1587
1715
  type: 'EnumDeclaration',
1588
1716
  memberType: 'StringTypeAnnotation',
1589
1717
  },
@@ -1636,6 +1764,19 @@ const CXX_ONLY_NATIVE_MODULES: SchemaType = {
1636
1764
  ],
1637
1765
  },
1638
1766
  },
1767
+ {
1768
+ name: 'getEnumReturn',
1769
+ optional: false,
1770
+ typeAnnotation: {
1771
+ type: 'FunctionTypeAnnotation',
1772
+ returnTypeAnnotation: {
1773
+ type: 'EnumDeclaration',
1774
+ name: 'NumEnum',
1775
+ memberType: 'NumberTypeAnnotation',
1776
+ },
1777
+ params: [],
1778
+ },
1779
+ },
1639
1780
  ],
1640
1781
  },
1641
1782
  moduleName: 'SampleTurboModuleCxx',
@@ -1648,7 +1789,8 @@ const SAMPLE_WITH_UPPERCASE_NAME: SchemaType = {
1648
1789
  modules: {
1649
1790
  NativeSampleTurboModule: {
1650
1791
  type: 'NativeModule',
1651
- aliases: {},
1792
+ enumMap: {},
1793
+ aliasMap: {},
1652
1794
  spec: {
1653
1795
  properties: [],
1654
1796
  },