├── .eslintignore ├── .eslintrc.js ├── .gitignore ├── .mocharc.jsonc ├── .nycrc ├── .prettierignore ├── LICENSE ├── README.md ├── benchmark_results.md ├── benchmarks ├── insert_after_custom.ts ├── insert_after_json.ts ├── internal │ ├── real_text_trace_edits.json │ └── util.ts └── main.ts ├── package.json ├── src ├── element_id.ts ├── element_id_generator.ts ├── id_list.ts ├── index.ts ├── internal │ ├── leaf_map.ts │ ├── misc.ts │ └── seq_map.ts ├── saved_id_list.ts └── vendor │ ├── functional-red-black-tree.d.ts │ └── functional-red-black-tree.js ├── test ├── basic.test.ts ├── basic_fuzz.test.ts ├── btree_fuzz.test.ts ├── btree_implementation.test.ts ├── btree_structure_and_edge_cases.test.ts ├── element_id_generator.test.ts ├── fuzzer.ts ├── id_list_simple.ts ├── persistence.test.ts └── serialization_and_edge_cases.test.ts ├── tsconfig.commonjs.json ├── tsconfig.dev.json ├── tsconfig.json └── typedoc.json /.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | build 3 | docs 4 | *.js 5 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/.eslintrc.js -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/.gitignore -------------------------------------------------------------------------------- /.mocharc.jsonc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/.mocharc.jsonc -------------------------------------------------------------------------------- /.nycrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/.nycrc -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/.prettierignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/README.md -------------------------------------------------------------------------------- /benchmark_results.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/benchmark_results.md -------------------------------------------------------------------------------- /benchmarks/insert_after_custom.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/benchmarks/insert_after_custom.ts -------------------------------------------------------------------------------- /benchmarks/insert_after_json.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/benchmarks/insert_after_json.ts -------------------------------------------------------------------------------- /benchmarks/internal/real_text_trace_edits.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/benchmarks/internal/real_text_trace_edits.json -------------------------------------------------------------------------------- /benchmarks/internal/util.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/benchmarks/internal/util.ts -------------------------------------------------------------------------------- /benchmarks/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/benchmarks/main.ts -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/package.json -------------------------------------------------------------------------------- /src/element_id.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/src/element_id.ts -------------------------------------------------------------------------------- /src/element_id_generator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/src/element_id_generator.ts -------------------------------------------------------------------------------- /src/id_list.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/src/id_list.ts -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/src/index.ts -------------------------------------------------------------------------------- /src/internal/leaf_map.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/src/internal/leaf_map.ts -------------------------------------------------------------------------------- /src/internal/misc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/src/internal/misc.ts -------------------------------------------------------------------------------- /src/internal/seq_map.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/src/internal/seq_map.ts -------------------------------------------------------------------------------- /src/saved_id_list.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/src/saved_id_list.ts -------------------------------------------------------------------------------- /src/vendor/functional-red-black-tree.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/src/vendor/functional-red-black-tree.d.ts -------------------------------------------------------------------------------- /src/vendor/functional-red-black-tree.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/src/vendor/functional-red-black-tree.js -------------------------------------------------------------------------------- /test/basic.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/test/basic.test.ts -------------------------------------------------------------------------------- /test/basic_fuzz.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/test/basic_fuzz.test.ts -------------------------------------------------------------------------------- /test/btree_fuzz.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/test/btree_fuzz.test.ts -------------------------------------------------------------------------------- /test/btree_implementation.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/test/btree_implementation.test.ts -------------------------------------------------------------------------------- /test/btree_structure_and_edge_cases.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/test/btree_structure_and_edge_cases.test.ts -------------------------------------------------------------------------------- /test/element_id_generator.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/test/element_id_generator.test.ts -------------------------------------------------------------------------------- /test/fuzzer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/test/fuzzer.ts -------------------------------------------------------------------------------- /test/id_list_simple.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/test/id_list_simple.ts -------------------------------------------------------------------------------- /test/persistence.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/test/persistence.test.ts -------------------------------------------------------------------------------- /test/serialization_and_edge_cases.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/test/serialization_and_edge_cases.test.ts -------------------------------------------------------------------------------- /tsconfig.commonjs.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/tsconfig.commonjs.json -------------------------------------------------------------------------------- /tsconfig.dev.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/tsconfig.dev.json -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/tsconfig.json -------------------------------------------------------------------------------- /typedoc.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mweidner037/articulated/HEAD/typedoc.json --------------------------------------------------------------------------------