fix a few tsc errors (96 remaining)

This commit is contained in:
Kevin Jahns
2019-03-13 02:15:43 +01:00
parent 5a42a94cf4
commit 293527e62b
15 changed files with 63 additions and 86 deletions

View File

@@ -7,10 +7,9 @@ import * as ID from '../utils/ID.js'
import { writeStructToTransaction } from '../utils/structEncoding.js'
import * as decoding from 'lib0/decoding.js'
import * as encoding from 'lib0/encoding.js'
// import { Item } from './Item.js' // eslint-disable-line
import * as Item from './Item.js'
// import { Y } from '../utils/Y.js' // eslint-disable-line
import { deleteItemRange } from '../utils/structManipulation.js'
import * as stringify from '../utils/structStringify.js'
/**
* @private
@@ -25,7 +24,7 @@ export class Delete {
*/
this._targetID = null
/**
* @type {Item}
* @type {Item.Item}
*/
this._target = null
this._length = null
@@ -99,6 +98,6 @@ export class Delete {
* @private
*/
_logString () {
return `Delete - target: ${stringify.stringifyID(this._targetID)}, len: ${this._length}`
return `Delete - target: ${Item.stringifyID(this._targetID)}, len: ${this._length}`
}
}

View File

@@ -10,6 +10,39 @@ import { GC } from './GC.js'
import * as encoding from 'lib0/encoding.js'
import * as decoding from 'lib0/decoding.js'
/**
* Stringify an item id.
*
* @param {ID.ID | ID.RootID} id
* @return {string}
*/
export const stringifyID = id => id instanceof ID.ID ? `(${id.user},${id.clock})` : `(${id.name},${id.type})`
/**
* Stringify an item as ID. HHere, an item could also be a Yjs instance (e.g. item._parent).
*
* @param {Item | Y | null} item
* @return {string}
*/
export const stringifyItemID = item =>
item === null ? '()' : (item._id != null ? stringifyID(item._id) : 'y')
/**
* Helper utility to convert an item to a readable format.
*
* @param {String} name The name of the item class (YText, ItemString, ..).
* @param {Item} item The item instance.
* @param {String} [append] Additional information to append to the returned
* string.
* @return {String} A readable string that represents the item object.
*
*/
export const logItemHelper = (name, item, append) => {
const left = item._left !== null ? stringifyID(item._left._lastId) : '()'
const origin = item._origin !== null ? stringifyID(item._origin._lastId) : '()'
return `${name}(id:${stringifyItemID(item)},left:${left},origin:${origin},right:${stringifyItemID(item._right)},parent:${stringifyItemID(item._parent)},parentSub:${item._parentSub}${append !== undefined ? ' - ' + append : ''})`
}
/**
* @private
*/

View File

@@ -4,8 +4,7 @@
// TODO: ItemBinary should be able to merge with right (similar to other items). Or the other items (ItemJSON) should not be able to merge - extra byte + consistency
import { Item } from './Item.js'
import * as stringify from '../utils/structStringify.js'
import { Item, logItemHelper } from './Item.js'
import * as encoding from 'lib0/encoding.js'
import * as decoding from 'lib0/decoding.js'
import { Y } from '../utils/Y.js' // eslint-disable-line
@@ -43,6 +42,6 @@ export class ItemBinary extends Item {
* @private
*/
_logString () {
return stringify.logItemHelper('ItemBinary', this)
return logItemHelper('ItemBinary', this)
}
}

View File

@@ -2,8 +2,7 @@
* @module structs
*/
import { Item } from './Item.js'
import * as stringify from '../utils/structStringify.js'
import { Item, logItemHelper } from './Item.js'
import * as encoding from 'lib0/encoding.js'
import * as decoding from 'lib0/decoding.js'
import { Y } from '../utils/Y.js' // eslint-disable-line
@@ -44,6 +43,6 @@ export class ItemEmbed extends Item {
* @private
*/
_logString () {
return stringify.logItemHelper('ItemEmbed', this, `embed:${JSON.stringify(this.embed)}`)
return logItemHelper('ItemEmbed', this, `embed:${JSON.stringify(this.embed)}`)
}
}

View File

@@ -2,8 +2,7 @@
* @module structs
*/
import { Item } from './Item.js'
import * as stringify from '../utils/structStringify.js'
import { Item, logItemHelper } from './Item.js'
import * as encoding from 'lib0/encoding.js'
import * as decoding from 'lib0/decoding.js'
import { Y } from '../utils/Y.js' // eslint-disable-line

View File

@@ -2,8 +2,7 @@
* @module structs
*/
import { Item, splitHelper } from './Item.js'
import * as stringify from '../utils/structStringify.js'
import { Item, splitHelper, logItemHelper } from './Item.js'
import * as encoding from 'lib0/encoding.js'
import * as decoding from 'lib0/decoding.js'
import { Y } from '../utils/Y.js' // eslint-disable-line
@@ -67,7 +66,7 @@ export class ItemJSON extends Item {
* @private
*/
_logString () {
return stringify.logItemHelper('ItemJSON', this, `content:${JSON.stringify(this._content)}`)
return logItemHelper('ItemJSON', this, `content:${JSON.stringify(this._content)}`)
}
_splitAt (y, diff) {
if (diff === 0) {

View File

@@ -2,8 +2,7 @@
* @module structs
*/
import { Item, splitHelper } from './Item.js'
import * as stringify from '../utils/structStringify.js'
import { Item, splitHelper, logItemHelper } from './Item.js'
import * as encoding from 'lib0/encoding.js'
import * as decoding from 'lib0/decoding.js'
import { Y } from '../utils/Y.js' // eslint-disable-line
@@ -44,7 +43,7 @@ export class ItemString extends Item {
* @private
*/
_logString () {
return stringify.logItemHelper('ItemString', this, `content:"${this._content}"`)
return logItemHelper('ItemString', this, `content:"${this._content}"`)
}
_splitAt (y, diff) {
if (diff === 0) {