etherpad-webcomponents 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/EpDropdown.d.ts +3 -0
- package/dist/EpDropdown.d.ts.map +1 -1
- package/dist/EpDropdown.js +30 -4
- package/dist/EpDropdown.js.map +1 -1
- package/dist/EpEditor.d.ts +108 -0
- package/dist/EpEditor.d.ts.map +1 -0
- package/dist/EpEditor.js +288 -0
- package/dist/EpEditor.js.map +1 -0
- package/dist/editor/AceEditor.d.ts +204 -0
- package/dist/editor/AceEditor.d.ts.map +1 -0
- package/dist/editor/AceEditor.js +2847 -0
- package/dist/editor/AceEditor.js.map +1 -0
- package/dist/editor/AttributeManager.d.ts +25 -0
- package/dist/editor/AttributeManager.d.ts.map +1 -0
- package/dist/editor/AttributeManager.js +236 -0
- package/dist/editor/AttributeManager.js.map +1 -0
- package/dist/editor/AttributeMap.d.ts +13 -0
- package/dist/editor/AttributeMap.d.ts.map +1 -0
- package/dist/editor/AttributeMap.js +37 -0
- package/dist/editor/AttributeMap.js.map +1 -0
- package/dist/editor/AttributePool.d.ts +22 -0
- package/dist/editor/AttributePool.d.ts.map +1 -0
- package/dist/editor/AttributePool.js +101 -0
- package/dist/editor/AttributePool.js.map +1 -0
- package/dist/editor/Builder.d.ts +15 -0
- package/dist/editor/Builder.d.ts.map +1 -0
- package/dist/editor/Builder.js +47 -0
- package/dist/editor/Builder.js.map +1 -0
- package/dist/editor/Changeset.d.ts +61 -0
- package/dist/editor/Changeset.d.ts.map +1 -0
- package/dist/editor/Changeset.js +942 -0
- package/dist/editor/Changeset.js.map +1 -0
- package/dist/editor/ChangesetUtils.d.ts +11 -0
- package/dist/editor/ChangesetUtils.d.ts.map +1 -0
- package/dist/editor/ChangesetUtils.js +30 -0
- package/dist/editor/ChangesetUtils.js.map +1 -0
- package/dist/editor/MergingOpAssembler.d.ts +13 -0
- package/dist/editor/MergingOpAssembler.d.ts.map +1 -0
- package/dist/editor/MergingOpAssembler.js +60 -0
- package/dist/editor/MergingOpAssembler.js.map +1 -0
- package/dist/editor/Op.d.ts +10 -0
- package/dist/editor/Op.d.ts.map +1 -0
- package/dist/editor/Op.js +18 -0
- package/dist/editor/Op.js.map +1 -0
- package/dist/editor/OpAssembler.d.ts +9 -0
- package/dist/editor/OpAssembler.d.ts.map +1 -0
- package/dist/editor/OpAssembler.js +16 -0
- package/dist/editor/OpAssembler.js.map +1 -0
- package/dist/editor/OpIter.d.ts +9 -0
- package/dist/editor/OpIter.d.ts.map +1 -0
- package/dist/editor/OpIter.js +22 -0
- package/dist/editor/OpIter.js.map +1 -0
- package/dist/editor/SmartOpAssembler.d.ts +21 -0
- package/dist/editor/SmartOpAssembler.d.ts.map +1 -0
- package/dist/editor/SmartOpAssembler.js +71 -0
- package/dist/editor/SmartOpAssembler.js.map +1 -0
- package/dist/editor/StringAssembler.d.ts +7 -0
- package/dist/editor/StringAssembler.d.ts.map +1 -0
- package/dist/editor/StringAssembler.js +15 -0
- package/dist/editor/StringAssembler.js.map +1 -0
- package/dist/editor/StringIterator.d.ts +13 -0
- package/dist/editor/StringIterator.d.ts.map +1 -0
- package/dist/editor/StringIterator.js +29 -0
- package/dist/editor/StringIterator.js.map +1 -0
- package/dist/editor/TextLinesMutator.d.ts +31 -0
- package/dist/editor/TextLinesMutator.d.ts.map +1 -0
- package/dist/editor/TextLinesMutator.js +198 -0
- package/dist/editor/TextLinesMutator.js.map +1 -0
- package/dist/editor/ace2_common.d.ts +9 -0
- package/dist/editor/ace2_common.d.ts.map +1 -0
- package/dist/editor/ace2_common.js +31 -0
- package/dist/editor/ace2_common.js.map +1 -0
- package/dist/editor/attributes.d.ts +20 -0
- package/dist/editor/attributes.d.ts.map +1 -0
- package/dist/editor/attributes.js +54 -0
- package/dist/editor/attributes.js.map +1 -0
- package/dist/editor/browser_flags.d.ts +7 -0
- package/dist/editor/browser_flags.d.ts.map +1 -0
- package/dist/editor/browser_flags.js +8 -0
- package/dist/editor/browser_flags.js.map +1 -0
- package/dist/editor/changesettracker.d.ts +54 -0
- package/dist/editor/changesettracker.d.ts.map +1 -0
- package/dist/editor/changesettracker.js +193 -0
- package/dist/editor/changesettracker.js.map +1 -0
- package/dist/editor/colorutils.d.ts +22 -0
- package/dist/editor/colorutils.d.ts.map +1 -0
- package/dist/editor/colorutils.js +81 -0
- package/dist/editor/colorutils.js.map +1 -0
- package/dist/editor/contentcollector.d.ts +52 -0
- package/dist/editor/contentcollector.d.ts.map +1 -0
- package/dist/editor/contentcollector.js +692 -0
- package/dist/editor/contentcollector.js.map +1 -0
- package/dist/editor/core/EventBus.d.ts +187 -0
- package/dist/editor/core/EventBus.d.ts.map +1 -0
- package/dist/editor/core/EventBus.js +169 -0
- package/dist/editor/core/EventBus.js.map +1 -0
- package/dist/editor/cssmanager.d.ts +6 -0
- package/dist/editor/cssmanager.d.ts.map +1 -0
- package/dist/editor/cssmanager.js +35 -0
- package/dist/editor/cssmanager.js.map +1 -0
- package/dist/editor/domline.d.ts +35 -0
- package/dist/editor/domline.d.ts.map +1 -0
- package/dist/editor/domline.js +267 -0
- package/dist/editor/domline.js.map +1 -0
- package/dist/editor/html_escape.d.ts +3 -0
- package/dist/editor/html_escape.d.ts.map +1 -0
- package/dist/editor/html_escape.js +8 -0
- package/dist/editor/html_escape.js.map +1 -0
- package/dist/editor/linestylefilter.d.ts +22 -0
- package/dist/editor/linestylefilter.d.ts.map +1 -0
- package/dist/editor/linestylefilter.js +298 -0
- package/dist/editor/linestylefilter.js.map +1 -0
- package/dist/editor/skiplist.d.ts +51 -0
- package/dist/editor/skiplist.d.ts.map +1 -0
- package/dist/editor/skiplist.js +327 -0
- package/dist/editor/skiplist.js.map +1 -0
- package/dist/editor/types/AText.d.ts +5 -0
- package/dist/editor/types/AText.d.ts.map +1 -0
- package/dist/editor/types/AText.js +2 -0
- package/dist/editor/types/AText.js.map +1 -0
- package/dist/editor/types/Attribute.d.ts +2 -0
- package/dist/editor/types/Attribute.d.ts.map +1 -0
- package/dist/editor/types/Attribute.js +2 -0
- package/dist/editor/types/Attribute.js.map +1 -0
- package/dist/editor/types/ChangeSet.d.ts +7 -0
- package/dist/editor/types/ChangeSet.d.ts.map +1 -0
- package/dist/editor/types/ChangeSet.js +2 -0
- package/dist/editor/types/ChangeSet.js.map +1 -0
- package/dist/editor/types/ChangeSetBuilder.d.ts +7 -0
- package/dist/editor/types/ChangeSetBuilder.d.ts.map +1 -0
- package/dist/editor/types/ChangeSetBuilder.js +2 -0
- package/dist/editor/types/ChangeSetBuilder.js.map +1 -0
- package/dist/editor/types/RepModel.d.ts +25 -0
- package/dist/editor/types/RepModel.d.ts.map +1 -0
- package/dist/editor/types/RepModel.js +2 -0
- package/dist/editor/types/RepModel.js.map +1 -0
- package/dist/editor/undomodule.d.ts +30 -0
- package/dist/editor/undomodule.d.ts.map +1 -0
- package/dist/editor/undomodule.js +266 -0
- package/dist/editor/undomodule.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/package.json +7 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Changeset.js","sourceRoot":"","sources":["../../src/editor/Changeset.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { RepModel } from "./types/RepModel.js";
|
|
2
|
+
import { ChangeSetBuilder } from "./types/ChangeSetBuilder.js";
|
|
3
|
+
import { Attribute } from "./types/Attribute.js";
|
|
4
|
+
import AttributePool from "./AttributePool.js";
|
|
5
|
+
import { Builder } from "./Builder.js";
|
|
6
|
+
export declare const buildRemoveRange: (rep: RepModel, builder: ChangeSetBuilder, start: [number, number], end: [number, number]) => void;
|
|
7
|
+
export declare const buildKeepRange: (rep: RepModel, builder: ChangeSetBuilder, start: [number, number], end: [number, number], attribs?: Attribute[], pool?: AttributePool) => void;
|
|
8
|
+
export declare const buildKeepToStartOfRange: (rep: RepModel, builder: Builder, start: [number, number]) => void;
|
|
9
|
+
export declare const parseNum: (str: string) => number;
|
|
10
|
+
export declare const numToString: (num: number) => string;
|
|
11
|
+
//# sourceMappingURL=ChangesetUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChangesetUtils.d.ts","sourceRoot":"","sources":["../../src/editor/ChangesetUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AAErC,eAAO,MAAM,gBAAgB,GAAI,KAAK,QAAQ,EAAE,SAAS,gBAAgB,EAAE,OAAO,CAAC,MAAM,EAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,SAUvH,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,KAAK,QAAQ,EAAE,SAAS,gBAAgB,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,SAAS,EAAE,EAAE,OAAO,aAAa,SAUlK,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,KAAK,QAAQ,EAAE,SAAS,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,SAK/F,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,KAAG,MAA2B,CAAC;AAEnE,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,MAAwC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export const buildRemoveRange = (rep, builder, start, end) => {
|
|
2
|
+
const startLineOffset = rep.lines.offsetOfIndex(start[0]);
|
|
3
|
+
const endLineOffset = rep.lines.offsetOfIndex(end[0]);
|
|
4
|
+
if (end[0] > start[0]) {
|
|
5
|
+
builder.remove(endLineOffset - startLineOffset - start[1], end[0] - start[0]);
|
|
6
|
+
builder.remove(end[1]);
|
|
7
|
+
}
|
|
8
|
+
else {
|
|
9
|
+
builder.remove(end[1] - start[1]);
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
export const buildKeepRange = (rep, builder, start, end, attribs, pool) => {
|
|
13
|
+
const startLineOffset = rep.lines.offsetOfIndex(start[0]);
|
|
14
|
+
const endLineOffset = rep.lines.offsetOfIndex(end[0]);
|
|
15
|
+
if (end[0] > start[0]) {
|
|
16
|
+
builder.keep(endLineOffset - startLineOffset - start[1], end[0] - start[0], attribs, pool);
|
|
17
|
+
builder.keep(end[1], 0, attribs, pool);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
builder.keep(end[1] - start[1], 0, attribs, pool);
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
export const buildKeepToStartOfRange = (rep, builder, start) => {
|
|
24
|
+
const startLineOffset = rep.lines.offsetOfIndex(start[0]);
|
|
25
|
+
builder.keep(startLineOffset, start[0]);
|
|
26
|
+
builder.keep(start[1]);
|
|
27
|
+
};
|
|
28
|
+
export const parseNum = (str) => parseInt(str, 36);
|
|
29
|
+
export const numToString = (num) => num.toString(36).toLowerCase();
|
|
30
|
+
//# sourceMappingURL=ChangesetUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChangesetUtils.js","sourceRoot":"","sources":["../../src/editor/ChangesetUtils.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAa,EAAE,OAAyB,EAAE,KAAsB,EAAE,GAAqB,EAAE,EAAE;IAC1H,MAAM,eAAe,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtD,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,MAAM,CAAC,aAAa,GAAG,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9E,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAa,EAAE,OAAyB,EAAE,KAAuB,EAAE,GAAoB,EAAE,OAAqB,EAAE,IAAoB,EAAE,EAAE;IACrK,MAAM,eAAe,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEtD,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,aAAa,GAAG,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC3F,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,GAAa,EAAE,OAAgB,EAAE,KAAuB,EAAE,EAAE;IAClG,MAAM,eAAe,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1D,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import Op from "./Op.js";
|
|
2
|
+
export declare class MergingOpAssembler {
|
|
3
|
+
private assem;
|
|
4
|
+
private readonly bufOp;
|
|
5
|
+
private bufOpAdditionalCharsAfterNewline;
|
|
6
|
+
constructor();
|
|
7
|
+
flush: (isEndDocument?: boolean) => void;
|
|
8
|
+
append: (op: Op) => void;
|
|
9
|
+
endDocument: () => void;
|
|
10
|
+
toString: () => string;
|
|
11
|
+
clear: () => void;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=MergingOpAssembler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MergingOpAssembler.d.ts","sourceRoot":"","sources":["../../src/editor/MergingOpAssembler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,SAAS,CAAC;AAGzB,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAK;IAC3B,OAAO,CAAC,gCAAgC,CAAS;;IAQjD,KAAK,GAAI,gBAAgB,OAAO,UAc/B;IAED,MAAM,GAAI,IAAI,EAAE,UAgBf;IAED,WAAW,aAET;IAEF,QAAQ,eAGN;IAEF,KAAK,aAGH;CACH"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { OpAssembler } from "./OpAssembler.js";
|
|
2
|
+
import Op from "./Op.js";
|
|
3
|
+
import { clearOp, copyOp } from "./Changeset.js";
|
|
4
|
+
export class MergingOpAssembler {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.flush = (isEndDocument) => {
|
|
7
|
+
if (!this.bufOp.opcode)
|
|
8
|
+
return;
|
|
9
|
+
if (isEndDocument && this.bufOp.opcode === '=' && !this.bufOp.attribs) {
|
|
10
|
+
// final merged keep, leave it implicit
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
this.assem.append(this.bufOp);
|
|
14
|
+
if (this.bufOpAdditionalCharsAfterNewline) {
|
|
15
|
+
this.bufOp.chars = this.bufOpAdditionalCharsAfterNewline;
|
|
16
|
+
this.bufOp.lines = 0;
|
|
17
|
+
this.assem.append(this.bufOp);
|
|
18
|
+
this.bufOpAdditionalCharsAfterNewline = 0;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
this.bufOp.opcode = '';
|
|
22
|
+
};
|
|
23
|
+
this.append = (op) => {
|
|
24
|
+
if (op.chars <= 0)
|
|
25
|
+
return;
|
|
26
|
+
if (this.bufOp.opcode === op.opcode && this.bufOp.attribs === op.attribs) {
|
|
27
|
+
if (op.lines > 0) {
|
|
28
|
+
this.bufOp.chars += this.bufOpAdditionalCharsAfterNewline + op.chars;
|
|
29
|
+
this.bufOp.lines += op.lines;
|
|
30
|
+
this.bufOpAdditionalCharsAfterNewline = 0;
|
|
31
|
+
}
|
|
32
|
+
else if (this.bufOp.lines === 0) {
|
|
33
|
+
this.bufOp.chars += op.chars;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
this.bufOpAdditionalCharsAfterNewline += op.chars;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
this.flush();
|
|
41
|
+
copyOp(op, this.bufOp);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
this.endDocument = () => {
|
|
45
|
+
this.flush(true);
|
|
46
|
+
};
|
|
47
|
+
this.toString = () => {
|
|
48
|
+
this.flush();
|
|
49
|
+
return this.assem.toString();
|
|
50
|
+
};
|
|
51
|
+
this.clear = () => {
|
|
52
|
+
this.assem.clear();
|
|
53
|
+
clearOp(this.bufOp);
|
|
54
|
+
};
|
|
55
|
+
this.assem = new OpAssembler();
|
|
56
|
+
this.bufOp = new Op();
|
|
57
|
+
this.bufOpAdditionalCharsAfterNewline = 0;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=MergingOpAssembler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MergingOpAssembler.js","sourceRoot":"","sources":["../../src/editor/MergingOpAssembler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAC,OAAO,EAAE,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAE/C,MAAM,OAAO,kBAAkB;IAK7B;QAMA,UAAK,GAAG,CAAC,aAAuB,EAAE,EAAE;YAClC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;gBAAE,OAAO;YAC/B,IAAI,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBACtE,uCAAuC;YACzC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC9B,IAAI,IAAI,CAAC,gCAAgC,EAAE,CAAC;oBAC1C,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,gCAAgC,CAAC;oBACzD,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;oBACrB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC9B,IAAI,CAAC,gCAAgC,GAAG,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;QACzB,CAAC,CAAA;QAED,WAAM,GAAG,CAAC,EAAM,EAAE,EAAE;YAClB,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;gBAAE,OAAO;YAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC;gBACzE,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;oBACjB,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,gCAAgC,GAAG,EAAE,CAAC,KAAK,CAAC;oBACrE,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC;oBAC7B,IAAI,CAAC,gCAAgC,GAAG,CAAC,CAAC;gBAC5C,CAAC;qBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;oBAClC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,gCAAgC,IAAI,EAAE,CAAC,KAAK,CAAC;gBACpD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;QACH,CAAC,CAAA;QAED,gBAAW,GAAG,GAAG,EAAE;YACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC;QAEF,aAAQ,GAAG,GAAG,EAAE;YACd,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC/B,CAAC,CAAC;QAEF,UAAK,GAAG,GAAG,EAAE;YACX,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC;QAnDA,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,EAAE,CAAA;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,EAAE,CAAA;QACrB,IAAI,CAAC,gCAAgC,GAAG,CAAC,CAAC;IAC5C,CAAC;CAiDF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type OpCode = '' | '=' | '+' | '-';
|
|
2
|
+
export default class Op {
|
|
3
|
+
opcode: '' | '=' | '+' | '-';
|
|
4
|
+
chars: number;
|
|
5
|
+
lines: number;
|
|
6
|
+
attribs: string;
|
|
7
|
+
constructor(opcode?: '' | '=' | '+' | '-');
|
|
8
|
+
toString(): string;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=Op.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Op.d.ts","sourceRoot":"","sources":["../../src/editor/Op.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,MAAM,GAAG,EAAE,GAAC,GAAG,GAAC,GAAG,GAAC,GAAG,CAAC;AAEpC,MAAM,CAAC,OAAO,OAAO,EAAE;IACrB,MAAM,EAAE,EAAE,GAAC,GAAG,GAAC,GAAG,GAAC,GAAG,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;gBAEH,MAAM,GAAC,EAAE,GAAC,GAAG,GAAC,GAAG,GAAC,GAAQ;IAOtC,QAAQ;CAMT"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { numToString } from "./ChangesetUtils.js";
|
|
2
|
+
export default class Op {
|
|
3
|
+
constructor(opcode = '') {
|
|
4
|
+
this.opcode = opcode;
|
|
5
|
+
this.chars = 0;
|
|
6
|
+
this.lines = 0;
|
|
7
|
+
this.attribs = '';
|
|
8
|
+
}
|
|
9
|
+
toString() {
|
|
10
|
+
if (!this.opcode)
|
|
11
|
+
throw new TypeError('null op');
|
|
12
|
+
if (typeof this.attribs !== 'string')
|
|
13
|
+
throw new TypeError('attribs must be a string');
|
|
14
|
+
const l = this.lines ? `|${numToString(this.lines)}` : '';
|
|
15
|
+
return this.attribs + l + this.opcode + numToString(this.chars);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=Op.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Op.js","sourceRoot":"","sources":["../../src/editor/Op.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAIhD,MAAM,CAAC,OAAO,OAAO,EAAE;IAMrB,YAAY,SAAwB,EAAE;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;YAAE,MAAM,IAAI,SAAS,CAAC,0BAA0B,CAAC,CAAC;QACtF,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClE,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpAssembler.d.ts","sourceRoot":"","sources":["../../src/editor/OpAssembler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAGzB,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAAS;;IAI3B,MAAM,GAAI,IAAI,EAAE,UAGf;IACD,QAAQ,eAAwB;IAChC,KAAK,aAEJ;CACF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import Op from "./Op.js";
|
|
2
|
+
import { assert } from './Changeset.js';
|
|
3
|
+
export class OpAssembler {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.append = (op) => {
|
|
6
|
+
assert(op instanceof Op, 'argument must be an instance of Op');
|
|
7
|
+
this.serialized += op.toString();
|
|
8
|
+
};
|
|
9
|
+
this.toString = () => this.serialized;
|
|
10
|
+
this.clear = () => {
|
|
11
|
+
this.serialized = '';
|
|
12
|
+
};
|
|
13
|
+
this.serialized = '';
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=OpAssembler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpAssembler.js","sourceRoot":"","sources":["../../src/editor/OpAssembler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAA;AAErC,MAAM,OAAO,WAAW;IAEtB;QAGA,WAAM,GAAG,CAAC,EAAM,EAAE,EAAE;YAClB,MAAM,CAAC,EAAE,YAAY,EAAE,EAAE,oCAAoC,CAAC,CAAC;YAC/D,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;QACnC,CAAC,CAAA;QACD,aAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAA;QAChC,UAAK,GAAG,GAAG,EAAE;YACX,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACvB,CAAC,CAAA;QATC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAA;IACtB,CAAC;CASF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpIter.d.ts","sourceRoot":"","sources":["../../src/editor/OpIter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAGzB,qBAAa,MAAM;IACjB,OAAO,CAAC,GAAG,CAAA;IACX,OAAO,CAAC,KAAK,CAA0B;gBAE3B,GAAG,EAAE,MAAM;IAKvB,OAAO,IAAI,OAAO;IAIlB,IAAI,CAAC,KAAK,GAAE,EAAa,GAAG,EAAE;CAS/B"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import Op from "./Op.js";
|
|
2
|
+
import { clearOp, copyOp, deserializeOps } from "./Changeset.js";
|
|
3
|
+
export class OpIter {
|
|
4
|
+
constructor(ops) {
|
|
5
|
+
this.gen = deserializeOps(ops);
|
|
6
|
+
this._next = this.gen.next();
|
|
7
|
+
}
|
|
8
|
+
hasNext() {
|
|
9
|
+
return !this._next.done;
|
|
10
|
+
}
|
|
11
|
+
next(opOut = new Op()) {
|
|
12
|
+
if (this.hasNext()) {
|
|
13
|
+
copyOp(this._next.value, opOut);
|
|
14
|
+
this._next = this.gen.next();
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
clearOp(opOut);
|
|
18
|
+
}
|
|
19
|
+
return opOut;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=OpIter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpIter.js","sourceRoot":"","sources":["../../src/editor/OpIter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAE/D,MAAM,OAAO,MAAM;IAIjB,YAAY,GAAW;QACrB,IAAI,CAAC,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,OAAO;QACL,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,QAAY,IAAI,EAAE,EAAE;QACvB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAM,EAAE,KAAK,CAAC,CAAC;YACjC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import Op from "./Op.js";
|
|
2
|
+
import { Attribute } from "./types/Attribute.js";
|
|
3
|
+
import AttributePool from "./AttributePool.js";
|
|
4
|
+
export declare class SmartOpAssembler {
|
|
5
|
+
private minusAssem;
|
|
6
|
+
private plusAssem;
|
|
7
|
+
private keepAssem;
|
|
8
|
+
private lastOpcode;
|
|
9
|
+
private lengthChange;
|
|
10
|
+
private assem;
|
|
11
|
+
constructor();
|
|
12
|
+
flushKeeps: () => void;
|
|
13
|
+
flushPlusMinus: () => void;
|
|
14
|
+
append: (op: Op) => void;
|
|
15
|
+
appendOpWithText: (opcode: "-" | "+" | "=", text: string, attribs: Attribute[] | string, pool?: AttributePool) => void;
|
|
16
|
+
toString: () => string;
|
|
17
|
+
clear: () => void;
|
|
18
|
+
endDocument: () => void;
|
|
19
|
+
getLengthChange: () => number;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=SmartOpAssembler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SmartOpAssembler.d.ts","sourceRoot":"","sources":["../../src/editor/SmartOpAssembler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAG/C,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,KAAK,CAAkB;;IAW/B,UAAU,aAGR;IAEF,cAAc,aAKZ;IAEF,MAAM,GAAI,IAAI,EAAE,UAuBd;IAEF,gBAAgB,GAAI,QAAQ,GAAG,GAAC,GAAG,GAAC,GAAG,EAAE,MAAM,MAAM,EAAE,SAAS,SAAS,EAAE,GAAC,MAAM,EAAE,OAAO,aAAa,UAEtG;IAEF,QAAQ,eAIN;IAEF,KAAK,aAMH;IAEF,WAAW,aAET;IAEF,eAAe,eAA2B;CAC3C"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { MergingOpAssembler } from "./MergingOpAssembler.js";
|
|
2
|
+
import { StringAssembler } from "./StringAssembler.js";
|
|
3
|
+
import { opsFromText } from "./Changeset.js";
|
|
4
|
+
export class SmartOpAssembler {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.flushKeeps = () => {
|
|
7
|
+
this.assem.append(this.keepAssem.toString());
|
|
8
|
+
this.keepAssem.clear();
|
|
9
|
+
};
|
|
10
|
+
this.flushPlusMinus = () => {
|
|
11
|
+
this.assem.append(this.minusAssem.toString());
|
|
12
|
+
this.minusAssem.clear();
|
|
13
|
+
this.assem.append(this.plusAssem.toString());
|
|
14
|
+
this.plusAssem.clear();
|
|
15
|
+
};
|
|
16
|
+
this.append = (op) => {
|
|
17
|
+
if (!op.opcode)
|
|
18
|
+
return;
|
|
19
|
+
if (!op.chars)
|
|
20
|
+
return;
|
|
21
|
+
if (op.opcode === '-') {
|
|
22
|
+
if (this.lastOpcode === '=') {
|
|
23
|
+
this.flushKeeps();
|
|
24
|
+
}
|
|
25
|
+
this.minusAssem.append(op);
|
|
26
|
+
this.lengthChange -= op.chars;
|
|
27
|
+
}
|
|
28
|
+
else if (op.opcode === '+') {
|
|
29
|
+
if (this.lastOpcode === '=') {
|
|
30
|
+
this.flushKeeps();
|
|
31
|
+
}
|
|
32
|
+
this.plusAssem.append(op);
|
|
33
|
+
this.lengthChange += op.chars;
|
|
34
|
+
}
|
|
35
|
+
else if (op.opcode === '=') {
|
|
36
|
+
if (this.lastOpcode !== '=') {
|
|
37
|
+
this.flushPlusMinus();
|
|
38
|
+
}
|
|
39
|
+
this.keepAssem.append(op);
|
|
40
|
+
}
|
|
41
|
+
this.lastOpcode = op.opcode;
|
|
42
|
+
};
|
|
43
|
+
this.appendOpWithText = (opcode, text, attribs, pool) => {
|
|
44
|
+
for (const op of opsFromText(opcode, text, attribs, pool))
|
|
45
|
+
this.append(op);
|
|
46
|
+
};
|
|
47
|
+
this.toString = () => {
|
|
48
|
+
this.flushPlusMinus();
|
|
49
|
+
this.flushKeeps();
|
|
50
|
+
return this.assem.toString();
|
|
51
|
+
};
|
|
52
|
+
this.clear = () => {
|
|
53
|
+
this.minusAssem.clear();
|
|
54
|
+
this.plusAssem.clear();
|
|
55
|
+
this.keepAssem.clear();
|
|
56
|
+
this.assem.clear();
|
|
57
|
+
this.lengthChange = 0;
|
|
58
|
+
};
|
|
59
|
+
this.endDocument = () => {
|
|
60
|
+
this.keepAssem.endDocument();
|
|
61
|
+
};
|
|
62
|
+
this.getLengthChange = () => this.lengthChange;
|
|
63
|
+
this.minusAssem = new MergingOpAssembler();
|
|
64
|
+
this.plusAssem = new MergingOpAssembler();
|
|
65
|
+
this.keepAssem = new MergingOpAssembler();
|
|
66
|
+
this.assem = new StringAssembler();
|
|
67
|
+
this.lastOpcode = '';
|
|
68
|
+
this.lengthChange = 0;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=SmartOpAssembler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SmartOpAssembler.js","sourceRoot":"","sources":["../../src/editor/SmartOpAssembler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StringAssembler.d.ts","sourceRoot":"","sources":["../../src/editor/StringAssembler.ts"],"names":[],"mappings":"AAAA,qBAAa,eAAe;IAC1B,OAAO,CAAC,GAAG,CAAK;IAChB,KAAK,aAEJ;IACD,MAAM,CAAC,CAAC,EAAE,MAAM;IAGhB,QAAQ;CAGT"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export class StringAssembler {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.str = '';
|
|
4
|
+
this.clear = () => {
|
|
5
|
+
this.str = '';
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
append(x) {
|
|
9
|
+
this.str += String(x);
|
|
10
|
+
}
|
|
11
|
+
toString() {
|
|
12
|
+
return this.str;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=StringAssembler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StringAssembler.js","sourceRoot":"","sources":["../../src/editor/StringAssembler.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,eAAe;IAA5B;QACU,QAAG,GAAG,EAAE,CAAA;QAChB,UAAK,GAAG,GAAE,EAAE;YACV,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QAChB,CAAC,CAAA;IAOH,CAAC;IANC,MAAM,CAAC,CAAS;QACd,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,QAAQ;QACN,OAAO,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC;CACF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare class StringIterator {
|
|
2
|
+
private curIndex;
|
|
3
|
+
private newLines;
|
|
4
|
+
private str;
|
|
5
|
+
constructor(str: string);
|
|
6
|
+
remaining: () => number;
|
|
7
|
+
getnewLines: () => number;
|
|
8
|
+
assertRemaining: (n: number) => void;
|
|
9
|
+
take: (n: number) => string;
|
|
10
|
+
peek: (n: number) => string;
|
|
11
|
+
skip: (n: number) => void;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=StringIterator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StringIterator.d.ts","sourceRoot":"","sources":["../../src/editor/StringIterator.ts"],"names":[],"mappings":"AAEA,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,GAAG,CAAQ;gBAEP,GAAG,EAAE,MAAM;IAKvB,SAAS,eAAyC;IAElD,WAAW,eAAuB;IAElC,eAAe,GAAI,GAAG,MAAM,UAE3B;IAED,IAAI,GAAI,GAAG,MAAM,YAMhB;IAED,IAAI,GAAI,GAAG,MAAM,YAGhB;IAED,IAAI,GAAI,GAAG,MAAM,UAGhB;CACF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { assert } from "./Changeset.js";
|
|
2
|
+
export class StringIterator {
|
|
3
|
+
constructor(str) {
|
|
4
|
+
this.remaining = () => this.str.length - this.curIndex;
|
|
5
|
+
this.getnewLines = () => this.newLines;
|
|
6
|
+
this.assertRemaining = (n) => {
|
|
7
|
+
assert(n <= this.remaining(), `!(${n} <= ${this.remaining()})`);
|
|
8
|
+
};
|
|
9
|
+
this.take = (n) => {
|
|
10
|
+
this.assertRemaining(n);
|
|
11
|
+
const s = this.str.substring(this.curIndex, this.curIndex + n);
|
|
12
|
+
this.newLines -= s.split('\n').length - 1;
|
|
13
|
+
this.curIndex += n;
|
|
14
|
+
return s;
|
|
15
|
+
};
|
|
16
|
+
this.peek = (n) => {
|
|
17
|
+
this.assertRemaining(n);
|
|
18
|
+
return this.str.substring(this.curIndex, this.curIndex + n);
|
|
19
|
+
};
|
|
20
|
+
this.skip = (n) => {
|
|
21
|
+
this.assertRemaining(n);
|
|
22
|
+
this.curIndex += n;
|
|
23
|
+
};
|
|
24
|
+
this.curIndex = 0;
|
|
25
|
+
this.str = str;
|
|
26
|
+
this.newLines = str.split('\n').length - 1;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=StringIterator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StringIterator.js","sourceRoot":"","sources":["../../src/editor/StringIterator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AAEtC,MAAM,OAAO,cAAc;IAKzB,YAAY,GAAW;QAKvB,cAAS,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC;QAElD,gBAAW,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;QAElC,oBAAe,GAAG,CAAC,CAAS,EAAE,EAAE;YAC9B,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAClE,CAAC,CAAA;QAED,SAAI,GAAG,CAAC,CAAS,EAAE,EAAE;YACnB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAC,CAAC,CAAC,CAAC;YAC7D,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;YACnB,OAAO,CAAC,CAAC;QACX,CAAC,CAAA;QAED,SAAI,GAAG,CAAC,CAAS,EAAE,EAAE;YACnB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAC,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAA;QAED,SAAI,GAAG,CAAC,CAAS,EAAE,EAAE;YACnB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACrB,CAAC,CAAA;QA5BC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC7C,CAAC;CA0BF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
interface LinesInterface {
|
|
2
|
+
get(i: number): string;
|
|
3
|
+
length(): number;
|
|
4
|
+
splice(...args: unknown[]): void;
|
|
5
|
+
slice?(start?: number, end?: number): string[];
|
|
6
|
+
}
|
|
7
|
+
type Lines = string[] | LinesInterface;
|
|
8
|
+
declare class TextLinesMutator {
|
|
9
|
+
private _lines;
|
|
10
|
+
private _curSplice;
|
|
11
|
+
private _inSplice;
|
|
12
|
+
private _curLine;
|
|
13
|
+
private _curCol;
|
|
14
|
+
constructor(lines: Lines);
|
|
15
|
+
_linesGet(idx: number): string;
|
|
16
|
+
_linesSlice(start: number | undefined, end: number | undefined): string[];
|
|
17
|
+
_linesLength(): number;
|
|
18
|
+
_enterSplice(): void;
|
|
19
|
+
_leaveSplice(): void;
|
|
20
|
+
_isCurLineInSplice(): boolean;
|
|
21
|
+
_putCurLineInSplice(): number;
|
|
22
|
+
skipLines(L: number, includeInSplice?: boolean): void;
|
|
23
|
+
skip(N: number, L: number, includeInSplice?: boolean): void;
|
|
24
|
+
removeLines(L: number): string;
|
|
25
|
+
remove(N: number, L: number): string;
|
|
26
|
+
insert(text: string, L: number): void;
|
|
27
|
+
hasMore(): boolean;
|
|
28
|
+
close(): void;
|
|
29
|
+
}
|
|
30
|
+
export default TextLinesMutator;
|
|
31
|
+
//# sourceMappingURL=TextLinesMutator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextLinesMutator.d.ts","sourceRoot":"","sources":["../../src/editor/TextLinesMutator.ts"],"names":[],"mappings":"AASA,UAAU,cAAc;IACtB,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,MAAM,IAAI,MAAM,CAAC;IACjB,MAAM,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACjC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAChD;AAED,KAAK,KAAK,GAAG,MAAM,EAAE,GAAG,cAAc,CAAC;AAEvC,cAAM,gBAAgB;IACpB,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAS;gBAEZ,KAAK,EAAE,KAAK;IAQxB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAQ9B,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE;IAQzE,YAAY,IAAI,MAAM;IAQtB,YAAY,IAAI,IAAI;IAOpB,YAAY,IAAI,IAAI;IAUpB,kBAAkB,IAAI,OAAO;IAI7B,mBAAmB,IAAI,MAAM;IAQ7B,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,IAAI;IAsBrD,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,IAAI;IAa3D,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAiC9B,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAYpC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAiCrC,OAAO,IAAI,OAAO;IAQlB,KAAK,IAAI,IAAI;CAGd;AAED,eAAe,gBAAgB,CAAA"}
|