From 9e80c01488dc1276d0ef5da871d734bb63d87ae4 Mon Sep 17 00:00:00 2001 From: Evan Schalton Date: Sun, 24 Jan 2021 06:28:42 -0500 Subject: [PATCH] Added TS Type declaration --- package-lock.json | 8 ++++- package.json | 1 + types/rich-text/index.d.ts | 60 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 types/rich-text/index.d.ts diff --git a/package-lock.json b/package-lock.json index b352046..bc416fb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,9 +1,15 @@ { "name": "rich-text", - "version": "4.0.0", + "version": "4.1.0", "lockfileVersion": 1, "requires": true, "dependencies": { + "@types/node": { + "version": "14.14.22", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz", + "integrity": "sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==", + "dev": true + }, "ansi-colors": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", diff --git a/package.json b/package.json index ac1714c..d5a8b26 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "quill-delta": "^4.2.1" }, "devDependencies": { + "@types/node": "^14.14.22", "chai": "^4.2.0", "lodash": "^4.17.15", "mocha": "^6.1.4", diff --git a/types/rich-text/index.d.ts b/types/rich-text/index.d.ts new file mode 100644 index 0000000..876bf2f --- /dev/null +++ b/types/rich-text/index.d.ts @@ -0,0 +1,60 @@ +declare module "rich-text" { + import Delta, {Op} from 'quill-delta'; + + const name: string; + const uri: string; + + function create(initial?: Op[] | { ops: Op[] }): Delta; + function compose(delta1: Op[] | { ops: Op[] }, delta2: Op[] | { ops: Op[] }): Delta; + function diff(delta1: Op[] | { ops: Op[] }, delta2: Op[] | { ops: Op[] }): Delta; + + function transform( + delta1: Op[] | { ops: Op[] }, + delta2: Op[] | { ops: Op[] }, + side: string + ): Delta|number; + + function transformCursor( + cursor: number, + delta: Delta, + isOwnOp: boolean + ): number; + + function normalize(delta: Delta): Delta; + function serialize(delta: Delta): Op[]; + function deserialize(ops: Op[]): Delta; + + interface IRange { + index: number; + length: number + } + + function transformPresence( + range: IRange, + op: Op, + isOwnOp: boolean + ): IRange + + const type = { + name, + uri, + create, + apply, + compose, + diff, + transform, + transformCursor, + normalize, + serialize, + deserialize, + transformPresence + } + + module.exports = { + Delta, + type + } + + export = type + +}