mirror of
https://github.com/Foundry376/Mailspring.git
synced 2025-02-21 22:54:11 +08:00
feat(babel6): Fix default loading in nylas exports and component kit
This commit is contained in:
parent
e355971dd2
commit
3a6f3b9302
2 changed files with 20 additions and 8 deletions
|
@ -1,20 +1,24 @@
|
|||
# Publically exposed Nylas UI Components
|
||||
class NylasComponentKit
|
||||
|
||||
@default = (requireValue) -> requireValue.default ? requireValue
|
||||
|
||||
@load = (prop, path) ->
|
||||
Object.defineProperty @prototype, prop,
|
||||
get: -> require "../components/#{path}"
|
||||
get: ->
|
||||
NylasComponentKit.default(require "../components/#{path}")
|
||||
|
||||
@loadFrom = (prop, path) ->
|
||||
Object.defineProperty @prototype, prop,
|
||||
get: ->
|
||||
exported = require "../components/#{path}"
|
||||
exported = NylasComponentKit.default(require "../components/#{path}")
|
||||
return exported[prop]
|
||||
|
||||
@loadDeprecated = (prop, path, {instead} = {}) ->
|
||||
{deprecate} = require '../deprecate-utils'
|
||||
Object.defineProperty @prototype, prop,
|
||||
get: deprecate prop, instead, @, ->
|
||||
exported = require "../components/#{path}"
|
||||
exported = NylasComponentKit.default(require "../components/#{path}")
|
||||
return exported
|
||||
enumerable: true
|
||||
|
||||
|
|
|
@ -3,34 +3,42 @@ StoreRegistry = require('../store-registry').default
|
|||
DatabaseObjectRegistry = require('../database-object-registry').default
|
||||
|
||||
class NylasExports
|
||||
|
||||
@default = (requireValue) -> requireValue.default ? requireValue
|
||||
|
||||
# Will lazy load when requested
|
||||
@lazyLoad = (prop, path) ->
|
||||
Object.defineProperty @, prop,
|
||||
get: -> require("../#{path}")
|
||||
get: ->
|
||||
NylasExports.default(require("../#{path}"))
|
||||
enumerable: true
|
||||
|
||||
@lazyLoadCustomGetter = (prop, get) ->
|
||||
Object.defineProperty @, prop, {get, enumerable: true}
|
||||
|
||||
@lazyLoadAndRegisterStore = (klassName, path) ->
|
||||
constructorFactory = -> require("../flux/stores/#{path}")
|
||||
constructorFactory = ->
|
||||
NylasExports.default(require("../flux/stores/#{path}"))
|
||||
StoreRegistry.register(klassName, constructorFactory)
|
||||
@lazyLoad(klassName, "flux/stores/#{path}")
|
||||
|
||||
@lazyLoadAndRegisterModel = (klassName, path) ->
|
||||
constructorFactory = -> require("../flux/models/#{path}")
|
||||
constructorFactory = ->
|
||||
NylasExports.default(require("../flux/models/#{path}"))
|
||||
DatabaseObjectRegistry.register(klassName, constructorFactory)
|
||||
@lazyLoad(klassName, "flux/models/#{path}")
|
||||
|
||||
@lazyLoadAndRegisterTask = (klassName, path) ->
|
||||
constructorFactory = -> require("../flux/tasks/#{path}")
|
||||
constructorFactory = ->
|
||||
NylasExports.default(require("../flux/tasks/#{path}"))
|
||||
TaskRegistry.register(klassName, constructorFactory)
|
||||
@lazyLoad(klassName, "flux/tasks/#{path}")
|
||||
|
||||
@lazyLoadDeprecated = (prop, path, {instead} = {}) ->
|
||||
{deprecate} = require '../deprecate-utils'
|
||||
Object.defineProperty @, prop,
|
||||
get: deprecate prop, instead, @, -> require("../#{path}")
|
||||
get: deprecate prop, instead, @, ->
|
||||
NylasExports.default(require("../#{path}"))
|
||||
enumerable: true
|
||||
|
||||
# Actions
|
||||
|
|
Loading…
Reference in a new issue