-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathoperation-factory.js
More file actions
25 lines (19 loc) · 824 Bytes
/
operation-factory.js
File metadata and controls
25 lines (19 loc) · 824 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
const InsertOperation = require('./operations/insert-operation');
const DeleteOperation = require('./operations/delete-operation');
const ReplaceOperation = require('./operations/replace-operation');
const SyncOperation = require('./operations/sync-operation');
class OperationFactory {
static createInsertOperation(startPosition, data, toEnd) {
return new InsertOperation(startPosition, data, toEnd);
}
static createDeleteOperation(startPosition, endPosition) {
return new DeleteOperation(startPosition, endPosition);
}
static createReplaceOperation(startPosition, endPosition, data) {
return new ReplaceOperation(startPosition, endPosition, data);
}
static createSyncOperation(referenceOperation) {
return new SyncOperation(referenceOperation);
}
}
module.exports = OperationFactory;