New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

synchronous-autocomplete

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

synchronous-autocomplete - npm Package Compare versions

Comparing version 2.0.0 to 2.1.0

90

index.js

@@ -6,2 +6,4 @@ 'use strict';

var internalId = Symbol('internal numeric ID');
var createAutocomplete = function createAutocomplete(tokens, scores, weights, nrOfTokens, originalIds, tokenize) {

@@ -15,27 +17,8 @@ var byFragment = function byFragment(fragment, completion, fuzzy) {

var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = tokens[fragment][Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var id = _step.value;
if (!results[id] || !results[id] > relevance) {
results[id] = relevance;
}
var ids = tokens[fragment];
for (var i = 0; i < ids.length; i++) {
var id = ids[i];
if (!results[id] || !results[id] > relevance) {
results[id] = relevance;
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}

@@ -58,27 +41,8 @@ }

var _iteratorNormalCompletion2 = true;
var _didIteratorError2 = false;
var _iteratorError2 = undefined;
try {
for (var _iterator2 = tokens[t][Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
var _id = _step2.value;
if (!results[_id] || !results[_id] > _relevance) {
results[_id] = _relevance;
}
var _ids = tokens[t];
for (var _i = 0; _i < _ids.length; _i++) {
var _id = _ids[_i];
if (!results[_id] || !results[_id] > _relevance) {
results[_id] = _relevance;
}
} catch (err) {
_didIteratorError2 = true;
_iteratorError2 = err;
} finally {
try {
if (!_iteratorNormalCompletion2 && _iterator2.return) {
_iterator2.return();
}
} finally {
if (_didIteratorError2) {
throw _iteratorError2;
}
}
}

@@ -99,25 +63,6 @@ }

var data = Object.create(null);
var _iteratorNormalCompletion3 = true;
var _didIteratorError3 = false;
var _iteratorError3 = undefined;
try {
for (var _iterator3 = tokenize(query)[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
var fragment = _step3.value;
data[fragment] = byFragment(fragment, completion, fuzzy);
}
} catch (err) {
_didIteratorError3 = true;
_iteratorError3 = err;
} finally {
try {
if (!_iteratorNormalCompletion3 && _iterator3.return) {
_iterator3.return();
}
} finally {
if (_didIteratorError3) {
throw _iteratorError3;
}
}
var fragments = tokenize(query);
for (var i = 0; i < fragments.length; i++) {
var fragment = fragments[i];
data[fragment] = byFragment(fragment, completion, fuzzy);
}

@@ -142,2 +87,3 @@

id = parseInt(id);
var score = relevance * Math.pow(weights[id], 1 / 3);

@@ -150,2 +96,3 @@ results[id] = {

};
results[id][internalId] = id;
}

@@ -161,2 +108,3 @@ }

autocomplete.byFragment = byFragment;
autocomplete.internalId = internalId;
return autocomplete;

@@ -163,0 +111,0 @@ };

{
"name": "synchronous-autocomplete",
"description": "Fast, simple autocompletion.",
"version": "2.0.0",
"version": "2.1.0",
"main": "index.js",

@@ -6,0 +6,0 @@ "files": [

@@ -48,3 +48,3 @@ # synchronous-autocomplete

In order to be as fast and disk-space-efficient as possible, `synchronous-autocomplete` requires five indexes to be prebuilt from the list of items. For our example, they would look like this:
In order to be as fast and disk-space-efficient as possible, `synchronous-autocomplete` requires five indexes to be prebuilt from the list of items. Check [the example code](example.js) for more details on how to build them. For our example, they would look like this:

@@ -87,4 +87,2 @@ ```js

See [the example code](example.js) for more details on how to build them.
Now, we can query our index:

@@ -91,0 +89,0 @@

@@ -6,2 +6,4 @@ 'use strict'

const internalId = Symbol('internal numeric ID')
const createAutocomplete = (tokens, scores, weights, nrOfTokens, originalIds, tokenize) => {

@@ -15,3 +17,5 @@ const byFragment = (fragment, completion, fuzzy) => {

for (let id of tokens[fragment]) {
const ids = tokens[fragment]
for (let i = 0; i < ids.length; i++) {
const id = ids[i]
if (!results[id] || !results[id] > relevance) {

@@ -37,3 +41,5 @@ results[id] = relevance

for (let id of tokens[t]) {
const ids = tokens[t]
for (let i = 0; i < ids.length; i++) {
const id = ids[i]
if (!results[id] || !results[id] > relevance) {

@@ -53,3 +59,5 @@ results[id] = relevance

const data = Object.create(null)
for (let fragment of tokenize(query)) {
const fragments = tokenize(query)
for (let i = 0; i < fragments.length; i++) {
const fragment = fragments[i]
data[fragment] = byFragment(fragment, completion, fuzzy)

@@ -75,2 +83,3 @@ }

id = parseInt(id)
const score = relevance * Math.pow(weights[id], 1/3)

@@ -83,2 +92,3 @@ results[id] = {

}
results[id][internalId] = id
}

@@ -93,2 +103,3 @@ }

autocomplete.byFragment = byFragment
autocomplete.internalId = internalId
return autocomplete

@@ -95,0 +106,0 @@ }

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc