From 3db9e166375b5759ef2f01da2b576ed690b230c8 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Mon, 16 Dec 2013 19:03:10 -0700 Subject: [PATCH] Upgrade to telepath 0.75.0 for custom object support --- exports/atom.coffee | 5 +++-- package.json | 2 +- src/atom.coffee | 4 ++-- src/deserializer-manager.coffee | 4 ++-- src/pane-axis.coffee | 4 ++-- src/pane-container.coffee | 4 ++-- src/pane.coffee | 4 ++-- src/project.coffee | 2 +- src/text-buffer.coffee | 2 +- src/workspace-view.coffee | 4 ++-- 10 files changed, 18 insertions(+), 17 deletions(-) diff --git a/exports/atom.coffee b/exports/atom.coffee index 35a65c566..1b1927737 100644 --- a/exports/atom.coffee +++ b/exports/atom.coffee @@ -1,11 +1,12 @@ -{Document, Model, Point, Range} = require 'telepath' +{TelepathicObject, Model, Point, Range} = require 'telepath' module.exports = _: require 'underscore-plus' BufferedNodeProcess: require '../src/buffered-node-process' BufferedProcess: require '../src/buffered-process' Directory: require '../src/directory' - Document: Document + TelepathicObject: TelepathicObject + Document: TelepathicObject # Deprecated Shim File: require '../src/file' fs: require 'fs-plus' Git: require '../src/git' diff --git a/package.json b/package.json index 601b8d5e6..e28c068e5 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "season": "0.14.0", "semver": "1.1.4", "space-pen": "2.0.2", - "telepath": "0.74.0", + "telepath": "0.75.0", "temp": "0.5.0", "underscore-plus": "0.5.0" }, diff --git a/src/atom.coffee b/src/atom.coffee index e5eb9b839..fc68aa5fb 100644 --- a/src/atom.coffee +++ b/src/atom.coffee @@ -10,7 +10,7 @@ app = remote.require 'app' _ = require 'underscore-plus' telepath = require 'telepath' -{Document, Model} = telepath +{Model} = telepath fs = require 'fs-plus' {$} = require './space-pen-extensions' @@ -160,7 +160,7 @@ class Atom extends Model TokenizedBuffer = require './tokenized-buffer' DisplayBuffer = require './display-buffer' Editor = require './editor' - @registerModelClasses(Project, TextBuffer, TokenizedBuffer, DisplayBuffer, Editor) + @registerRepresentationClasses(Project, TextBuffer, TokenizedBuffer, DisplayBuffer, Editor) @windowEventHandler = new WindowEventHandler diff --git a/src/deserializer-manager.coffee b/src/deserializer-manager.coffee index 4f6b51588..bf3e77bb6 100644 --- a/src/deserializer-manager.coffee +++ b/src/deserializer-manager.coffee @@ -1,4 +1,4 @@ -{Document, Model} = require 'telepath' +{TelepathicObject, Model} = require 'telepath' # Public: Manages the deserializers used for serialized state # @@ -30,7 +30,7 @@ class DeserializerManager if deserializer = @get(state) stateVersion = state.get?('version') ? state.version return if deserializer.version? and deserializer.version isnt stateVersion - if (state instanceof Document) and not deserializer.acceptsDocuments + if (state instanceof TelepathicObject) and not deserializer.acceptsDocuments state = state.toObject() deserializer.deserialize(state, params) else diff --git a/src/pane-axis.coffee b/src/pane-axis.coffee index de872a1bc..f8ed436a3 100644 --- a/src/pane-axis.coffee +++ b/src/pane-axis.coffee @@ -1,5 +1,5 @@ {$, View} = require './space-pen-extensions' -telepath = require 'telepath' +{TelepathicObject} = require 'telepath' ### Internal ### module.exports = @@ -10,7 +10,7 @@ class PaneAxis extends View new this(state) initialize: (args...) -> - if args[0] instanceof telepath.Document + if args[0] instanceof TelepathicObject @state = args[0] @state.get('children').each (child, index) => @addChild(atom.deserializers.deserialize(child), index, updateState: false) diff --git a/src/pane-container.coffee b/src/pane-container.coffee index bdfde1818..97818aef7 100644 --- a/src/pane-container.coffee +++ b/src/pane-container.coffee @@ -1,6 +1,6 @@ {$, View} = require './space-pen-extensions' Pane = require './pane' -telepath = require 'telepath' +{TelepathicObject} = require 'telepath' # Private: Manages the list of panes within a {WorkspaceView} module.exports = @@ -19,7 +19,7 @@ class PaneContainer extends View @div class: 'panes' initialize: (state) -> - if state instanceof telepath.Document + if state instanceof TelepathicObject @state = state @setRoot(atom.deserializers.deserialize(@state.get('root'))) else diff --git a/src/pane.coffee b/src/pane.coffee index 440041f8a..72c69f8c4 100644 --- a/src/pane.coffee +++ b/src/pane.coffee @@ -1,7 +1,7 @@ {dirname} = require 'path' {$, View} = require './space-pen-extensions' _ = require 'underscore-plus' -telepath = require 'telepath' +{TelepathicObject} = require 'telepath' PaneRow = require './pane-row' PaneColumn = require './pane-column' @@ -32,7 +32,7 @@ class Pane extends View # Private: initialize: (args...) -> @items = [] - if args[0] instanceof telepath.Document + if args[0] instanceof TelepathicObject @state = args[0] @items = _.compact @state.get('items').map (item) -> item = atom.deserializers.deserialize(item) diff --git a/src/project.coffee b/src/project.coffee index eae064fd6..a5eb712db 100644 --- a/src/project.coffee +++ b/src/project.coffee @@ -39,7 +39,7 @@ class Project extends Model @setPath(@path) # Private: Called by telepath. - beforePersistence: -> + willBePersisted: -> @destroyUnretainedBuffers() # Public: Register an opener for project files. diff --git a/src/text-buffer.coffee b/src/text-buffer.coffee index b5936c8fb..8ea770bcc 100644 --- a/src/text-buffer.coffee +++ b/src/text-buffer.coffee @@ -48,7 +48,7 @@ class TextBuffer extends telepath.Model @load() if @loadWhenAttached # Private: Called by telepath. - beforePersistence: -> + willBePersisted: -> @modifiedWhenLastPersisted = @isModified() @digestWhenLastPersisted = @file?.getDigest() diff --git a/src/workspace-view.coffee b/src/workspace-view.coffee index dc751bf4e..98d05a91f 100644 --- a/src/workspace-view.coffee +++ b/src/workspace-view.coffee @@ -4,7 +4,7 @@ Q = require 'q' {$, $$, View} = require './space-pen-extensions' _ = require 'underscore-plus' fs = require 'fs-plus' -telepath = require 'telepath' +{TelepathicObject} = require 'telepath' EditorView = require './editor-view' Pane = require './pane' PaneColumn = require './pane-column' @@ -65,7 +65,7 @@ class WorkspaceView extends View # Private: initialize: (state={}) -> - if state instanceof telepath.Document + if state instanceof TelepathicObject @state = state panes = atom.deserializers.deserialize(state.get('panes')) else