From 80f26eaa82ae7edc9178dabca153838da5d7d2a2 Mon Sep 17 00:00:00 2001 From: Pascal Hartig Date: Tue, 10 Sep 2019 05:41:50 -0700 Subject: [PATCH] Make IOSDevice strict Summary: _typescript_ Reviewed By: jknoxville Differential Revision: D17260434 fbshipit-source-id: 7f1c28ed1cb7fc0127a01957767f4430cf770bf2 --- src/devices/IOSDevice.tsx | 6 ++--- types/JSONStream.d.tsx | 47 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 3 deletions(-) create mode 100644 types/JSONStream.d.tsx diff --git a/src/devices/IOSDevice.tsx b/src/devices/IOSDevice.tsx index 5aea7c142..a0d74d630 100644 --- a/src/devices/IOSDevice.tsx +++ b/src/devices/IOSDevice.tsx @@ -106,11 +106,11 @@ export default class IOSDevice extends BaseDevice { {}, ); - this.log.on('error', err => { + this.log.on('error', (err: Error) => { console.error(err); }); - this.log.stderr.on('data', data => { + this.log.stderr.on('data', (data: Buffer) => { console.error(data.toString()); }); @@ -163,7 +163,7 @@ export default class IOSDevice extends BaseDevice { '', ); - const tag = entry.processImagePath.split('/').pop(); + const tag = entry.processImagePath.split('/').pop() || ''; return { date: new Date(entry.timestamp), diff --git a/types/JSONStream.d.tsx b/types/JSONStream.d.tsx new file mode 100644 index 000000000..75b5cf82d --- /dev/null +++ b/types/JSONStream.d.tsx @@ -0,0 +1,47 @@ +/** + * Copyright 2018-present Facebook. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * @format + */ + +declare module 'JSONStream' { + export interface Options { + recurse: boolean; + } + + export function parse(pattern: any): NodeJS.ReadWriteStream; + export function parse(patterns: any[]): NodeJS.ReadWriteStream; + + /** + * Create a writable stream. + * you may pass in custom open, close, and seperator strings. But, by default, + * JSONStream.stringify() will create an array, + * (with default options open='[\n', sep='\n,\n', close='\n]\n') + */ + export function stringify(): NodeJS.ReadWriteStream; + + /** If you call JSONStream.stringify(false) the elements will only be seperated by a newline. */ + export function stringify( + newlineOnly: NewlineOnlyIndicator, + ): NodeJS.ReadWriteStream; + type NewlineOnlyIndicator = false; + + /** + * Create a writable stream. + * you may pass in custom open, close, and seperator strings. But, by default, + * JSONStream.stringify() will create an array, + * (with default options open='[\n', sep='\n,\n', close='\n]\n') + */ + export function stringify( + open: string, + sep: string, + close: string, + ): NodeJS.ReadWriteStream; + export function stringifyObject(): NodeJS.ReadWriteStream; + export function stringifyObject( + open: string, + sep: string, + close: string, + ): NodeJS.ReadWriteStream; +}