Skip to content

Commit b24d0db

Browse files
committed
[codemod] Run jscodeshift codemod-cjs-to-esm.ts and codemod-es5-classes.ts
1 parent ba17d59 commit b24d0db

41 files changed

Lines changed: 7445 additions & 7038 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/agent.ts

Lines changed: 1094 additions & 1035 deletions
Large diffs are not rendered by default.

src/backend.ts

Lines changed: 980 additions & 951 deletions
Large diffs are not rendered by default.

src/client/connection.ts

Lines changed: 759 additions & 742 deletions
Large diffs are not rendered by default.

src/client/doc.ts

Lines changed: 957 additions & 936 deletions
Large diffs are not rendered by default.

src/client/index.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
exports.Connection = require('./connection');
2-
exports.Doc = require('./doc');
3-
exports.Error = require('../error');
4-
exports.Query = require('./query');
5-
exports.types = require('../types');
6-
exports.logger = require('../logger');
1+
export const Connection = require('./connection');
2+
export const Doc = require('./doc');
3+
export const Error = require('../error');
4+
export const Query = require('./query');
5+
export const types = require('../types');
6+
export const logger = require('../logger');
Lines changed: 81 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -1,75 +1,81 @@
1-
var util = require('../../util');
2-
var EventEmitter = require('events').EventEmitter;
3-
4-
var EVENTS = [
5-
'create',
6-
'del',
7-
'destroy',
8-
'load',
9-
'op'
10-
];
11-
12-
module.exports = DocPresenceEmitter;
13-
14-
function DocPresenceEmitter() {
15-
this._docs = Object.create(null);
16-
this._forwarders = Object.create(null);
17-
this._emitters = Object.create(null);
18-
}
19-
20-
DocPresenceEmitter.prototype.addEventListener = function(doc, event, listener) {
21-
this._registerDoc(doc);
22-
var emitter = util.dig(this._emitters, doc.collection, doc.id);
23-
emitter.on(event, listener);
24-
};
25-
26-
DocPresenceEmitter.prototype.removeEventListener = function(doc, event, listener) {
27-
var emitter = util.dig(this._emitters, doc.collection, doc.id);
28-
if (!emitter) return;
29-
emitter.off(event, listener);
30-
// We'll always have at least one, because of the destroy listener
31-
if (emitter._eventsCount === 1) this._unregisterDoc(doc);
32-
};
33-
34-
DocPresenceEmitter.prototype._registerDoc = function(doc) {
35-
var alreadyRegistered = true;
36-
util.digOrCreate(this._docs, doc.collection, doc.id, function() {
37-
alreadyRegistered = false;
38-
return doc;
39-
});
40-
41-
if (alreadyRegistered) return;
42-
43-
var emitter = util.digOrCreate(this._emitters, doc.collection, doc.id, function() {
44-
var e = new EventEmitter();
45-
// Set a high limit to avoid unnecessary warnings, but still
46-
// retain some degree of memory leak detection
47-
e.setMaxListeners(1000);
48-
return e;
49-
});
50-
51-
var self = this;
52-
EVENTS.forEach(function(event) {
53-
var forwarder = util.digOrCreate(self._forwarders, doc.collection, doc.id, event, function() {
54-
return emitter.emit.bind(emitter, event);
55-
});
56-
57-
doc.on(event, forwarder);
58-
});
59-
60-
this.addEventListener(doc, 'destroy', this._unregisterDoc.bind(this, doc));
61-
};
62-
63-
DocPresenceEmitter.prototype._unregisterDoc = function(doc) {
64-
var forwarders = util.dig(this._forwarders, doc.collection, doc.id);
65-
for (var event in forwarders) {
66-
doc.off(event, forwarders[event]);
67-
}
68-
69-
var emitter = util.dig(this._emitters, doc.collection, doc.id);
70-
emitter.removeAllListeners();
71-
72-
util.digAndRemove(this._forwarders, doc.collection, doc.id);
73-
util.digAndRemove(this._emitters, doc.collection, doc.id);
74-
util.digAndRemove(this._docs, doc.collection, doc.id);
75-
};
1+
import util = require('../../util');
2+
import { EventEmitter } from 'events';
3+
4+
var EVENTS = [
5+
'create',
6+
'del',
7+
'destroy',
8+
'load',
9+
'op'
10+
];
11+
12+
export = DocPresenceEmitter;
13+
14+
class DocPresenceEmitter {
15+
_docs;
16+
_forwarders;
17+
_emitters;
18+
19+
constructor() {
20+
this._docs = Object.create(null);
21+
this._forwarders = Object.create(null);
22+
this._emitters = Object.create(null);
23+
}
24+
25+
addEventListener(doc, event, listener) {
26+
this._registerDoc(doc);
27+
var emitter = util.dig(this._emitters, doc.collection, doc.id);
28+
emitter.on(event, listener);
29+
}
30+
31+
removeEventListener(doc, event, listener) {
32+
var emitter = util.dig(this._emitters, doc.collection, doc.id);
33+
if (!emitter) return;
34+
emitter.off(event, listener);
35+
// We'll always have at least one, because of the destroy listener
36+
if (emitter._eventsCount === 1) this._unregisterDoc(doc);
37+
}
38+
39+
_registerDoc(doc) {
40+
var alreadyRegistered = true;
41+
util.digOrCreate(this._docs, doc.collection, doc.id, function() {
42+
alreadyRegistered = false;
43+
return doc;
44+
});
45+
46+
if (alreadyRegistered) return;
47+
48+
var emitter = util.digOrCreate(this._emitters, doc.collection, doc.id, function() {
49+
var e = new EventEmitter();
50+
// Set a high limit to avoid unnecessary warnings, but still
51+
// retain some degree of memory leak detection
52+
e.setMaxListeners(1000);
53+
return e;
54+
});
55+
56+
var self = this;
57+
EVENTS.forEach(function(event) {
58+
var forwarder = util.digOrCreate(self._forwarders, doc.collection, doc.id, event, function() {
59+
return emitter.emit.bind(emitter, event);
60+
});
61+
62+
doc.on(event, forwarder);
63+
});
64+
65+
this.addEventListener(doc, 'destroy', this._unregisterDoc.bind(this, doc));
66+
}
67+
68+
_unregisterDoc(doc) {
69+
var forwarders = util.dig(this._forwarders, doc.collection, doc.id);
70+
for (var event in forwarders) {
71+
doc.off(event, forwarders[event]);
72+
}
73+
74+
var emitter = util.dig(this._emitters, doc.collection, doc.id);
75+
emitter.removeAllListeners();
76+
77+
util.digAndRemove(this._forwarders, doc.collection, doc.id);
78+
util.digAndRemove(this._emitters, doc.collection, doc.id);
79+
util.digAndRemove(this._docs, doc.collection, doc.id);
80+
}
81+
}
Lines changed: 30 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,30 @@
1-
var Presence = require('./presence');
2-
var LocalDocPresence = require('./local-doc-presence');
3-
var RemoteDocPresence = require('./remote-doc-presence');
4-
5-
function DocPresence(connection, collection, id) {
6-
var channel = DocPresence.channel(collection, id);
7-
Presence.call(this, connection, channel);
8-
9-
this.collection = collection;
10-
this.id = id;
11-
}
12-
module.exports = DocPresence;
13-
14-
DocPresence.prototype = Object.create(Presence.prototype);
15-
16-
DocPresence.channel = function(collection, id) {
17-
return collection + '.' + id;
18-
};
19-
20-
DocPresence.prototype._createLocalPresence = function(id) {
21-
return new LocalDocPresence(this, id);
22-
};
23-
24-
DocPresence.prototype._createRemotePresence = function(id) {
25-
return new RemoteDocPresence(this, id);
26-
};
1+
import Presence = require('./presence');
2+
import LocalDocPresence = require('./local-doc-presence');
3+
import RemoteDocPresence = require('./remote-doc-presence');
4+
5+
class DocPresence extends Presence {
6+
collection;
7+
id;
8+
9+
constructor(connection, collection, id) {
10+
var channel = DocPresence.channel(collection, id);
11+
super(connection, channel);
12+
13+
this.collection = collection;
14+
this.id = id;
15+
}
16+
17+
_createLocalPresence(id) {
18+
return new LocalDocPresence(this, id);
19+
}
20+
21+
_createRemotePresence(id) {
22+
return new RemoteDocPresence(this, id);
23+
}
24+
25+
static channel(collection, id) {
26+
return collection + '.' + id;
27+
}
28+
}
29+
30+
export = DocPresence;

0 commit comments

Comments
 (0)