• Sebastian Malton's avatar
    Fixing Singleton typing to correctly return child class (#1914) · 9563ead2
    Sebastian Malton authored
    
    
    - Add distinction between `getInstance` and `getInstanceOrCreate` since
      it is not always possible to create an instance (since you might not
      know the correct arguments)
    
    - Remove all the `export const *Store = *Store.getInstance<*Store>();`
      calls as it defeats the purpose of `Singleton`. Plus with the typing
      changes the appropriate `*Store.getInstance()` is "short enough".
    
    - Special case the two extension export facades to not need to use
      `getInstanceOrCreate`. Plus since they are just facades it is always
      possible to create them.
    
    - Move some other types to be also `Singleton`'s: ExtensionLoader,
      ExtensionDiscovery, ThemeStore, LocalizationStore, ...
    
    - Fixed dev-run always using the same port with electron inspect
    
    - Update Store documentation with new recommendations about creating
      instances of singletons
    
    - Fix all unit tests to create their dependent singletons
    Signed-off-by: default avatarSebastian Malton <sebastian@malton.name>
    9563ead2