create-leo-app 0.7.3 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/index.mjs +38 -38
- package/package.json +5 -7
- package/template-extension/package.json +4 -4
- package/template-nextjs-ts/package.json +9 -9
- package/template-node/package.json +2 -2
- package/template-node-ts/package.json +5 -5
- package/template-offline-public-transaction-ts/package.json +5 -5
- package/template-react-leo/README.md +3 -8
- package/template-react-leo/package.json +23 -23
- package/template-react-leo/vite.config.js +2 -1
- package/template-react-managed-worker/README.md +1 -3
- package/template-react-managed-worker/package.json +22 -22
- package/template-react-managed-worker/vite.config.js +2 -1
- package/template-react-ts/README.md +3 -8
- package/template-react-ts/package.json +28 -28
- package/template-react-ts/vite.config.ts +2 -1
- package/template-vanilla/package.json +3 -3
- package/template-vanilla/vite.config.js +3 -1
- package/template-nextjs-ts/node_modules/@types/node/LICENSE +0 -21
- package/template-nextjs-ts/node_modules/@types/node/README.md +0 -15
- package/template-nextjs-ts/node_modules/@types/node/assert/strict.d.ts +0 -8
- package/template-nextjs-ts/node_modules/@types/node/assert.d.ts +0 -1040
- package/template-nextjs-ts/node_modules/@types/node/async_hooks.d.ts +0 -541
- package/template-nextjs-ts/node_modules/@types/node/buffer.d.ts +0 -2301
- package/template-nextjs-ts/node_modules/@types/node/child_process.d.ts +0 -1544
- package/template-nextjs-ts/node_modules/@types/node/cluster.d.ts +0 -578
- package/template-nextjs-ts/node_modules/@types/node/console.d.ts +0 -452
- package/template-nextjs-ts/node_modules/@types/node/constants.d.ts +0 -19
- package/template-nextjs-ts/node_modules/@types/node/crypto.d.ts +0 -4524
- package/template-nextjs-ts/node_modules/@types/node/dgram.d.ts +0 -596
- package/template-nextjs-ts/node_modules/@types/node/diagnostics_channel.d.ts +0 -554
- package/template-nextjs-ts/node_modules/@types/node/dns/promises.d.ts +0 -476
- package/template-nextjs-ts/node_modules/@types/node/dns.d.ts +0 -864
- package/template-nextjs-ts/node_modules/@types/node/dom-events.d.ts +0 -124
- package/template-nextjs-ts/node_modules/@types/node/domain.d.ts +0 -170
- package/template-nextjs-ts/node_modules/@types/node/events.d.ts +0 -931
- package/template-nextjs-ts/node_modules/@types/node/fs/promises.d.ts +0 -1245
- package/template-nextjs-ts/node_modules/@types/node/fs.d.ts +0 -4317
- package/template-nextjs-ts/node_modules/@types/node/globals.d.ts +0 -503
- package/template-nextjs-ts/node_modules/@types/node/globals.global.d.ts +0 -1
- package/template-nextjs-ts/node_modules/@types/node/http.d.ts +0 -1908
- package/template-nextjs-ts/node_modules/@types/node/http2.d.ts +0 -2418
- package/template-nextjs-ts/node_modules/@types/node/https.d.ts +0 -550
- package/template-nextjs-ts/node_modules/@types/node/index.d.ts +0 -89
- package/template-nextjs-ts/node_modules/@types/node/inspector.d.ts +0 -3696
- package/template-nextjs-ts/node_modules/@types/node/module.d.ts +0 -315
- package/template-nextjs-ts/node_modules/@types/node/net.d.ts +0 -999
- package/template-nextjs-ts/node_modules/@types/node/os.d.ts +0 -495
- package/template-nextjs-ts/node_modules/@types/node/package.json +0 -217
- package/template-nextjs-ts/node_modules/@types/node/path.d.ts +0 -191
- package/template-nextjs-ts/node_modules/@types/node/perf_hooks.d.ts +0 -934
- package/template-nextjs-ts/node_modules/@types/node/process.d.ts +0 -1879
- package/template-nextjs-ts/node_modules/@types/node/punycode.d.ts +0 -117
- package/template-nextjs-ts/node_modules/@types/node/querystring.d.ts +0 -153
- package/template-nextjs-ts/node_modules/@types/node/readline/promises.d.ts +0 -150
- package/template-nextjs-ts/node_modules/@types/node/readline.d.ts +0 -540
- package/template-nextjs-ts/node_modules/@types/node/repl.d.ts +0 -430
- package/template-nextjs-ts/node_modules/@types/node/sea.d.ts +0 -153
- package/template-nextjs-ts/node_modules/@types/node/stream/consumers.d.ts +0 -12
- package/template-nextjs-ts/node_modules/@types/node/stream/promises.d.ts +0 -83
- package/template-nextjs-ts/node_modules/@types/node/stream/web.d.ts +0 -521
- package/template-nextjs-ts/node_modules/@types/node/stream.d.ts +0 -1707
- package/template-nextjs-ts/node_modules/@types/node/string_decoder.d.ts +0 -67
- package/template-nextjs-ts/node_modules/@types/node/test.d.ts +0 -1874
- package/template-nextjs-ts/node_modules/@types/node/timers/promises.d.ts +0 -97
- package/template-nextjs-ts/node_modules/@types/node/timers.d.ts +0 -240
- package/template-nextjs-ts/node_modules/@types/node/tls.d.ts +0 -1217
- package/template-nextjs-ts/node_modules/@types/node/trace_events.d.ts +0 -197
- package/template-nextjs-ts/node_modules/@types/node/tty.d.ts +0 -208
- package/template-nextjs-ts/node_modules/@types/node/url.d.ts +0 -952
- package/template-nextjs-ts/node_modules/@types/node/util.d.ts +0 -2298
- package/template-nextjs-ts/node_modules/@types/node/v8.d.ts +0 -808
- package/template-nextjs-ts/node_modules/@types/node/vm.d.ts +0 -924
- package/template-nextjs-ts/node_modules/@types/node/wasi.d.ts +0 -181
- package/template-nextjs-ts/node_modules/@types/node/worker_threads.d.ts +0 -694
- package/template-nextjs-ts/node_modules/@types/node/zlib.d.ts +0 -539
- package/template-react-ts/node_modules/@types/node/LICENSE +0 -21
- package/template-react-ts/node_modules/@types/node/README.md +0 -15
- package/template-react-ts/node_modules/@types/node/assert/strict.d.ts +0 -8
- package/template-react-ts/node_modules/@types/node/assert.d.ts +0 -1040
- package/template-react-ts/node_modules/@types/node/async_hooks.d.ts +0 -541
- package/template-react-ts/node_modules/@types/node/buffer.d.ts +0 -2301
- package/template-react-ts/node_modules/@types/node/child_process.d.ts +0 -1544
- package/template-react-ts/node_modules/@types/node/cluster.d.ts +0 -578
- package/template-react-ts/node_modules/@types/node/console.d.ts +0 -452
- package/template-react-ts/node_modules/@types/node/constants.d.ts +0 -19
- package/template-react-ts/node_modules/@types/node/crypto.d.ts +0 -4524
- package/template-react-ts/node_modules/@types/node/dgram.d.ts +0 -596
- package/template-react-ts/node_modules/@types/node/diagnostics_channel.d.ts +0 -554
- package/template-react-ts/node_modules/@types/node/dns/promises.d.ts +0 -476
- package/template-react-ts/node_modules/@types/node/dns.d.ts +0 -864
- package/template-react-ts/node_modules/@types/node/dom-events.d.ts +0 -124
- package/template-react-ts/node_modules/@types/node/domain.d.ts +0 -170
- package/template-react-ts/node_modules/@types/node/events.d.ts +0 -931
- package/template-react-ts/node_modules/@types/node/fs/promises.d.ts +0 -1245
- package/template-react-ts/node_modules/@types/node/fs.d.ts +0 -4317
- package/template-react-ts/node_modules/@types/node/globals.d.ts +0 -503
- package/template-react-ts/node_modules/@types/node/globals.global.d.ts +0 -1
- package/template-react-ts/node_modules/@types/node/http.d.ts +0 -1908
- package/template-react-ts/node_modules/@types/node/http2.d.ts +0 -2418
- package/template-react-ts/node_modules/@types/node/https.d.ts +0 -550
- package/template-react-ts/node_modules/@types/node/index.d.ts +0 -89
- package/template-react-ts/node_modules/@types/node/inspector.d.ts +0 -3696
- package/template-react-ts/node_modules/@types/node/module.d.ts +0 -315
- package/template-react-ts/node_modules/@types/node/net.d.ts +0 -999
- package/template-react-ts/node_modules/@types/node/os.d.ts +0 -495
- package/template-react-ts/node_modules/@types/node/package.json +0 -217
- package/template-react-ts/node_modules/@types/node/path.d.ts +0 -191
- package/template-react-ts/node_modules/@types/node/perf_hooks.d.ts +0 -934
- package/template-react-ts/node_modules/@types/node/process.d.ts +0 -1879
- package/template-react-ts/node_modules/@types/node/punycode.d.ts +0 -117
- package/template-react-ts/node_modules/@types/node/querystring.d.ts +0 -153
- package/template-react-ts/node_modules/@types/node/readline/promises.d.ts +0 -150
- package/template-react-ts/node_modules/@types/node/readline.d.ts +0 -540
- package/template-react-ts/node_modules/@types/node/repl.d.ts +0 -430
- package/template-react-ts/node_modules/@types/node/sea.d.ts +0 -153
- package/template-react-ts/node_modules/@types/node/stream/consumers.d.ts +0 -12
- package/template-react-ts/node_modules/@types/node/stream/promises.d.ts +0 -83
- package/template-react-ts/node_modules/@types/node/stream/web.d.ts +0 -521
- package/template-react-ts/node_modules/@types/node/stream.d.ts +0 -1707
- package/template-react-ts/node_modules/@types/node/string_decoder.d.ts +0 -67
- package/template-react-ts/node_modules/@types/node/test.d.ts +0 -1874
- package/template-react-ts/node_modules/@types/node/timers/promises.d.ts +0 -97
- package/template-react-ts/node_modules/@types/node/timers.d.ts +0 -240
- package/template-react-ts/node_modules/@types/node/tls.d.ts +0 -1217
- package/template-react-ts/node_modules/@types/node/trace_events.d.ts +0 -197
- package/template-react-ts/node_modules/@types/node/tty.d.ts +0 -208
- package/template-react-ts/node_modules/@types/node/url.d.ts +0 -952
- package/template-react-ts/node_modules/@types/node/util.d.ts +0 -2298
- package/template-react-ts/node_modules/@types/node/v8.d.ts +0 -808
- package/template-react-ts/node_modules/@types/node/vm.d.ts +0 -924
- package/template-react-ts/node_modules/@types/node/wasi.d.ts +0 -181
- package/template-react-ts/node_modules/@types/node/worker_threads.d.ts +0 -694
- package/template-react-ts/node_modules/@types/node/zlib.d.ts +0 -539
- package/template-react-ts/node_modules/diff/CONTRIBUTING.md +0 -39
- package/template-react-ts/node_modules/diff/LICENSE +0 -31
- package/template-react-ts/node_modules/diff/README.md +0 -207
- package/template-react-ts/node_modules/diff/dist/diff.js +0 -1585
- package/template-react-ts/node_modules/diff/dist/diff.min.js +0 -38
- package/template-react-ts/node_modules/diff/lib/convert/dmp.js +0 -32
- package/template-react-ts/node_modules/diff/lib/convert/xml.js +0 -42
- package/template-react-ts/node_modules/diff/lib/diff/array.js +0 -45
- package/template-react-ts/node_modules/diff/lib/diff/base.js +0 -304
- package/template-react-ts/node_modules/diff/lib/diff/character.js +0 -37
- package/template-react-ts/node_modules/diff/lib/diff/css.js +0 -41
- package/template-react-ts/node_modules/diff/lib/diff/json.js +0 -163
- package/template-react-ts/node_modules/diff/lib/diff/line.js +0 -89
- package/template-react-ts/node_modules/diff/lib/diff/sentence.js +0 -41
- package/template-react-ts/node_modules/diff/lib/diff/word.js +0 -107
- package/template-react-ts/node_modules/diff/lib/index.es6.js +0 -1519
- package/template-react-ts/node_modules/diff/lib/index.js +0 -216
- package/template-react-ts/node_modules/diff/lib/patch/apply.js +0 -243
- package/template-react-ts/node_modules/diff/lib/patch/create.js +0 -247
- package/template-react-ts/node_modules/diff/lib/patch/merge.js +0 -609
- package/template-react-ts/node_modules/diff/lib/patch/parse.js +0 -156
- package/template-react-ts/node_modules/diff/lib/util/array.js +0 -32
- package/template-react-ts/node_modules/diff/lib/util/distance-iterator.js +0 -57
- package/template-react-ts/node_modules/diff/lib/util/params.js +0 -24
- package/template-react-ts/node_modules/diff/package.json +0 -73
- package/template-react-ts/node_modules/diff/release-notes.md +0 -261
- package/template-react-ts/node_modules/diff/runtime.js +0 -3
- package/template-react-ts/node_modules/ts-node/LICENSE +0 -21
- package/template-react-ts/node_modules/ts-node/README.md +0 -1442
- package/template-react-ts/node_modules/ts-node/child-loader.mjs +0 -8
- package/template-react-ts/node_modules/ts-node/dist/bin-cwd.d.ts +0 -2
- package/template-react-ts/node_modules/ts-node/dist/bin-cwd.js +0 -6
- package/template-react-ts/node_modules/ts-node/dist/bin-cwd.js.map +0 -1
- package/template-react-ts/node_modules/ts-node/dist/bin-esm.d.ts +0 -2
- package/template-react-ts/node_modules/ts-node/dist/bin-esm.js +0 -6
- package/template-react-ts/node_modules/ts-node/dist/bin-esm.js.map +0 -1
- package/template-react-ts/node_modules/ts-node/dist/bin-script-deprecated.d.ts +0 -2
- package/template-react-ts/node_modules/ts-node/dist/bin-script-deprecated.js +0 -7
- package/template-react-ts/node_modules/ts-node/dist/bin-script-deprecated.js.map +0 -1
- package/template-react-ts/node_modules/ts-node/dist/bin-script.d.ts +0 -2
- package/template-react-ts/node_modules/ts-node/dist/bin-script.js +0 -6
- package/template-react-ts/node_modules/ts-node/dist/bin-script.js.map +0 -1
- package/template-react-ts/node_modules/ts-node/dist/bin-transpile.d.ts +0 -2
- package/template-react-ts/node_modules/ts-node/dist/bin-transpile.js +0 -6
- package/template-react-ts/node_modules/ts-node/dist/bin-transpile.js.map +0 -1
- package/template-react-ts/node_modules/ts-node/dist/bin.d.ts +0 -11
- package/template-react-ts/node_modules/ts-node/dist/bin.js +0 -581
- package/template-react-ts/node_modules/ts-node/dist/bin.js.map +0 -1
- package/template-react-ts/node_modules/ts-node/dist/child/argv-payload.d.ts +0 -1
- package/template-react-ts/node_modules/ts-node/dist/child/argv-payload.js +0 -19
- package/template-react-ts/node_modules/ts-node/dist/child/argv-payload.js.map +0 -1
- package/template-react-ts/node_modules/ts-node/dist/child/child-entrypoint.d.ts +0 -1
- package/template-react-ts/node_modules/ts-node/dist/child/child-entrypoint.js +0 -24
- package/template-react-ts/node_modules/ts-node/dist/child/child-entrypoint.js.map +0 -1
- package/template-react-ts/node_modules/ts-node/dist/child/child-loader.d.ts +0 -1
- package/template-react-ts/node_modules/ts-node/dist/child/child-loader.js +0 -32
- package/template-react-ts/node_modules/ts-node/dist/child/child-loader.js.map +0 -1
- package/template-react-ts/node_modules/ts-node/dist/child/child-require.d.ts +0 -7
- package/template-react-ts/node_modules/ts-node/dist/child/child-require.js +0 -22
- package/template-react-ts/node_modules/ts-node/dist/child/child-require.js.map +0 -1
- package/template-react-ts/node_modules/ts-node/dist/child/spawn-child.d.ts +0 -1
- package/template-react-ts/node_modules/ts-node/dist/child/spawn-child.js +0 -49
- package/template-react-ts/node_modules/ts-node/dist/child/spawn-child.js.map +0 -1
- package/template-react-ts/node_modules/ts-node/dist/cjs-resolve-hooks.d.ts +0 -1
- package/template-react-ts/node_modules/ts-node/dist/cjs-resolve-hooks.js +0 -29
- package/template-react-ts/node_modules/ts-node/dist/cjs-resolve-hooks.js.map +0 -1
- package/template-react-ts/node_modules/ts-node/dist/configuration.d.ts +0 -1
- package/template-react-ts/node_modules/ts-node/dist/configuration.js +0 -308
- package/template-react-ts/node_modules/ts-node/dist/configuration.js.map +0 -1
- package/template-react-ts/node_modules/ts-node/dist/esm.d.ts +0 -53
- package/template-react-ts/node_modules/ts-node/dist/esm.js +0 -228
- package/template-react-ts/node_modules/ts-node/dist/esm.js.map +0 -1
- package/template-react-ts/node_modules/ts-node/dist/file-extensions.d.ts +0 -1
- package/template-react-ts/node_modules/ts-node/dist/file-extensions.js +0 -133
- package/template-react-ts/node_modules/ts-node/dist/file-extensions.js.map +0 -1
- package/template-react-ts/node_modules/ts-node/dist/index.d.ts +0 -332
- package/template-react-ts/node_modules/ts-node/dist/index.js +0 -953
- package/template-react-ts/node_modules/ts-node/dist/index.js.map +0 -1
- package/template-react-ts/node_modules/ts-node/dist/module-type-classifier.d.ts +0 -1
- package/template-react-ts/node_modules/ts-node/dist/module-type-classifier.js +0 -64
- package/template-react-ts/node_modules/ts-node/dist/module-type-classifier.js.map +0 -1
- package/template-react-ts/node_modules/ts-node/dist/node-module-type-classifier.d.ts +0 -1
- package/template-react-ts/node_modules/ts-node/dist/node-module-type-classifier.js +0 -39
- package/template-react-ts/node_modules/ts-node/dist/node-module-type-classifier.js.map +0 -1
- package/template-react-ts/node_modules/ts-node/dist/repl.d.ts +0 -78
- package/template-react-ts/node_modules/ts-node/dist/repl.js +0 -561
- package/template-react-ts/node_modules/ts-node/dist/repl.js.map +0 -1
- package/template-react-ts/node_modules/ts-node/dist/resolver-functions.d.ts +0 -1
- package/template-react-ts/node_modules/ts-node/dist/resolver-functions.js +0 -143
- package/template-react-ts/node_modules/ts-node/dist/resolver-functions.js.map +0 -1
- package/template-react-ts/node_modules/ts-node/dist/transpilers/swc.d.ts +0 -11
- package/template-react-ts/node_modules/ts-node/dist/transpilers/swc.js +0 -218
- package/template-react-ts/node_modules/ts-node/dist/transpilers/swc.js.map +0 -1
- package/template-react-ts/node_modules/ts-node/dist/transpilers/types.d.ts +0 -35
- package/template-react-ts/node_modules/ts-node/dist/transpilers/types.js +0 -3
- package/template-react-ts/node_modules/ts-node/dist/transpilers/types.js.map +0 -1
- package/template-react-ts/node_modules/ts-node/dist/ts-compiler-types.d.ts +0 -63
- package/template-react-ts/node_modules/ts-node/dist/ts-compiler-types.js +0 -3
- package/template-react-ts/node_modules/ts-node/dist/ts-compiler-types.js.map +0 -1
- package/template-react-ts/node_modules/ts-node/dist/ts-internals.d.ts +0 -6
- package/template-react-ts/node_modules/ts-node/dist/ts-internals.js +0 -321
- package/template-react-ts/node_modules/ts-node/dist/ts-internals.js.map +0 -1
- package/template-react-ts/node_modules/ts-node/dist/ts-transpile-module.d.ts +0 -1
- package/template-react-ts/node_modules/ts-node/dist/ts-transpile-module.js +0 -100
- package/template-react-ts/node_modules/ts-node/dist/ts-transpile-module.js.map +0 -1
- package/template-react-ts/node_modules/ts-node/dist/tsconfig-schema.d.ts +0 -13
- package/template-react-ts/node_modules/ts-node/dist/tsconfig-schema.js +0 -3
- package/template-react-ts/node_modules/ts-node/dist/tsconfig-schema.js.map +0 -1
- package/template-react-ts/node_modules/ts-node/dist/tsconfigs.d.ts +0 -1
- package/template-react-ts/node_modules/ts-node/dist/tsconfigs.js +0 -36
- package/template-react-ts/node_modules/ts-node/dist/tsconfigs.js.map +0 -1
- package/template-react-ts/node_modules/ts-node/dist/util.d.ts +0 -4
- package/template-react-ts/node_modules/ts-node/dist/util.js +0 -175
- package/template-react-ts/node_modules/ts-node/dist/util.js.map +0 -1
- package/template-react-ts/node_modules/ts-node/dist-raw/NODE-LICENSE.md +0 -24
- package/template-react-ts/node_modules/ts-node/dist-raw/README.md +0 -36
- package/template-react-ts/node_modules/ts-node/dist-raw/node-internal-constants.js +0 -4
- package/template-react-ts/node_modules/ts-node/dist-raw/node-internal-errors.js +0 -82
- package/template-react-ts/node_modules/ts-node/dist-raw/node-internal-modules-cjs-helpers.js +0 -89
- package/template-react-ts/node_modules/ts-node/dist-raw/node-internal-modules-cjs-loader.js +0 -593
- package/template-react-ts/node_modules/ts-node/dist-raw/node-internal-modules-esm-get_format.js +0 -106
- package/template-react-ts/node_modules/ts-node/dist-raw/node-internal-modules-esm-resolve.js +0 -962
- package/template-react-ts/node_modules/ts-node/dist-raw/node-internal-modules-package_json_reader.js +0 -44
- package/template-react-ts/node_modules/ts-node/dist-raw/node-internal-repl-await.js +0 -254
- package/template-react-ts/node_modules/ts-node/dist-raw/node-internalBinding-fs.js +0 -58
- package/template-react-ts/node_modules/ts-node/dist-raw/node-nativemodule.js +0 -9
- package/template-react-ts/node_modules/ts-node/dist-raw/node-options.js +0 -103
- package/template-react-ts/node_modules/ts-node/dist-raw/node-primordials.js +0 -37
- package/template-react-ts/node_modules/ts-node/dist-raw/runmain-hack.js +0 -9
- package/template-react-ts/node_modules/ts-node/esm/transpile-only.mjs +0 -8
- package/template-react-ts/node_modules/ts-node/esm.mjs +0 -8
- package/template-react-ts/node_modules/ts-node/node10/tsconfig.json +0 -3
- package/template-react-ts/node_modules/ts-node/node12/tsconfig.json +0 -3
- package/template-react-ts/node_modules/ts-node/node14/tsconfig.json +0 -3
- package/template-react-ts/node_modules/ts-node/node16/tsconfig.json +0 -3
- package/template-react-ts/node_modules/ts-node/package.json +0 -182
- package/template-react-ts/node_modules/ts-node/register/files.js +0 -3
- package/template-react-ts/node_modules/ts-node/register/index.js +0 -1
- package/template-react-ts/node_modules/ts-node/register/transpile-only.js +0 -3
- package/template-react-ts/node_modules/ts-node/register/type-check.js +0 -3
- package/template-react-ts/node_modules/ts-node/transpilers/swc-experimental.js +0 -1
- package/template-react-ts/node_modules/ts-node/transpilers/swc.js +0 -1
- package/template-react-ts/node_modules/ts-node/tsconfig.schema.json +0 -183
- package/template-react-ts/node_modules/ts-node/tsconfig.schemastore-schema.json +0 -1326
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
|
|
3
|
-
diff v4.0.1
|
|
4
|
-
|
|
5
|
-
Software License Agreement (BSD License)
|
|
6
|
-
|
|
7
|
-
Copyright (c) 2009-2015, Kevin Decker <kpdecker@gmail.com>
|
|
8
|
-
|
|
9
|
-
All rights reserved.
|
|
10
|
-
|
|
11
|
-
Redistribution and use of this software in source and binary forms, with or without modification,
|
|
12
|
-
are permitted provided that the following conditions are met:
|
|
13
|
-
|
|
14
|
-
* Redistributions of source code must retain the above
|
|
15
|
-
copyright notice, this list of conditions and the
|
|
16
|
-
following disclaimer.
|
|
17
|
-
|
|
18
|
-
* Redistributions in binary form must reproduce the above
|
|
19
|
-
copyright notice, this list of conditions and the
|
|
20
|
-
following disclaimer in the documentation and/or other
|
|
21
|
-
materials provided with the distribution.
|
|
22
|
-
|
|
23
|
-
* Neither the name of Kevin Decker nor the names of its
|
|
24
|
-
contributors may be used to endorse or promote products
|
|
25
|
-
derived from this software without specific prior
|
|
26
|
-
written permission.
|
|
27
|
-
|
|
28
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
|
|
29
|
-
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
|
30
|
-
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
31
|
-
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
32
|
-
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
33
|
-
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
|
|
34
|
-
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
|
35
|
-
OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
36
|
-
@license
|
|
37
|
-
*/
|
|
38
|
-
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e=e||self).Diff={})}(this,function(e){"use strict";function t(){}function g(e,n,t,r,i){for(var o=0,s=n.length,l=0,a=0;o<s;o++){var u=n[o];if(u.removed){if(u.value=e.join(r.slice(a,a+u.count)),a+=u.count,o&&n[o-1].added){var f=n[o-1];n[o-1]=n[o],n[o]=f}}else{if(!u.added&&i){var d=t.slice(l,l+u.count);d=d.map(function(e,n){var t=r[a+n];return t.length>e.length?t:e}),u.value=e.join(d)}else u.value=e.join(t.slice(l,l+u.count));l+=u.count,u.added||(a+=u.count)}}var c=n[s-1];return 1<s&&"string"==typeof c.value&&(c.added||c.removed)&&e.equals("",c.value)&&(n[s-2].value+=c.value,n.pop()),n}t.prototype={diff:function(a,u){var e=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},n=e.callback;"function"==typeof e&&(n=e,e={}),this.options=e;var f=this;function d(e){return n?(setTimeout(function(){n(void 0,e)},0),!0):e}a=this.castInput(a),u=this.castInput(u),a=this.removeEmpty(this.tokenize(a));var c=(u=this.removeEmpty(this.tokenize(u))).length,h=a.length,p=1,t=c+h,v=[{newPos:-1,components:[]}],r=this.extractCommon(v[0],u,a,0);if(v[0].newPos+1>=c&&h<=r+1)return d([{value:this.join(u),count:u.length}]);function i(){for(var e=-1*p;e<=p;e+=2){var n=void 0,t=v[e-1],r=v[e+1],i=(r?r.newPos:0)-e;t&&(v[e-1]=void 0);var o=t&&t.newPos+1<c,s=r&&0<=i&&i<h;if(o||s){if(!o||s&&t.newPos<r.newPos?(n={newPos:(l=r).newPos,components:l.components.slice(0)},f.pushComponent(n.components,void 0,!0)):((n=t).newPos++,f.pushComponent(n.components,!0,void 0)),i=f.extractCommon(n,u,a,e),n.newPos+1>=c&&h<=i+1)return d(g(f,n.components,u,a,f.useLongestToken));v[e]=n}else v[e]=void 0}var l;p++}if(n)!function e(){setTimeout(function(){if(t<p)return n();i()||e()},0)}();else for(;p<=t;){var o=i();if(o)return o}},pushComponent:function(e,n,t){var r=e[e.length-1];r&&r.added===n&&r.removed===t?e[e.length-1]={count:r.count+1,added:n,removed:t}:e.push({count:1,added:n,removed:t})},extractCommon:function(e,n,t,r){for(var i=n.length,o=t.length,s=e.newPos,l=s-r,a=0;s+1<i&&l+1<o&&this.equals(n[s+1],t[l+1]);)s++,l++,a++;return a&&e.components.push({count:a}),e.newPos=s,l},equals:function(e,n){return this.options.comparator?this.options.comparator(e,n):e===n||this.options.ignoreCase&&e.toLowerCase()===n.toLowerCase()},removeEmpty:function(e){for(var n=[],t=0;t<e.length;t++)e[t]&&n.push(e[t]);return n},castInput:function(e){return e},tokenize:function(e){return e.split("")},join:function(e){return e.join("")}};var r=new t;function i(e,n){if("function"==typeof e)n.callback=e;else if(e)for(var t in e)e.hasOwnProperty(t)&&(n[t]=e[t]);return n}var o=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,s=/\S/,l=new t;l.equals=function(e,n){return this.options.ignoreCase&&(e=e.toLowerCase(),n=n.toLowerCase()),e===n||this.options.ignoreWhitespace&&!s.test(e)&&!s.test(n)},l.tokenize=function(e){for(var n=e.split(/(\s+|[()[\]{}'"]|\b)/),t=0;t<n.length-1;t++)!n[t+1]&&n[t+2]&&o.test(n[t])&&o.test(n[t+2])&&(n[t]+=n[t+2],n.splice(t+1,2),t--);return n};var a=new t;function u(e,n,t){return a.diff(e,n,t)}a.tokenize=function(e){var n=[],t=e.split(/(\n|\r\n)/);t[t.length-1]||t.pop();for(var r=0;r<t.length;r++){var i=t[r];r%2&&!this.options.newlineIsToken?n[n.length-1]+=i:(this.options.ignoreWhitespace&&(i=i.trim()),n.push(i))}return n};var f=new t;f.tokenize=function(e){return e.split(/(\S.+?[.!?])(?=\s+|$)/)};var d=new t;function c(e){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function k(e){return function(e){if(Array.isArray(e)){for(var n=0,t=new Array(e.length);n<e.length;n++)t[n]=e[n];return t}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}d.tokenize=function(e){return e.split(/([{}:;,]|\s+)/)};var h=Object.prototype.toString,p=new t;function v(e,n,t,r,i){var o,s;for(n=n||[],t=t||[],r&&(e=r(i,e)),o=0;o<n.length;o+=1)if(n[o]===e)return t[o];if("[object Array]"===h.call(e)){for(n.push(e),s=new Array(e.length),t.push(s),o=0;o<e.length;o+=1)s[o]=v(e[o],n,t,r,i);return n.pop(),t.pop(),s}if(e&&e.toJSON&&(e=e.toJSON()),"object"===c(e)&&null!==e){n.push(e),s={},t.push(s);var l,a=[];for(l in e)e.hasOwnProperty(l)&&a.push(l);for(a.sort(),o=0;o<a.length;o+=1)s[l=a[o]]=v(e[l],n,t,r,l);n.pop(),t.pop()}else s=e;return s}p.useLongestToken=!0,p.tokenize=a.tokenize,p.castInput=function(e){var n=this.options,t=n.undefinedReplacement,r=n.stringifyReplacer,i=void 0===r?function(e,n){return void 0===n?t:n}:r;return"string"==typeof e?e:JSON.stringify(v(e,null,null,i),i," ")},p.equals=function(e,n){return t.prototype.equals.call(p,e.replace(/,([\r\n])/g,"$1"),n.replace(/,([\r\n])/g,"$1"))};var m=new t;function z(e){var s=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},l=e.split(/\r\n|[\n\v\f\r\x85]/),a=e.match(/\r\n|[\n\v\f\r\x85]/g)||[],i=[],u=0;function n(){var e={};for(i.push(e);u<l.length;){var n=l[u];if(/^(\-\-\-|\+\+\+|@@)\s/.test(n))break;var t=/^(?:Index:|diff(?: -r \w+)+)\s+(.+?)\s*$/.exec(n);t&&(e.index=t[1]),u++}for(o(e),o(e),e.hunks=[];u<l.length;){var r=l[u];if(/^(Index:|diff|\-\-\-|\+\+\+)\s/.test(r))break;if(/^@@/.test(r))e.hunks.push(f());else{if(r&&s.strict)throw new Error("Unknown line "+(u+1)+" "+JSON.stringify(r));u++}}}function o(e){var n=/^(---|\+\+\+)\s+(.*)$/.exec(l[u]);if(n){var t="---"===n[1]?"old":"new",r=n[2].split("\t",2),i=r[0].replace(/\\\\/g,"\\");/^".*"$/.test(i)&&(i=i.substr(1,i.length-2)),e[t+"FileName"]=i,e[t+"Header"]=(r[1]||"").trim(),u++}}function f(){for(var e=u,n=l[u++].split(/@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/),t={oldStart:+n[1],oldLines:+n[2]||1,newStart:+n[3],newLines:+n[4]||1,lines:[],linedelimiters:[]},r=0,i=0;u<l.length&&!(0===l[u].indexOf("--- ")&&u+2<l.length&&0===l[u+1].indexOf("+++ ")&&0===l[u+2].indexOf("@@"));u++){var o=0==l[u].length&&u!=l.length-1?" ":l[u][0];if("+"!==o&&"-"!==o&&" "!==o&&"\\"!==o)break;t.lines.push(l[u]),t.linedelimiters.push(a[u]||"\n"),"+"===o?r++:"-"===o?i++:" "===o&&(r++,i++)}if(r||1!==t.newLines||(t.newLines=0),i||1!==t.oldLines||(t.oldLines=0),s.strict){if(r!==t.newLines)throw new Error("Added line count did not match for hunk at line "+(e+1));if(i!==t.oldLines)throw new Error("Removed line count did not match for hunk at line "+(e+1))}return t}for(;u<l.length;)n();return i}function E(n,t,r){var i=!0,o=!1,s=!1,l=1;return function e(){if(i&&!s){if(o?l++:i=!1,n+l<=r)return l;s=!0}if(!o)return s||(i=!0),t<=n-l?-l++:(o=!0,e())}}function w(e,n){var t=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};if("string"==typeof n&&(n=z(n)),Array.isArray(n)){if(1<n.length)throw new Error("applyPatch only works with a single input.");n=n[0]}var r,i,s=e.split(/\r\n|[\n\v\f\r\x85]/),o=e.match(/\r\n|[\n\v\f\r\x85]/g)||[],l=n.hunks,a=t.compareLine||function(e,n,t,r){return n===r},u=0,f=t.fuzzFactor||0,d=0,c=0;function h(e,n){for(var t=0;t<e.lines.length;t++){var r=e.lines[t],i=0<r.length?r[0]:" ",o=0<r.length?r.substr(1):r;if(" "===i||"-"===i){if(!a(n+1,s[n],i,o)&&f<++u)return!1;n++}}return!0}for(var p=0;p<l.length;p++){for(var v=l[p],g=s.length-v.oldLines,m=0,w=c+v.oldStart-1,y=E(w,d,g);void 0!==m;m=y())if(h(v,w+m)){v.offset=c+=m;break}if(void 0===m)return!1;d=v.offset+v.oldStart+v.oldLines}for(var x=0,L=0;L<l.length;L++){var S=l[L],k=S.oldStart+S.offset+x-1;x+=S.newLines-S.oldLines,k<0&&(k=0);for(var b=0;b<S.lines.length;b++){var F=S.lines[b],N=0<F.length?F[0]:" ",H=0<F.length?F.substr(1):F,P=S.linedelimiters[b];if(" "===N)k++;else if("-"===N)s.splice(k,1),o.splice(k,1);else if("+"===N)s.splice(k,0,H),o.splice(k,0,P),k++;else if("\\"===N){var C=S.lines[b-1]?S.lines[b-1][0]:null;"+"===C?r=!0:"-"===C&&(i=!0)}}}if(r)for(;!s[s.length-1];)s.pop(),o.pop();else i&&(s.push(""),o.push("\n"));for(var j=0;j<s.length-1;j++)s[j]=s[j]+o[j];return s.join("")}function y(e,n,c,h,t,r,p){p||(p={}),void 0===p.context&&(p.context=4);var v=u(c,h,p);function g(e){return e.map(function(e){return" "+e})}v.push({value:"",lines:[]});for(var m=[],w=0,y=0,x=[],L=1,S=1,i=function(e){var n=v[e],t=n.lines||n.value.replace(/\n$/,"").split("\n");if(n.lines=t,n.added||n.removed){var r;if(!w){var i=v[e-1];w=L,y=S,i&&(x=0<p.context?g(i.lines.slice(-p.context)):[],w-=x.length,y-=x.length)}(r=x).push.apply(r,k(t.map(function(e){return(n.added?"+":"-")+e}))),n.added?S+=t.length:L+=t.length}else{if(w)if(t.length<=2*p.context&&e<v.length-2){var o;(o=x).push.apply(o,k(g(t)))}else{var s,l=Math.min(t.length,p.context);(s=x).push.apply(s,k(g(t.slice(0,l))));var a={oldStart:w,oldLines:L-w+l,newStart:y,newLines:S-y+l,lines:x};if(e>=v.length-2&&t.length<=p.context){var u=/\n$/.test(c),f=/\n$/.test(h),d=0==t.length&&x.length>a.oldLines;!u&&d&&x.splice(a.oldLines,0,"\"),(u||d)&&f||x.push("\")}m.push(a),y=w=0,x=[]}L+=t.length,S+=t.length}},o=0;o<v.length;o++)i(o);return{oldFileName:e,newFileName:n,oldHeader:t,newHeader:r,hunks:m}}function x(e,n,t,r,i,o,s){var l=y(e,n,t,r,i,o,s),a=[];e==n&&a.push("Index: "+e),a.push("==================================================================="),a.push("--- "+l.oldFileName+(void 0===l.oldHeader?"":"\t"+l.oldHeader)),a.push("+++ "+l.newFileName+(void 0===l.newHeader?"":"\t"+l.newHeader));for(var u=0;u<l.hunks.length;u++){var f=l.hunks[u];a.push("@@ -"+f.oldStart+","+f.oldLines+" +"+f.newStart+","+f.newLines+" @@"),a.push.apply(a,f.lines)}return a.join("\n")+"\n"}function L(e,n){if(n.length>e.length)return!1;for(var t=0;t<n.length;t++)if(n[t]!==e[t])return!1;return!0}function S(e){var n=function r(e){var i=0;var o=0;e.forEach(function(e){if("string"!=typeof e){var n=r(e.mine),t=r(e.theirs);void 0!==i&&(n.oldLines===t.oldLines?i+=n.oldLines:i=void 0),void 0!==o&&(n.newLines===t.newLines?o+=n.newLines:o=void 0)}else void 0===o||"+"!==e[0]&&" "!==e[0]||o++,void 0===i||"-"!==e[0]&&" "!==e[0]||i++});return{oldLines:i,newLines:o}}(e.lines),t=n.oldLines,r=n.newLines;void 0!==t?e.oldLines=t:delete e.oldLines,void 0!==r?e.newLines=r:delete e.newLines}function b(e,n){if("string"!=typeof e)return e;if(/^@@/m.test(e)||/^Index:/m.test(e))return z(e)[0];if(!n)throw new Error("Must provide a base reference or pass in a patch");return y(void 0,void 0,n,e)}function F(e){return e.newFileName&&e.newFileName!==e.oldFileName}function N(e,n,t){return n===t?n:(e.conflict=!0,{mine:n,theirs:t})}function H(e,n){return e.oldStart<n.oldStart&&e.oldStart+e.oldLines<n.oldStart}function P(e,n){return{oldStart:e.oldStart,oldLines:e.oldLines,newStart:e.newStart+n,newLines:e.newLines,lines:e.lines}}function C(e,n,t,r,i){var o={offset:n,lines:t,index:0},s={offset:r,lines:i,index:0};for(I(e,o,s),I(e,s,o);o.index<o.lines.length&&s.index<s.lines.length;){var l=o.lines[o.index],a=s.lines[s.index];if("-"!==l[0]&&"+"!==l[0]||"-"!==a[0]&&"+"!==a[0])if("+"===l[0]&&" "===a[0]){var u;(u=e.lines).push.apply(u,k($(o)))}else if("+"===a[0]&&" "===l[0]){var f;(f=e.lines).push.apply(f,k($(s)))}else"-"===l[0]&&" "===a[0]?O(e,o,s):"-"===a[0]&&" "===l[0]?O(e,s,o,!0):l===a?(e.lines.push(l),o.index++,s.index++):A(e,$(o),$(s));else j(e,o,s)}T(e,o),T(e,s),S(e)}function j(e,n,t){var r,i,o=$(n),s=$(t);if(q(o)&&q(s)){var l,a;if(L(o,s)&&M(t,o,o.length-s.length))return void(l=e.lines).push.apply(l,k(o));if(L(s,o)&&M(n,s,s.length-o.length))return void(a=e.lines).push.apply(a,k(s))}else if(i=s,(r=o).length===i.length&&L(r,i)){var u;return void(u=e.lines).push.apply(u,k(o))}A(e,o,s)}function O(e,n,t,r){var i,o=$(n),s=function(e,n){var t=[],r=[],i=0,o=!1,s=!1;for(;i<n.length&&e.index<e.lines.length;){var l=e.lines[e.index],a=n[i];if("+"===a[0])break;if(o=o||" "!==l[0],r.push(a),i++,"+"===l[0])for(s=!0;"+"===l[0];)t.push(l),l=e.lines[++e.index];a.substr(1)===l.substr(1)?(t.push(l),e.index++):s=!0}"+"===(n[i]||"")[0]&&o&&(s=!0);if(s)return t;for(;i<n.length;)r.push(n[i++]);return{merged:r,changes:t}}(t,o);s.merged?(i=e.lines).push.apply(i,k(s.merged)):A(e,r?s:o,r?o:s)}function A(e,n,t){e.conflict=!0,e.lines.push({conflict:!0,mine:n,theirs:t})}function I(e,n,t){for(;n.offset<t.offset&&n.index<n.lines.length;){var r=n.lines[n.index++];e.lines.push(r),n.offset++}}function T(e,n){for(;n.index<n.lines.length;){var t=n.lines[n.index++];e.lines.push(t)}}function $(e){for(var n=[],t=e.lines[e.index][0];e.index<e.lines.length;){var r=e.lines[e.index];if("-"===t&&"+"===r[0]&&(t="+"),t!==r[0])break;n.push(r),e.index++}return n}function q(e){return e.reduce(function(e,n){return e&&"-"===n[0]},!0)}function M(e,n,t){for(var r=0;r<t;r++){var i=n[n.length-t+r].substr(1);if(e.lines[e.index+r]!==" "+i)return!1}return e.index+=t,!0}m.tokenize=function(e){return e.slice()},m.join=m.removeEmpty=function(e){return e},e.Diff=t,e.diffChars=function(e,n,t){return r.diff(e,n,t)},e.diffWords=function(e,n,t){return t=i(t,{ignoreWhitespace:!0}),l.diff(e,n,t)},e.diffWordsWithSpace=function(e,n,t){return l.diff(e,n,t)},e.diffLines=u,e.diffTrimmedLines=function(e,n,t){var r=i(t,{ignoreWhitespace:!0});return a.diff(e,n,r)},e.diffSentences=function(e,n,t){return f.diff(e,n,t)},e.diffCss=function(e,n,t){return d.diff(e,n,t)},e.diffJson=function(e,n,t){return p.diff(e,n,t)},e.diffArrays=function(e,n,t){return m.diff(e,n,t)},e.structuredPatch=y,e.createTwoFilesPatch=x,e.createPatch=function(e,n,t,r,i,o){return x(e,e,n,t,r,i,o)},e.applyPatch=w,e.applyPatches=function(e,o){"string"==typeof e&&(e=z(e));var n=0;!function r(){var i=e[n++];if(!i)return o.complete();o.loadFile(i,function(e,n){if(e)return o.complete(e);var t=w(n,i,o);o.patched(i,t,function(e){if(e)return o.complete(e);r()})})}()},e.parsePatch=z,e.merge=function(e,n,t){e=b(e,t),n=b(n,t);var r={};(e.index||n.index)&&(r.index=e.index||n.index),(e.newFileName||n.newFileName)&&(F(e)?F(n)?(r.oldFileName=N(r,e.oldFileName,n.oldFileName),r.newFileName=N(r,e.newFileName,n.newFileName),r.oldHeader=N(r,e.oldHeader,n.oldHeader),r.newHeader=N(r,e.newHeader,n.newHeader)):(r.oldFileName=e.oldFileName,r.newFileName=e.newFileName,r.oldHeader=e.oldHeader,r.newHeader=e.newHeader):(r.oldFileName=n.oldFileName||e.oldFileName,r.newFileName=n.newFileName||e.newFileName,r.oldHeader=n.oldHeader||e.oldHeader,r.newHeader=n.newHeader||e.newHeader)),r.hunks=[];for(var i=0,o=0,s=0,l=0;i<e.hunks.length||o<n.hunks.length;){var a=e.hunks[i]||{oldStart:1/0},u=n.hunks[o]||{oldStart:1/0};if(H(a,u))r.hunks.push(P(a,s)),i++,l+=a.newLines-a.oldLines;else if(H(u,a))r.hunks.push(P(u,l)),o++,s+=u.newLines-u.oldLines;else{var f={oldStart:Math.min(a.oldStart,u.oldStart),oldLines:0,newStart:Math.min(a.newStart+s,u.oldStart+l),newLines:0,lines:[]};C(f,a.oldStart,a.lines,u.oldStart,u.lines),o++,i++,r.hunks.push(f)}}return r},e.convertChangesToDMP=function(e){for(var n,t,r=[],i=0;i<e.length;i++)t=(n=e[i]).added?1:n.removed?-1:0,r.push([t,n.value]);return r},e.convertChangesToXML=function(e){for(var n=[],t=0;t<e.length;t++){var r=e[t];r.added?n.push("<ins>"):r.removed&&n.push("<del>"),n.push((i=r.value,void 0,i.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,"""))),r.added?n.push("</ins>"):r.removed&&n.push("</del>")}var i;return n.join("")},e.canonicalize=v,Object.defineProperty(e,"__esModule",{value:!0})});
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/*istanbul ignore start*/
|
|
2
|
-
"use strict";
|
|
3
|
-
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.convertChangesToDMP = convertChangesToDMP;
|
|
8
|
-
|
|
9
|
-
/*istanbul ignore end*/
|
|
10
|
-
// See: http://code.google.com/p/google-diff-match-patch/wiki/API
|
|
11
|
-
function convertChangesToDMP(changes) {
|
|
12
|
-
var ret = [],
|
|
13
|
-
change,
|
|
14
|
-
operation;
|
|
15
|
-
|
|
16
|
-
for (var i = 0; i < changes.length; i++) {
|
|
17
|
-
change = changes[i];
|
|
18
|
-
|
|
19
|
-
if (change.added) {
|
|
20
|
-
operation = 1;
|
|
21
|
-
} else if (change.removed) {
|
|
22
|
-
operation = -1;
|
|
23
|
-
} else {
|
|
24
|
-
operation = 0;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
ret.push([operation, change.value]);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
return ret;
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb252ZXJ0L2RtcC5qcyJdLCJuYW1lcyI6WyJjb252ZXJ0Q2hhbmdlc1RvRE1QIiwiY2hhbmdlcyIsInJldCIsImNoYW5nZSIsIm9wZXJhdGlvbiIsImkiLCJsZW5ndGgiLCJhZGRlZCIsInJlbW92ZWQiLCJwdXNoIiwidmFsdWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBO0FBQ08sU0FBU0EsbUJBQVQsQ0FBNkJDLE9BQTdCLEVBQXNDO0FBQzNDLE1BQUlDLEdBQUcsR0FBRyxFQUFWO0FBQUEsTUFDSUMsTUFESjtBQUFBLE1BRUlDLFNBRko7O0FBR0EsT0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHSixPQUFPLENBQUNLLE1BQTVCLEVBQW9DRCxDQUFDLEVBQXJDLEVBQXlDO0FBQ3ZDRixJQUFBQSxNQUFNLEdBQUdGLE9BQU8sQ0FBQ0ksQ0FBRCxDQUFoQjs7QUFDQSxRQUFJRixNQUFNLENBQUNJLEtBQVgsRUFBa0I7QUFDaEJILE1BQUFBLFNBQVMsR0FBRyxDQUFaO0FBQ0QsS0FGRCxNQUVPLElBQUlELE1BQU0sQ0FBQ0ssT0FBWCxFQUFvQjtBQUN6QkosTUFBQUEsU0FBUyxHQUFHLENBQUMsQ0FBYjtBQUNELEtBRk0sTUFFQTtBQUNMQSxNQUFBQSxTQUFTLEdBQUcsQ0FBWjtBQUNEOztBQUVERixJQUFBQSxHQUFHLENBQUNPLElBQUosQ0FBUyxDQUFDTCxTQUFELEVBQVlELE1BQU0sQ0FBQ08sS0FBbkIsQ0FBVDtBQUNEOztBQUNELFNBQU9SLEdBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIFNlZTogaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2dvb2dsZS1kaWZmLW1hdGNoLXBhdGNoL3dpa2kvQVBJXG5leHBvcnQgZnVuY3Rpb24gY29udmVydENoYW5nZXNUb0RNUChjaGFuZ2VzKSB7XG4gIGxldCByZXQgPSBbXSxcbiAgICAgIGNoYW5nZSxcbiAgICAgIG9wZXJhdGlvbjtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGFuZ2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgY2hhbmdlID0gY2hhbmdlc1tpXTtcbiAgICBpZiAoY2hhbmdlLmFkZGVkKSB7XG4gICAgICBvcGVyYXRpb24gPSAxO1xuICAgIH0gZWxzZSBpZiAoY2hhbmdlLnJlbW92ZWQpIHtcbiAgICAgIG9wZXJhdGlvbiA9IC0xO1xuICAgIH0gZWxzZSB7XG4gICAgICBvcGVyYXRpb24gPSAwO1xuICAgIH1cblxuICAgIHJldC5wdXNoKFtvcGVyYXRpb24sIGNoYW5nZS52YWx1ZV0pO1xuICB9XG4gIHJldHVybiByZXQ7XG59XG4iXX0=
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/*istanbul ignore start*/
|
|
2
|
-
"use strict";
|
|
3
|
-
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.convertChangesToXML = convertChangesToXML;
|
|
8
|
-
|
|
9
|
-
/*istanbul ignore end*/
|
|
10
|
-
function convertChangesToXML(changes) {
|
|
11
|
-
var ret = [];
|
|
12
|
-
|
|
13
|
-
for (var i = 0; i < changes.length; i++) {
|
|
14
|
-
var change = changes[i];
|
|
15
|
-
|
|
16
|
-
if (change.added) {
|
|
17
|
-
ret.push('<ins>');
|
|
18
|
-
} else if (change.removed) {
|
|
19
|
-
ret.push('<del>');
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
ret.push(escapeHTML(change.value));
|
|
23
|
-
|
|
24
|
-
if (change.added) {
|
|
25
|
-
ret.push('</ins>');
|
|
26
|
-
} else if (change.removed) {
|
|
27
|
-
ret.push('</del>');
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
return ret.join('');
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
function escapeHTML(s) {
|
|
35
|
-
var n = s;
|
|
36
|
-
n = n.replace(/&/g, '&');
|
|
37
|
-
n = n.replace(/</g, '<');
|
|
38
|
-
n = n.replace(/>/g, '>');
|
|
39
|
-
n = n.replace(/"/g, '"');
|
|
40
|
-
return n;
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb252ZXJ0L3htbC5qcyJdLCJuYW1lcyI6WyJjb252ZXJ0Q2hhbmdlc1RvWE1MIiwiY2hhbmdlcyIsInJldCIsImkiLCJsZW5ndGgiLCJjaGFuZ2UiLCJhZGRlZCIsInB1c2giLCJyZW1vdmVkIiwiZXNjYXBlSFRNTCIsInZhbHVlIiwiam9pbiIsInMiLCJuIiwicmVwbGFjZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQU8sU0FBU0EsbUJBQVQsQ0FBNkJDLE9BQTdCLEVBQXNDO0FBQzNDLE1BQUlDLEdBQUcsR0FBRyxFQUFWOztBQUNBLE9BQUssSUFBSUMsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBR0YsT0FBTyxDQUFDRyxNQUE1QixFQUFvQ0QsQ0FBQyxFQUFyQyxFQUF5QztBQUN2QyxRQUFJRSxNQUFNLEdBQUdKLE9BQU8sQ0FBQ0UsQ0FBRCxDQUFwQjs7QUFDQSxRQUFJRSxNQUFNLENBQUNDLEtBQVgsRUFBa0I7QUFDaEJKLE1BQUFBLEdBQUcsQ0FBQ0ssSUFBSixDQUFTLE9BQVQ7QUFDRCxLQUZELE1BRU8sSUFBSUYsTUFBTSxDQUFDRyxPQUFYLEVBQW9CO0FBQ3pCTixNQUFBQSxHQUFHLENBQUNLLElBQUosQ0FBUyxPQUFUO0FBQ0Q7O0FBRURMLElBQUFBLEdBQUcsQ0FBQ0ssSUFBSixDQUFTRSxVQUFVLENBQUNKLE1BQU0sQ0FBQ0ssS0FBUixDQUFuQjs7QUFFQSxRQUFJTCxNQUFNLENBQUNDLEtBQVgsRUFBa0I7QUFDaEJKLE1BQUFBLEdBQUcsQ0FBQ0ssSUFBSixDQUFTLFFBQVQ7QUFDRCxLQUZELE1BRU8sSUFBSUYsTUFBTSxDQUFDRyxPQUFYLEVBQW9CO0FBQ3pCTixNQUFBQSxHQUFHLENBQUNLLElBQUosQ0FBUyxRQUFUO0FBQ0Q7QUFDRjs7QUFDRCxTQUFPTCxHQUFHLENBQUNTLElBQUosQ0FBUyxFQUFULENBQVA7QUFDRDs7QUFFRCxTQUFTRixVQUFULENBQW9CRyxDQUFwQixFQUF1QjtBQUNyQixNQUFJQyxDQUFDLEdBQUdELENBQVI7QUFDQUMsRUFBQUEsQ0FBQyxHQUFHQSxDQUFDLENBQUNDLE9BQUYsQ0FBVSxJQUFWLEVBQWdCLE9BQWhCLENBQUo7QUFDQUQsRUFBQUEsQ0FBQyxHQUFHQSxDQUFDLENBQUNDLE9BQUYsQ0FBVSxJQUFWLEVBQWdCLE1BQWhCLENBQUo7QUFDQUQsRUFBQUEsQ0FBQyxHQUFHQSxDQUFDLENBQUNDLE9BQUYsQ0FBVSxJQUFWLEVBQWdCLE1BQWhCLENBQUo7QUFDQUQsRUFBQUEsQ0FBQyxHQUFHQSxDQUFDLENBQUNDLE9BQUYsQ0FBVSxJQUFWLEVBQWdCLFFBQWhCLENBQUo7QUFFQSxTQUFPRCxDQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gY29udmVydENoYW5nZXNUb1hNTChjaGFuZ2VzKSB7XG4gIGxldCByZXQgPSBbXTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGFuZ2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgbGV0IGNoYW5nZSA9IGNoYW5nZXNbaV07XG4gICAgaWYgKGNoYW5nZS5hZGRlZCkge1xuICAgICAgcmV0LnB1c2goJzxpbnM+Jyk7XG4gICAgfSBlbHNlIGlmIChjaGFuZ2UucmVtb3ZlZCkge1xuICAgICAgcmV0LnB1c2goJzxkZWw+Jyk7XG4gICAgfVxuXG4gICAgcmV0LnB1c2goZXNjYXBlSFRNTChjaGFuZ2UudmFsdWUpKTtcblxuICAgIGlmIChjaGFuZ2UuYWRkZWQpIHtcbiAgICAgIHJldC5wdXNoKCc8L2lucz4nKTtcbiAgICB9IGVsc2UgaWYgKGNoYW5nZS5yZW1vdmVkKSB7XG4gICAgICByZXQucHVzaCgnPC9kZWw+Jyk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXQuam9pbignJyk7XG59XG5cbmZ1bmN0aW9uIGVzY2FwZUhUTUwocykge1xuICBsZXQgbiA9IHM7XG4gIG4gPSBuLnJlcGxhY2UoLyYvZywgJyZhbXA7Jyk7XG4gIG4gPSBuLnJlcGxhY2UoLzwvZywgJyZsdDsnKTtcbiAgbiA9IG4ucmVwbGFjZSgvPi9nLCAnJmd0OycpO1xuICBuID0gbi5yZXBsYWNlKC9cIi9nLCAnJnF1b3Q7Jyk7XG5cbiAgcmV0dXJuIG47XG59XG4iXX0=
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/*istanbul ignore start*/
|
|
2
|
-
"use strict";
|
|
3
|
-
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.diffArrays = diffArrays;
|
|
8
|
-
exports.arrayDiff = void 0;
|
|
9
|
-
|
|
10
|
-
/*istanbul ignore end*/
|
|
11
|
-
var
|
|
12
|
-
/*istanbul ignore start*/
|
|
13
|
-
_base = _interopRequireDefault(require("./base"))
|
|
14
|
-
/*istanbul ignore end*/
|
|
15
|
-
;
|
|
16
|
-
|
|
17
|
-
/*istanbul ignore start*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
|
-
|
|
19
|
-
/*istanbul ignore end*/
|
|
20
|
-
var arrayDiff = new
|
|
21
|
-
/*istanbul ignore start*/
|
|
22
|
-
_base
|
|
23
|
-
/*istanbul ignore end*/
|
|
24
|
-
.
|
|
25
|
-
/*istanbul ignore start*/
|
|
26
|
-
default
|
|
27
|
-
/*istanbul ignore end*/
|
|
28
|
-
();
|
|
29
|
-
|
|
30
|
-
/*istanbul ignore start*/
|
|
31
|
-
exports.arrayDiff = arrayDiff;
|
|
32
|
-
|
|
33
|
-
/*istanbul ignore end*/
|
|
34
|
-
arrayDiff.tokenize = function (value) {
|
|
35
|
-
return value.slice();
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
arrayDiff.join = arrayDiff.removeEmpty = function (value) {
|
|
39
|
-
return value;
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
function diffArrays(oldArr, newArr, callback) {
|
|
43
|
-
return arrayDiff.diff(oldArr, newArr, callback);
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaWZmL2FycmF5LmpzIl0sIm5hbWVzIjpbImFycmF5RGlmZiIsIkRpZmYiLCJ0b2tlbml6ZSIsInZhbHVlIiwic2xpY2UiLCJqb2luIiwicmVtb3ZlRW1wdHkiLCJkaWZmQXJyYXlzIiwib2xkQXJyIiwibmV3QXJyIiwiY2FsbGJhY2siLCJkaWZmIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7QUFFTyxJQUFNQSxTQUFTLEdBQUc7QUFBSUM7QUFBQUE7QUFBQUE7QUFBQUE7QUFBQUE7QUFBQUE7QUFBSjtBQUFBLEVBQWxCOzs7Ozs7QUFDUEQsU0FBUyxDQUFDRSxRQUFWLEdBQXFCLFVBQVNDLEtBQVQsRUFBZ0I7QUFDbkMsU0FBT0EsS0FBSyxDQUFDQyxLQUFOLEVBQVA7QUFDRCxDQUZEOztBQUdBSixTQUFTLENBQUNLLElBQVYsR0FBaUJMLFNBQVMsQ0FBQ00sV0FBVixHQUF3QixVQUFTSCxLQUFULEVBQWdCO0FBQ3ZELFNBQU9BLEtBQVA7QUFDRCxDQUZEOztBQUlPLFNBQVNJLFVBQVQsQ0FBb0JDLE1BQXBCLEVBQTRCQyxNQUE1QixFQUFvQ0MsUUFBcEMsRUFBOEM7QUFBRSxTQUFPVixTQUFTLENBQUNXLElBQVYsQ0FBZUgsTUFBZixFQUF1QkMsTUFBdkIsRUFBK0JDLFFBQS9CLENBQVA7QUFBa0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRGlmZiBmcm9tICcuL2Jhc2UnO1xuXG5leHBvcnQgY29uc3QgYXJyYXlEaWZmID0gbmV3IERpZmYoKTtcbmFycmF5RGlmZi50b2tlbml6ZSA9IGZ1bmN0aW9uKHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZS5zbGljZSgpO1xufTtcbmFycmF5RGlmZi5qb2luID0gYXJyYXlEaWZmLnJlbW92ZUVtcHR5ID0gZnVuY3Rpb24odmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGRpZmZBcnJheXMob2xkQXJyLCBuZXdBcnIsIGNhbGxiYWNrKSB7IHJldHVybiBhcnJheURpZmYuZGlmZihvbGRBcnIsIG5ld0FyciwgY2FsbGJhY2spOyB9XG4iXX0=
|
|
@@ -1,304 +0,0 @@
|
|
|
1
|
-
/*istanbul ignore start*/
|
|
2
|
-
"use strict";
|
|
3
|
-
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = Diff;
|
|
8
|
-
|
|
9
|
-
/*istanbul ignore end*/
|
|
10
|
-
function Diff() {}
|
|
11
|
-
|
|
12
|
-
Diff.prototype = {
|
|
13
|
-
/*istanbul ignore start*/
|
|
14
|
-
|
|
15
|
-
/*istanbul ignore end*/
|
|
16
|
-
diff: function diff(oldString, newString) {
|
|
17
|
-
/*istanbul ignore start*/
|
|
18
|
-
var
|
|
19
|
-
/*istanbul ignore end*/
|
|
20
|
-
options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
21
|
-
var callback = options.callback;
|
|
22
|
-
|
|
23
|
-
if (typeof options === 'function') {
|
|
24
|
-
callback = options;
|
|
25
|
-
options = {};
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
this.options = options;
|
|
29
|
-
var self = this;
|
|
30
|
-
|
|
31
|
-
function done(value) {
|
|
32
|
-
if (callback) {
|
|
33
|
-
setTimeout(function () {
|
|
34
|
-
callback(undefined, value);
|
|
35
|
-
}, 0);
|
|
36
|
-
return true;
|
|
37
|
-
} else {
|
|
38
|
-
return value;
|
|
39
|
-
}
|
|
40
|
-
} // Allow subclasses to massage the input prior to running
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
oldString = this.castInput(oldString);
|
|
44
|
-
newString = this.castInput(newString);
|
|
45
|
-
oldString = this.removeEmpty(this.tokenize(oldString));
|
|
46
|
-
newString = this.removeEmpty(this.tokenize(newString));
|
|
47
|
-
var newLen = newString.length,
|
|
48
|
-
oldLen = oldString.length;
|
|
49
|
-
var editLength = 1;
|
|
50
|
-
var maxEditLength = newLen + oldLen;
|
|
51
|
-
var bestPath = [{
|
|
52
|
-
newPos: -1,
|
|
53
|
-
components: []
|
|
54
|
-
}]; // Seed editLength = 0, i.e. the content starts with the same values
|
|
55
|
-
|
|
56
|
-
var oldPos = this.extractCommon(bestPath[0], newString, oldString, 0);
|
|
57
|
-
|
|
58
|
-
if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) {
|
|
59
|
-
// Identity per the equality and tokenizer
|
|
60
|
-
return done([{
|
|
61
|
-
value: this.join(newString),
|
|
62
|
-
count: newString.length
|
|
63
|
-
}]);
|
|
64
|
-
} // Main worker method. checks all permutations of a given edit length for acceptance.
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
function execEditLength() {
|
|
68
|
-
for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) {
|
|
69
|
-
var basePath =
|
|
70
|
-
/*istanbul ignore start*/
|
|
71
|
-
void 0
|
|
72
|
-
/*istanbul ignore end*/
|
|
73
|
-
;
|
|
74
|
-
|
|
75
|
-
var addPath = bestPath[diagonalPath - 1],
|
|
76
|
-
removePath = bestPath[diagonalPath + 1],
|
|
77
|
-
_oldPos = (removePath ? removePath.newPos : 0) - diagonalPath;
|
|
78
|
-
|
|
79
|
-
if (addPath) {
|
|
80
|
-
// No one else is going to attempt to use this value, clear it
|
|
81
|
-
bestPath[diagonalPath - 1] = undefined;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
var canAdd = addPath && addPath.newPos + 1 < newLen,
|
|
85
|
-
canRemove = removePath && 0 <= _oldPos && _oldPos < oldLen;
|
|
86
|
-
|
|
87
|
-
if (!canAdd && !canRemove) {
|
|
88
|
-
// If this path is a terminal then prune
|
|
89
|
-
bestPath[diagonalPath] = undefined;
|
|
90
|
-
continue;
|
|
91
|
-
} // Select the diagonal that we want to branch from. We select the prior
|
|
92
|
-
// path whose position in the new string is the farthest from the origin
|
|
93
|
-
// and does not pass the bounds of the diff graph
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
if (!canAdd || canRemove && addPath.newPos < removePath.newPos) {
|
|
97
|
-
basePath = clonePath(removePath);
|
|
98
|
-
self.pushComponent(basePath.components, undefined, true);
|
|
99
|
-
} else {
|
|
100
|
-
basePath = addPath; // No need to clone, we've pulled it from the list
|
|
101
|
-
|
|
102
|
-
basePath.newPos++;
|
|
103
|
-
self.pushComponent(basePath.components, true, undefined);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
_oldPos = self.extractCommon(basePath, newString, oldString, diagonalPath); // If we have hit the end of both strings, then we are done
|
|
107
|
-
|
|
108
|
-
if (basePath.newPos + 1 >= newLen && _oldPos + 1 >= oldLen) {
|
|
109
|
-
return done(buildValues(self, basePath.components, newString, oldString, self.useLongestToken));
|
|
110
|
-
} else {
|
|
111
|
-
// Otherwise track this path as a potential candidate and continue.
|
|
112
|
-
bestPath[diagonalPath] = basePath;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
editLength++;
|
|
117
|
-
} // Performs the length of edit iteration. Is a bit fugly as this has to support the
|
|
118
|
-
// sync and async mode which is never fun. Loops over execEditLength until a value
|
|
119
|
-
// is produced.
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
if (callback) {
|
|
123
|
-
(function exec() {
|
|
124
|
-
setTimeout(function () {
|
|
125
|
-
// This should not happen, but we want to be safe.
|
|
126
|
-
|
|
127
|
-
/* istanbul ignore next */
|
|
128
|
-
if (editLength > maxEditLength) {
|
|
129
|
-
return callback();
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
if (!execEditLength()) {
|
|
133
|
-
exec();
|
|
134
|
-
}
|
|
135
|
-
}, 0);
|
|
136
|
-
})();
|
|
137
|
-
} else {
|
|
138
|
-
while (editLength <= maxEditLength) {
|
|
139
|
-
var ret = execEditLength();
|
|
140
|
-
|
|
141
|
-
if (ret) {
|
|
142
|
-
return ret;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
},
|
|
147
|
-
|
|
148
|
-
/*istanbul ignore start*/
|
|
149
|
-
|
|
150
|
-
/*istanbul ignore end*/
|
|
151
|
-
pushComponent: function pushComponent(components, added, removed) {
|
|
152
|
-
var last = components[components.length - 1];
|
|
153
|
-
|
|
154
|
-
if (last && last.added === added && last.removed === removed) {
|
|
155
|
-
// We need to clone here as the component clone operation is just
|
|
156
|
-
// as shallow array clone
|
|
157
|
-
components[components.length - 1] = {
|
|
158
|
-
count: last.count + 1,
|
|
159
|
-
added: added,
|
|
160
|
-
removed: removed
|
|
161
|
-
};
|
|
162
|
-
} else {
|
|
163
|
-
components.push({
|
|
164
|
-
count: 1,
|
|
165
|
-
added: added,
|
|
166
|
-
removed: removed
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
},
|
|
170
|
-
|
|
171
|
-
/*istanbul ignore start*/
|
|
172
|
-
|
|
173
|
-
/*istanbul ignore end*/
|
|
174
|
-
extractCommon: function extractCommon(basePath, newString, oldString, diagonalPath) {
|
|
175
|
-
var newLen = newString.length,
|
|
176
|
-
oldLen = oldString.length,
|
|
177
|
-
newPos = basePath.newPos,
|
|
178
|
-
oldPos = newPos - diagonalPath,
|
|
179
|
-
commonCount = 0;
|
|
180
|
-
|
|
181
|
-
while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) {
|
|
182
|
-
newPos++;
|
|
183
|
-
oldPos++;
|
|
184
|
-
commonCount++;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
if (commonCount) {
|
|
188
|
-
basePath.components.push({
|
|
189
|
-
count: commonCount
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
basePath.newPos = newPos;
|
|
194
|
-
return oldPos;
|
|
195
|
-
},
|
|
196
|
-
|
|
197
|
-
/*istanbul ignore start*/
|
|
198
|
-
|
|
199
|
-
/*istanbul ignore end*/
|
|
200
|
-
equals: function equals(left, right) {
|
|
201
|
-
if (this.options.comparator) {
|
|
202
|
-
return this.options.comparator(left, right);
|
|
203
|
-
} else {
|
|
204
|
-
return left === right || this.options.ignoreCase && left.toLowerCase() === right.toLowerCase();
|
|
205
|
-
}
|
|
206
|
-
},
|
|
207
|
-
|
|
208
|
-
/*istanbul ignore start*/
|
|
209
|
-
|
|
210
|
-
/*istanbul ignore end*/
|
|
211
|
-
removeEmpty: function removeEmpty(array) {
|
|
212
|
-
var ret = [];
|
|
213
|
-
|
|
214
|
-
for (var i = 0; i < array.length; i++) {
|
|
215
|
-
if (array[i]) {
|
|
216
|
-
ret.push(array[i]);
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
return ret;
|
|
221
|
-
},
|
|
222
|
-
|
|
223
|
-
/*istanbul ignore start*/
|
|
224
|
-
|
|
225
|
-
/*istanbul ignore end*/
|
|
226
|
-
castInput: function castInput(value) {
|
|
227
|
-
return value;
|
|
228
|
-
},
|
|
229
|
-
|
|
230
|
-
/*istanbul ignore start*/
|
|
231
|
-
|
|
232
|
-
/*istanbul ignore end*/
|
|
233
|
-
tokenize: function tokenize(value) {
|
|
234
|
-
return value.split('');
|
|
235
|
-
},
|
|
236
|
-
|
|
237
|
-
/*istanbul ignore start*/
|
|
238
|
-
|
|
239
|
-
/*istanbul ignore end*/
|
|
240
|
-
join: function join(chars) {
|
|
241
|
-
return chars.join('');
|
|
242
|
-
}
|
|
243
|
-
};
|
|
244
|
-
|
|
245
|
-
function buildValues(diff, components, newString, oldString, useLongestToken) {
|
|
246
|
-
var componentPos = 0,
|
|
247
|
-
componentLen = components.length,
|
|
248
|
-
newPos = 0,
|
|
249
|
-
oldPos = 0;
|
|
250
|
-
|
|
251
|
-
for (; componentPos < componentLen; componentPos++) {
|
|
252
|
-
var component = components[componentPos];
|
|
253
|
-
|
|
254
|
-
if (!component.removed) {
|
|
255
|
-
if (!component.added && useLongestToken) {
|
|
256
|
-
var value = newString.slice(newPos, newPos + component.count);
|
|
257
|
-
value = value.map(function (value, i) {
|
|
258
|
-
var oldValue = oldString[oldPos + i];
|
|
259
|
-
return oldValue.length > value.length ? oldValue : value;
|
|
260
|
-
});
|
|
261
|
-
component.value = diff.join(value);
|
|
262
|
-
} else {
|
|
263
|
-
component.value = diff.join(newString.slice(newPos, newPos + component.count));
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
newPos += component.count; // Common case
|
|
267
|
-
|
|
268
|
-
if (!component.added) {
|
|
269
|
-
oldPos += component.count;
|
|
270
|
-
}
|
|
271
|
-
} else {
|
|
272
|
-
component.value = diff.join(oldString.slice(oldPos, oldPos + component.count));
|
|
273
|
-
oldPos += component.count; // Reverse add and remove so removes are output first to match common convention
|
|
274
|
-
// The diffing algorithm is tied to add then remove output and this is the simplest
|
|
275
|
-
// route to get the desired output with minimal overhead.
|
|
276
|
-
|
|
277
|
-
if (componentPos && components[componentPos - 1].added) {
|
|
278
|
-
var tmp = components[componentPos - 1];
|
|
279
|
-
components[componentPos - 1] = components[componentPos];
|
|
280
|
-
components[componentPos] = tmp;
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
} // Special case handle for when one terminal is ignored (i.e. whitespace).
|
|
284
|
-
// For this case we merge the terminal into the prior string and drop the change.
|
|
285
|
-
// This is only available for string mode.
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
var lastComponent = components[componentLen - 1];
|
|
289
|
-
|
|
290
|
-
if (componentLen > 1 && typeof lastComponent.value === 'string' && (lastComponent.added || lastComponent.removed) && diff.equals('', lastComponent.value)) {
|
|
291
|
-
components[componentLen - 2].value += lastComponent.value;
|
|
292
|
-
components.pop();
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
return components;
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
function clonePath(path) {
|
|
299
|
-
return {
|
|
300
|
-
newPos: path.newPos,
|
|
301
|
-
components: path.components.slice(0)
|
|
302
|
-
};
|
|
303
|
-
}
|
|
304
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaWZmL2Jhc2UuanMiXSwibmFtZXMiOlsiRGlmZiIsInByb3RvdHlwZSIsImRpZmYiLCJvbGRTdHJpbmciLCJuZXdTdHJpbmciLCJvcHRpb25zIiwiY2FsbGJhY2siLCJzZWxmIiwiZG9uZSIsInZhbHVlIiwic2V0VGltZW91dCIsInVuZGVmaW5lZCIsImNhc3RJbnB1dCIsInJlbW92ZUVtcHR5IiwidG9rZW5pemUiLCJuZXdMZW4iLCJsZW5ndGgiLCJvbGRMZW4iLCJlZGl0TGVuZ3RoIiwibWF4RWRpdExlbmd0aCIsImJlc3RQYXRoIiwibmV3UG9zIiwiY29tcG9uZW50cyIsIm9sZFBvcyIsImV4dHJhY3RDb21tb24iLCJqb2luIiwiY291bnQiLCJleGVjRWRpdExlbmd0aCIsImRpYWdvbmFsUGF0aCIsImJhc2VQYXRoIiwiYWRkUGF0aCIsInJlbW92ZVBhdGgiLCJjYW5BZGQiLCJjYW5SZW1vdmUiLCJjbG9uZVBhdGgiLCJwdXNoQ29tcG9uZW50IiwiYnVpbGRWYWx1ZXMiLCJ1c2VMb25nZXN0VG9rZW4iLCJleGVjIiwicmV0IiwiYWRkZWQiLCJyZW1vdmVkIiwibGFzdCIsInB1c2giLCJjb21tb25Db3VudCIsImVxdWFscyIsImxlZnQiLCJyaWdodCIsImNvbXBhcmF0b3IiLCJpZ25vcmVDYXNlIiwidG9Mb3dlckNhc2UiLCJhcnJheSIsImkiLCJzcGxpdCIsImNoYXJzIiwiY29tcG9uZW50UG9zIiwiY29tcG9uZW50TGVuIiwiY29tcG9uZW50Iiwic2xpY2UiLCJtYXAiLCJvbGRWYWx1ZSIsInRtcCIsImxhc3RDb21wb25lbnQiLCJwb3AiLCJwYXRoIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBZSxTQUFTQSxJQUFULEdBQWdCLENBQUU7O0FBRWpDQSxJQUFJLENBQUNDLFNBQUwsR0FBaUI7QUFBQTs7QUFBQTtBQUNmQyxFQUFBQSxJQURlLGdCQUNWQyxTQURVLEVBQ0NDLFNBREQsRUFDMEI7QUFBQTtBQUFBO0FBQUE7QUFBZEMs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QUcsQ0FBZixJQUNHLE9BQU9NLGFBQWEsQ0FBQ3JELEtBQXJCLEtBQStCLFFBRGxDLEtBRUlxRCxhQUFhLENBQUN0QixLQUFkLElBQXVCc0IsYUFBYSxDQUFDckIsT0FGekMsS0FHR3ZDLElBQUksQ0FBQzJDLE1BQUwsQ0FBWSxFQUFaLEVBQWdCaUIsYUFBYSxDQUFDckQsS0FBOUIsQ0FIUCxFQUc2QztBQUMzQ2EsSUFBQUEsVUFBVSxDQUFDa0MsWUFBWSxHQUFHLENBQWhCLENBQVYsQ0FBNkIvQyxLQUE3QixJQUFzQ3FELGFBQWEsQ0FBQ3JELEtBQXBEO0FBQ0FhLElBQUFBLFVBQVUsQ0FBQ3lDLEdBQVg7QUFDRDs7QUFFRCxTQUFPekMsVUFBUDtBQUNEOztBQUVELFNBQVNZLFNBQVQsQ0FBbUI4QixJQUFuQixFQUF5QjtBQUN2QixTQUFPO0FBQUUzQyxJQUFBQSxNQUFNLEVBQUUyQyxJQUFJLENBQUMzQyxNQUFmO0FBQXVCQyxJQUFBQSxVQUFVLEVBQUUwQyxJQUFJLENBQUMxQyxVQUFMLENBQWdCb0MsS0FBaEIsQ0FBc0IsQ0FBdEI7QUFBbkMsR0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRGlmZigpIHt9XG5cbkRpZmYucHJvdG90eXBlID0ge1xuICBkaWZmKG9sZFN0cmluZywgbmV3U3RyaW5nLCBvcHRpb25zID0ge30pIHtcbiAgICBsZXQgY2FsbGJhY2sgPSBvcHRpb25zLmNhbGxiYWNrO1xuICAgIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY2FsbGJhY2sgPSBvcHRpb25zO1xuICAgICAgb3B0aW9ucyA9IHt9O1xuICAgIH1cbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuXG4gICAgbGV0IHNlbGYgPSB0aGlzO1xuXG4gICAgZnVuY3Rpb24gZG9uZSh2YWx1ZSkge1xuICAgICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IGNhbGxiYWNrKHVuZGVmaW5lZCwgdmFsdWUpOyB9LCAwKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxsb3cgc3ViY2xhc3NlcyB0byBtYXNzYWdlIHRoZSBpbnB1dCBwcmlvciB0byBydW5uaW5nXG4gICAgb2xkU3RyaW5nID0gdGhpcy5jYXN0SW5wdXQob2xkU3RyaW5nKTtcbiAgICBuZXdTdHJpbmcgPSB0aGlzLmNhc3RJbnB1dChuZXdTdHJpbmcpO1xuXG4gICAgb2xkU3RyaW5nID0gdGhpcy5yZW1vdmVFbXB0eSh0aGlzLnRva2VuaXplKG9sZFN0cmluZykpO1xuICAgIG5ld1N0cmluZyA9IHRoaXMucmVtb3ZlRW1wdHkodGhpcy50b2tlbml6ZShuZXdTdHJpbmcpKTtcblxuICAgIGxldCBuZXdMZW4gPSBuZXdTdHJpbmcubGVuZ3RoLCBvbGRMZW4gPSBvbGRTdHJpbmcubGVuZ3RoO1xuICAgIGxldCBlZGl0TGVuZ3RoID0gMTtcbiAgICBsZXQgbWF4RWRpdExlbmd0aCA9IG5ld0xlbiArIG9sZExlbjtcbiAgICBsZXQgYmVzdFBhdGggPSBbeyBuZXdQb3M6IC0xLCBjb21wb25lbnRzOiBbXSB9XTtcblxuICAgIC8vIFNlZWQgZWRpdExlbmd0aCA9IDAsIGkuZS4gdGhlIGNvbnRlbnQgc3RhcnRzIHdpdGggdGhlIHNhbWUgdmFsdWVzXG4gICAgbGV0IG9sZFBvcyA9IHRoaXMuZXh0cmFjdENvbW1vbihiZXN0UGF0aFswXSwgbmV3U3RyaW5nLCBvbGRTdHJpbmcsIDApO1xuICAgIGlmIChiZXN0UGF0aFswXS5uZXdQb3MgKyAxID49IG5ld0xlbiAmJiBvbGRQb3MgKyAxID49IG9sZExlbikge1xuICAgICAgLy8gSWRlbnRpdHkgcGVyIHRoZSBlcXVhbGl0eSBhbmQgdG9rZW5pemVyXG4gICAgICByZXR1cm4gZG9uZShbe3ZhbHVlOiB0aGlzLmpvaW4obmV3U3RyaW5nKSwgY291bnQ6IG5ld1N0cmluZy5sZW5ndGh9XSk7XG4gICAgfVxuXG4gICAgLy8gTWFpbiB3b3JrZXIgbWV0aG9kLiBjaGVja3MgYWxsIHBlcm11dGF0aW9ucyBvZiBhIGdpdmVuIGVkaXQgbGVuZ3RoIGZvciBhY2NlcHRhbmNlLlxuICAgIGZ1bmN0aW9uIGV4ZWNFZGl0TGVuZ3RoKCkge1xuICAgICAgZm9yIChsZXQgZGlhZ29uYWxQYXRoID0gLTEgKiBlZGl0TGVuZ3RoOyBkaWFnb25hbFBhdGggPD0gZWRpdExlbmd0aDsgZGlhZ29uYWxQYXRoICs9IDIpIHtcbiAgICAgICAgbGV0IGJhc2VQYXRoO1xuICAgICAgICBsZXQgYWRkUGF0aCA9IGJlc3RQYXRoW2RpYWdvbmFsUGF0aCAtIDFdLFxuICAgICAgICAgICAgcmVtb3ZlUGF0aCA9IGJlc3RQYXRoW2RpYWdvbmFsUGF0aCArIDFdLFxuICAgICAgICAgICAgb2xkUG9zID0gKHJlbW92ZVBhdGggPyByZW1vdmVQYXRoLm5ld1BvcyA6IDApIC0gZGlhZ29uYWxQYXRoO1xuICAgICAgICBpZiAoYWRkUGF0aCkge1xuICAgICAgICAgIC8vIE5vIG9uZSBlbHNlIGlzIGdvaW5nIHRvIGF0dGVtcHQgdG8gdXNlIHRoaXMgdmFsdWUsIGNsZWFyIGl0XG4gICAgICAgICAgYmVzdFBhdGhbZGlhZ29uYWxQYXRoIC0gMV0gPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgY2FuQWRkID0gYWRkUGF0aCAmJiBhZGRQYXRoLm5ld1BvcyArIDEgPCBuZXdMZW4sXG4gICAgICAgICAgICBjYW5SZW1vdmUgPSByZW1vdmVQYXRoICYmIDAgPD0gb2xkUG9zICYmIG9sZFBvcyA8IG9sZExlbjtcbiAgICAgICAgaWYgKCFjYW5BZGQgJiYgIWNhblJlbW92ZSkge1xuICAgICAgICAgIC8vIElmIHRoaXMgcGF0aCBpcyBhIHRlcm1pbmFsIHRoZW4gcHJ1bmVcbiAgICAgICAgICBiZXN0UGF0aFtkaWFnb25hbFBhdGhdID0gdW5kZWZpbmVkO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2VsZWN0IHRoZSBkaWFnb25hbCB0aGF0IHdlIHdhbnQgdG8gYnJhbmNoIGZyb20uIFdlIHNlbGVjdCB0aGUgcHJpb3JcbiAgICAgICAgLy8gcGF0aCB3aG9zZSBwb3NpdGlvbiBpbiB0aGUgbmV3IHN0cmluZyBpcyB0aGUgZmFydGhlc3QgZnJvbSB0aGUgb3JpZ2luXG4gICAgICAgIC8vIGFuZCBkb2VzIG5vdCBwYXNzIHRoZSBib3VuZHMgb2YgdGhlIGRpZmYgZ3JhcGhcbiAgICAgICAgaWYgKCFjYW5BZGQgfHwgKGNhblJlbW92ZSAmJiBhZGRQYXRoLm5ld1BvcyA8IHJlbW92ZVBhdGgubmV3UG9zKSkge1xuICAgICAgICAgIGJhc2VQYXRoID0gY2xvbmVQYXRoKHJlbW92ZVBhdGgpO1xuICAgICAgICAgIHNlbGYucHVzaENvbXBvbmVudChiYXNlUGF0aC5jb21wb25lbnRzLCB1bmRlZmluZWQsIHRydWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGJhc2VQYXRoID0gYWRkUGF0aDsgLy8gTm8gbmVlZCB0byBjbG9uZSwgd2UndmUgcHVsbGVkIGl0IGZyb20gdGhlIGxpc3RcbiAgICAgICAgICBiYXNlUGF0aC5uZXdQb3MrKztcbiAgICAgICAgICBzZWxmLnB1c2hDb21wb25lbnQoYmFzZVBhdGguY29tcG9uZW50cywgdHJ1ZSwgdW5kZWZpbmVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIG9sZFBvcyA9IHNlbGYuZXh0cmFjdENvbW1vbihiYXNlUGF0aCwgbmV3U3RyaW5nLCBvbGRTdHJpbmcsIGRpYWdvbmFsUGF0aCk7XG5cbiAgICAgICAgLy8gSWYgd2UgaGF2ZSBoaXQgdGhlIGVuZCBvZiBib3RoIHN0cmluZ3MsIHRoZW4gd2UgYXJlIGRvbmVcbiAgICAgICAgaWYgKGJhc2VQYXRoLm5ld1BvcyArIDEgPj0gbmV3TGVuICYmIG9sZFBvcyArIDEgPj0gb2xkTGVuKSB7XG4gICAgICAgICAgcmV0dXJuIGRvbmUoYnVpbGRWYWx1ZXMoc2VsZiwgYmFzZVBhdGguY29tcG9uZW50cywgbmV3U3RyaW5nLCBvbGRTdHJpbmcsIHNlbGYudXNlTG9uZ2VzdFRva2VuKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gT3RoZXJ3aXNlIHRyYWNrIHRoaXMgcGF0aCBhcyBhIHBvdGVudGlhbCBjYW5kaWRhdGUgYW5kIGNvbnRpbnVlLlxuICAgICAgICAgIGJlc3RQYXRoW2RpYWdvbmFsUGF0aF0gPSBiYXNlUGF0aDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBlZGl0TGVuZ3RoKys7XG4gICAgfVxuXG4gICAgLy8gUGVyZm9ybXMgdGhlIGxlbmd0aCBvZiBlZGl0IGl0ZXJhdGlvbi4gSXMgYSBiaXQgZnVnbHkgYXMgdGhpcyBoYXMgdG8gc3VwcG9ydCB0aGVcbiAgICAvLyBzeW5jIGFuZCBhc3luYyBtb2RlIHdoaWNoIGlzIG5ldmVyIGZ1bi4gTG9vcHMgb3ZlciBleGVjRWRpdExlbmd0aCB1bnRpbCBhIHZhbHVlXG4gICAgLy8gaXMgcHJvZHVjZWQuXG4gICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAoZnVuY3Rpb24gZXhlYygpIHtcbiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtcbiAgICAgICAgICAvLyBUaGlzIHNob3VsZCBub3QgaGFwcGVuLCBidXQgd2Ugd2FudCB0byBiZSBzYWZlLlxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgICAgaWYgKGVkaXRMZW5ndGggPiBtYXhFZGl0TGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoIWV4ZWNFZGl0TGVuZ3RoKCkpIHtcbiAgICAgICAgICAgIGV4ZWMoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDApO1xuICAgICAgfSgpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgd2hpbGUgKGVkaXRMZW5ndGggPD0gbWF4RWRpdExlbmd0aCkge1xuICAgICAgICBsZXQgcmV0ID0gZXhlY0VkaXRMZW5ndGgoKTtcbiAgICAgICAgaWYgKHJldCkge1xuICAgICAgICAgIHJldHVybiByZXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0sXG5cbiAgcHVzaENvbXBvbmVudChjb21wb25lbnRzLCBhZGRlZCwgcmVtb3ZlZCkge1xuICAgIGxldCBsYXN0ID0gY29tcG9uZW50c1tjb21wb25lbnRzLmxlbmd0aCAtIDFdO1xuICAgIGlmIChsYXN0ICYmIGxhc3QuYWRkZWQgPT09IGFkZGVkICYmIGxhc3QucmVtb3ZlZCA9PT0gcmVtb3ZlZCkge1xuICAgICAgLy8gV2UgbmVlZCB0byBjbG9uZSBoZXJlIGFzIHRoZSBjb21wb25lbnQgY2xvbmUgb3BlcmF0aW9uIGlzIGp1c3RcbiAgICAgIC8vIGFzIHNoYWxsb3cgYXJyYXkgY2xvbmVcbiAgICAgIGNvbXBvbmVudHNbY29tcG9uZW50cy5sZW5ndGggLSAxXSA9IHtjb3VudDogbGFzdC5jb3VudCArIDEsIGFkZGVkOiBhZGRlZCwgcmVtb3ZlZDogcmVtb3ZlZCB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBjb21wb25lbnRzLnB1c2goe2NvdW50OiAxLCBhZGRlZDogYWRkZWQsIHJlbW92ZWQ6IHJlbW92ZWQgfSk7XG4gICAgfVxuICB9LFxuICBleHRyYWN0Q29tbW9uKGJhc2VQYXRoLCBuZXdTdHJpbmcsIG9sZFN0cmluZywgZGlhZ29uYWxQYXRoKSB7XG4gICAgbGV0IG5ld0xlbiA9IG5ld1N0cmluZy5sZW5ndGgsXG4gICAgICAgIG9sZExlbiA9IG9sZFN0cmluZy5sZW5ndGgsXG4gICAgICAgIG5ld1BvcyA9IGJhc2VQYXRoLm5ld1BvcyxcbiAgICAgICAgb2xkUG9zID0gbmV3UG9zIC0gZGlhZ29uYWxQYXRoLFxuXG4gICAgICAgIGNvbW1vbkNvdW50ID0gMDtcbiAgICB3aGlsZSAobmV3UG9zICsgMSA8IG5ld0xlbiAmJiBvbGRQb3MgKyAxIDwgb2xkTGVuICYmIHRoaXMuZXF1YWxzKG5ld1N0cmluZ1tuZXdQb3MgKyAxXSwgb2xkU3RyaW5nW29sZFBvcyArIDFdKSkge1xuICAgICAgbmV3UG9zKys7XG4gICAgICBvbGRQb3MrKztcbiAgICAgIGNvbW1vbkNvdW50Kys7XG4gICAgfVxuXG4gICAgaWYgKGNvbW1vbkNvdW50KSB7XG4gICAgICBiYXNlUGF0aC5jb21wb25lbnRzLnB1c2goe2NvdW50OiBjb21tb25Db3VudH0pO1xuICAgIH1cblxuICAgIGJhc2VQYXRoLm5ld1BvcyA9IG5ld1BvcztcbiAgICByZXR1cm4gb2xkUG9zO1xuICB9LFxuXG4gIGVxdWFscyhsZWZ0LCByaWdodCkge1xuICAgIGlmICh0aGlzLm9wdGlvbnMuY29tcGFyYXRvcikge1xuICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5jb21wYXJhdG9yKGxlZnQsIHJpZ2h0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGxlZnQgPT09IHJpZ2h0XG4gICAgICAgIHx8ICh0aGlzLm9wdGlvbnMuaWdub3JlQ2FzZSAmJiBsZWZ0LnRvTG93ZXJDYXNlKCkgPT09IHJpZ2h0LnRvTG93ZXJDYXNlKCkpO1xuICAgIH1cbiAgfSxcbiAgcmVtb3ZlRW1wdHkoYXJyYXkpIHtcbiAgICBsZXQgcmV0ID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKGFycmF5W2ldKSB7XG4gICAgICAgIHJldC5wdXNoKGFycmF5W2ldKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJldDtcbiAgfSxcbiAgY2FzdElucHV0KHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9LFxuICB0b2tlbml6ZSh2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZS5zcGxpdCgnJyk7XG4gIH0sXG4gIGpvaW4oY2hhcnMpIHtcbiAgICByZXR1cm4gY2hhcnMuam9pbignJyk7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIGJ1aWxkVmFsdWVzKGRpZmYsIGNvbXBvbmVudHMsIG5ld1N0cmluZywgb2xkU3RyaW5nLCB1c2VMb25nZXN0VG9rZW4pIHtcbiAgbGV0IGNvbXBvbmVudFBvcyA9IDAsXG4gICAgICBjb21wb25lbnRMZW4gPSBjb21wb25lbnRzLmxlbmd0aCxcbiAgICAgIG5ld1BvcyA9IDAsXG4gICAgICBvbGRQb3MgPSAwO1xuXG4gIGZvciAoOyBjb21wb25lbnRQb3MgPCBjb21wb25lbnRMZW47IGNvbXBvbmVudFBvcysrKSB7XG4gICAgbGV0IGNvbXBvbmVudCA9IGNvbXBvbmVudHNbY29tcG9uZW50UG9zXTtcbiAgICBpZiAoIWNvbXBvbmVudC5yZW1vdmVkKSB7XG4gICAgICBpZiAoIWNvbXBvbmVudC5hZGRlZCAmJiB1c2VMb25nZXN0VG9rZW4pIHtcbiAgICAgICAgbGV0IHZhbHVlID0gbmV3U3RyaW5nLnNsaWNlKG5ld1BvcywgbmV3UG9zICsgY29tcG9uZW50LmNvdW50KTtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZS5tYXAoZnVuY3Rpb24odmFsdWUsIGkpIHtcbiAgICAgICAgICBsZXQgb2xkVmFsdWUgPSBvbGRTdHJpbmdbb2xkUG9zICsgaV07XG4gICAgICAgICAgcmV0dXJuIG9sZFZhbHVlLmxlbmd0aCA+IHZhbHVlLmxlbmd0aCA/IG9sZFZhbHVlIDogdmFsdWU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbXBvbmVudC52YWx1ZSA9IGRpZmYuam9pbih2YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb21wb25lbnQudmFsdWUgPSBkaWZmLmpvaW4obmV3U3RyaW5nLnNsaWNlKG5ld1BvcywgbmV3UG9zICsgY29tcG9uZW50LmNvdW50KSk7XG4gICAgICB9XG4gICAgICBuZXdQb3MgKz0gY29tcG9uZW50LmNvdW50O1xuXG4gICAgICAvLyBDb21tb24gY2FzZVxuICAgICAgaWYgKCFjb21wb25lbnQuYWRkZWQpIHtcbiAgICAgICAgb2xkUG9zICs9IGNvbXBvbmVudC5jb3VudDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29tcG9uZW50LnZhbHVlID0gZGlmZi5qb2luKG9sZFN0cmluZy5zbGljZShvbGRQb3MsIG9sZFBvcyArIGNvbXBvbmVudC5jb3VudCkpO1xuICAgICAgb2xkUG9zICs9IGNvbXBvbmVudC5jb3VudDtcblxuICAgICAgLy8gUmV2ZXJzZSBhZGQgYW5kIHJlbW92ZSBzbyByZW1vdmVzIGFyZSBvdXRwdXQgZmlyc3QgdG8gbWF0Y2ggY29tbW9uIGNvbnZlbnRpb25cbiAgICAgIC8vIFRoZSBkaWZmaW5nIGFsZ29yaXRobSBpcyB0aWVkIHRvIGFkZCB0aGVuIHJlbW92ZSBvdXRwdXQgYW5kIHRoaXMgaXMgdGhlIHNpbXBsZXN0XG4gICAgICAvLyByb3V0ZSB0byBnZXQgdGhlIGRlc2lyZWQgb3V0cHV0IHdpdGggbWluaW1hbCBvdmVyaGVhZC5cbiAgICAgIGlmIChjb21wb25lbnRQb3MgJiYgY29tcG9uZW50c1tjb21wb25lbnRQb3MgLSAxXS5hZGRlZCkge1xuICAgICAgICBsZXQgdG1wID0gY29tcG9uZW50c1tjb21wb25lbnRQb3MgLSAxXTtcbiAgICAgICAgY29tcG9uZW50c1tjb21wb25lbnRQb3MgLSAxXSA9IGNvbXBvbmVudHNbY29tcG9uZW50UG9zXTtcbiAgICAgICAgY29tcG9uZW50c1tjb21wb25lbnRQb3NdID0gdG1wO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpYWwgY2FzZSBoYW5kbGUgZm9yIHdoZW4gb25lIHRlcm1pbmFsIGlzIGlnbm9yZWQgKGkuZS4gd2hpdGVzcGFjZSkuXG4gIC8vIEZvciB0aGlzIGNhc2Ugd2UgbWVyZ2UgdGhlIHRlcm1pbmFsIGludG8gdGhlIHByaW9yIHN0cmluZyBhbmQgZHJvcCB0aGUgY2hhbmdlLlxuICAvLyBUaGlzIGlzIG9ubHkgYXZhaWxhYmxlIGZvciBzdHJpbmcgbW9kZS5cbiAgbGV0IGxhc3RDb21wb25lbnQgPSBjb21wb25lbnRzW2NvbXBvbmVudExlbiAtIDFdO1xuICBpZiAoY29tcG9uZW50TGVuID4gMVxuICAgICAgJiYgdHlwZW9mIGxhc3RDb21wb25lbnQudmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICAmJiAobGFzdENvbXBvbmVudC5hZGRlZCB8fCBsYXN0Q29tcG9uZW50LnJlbW92ZWQpXG4gICAgICAmJiBkaWZmLmVxdWFscygnJywgbGFzdENvbXBvbmVudC52YWx1ZSkpIHtcbiAgICBjb21wb25lbnRzW2NvbXBvbmVudExlbiAtIDJdLnZhbHVlICs9IGxhc3RDb21wb25lbnQudmFsdWU7XG4gICAgY29tcG9uZW50cy5wb3AoKTtcbiAgfVxuXG4gIHJldHVybiBjb21wb25lbnRzO1xufVxuXG5mdW5jdGlvbiBjbG9uZVBhdGgocGF0aCkge1xuICByZXR1cm4geyBuZXdQb3M6IHBhdGgubmV3UG9zLCBjb21wb25lbnRzOiBwYXRoLmNvbXBvbmVudHMuc2xpY2UoMCkgfTtcbn1cbiJdfQ==
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/*istanbul ignore start*/
|
|
2
|
-
"use strict";
|
|
3
|
-
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.diffChars = diffChars;
|
|
8
|
-
exports.characterDiff = void 0;
|
|
9
|
-
|
|
10
|
-
/*istanbul ignore end*/
|
|
11
|
-
var
|
|
12
|
-
/*istanbul ignore start*/
|
|
13
|
-
_base = _interopRequireDefault(require("./base"))
|
|
14
|
-
/*istanbul ignore end*/
|
|
15
|
-
;
|
|
16
|
-
|
|
17
|
-
/*istanbul ignore start*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
|
-
|
|
19
|
-
/*istanbul ignore end*/
|
|
20
|
-
var characterDiff = new
|
|
21
|
-
/*istanbul ignore start*/
|
|
22
|
-
_base
|
|
23
|
-
/*istanbul ignore end*/
|
|
24
|
-
.
|
|
25
|
-
/*istanbul ignore start*/
|
|
26
|
-
default
|
|
27
|
-
/*istanbul ignore end*/
|
|
28
|
-
();
|
|
29
|
-
|
|
30
|
-
/*istanbul ignore start*/
|
|
31
|
-
exports.characterDiff = characterDiff;
|
|
32
|
-
|
|
33
|
-
/*istanbul ignore end*/
|
|
34
|
-
function diffChars(oldStr, newStr, options) {
|
|
35
|
-
return characterDiff.diff(oldStr, newStr, options);
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaWZmL2NoYXJhY3Rlci5qcyJdLCJuYW1lcyI6WyJjaGFyYWN0ZXJEaWZmIiwiRGlmZiIsImRpZmZDaGFycyIsIm9sZFN0ciIsIm5ld1N0ciIsIm9wdGlvbnMiLCJkaWZmIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7QUFFTyxJQUFNQSxhQUFhLEdBQUc7QUFBSUM7QUFBQUE7QUFBQUE7QUFBQUE7QUFBQUE7QUFBQUE7QUFBSjtBQUFBLEVBQXRCOzs7Ozs7QUFDQSxTQUFTQyxTQUFULENBQW1CQyxNQUFuQixFQUEyQkMsTUFBM0IsRUFBbUNDLE9BQW5DLEVBQTRDO0FBQUUsU0FBT0wsYUFBYSxDQUFDTSxJQUFkLENBQW1CSCxNQUFuQixFQUEyQkMsTUFBM0IsRUFBbUNDLE9BQW5DLENBQVA7QUFBcUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRGlmZiBmcm9tICcuL2Jhc2UnO1xuXG5leHBvcnQgY29uc3QgY2hhcmFjdGVyRGlmZiA9IG5ldyBEaWZmKCk7XG5leHBvcnQgZnVuY3Rpb24gZGlmZkNoYXJzKG9sZFN0ciwgbmV3U3RyLCBvcHRpb25zKSB7IHJldHVybiBjaGFyYWN0ZXJEaWZmLmRpZmYob2xkU3RyLCBuZXdTdHIsIG9wdGlvbnMpOyB9XG4iXX0=
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/*istanbul ignore start*/
|
|
2
|
-
"use strict";
|
|
3
|
-
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.diffCss = diffCss;
|
|
8
|
-
exports.cssDiff = void 0;
|
|
9
|
-
|
|
10
|
-
/*istanbul ignore end*/
|
|
11
|
-
var
|
|
12
|
-
/*istanbul ignore start*/
|
|
13
|
-
_base = _interopRequireDefault(require("./base"))
|
|
14
|
-
/*istanbul ignore end*/
|
|
15
|
-
;
|
|
16
|
-
|
|
17
|
-
/*istanbul ignore start*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
|
-
|
|
19
|
-
/*istanbul ignore end*/
|
|
20
|
-
var cssDiff = new
|
|
21
|
-
/*istanbul ignore start*/
|
|
22
|
-
_base
|
|
23
|
-
/*istanbul ignore end*/
|
|
24
|
-
.
|
|
25
|
-
/*istanbul ignore start*/
|
|
26
|
-
default
|
|
27
|
-
/*istanbul ignore end*/
|
|
28
|
-
();
|
|
29
|
-
|
|
30
|
-
/*istanbul ignore start*/
|
|
31
|
-
exports.cssDiff = cssDiff;
|
|
32
|
-
|
|
33
|
-
/*istanbul ignore end*/
|
|
34
|
-
cssDiff.tokenize = function (value) {
|
|
35
|
-
return value.split(/([{}:;,]|\s+)/);
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
function diffCss(oldStr, newStr, callback) {
|
|
39
|
-
return cssDiff.diff(oldStr, newStr, callback);
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaWZmL2Nzcy5qcyJdLCJuYW1lcyI6WyJjc3NEaWZmIiwiRGlmZiIsInRva2VuaXplIiwidmFsdWUiLCJzcGxpdCIsImRpZmZDc3MiLCJvbGRTdHIiLCJuZXdTdHIiLCJjYWxsYmFjayIsImRpZmYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7OztBQUVPLElBQU1BLE9BQU8sR0FBRztBQUFJQztBQUFBQTtBQUFBQTtBQUFBQTtBQUFBQTtBQUFBQTtBQUFKO0FBQUEsRUFBaEI7Ozs7OztBQUNQRCxPQUFPLENBQUNFLFFBQVIsR0FBbUIsVUFBU0MsS0FBVCxFQUFnQjtBQUNqQyxTQUFPQSxLQUFLLENBQUNDLEtBQU4sQ0FBWSxlQUFaLENBQVA7QUFDRCxDQUZEOztBQUlPLFNBQVNDLE9BQVQsQ0FBaUJDLE1BQWpCLEVBQXlCQyxNQUF6QixFQUFpQ0MsUUFBakMsRUFBMkM7QUFBRSxTQUFPUixPQUFPLENBQUNTLElBQVIsQ0FBYUgsTUFBYixFQUFxQkMsTUFBckIsRUFBNkJDLFFBQTdCLENBQVA7QUFBZ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRGlmZiBmcm9tICcuL2Jhc2UnO1xuXG5leHBvcnQgY29uc3QgY3NzRGlmZiA9IG5ldyBEaWZmKCk7XG5jc3NEaWZmLnRva2VuaXplID0gZnVuY3Rpb24odmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlLnNwbGl0KC8oW3t9OjssXXxcXHMrKS8pO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGRpZmZDc3Mob2xkU3RyLCBuZXdTdHIsIGNhbGxiYWNrKSB7IHJldHVybiBjc3NEaWZmLmRpZmYob2xkU3RyLCBuZXdTdHIsIGNhbGxiYWNrKTsgfVxuIl19
|