25 lines
653 B
JavaScript
25 lines
653 B
JavaScript
/**
|
|
* Test interaction of object intersections and predicates.
|
|
* Definitions in lib/lib.js
|
|
*
|
|
* @flow
|
|
*/
|
|
|
|
type DuplexStreamOptions = ReadableStreamOptions & WritableStreamOptions & {
|
|
allowHalfOpen? : boolean,
|
|
readableObjectMode? : boolean,
|
|
writableObjectMode? : boolean
|
|
};
|
|
|
|
function hasObjectMode_bad(options: DuplexStreamOptions): boolean {
|
|
return options.objectMode
|
|
|| options.readableObjectMode
|
|
|| options.writableObjectMode; // error, undefined ~> boolean
|
|
}
|
|
|
|
function hasObjectMode_ok(options: DuplexStreamOptions): boolean {
|
|
return !!(options.objectMode
|
|
|| options.readableObjectMode
|
|
|| options.writableObjectMode);
|
|
}
|