@@ -124,9 +124,28 @@ function caml_compare(_a, _b) {
124
124
var len_a = a . length | 0 ;
125
125
var len_b = b . length | 0 ;
126
126
if ( len_a === len_b ) {
127
- if ( a . constructor === Object && b . constructor === Object ) {
127
+ if ( Array . isArray ( a ) ) {
128
128
var a$1 = a ;
129
129
var b$1 = b ;
130
+ var _i = 0 ;
131
+ var same_length = len_a ;
132
+ while ( true ) {
133
+ var i = _i ;
134
+ if ( i === same_length ) {
135
+ return 0 ;
136
+ } else {
137
+ var res = caml_compare ( a$1 [ i ] , b$1 [ i ] ) ;
138
+ if ( res !== 0 ) {
139
+ return res ;
140
+ } else {
141
+ _i = i + 1 | 0 ;
142
+ continue ;
143
+ }
144
+ }
145
+ } ;
146
+ } else {
147
+ var a$2 = a ;
148
+ var b$2 = b ;
130
149
var min_key_lhs = [ /* None */ 0 ] ;
131
150
var min_key_rhs = [ /* None */ 0 ] ;
132
151
var do_key = function ( param , key ) {
@@ -150,8 +169,8 @@ function caml_compare(_a, _b) {
150
169
}
151
170
} ;
152
171
var partial_arg = /* tuple */ [
153
- a$1 ,
154
- b$1 ,
172
+ a$2 ,
173
+ b$2 ,
155
174
min_key_rhs
156
175
] ;
157
176
var do_key_a = ( function ( partial_arg ) {
@@ -160,17 +179,17 @@ function caml_compare(_a, _b) {
160
179
}
161
180
} ( partial_arg ) ) ;
162
181
var partial_arg$1 = /* tuple */ [
163
- b$1 ,
164
- a$1 ,
182
+ b$2 ,
183
+ a$2 ,
165
184
min_key_lhs
166
185
] ;
167
186
var do_key_b = ( function ( partial_arg$1 ) {
168
187
return function do_key_b ( param ) {
169
188
return do_key ( partial_arg$1 , param ) ;
170
189
}
171
190
} ( partial_arg$1 ) ) ;
172
- for_in ( a$1 , do_key_a ) ;
173
- for_in ( b$1 , do_key_b ) ;
191
+ for_in ( a$2 , do_key_a ) ;
192
+ for_in ( b$2 , do_key_b ) ;
174
193
var match = min_key_lhs [ 0 ] ;
175
194
var match$1 = min_key_rhs [ 0 ] ;
176
195
if ( match ) {
@@ -184,25 +203,6 @@ function caml_compare(_a, _b) {
184
203
} else {
185
204
return 0 ;
186
205
}
187
- } else {
188
- var a$2 = a ;
189
- var b$2 = b ;
190
- var _i = 0 ;
191
- var same_length = len_a ;
192
- while ( true ) {
193
- var i = _i ;
194
- if ( i === same_length ) {
195
- return 0 ;
196
- } else {
197
- var res = caml_compare ( a$2 [ i ] , b$2 [ i ] ) ;
198
- if ( res !== 0 ) {
199
- return res ;
200
- } else {
201
- _i = i + 1 | 0 ;
202
- continue ;
203
- }
204
- }
205
- } ;
206
206
}
207
207
} else if ( len_a < len_b ) {
208
208
var a$3 = a ;
@@ -291,51 +291,51 @@ function caml_equal(_a, _b) {
291
291
var len_a = a . length | 0 ;
292
292
var len_b = b . length | 0 ;
293
293
if ( len_a === len_b ) {
294
- if ( a . constructor === Object && b . constructor === Object ) {
294
+ if ( Array . isArray ( a ) ) {
295
295
var a$1 = a ;
296
296
var b$1 = b ;
297
+ var _i = 0 ;
298
+ var same_length = len_a ;
299
+ while ( true ) {
300
+ var i = _i ;
301
+ if ( i === same_length ) {
302
+ return /* true */ 1 ;
303
+ } else if ( caml_equal ( a$1 [ i ] , b$1 [ i ] ) ) {
304
+ _i = i + 1 | 0 ;
305
+ continue ;
306
+ } else {
307
+ return /* false */ 0 ;
308
+ }
309
+ } ;
310
+ } else {
311
+ var a$2 = a ;
312
+ var b$2 = b ;
297
313
var result = [ /* true */ 1 ] ;
298
- var do_key_a = ( function ( b$1 , result ) {
314
+ var do_key_a = ( function ( b$2 , result ) {
299
315
return function do_key_a ( key ) {
300
- if ( b$1 . hasOwnProperty ( key ) ) {
316
+ if ( b$2 . hasOwnProperty ( key ) ) {
301
317
return 0 ;
302
318
} else {
303
319
result [ 0 ] = /* false */ 0 ;
304
320
return /* () */ 0 ;
305
321
}
306
322
}
307
- } ( b$1 , result ) ) ;
308
- var do_key_b = ( function ( a$1 , b$1 , result ) {
323
+ } ( b$2 , result ) ) ;
324
+ var do_key_b = ( function ( a$2 , b$2 , result ) {
309
325
return function do_key_b ( key ) {
310
- if ( ! a$1 . hasOwnProperty ( key ) || ! caml_equal ( b$1 [ key ] , a$1 [ key ] ) ) {
326
+ if ( ! a$2 . hasOwnProperty ( key ) || ! caml_equal ( b$2 [ key ] , a$2 [ key ] ) ) {
311
327
result [ 0 ] = /* false */ 0 ;
312
328
return /* () */ 0 ;
313
329
} else {
314
330
return 0 ;
315
331
}
316
332
}
317
- } ( a$1 , b$1 , result ) ) ;
318
- for_in ( a$1 , do_key_a ) ;
333
+ } ( a$2 , b$2 , result ) ) ;
334
+ for_in ( a$2 , do_key_a ) ;
319
335
if ( result [ 0 ] ) {
320
- for_in ( b$1 , do_key_b ) ;
336
+ for_in ( b$2 , do_key_b ) ;
321
337
}
322
338
return result [ 0 ] ;
323
- } else {
324
- var a$2 = a ;
325
- var b$2 = b ;
326
- var _i = 0 ;
327
- var same_length = len_a ;
328
- while ( true ) {
329
- var i = _i ;
330
- if ( i === same_length ) {
331
- return /* true */ 1 ;
332
- } else if ( caml_equal ( a$2 [ i ] , b$2 [ i ] ) ) {
333
- _i = i + 1 | 0 ;
334
- continue ;
335
- } else {
336
- return /* false */ 0 ;
337
- }
338
- } ;
339
339
}
340
340
} else {
341
341
return /* false */ 0 ;
0 commit comments