Permalink
Browse files

Covariant properties for `ModuleTransportLike`

Summary:
Make all properties of `ModuleTraansportLike` covariant to enforce read-only behavior at all sites using it.
The type only exists for compatibility reasons between old and new output functionality, and covariant properties give us stronger guarantees.

Reviewed By: jeanlauliac

Differential Revision: D5111667

fbshipit-source-id: 674658b07eb3a229cbc4344cb636e4a9ea4126d1
  • Loading branch information...
davidaurelio authored and facebook-github-bot committed May 23, 2017
1 parent 6b2122b commit f9f12455603c95e5203487b117851806fcfb63ac
Showing with 6 additions and 6 deletions.
  1. +5 −5 local-cli/bundle/types.flow.js
  2. +1 −1 packager/src/lib/ModuleTransport.js
@@ -12,7 +12,7 @@
import type Bundle from '../../packager/src/Bundler/Bundle';
import type {Unbundle} from '../../packager/src/Bundler/Bundle';
import type ModuleTransport from '../../packager/src/lib/ModuleTransport';
import type ModuleTransport, {SourceMapOrMappings} from '../../packager/src/lib/ModuleTransport';
import type {FBSourceMap, SourceMap} from '../../packager/src/lib/SourceMap';
export type {Bundle, FBSourceMap, ModuleTransport, SourceMap, Unbundle};
@@ -24,11 +24,11 @@ export type ModuleGroups = {|
|};
export type ModuleTransportLike = {
code: string,
id: number,
map?: $PropertyType<ModuleTransport, 'map'>,
+code: string,
+id: number,
+map: ?SourceMapOrMappings,
+name?: string,
sourcePath: string,
+sourcePath: string,
};
export type OutputOptions = {
@@ -15,7 +15,7 @@ import type {RawMapping} from '../Bundler/source-map';
import type Module from '../node-haste/Module';
import type {SourceMap} from './SourceMap';
type SourceMapOrMappings = SourceMap | Array<RawMapping>;
export type SourceMapOrMappings = SourceMap | Array<RawMapping>;
type Metadata = {
dependencies?: ?Array<string>,

0 comments on commit f9f1245

Please sign in to comment.