UNPKG

delta-store

Version:
59 lines 2.39 kB
/** * Created by Papa on 1/6/2016. */ "use strict"; var GoogleDriveModel_1 = require("../drive/GoogleDriveModel"); var GoogleRealtime = (function () { function GoogleRealtime(googleDrive) { this.googleDrive = googleDrive; } GoogleRealtime.prototype.findOrCreateFileUniqueFile = function (fileName, folderId) { return this.googleDrive.findOrCreateUniqueFile(fileName, GoogleDriveModel_1.MimeTypes.REALTIME, folderId); }; GoogleRealtime.prototype.initializeFile = function (fileId) { var _this = this; return this.loadFile(fileId).then(function (document) { _this.initializeModel(document); return document; }); }; GoogleRealtime.prototype.createInMemoryDocument = function () { var document = gapi.drive.realtime.newInMemoryDocument(); this.initializeModel(document); return document; }; GoogleRealtime.prototype.initializeModel = function (document) { var model = document.getModel(); var changeList = model.createList(); var root = model.getRoot(); root.set('changeList', changeList); }; GoogleRealtime.prototype.getChangeList = function (document) { var changeList = document.getModel().getRoot().get('changeList'); return changeList; }; GoogleRealtime.prototype.loadFile = function (fileId) { return new Promise(function (resolve, reject) { gapi.drive.realtime.load(fileId, resolve, function () { }, reject); }); }; GoogleRealtime.prototype.subscribeToValuesAdded = function (list, subject) { list.addEventListener(gapi.drive.realtime.EventType.VALUES_ADDED, function (event) { subject.next(event); }); }; GoogleRealtime.prototype.subscribeToValuesRemoved = function (list, subject) { list.addEventListener(gapi.drive.realtime.EventType.VALUES_REMOVED, function (event) { subject.next(event); }); }; GoogleRealtime.prototype.subscribeToAnyObjectChanged = function (document, subject) { document.getModel().getRoot().addEventListener(gapi.drive.realtime.EventType.OBJECT_CHANGED, function (event) { subject.next(event); }); }; return GoogleRealtime; }()); exports.GoogleRealtime = GoogleRealtime; //# sourceMappingURL=GoogleRealtime.js.map