expo-type-information 0.0.6 → 0.0.7

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.
@@ -254,6 +254,9 @@ function buildClassProperty(declaration) {
254
254
  typeNode: mapTypeToTsTypeNode(declaration.type),
255
255
  });
256
256
  }
257
+ function getModuleClassEventsTypeName(moduleClassDeclaration) {
258
+ return `${moduleClassDeclaration.name}Events`;
259
+ }
257
260
  function buildNativeModuleClassDeclaration({ moduleClassDeclaration, exportedModuleName, }) {
258
261
  const buildClassTypeProperty = (classDeclaration) => createProperty({
259
262
  // TODO(@HubertBer): that's a hack, but I couldn't find a proper way to do this
@@ -275,7 +278,9 @@ function buildNativeModuleClassDeclaration({ moduleClassDeclaration, exportedMod
275
278
  return [
276
279
  typescript_1.default.factory.createClassDeclaration([exportModifier(), declareModifier()], exportedModuleName ?? `${moduleClassDeclaration.name}NativeModuleType`, undefined, [
277
280
  typescript_1.default.factory.createHeritageClause(typescript_1.default.SyntaxKind.ExtendsKeyword, [
278
- typescript_1.default.factory.createExpressionWithTypeArguments(typescript_1.default.factory.createIdentifier('NativeModule'), undefined),
281
+ typescript_1.default.factory.createExpressionWithTypeArguments(typescript_1.default.factory.createIdentifier('NativeModule'), [
282
+ typescript_1.default.factory.createTypeReferenceNode(getModuleClassEventsTypeName(moduleClassDeclaration)),
283
+ ]),
279
284
  ]),
280
285
  ], [
281
286
  ...moduleClassDeclaration.constants.map(buildClassProperty),
@@ -398,6 +403,23 @@ function buildDefaultViewComponent({ componentName, propsTypeAlias, }) {
398
403
  ], undefined, functionBody),
399
404
  ];
400
405
  }
406
+ function buildModuleEventsTypeDeclaration(moduleClassDeclaration, { exported }) {
407
+ const createEventType = () => typescript_1.default.factory.createFunctionTypeNode(undefined, [
408
+ typescript_1.default.factory.createParameterDeclaration(undefined, typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.DotDotDotToken), typescript_1.default.factory.createIdentifier('args'), undefined, typescript_1.default.factory.createArrayTypeNode(typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.AnyKeyword)), undefined),
409
+ ], voidKeywordType());
410
+ return [
411
+ typescript_1.default.addSyntheticLeadingComment(createTypeAlias({
412
+ exported,
413
+ alias: getModuleClassEventsTypeName(moduleClassDeclaration),
414
+ type: typescript_1.default.factory.createTypeLiteralNode(moduleClassDeclaration.events.map((event) => {
415
+ return createPropertySignature({
416
+ name: event,
417
+ typeNode: createEventType(),
418
+ });
419
+ })),
420
+ }), typescript_1.default.SyntaxKind.SingleLineCommentTrivia, ` These events may have arguments that weren't resolved!`),
421
+ ];
422
+ }
401
423
  function buildExposedTypesDeclarations(ctx, options) {
402
424
  const recordDeclarationMap = (recordType) => buildRecordTypeAlias(recordType, options.exported ?? false);
403
425
  const enumDeclarationMap = (enumType) => buildEnumTypeDeclaration(enumType, options.exported ?? false, options.declare ?? false);
@@ -408,6 +430,7 @@ function buildExposedTypesDeclarations(ctx, options) {
408
430
  ctx.fileInfo.records.flatMap(recordDeclarationMap),
409
431
  ctx.fileInfo.enums.flatMap(enumDeclarationMap),
410
432
  ctx.module.classes.map(classDeclarationMap),
433
+ buildModuleEventsTypeDeclaration(ctx.module, options),
411
434
  ]);
412
435
  }
413
436
  function buildModuleDeclarationNodes(ctx) {
@@ -519,7 +542,11 @@ function buildStableNativeModuleInterface(ctx) {
519
542
  createImportDeclaration({
520
543
  namedImportsNames: [
521
544
  ...ctx.fileInfo.usedTypeIdentifiers.difference(getBasicTypesIdentifiers()),
522
- ...[generatedModuleTypeAlias, ctx.view ? getViewPropsTypeName(ctx.view) : null].filter((v) => v !== null),
545
+ ...[
546
+ getModuleClassEventsTypeName(ctx.module),
547
+ generatedModuleTypeAlias,
548
+ ctx.view ? getViewPropsTypeName(ctx.view) : null,
549
+ ].filter((v) => v !== null),
523
550
  ],
524
551
  importFromName: generatedFilePath,
525
552
  }),
@@ -682,7 +709,10 @@ async function generateFullTsInterface(fileTypeInformation) {
682
709
  importFromName: 'expo',
683
710
  }),
684
711
  createImportDeclaration({
685
- namedImportsNames: [...getAllNonBasicTypes(ctx.fileInfo)],
712
+ namedImportsNames: [
713
+ ...getAllNonBasicTypes(ctx.fileInfo),
714
+ getModuleClassEventsTypeName(ctx.module),
715
+ ],
686
716
  importFromName: `./${moduleTypesFileImportName}`,
687
717
  }),
688
718
  buildNativeModuleClassDeclaration({
@@ -1 +1 @@
1
- {"version":3,"file":"typescriptGeneration.js","sourceRoot":"","sources":["../src/typescriptGeneration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typescriptGeneration.js","sourceRoot":"","sources":["../src/typescriptGeneration.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-type-information",
3
- "version": "0.0.6",
3
+ "version": "0.0.7",
4
4
  "keywords": [
5
5
  "react-native",
6
6
  "expo",
@@ -36,7 +36,7 @@
36
36
  "ts-jest": "^29.1.2",
37
37
  "expo-module-scripts": "56.0.3"
38
38
  },
39
- "gitHead": "175f1e78e3444ca99ddea473faea6777a0656668",
39
+ "gitHead": "812dc007aefed0c432c0439fdfe05ee2f4f21da2",
40
40
  "scripts": {
41
41
  "build": "expo-module build",
42
42
  "clean": "expo-module clean",
@@ -480,6 +480,10 @@ function buildClassProperty(declaration: PropertyDeclaration): ts.PropertyDeclar
480
480
  });
481
481
  }
482
482
 
483
+ function getModuleClassEventsTypeName(moduleClassDeclaration: ModuleClassDeclaration): string {
484
+ return `${moduleClassDeclaration.name}Events`;
485
+ }
486
+
483
487
  function buildNativeModuleClassDeclaration({
484
488
  moduleClassDeclaration,
485
489
  exportedModuleName,
@@ -519,7 +523,11 @@ function buildNativeModuleClassDeclaration({
519
523
  ts.factory.createHeritageClause(ts.SyntaxKind.ExtendsKeyword, [
520
524
  ts.factory.createExpressionWithTypeArguments(
521
525
  ts.factory.createIdentifier('NativeModule'),
522
- undefined
526
+ [
527
+ ts.factory.createTypeReferenceNode(
528
+ getModuleClassEventsTypeName(moduleClassDeclaration)
529
+ ),
530
+ ]
523
531
  ),
524
532
  ]),
525
533
  ],
@@ -786,6 +794,48 @@ function buildDefaultViewComponent({
786
794
  ];
787
795
  }
788
796
 
797
+ function buildModuleEventsTypeDeclaration(
798
+ moduleClassDeclaration: ModuleClassDeclaration,
799
+ { exported }: { exported?: boolean }
800
+ ): ts.Node[] {
801
+ const createEventType = () =>
802
+ ts.factory.createFunctionTypeNode(
803
+ undefined,
804
+ [
805
+ ts.factory.createParameterDeclaration(
806
+ undefined,
807
+ ts.factory.createToken(ts.SyntaxKind.DotDotDotToken),
808
+ ts.factory.createIdentifier('args'),
809
+ undefined,
810
+ ts.factory.createArrayTypeNode(
811
+ ts.factory.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword)
812
+ ),
813
+ undefined
814
+ ),
815
+ ],
816
+ voidKeywordType()
817
+ );
818
+
819
+ return [
820
+ ts.addSyntheticLeadingComment(
821
+ createTypeAlias({
822
+ exported,
823
+ alias: getModuleClassEventsTypeName(moduleClassDeclaration),
824
+ type: ts.factory.createTypeLiteralNode(
825
+ moduleClassDeclaration.events.map((event) => {
826
+ return createPropertySignature({
827
+ name: event,
828
+ typeNode: createEventType(),
829
+ });
830
+ })
831
+ ),
832
+ }),
833
+ ts.SyntaxKind.SingleLineCommentTrivia,
834
+ ` These events may have arguments that weren't resolved!`
835
+ ),
836
+ ];
837
+ }
838
+
789
839
  export function buildExposedTypesDeclarations(
790
840
  ctx: GenerationContext,
791
841
  options: { exported?: boolean; declare?: boolean }
@@ -803,6 +853,7 @@ export function buildExposedTypesDeclarations(
803
853
  ctx.fileInfo.records.flatMap(recordDeclarationMap),
804
854
  ctx.fileInfo.enums.flatMap(enumDeclarationMap),
805
855
  ctx.module.classes.map(classDeclarationMap),
856
+ buildModuleEventsTypeDeclaration(ctx.module, options),
806
857
  ]);
807
858
  }
808
859
 
@@ -958,9 +1009,11 @@ function buildStableNativeModuleInterface(ctx: GenerationContext): ts.Node[] {
958
1009
  createImportDeclaration({
959
1010
  namedImportsNames: [
960
1011
  ...ctx.fileInfo.usedTypeIdentifiers.difference(getBasicTypesIdentifiers()),
961
- ...[generatedModuleTypeAlias, ctx.view ? getViewPropsTypeName(ctx.view) : null].filter(
962
- (v) => v !== null
963
- ),
1012
+ ...[
1013
+ getModuleClassEventsTypeName(ctx.module),
1014
+ generatedModuleTypeAlias,
1015
+ ctx.view ? getViewPropsTypeName(ctx.view) : null,
1016
+ ].filter((v) => v !== null),
964
1017
  ],
965
1018
  importFromName: generatedFilePath,
966
1019
  }),
@@ -1165,7 +1218,10 @@ export async function generateFullTsInterface(fileTypeInformation: FileTypeInfor
1165
1218
  importFromName: 'expo',
1166
1219
  }),
1167
1220
  createImportDeclaration({
1168
- namedImportsNames: [...getAllNonBasicTypes(ctx.fileInfo)],
1221
+ namedImportsNames: [
1222
+ ...getAllNonBasicTypes(ctx.fileInfo),
1223
+ getModuleClassEventsTypeName(ctx.module),
1224
+ ],
1169
1225
  importFromName: `./${moduleTypesFileImportName}`,
1170
1226
  }),
1171
1227
  buildNativeModuleClassDeclaration({
@@ -3,6 +3,8 @@ import WebKit
3
3
 
4
4
  public class TestModule: Module {
5
5
  public func definition() -> ModuleDefinition {
6
+ Events("event1", "event2", "event3")
7
+
6
8
  Constant("StringConstant") { () -> Int in
7
9
  return "Swift constant 1283"
8
10
  }
@@ -54,6 +54,13 @@ export declare class TestBasicClass {
54
54
  }
55
55
  export declare class TestEmptyClass {}
56
56
 
57
+ // These events may have arguments that weren't resolved!
58
+ export type TestModuleEvents = {
59
+ event1: (...args: any[]) => void;
60
+ event2: (...args: any[]) => void;
61
+ event3: (...args: any[]) => void;
62
+ };
63
+
57
64
  export interface ExpoWebViewProps extends ViewProps {
58
65
  url: URL;
59
66
  testRecord: TestRecord;
@@ -64,7 +71,7 @@ export interface ExpoWebViewProps extends ViewProps {
64
71
  onEvent2?: (event: any) => void;
65
72
  }
66
73
 
67
- export declare class TestModuleNativeModuleType extends NativeModule {
74
+ export declare class TestModuleNativeModuleType extends NativeModule<TestModuleEvents> {
68
75
  readonly StringConstant: number;
69
76
  readonly IntConstant: number;
70
77
  readonly UntypedConstant: unknown /*The type couldn't be resolved automatically.*/;
@@ -118,6 +125,7 @@ import {
118
125
  SomeParametrizedType,
119
126
  TestRecord,
120
127
  TestRecordClass,
128
+ TestModuleEvents,
121
129
  TestModuleNativeModuleType,
122
130
  ExpoWebViewProps
123
131
  } from './TestModule.generated';
@@ -220,10 +228,11 @@ import {
220
228
  TestEmptyClass,
221
229
  URL,
222
230
  BarcodeType,
223
- SomeParametrizedType
231
+ SomeParametrizedType,
232
+ TestModuleEvents
224
233
  } from './TestModule.types';
225
234
 
226
- export declare class TestModule extends NativeModule {
235
+ export declare class TestModule extends NativeModule<TestModuleEvents> {
227
236
  readonly StringConstant: number;
228
237
  readonly IntConstant: number;
229
238
  readonly UntypedConstant: unknown /*The type couldn't be resolved automatically.*/;
@@ -323,6 +332,13 @@ export declare class TestBasicClass {
323
332
  }
324
333
  export declare class TestEmptyClass {}
325
334
 
335
+ // These events may have arguments that weren't resolved!
336
+ export type TestModuleEvents = {
337
+ event1: (...args: any[]) => void;
338
+ event2: (...args: any[]) => void;
339
+ event3: (...args: any[]) => void;
340
+ };
341
+
326
342
  export interface ExpoWebViewProps extends ViewProps {
327
343
  url: URL;
328
344
  testRecord: TestRecord;
@@ -544,7 +560,14 @@ export declare class TestBasicClass {
544
560
  }
545
561
  export declare class TestEmptyClass {}
546
562
 
547
- export declare class TestModuleNativeModuleType extends NativeModule {
563
+ // These events may have arguments that weren't resolved!
564
+ export type TestModuleEvents = {
565
+ event1: (...args: any[]) => void;
566
+ event2: (...args: any[]) => void;
567
+ event3: (...args: any[]) => void;
568
+ };
569
+
570
+ export declare class TestModuleNativeModuleType extends NativeModule<TestModuleEvents> {
548
571
  readonly StringConstant: number;
549
572
  readonly IntConstant: number;
550
573
  readonly UntypedConstant: unknown /*The type couldn't be resolved automatically.*/;
@@ -673,7 +696,7 @@ exports[`Same type information 1`] = `
673
696
  },
674
697
  },
675
698
  ],
676
- "definitionOffset": 2435,
699
+ "definitionOffset": 2481,
677
700
  "name": "TestSimpleAsyncFunction",
678
701
  "parameters": [],
679
702
  "returnType": {
@@ -701,7 +724,7 @@ exports[`Same type information 1`] = `
701
724
  },
702
725
  },
703
726
  ],
704
- "definitionOffset": 2626,
727
+ "definitionOffset": 2672,
705
728
  "name": "TestUnderscore",
706
729
  "parameters": [],
707
730
  "returnType": {
@@ -723,9 +746,9 @@ exports[`Same type information 1`] = `
723
746
  },
724
747
  },
725
748
  ],
726
- "definitionOffset": 2752,
749
+ "definitionOffset": 2798,
727
750
  },
728
- "definitionOffset": 2706,
751
+ "definitionOffset": 2752,
729
752
  "methods": [],
730
753
  "name": "TestClassWithConstructor",
731
754
  "properties": [],
@@ -742,7 +765,7 @@ exports[`Same type information 1`] = `
742
765
  },
743
766
  },
744
767
  ],
745
- "definitionOffset": 3294,
768
+ "definitionOffset": 3340,
746
769
  "name": "TestAsyncFunction",
747
770
  "parameters": [],
748
771
  "returnType": {
@@ -787,14 +810,14 @@ exports[`Same type information 1`] = `
787
810
  },
788
811
  },
789
812
  ],
790
- "definitionOffset": 2854,
813
+ "definitionOffset": 2900,
791
814
  },
792
- "definitionOffset": 2818,
815
+ "definitionOffset": 2864,
793
816
  "methods": [],
794
817
  "name": "TestBasicClass",
795
818
  "properties": [
796
819
  {
797
- "definitionOffset": 2958,
820
+ "definitionOffset": 3004,
798
821
  "name": "TestIntProperty",
799
822
  "type": {
800
823
  "kind": 0,
@@ -802,7 +825,7 @@ exports[`Same type information 1`] = `
802
825
  },
803
826
  },
804
827
  {
805
- "definitionOffset": 3026,
828
+ "definitionOffset": 3072,
806
829
  "name": "TestEitherProperty",
807
830
  "type": {
808
831
  "kind": 2,
@@ -822,7 +845,7 @@ exports[`Same type information 1`] = `
822
845
  },
823
846
  },
824
847
  {
825
- "definitionOffset": 3113,
848
+ "definitionOffset": 3159,
826
849
  "name": "TestEnumProperty",
827
850
  "type": {
828
851
  "kind": 1,
@@ -830,7 +853,7 @@ exports[`Same type information 1`] = `
830
853
  },
831
854
  },
832
855
  {
833
- "definitionOffset": 3197,
856
+ "definitionOffset": 3243,
834
857
  "name": "TestRecordProperty",
835
858
  "type": {
836
859
  "kind": 1,
@@ -842,7 +865,7 @@ exports[`Same type information 1`] = `
842
865
  {
843
866
  "asyncMethods": [],
844
867
  "constructor": null,
845
- "definitionOffset": 3396,
868
+ "definitionOffset": 3442,
846
869
  "methods": [],
847
870
  "name": "TestEmptyClass",
848
871
  "properties": [],
@@ -850,7 +873,7 @@ exports[`Same type information 1`] = `
850
873
  ],
851
874
  "constants": [
852
875
  {
853
- "definitionOffset": 125,
876
+ "definitionOffset": 167,
854
877
  "name": "StringConstant",
855
878
  "type": {
856
879
  "kind": 0,
@@ -858,7 +881,7 @@ exports[`Same type information 1`] = `
858
881
  },
859
882
  },
860
883
  {
861
- "definitionOffset": 284,
884
+ "definitionOffset": 326,
862
885
  "name": "IntConstant",
863
886
  "type": {
864
887
  "kind": 0,
@@ -866,7 +889,7 @@ exports[`Same type information 1`] = `
866
889
  },
867
890
  },
868
891
  {
869
- "definitionOffset": 422,
892
+ "definitionOffset": 464,
870
893
  "name": "UntypedConstant",
871
894
  "type": {
872
895
  "kind": 0,
@@ -876,7 +899,11 @@ exports[`Same type information 1`] = `
876
899
  ],
877
900
  "constructor": null,
878
901
  "definitionOffset": 81,
879
- "events": [],
902
+ "events": [
903
+ "event1",
904
+ "event2",
905
+ "event3",
906
+ ],
880
907
  "functions": [
881
908
  {
882
909
  "arguments": [
@@ -895,7 +922,7 @@ exports[`Same type information 1`] = `
895
922
  },
896
923
  },
897
924
  ],
898
- "definitionOffset": 468,
925
+ "definitionOffset": 510,
899
926
  "name": "SimpleFunction",
900
927
  "parameters": [],
901
928
  "returnType": {
@@ -905,7 +932,7 @@ exports[`Same type information 1`] = `
905
932
  },
906
933
  {
907
934
  "arguments": [],
908
- "definitionOffset": 632,
935
+ "definitionOffset": 674,
909
936
  "name": "TestUntypedFunction",
910
937
  "parameters": [],
911
938
  "returnType": {
@@ -915,7 +942,7 @@ exports[`Same type information 1`] = `
915
942
  },
916
943
  {
917
944
  "arguments": [],
918
- "definitionOffset": 776,
945
+ "definitionOffset": 818,
919
946
  "name": "TestUnicodeCharacters",
920
947
  "parameters": [],
921
948
  "returnType": {
@@ -925,7 +952,7 @@ exports[`Same type information 1`] = `
925
952
  },
926
953
  {
927
954
  "arguments": [],
928
- "definitionOffset": 966,
955
+ "definitionOffset": 1008,
929
956
  "name": "TestUntypedFunction2",
930
957
  "parameters": [],
931
958
  "returnType": {
@@ -935,7 +962,7 @@ exports[`Same type information 1`] = `
935
962
  },
936
963
  {
937
964
  "arguments": [],
938
- "definitionOffset": 1130,
965
+ "definitionOffset": 1172,
939
966
  "name": "TestUntypedFunction3",
940
967
  "parameters": [],
941
968
  "returnType": {
@@ -956,7 +983,7 @@ exports[`Same type information 1`] = `
956
983
  },
957
984
  },
958
985
  ],
959
- "definitionOffset": 1296,
986
+ "definitionOffset": 1338,
960
987
  "name": "TestArrays",
961
988
  "parameters": [],
962
989
  "returnType": {
@@ -1014,7 +1041,7 @@ exports[`Same type information 1`] = `
1014
1041
  },
1015
1042
  },
1016
1043
  ],
1017
- "definitionOffset": 1455,
1044
+ "definitionOffset": 1497,
1018
1045
  "name": "TestDictionaries",
1019
1046
  "parameters": [],
1020
1047
  "returnType": {
@@ -1104,7 +1131,7 @@ exports[`Same type information 1`] = `
1104
1131
  },
1105
1132
  },
1106
1133
  ],
1107
- "definitionOffset": 1648,
1134
+ "definitionOffset": 1694,
1108
1135
  "name": "TestParametrizedTypes",
1109
1136
  "parameters": [],
1110
1137
  "returnType": {
@@ -1131,7 +1158,7 @@ exports[`Same type information 1`] = `
1131
1158
  },
1132
1159
  },
1133
1160
  ],
1134
- "definitionOffset": 1892,
1161
+ "definitionOffset": 1938,
1135
1162
  "name": "TestTypeCombinations",
1136
1163
  "parameters": [],
1137
1164
  "returnType": {
@@ -1168,7 +1195,7 @@ exports[`Same type information 1`] = `
1168
1195
  },
1169
1196
  {
1170
1197
  "arguments": [],
1171
- "definitionOffset": 2093,
1198
+ "definitionOffset": 2139,
1172
1199
  "name": "TestFunctionReturningRecord",
1173
1200
  "parameters": [],
1174
1201
  "returnType": {
@@ -1178,7 +1205,7 @@ exports[`Same type information 1`] = `
1178
1205
  },
1179
1206
  {
1180
1207
  "arguments": [],
1181
- "definitionOffset": 2258,
1208
+ "definitionOffset": 2304,
1182
1209
  "name": "TestFunctionReturningEnum",
1183
1210
  "parameters": [],
1184
1211
  "returnType": {
@@ -1196,7 +1223,7 @@ exports[`Same type information 1`] = `
1196
1223
  "classes": [],
1197
1224
  "constants": [],
1198
1225
  "constructor": null,
1199
- "definitionOffset": 3459,
1226
+ "definitionOffset": 3505,
1200
1227
  "events": [
1201
1228
  "onEvent1",
1202
1229
  "onEvent2",
@@ -1222,7 +1249,7 @@ exports[`Same type information 1`] = `
1222
1249
  },
1223
1250
  },
1224
1251
  ],
1225
- "definitionOffset": 3505,
1252
+ "definitionOffset": 3551,
1226
1253
  "name": "url",
1227
1254
  },
1228
1255
  {
@@ -1242,7 +1269,7 @@ exports[`Same type information 1`] = `
1242
1269
  },
1243
1270
  },
1244
1271
  ],
1245
- "definitionOffset": 3689,
1272
+ "definitionOffset": 3735,
1246
1273
  "name": "testRecord",
1247
1274
  },
1248
1275
  {
@@ -1262,7 +1289,7 @@ exports[`Same type information 1`] = `
1262
1289
  },
1263
1290
  },
1264
1291
  ],
1265
- "definitionOffset": 3760,
1292
+ "definitionOffset": 3806,
1266
1293
  "name": "testRecord2",
1267
1294
  },
1268
1295
  {
@@ -1282,7 +1309,7 @@ exports[`Same type information 1`] = `
1282
1309
  },
1283
1310
  },
1284
1311
  ],
1285
- "definitionOffset": 3834,
1312
+ "definitionOffset": 3880,
1286
1313
  "name": "testRecordClass",
1287
1314
  },
1288
1315
  {
@@ -1302,7 +1329,7 @@ exports[`Same type information 1`] = `
1302
1329
  },
1303
1330
  },
1304
1331
  ],
1305
- "definitionOffset": 3920,
1332
+ "definitionOffset": 3966,
1306
1333
  "name": "testEnum",
1307
1334
  },
1308
1335
  ],