Mailspring/exports/nylas-exports.coffee
Ben Gotow 3e43f45401 perf(drafts): Cache results of running Autolinker, avoid props.children for EmailFrame, fix special case for new draft
Summary:
"results.length" not "result.length".

Eventually I want MessageBodyProcessor to be the public interface to another process which asynchronously runs message body parsing? At the very least, caching the results means that miscelaneous refreshes to the message list don't incur significant string processing cost.

Test Plan: No new tests here

Reviewers: evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D1898
2015-08-17 16:23:12 -07:00

102 lines
4 KiB
CoffeeScript

Utils = require '../src/flux/models/utils'
{APIError,
OfflineError,
TimeoutError} = require '../src/flux/errors'
Exports =
React: require 'react'
ReactRemote: require '../src/react-remote/react-remote-parent'
BufferedProcess: require '../src/buffered-process'
BufferedNodeProcess: require '../src/buffered-node-process'
# The Task Queue
Task: require '../src/flux/tasks/task'
TaskQueue: require '../src/flux/stores/task-queue'
UndoRedoStore: require '../src/flux/stores/undo-redo-store'
# Tasks
ChangeLabelsTask: require '../src/flux/tasks/change-labels-task'
ChangeFolderTask: require '../src/flux/tasks/change-folder-task'
ChangeUnreadTask: require '../src/flux/tasks/change-unread-task'
ChangeStarredTask: require '../src/flux/tasks/change-starred-task'
CreateMetadataTask: require '../src/flux/tasks/create-metadata-task'
ArchiveThreadHelper: require '../src/flux/tasks/archive-thread-helper'
DestroyMetadataTask: require '../src/flux/tasks/destroy-metadata-task'
# The Database
DatabaseStore: require '../src/flux/stores/database-store'
ModelView: require '../src/flux/stores/model-view'
DatabaseView: require '../src/flux/stores/database-view'
SearchView: require '../src/flux/stores/search-view'
# Actions
Actions: require '../src/flux/actions'
# API Endpoints
NylasAPI: require '../src/flux/nylas-api'
EdgehillAPI: require '../src/flux/edgehill-api'
# Testing
NylasTestUtils: require '../spec-nylas/test_utils'
# Component Registry
ComponentRegistry: require '../src/component-registry'
# Utils
Utils: Utils
DOMUtils: require '../src/dom-utils'
CanvasUtils: require '../src/canvas-utils'
RegExpUtils: require '../src/regexp-utils'
MessageUtils: require '../src/flux/models/message-utils'
# Mixins
UndoManager: require '../src/flux/undo-manager'
PriorityUICoordinator: require '../src/priority-ui-coordinator'
# Stores
CategoryStore: require '../src/flux/stores/category-store'
DraftStore: require '../src/flux/stores/draft-store'
DraftCountStore: require '../src/flux/stores/draft-count-store'
DraftStoreExtension: require '../src/flux/stores/draft-store-extension'
MessageStore: require '../src/flux/stores/message-store'
MessageBodyProcessor: require '../src/flux/stores/message-body-processor'
EventStore: require '../src/flux/stores/event-store'
MessageStoreExtension: require '../src/flux/stores/message-store-extension'
ContactStore: require '../src/flux/stores/contact-store'
MetadataStore: require '../src/flux/stores/metadata-store'
NamespaceStore: require '../src/flux/stores/namespace-store'
AnalyticsStore: require '../src/flux/stores/analytics-store'
WorkspaceStore: require '../src/flux/stores/workspace-store'
FocusedCategoryStore: require '../src/flux/stores/focused-category-store'
FocusedContentStore: require '../src/flux/stores/focused-content-store'
FocusedContactsStore: require '../src/flux/stores/focused-contacts-store'
FileUploadStore: require '../src/flux/stores/file-upload-store'
FileDownloadStore: require '../src/flux/stores/file-download-store'
UnreadCountStore: require '../src/flux/stores/unread-count-store'
# Errors
APIError: APIError
OfflineError: OfflineError
TimeoutError: TimeoutError
## TODO move to inside of individual Salesforce package. See https://trello.com/c/tLAGLyeb/246-move-salesforce-models-into-individual-package-db-models-for-packages-various-refactors
SalesforceAssociation: require '../src/flux/models/salesforce-association'
SalesforceSearchResult: require '../src/flux/models/salesforce-search-result'
SalesforceObject: require '../src/flux/models/salesforce-object'
SalesforceSchema: require '../src/flux/models/salesforce-schema'
# Services
QuotedPlainTextParser: require '../src/services/quoted-plain-text-parser'
QuotedHTMLParser: require '../src/services/quoted-html-parser'
LaunchServices: require '../src/launch-services'
# Also include all of the model classes
for key, klass of Utils.modelClassMap()
Exports[klass.name] = klass
module.exports = Exports