+24
| // eslint-disable-next-line no-undef | ||
| module.exports = { | ||
| root: true, | ||
| parser: '@typescript-eslint/parser', | ||
| parserOptions: { | ||
| // eslint-disable-next-line no-undef, @typescript-eslint/no-unsafe-assignment | ||
| tsconfigRootDir: __dirname, | ||
| project: './tsconfig.eslint.json', | ||
| ecmaVersion: 2020, | ||
| sourceType: 'module', | ||
| }, | ||
| plugins: ['@typescript-eslint', 'prettier'], | ||
| extends: [ | ||
| 'eslint:recommended', | ||
| 'plugin:@typescript-eslint/recommended', | ||
| 'plugin:@typescript-eslint/recommended-requiring-type-checking', | ||
| 'prettier', | ||
| ], | ||
| rules: { | ||
| '@typescript-eslint/explicit-module-boundary-types': 'error', | ||
| '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_', varsIgnorePattern: '^_' }], | ||
| 'prettier/prettier': 'warn', | ||
| }, | ||
| }; |
| name: check-after-push | ||
| on: [push] | ||
| jobs: | ||
| test: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v2 | ||
| - uses: actions/setup-node@v2 | ||
| with: | ||
| node-version: 16 | ||
| - run: npm ci | ||
| - run: npm run build | ||
| - run: npm run lint | ||
| - run: npm test |
| module.exports = { | ||
| semi: true, | ||
| trailingComma: "all", | ||
| singleQuote: true, | ||
| printWidth: 120, | ||
| tabWidth: 2, | ||
| }; |
| import { Wson, WsonOptions } from 'wson'; | ||
| import { ArrayLimiter } from './array-diff'; | ||
| import { Notifier } from './notifier'; | ||
| import { StringLimiter } from './string-diff'; | ||
| export interface DiffOptions { | ||
| WSON?: Wson; | ||
| wsonOptions?: WsonOptions; | ||
| stringEdge?: number; | ||
| stringLimit?: number | StringLimiter; | ||
| arrayLimit?: number | ArrayLimiter; | ||
| notifiers?: Notifier | Notifier[]; | ||
| } | ||
| export interface PatchOptions { | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| //# sourceMappingURL=options.js.map |
| {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":""} |
| import { Connector } from 'wson'; | ||
| export declare type Value = unknown; | ||
| export declare type AnyArray = unknown[]; | ||
| export declare type AnyRecord = Record<string, unknown>; | ||
| export declare type Delta = string | null | undefined; | ||
| export interface DiffConnector extends Connector { | ||
| postpatch?: (value: Value) => void; | ||
| } |
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| //# sourceMappingURL=types.js.map |
| {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""} |
| { "extends": "./tsconfig.json", | ||
| "include": [ | ||
| "src/**/*", "test/**/*", ".eslintrc.js" | ||
| ] | ||
| } | ||
@@ -1,4 +0,5 @@ | ||
| import { State } from "./diff"; | ||
| import { Idxer } from "./idxer"; | ||
| export declare type ArrayLimiter = (have: any[], wish: any[]) => number; | ||
| import { State } from './diff'; | ||
| import { Idxer } from './idxer'; | ||
| import { AnyArray } from './types'; | ||
| export declare type ArrayLimiter = (have: AnyArray, wish: AnyArray) => number; | ||
| export declare type MdxOfs = [number, number]; | ||
@@ -38,3 +39,3 @@ export declare type KeyUse = MdxOfs[]; | ||
| getPatches(meModOff: number, cb: (havePos: number, wishPos: number, len: number) => void): void; | ||
| putMove(legId: number): number | undefined; | ||
| putMove(legId: number): number; | ||
| getMoves(meModOff: number, cb: (srcPos: number, dstPos: number, len: number, reverse: boolean) => void): void; | ||
@@ -44,4 +45,4 @@ } | ||
| state: State; | ||
| have: any[]; | ||
| wish: any[]; | ||
| have: AnyArray; | ||
| wish: AnyArray; | ||
| haveIdxer: Idxer; | ||
@@ -53,3 +54,3 @@ wishIdxer: Idxer; | ||
| wishKeyUses: KeyUses; | ||
| constructor(state: State, have: any[], wish: any[]); | ||
| constructor(state: State, have: AnyArray, wish: AnyArray); | ||
| setupIdxers(): void; | ||
@@ -64,3 +65,3 @@ setupModifiers(limit: number | ArrayLimiter | undefined): void; | ||
| getDelta(isRoot: boolean): string | null; | ||
| debugModifiers(title: string): void[]; | ||
| debugModifiers(title: string): void; | ||
| } |
+76
-56
| "use strict"; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.ArrayDiff = exports.Modifier = void 0; | ||
| // tslint:disable:max-classes-per-file | ||
| const _ = require("lodash"); | ||
| const debug_1 = require("debug"); | ||
| const mdiff_1 = require("mdiff"); | ||
| const debug = debug_1.default("wson-diff:array-diff"); | ||
| const lodash_1 = __importDefault(require("lodash")); | ||
| const assert_1 = __importDefault(require("assert")); | ||
| const debug_1 = __importDefault(require("debug")); | ||
| const mdiff_1 = __importDefault(require("mdiff")); | ||
| const debug = (0, debug_1.default)('wson-diff:array-diff'); | ||
| const idxer_1 = require("./idxer"); | ||
@@ -28,5 +31,11 @@ class Modifier { | ||
| const { mdx } = this; | ||
| const outLegs = _(this.legs).filter((leg) => leg.haveMdx === mdx).sortBy("haveOfs").value(); | ||
| const inLegs = _(this.legs).filter((leg) => leg.wishMdx === mdx).sortBy("wishOfs").value(); | ||
| debug("setupLegs: mdx=%o, outLegs=%o, inLegs=%o", mdx, outLegs, inLegs); | ||
| const outLegs = (0, lodash_1.default)(this.legs) | ||
| .filter((leg) => leg.haveMdx === mdx) | ||
| .sortBy('haveOfs') | ||
| .value(); | ||
| const inLegs = (0, lodash_1.default)(this.legs) | ||
| .filter((leg) => leg.wishMdx === mdx) | ||
| .sortBy('wishOfs') | ||
| .value(); | ||
| debug('setupLegs: mdx=%o, outLegs=%o, inLegs=%o', mdx, outLegs, inLegs); | ||
| const legs = []; | ||
@@ -69,3 +78,3 @@ const { haveLen } = this; | ||
| let rr = 16; | ||
| while (true) { | ||
| for (;;) { | ||
| let takeIn = false; | ||
@@ -141,2 +150,5 @@ let takeOut = false; | ||
| if (takeOut) { | ||
| if (outLeg == null) { | ||
| throw new Error('missing outLeg'); | ||
| } | ||
| legs.push({ | ||
@@ -154,2 +166,5 @@ id: outLeg.id, | ||
| if (takeIn) { | ||
| if (inLeg == null) { | ||
| throw new Error('missing inLeg'); | ||
| } | ||
| legs.push({ | ||
@@ -173,3 +188,3 @@ id: inLeg.id, | ||
| getDeletes(meModOff, cb) { | ||
| debug("getDeletes: mdx=%o meModOff=%o", this.mdx, meModOff); | ||
| debug('getDeletes: mdx=%o meModOff=%o', this.mdx, meModOff); | ||
| let { restBalance } = this; | ||
@@ -179,6 +194,6 @@ if (restBalance <= 0) { | ||
| } | ||
| let haveLoc = (this.haveLen + this.doneBalance) - this.closeGap; | ||
| let haveLoc = this.haveLen + this.doneBalance - this.closeGap; | ||
| for (let legIdx = this.legs.length - 1; legIdx >= 0; legIdx--) { | ||
| const leg = this.legs[legIdx]; | ||
| debug("getDeletes: restBalance=%o haveLoc=%o leg=%o", restBalance, haveLoc, leg); | ||
| debug('getDeletes: restBalance=%o haveLoc=%o leg=%o', restBalance, haveLoc, leg); | ||
| const legLen = leg.len; | ||
@@ -207,3 +222,3 @@ if (legLen > 0) { | ||
| getInserts(meModOff, cb) { | ||
| debug("getInserts: mdx=%o meModOff=%o have=%o+%o wish=%o+%o", this.mdx, meModOff, this.haveBegin, this.haveLen, this.wishBegin, this.wishLen); | ||
| debug('getInserts: mdx=%o meModOff=%o have=%o+%o wish=%o+%o', this.mdx, meModOff, this.haveBegin, this.haveLen, this.wishBegin, this.wishLen); | ||
| let { restBalance } = this; | ||
@@ -213,7 +228,7 @@ if (restBalance >= 0) { | ||
| } | ||
| let haveLoc = (this.haveLen + this.doneBalance) - this.closeGap; | ||
| let haveLoc = this.haveLen + this.doneBalance - this.closeGap; | ||
| let wishLoc = this.wishLen - this.closeGap; | ||
| for (let legIdx = this.legs.length - 1; legIdx >= 0; legIdx--) { | ||
| const leg = this.legs[legIdx]; | ||
| debug("getInserts: restBalance=%o haveLoc=%o wishLoc=%o leg=%o", restBalance, haveLoc, wishLoc, leg); | ||
| debug('getInserts: restBalance=%o haveLoc=%o wishLoc=%o leg=%o', restBalance, haveLoc, wishLoc, leg); | ||
| const legLen = leg.len; | ||
@@ -225,3 +240,3 @@ if (legLen > 0) { | ||
| else if (leg.youMdx == null) { | ||
| cb(this.haveBegin + meModOff + haveLoc, (this.wishBegin + wishLoc) - legLen, legLen); | ||
| cb(this.haveBegin + meModOff + haveLoc, this.wishBegin + wishLoc - legLen, legLen); | ||
| this.doneBalance += legLen; | ||
@@ -245,3 +260,3 @@ leg.done = true; | ||
| getPatches(meModOff, cb) { | ||
| debug("getPatches: mdx=%o meModOff=%o have=%o+%o wish=%o+%o", this.mdx, meModOff, this.haveBegin, this.haveLen, this.wishBegin, this.wishLen); | ||
| debug('getPatches: mdx=%o meModOff=%o have=%o+%o wish=%o+%o', this.mdx, meModOff, this.haveBegin, this.haveLen, this.wishBegin, this.wishLen); | ||
| let haveLoc = 0; | ||
@@ -273,6 +288,6 @@ let wishLoc = 0; | ||
| putMove(legId) { | ||
| debug("putMove: legId=%o", legId); | ||
| debug('putMove: legId=%o', legId); | ||
| let meLoc = 0; | ||
| for (const leg of this.legs) { | ||
| debug("putMove: meLoc=%o leg=%o", meLoc, leg); | ||
| debug('putMove: meLoc=%o leg=%o', meLoc, leg); | ||
| meLoc += leg.gap; | ||
@@ -295,19 +310,23 @@ const legLen = leg.len; | ||
| } | ||
| } // should never arrive here | ||
| } | ||
| // should never arrive here | ||
| { | ||
| throw new Error('unexpected end of legs'); | ||
| } | ||
| } | ||
| getMoves(meModOff, cb) { | ||
| debug("getMoves: mdx=%o meModOff=%o", this.mdx, meModOff); | ||
| debug('getMoves: mdx=%o meModOff=%o', this.mdx, meModOff); | ||
| const { ad } = this; | ||
| let meLoc = 0; | ||
| for (const leg of this.legs) { | ||
| debug("getMoves: meLoc=%o leg=%o", meLoc, leg); | ||
| debug('getMoves: meLoc=%o leg=%o', meLoc, leg); | ||
| meLoc += leg.gap; | ||
| const legLen = leg.len; | ||
| const { youMdx } = leg; | ||
| if ((youMdx != null) && leg.youMdx > this.mdx) { | ||
| if (youMdx != null && leg.youMdx > this.mdx) { | ||
| const youModifier = ad.modifiers[youMdx]; | ||
| const youModOff = meModOff + ad.getModOffDiff(this.mdx, youMdx); | ||
| debug("getMoves: meModOff=%o, youModOff=%o", meModOff, youModOff); | ||
| debug('getMoves: meModOff=%o, youModOff=%o', meModOff, youModOff); | ||
| const youLoc = youModifier.putMove(leg.id); | ||
| debug("getMoves: meLoc=%o, youLoc=%o", meLoc, youLoc); | ||
| debug('getMoves: meLoc=%o, youLoc=%o', meLoc, youLoc); | ||
| const meIdx = this.haveBegin + meModOff + meLoc; | ||
@@ -367,3 +386,3 @@ const youIdx = youModifier.haveBegin + youModOff + youLoc; | ||
| function scanCb(haveBegin, haveEnd, wishBegin, wishEnd) { | ||
| debug("setupModifiers: %o..%o %o..%o", haveBegin, haveEnd, wishBegin, wishEnd); | ||
| debug('setupModifiers: %o..%o %o..%o', haveBegin, haveEnd, wishBegin, wishEnd); | ||
| const haveLen = haveEnd - haveBegin; | ||
@@ -392,7 +411,7 @@ const wishLen = wishEnd - wishBegin; | ||
| } | ||
| if (_.isFunction(limit)) { | ||
| if (lodash_1.default.isFunction(limit)) { | ||
| limit = limit(this.have, this.wish); | ||
| } | ||
| const diffLen = mdiff_1.default(haveIdxer.keys, wishIdxer.keys).scanDiff(scanCb, limit); | ||
| this.aborted = (diffLen == null); | ||
| const diffLen = (0, mdiff_1.default)(haveIdxer.keys, wishIdxer.keys).scanDiff(scanCb, limit); | ||
| this.aborted = diffLen == null; | ||
| this.modifiers = modifiers; | ||
@@ -421,3 +440,3 @@ this.wishKeyUses = wishKeyUses; | ||
| let newLeg = true; | ||
| if ((leg != null) && wishMdx === leg.wishMdx && haveOfs === leg.haveOfs + leg.len) { | ||
| if (leg != null && wishMdx === leg.wishMdx && haveOfs === leg.haveOfs + leg.len) { | ||
| if (leg.len === 1) { | ||
@@ -478,3 +497,3 @@ if (wishOfs === leg.wishOfs + 1) { | ||
| } | ||
| this.debugModifiers("setupLegs done."); | ||
| this.debugModifiers('setupLegs done.'); | ||
| } | ||
@@ -499,3 +518,3 @@ getModOffDiff(fromMdx, toMdx) { | ||
| getDeleteDelta() { | ||
| let delta = ""; | ||
| let delta = ''; | ||
| let count = 0; | ||
@@ -507,4 +526,4 @@ let meModOff = this.getModOffDiff(0, this.modifiers.length); | ||
| modifier.getDeletes(meModOff, (pos, len) => { | ||
| debug("getDeleteDelta: pos=%o, len=%o", pos, len); | ||
| delta += count === 0 ? "[d" : "|"; | ||
| debug('getDeleteDelta: pos=%o, len=%o', pos, len); | ||
| delta += count === 0 ? '[d' : '|'; | ||
| delta += pos; | ||
@@ -518,3 +537,3 @@ if (len !== 1) { | ||
| if (count > 0) { | ||
| delta += "]"; | ||
| delta += ']'; | ||
| } | ||
@@ -524,7 +543,7 @@ return delta; | ||
| getInsertDelta() { | ||
| let delta = ""; | ||
| let delta = ''; | ||
| let count = 0; | ||
| let meModOff = this.getModOffDiff(0, this.modifiers.length); | ||
| const { wishIdxer } = this; | ||
| debug("getInsertDelta: meModOff=%o", meModOff); | ||
| debug('getInsertDelta: meModOff=%o', meModOff); | ||
| for (let modIdx = this.modifiers.length - 1; modIdx >= 0; modIdx--) { | ||
@@ -534,4 +553,4 @@ const modifier = this.modifiers[modIdx]; | ||
| modifier.getInserts(meModOff, (havePos, wishPos, len) => { | ||
| debug("getInsertDelta: havePos=%o, wishPos=%o, len=%o", havePos, wishPos, len); | ||
| delta += count === 0 ? "[i" : "|"; | ||
| debug('getInsertDelta: havePos=%o, wishPos=%o, len=%o', havePos, wishPos, len); | ||
| delta += count === 0 ? '[i' : '|'; | ||
| delta += havePos; | ||
@@ -545,3 +564,3 @@ for (let i = 0; i < len; i++) { | ||
| if (count > 0) { | ||
| delta += "]"; | ||
| delta += ']'; | ||
| } | ||
@@ -551,3 +570,3 @@ return delta; | ||
| getPatchDelta() { | ||
| let delta = ""; | ||
| let delta = ''; | ||
| let count = 0; | ||
@@ -558,7 +577,7 @@ let meModOff = 0; | ||
| const { state } = this; | ||
| debug("getPatchDelta: meModOff=%o", meModOff); | ||
| debug('getPatchDelta: meModOff=%o', meModOff); | ||
| for (const modifier of this.modifiers) { | ||
| modifier.getPatches(meModOff, (havePos, wishPos, len) => { | ||
| debug("getPatchDelta: havePos=%o, wishPos=%o, len=%o", havePos, wishPos, len); | ||
| delta += count === 0 ? "[r" : "|"; | ||
| debug('getPatchDelta: havePos=%o, wishPos=%o, len=%o', havePos, wishPos, len); | ||
| delta += count === 0 ? '[r' : '|'; | ||
| delta += havePos; | ||
@@ -568,3 +587,4 @@ let canChain = true; | ||
| const iDelta = state.getDelta(have[havePos + i], wish[wishPos + i], false); | ||
| if (iDelta[0] !== ":") { | ||
| (0, assert_1.default)(iDelta != null); | ||
| if (iDelta[0] !== ':') { | ||
| canChain = false; | ||
@@ -582,3 +602,3 @@ } | ||
| if (count > 0) { | ||
| delta += "]"; | ||
| delta += ']'; | ||
| } | ||
@@ -588,3 +608,3 @@ return delta; | ||
| getMoveDelta() { | ||
| let delta = ""; | ||
| let delta = ''; | ||
| let count = 0; | ||
@@ -594,7 +614,7 @@ let meModOff = 0; | ||
| modifier.getMoves(meModOff, (srcPos, dstPos, len, reverse) => { | ||
| debug("getMoveDelta: srcPos=%o, dstPos=%o, len=%o reverse=%o", srcPos, dstPos, len, reverse); | ||
| delta += count === 0 ? "[m" : "|"; | ||
| debug('getMoveDelta: srcPos=%o, dstPos=%o, len=%o reverse=%o', srcPos, dstPos, len, reverse); | ||
| delta += count === 0 ? '[m' : '|'; | ||
| delta += srcPos; | ||
| if (len !== 1) { | ||
| delta += (reverse ? "-" : "+") + (len - 1); | ||
| delta += (reverse ? '-' : '+') + `${len - 1}`; | ||
| } | ||
@@ -607,3 +627,3 @@ delta += `@${dstPos}`; | ||
| if (count > 0) { | ||
| delta += "]"; | ||
| delta += ']'; | ||
| } | ||
@@ -618,3 +638,3 @@ // @debugModifiers 'getMoveDelta done.' | ||
| else { | ||
| let delta = isRoot ? "|" : ""; | ||
| let delta = isRoot ? '|' : ''; | ||
| delta += this.getDeleteDelta(); | ||
@@ -628,6 +648,6 @@ delta += this.getMoveDelta(); | ||
| debugModifiers(title) { | ||
| debug(title + " modifiers:"); | ||
| return this.modifiers.map((modifier) => (debug(" mdx=%o have=%o+%o wish=%o+%o, restBalance=%o", modifier.mdx, modifier.haveBegin, modifier.haveLen, modifier.wishBegin, modifier.wishLen, modifier.restBalance), | ||
| modifier.legs.map((leg) => debug(" %o", leg)), | ||
| debug(" closeGap=%o", modifier.closeGap))); | ||
| debug(title + ' modifiers:'); | ||
| this.modifiers.map((modifier) => (debug(' mdx=%o have=%o+%o wish=%o+%o, restBalance=%o', modifier.mdx, modifier.haveBegin, modifier.haveLen, modifier.wishBegin, modifier.wishLen, modifier.restBalance), | ||
| modifier.legs.map((leg) => debug(' %o', leg)), | ||
| debug(' closeGap=%o', modifier.closeGap))); | ||
| } | ||
@@ -634,0 +654,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"array-diff.js","sourceRoot":"","sources":["../src/array-diff.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"array-diff.js","sourceRoot":"","sources":["../src/array-diff.ts"],"names":[],"mappings":"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"} |
+15
-13
@@ -1,15 +0,17 @@ | ||
| import { ArrayLimiter } from "./array-diff"; | ||
| import { StringLimiter } from "./string-diff"; | ||
| import { WsonDiff } from "./wson-diff"; | ||
| import { AnyArray, AnyRecord, Delta, Value } from './types'; | ||
| import { DiffOptions } from './options'; | ||
| import { ArrayLimiter } from './array-diff'; | ||
| import { StringLimiter } from './string-diff'; | ||
| import { WsonDiff } from './wson-diff'; | ||
| export declare class State { | ||
| differ: Differ; | ||
| wishStack: any[]; | ||
| haveStack: any[]; | ||
| wishStack: AnyArray; | ||
| haveStack: AnyArray; | ||
| constructor(differ: Differ); | ||
| stringify(val: any, useHave?: boolean): string; | ||
| getPlainDelta(have: any, wish: any, isRoot: boolean): string; | ||
| getStringDelta(have: string, wish: string, isRoot: boolean): string | null | undefined; | ||
| getObjectDelta(have: object, wish: object, isRoot: boolean): string | null | undefined; | ||
| getArrayDelta(have: any[], wish: any[], isRoot: boolean): string | null | undefined; | ||
| getDelta(have: any, wish: any, isRoot: boolean): string | null | undefined; | ||
| stringify(val: Value, useHave?: boolean): string; | ||
| getPlainDelta(have: Value, wish: Value, isRoot: boolean): string; | ||
| getStringDelta(have: string, wish: string, isRoot: boolean): Delta; | ||
| getObjectDelta(have: AnyRecord, wish: AnyRecord, isRoot: boolean): Delta; | ||
| getArrayDelta(have: AnyArray, wish: AnyArray, isRoot: boolean): string | null | undefined; | ||
| getDelta(have: Value, wish: Value, isRoot: boolean): string | null | undefined; | ||
| } | ||
@@ -21,4 +23,4 @@ export declare class Differ { | ||
| arrayLimit: number | ArrayLimiter | undefined; | ||
| constructor(wdiff: WsonDiff, options: any); | ||
| diff(have: any, wish: any): string | null | undefined; | ||
| constructor(wdiff: WsonDiff, options?: DiffOptions); | ||
| diff(have: Value, wish: Value): string | null | undefined; | ||
| } |
+24
-31
| "use strict"; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.Differ = exports.State = void 0; | ||
| // tslint:disable:max-classes-per-file | ||
| const debug_1 = require("debug"); | ||
| const debug_1 = __importDefault(require("debug")); | ||
| const array_diff_1 = require("./array-diff"); | ||
| const object_diff_1 = require("./object-diff"); | ||
| const string_diff_1 = require("./string-diff"); | ||
| const debug = debug_1.default("wson-diff:diff"); | ||
| const debug = (0, debug_1.default)('wson-diff:diff'); | ||
| class State { | ||
@@ -18,10 +21,11 @@ constructor(differ) { | ||
| const stack = useHave ? this.haveStack : this.wishStack; | ||
| debug("stringify val=%o stack=%o", val, stack); | ||
| return this.differ.wdiff.WSON.stringify(val, { haverefCb(backVal) { | ||
| debug("stringify: backVal=%o", backVal); | ||
| debug('stringify val=%o stack=%o', val, stack); | ||
| return this.differ.wdiff.WSON.stringify(val, { | ||
| haverefCb(backVal) { | ||
| debug('stringify: backVal=%o', backVal); | ||
| for (let idx = 0; idx < stack.length; idx++) { | ||
| const wish = stack[idx]; | ||
| debug("stringify: wish=%o, idx=%o", wish, idx); | ||
| debug('stringify: wish=%o, idx=%o', wish, idx); | ||
| if (wish === backVal) { | ||
| debug("stringify: found."); | ||
| debug('stringify: found.'); | ||
| return stack.length - idx - 1; | ||
@@ -31,6 +35,7 @@ } | ||
| return null; | ||
| } }); | ||
| }, | ||
| }); | ||
| } | ||
| getPlainDelta(have, wish, isRoot) { | ||
| debug("getPlainDelta(have=%o, wish=%o, isRoot=%o)", have, wish, isRoot); | ||
| debug('getPlainDelta(have=%o, wish=%o, isRoot=%o)', have, wish, isRoot); | ||
| let delta = this.stringify(wish); | ||
@@ -45,8 +50,8 @@ if (!isRoot) { | ||
| let delta; | ||
| if (!diff.aborted) { | ||
| delta = diff.getDelta(isRoot); | ||
| } | ||
| if (diff.aborted) { | ||
| delta = this.getPlainDelta(have, wish, isRoot); | ||
| } | ||
| else { | ||
| delta = diff.getDelta(isRoot); | ||
| } | ||
| return delta; | ||
@@ -94,3 +99,4 @@ } | ||
| case 8: // Number | ||
| if (have === wish || (have !== have && wish !== wish)) { // NaN | ||
| if (have === wish || (have !== have && wish !== wish)) { | ||
| // NaN | ||
| return null; | ||
@@ -127,22 +133,9 @@ } | ||
| class Differ { | ||
| constructor(wdiff, options) { | ||
| constructor(wdiff, options = {}) { | ||
| var _a, _b, _c, _d; | ||
| this.wdiff = wdiff; | ||
| const wdOptions = this.wdiff.options; | ||
| if (!options) { | ||
| options = {}; | ||
| } | ||
| this.stringEdge = (options.stringEdge != null) ? | ||
| options.stringEdge | ||
| : (wdOptions.stringEdge != null) ? | ||
| wdOptions.stringEdge | ||
| : | ||
| 16; | ||
| this.stringLimit = (options.stringLimit != null) ? | ||
| options.stringLimit | ||
| : | ||
| wdOptions.stringLimit; | ||
| this.arrayLimit = (options.arrayLimit != null) ? | ||
| options.arrayLimit | ||
| : | ||
| wdOptions.arrayLimit; | ||
| this.stringEdge = (_b = (_a = options.stringEdge) !== null && _a !== void 0 ? _a : wdOptions.stringEdge) !== null && _b !== void 0 ? _b : 16; | ||
| this.stringLimit = (_c = options.stringLimit) !== null && _c !== void 0 ? _c : wdOptions.stringLimit; | ||
| this.arrayLimit = (_d = options.arrayLimit) !== null && _d !== void 0 ? _d : wdOptions.arrayLimit; | ||
| } | ||
@@ -149,0 +142,0 @@ diff(have, wish) { |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"diff.js","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"diff.js","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"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"} |
+3
-0
@@ -0,3 +1,6 @@ | ||
| import { Value } from './types'; | ||
| export declare class WsonDiffError extends Error { | ||
| name: string; | ||
| constructor(); | ||
| } | ||
| export declare function errRepr(x: Value): string; |
+11
-1
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.WsonDiffError = void 0; | ||
| exports.errRepr = exports.WsonDiffError = void 0; | ||
| class WsonDiffError extends Error { | ||
| constructor() { | ||
| super(); | ||
| this.name = '?'; | ||
| } | ||
| } | ||
| exports.WsonDiffError = WsonDiffError; | ||
| function errRepr(x) { | ||
| try { | ||
| return JSON.stringify(x); | ||
| } | ||
| catch (error1) { | ||
| return String(x); | ||
| } | ||
| } | ||
| exports.errRepr = errRepr; | ||
| //# sourceMappingURL=errors.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAc,SAAQ,KAAK;IACtC;QACE,KAAK,EAAE,CAAA;IACT,CAAC;CACF;AAJD,sCAIC"} | ||
| {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAc,SAAQ,KAAK;IAGtC;QACE,KAAK,EAAE,CAAC;QAHV,SAAI,GAAG,GAAG,CAAC;IAIX,CAAC;CACF;AAND,sCAMC;AAED,SAAgB,OAAO,CAAC,CAAQ;IAC9B,IAAI;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;KAC1B;IAAC,OAAO,MAAM,EAAE;QACf,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;KAClB;AACH,CAAC;AAND,0BAMC"} |
+3
-2
@@ -1,2 +0,3 @@ | ||
| import { State } from "./diff"; | ||
| import { State } from './diff'; | ||
| import { AnyArray } from './types'; | ||
| export declare class Idxer { | ||
@@ -6,4 +7,4 @@ state: State; | ||
| allString: boolean; | ||
| constructor(state: State, vals: any[], useHave: boolean, allString: boolean); | ||
| constructor(state: State, vals: AnyArray, useHave: boolean, allString: boolean); | ||
| getItem(idx: number): string; | ||
| } |
+27
-5
| "use strict"; | ||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||
| }) : (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| o[k2] = m[k]; | ||
| })); | ||
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
| Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
| }) : function(o, v) { | ||
| o["default"] = v; | ||
| }); | ||
| var __importStar = (this && this.__importStar) || function (mod) { | ||
| if (mod && mod.__esModule) return mod; | ||
| var result = {}; | ||
| if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
| __setModuleDefault(result, mod); | ||
| return result; | ||
| }; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.Idxer = void 0; | ||
| const _ = require("lodash"); | ||
| const debug_1 = require("debug"); | ||
| const debug = debug_1.default("wson-diff:idxer"); | ||
| const _ = __importStar(require("lodash")); | ||
| const debug_1 = __importDefault(require("debug")); | ||
| const debug = (0, debug_1.default)('wson-diff:idxer'); | ||
| class Idxer { | ||
| constructor(state, vals, useHave, allString) { | ||
| this.state = state; | ||
| let keys; | ||
| let keys = []; | ||
| if (allString) { | ||
@@ -27,3 +49,3 @@ for (const val of vals) { | ||
| } | ||
| debug("keys=%o", keys); | ||
| debug('keys=%o', keys); | ||
| } | ||
@@ -30,0 +52,0 @@ this.keys = keys; |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"idxer.js","sourceRoot":"","sources":["../src/idxer.ts"],"names":[],"mappings":";;;AAAA,4BAA2B;AAC3B,iCAAgC;AAEhC,MAAM,KAAK,GAAG,eAAY,CAAC,iBAAiB,CAAC,CAAA;AAI7C,MAAa,KAAK;IAMhB,YAAY,KAAY,EAAE,IAAW,EAAE,OAAgB,EAAE,SAAkB;QACzE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,IAAc,CAAA;QAClB,IAAI,SAAS,EAAE;YACb,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;gBACtB,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACpB,SAAS,GAAG,KAAK,CAAA;oBACjB,MAAK;iBACN;aACF;YACD,IAAI,GAAG,IAAgB,CAAA;SACxB;QACD,IAAI,CAAC,SAAS,EAAE;YACd,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC7B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;gBAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;gBACrB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;gBAC9C,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAA;aAChB;YACD,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;SACvB;QACD,IAAI,CAAC,IAAI,GAAG,IAAK,CAAA;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAEM,OAAO,CAAC,GAAW;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC1B,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;SACjC;aAAM;YACL,OAAO,GAAG,CAAA;SACX;IACH,CAAC;CACF;AAvCD,sBAuCC"} | ||
| {"version":3,"file":"idxer.js","sourceRoot":"","sources":["../src/idxer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA4B;AAC5B,kDAAiC;AAEjC,MAAM,KAAK,GAAG,IAAA,eAAY,EAAC,iBAAiB,CAAC,CAAC;AAK9C,MAAa,KAAK;IAKhB,YAAY,KAAY,EAAE,IAAc,EAAE,OAAgB,EAAE,SAAkB;QAC5E,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,IAAI,GAAa,EAAE,CAAC;QACxB,IAAI,SAAS,EAAE;YACb,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;gBACtB,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;oBACpB,SAAS,GAAG,KAAK,CAAC;oBAClB,MAAM;iBACP;aACF;YACD,IAAI,GAAG,IAAgB,CAAC;SACzB;QACD,IAAI,CAAC,SAAS,EAAE;YACd,IAAI,GAAG,IAAI,KAAK,CAAS,IAAI,CAAC,MAAM,CAAC,CAAC;YACtC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;gBAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gBACtB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAC/C,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;aACjB;YACD,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;SACxB;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAEM,OAAO,CAAC,GAAW;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;SAClC;aAAM;YACL,OAAO,GAAG,CAAC;SACZ;IACH,CAAC;CACF;AAtCD,sBAsCC"} |
+6
-5
@@ -1,5 +0,6 @@ | ||
| import { PatchError } from "./patch"; | ||
| import { WsonDiff } from "./wson-diff"; | ||
| import { PatchError } from './patch'; | ||
| import { DiffOptions } from './options'; | ||
| import { WsonDiff } from './wson-diff'; | ||
| export interface Factory { | ||
| (options: any): WsonDiff; | ||
| (options: DiffOptions): WsonDiff; | ||
| PatchError: typeof PatchError; | ||
@@ -9,3 +10,3 @@ } | ||
| export default factory; | ||
| export { Notifier } from "./notifier"; | ||
| export { Key, Patch, Target } from "./target"; | ||
| export { Notifier } from './notifier'; | ||
| export { Key, Patch, Target } from './target'; |
+5
-2
| "use strict"; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const debug_1 = require("debug"); | ||
| const debug_1 = __importDefault(require("debug")); | ||
| const patch_1 = require("./patch"); | ||
| const wson_diff_1 = require("./wson-diff"); | ||
| const debug = debug_1.default("wson-diff:index"); | ||
| const _debug = (0, debug_1.default)('wson-diff:index'); | ||
| const factory = ((createOptions) => { | ||
@@ -8,0 +11,0 @@ return new wson_diff_1.WsonDiff(createOptions); |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AAAA,iCAAgC;AAEhC,mCAAoC;AACpC,2CAAsC;AAEtC,MAAM,KAAK,GAAG,eAAY,CAAC,iBAAiB,CAAC,CAAA;AAO7C,MAAM,OAAO,GAAG,CAAC,CAAC,aAAkB,EAAE,EAAE;IACtC,OAAO,IAAI,oBAAQ,CAAC,aAAa,CAAC,CAAA;AACpC,CAAC,CAAY,CAAA;AAEb,OAAO,CAAC,UAAU,GAAG,kBAAU,CAAA;AAE/B,kBAAe,OAAO,CAAA"} | ||
| {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,kDAAiC;AAEjC,mCAAqC;AAErC,2CAAuC;AAEvC,MAAM,MAAM,GAAG,IAAA,eAAY,EAAC,iBAAiB,CAAC,CAAC;AAO/C,MAAM,OAAO,GAAG,CAAC,CAAC,aAA0B,EAAE,EAAE;IAC9C,OAAO,IAAI,oBAAQ,CAAC,aAAa,CAAC,CAAC;AACrC,CAAC,CAAY,CAAC;AAEd,OAAO,CAAC,UAAU,GAAG,kBAAU,CAAC;AAEhC,kBAAe,OAAO,CAAC"} |
@@ -1,4 +0,5 @@ | ||
| import { Notifier } from "./notifier"; | ||
| import { Key, Patch, Target } from "./target"; | ||
| import { ValueTarget } from "./value-target"; | ||
| import { Notifier } from './notifier'; | ||
| import { Key, Patch, Target } from './target'; | ||
| import { AnyArray, Value } from './types'; | ||
| import { ValueTarget } from './value-target'; | ||
| export declare class NotifierTarget implements Target { | ||
@@ -9,12 +10,12 @@ vt: ValueTarget; | ||
| constructor(vt: ValueTarget, notifiers: Notifier[]); | ||
| get(up: number): undefined; | ||
| get(_up: number): undefined; | ||
| budge(up: number, key: Key): void; | ||
| unset(key: string): void; | ||
| assign(key: string | null, value: any): void; | ||
| assign(key: Key, value: Value): void; | ||
| delete(idx: number, len: number): void; | ||
| move(srcIdx: number, dstIdx: number, len: number, reverse: boolean): void; | ||
| insert(idx: number, values: any[]): void; | ||
| replace(idx: number, values: any[]): void; | ||
| insert(idx: number, values: AnyArray): void; | ||
| replace(idx: number, values: AnyArray): void; | ||
| substitute(patches: Patch[]): void; | ||
| done(): void; | ||
| } |
+18
-16
| "use strict"; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.NotifierTarget = void 0; | ||
| const debug_1 = require("debug"); | ||
| const debug = debug_1.default("wson-diff:notifier-target"); | ||
| const debug_1 = __importDefault(require("debug")); | ||
| const debug = (0, debug_1.default)('wson-diff:notifier-target'); | ||
| class NotifierTarget { | ||
@@ -14,9 +17,12 @@ constructor(vt, notifiers) { | ||
| const notifier = notifiers[ndx]; | ||
| depths[ndx] = notifier.checkedBudge(0, null, current) === false | ||
| ? 0 // assign root | ||
| : null; | ||
| depths[ndx] = | ||
| notifier.checkedBudge(0, null, current) === false | ||
| ? 0 // assign root | ||
| : null; | ||
| } | ||
| this.depths = depths; | ||
| } | ||
| get(up) { return undefined; } | ||
| get(_up) { | ||
| return undefined; | ||
| } | ||
| budge(up, key) { | ||
@@ -37,5 +43,3 @@ const { vt } = this; | ||
| if (notifyUp > 0) { | ||
| const notifyValue = notifyDepth === stackLen | ||
| ? current | ||
| : stack[notifyDepth]; | ||
| const notifyValue = notifyDepth === stackLen ? current : stack[notifyDepth]; | ||
| notifier.assign(null, notifyValue); | ||
@@ -55,3 +59,3 @@ notifyDepth = null; | ||
| } | ||
| debug("budge: notifyUp=%o", notifyUp); | ||
| debug('budge: notifyUp=%o', notifyUp); | ||
| if (key != null) { | ||
@@ -67,3 +71,3 @@ if (notifyDepth == null) { | ||
| } | ||
| debug("budge: ->notifyDepth=%o", notifyDepth); | ||
| debug('budge: ->notifyDepth=%o', notifyDepth); | ||
| depths[ndx] = notifyDepth; | ||
@@ -146,3 +150,3 @@ } | ||
| const { stack } = this.vt; | ||
| debug("done: stack=%o current=%o depths=%o", stack, current, depths); | ||
| debug('done: stack=%o current=%o depths=%o', stack, current, depths); | ||
| const stackLen = stack.length; | ||
@@ -153,6 +157,4 @@ for (let ndx = 0; ndx < this.notifiers.length; ndx++) { | ||
| if (notifyDepth != null) { | ||
| const notifyValue = notifyDepth === stackLen | ||
| ? current | ||
| : stack[notifyDepth]; | ||
| debug("done: ndx=%o value=%o", ndx, notifyValue); | ||
| const notifyValue = notifyDepth === stackLen ? current : stack[notifyDepth]; | ||
| debug('done: ndx=%o value=%o', ndx, notifyValue); | ||
| notifier.assign(null, notifyValue); | ||
@@ -159,0 +161,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"notifier-target.js","sourceRoot":"","sources":["../src/notifier-target.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"notifier-target.js","sourceRoot":"","sources":["../src/notifier-target.ts"],"names":[],"mappings":"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"} |
+10
-9
@@ -1,11 +0,12 @@ | ||
| import { Key, Patch } from "./target"; | ||
| import { Key, Patch } from './target'; | ||
| import { AnyArray, Value } from './types'; | ||
| export interface Notifier { | ||
| checkedBudge: (up: number, key: Key, current: any) => boolean; | ||
| unset: (key: string, curent: any) => void; | ||
| assign: (key: string | null, value: any, current?: any) => void; | ||
| delete: (idx: number, len: number, current?: any) => void; | ||
| move: (srcIdx: number, dstIdx: number, len: number, reverse: boolean, current?: any) => void; | ||
| insert: (idx: number, values: any[], current?: any) => void; | ||
| replace: (idx: number, values: any[], current?: any) => void; | ||
| substitute: (patches: Patch[], current?: any) => void; | ||
| checkedBudge: (up: number, key: Key, current: Value) => boolean; | ||
| unset: (key: string, curent: Value) => void; | ||
| assign: (key: Key, value: Value, current?: Value) => void; | ||
| delete: (idx: number, len: number, current?: Value) => void; | ||
| move: (srcIdx: number, dstIdx: number, len: number, reverse: boolean, current?: Value) => void; | ||
| insert: (idx: number, values: AnyArray, current?: Value) => void; | ||
| replace: (idx: number, values: AnyArray, current?: Value) => void; | ||
| substitute: (patches: Patch[], current?: Value) => void; | ||
| } |
@@ -1,12 +0,10 @@ | ||
| import { State } from "./diff"; | ||
| export interface Obj { | ||
| [key: string]: any; | ||
| } | ||
| import { State } from './diff'; | ||
| import { AnyRecord, Delta } from './types'; | ||
| export declare class ObjectDiff { | ||
| state: State; | ||
| have: AnyRecord; | ||
| wish: AnyRecord; | ||
| aborted: boolean; | ||
| have: Obj; | ||
| wish: Obj; | ||
| constructor(state: State, have: Obj, wish: Obj); | ||
| getDelta(isRoot: boolean): string | null; | ||
| constructor(state: State, have: AnyRecord, wish: AnyRecord); | ||
| getDelta(isRoot: boolean): Delta; | ||
| } |
+29
-31
| "use strict"; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.ObjectDiff = void 0; | ||
| const _ = require("lodash"); | ||
| const debug_1 = require("debug"); | ||
| const debug = debug_1.default("wson-diff:object-diff"); | ||
| const { hasOwnProperty } = Object.prototype; | ||
| const lodash_1 = __importDefault(require("lodash")); | ||
| const debug_1 = __importDefault(require("debug")); | ||
| const debug = (0, debug_1.default)('wson-diff:object-diff'); | ||
| class ObjectDiff { | ||
| constructor(state, have, wish) { | ||
| this.state = state; | ||
| if (have.constructor !== wish.constructor) { | ||
| this.aborted = true; | ||
| } | ||
| else { | ||
| this.have = have; | ||
| this.wish = wish; | ||
| this.aborted = false; | ||
| } | ||
| this.have = have; | ||
| this.wish = wish; | ||
| this.aborted = have.constructor !== wish.constructor; | ||
| } | ||
| getDelta(isRoot) { | ||
| var _a; | ||
| const { have } = this; | ||
| const { wish } = this; | ||
| debug("getDelta(have=%o, wish=%o, isRoot=%o)", have, wish, isRoot); | ||
| let delta = ""; | ||
| debug('getDelta(have=%o, wish=%o, isRoot=%o)', have, wish, isRoot); | ||
| let delta = ''; | ||
| const { state } = this; | ||
| let diffKeys = null; | ||
| if ((have.constructor != null) && have.constructor !== Object) { | ||
| if (have.constructor != null && have.constructor !== Object) { | ||
| const connector = state.differ.wdiff.WSON.connectorOfValue(have); | ||
| diffKeys = connector ? connector.diffKeys : null; | ||
| diffKeys = connector ? (_a = connector.diffKeys) !== null && _a !== void 0 ? _a : null : null; | ||
| console.log('diffKeys=', diffKeys, 'connector=', connector); | ||
| } | ||
| const hasDiffKeys = (diffKeys != null); | ||
| let delCount = 0; | ||
| const haveKeys = hasDiffKeys ? diffKeys : _(have).keys().sort().value(); | ||
| const haveKeys = diffKeys !== null && diffKeys !== void 0 ? diffKeys : (0, lodash_1.default)(have).keys().sort().value(); | ||
| for (const key of haveKeys) { | ||
| if (!hasOwnProperty.call(wish, key)) { | ||
| if (!lodash_1.default.has(wish, key)) { | ||
| if (delCount === 0) { | ||
| if (isRoot) { | ||
| delta += "|"; | ||
| delta += '|'; | ||
| } | ||
| delta += "[-"; | ||
| delta += '[-'; | ||
| } | ||
| else { | ||
| delta += "|"; | ||
| delta += '|'; | ||
| } | ||
@@ -50,16 +48,16 @@ delta += state.stringify(key); | ||
| if (delCount > 0) { | ||
| delta += "]"; | ||
| delta += ']'; | ||
| } | ||
| let setDelta = ""; | ||
| let setDelta = ''; | ||
| let setCount = 0; | ||
| const wishKeys = hasDiffKeys ? diffKeys : _(wish).keys().sort().value(); | ||
| const wishKeys = diffKeys !== null && diffKeys !== void 0 ? diffKeys : (0, lodash_1.default)(wish).keys().sort().value(); | ||
| for (const key of wishKeys) { | ||
| if (hasDiffKeys && !hasOwnProperty.call(wish, key)) { | ||
| if (diffKeys && !lodash_1.default.has(wish, key)) { | ||
| continue; | ||
| } | ||
| const keyDelta = state.getDelta(have[key], wish[key], false); | ||
| debug("getDelta: key=%o, keyDelta=%o", key, keyDelta); | ||
| debug('getDelta: key=%o, keyDelta=%o', key, keyDelta); | ||
| if (keyDelta != null) { | ||
| if (setCount > 0) { | ||
| setDelta += "|"; | ||
| setDelta += '|'; | ||
| } | ||
@@ -70,7 +68,7 @@ setDelta += state.stringify(key) + keyDelta; | ||
| } | ||
| debug("getDelta: setDelta=%o, setCount=%o", setDelta, setCount); | ||
| debug('getDelta: setDelta=%o, setCount=%o', setDelta, setCount); | ||
| if (setCount > 0) { | ||
| if (isRoot) { | ||
| if (delCount === 0) { | ||
| delta += "|"; | ||
| delta += '|'; | ||
| } | ||
@@ -81,3 +79,3 @@ delta += setDelta; | ||
| if (setCount === 1 && delCount === 0) { | ||
| delta += "|"; | ||
| delta += '|'; | ||
| delta += setDelta; | ||
@@ -84,0 +82,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"object-diff.js","sourceRoot":"","sources":["../src/object-diff.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"object-diff.js","sourceRoot":"","sources":["../src/object-diff.ts"],"names":[],"mappings":"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"} |
+12
-11
@@ -1,18 +0,19 @@ | ||
| import { WsonDiffError } from "./errors"; | ||
| import { Notifier } from "./notifier"; | ||
| import { Target } from "./target"; | ||
| import { WsonDiff } from "./wson-diff"; | ||
| export declare type Delta = string | null | undefined; | ||
| import { WsonDiffError } from './errors'; | ||
| import { Notifier } from './notifier'; | ||
| import { PatchOptions } from './options'; | ||
| import { Target } from './target'; | ||
| import { Delta, Value } from './types'; | ||
| import { WsonDiff } from './wson-diff'; | ||
| export declare class PatchError extends WsonDiffError { | ||
| delta: string; | ||
| name: string; | ||
| pos: number; | ||
| cause: string; | ||
| delta: string; | ||
| pos: number; | ||
| constructor(delta: string, pos: number, cause: any); | ||
| constructor(delta: string, pos: number | null, cause: string | null); | ||
| } | ||
| export declare class Patcher { | ||
| wdiff: WsonDiff; | ||
| constructor(wdiff: WsonDiff, options: any); | ||
| patchTarget(target: Target, delta: Delta): void; | ||
| patch(value: any, delta: Delta, notifiers?: Notifier | Notifier[]): any; | ||
| constructor(wdiff: WsonDiff, _options: PatchOptions); | ||
| patchTarget(target: Target, delta: Delta): Value; | ||
| patch(value: Value, delta: Delta, notifiers?: Notifier | Notifier[]): Value; | ||
| } |
+122
-117
| "use strict"; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.Patcher = exports.PatchError = void 0; | ||
| // tslint:disable:max-classes-per-file | ||
| const debug_1 = require("debug"); | ||
| const debug = debug_1.default("wson-diff:patch"); | ||
| const assert_1 = __importDefault(require("assert")); | ||
| const debug_1 = __importDefault(require("debug")); | ||
| const wson_1 = require("wson"); | ||
| const errors_1 = require("./errors"); | ||
| const notifier_target_1 = require("./notifier-target"); | ||
| const value_target_1 = require("./value-target"); | ||
| const debug = (0, debug_1.default)('wson-diff:patch'); | ||
| class PrePatchError extends errors_1.WsonDiffError { | ||
| constructor(cause) { | ||
| super(); | ||
| this.name = "PrePatchError"; | ||
| this.cause = cause; | ||
| this.name = 'PrePatchError'; | ||
| } | ||
@@ -20,13 +25,12 @@ } | ||
| super(); | ||
| this.name = "PatchError"; | ||
| this.delta = delta; | ||
| this.name = 'PatchError'; | ||
| if (pos == null) { | ||
| pos = this.delta.length; | ||
| } | ||
| this.pos = pos; | ||
| this.cause = cause; | ||
| if (this.pos == null) { | ||
| this.pos = this.delta.length; | ||
| } | ||
| let char; | ||
| if (!this.cause) { | ||
| if (!cause) { | ||
| if (this.pos >= this.delta.length) { | ||
| char = "end"; | ||
| char = 'end'; | ||
| } | ||
@@ -36,4 +40,5 @@ else { | ||
| } | ||
| this.cause = `unexpected ${char}`; | ||
| cause = `unexpected ${char}`; | ||
| } | ||
| this.cause = cause; | ||
| this.message = `${this.cause} at '${this.delta.slice(0, this.pos)}^${this.delta.slice(this.pos)}'`; | ||
@@ -92,4 +97,4 @@ } | ||
| budgePending(withKey) { | ||
| debug("budgePending withKey=%o pendingUp=%o pendingKey=%o", withKey, this.pendingUp, this.pendingKey); | ||
| if (withKey && (this.pendingKey != null)) { | ||
| debug('budgePending withKey=%o pendingUp=%o pendingKey=%o', withKey, this.pendingUp, this.pendingKey); | ||
| if (withKey && this.pendingKey != null) { | ||
| this.target.budge(this.pendingUp, this.pendingKey); | ||
@@ -108,3 +113,3 @@ this.targetDepth -= this.pendingUp - 1; | ||
| resetPath() { | ||
| debug("resetPath targetDepth=%o scopeDepth=%o", this.targetDepth, this.scopeDepth); | ||
| debug('resetPath targetDepth=%o scopeDepth=%o', this.targetDepth, this.scopeDepth); | ||
| this.pendingUp = this.targetDepth - this.scopeDepth; | ||
@@ -116,10 +121,10 @@ this.pendingKey = null; | ||
| this.budgePending(true); | ||
| debug("enterObjectKey key=%o", key); | ||
| debug('enterObjectKey key=%o', key); | ||
| const ti = this.getCurrentTi(); | ||
| if (ti !== TI_UNKNOW && ti !== TI_OBJECT) { | ||
| if (ti === TI_ARRAY) { | ||
| throw new PrePatchError(`can't index array ${this.target.get()} with object index ${key}`); | ||
| throw new PrePatchError(`can't index array ${(0, errors_1.errRepr)(this.target.get())} with object index ${key}`); | ||
| } | ||
| else { | ||
| throw new PrePatchError(`can't index scalar ${this.target.get()}`); | ||
| throw new PrePatchError(`can't index scalar ${(0, errors_1.errRepr)(this.target.get())}`); | ||
| } | ||
@@ -131,6 +136,6 @@ } | ||
| this.budgePending(true); | ||
| debug("enterArrayKey skey=%o", skey); | ||
| debug('enterArrayKey skey=%o', skey); | ||
| const ti = this.getCurrentTi(); | ||
| if (!reIndex.test(skey)) { | ||
| throw new PrePatchError(`non-numeric array index ${skey} for ${this.target.get()}`); | ||
| throw new PrePatchError(`non-numeric array index ${skey} for ${(0, errors_1.errRepr)(this.target.get())}`); | ||
| } | ||
@@ -140,6 +145,6 @@ const key = Number(skey); | ||
| if (ti === TI_OBJECT) { | ||
| throw new PrePatchError(`can't index object ${this.target.get()} with array index ${key}`); | ||
| throw new PrePatchError(`can't index object ${(0, errors_1.errRepr)(this.target.get())} with array index ${key}`); | ||
| } | ||
| else { | ||
| throw new PrePatchError(`can't index scalar ${this.target.get()}`); | ||
| throw new PrePatchError(`can't index scalar ${(0, errors_1.errRepr)(this.target.get())}`); | ||
| } | ||
@@ -150,3 +155,3 @@ } | ||
| pushScope(nextStage) { | ||
| debug("pushScope scopeDepth=%o @targetDepth=%o stage=%o", this.scopeDepth, this.targetDepth, this.stage ? this.stage.name : undefined); | ||
| debug('pushScope scopeDepth=%o @targetDepth=%o stage=%o', this.scopeDepth, this.targetDepth, this.stage ? this.stage.name : undefined); | ||
| this.scopeStack.push([this.scopeDepth, this.scopeTi, nextStage]); | ||
@@ -157,8 +162,8 @@ this.scopeDepth = this.targetDepth; | ||
| if (!this.stage.canPop) { | ||
| throw new PrePatchError(); | ||
| throw new PrePatchError(null); | ||
| } | ||
| const { scopeStack } = this; | ||
| debug("popScope scopeStack=%o", scopeStack); | ||
| debug('popScope scopeStack=%o', scopeStack); | ||
| if (scopeStack.length === 0) { | ||
| throw new PrePatchError(); | ||
| throw new PrePatchError(null); | ||
| } | ||
@@ -173,3 +178,3 @@ [this.scopeDepth, this.scopeTi, this.stage] = scopeStack.pop(); | ||
| catch (e) { | ||
| throw new PrePatchError(e); | ||
| throw new PrePatchError(String(e)); | ||
| } | ||
@@ -179,9 +184,10 @@ this.assignValues = null; | ||
| startReplace() { | ||
| return this.replaceValues = []; | ||
| return (this.replaceValues = []); | ||
| } | ||
| addReplace(value) { | ||
| return this.replaceValues.push(value); | ||
| var _a; | ||
| return (_a = this.replaceValues) === null || _a === void 0 ? void 0 : _a.push(value); | ||
| } | ||
| commitReplace() { | ||
| debug("commitReplace pendingKey=%o replaceValues=%o", this.pendingKey, this.replaceValues); | ||
| debug('commitReplace pendingKey=%o replaceValues=%o', this.pendingKey, this.replaceValues); | ||
| if (this.replaceValues != null) { | ||
@@ -194,3 +200,3 @@ this.budgePending(false); | ||
| doUnset(key) { | ||
| debug("doUnset key=%o", key); | ||
| debug('doUnset key=%o', key); | ||
| this.budgePending(false); | ||
@@ -200,3 +206,3 @@ this.target.unset(key); | ||
| doDelete(skey) { | ||
| debug("doDelete skey=%o", skey); | ||
| debug('doDelete skey=%o', skey); | ||
| this.budgePending(true); | ||
@@ -208,3 +214,3 @@ const m = reRange.exec(skey); | ||
| const idx = Number(m[1]); | ||
| const len = (m[3] != null) ? Number(m[3]) + 1 : 1; | ||
| const len = m[3] != null ? Number(m[3]) + 1 : 1; | ||
| this.target.delete(idx, len); | ||
@@ -215,31 +221,31 @@ } | ||
| const ti = this.getCurrentTi(); | ||
| debug("coninueModify c=%o", c); | ||
| debug('coninueModify c=%o', c); | ||
| let stage; | ||
| let expectedTi; | ||
| switch (c) { | ||
| case "=": | ||
| case '=': | ||
| expectedTi = TI_OBJECT; | ||
| stage = stages.assignBegin; | ||
| break; | ||
| case "-": | ||
| case '-': | ||
| expectedTi = TI_OBJECT; | ||
| stage = stages.unsetBegin; | ||
| break; | ||
| case "d": | ||
| case 'd': | ||
| expectedTi = TI_ARRAY; | ||
| stage = stages.deleteBegin; | ||
| break; | ||
| case "i": | ||
| case 'i': | ||
| expectedTi = TI_ARRAY; | ||
| stage = stages.insertBegin; | ||
| break; | ||
| case "m": | ||
| case 'm': | ||
| expectedTi = TI_ARRAY; | ||
| stage = stages.moveBegin; | ||
| break; | ||
| case "r": | ||
| case 'r': | ||
| expectedTi = TI_ARRAY; | ||
| stage = stages.replaceBegin; | ||
| break; | ||
| case "s": | ||
| case 's': | ||
| expectedTi = TI_STRING; | ||
@@ -249,3 +255,3 @@ stage = stages.substituteBegin; | ||
| default: | ||
| throw new PrePatchError(); | ||
| throw new PrePatchError(`unexpected patch key "${c}"`); | ||
| } | ||
@@ -256,12 +262,12 @@ if (ti !== TI_UNKNOW && ti !== expectedTi) { | ||
| case TI_ARRAY: | ||
| return "array"; | ||
| return 'array'; | ||
| case TI_OBJECT: | ||
| return "object"; | ||
| return 'object'; | ||
| case TI_STRING: | ||
| return "string"; | ||
| return 'string'; | ||
| default: | ||
| return "scalar"; | ||
| return 'scalar'; | ||
| } | ||
| })(); | ||
| throw new PatchError(this.delta, this.pos, `can't patch ${this.target.get()} with ${expectedName} modifier`); | ||
| throw new PatchError(this.delta, this.pos, `can't patch ${(0, errors_1.errRepr)(this.target.get())} with ${expectedName} modifier`); | ||
| } | ||
@@ -273,3 +279,3 @@ this.stage = stage; | ||
| startModify(nextStage) { | ||
| debug("startModify nextStage=%o", nextStage.name); | ||
| debug('startModify nextStage=%o', nextStage.name); | ||
| this.budgePending(true); | ||
@@ -281,3 +287,3 @@ this.pushScope(nextStage); | ||
| if (!reIndex.test(skey)) { | ||
| throw new PrePatchError(`non-numeric index ${skey} for array ${this.target.get ? this.target.get() : null}`); | ||
| throw new PrePatchError(`non-numeric index ${skey} for array ${(0, errors_1.errRepr)(this.target.get ? this.target.get() : null)}`); | ||
| } | ||
@@ -291,7 +297,7 @@ this.insertKey = Number(skey); | ||
| commitInsert() { | ||
| debug("commitInsert insertKey=%o, insertValues=%o", this.insertKey, this.insertValues); | ||
| debug('commitInsert insertKey=%o, insertValues=%o', this.insertKey, this.insertValues); | ||
| this.target.insert(this.insertKey, this.insertValues); | ||
| } | ||
| doMove(skey) { | ||
| debug("doMove skey=%o", skey); | ||
| debug('doMove skey=%o', skey); | ||
| const m = reMove.exec(skey); | ||
@@ -306,3 +312,3 @@ if (m == null) { | ||
| len = Number(m[3]) + 1; | ||
| reverse = m[2][0] === "-"; | ||
| reverse = m[2][0] === '-'; | ||
| } | ||
@@ -314,3 +320,3 @@ else { | ||
| const dstKey = Number(m[4]); | ||
| debug("doMove srcKey=%o dstKey=%o len=%o reverse=%o", srcKey, dstKey, len, reverse); | ||
| debug('doMove srcKey=%o dstKey=%o len=%o reverse=%o', srcKey, dstKey, len, reverse); | ||
| this.target.move(srcKey, dstKey, len, reverse); | ||
@@ -325,3 +331,3 @@ } | ||
| if (m == null) { | ||
| throw new PrePatchError(`invalid substitution ${skey} for string ${this.target.get ? this.target.get() : undefined}`); | ||
| throw new PrePatchError(`invalid substitution ${skey} for string ${(0, errors_1.errRepr)(this.target.get ? this.target.get() : undefined)}`); | ||
| } | ||
@@ -333,3 +339,3 @@ const ofs = Number(m[1]); | ||
| lenDiff = Number(m[3]); | ||
| if (m[2][0] === "-") { | ||
| if (m[2][0] === '-') { | ||
| lenDiff = -lenDiff; | ||
@@ -345,3 +351,3 @@ } | ||
| else { | ||
| str = ""; | ||
| str = ''; | ||
| } | ||
@@ -351,3 +357,3 @@ return this.substituteValues.push([ofs, lenDiff, str]); | ||
| commitSubstitute() { | ||
| debug("commitSubstitute insertValues=%o", this.substituteValues); | ||
| debug('commitSubstitute insertValues=%o', this.substituteValues); | ||
| this.target.substitute(this.substituteValues); | ||
@@ -362,4 +368,4 @@ } | ||
| }, | ||
| ["#"](value) { | ||
| this.enterObjectKey(""); | ||
| ['#']() { | ||
| this.enterObjectKey(''); | ||
| this.stage = stages.assignHasKey; | ||
@@ -369,10 +375,10 @@ }, | ||
| assignHasKey: { | ||
| ["|"]() { | ||
| ['|']() { | ||
| this.stage = stages.assignBegin; | ||
| }, | ||
| [":"]() { | ||
| [':']() { | ||
| this.rawNext = false; | ||
| this.stage = stages.assignHasColon; | ||
| }, | ||
| ["["]() { | ||
| ['[']() { | ||
| this.startModify(stages.assignHasModify); | ||
@@ -388,9 +394,9 @@ }, | ||
| assignHasValue: { | ||
| ["|"]() { | ||
| ['|']() { | ||
| this.resetPath(); | ||
| this.stage = stages.assignBegin; | ||
| }, | ||
| ["]"]() { | ||
| [']']() { | ||
| if (this.scopeStack.length === 0) { | ||
| throw new PrePatchError(); | ||
| throw new PrePatchError(null); | ||
| } | ||
@@ -401,3 +407,3 @@ this.stage = stages.modifyEnd; | ||
| if (this.scopeStack.length > 0) { | ||
| throw new PrePatchError(); | ||
| throw new PrePatchError(null); | ||
| } | ||
@@ -407,9 +413,9 @@ }, | ||
| assignHasModify: { | ||
| ["|"]() { | ||
| ['|']() { | ||
| this.resetPath(); | ||
| this.stage = stages.assignBegin; | ||
| }, | ||
| ["]"]() { | ||
| [']']() { | ||
| if (this.scopeStack.length === 0) { | ||
| throw new PrePatchError(); | ||
| throw new PrePatchError(null); | ||
| } | ||
@@ -420,3 +426,3 @@ this.stage = stages.modifyEnd; | ||
| if (this.scopeStack.length > 0) { | ||
| throw new PrePatchError(); | ||
| throw new PrePatchError(null); | ||
| } | ||
@@ -438,6 +444,6 @@ }, | ||
| replaceHasKey: { | ||
| ["|"]() { | ||
| ['|']() { | ||
| this.stage = stages.replaceNextKey; | ||
| }, | ||
| [":"]() { | ||
| [':']() { | ||
| this.rawNext = false; | ||
@@ -447,3 +453,3 @@ this.stage = stages.replaceHasColon; | ||
| }, | ||
| ["["]() { | ||
| ['[']() { | ||
| this.startModify(stages.replaceHasModify); | ||
@@ -459,7 +465,7 @@ }, | ||
| replaceHasValue: { | ||
| [":"]() { | ||
| [':']() { | ||
| this.rawNext = false; | ||
| this.stage = stages.replaceHasColon; | ||
| }, | ||
| ["|"]() { | ||
| ['|']() { | ||
| this.commitReplace(); | ||
@@ -469,3 +475,3 @@ this.resetPath(); | ||
| }, | ||
| ["]"]() { | ||
| [']']() { | ||
| this.commitReplace(); | ||
@@ -476,3 +482,3 @@ this.stage = stages.modifyEnd; | ||
| replaceHasModify: { | ||
| ["|"]() { | ||
| ['|']() { | ||
| this.commitReplace(); | ||
@@ -482,3 +488,3 @@ this.resetPath(); | ||
| }, | ||
| ["]"]() { | ||
| [']']() { | ||
| this.commitReplace(); | ||
@@ -493,4 +499,4 @@ this.stage = stages.modifyEnd; | ||
| }, | ||
| ["#"]() { | ||
| this.doUnset(""); | ||
| ['#']() { | ||
| this.doUnset(''); | ||
| this.stage = stages.unsetHas; | ||
@@ -500,6 +506,6 @@ }, | ||
| unsetHas: { | ||
| ["]"]() { | ||
| [']']() { | ||
| this.stage = stages.modifyEnd; | ||
| }, | ||
| ["|"]() { | ||
| ['|']() { | ||
| this.stage = stages.unsetBegin; | ||
@@ -513,4 +519,4 @@ }, | ||
| }, | ||
| ["#"]() { | ||
| this.doDelete(""); | ||
| ['#']() { | ||
| this.doDelete(''); | ||
| this.stage = stages.deleteHas; | ||
@@ -520,6 +526,6 @@ }, | ||
| deleteHas: { | ||
| ["]"]() { | ||
| [']']() { | ||
| this.stage = stages.modifyEnd; | ||
| }, | ||
| ["|"]() { | ||
| ['|']() { | ||
| this.stage = stages.deleteBegin; | ||
@@ -535,3 +541,3 @@ }, | ||
| insertHasKey: { | ||
| [":"]() { | ||
| [':']() { | ||
| this.stage = stages.insertHasColon; | ||
@@ -548,11 +554,11 @@ this.rawNext = false; | ||
| insertHasValue: { | ||
| [":"]() { | ||
| [':']() { | ||
| this.stage = stages.insertHasColon; | ||
| this.rawNext = false; | ||
| }, | ||
| ["|"]() { | ||
| ['|']() { | ||
| this.commitInsert(); | ||
| this.stage = stages.insertBegin; | ||
| }, | ||
| ["]"]() { | ||
| [']']() { | ||
| this.commitInsert(); | ||
@@ -569,6 +575,6 @@ this.stage = stages.modifyEnd; | ||
| moveHas: { | ||
| ["]"]() { | ||
| [']']() { | ||
| this.stage = stages.modifyEnd; | ||
| }, | ||
| ["|"]() { | ||
| ['|']() { | ||
| this.stage = stages.moveBegin; | ||
@@ -584,7 +590,7 @@ }, | ||
| substituteHas: { | ||
| ["]"]() { | ||
| [']']() { | ||
| this.commitSubstitute(); | ||
| this.stage = stages.modifyEnd; | ||
| }, | ||
| ["|"]() { | ||
| ['|']() { | ||
| this.stage = stages.substituteNext; | ||
@@ -601,3 +607,3 @@ }, | ||
| canPop: true, | ||
| ["["]() { | ||
| ['[']() { | ||
| this.resetPath(); | ||
@@ -612,7 +618,7 @@ return this.continueModify(); | ||
| }, | ||
| ["#"](value) { | ||
| this.enterObjectKey(""); | ||
| ['#'](_value) { | ||
| this.enterObjectKey(''); | ||
| this.stage = stages.assignHasKey; | ||
| }, | ||
| ["["]() { | ||
| ['[']() { | ||
| this.startModify(stages.patchHasModify); | ||
@@ -626,3 +632,3 @@ }, | ||
| }, | ||
| ["#"](value) { | ||
| ['#'](value) { | ||
| this.enterObjectKey(value); | ||
@@ -633,3 +639,3 @@ this.stage = stages.assignHasKey; | ||
| if (this.scopeStack.length > 0) { | ||
| throw new PrePatchError(); | ||
| throw new PrePatchError(null); | ||
| } | ||
@@ -646,14 +652,15 @@ }, | ||
| class Patcher { | ||
| constructor(wdiff, options) { | ||
| constructor(wdiff, _options) { | ||
| this.wdiff = wdiff; | ||
| } | ||
| patchTarget(target, delta) { | ||
| debug("patch: target=%o, delta=%o", target, delta); | ||
| var _a; | ||
| debug('patch: target=%o, delta=%o', target, delta); | ||
| if (delta == null) { | ||
| return; | ||
| } | ||
| let state; | ||
| let state = null; | ||
| try { | ||
| let handler; | ||
| if (delta[0] !== "|") { | ||
| if (delta[0] !== '|') { | ||
| const value = this.wdiff.WSON.parse(delta); | ||
@@ -667,5 +674,6 @@ target.assign(null, value); | ||
| cb(isValue, value, nextPos) { | ||
| while (true) { | ||
| (0, assert_1.default)(state != null); | ||
| for (;;) { | ||
| const { stage } = state; | ||
| debug("patch: stage=%o, isValue=%o, value=%o, nextPos=%o", stage.name, isValue, value, nextPos); | ||
| debug('patch: stage=%o, isValue=%o, value=%o, nextPos=%o', stage.name, isValue, value, nextPos); | ||
| if (isValue) { | ||
@@ -677,3 +685,3 @@ handler = stage.value; | ||
| } | ||
| debug("patch: handler=%o", handler); | ||
| debug('patch: handler=%o', handler); | ||
| if (handler) { | ||
@@ -687,3 +695,3 @@ break; | ||
| handler.call(state, value, nextPos); | ||
| debug("patch: pos=%o, rawNext=%o, skipNext=%o, stage.name=%o", state.pos, state.rawNext, state.skipNext, state.stage ? state.stage.name : undefined); | ||
| debug('patch: pos=%o, rawNext=%o, skipNext=%o, stage.name=%o', state.pos, state.rawNext, state.skipNext, state.stage ? state.stage.name : undefined); | ||
| state.pos = nextPos; | ||
@@ -698,10 +706,7 @@ if (state.skipNext > 0) { | ||
| }, | ||
| backrefCb: (target.get != null) ? | ||
| (refIdx) => target.get(refIdx) | ||
| : | ||
| null, | ||
| backrefCb: target.get != null ? (refIdx) => target.get(refIdx) : null, | ||
| }); | ||
| state.pos = delta.length; | ||
| while (true) { | ||
| debug("patch: done: stage=%o", state.stage.name); | ||
| for (;;) { | ||
| debug('patch: done: stage=%o', state.stage.name); | ||
| handler = state.stage.end; | ||
@@ -713,3 +718,3 @@ if (handler) { | ||
| } | ||
| handler.call(state); | ||
| handler.call(state, null); | ||
| } | ||
@@ -720,6 +725,6 @@ target.done(); | ||
| catch (error) { | ||
| if (error.name === "PrePatchError") { | ||
| throw new PatchError(delta, state.pos, error.cause); | ||
| if (error instanceof PrePatchError) { | ||
| throw new PatchError(delta, (_a = state === null || state === void 0 ? void 0 : state.pos) !== null && _a !== void 0 ? _a : -1, error.cause); | ||
| } | ||
| else if (error.name === "ParseError") { | ||
| else if (error instanceof wson_1.ParseError) { | ||
| throw new PatchError(error.s, error.pos, error.cause); | ||
@@ -726,0 +731,0 @@ } |
+1
-1
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"patch.js","sourceRoot":"","sources":["../src/patch.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"patch.js","sourceRoot":"","sources":["../src/patch.ts"],"names":[],"mappings":"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"} |
@@ -1,2 +0,3 @@ | ||
| import { State } from "./diff"; | ||
| import { State } from './diff'; | ||
| import { Delta } from './types'; | ||
| export declare type Patch = [number, number, string]; | ||
@@ -9,3 +10,3 @@ export declare type StringLimiter = (have: string, wish: string) => number; | ||
| constructor(state: State, have: string, wish: string); | ||
| getDelta(isRoot: boolean): string | null; | ||
| getDelta(isRoot: boolean): Delta; | ||
| } |
+35
-13
| "use strict"; | ||
| var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||
| }) : (function(o, m, k, k2) { | ||
| if (k2 === undefined) k2 = k; | ||
| o[k2] = m[k]; | ||
| })); | ||
| var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
| Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
| }) : function(o, v) { | ||
| o["default"] = v; | ||
| }); | ||
| var __importStar = (this && this.__importStar) || function (mod) { | ||
| if (mod && mod.__esModule) return mod; | ||
| var result = {}; | ||
| if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
| __setModuleDefault(result, mod); | ||
| return result; | ||
| }; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.StringDiff = void 0; | ||
| const _ = require("lodash"); | ||
| const debug_1 = require("debug"); | ||
| const mdiff_1 = require("mdiff"); | ||
| const debug = debug_1.default("wson-diff:string-diff"); | ||
| const _ = __importStar(require("lodash")); | ||
| const debug_1 = __importDefault(require("debug")); | ||
| const mdiff_1 = __importDefault(require("mdiff")); | ||
| const debug = (0, debug_1.default)('wson-diff:string-diff'); | ||
| class StringDiff { | ||
| constructor(state, have, wish) { | ||
| this.patches = []; | ||
| function scanCb(haveBegin, haveEnd, wishBegin, wishEnd) { | ||
| debug('scan: %o..%o %o..%o', haveBegin, haveEnd, wishBegin, wishEnd); | ||
| patches.push([haveBegin, haveEnd - haveBegin, wish.slice(wishBegin, wishEnd)]); | ||
| } | ||
| this.state = state; | ||
@@ -22,6 +48,2 @@ const patches = []; | ||
| } | ||
| function scanCb(haveBegin, haveEnd, wishBegin, wishEnd) { | ||
| debug("scan: %o..%o %o..%o", haveBegin, haveEnd, wishBegin, wishEnd); | ||
| patches.push([haveBegin, haveEnd - haveBegin, wish.slice(wishBegin, wishEnd)]); | ||
| } | ||
| let limit = this.state.differ.stringLimit; | ||
@@ -31,4 +53,4 @@ if (_.isFunction(limit)) { | ||
| } | ||
| const diffLen = mdiff_1.default(have, wish).scanDiff(scanCb, limit); | ||
| this.aborted = (diffLen == null); | ||
| const diffLen = (0, mdiff_1.default)(have, wish).scanDiff(scanCb, limit); | ||
| this.aborted = diffLen == null; | ||
| } | ||
@@ -43,3 +65,3 @@ this.patches = patches; | ||
| const { WSON } = this.state.differ.wdiff; | ||
| let delta = isRoot ? "|[s" : "[s"; | ||
| let delta = isRoot ? '|[s' : '[s'; | ||
| for (let patchIdx = 0; patchIdx < patches.length; patchIdx++) { | ||
@@ -49,3 +71,3 @@ const patch = patches[patchIdx]; | ||
| if (patchIdx > 0) { | ||
| delta += "|"; | ||
| delta += '|'; | ||
| } | ||
@@ -64,3 +86,3 @@ delta += ofs; | ||
| } | ||
| delta += "]"; | ||
| delta += ']'; | ||
| return delta; | ||
@@ -67,0 +89,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"string-diff.js","sourceRoot":"","sources":["../src/string-diff.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"string-diff.js","sourceRoot":"","sources":["../src/string-diff.ts"],"names":[],"mappings":"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"} |
+5
-4
@@ -0,14 +1,15 @@ | ||
| import { AnyArray, Value } from './types'; | ||
| export declare type Key = string | number | null; | ||
| export declare type Patch = [number, number, string]; | ||
| export interface Target { | ||
| get(up?: number): any; | ||
| get(up?: number): Value; | ||
| budge(up: number, key: Key): void; | ||
| unset(key: string): void; | ||
| assign(key: string | null, value: any): void; | ||
| assign(key: string | null, value: Value): void; | ||
| delete(idx: number, len: number): void; | ||
| move(srcIdx: number, dstIdx: number, len: number, reverse: boolean): void; | ||
| insert(idx: number, values: any[]): void; | ||
| replace(idx: number, values: any[]): void; | ||
| insert(idx: number, values: AnyArray): void; | ||
| replace(idx: number, values: AnyArray): void; | ||
| substitute(patches: Patch[]): void; | ||
| done(): void; | ||
| } |
+5
-2
| "use strict"; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| const debug_1 = require("debug"); | ||
| const debug = debug_1.default("wson-diff:target"); | ||
| const debug_1 = __importDefault(require("debug")); | ||
| const _debug = (0, debug_1.default)('wson-diff:target'); | ||
| //# sourceMappingURL=target.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"target.js","sourceRoot":"","sources":["../src/target.ts"],"names":[],"mappings":";;AAAA,iCAAgC;AAEhC,MAAM,KAAK,GAAG,eAAY,CAAC,kBAAkB,CAAC,CAAA"} | ||
| {"version":3,"file":"target.js","sourceRoot":"","sources":["../src/target.ts"],"names":[],"mappings":";;;;;AAAA,kDAAiC;AAGjC,MAAM,MAAM,GAAG,IAAA,eAAY,EAAC,kBAAkB,CAAC,CAAC"} |
+15
-14
@@ -1,26 +0,27 @@ | ||
| import { Wson } from "wson"; | ||
| import { NotifierTarget } from "./notifier-target"; | ||
| import { Key, Patch, Target } from "./target"; | ||
| import { Wson } from 'wson'; | ||
| import { NotifierTarget } from './notifier-target'; | ||
| import { Key, Patch, Target } from './target'; | ||
| import { AnyArray, AnyRecord, Value } from './types'; | ||
| export declare class ValueTarget implements Target { | ||
| WSON: Wson; | ||
| root: any; | ||
| current: any; | ||
| stack: any[]; | ||
| topKey: any; | ||
| root: Value; | ||
| current: Value; | ||
| stack: AnyRecord[]; | ||
| topKey: Key; | ||
| subTarget: NotifierTarget | null; | ||
| constructor(WSON: Wson, root: any); | ||
| constructor(WSON: Wson, root: Value); | ||
| setSubTarget(subTarget: NotifierTarget | null): void; | ||
| put_(key: string | null, value: any): void; | ||
| put_(key: Key, value: Value): void; | ||
| closeObjects_(tillIdx: number): void; | ||
| get(up: number): any; | ||
| get(up: number): Value; | ||
| budge(up: number, key: Key): void; | ||
| unset(key: string): void; | ||
| assign(key: string | null, value: any): void; | ||
| assign(key: Key, value: Value): void; | ||
| delete(idx: number, len: number): void; | ||
| move(srcIdx: number, dstIdx: number, len: number, reverse: boolean): void; | ||
| insert(idx: number, values: any[]): void; | ||
| replace(idx: number, values: any[]): void; | ||
| insert(idx: number, values: AnyArray): void; | ||
| replace(idx: number, values: AnyArray): void; | ||
| substitute(patches: Patch[]): void; | ||
| done(): void; | ||
| getRoot(): any; | ||
| getRoot(): Value; | ||
| } |
+40
-30
| "use strict"; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.ValueTarget = void 0; | ||
| const debug_1 = require("debug"); | ||
| const debug = debug_1.default("wson-diff:value-target"); | ||
| const assert_1 = __importDefault(require("assert")); | ||
| const debug_1 = __importDefault(require("debug")); | ||
| const debug = (0, debug_1.default)('wson-diff:value-target'); | ||
| class ValueTarget { | ||
@@ -28,2 +32,3 @@ constructor(WSON, root) { | ||
| else { | ||
| (0, assert_1.default)(this.topKey != null); | ||
| stack[stack.length - 1][this.topKey] = value; | ||
@@ -37,9 +42,12 @@ } | ||
| let idx = stack.length; | ||
| while (true) { | ||
| debug("closeObjects_ %o", value); | ||
| if (typeof value === "object" && (value.constructor != null) && value.constructor !== Object) { | ||
| for (;;) { | ||
| debug('closeObjects_ %o', value); | ||
| if (typeof value === 'object' && value.constructor != null && value.constructor !== Object) { | ||
| const connector = this.WSON.connectorOfValue(value); | ||
| debug("closeObjects_ connector=%o", connector); | ||
| if (connector && connector.postpatch) { | ||
| connector.postpatch(value); | ||
| debug('closeObjects_ connector=%o', connector); | ||
| if (connector) { | ||
| const { postpatch } = connector; | ||
| if (postpatch) { | ||
| postpatch(value); | ||
| } | ||
| } | ||
@@ -54,3 +62,3 @@ } | ||
| get(up) { | ||
| if ((up == null) || up <= 0) { | ||
| if (up == null || up <= 0) { | ||
| return this.current; | ||
@@ -64,4 +72,4 @@ } | ||
| budge(up, key) { | ||
| debug("budge(up=%o key=%o)", up, key); | ||
| debug("budge: stack=%o current=%o", this.stack, this.current); | ||
| debug('budge(up=%o key=%o)', up, key); | ||
| debug('budge: stack=%o current=%o', this.stack, this.current); | ||
| const { stack } = this; | ||
@@ -89,3 +97,3 @@ let current; | ||
| unset(key) { | ||
| debug("unset(key=%o) @current=%o", key, this.current); | ||
| debug('unset(key=%o) @current=%o', key, this.current); | ||
| if (this.subTarget) { | ||
@@ -97,3 +105,3 @@ this.subTarget.unset(key); | ||
| assign(key, value) { | ||
| debug("assign(key=%o value=%o)", key, value); | ||
| debug('assign(key=%o value=%o)', key, value); | ||
| if (this.subTarget) { | ||
@@ -105,3 +113,3 @@ this.subTarget.assign(key, value); | ||
| delete(idx, len) { | ||
| debug("delete(idx=%o len=%o) @current=%o", idx, len, this.current); | ||
| debug('delete(idx=%o len=%o) @current=%o', idx, len, this.current); | ||
| if (this.subTarget) { | ||
@@ -113,7 +121,7 @@ this.subTarget.delete(idx, len); | ||
| move(srcIdx, dstIdx, len, reverse) { | ||
| debug("move(srcIdx=%o dstIdx=%o len=%o reverse=%o)", srcIdx, dstIdx, len, reverse); | ||
| debug('move(srcIdx=%o dstIdx=%o len=%o reverse=%o)', srcIdx, dstIdx, len, reverse); | ||
| if (this.subTarget) { | ||
| this.subTarget.move(srcIdx, dstIdx, len, reverse); | ||
| } | ||
| const { current } = this; | ||
| const current = this.current; | ||
| const chunk = current.splice(srcIdx, len); | ||
@@ -123,3 +131,3 @@ if (reverse) { | ||
| } | ||
| current.splice.apply(current, [dstIdx, 0].concat(chunk)); | ||
| current.splice(dstIdx, 0, ...chunk); | ||
| } | ||
@@ -130,7 +138,7 @@ insert(idx, values) { | ||
| } | ||
| const { current } = this; | ||
| current.splice.apply(current, [idx, 0].concat(values)); | ||
| const current = this.current; | ||
| current.splice(idx, 0, ...values); | ||
| } | ||
| replace(idx, values) { | ||
| debug("replace(idx=%o, values=%o)", idx, values); | ||
| debug('replace(idx=%o, values=%o)', idx, values); | ||
| if (this.subTarget) { | ||
@@ -143,5 +151,5 @@ this.subTarget.replace(idx, values); | ||
| } | ||
| const { current } = this; | ||
| const current = this.current; | ||
| let valuesIdx = 0; | ||
| while (true) { | ||
| for (;;) { | ||
| current[idx] = values[valuesIdx]; | ||
@@ -157,8 +165,8 @@ if (++valuesIdx === valuesLen) { | ||
| substitute(patches) { | ||
| debug("substitute(patches=%o)", patches); | ||
| debug('substitute(patches=%o)', patches); | ||
| if (this.subTarget) { | ||
| this.subTarget.substitute(patches); | ||
| } | ||
| const { current } = this; | ||
| let result = ""; | ||
| const current = this.current; | ||
| let result = ''; | ||
| let endOfs = 0; | ||
@@ -174,4 +182,4 @@ for (const patch of patches) { | ||
| } | ||
| endOfs = (ofs + strLen) - lenDiff; | ||
| debug("substitute: patch=%o result=%o", patch, result); | ||
| endOfs = ofs + strLen - lenDiff; | ||
| debug('substitute: patch=%o result=%o', patch, result); | ||
| } | ||
@@ -181,7 +189,7 @@ if (current.length > endOfs) { | ||
| } | ||
| debug("substitute: result=%o", result); | ||
| debug('substitute: result=%o', result); | ||
| this.put_(null, result); | ||
| } | ||
| done() { | ||
| debug("done: stack=%o current=%o", this.stack, this.current); | ||
| debug('done: stack=%o current=%o', this.stack, this.current); | ||
| if (this.subTarget) { | ||
@@ -192,5 +200,7 @@ this.subTarget.done(); | ||
| } | ||
| getRoot() { return this.root; } | ||
| getRoot() { | ||
| return this.root; | ||
| } | ||
| } | ||
| exports.ValueTarget = ValueTarget; | ||
| //# sourceMappingURL=value-target.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"value-target.js","sourceRoot":"","sources":["../src/value-target.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"value-target.js","sourceRoot":"","sources":["../src/value-target.ts"],"names":[],"mappings":"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"} |
+13
-11
@@ -1,14 +0,16 @@ | ||
| import { Wson } from "wson"; | ||
| import { Differ } from "./diff"; | ||
| import { Delta, Patcher } from "./patch"; | ||
| import { Target } from "./target"; | ||
| import { Wson } from 'wson'; | ||
| import { Delta, Value } from './types'; | ||
| import { Differ } from './diff'; | ||
| import { Patcher } from './patch'; | ||
| import { Target } from './target'; | ||
| import { DiffOptions, PatchOptions } from './options'; | ||
| export declare class WsonDiff { | ||
| options: DiffOptions; | ||
| WSON: Wson; | ||
| options: any; | ||
| constructor(options?: any); | ||
| createPatcher(options?: any): Patcher; | ||
| createDiffer(options?: any): Differ; | ||
| diff(have: any, wish: any, options: any): string | null | undefined; | ||
| patch(have: any, delta: Delta, options: any): any; | ||
| patchTarget(target: Target, delta: Delta, options: any): void; | ||
| constructor(options?: DiffOptions); | ||
| createPatcher(options?: PatchOptions): Patcher; | ||
| createDiffer(options?: DiffOptions): Differ; | ||
| diff(have: Value, wish: Value, options: DiffOptions): string | undefined | null; | ||
| patch(have: Value, delta: Delta, options: DiffOptions): Value; | ||
| patchTarget(target: Target, delta: Delta, options: DiffOptions): Value; | ||
| } |
+8
-5
| "use strict"; | ||
| var __importDefault = (this && this.__importDefault) || function (mod) { | ||
| return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
| }; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.WsonDiff = void 0; | ||
| const debug_1 = require("debug"); | ||
| const wson_1 = require("wson"); | ||
| const debug_1 = __importDefault(require("debug")); | ||
| const wson_1 = __importDefault(require("wson")); | ||
| const diff_1 = require("./diff"); | ||
| const patch_1 = require("./patch"); | ||
| const debug = debug_1.default("wson-diff:wson-diff"); | ||
| const _debug = (0, debug_1.default)('wson-diff:wson-diff'); | ||
| class WsonDiff { | ||
| constructor(options = {}) { | ||
| this.options = options; | ||
| let { WSON } = options; | ||
| if (WSON == null) { | ||
| WSON = wson_1.default(options.wsonOptions); | ||
| WSON = (0, wson_1.default)(options.wsonOptions); | ||
| } | ||
| this.WSON = WSON; | ||
| this.options = options; | ||
| } | ||
@@ -18,0 +21,0 @@ createPatcher(options = {}) { |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"wson-diff.js","sourceRoot":"","sources":["../src/wson-diff.ts"],"names":[],"mappings":";;;AACA,iCAAgC;AAChC,+BAAwC;AAExC,iCAA+B;AAC/B,mCAAwC;AAGxC,MAAM,KAAK,GAAG,eAAY,CAAC,qBAAqB,CAAC,CAAA;AAEjD,MAAa,QAAQ;IAKnB,YAAY,UAAe,EAAE;QAC3B,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAA;QACtB,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,IAAI,GAAG,cAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;SACxC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEM,aAAa,CAAC,UAAe,EAAE;QACpC,OAAO,IAAI,eAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACnC,CAAC;IAEM,YAAY,CAAC,UAAe,EAAE;QACnC,OAAO,IAAI,aAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC;IAEM,IAAI,CAAC,IAAS,EAAE,IAAS,EAAE,OAAY;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QACzC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAChC,CAAC;IAEM,KAAK,CAAC,IAAS,EAAE,KAAY,EAAE,OAAY;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAC3C,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IAC5E,CAAC;IAEM,WAAW,CAAC,MAAc,EAAE,KAAY,EAAE,OAAY;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAC3C,OAAO,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC3C,CAAC;CACF;AApCD,4BAoCC"} | ||
| {"version":3,"file":"wson-diff.js","sourceRoot":"","sources":["../src/wson-diff.ts"],"names":[],"mappings":";;;;;;AACA,kDAAiC;AACjC,gDAAyC;AAGzC,iCAAgC;AAChC,mCAAkC;AAIlC,MAAM,MAAM,GAAG,IAAA,eAAY,EAAC,qBAAqB,CAAC,CAAC;AAEnD,MAAa,QAAQ;IAGnB,YAAmB,UAAuB,EAAE;QAAzB,YAAO,GAAP,OAAO,CAAkB;QAC1C,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QACvB,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,IAAI,GAAG,IAAA,cAAW,EAAC,OAAO,CAAC,WAAW,CAAC,CAAC;SACzC;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,aAAa,CAAC,UAAwB,EAAE;QAC7C,OAAO,IAAI,eAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAEM,YAAY,CAAC,UAAuB,EAAE;QAC3C,OAAO,IAAI,aAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAEM,IAAI,CAAC,IAAW,EAAE,IAAW,EAAE,OAAoB;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,IAAW,EAAE,KAAY,EAAE,OAAoB;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC7E,CAAC;IAEM,WAAW,CAAC,MAAc,EAAE,KAAY,EAAE,OAAoB;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC5C,OAAO,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;CACF;AAjCD,4BAiCC"} |
+27
-20
| { | ||
| "name": "wson-diff", | ||
| "version": "1.4.0", | ||
| "version": "2.10.1", | ||
| "description": "Object diff and patch", | ||
@@ -8,6 +8,8 @@ "main": "./lib", | ||
| "scripts": { | ||
| "test": "mocha --require ts-node/register --extension ts", | ||
| "lint": "tslint \"src/**/*.ts\" \"test/**/*.ts\"", | ||
| "build": "tsc", | ||
| "prepublishOnly": "npm test && npm run lint && npm run build" | ||
| "build-lib": "tsc", | ||
| "build": "npm run build-lib", | ||
| "lint": "eslint src/**/*.ts test/**/*.ts", | ||
| "prettify": "prettier -w src/**/* test/**/*", | ||
| "prepublishOnly": "npm test && npm run lint && npm run build", | ||
| "test": "mocha --require ts-node/register --extension ts" | ||
| }, | ||
@@ -32,20 +34,25 @@ "keywords": [ | ||
| "devDependencies": { | ||
| "@types/chai": "^4.2.12", | ||
| "@types/mocha": "^8.0.3", | ||
| "@types/node": "^14.6.0", | ||
| "chai": "^4.2.0", | ||
| "mocha": "^8.1.1", | ||
| "ts-node": "^8.10.2", | ||
| "tslint": "^6.1.3", | ||
| "typescript": "^3.9.7", | ||
| "wson-addon": "^2.7.1" | ||
| "@types/chai": "^4.3.0", | ||
| "@types/debug": "^4.1.7", | ||
| "@types/lodash": "^4.14.178", | ||
| "@types/mocha": "^9.1.0", | ||
| "@types/node": "^17.0.14", | ||
| "@typescript-eslint/eslint-plugin": "^5.10.2", | ||
| "@typescript-eslint/parser": "^5.10.2", | ||
| "chai": "^4.3.6", | ||
| "eslint": "^8.8.0", | ||
| "eslint-config-prettier": "^8.3.0", | ||
| "eslint-plugin-prettier": "^4.0.0", | ||
| "mocha": "^9.2.0", | ||
| "ts-node": "^10.4.0", | ||
| "typescript": "^4.5.5", | ||
| "wson-addon": "^2.10.0" | ||
| }, | ||
| "dependencies": { | ||
| "@types/debug": "^4.1.5", | ||
| "@types/lodash": "^4.14.159", | ||
| "debug": "^4.1.1", | ||
| "lodash": "^4.17.20", | ||
| "mdiff": "^1.3.1", | ||
| "wson": "^2.8.2" | ||
| "assert": "^2.0.0", | ||
| "debug": "^4.3.3", | ||
| "lodash": "^4.17.21", | ||
| "mdiff": "^1.4.2", | ||
| "wson": "^2.10.1" | ||
| } | ||
| } |
+0
-3
| # wson-diff | ||
| [](https://www.npmjs.com/package/wson-diff) | ||
| [](https://travis-ci.org/tapirdata/wson-diff) | ||
| [](https://david-dm.org/tapirdata/wson-diff) | ||
| [](https://david-dm.org/tapirdata/wson-diff#info=devDependencies) | ||
| > A differ/patcher for arbitrary values that presents delta in a terse WSON-like format. | ||
@@ -8,0 +5,0 @@ |
+20
-10
| { | ||
| "compilerOptions": { | ||
| "allowSyntheticDefaultImports": true, | ||
| "allowUnreachableCode": false, | ||
| "allowUnusedLabels": false, | ||
| "declaration": true, | ||
| "emitDecoratorMetadata": true, | ||
| "esModuleInterop": true, | ||
| "experimentalDecorators": true, | ||
| "forceConsistentCasingInFileNames": true, | ||
| "jsx": "react", | ||
| "lib": ["es2016", "dom"], | ||
| "module": "commonjs", | ||
| "noEmitOnError": true, | ||
| "noFallthroughCasesInSwitch": true, | ||
| "noImplicitReturns": true, | ||
| "outDir": "lib", | ||
| "target": "es2016", | ||
| "module": "commonjs", | ||
| "noImplicitAny": true, | ||
| "pretty": true, | ||
| "resolveJsonModule": true, | ||
| "sourceMap": true, | ||
| "strict": true, | ||
| "sourceMap": true, | ||
| "declaration": true, | ||
| "typeRoots": [ | ||
| "./@types", | ||
| "./node_modules/@types" | ||
| ] | ||
| "target": "es2016" | ||
| }, | ||
| "include": [ | ||
| "src/**/*.ts" | ||
| "src/**/*" | ||
| ] | ||
| } | ||
-53
| import * as _ from "lodash" | ||
| import { Connector } from "wson" | ||
| import addon from "wson-addon" | ||
| import { Item } from "./test/fixtures/patch-items" | ||
| import wdiffFactory from "./src" | ||
| const connectors: Record<string, Connector<any>> = {}; | ||
| const setups = [ | ||
| { | ||
| name: "basic", | ||
| options: { | ||
| wsonOptions: { | ||
| connectors, | ||
| }, | ||
| }, | ||
| }, | ||
| { | ||
| name: "native", | ||
| options: { | ||
| wsonOptions: { | ||
| connectors, | ||
| addon, | ||
| }, | ||
| }, | ||
| }, | ||
| ] | ||
| const items: Item[] = [ | ||
| /* | ||
| { | ||
| have: {foo: "FOO", bar: "BAR"}, | ||
| delta: "|foo:FU|baz:BAZ", | ||
| wish: {foo: "FU", bar: "BAR", baz: "BAZ"}, | ||
| }, | ||
| */ | ||
| { | ||
| have: {foo: "FOO", bar: "BAR"}, | ||
| delta: "|#:BAZ", | ||
| wish: {"foo": "FOO", "bar": "BAR", "": "BAZ"}, | ||
| }, | ||
| ] | ||
| for (const { patchOptions, have, delta, wish } of items) { | ||
| for (const setup of setups) { | ||
| const wdiff = wdiffFactory(setup.options) | ||
| console.log(`${setup.name}:`) | ||
| const patcher = wdiff.createPatcher(patchOptions) | ||
| const result = patcher.patch(_.cloneDeep(have), delta); | ||
| console.log(' have=', have, 'delta=', delta, 'wish=', wish, '\n result=', result) | ||
| } | ||
| } |
-13
| { | ||
| "defaultSeverity": "error", | ||
| "extends": [ | ||
| "tslint:recommended" | ||
| ], | ||
| "jsRules": {}, | ||
| "rules": { | ||
| "interface-name": false, | ||
| "object-literal-sort-keys": false, | ||
| "semicolon": [true, "never"] | ||
| }, | ||
| "rulesDirectory": [] | ||
| } |
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
172047
4.44%5
-16.67%53
17.78%2468
4.89%0
-100%15
66.67%354
-0.84%+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
- Removed
- Removed
- Removed
- Removed
- Removed
Updated
Updated
Updated
Updated