@react-native/codegen 0.72.1 → 0.72.3
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 +348 -0
- package/lib/CodegenSchema.js.flow +31 -3
- package/lib/SchemaValidator.d.ts +11 -0
- package/lib/cli/combine/combine-js-to-schema.js +8 -8
- package/lib/cli/combine/combine-js-to-schema.js.flow +8 -7
- package/lib/cli/parser/parser.js +8 -15
- package/lib/cli/parser/parser.js.flow +8 -14
- package/lib/generators/Utils.js +16 -0
- package/lib/generators/Utils.js.flow +20 -0
- package/lib/generators/__test_fixtures__/fixtures.js +2 -1
- package/lib/generators/__test_fixtures__/fixtures.js.flow +2 -1
- package/lib/generators/components/ComponentsGeneratorUtils.js +10 -1
- package/lib/generators/components/ComponentsGeneratorUtils.js.flow +12 -2
- package/lib/generators/components/CppHelpers.js +8 -15
- package/lib/generators/components/CppHelpers.js.flow +8 -19
- package/lib/generators/components/GenerateEventEmitterCpp.js +7 -3
- package/lib/generators/components/GenerateEventEmitterCpp.js.flow +7 -3
- package/lib/generators/components/GenerateEventEmitterH.js +2 -2
- package/lib/generators/components/GenerateEventEmitterH.js.flow +1 -2
- package/lib/generators/components/GeneratePropsH.js +3 -4
- package/lib/generators/components/GeneratePropsH.js.flow +2 -4
- package/lib/generators/components/GeneratePropsJavaDelegate.js +2 -0
- package/lib/generators/components/GeneratePropsJavaDelegate.js.flow +2 -0
- package/lib/generators/components/GeneratePropsJavaInterface.js +3 -0
- package/lib/generators/components/GeneratePropsJavaInterface.js.flow +3 -0
- package/lib/generators/components/GeneratePropsJavaPojo/serializePojo.js +8 -0
- package/lib/generators/components/GeneratePropsJavaPojo/serializePojo.js.flow +12 -0
- package/lib/generators/components/GenerateTests.js +3 -2
- package/lib/generators/components/GenerateTests.js.flow +3 -1
- package/lib/generators/components/GenerateViewConfigJs.js +5 -2
- package/lib/generators/components/GenerateViewConfigJs.js.flow +5 -2
- package/lib/generators/components/JavaHelpers.js +9 -0
- package/lib/generators/components/JavaHelpers.js.flow +12 -1
- package/lib/generators/components/__test_fixtures__/fixtures.js +41 -0
- package/lib/generators/components/__test_fixtures__/fixtures.js.flow +42 -0
- package/lib/generators/modules/GenerateModuleCpp.js +9 -4
- package/lib/generators/modules/GenerateModuleCpp.js.flow +11 -3
- package/lib/generators/modules/GenerateModuleH.js +185 -33
- package/lib/generators/modules/GenerateModuleH.js.flow +203 -25
- package/lib/generators/modules/GenerateModuleJavaSpec.js +2 -2
- package/lib/generators/modules/GenerateModuleJavaSpec.js.flow +5 -5
- package/lib/generators/modules/GenerateModuleJniCpp.js +2 -2
- package/lib/generators/modules/GenerateModuleJniCpp.js.flow +5 -5
- package/lib/generators/modules/GenerateModuleObjCpp/index.js +2 -2
- package/lib/generators/modules/GenerateModuleObjCpp/index.js.flow +2 -2
- package/lib/generators/modules/GenerateModuleObjCpp/serializeMethod.js.flow +2 -2
- package/lib/generators/modules/Utils.js +4 -0
- package/lib/generators/modules/Utils.js.flow +6 -0
- package/lib/generators/modules/__test_fixtures__/fixtures.js +152 -10
- package/lib/generators/modules/__test_fixtures__/fixtures.js.flow +152 -10
- package/lib/parsers/error-utils.js +42 -19
- package/lib/parsers/error-utils.js.flow +46 -19
- package/lib/parsers/errors.d.ts +10 -0
- package/lib/parsers/errors.js +9 -29
- package/lib/parsers/errors.js.flow +2 -20
- package/lib/parsers/flow/Visitor.js +37 -0
- package/lib/parsers/flow/Visitor.js.flow +41 -0
- package/lib/parsers/flow/components/__test_fixtures__/fixtures.js +20 -2
- package/lib/parsers/flow/components/__test_fixtures__/fixtures.js.flow +20 -2
- package/lib/parsers/flow/components/commands.js +3 -0
- package/lib/parsers/flow/components/commands.js.flow +2 -1
- package/lib/parsers/flow/components/componentsUtils.js +10 -0
- package/lib/parsers/flow/components/componentsUtils.js.flow +11 -1
- package/lib/parsers/flow/components/events.js.flow +1 -1
- package/lib/parsers/flow/components/extends.js.flow +1 -1
- package/lib/parsers/flow/components/index.js +16 -20
- package/lib/parsers/flow/components/index.js.flow +8 -7
- package/lib/parsers/flow/components/options.js.flow +1 -1
- package/lib/parsers/flow/components/props.js.flow +1 -1
- package/lib/parsers/flow/modules/__test_fixtures__/failures.js +54 -0
- package/lib/parsers/flow/modules/__test_fixtures__/failures.js.flow +56 -0
- package/lib/parsers/flow/modules/__test_fixtures__/fixtures.js +64 -1
- package/lib/parsers/flow/modules/__test_fixtures__/fixtures.js.flow +66 -1
- package/lib/parsers/flow/modules/index.js +112 -48
- package/lib/parsers/flow/modules/index.js.flow +115 -44
- package/lib/parsers/flow/parser.d.ts +10 -0
- package/lib/parsers/flow/parser.js +173 -32
- package/lib/parsers/flow/parser.js.flow +201 -24
- package/lib/parsers/flow/utils.js +33 -57
- package/lib/parsers/flow/utils.js.flow +37 -60
- package/lib/parsers/parser.d.ts +17 -0
- package/lib/parsers/parser.js.flow +124 -17
- package/lib/parsers/parserMock.js +101 -30
- package/lib/parsers/parserMock.js.flow +139 -24
- package/lib/parsers/parsers-commons.js +121 -119
- package/lib/parsers/parsers-commons.js.flow +136 -131
- package/lib/parsers/parsers-primitives.js +75 -12
- package/lib/parsers/parsers-primitives.js.flow +92 -13
- package/lib/parsers/schema/index.d.ts +10 -0
- package/lib/parsers/{typescript/components/schema.js.flow → schema.js.flow} +1 -1
- package/lib/parsers/typescript/Visitor.js +42 -0
- package/lib/parsers/typescript/Visitor.js.flow +47 -0
- package/lib/parsers/typescript/components/__test_fixtures__/fixtures.js +22 -0
- package/lib/parsers/typescript/components/__test_fixtures__/fixtures.js.flow +22 -0
- package/lib/parsers/typescript/components/commands.js +3 -0
- package/lib/parsers/typescript/components/commands.js.flow +2 -1
- package/lib/parsers/typescript/components/componentsUtils.js +5 -0
- package/lib/parsers/typescript/components/componentsUtils.js.flow +6 -1
- package/lib/parsers/typescript/components/events.js.flow +1 -1
- package/lib/parsers/typescript/components/extends.js.flow +1 -1
- package/lib/parsers/typescript/components/index.js +15 -19
- package/lib/parsers/typescript/components/index.js.flow +8 -7
- package/lib/parsers/typescript/components/options.js.flow +1 -1
- package/lib/parsers/typescript/components/props.js.flow +1 -1
- package/lib/parsers/typescript/modules/__test_fixtures__/failures.js +52 -0
- package/lib/parsers/typescript/modules/__test_fixtures__/failures.js.flow +54 -0
- package/lib/parsers/typescript/modules/__test_fixtures__/fixtures.js +142 -0
- package/lib/parsers/typescript/modules/__test_fixtures__/fixtures.js.flow +146 -0
- package/lib/parsers/typescript/modules/index.js +276 -110
- package/lib/parsers/typescript/modules/index.js.flow +237 -68
- package/lib/parsers/typescript/parser.d.ts +10 -0
- package/lib/parsers/typescript/parser.js +175 -25
- package/lib/parsers/typescript/parser.js.flow +184 -26
- package/lib/parsers/typescript/utils.js +40 -51
- package/lib/parsers/typescript/utils.js.flow +44 -55
- package/lib/parsers/utils.js +0 -125
- package/lib/parsers/utils.js.flow +3 -70
- package/package.json +4 -1
- package/lib/parsers/flow/components/schema.js +0 -106
- package/lib/parsers/flow/components/schema.js.flow +0 -62
- package/lib/parsers/flow/index.js +0 -80
- package/lib/parsers/flow/index.js.flow +0 -85
- package/lib/parsers/typescript/index.js +0 -85
- package/lib/parsers/typescript/index.js.flow +0 -94
- /package/lib/parsers/{typescript/components/schema.js → schema.js} +0 -0
|
@@ -145,15 +145,13 @@ const _require = require('../../utils'),
|
|
|
145
145
|
isModuleRegistryCall = _require.isModuleRegistryCall,
|
|
146
146
|
verifyPlatforms = _require.verifyPlatforms;
|
|
147
147
|
const _require2 = require('../utils'),
|
|
148
|
-
resolveTypeAnnotation = _require2.resolveTypeAnnotation
|
|
149
|
-
getTypes = _require2.getTypes;
|
|
148
|
+
resolveTypeAnnotation = _require2.resolveTypeAnnotation;
|
|
150
149
|
const _require3 = require('../../parsers-commons'),
|
|
151
150
|
unwrapNullable = _require3.unwrapNullable,
|
|
152
151
|
wrapNullable = _require3.wrapNullable,
|
|
153
152
|
assertGenericTypeAnnotationHasExactlyOneTypeParameter =
|
|
154
153
|
_require3.assertGenericTypeAnnotationHasExactlyOneTypeParameter,
|
|
155
154
|
parseObjectProperty = _require3.parseObjectProperty,
|
|
156
|
-
translateDefault = _require3.translateDefault,
|
|
157
155
|
buildPropertySchema = _require3.buildPropertySchema;
|
|
158
156
|
const _require4 = require('../../parsers-primitives'),
|
|
159
157
|
emitArrayType = _require4.emitArrayType,
|
|
@@ -163,6 +161,7 @@ const _require4 = require('../../parsers-primitives'),
|
|
|
163
161
|
emitFunction = _require4.emitFunction,
|
|
164
162
|
emitNumber = _require4.emitNumber,
|
|
165
163
|
emitInt32 = _require4.emitInt32,
|
|
164
|
+
emitGenericObject = _require4.emitGenericObject,
|
|
166
165
|
emitObject = _require4.emitObject,
|
|
167
166
|
emitPromise = _require4.emitPromise,
|
|
168
167
|
emitRootTag = _require4.emitRootTag,
|
|
@@ -172,12 +171,11 @@ const _require4 = require('../../parsers-primitives'),
|
|
|
172
171
|
emitMixed = _require4.emitMixed,
|
|
173
172
|
emitUnion = _require4.emitUnion,
|
|
174
173
|
typeAliasResolution = _require4.typeAliasResolution,
|
|
175
|
-
|
|
174
|
+
typeEnumResolution = _require4.typeEnumResolution;
|
|
176
175
|
const _require5 = require('../../errors'),
|
|
177
176
|
UnsupportedTypeAnnotationParserError =
|
|
178
177
|
_require5.UnsupportedTypeAnnotationParserError,
|
|
179
|
-
|
|
180
|
-
_require5.IncorrectModuleRegistryCallArgumentTypeParserError;
|
|
178
|
+
UnsupportedGenericParserError = _require5.UnsupportedGenericParserError;
|
|
181
179
|
const _require6 = require('../../error-utils'),
|
|
182
180
|
throwIfModuleInterfaceNotFound = _require6.throwIfModuleInterfaceNotFound,
|
|
183
181
|
throwIfModuleInterfaceIsMisnamed = _require6.throwIfModuleInterfaceIsMisnamed,
|
|
@@ -189,13 +187,15 @@ const _require6 = require('../../error-utils'),
|
|
|
189
187
|
_require6.throwIfMoreThanOneModuleRegistryCalls,
|
|
190
188
|
throwIfIncorrectModuleRegistryCallTypeParameterParserError =
|
|
191
189
|
_require6.throwIfIncorrectModuleRegistryCallTypeParameterParserError,
|
|
190
|
+
throwIfIncorrectModuleRegistryCallArgument =
|
|
191
|
+
_require6.throwIfIncorrectModuleRegistryCallArgument,
|
|
192
192
|
throwIfUntypedModule = _require6.throwIfUntypedModule,
|
|
193
193
|
throwIfMoreThanOneModuleInterfaceParserError =
|
|
194
|
-
_require6.throwIfMoreThanOneModuleInterfaceParserError
|
|
195
|
-
|
|
196
|
-
|
|
194
|
+
_require6.throwIfMoreThanOneModuleInterfaceParserError,
|
|
195
|
+
throwIfPartialNotAnnotatingTypeParameter =
|
|
196
|
+
_require6.throwIfPartialNotAnnotatingTypeParameter,
|
|
197
|
+
throwIfPartialWithMoreParameter = _require6.throwIfPartialWithMoreParameter;
|
|
197
198
|
const language = 'Flow';
|
|
198
|
-
const parser = new FlowParser();
|
|
199
199
|
function translateTypeAnnotation(
|
|
200
200
|
hasteModuleName,
|
|
201
201
|
/**
|
|
@@ -204,8 +204,10 @@ function translateTypeAnnotation(
|
|
|
204
204
|
flowTypeAnnotation,
|
|
205
205
|
types,
|
|
206
206
|
aliasMap,
|
|
207
|
+
enumMap,
|
|
207
208
|
tryParse,
|
|
208
209
|
cxxOnly,
|
|
210
|
+
parser,
|
|
209
211
|
) {
|
|
210
212
|
const _resolveTypeAnnotatio = resolveTypeAnnotation(
|
|
211
213
|
flowTypeAnnotation,
|
|
@@ -213,7 +215,7 @@ function translateTypeAnnotation(
|
|
|
213
215
|
),
|
|
214
216
|
nullable = _resolveTypeAnnotatio.nullable,
|
|
215
217
|
typeAnnotation = _resolveTypeAnnotatio.typeAnnotation,
|
|
216
|
-
|
|
218
|
+
typeResolutionStatus = _resolveTypeAnnotatio.typeResolutionStatus;
|
|
217
219
|
switch (typeAnnotation.type) {
|
|
218
220
|
case 'GenericTypeAnnotation': {
|
|
219
221
|
switch (typeAnnotation.id.name) {
|
|
@@ -228,6 +230,7 @@ function translateTypeAnnotation(
|
|
|
228
230
|
nullable,
|
|
229
231
|
types,
|
|
230
232
|
aliasMap,
|
|
233
|
+
enumMap,
|
|
231
234
|
tryParse,
|
|
232
235
|
cxxOnly,
|
|
233
236
|
translateTypeAnnotation,
|
|
@@ -241,6 +244,7 @@ function translateTypeAnnotation(
|
|
|
241
244
|
parser,
|
|
242
245
|
types,
|
|
243
246
|
aliasMap,
|
|
247
|
+
enumMap,
|
|
244
248
|
cxxOnly,
|
|
245
249
|
nullable,
|
|
246
250
|
translateTypeAnnotation,
|
|
@@ -258,8 +262,10 @@ function translateTypeAnnotation(
|
|
|
258
262
|
typeAnnotation.typeParameters.params[0],
|
|
259
263
|
types,
|
|
260
264
|
aliasMap,
|
|
265
|
+
enumMap,
|
|
261
266
|
tryParse,
|
|
262
267
|
cxxOnly,
|
|
268
|
+
parser,
|
|
263
269
|
),
|
|
264
270
|
),
|
|
265
271
|
_unwrapNullable2 = _slicedToArray(_unwrapNullable, 2),
|
|
@@ -281,20 +287,70 @@ function translateTypeAnnotation(
|
|
|
281
287
|
}
|
|
282
288
|
case 'UnsafeObject':
|
|
283
289
|
case 'Object': {
|
|
284
|
-
return
|
|
290
|
+
return emitGenericObject(nullable);
|
|
291
|
+
}
|
|
292
|
+
case '$Partial': {
|
|
293
|
+
throwIfPartialWithMoreParameter(typeAnnotation);
|
|
294
|
+
const annotatedElement = parser.extractAnnotatedElement(
|
|
295
|
+
typeAnnotation,
|
|
296
|
+
types,
|
|
297
|
+
);
|
|
298
|
+
throwIfPartialNotAnnotatingTypeParameter(
|
|
299
|
+
typeAnnotation,
|
|
300
|
+
types,
|
|
301
|
+
parser,
|
|
302
|
+
);
|
|
303
|
+
const properties = annotatedElement.right.properties.map(prop => {
|
|
304
|
+
return {
|
|
305
|
+
name: prop.key.name,
|
|
306
|
+
optional: true,
|
|
307
|
+
typeAnnotation: translateTypeAnnotation(
|
|
308
|
+
hasteModuleName,
|
|
309
|
+
prop.value,
|
|
310
|
+
types,
|
|
311
|
+
aliasMap,
|
|
312
|
+
enumMap,
|
|
313
|
+
tryParse,
|
|
314
|
+
cxxOnly,
|
|
315
|
+
parser,
|
|
316
|
+
),
|
|
317
|
+
};
|
|
318
|
+
});
|
|
319
|
+
return emitObject(nullable, properties);
|
|
285
320
|
}
|
|
286
321
|
default: {
|
|
287
|
-
|
|
322
|
+
throw new UnsupportedGenericParserError(
|
|
288
323
|
hasteModuleName,
|
|
289
324
|
typeAnnotation,
|
|
290
|
-
types,
|
|
291
|
-
nullable,
|
|
292
325
|
parser,
|
|
293
326
|
);
|
|
294
327
|
}
|
|
295
328
|
}
|
|
296
329
|
}
|
|
297
330
|
case 'ObjectTypeAnnotation': {
|
|
331
|
+
// if there is any indexer, then it is a dictionary
|
|
332
|
+
if (typeAnnotation.indexers) {
|
|
333
|
+
const indexers = typeAnnotation.indexers.filter(
|
|
334
|
+
member => member.type === 'ObjectTypeIndexer',
|
|
335
|
+
);
|
|
336
|
+
if (indexers.length > 0) {
|
|
337
|
+
// check the property type to prevent developers from using unsupported types
|
|
338
|
+
// the return value from `translateTypeAnnotation` is unused
|
|
339
|
+
const propertyType = indexers[0].value;
|
|
340
|
+
translateTypeAnnotation(
|
|
341
|
+
hasteModuleName,
|
|
342
|
+
propertyType,
|
|
343
|
+
types,
|
|
344
|
+
aliasMap,
|
|
345
|
+
enumMap,
|
|
346
|
+
tryParse,
|
|
347
|
+
cxxOnly,
|
|
348
|
+
parser,
|
|
349
|
+
);
|
|
350
|
+
// no need to do further checking
|
|
351
|
+
return emitGenericObject(nullable);
|
|
352
|
+
}
|
|
353
|
+
}
|
|
298
354
|
const objectTypeAnnotation = {
|
|
299
355
|
type: 'ObjectTypeAnnotation',
|
|
300
356
|
// $FlowFixMe[missing-type-arg]
|
|
@@ -306,6 +362,7 @@ function translateTypeAnnotation(
|
|
|
306
362
|
hasteModuleName,
|
|
307
363
|
types,
|
|
308
364
|
aliasMap,
|
|
365
|
+
enumMap,
|
|
309
366
|
tryParse,
|
|
310
367
|
cxxOnly,
|
|
311
368
|
nullable,
|
|
@@ -317,7 +374,7 @@ function translateTypeAnnotation(
|
|
|
317
374
|
.filter(Boolean),
|
|
318
375
|
};
|
|
319
376
|
return typeAliasResolution(
|
|
320
|
-
|
|
377
|
+
typeResolutionStatus,
|
|
321
378
|
objectTypeAnnotation,
|
|
322
379
|
aliasMap,
|
|
323
380
|
nullable,
|
|
@@ -342,10 +399,11 @@ function translateTypeAnnotation(
|
|
|
342
399
|
typeAnnotation,
|
|
343
400
|
types,
|
|
344
401
|
aliasMap,
|
|
402
|
+
enumMap,
|
|
345
403
|
tryParse,
|
|
346
404
|
cxxOnly,
|
|
347
405
|
translateTypeAnnotation,
|
|
348
|
-
|
|
406
|
+
parser,
|
|
349
407
|
);
|
|
350
408
|
}
|
|
351
409
|
case 'UnionTypeAnnotation': {
|
|
@@ -361,10 +419,22 @@ function translateTypeAnnotation(
|
|
|
361
419
|
case 'MixedTypeAnnotation': {
|
|
362
420
|
if (cxxOnly) {
|
|
363
421
|
return emitMixed(nullable);
|
|
422
|
+
} else {
|
|
423
|
+
return emitGenericObject(nullable);
|
|
364
424
|
}
|
|
365
|
-
// Fallthrough
|
|
366
425
|
}
|
|
367
|
-
|
|
426
|
+
case 'EnumStringBody':
|
|
427
|
+
case 'EnumNumberBody': {
|
|
428
|
+
return typeEnumResolution(
|
|
429
|
+
typeAnnotation,
|
|
430
|
+
typeResolutionStatus,
|
|
431
|
+
nullable,
|
|
432
|
+
hasteModuleName,
|
|
433
|
+
language,
|
|
434
|
+
enumMap,
|
|
435
|
+
parser,
|
|
436
|
+
);
|
|
437
|
+
}
|
|
368
438
|
default: {
|
|
369
439
|
throw new UnsupportedTypeAnnotationParserError(
|
|
370
440
|
hasteModuleName,
|
|
@@ -374,14 +444,6 @@ function translateTypeAnnotation(
|
|
|
374
444
|
}
|
|
375
445
|
}
|
|
376
446
|
}
|
|
377
|
-
function isModuleInterface(node) {
|
|
378
|
-
return (
|
|
379
|
-
node.type === 'InterfaceDeclaration' &&
|
|
380
|
-
node.extends.length === 1 &&
|
|
381
|
-
node.extends[0].type === 'InterfaceExtends' &&
|
|
382
|
-
node.extends[0].id.name === 'TurboModule'
|
|
383
|
-
);
|
|
384
|
-
}
|
|
385
447
|
function buildModuleSchema(
|
|
386
448
|
hasteModuleName,
|
|
387
449
|
/**
|
|
@@ -389,9 +451,12 @@ function buildModuleSchema(
|
|
|
389
451
|
*/
|
|
390
452
|
ast,
|
|
391
453
|
tryParse,
|
|
454
|
+
parser,
|
|
392
455
|
) {
|
|
393
|
-
const types = getTypes(ast);
|
|
394
|
-
const moduleSpecs = Object.values(types).filter(
|
|
456
|
+
const types = parser.getTypes(ast);
|
|
457
|
+
const moduleSpecs = Object.values(types).filter(t =>
|
|
458
|
+
parser.isModuleInterface(t),
|
|
459
|
+
);
|
|
395
460
|
throwIfModuleInterfaceNotFound(
|
|
396
461
|
moduleSpecs.length,
|
|
397
462
|
hasteModuleName,
|
|
@@ -421,13 +486,11 @@ function buildModuleSchema(
|
|
|
421
486
|
hasteModuleName,
|
|
422
487
|
moduleSpec,
|
|
423
488
|
callExpressions,
|
|
424
|
-
language,
|
|
425
489
|
);
|
|
426
490
|
throwIfMoreThanOneModuleRegistryCalls(
|
|
427
491
|
hasteModuleName,
|
|
428
492
|
callExpressions,
|
|
429
493
|
callExpressions.length,
|
|
430
|
-
language,
|
|
431
494
|
);
|
|
432
495
|
const callExpression = callExpressions[0];
|
|
433
496
|
const typeArguments = callExpression.typeArguments;
|
|
@@ -437,18 +500,12 @@ function buildModuleSchema(
|
|
|
437
500
|
callExpression,
|
|
438
501
|
methodName,
|
|
439
502
|
callExpression.arguments.length,
|
|
440
|
-
language,
|
|
441
503
|
);
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
methodName,
|
|
448
|
-
type,
|
|
449
|
-
language,
|
|
450
|
-
);
|
|
451
|
-
}
|
|
504
|
+
throwIfIncorrectModuleRegistryCallArgument(
|
|
505
|
+
hasteModuleName,
|
|
506
|
+
callExpression.arguments[0],
|
|
507
|
+
methodName,
|
|
508
|
+
);
|
|
452
509
|
const $moduleName = callExpression.arguments[0].value;
|
|
453
510
|
throwIfUntypedModule(
|
|
454
511
|
typeArguments,
|
|
@@ -456,7 +513,6 @@ function buildModuleSchema(
|
|
|
456
513
|
callExpression,
|
|
457
514
|
methodName,
|
|
458
515
|
$moduleName,
|
|
459
|
-
language,
|
|
460
516
|
);
|
|
461
517
|
throwIfIncorrectModuleRegistryCallTypeParameterParserError(
|
|
462
518
|
hasteModuleName,
|
|
@@ -481,29 +537,36 @@ function buildModuleSchema(
|
|
|
481
537
|
.filter(property => property.type === 'ObjectTypeProperty')
|
|
482
538
|
.map(property => {
|
|
483
539
|
const aliasMap = {};
|
|
540
|
+
const enumMap = {};
|
|
484
541
|
return tryParse(() => ({
|
|
485
542
|
aliasMap: aliasMap,
|
|
543
|
+
enumMap: enumMap,
|
|
486
544
|
propertyShape: buildPropertySchema(
|
|
487
545
|
hasteModuleName,
|
|
488
546
|
property,
|
|
489
547
|
types,
|
|
490
548
|
aliasMap,
|
|
549
|
+
enumMap,
|
|
491
550
|
tryParse,
|
|
492
551
|
cxxOnly,
|
|
493
|
-
language,
|
|
494
552
|
resolveTypeAnnotation,
|
|
495
553
|
translateTypeAnnotation,
|
|
554
|
+
parser,
|
|
496
555
|
),
|
|
497
556
|
}));
|
|
498
557
|
})
|
|
499
558
|
.filter(Boolean)
|
|
500
559
|
.reduce(
|
|
501
|
-
(moduleSchema, {aliasMap, propertyShape}) => ({
|
|
560
|
+
(moduleSchema, {aliasMap, enumMap, propertyShape}) => ({
|
|
502
561
|
type: 'NativeModule',
|
|
503
|
-
|
|
504
|
-
_objectSpread({}, moduleSchema.
|
|
562
|
+
aliasMap: _objectSpread(
|
|
563
|
+
_objectSpread({}, moduleSchema.aliasMap),
|
|
505
564
|
aliasMap,
|
|
506
565
|
),
|
|
566
|
+
enumMap: _objectSpread(
|
|
567
|
+
_objectSpread({}, moduleSchema.enumMap),
|
|
568
|
+
enumMap,
|
|
569
|
+
),
|
|
507
570
|
spec: {
|
|
508
571
|
properties: [...moduleSchema.spec.properties, propertyShape],
|
|
509
572
|
},
|
|
@@ -512,7 +575,8 @@ function buildModuleSchema(
|
|
|
512
575
|
}),
|
|
513
576
|
{
|
|
514
577
|
type: 'NativeModule',
|
|
515
|
-
|
|
578
|
+
aliasMap: {},
|
|
579
|
+
enumMap: {},
|
|
516
580
|
spec: {
|
|
517
581
|
properties: [],
|
|
518
582
|
},
|