@@ -50,6 +50,8 @@ typeMap.__proto__ = {
5050 "const git_merge_options *" : { cpp : "GitMergeOptions" , js : "MergeOptions" }
5151} ;
5252
53+ typeMap [ "void *" ] = { cpp : "Function" , js : "Function" } ;
54+
5355var files = [ ] ;
5456
5557function titleCase ( str ) {
@@ -76,7 +78,7 @@ var fileNames = Object.keys(descriptor);
7678
7779fileNames . forEach ( function ( fileName , index ) {
7880 var file = descriptor [ fileName ] ;
79- var structFile = structs [ "git_" + fileName ] ;
81+ var structFile = structs [ "git_" + fileName ] || { } ;
8082
8183 // Constants.
8284 file . filename = fileName + ".h" ;
@@ -110,7 +112,7 @@ fileNames.forEach(function(fileName, index) {
110112 // No functions.
111113 cFile = Object . create ( file ) ;
112114 cFile . functions = [ ] ;
113- cFile . fields = descriptor [ fileName ] . fields || structFile . fields ;
115+ cFile . fields = descriptor [ fileName ] . fields || structFile . fields || [ ] ;
114116 }
115117
116118 // Doesn't actually exist.
@@ -167,7 +169,12 @@ fileNames.forEach(function(fileName, index) {
167169 js : file . jsClassName
168170 } ;
169171
170- var fields = file . fields || cFile . fields || ( structFile ? structFile . fields || [ ] : [ ] ) ;
172+ var fields = file . fields || cFile . fields || ( structFile ? structFile . fields || [ ] : [ ] ) || [ ] ;
173+
174+ // Ensure fields is actually an Array.
175+ if ( ! Array . isArray ( fields ) ) {
176+ fields = [ ] ;
177+ }
171178
172179 // Decorate fields.
173180 file . fields = fields . map ( function ( field ) {
0 commit comments