minisearch
Advanced tools
Comparing version 3.0.3 to 3.0.4
@@ -5,2 +5,7 @@ # Changelog | ||
# v3.0.4 | ||
- [fix] Keep radix tree property (no node with a single child) after removal | ||
of an entry | ||
# v3.0.3 | ||
@@ -7,0 +12,0 @@ |
@@ -563,5 +563,9 @@ /*! ***************************************************************************** | ||
delete node[key]; | ||
if (Object.keys(node).length === 0) { | ||
var keys = Object.keys(node); | ||
if (keys.length === 0) { | ||
cleanup(path.slice(0, -1)); | ||
} | ||
if (keys.length === 1 && keys[0] !== LEAF) { | ||
merge(path.slice(0, -1), keys[0], node[keys[0]]); | ||
} | ||
}; | ||
@@ -568,0 +572,0 @@ var merge = function (path, key, value) { |
@@ -542,5 +542,9 @@ /*! ***************************************************************************** | ||
delete node[key]; | ||
if (Object.keys(node).length === 0) { | ||
var keys = Object.keys(node); | ||
if (keys.length === 0) { | ||
cleanup(path.slice(0, -1)); | ||
} | ||
if (keys.length === 1 && keys[0] !== LEAF) { | ||
merge(path.slice(0, -1), keys[0], node[keys[0]]); | ||
} | ||
}; | ||
@@ -547,0 +551,0 @@ var merge = function (path, key, value) { |
@@ -563,5 +563,9 @@ /*! ***************************************************************************** | ||
delete node[key]; | ||
if (Object.keys(node).length === 0) { | ||
var keys = Object.keys(node); | ||
if (keys.length === 0) { | ||
cleanup(path.slice(0, -1)); | ||
} | ||
if (keys.length === 1 && keys[0] !== LEAF) { | ||
merge(path.slice(0, -1), keys[0], node[keys[0]]); | ||
} | ||
}; | ||
@@ -568,0 +572,0 @@ var merge = function (path, key, value) { |
@@ -542,5 +542,9 @@ /*! ***************************************************************************** | ||
delete node[key]; | ||
if (Object.keys(node).length === 0) { | ||
var keys = Object.keys(node); | ||
if (keys.length === 0) { | ||
cleanup(path.slice(0, -1)); | ||
} | ||
if (keys.length === 1 && keys[0] !== LEAF) { | ||
merge(path.slice(0, -1), keys[0], node[keys[0]]); | ||
} | ||
}; | ||
@@ -547,0 +551,0 @@ var merge = function (path, key, value) { |
@@ -569,5 +569,9 @@ (function (global, factory) { | ||
delete node[key]; | ||
if (Object.keys(node).length === 0) { | ||
var keys = Object.keys(node); | ||
if (keys.length === 0) { | ||
cleanup(path.slice(0, -1)); | ||
} | ||
if (keys.length === 1 && keys[0] !== LEAF) { | ||
merge(path.slice(0, -1), keys[0], node[keys[0]]); | ||
} | ||
}; | ||
@@ -574,0 +578,0 @@ var merge = function (path, key, value) { |
@@ -548,5 +548,9 @@ (function (global, factory) { | ||
delete node[key]; | ||
if (Object.keys(node).length === 0) { | ||
var keys = Object.keys(node); | ||
if (keys.length === 0) { | ||
cleanup(path.slice(0, -1)); | ||
} | ||
if (keys.length === 1 && keys[0] !== LEAF) { | ||
merge(path.slice(0, -1), keys[0], node[keys[0]]); | ||
} | ||
}; | ||
@@ -553,0 +557,0 @@ var merge = function (path, key, value) { |
{ | ||
"name": "minisearch", | ||
"version": "3.0.3", | ||
"version": "3.0.4", | ||
"description": "Tiny but powerful full-text search engine for browser and Node", | ||
@@ -5,0 +5,0 @@ "main": "dist/umd/index.js", |
@@ -57,2 +57,14 @@ /* eslint-env jest */ | ||
}) | ||
it('leaves the radix tree in the same state as before the entry was added', () => { | ||
const map = new SearchableMap() | ||
map.set('hello', 1) | ||
const before = JSON.parse(JSON.stringify(map)) | ||
map.set('help', 2) | ||
map.delete('help') | ||
expect(map).toEqual(before) | ||
}) | ||
}) | ||
@@ -59,0 +71,0 @@ |
@@ -340,5 +340,5 @@ import { TreeIterator, ENTRIES, KEYS, VALUES, LEAF } from './TreeIterator' | ||
if (Object.keys(node!).length === 0) { | ||
cleanup(path.slice(0, -1)) | ||
} | ||
const keys = Object.keys(node!) | ||
if (keys.length === 0) { cleanup(path.slice(0, -1)) } | ||
if (keys.length === 1 && keys[0] !== LEAF) { merge(path.slice(0, -1), keys[0], node![keys[0]]) } | ||
} | ||
@@ -345,0 +345,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
617390
9466