@@ -14,6 +14,11 @@ var LibraryEmbind = {
14
14
this . name = name ;
15
15
}
16
16
} ,
17
+ $IntegerType : class IntegerType {
18
+ constructor ( typeId ) {
19
+ this . typeId = typeId ;
20
+ }
21
+ } ,
17
22
$Argument : class Argument {
18
23
constructor ( name , type ) {
19
24
this . name = name ;
@@ -193,21 +198,22 @@ var LibraryEmbind = {
193
198
const jsString = 'ArrayBuffer|Uint8Array|Uint8ClampedArray|Int8Array|string' ;
194
199
this . builtInToJsName = new Map ( [
195
200
[ 'bool' , 'boolean' ] ,
196
- [ 'char' , 'number' ] ,
197
- [ 'unsigned char' , 'number' ] ,
198
- [ 'int' , 'number' ] ,
199
- [ 'unsigned int' , 'number' ] ,
200
- [ 'unsigned long' , 'number' ] ,
201
201
[ 'float' , 'number' ] ,
202
202
[ 'double' , 'number' ] ,
203
203
[ 'void' , 'void' ] ,
204
204
[ 'std::string' , jsString ] ,
205
205
[ 'std::basic_string<unsigned char>' , jsString ] ,
206
+ [ 'std::wstring' , jsString ] ,
207
+ [ 'std::u16string' , jsString ] ,
208
+ [ 'std::u32string' , jsString ] ,
206
209
[ 'emscripten::val' , 'any' ] ,
207
210
] ) ;
208
211
}
209
212
210
213
typeToJsName ( type ) {
214
+ if ( type instanceof IntegerType ) {
215
+ return 'number' ;
216
+ }
211
217
if ( type instanceof PrimitiveType ) {
212
218
if ( ! this . builtInToJsName . has ( type . name ) ) {
213
219
throw new Error ( `Missing primitive type to TS type for '${ type . name } '` ) ;
@@ -247,6 +253,10 @@ var LibraryEmbind = {
247
253
name = readLatin1String ( name ) ;
248
254
registerType ( id , new PrimitiveType ( id , name ) ) ;
249
255
} ,
256
+ $registerIntegerType__deps : [ '$registerType' , '$IntegerType' ] ,
257
+ $registerIntegerType : ( id ) => {
258
+ registerType ( id , new IntegerType ( id ) ) ;
259
+ } ,
250
260
$createFunctionDefinition__deps : [ '$FunctionDefinition' , '$heap32VectorToArray' , '$readLatin1String' , '$Argument' , '$whenDependentTypesAreResolved' ] ,
251
261
$createFunctionDefinition : ( name , argCount , rawArgTypesAddr , hasThis , cb ) => {
252
262
const argTypes = heap32VectorToArray ( argCount , rawArgTypesAddr ) ;
@@ -277,9 +287,9 @@ var LibraryEmbind = {
277
287
_embind_register_bool : ( rawType , name , trueValue , falseValue ) => {
278
288
registerPrimitiveType ( rawType , name ) ;
279
289
} ,
280
- _embind_register_integer__deps : [ '$registerPrimitiveType ' ] ,
290
+ _embind_register_integer__deps : [ '$registerIntegerType ' ] ,
281
291
_embind_register_integer : ( primitiveType , name , size , minRange , maxRange ) => {
282
- registerPrimitiveType ( primitiveType , name ) ;
292
+ registerIntegerType ( primitiveType , name ) ;
283
293
} ,
284
294
_embind_register_bigint : ( primitiveType , name , size , minRange , maxRange ) => {
285
295
registerPrimitiveType ( primitiveType , name ) ;
@@ -333,7 +343,7 @@ var LibraryEmbind = {
333
343
) ;
334
344
335
345
} ,
336
- _embind_register_class_constructor__deps : [ '$whenDependentTypesAreResolved' ] ,
346
+ _embind_register_class_constructor__deps : [ '$whenDependentTypesAreResolved' , '$createFunctionDefinition' ] ,
337
347
_embind_register_class_constructor : function (
338
348
rawClassType ,
339
349
argCount ,
@@ -428,6 +438,8 @@ var LibraryEmbind = {
428
438
return [ ] ;
429
439
} ) ;
430
440
} ,
441
+ // Stub function. This is called a when extending an object and not needed for TS generation.
442
+ _embind_create_inheriting_constructor : ( constructorName , wrapperType , properties ) => { } ,
431
443
_embind_register_enum__deps : [ '$readLatin1String' , '$EnumDefinition' , '$moduleDefinitions' ] ,
432
444
_embind_register_enum : function ( rawType , name , size , isSigned ) {
433
445
name = readLatin1String ( name ) ;
@@ -559,7 +571,7 @@ var LibraryEmbind = {
559
571
$embindEmitTypes__postset : 'addOnInit(embindEmitTypes);' ,
560
572
$embindEmitTypes : ( ) => {
561
573
for ( const typeId in awaitingDependencies ) {
562
- throwBindingError ( `Missing type definition for '${ getTypeName ( typeId ) } '` ) ;
574
+ throwBindingError ( `Missing binding for type: '${ getTypeName ( typeId ) } ' typeId: ${ typeId } ` ) ;
563
575
}
564
576
const printer = new TsPrinter ( moduleDefinitions ) ;
565
577
printer . print ( ) ;
0 commit comments