synchronous-autocomplete
Version:
Fast, simple autocompletion.
336 lines (316 loc) • 9.56 kB
JavaScript
// This file is auto generated by the protocol-buffers compiler
/* eslint-disable quotes */
/* eslint-disable indent */
/* eslint-disable no-redeclare */
/* eslint-disable camelcase */
// Remember to `npm install --save protocol-buffers-encodings`
var encodings = require('protocol-buffers-encodings')
var varint = encodings.varint
var skip = encodings.skip
var Token = exports.Token = {
buffer: true,
encodingLength: null,
encode: null,
decode: null
}
var Score = exports.Score = {
buffer: true,
encodingLength: null,
encode: null,
decode: null
}
var Index = exports.Index = {
buffer: true,
encodingLength: null,
encode: null,
decode: null
}
defineToken()
defineScore()
defineIndex()
function defineToken () {
Token.encodingLength = encodingLength
Token.encode = encode
Token.decode = decode
function encodingLength (obj) {
var length = 0
if (defined(obj.name)) {
var len = encodings.string.encodingLength(obj.name)
length += 1 + len
}
if (defined(obj.ids)) {
for (var i = 0; i < obj.ids.length; i++) {
if (!defined(obj.ids[i])) continue
var len = encodings.int32.encodingLength(obj.ids[i])
length += 1 + len
}
}
return length
}
function encode (obj, buf, offset) {
if (!offset) offset = 0
if (!buf) buf = Buffer.allocUnsafe(encodingLength(obj))
var oldOffset = offset
if (defined(obj.name)) {
buf[offset++] = 10
encodings.string.encode(obj.name, buf, offset)
offset += encodings.string.encode.bytes
}
if (defined(obj.ids)) {
for (var i = 0; i < obj.ids.length; i++) {
if (!defined(obj.ids[i])) continue
buf[offset++] = 16
encodings.int32.encode(obj.ids[i], buf, offset)
offset += encodings.int32.encode.bytes
}
}
encode.bytes = offset - oldOffset
return buf
}
function decode (buf, offset, end) {
if (!offset) offset = 0
if (!end) end = buf.length
if (!(end <= buf.length && offset <= buf.length)) throw new Error("Decoded message is not valid")
var oldOffset = offset
var obj = {
name: "",
ids: []
}
while (true) {
if (end <= offset) {
decode.bytes = offset - oldOffset
return obj
}
var prefix = varint.decode(buf, offset)
offset += varint.decode.bytes
var tag = prefix >> 3
switch (tag) {
case 1:
obj.name = encodings.string.decode(buf, offset)
offset += encodings.string.decode.bytes
break
case 2:
obj.ids.push(encodings.int32.decode(buf, offset))
offset += encodings.int32.decode.bytes
break
default:
offset = skip(prefix & 7, buf, offset)
}
}
}
}
function defineScore () {
Score.encodingLength = encodingLength
Score.encode = encode
Score.decode = decode
function encodingLength (obj) {
var length = 0
if (defined(obj.token)) {
var len = encodings.string.encodingLength(obj.token)
length += 1 + len
}
if (defined(obj.score)) {
var len = encodings.float.encodingLength(obj.score)
length += 1 + len
}
return length
}
function encode (obj, buf, offset) {
if (!offset) offset = 0
if (!buf) buf = Buffer.allocUnsafe(encodingLength(obj))
var oldOffset = offset
if (defined(obj.token)) {
buf[offset++] = 10
encodings.string.encode(obj.token, buf, offset)
offset += encodings.string.encode.bytes
}
if (defined(obj.score)) {
buf[offset++] = 21
encodings.float.encode(obj.score, buf, offset)
offset += encodings.float.encode.bytes
}
encode.bytes = offset - oldOffset
return buf
}
function decode (buf, offset, end) {
if (!offset) offset = 0
if (!end) end = buf.length
if (!(end <= buf.length && offset <= buf.length)) throw new Error("Decoded message is not valid")
var oldOffset = offset
var obj = {
token: "",
score: 0
}
while (true) {
if (end <= offset) {
decode.bytes = offset - oldOffset
return obj
}
var prefix = varint.decode(buf, offset)
offset += varint.decode.bytes
var tag = prefix >> 3
switch (tag) {
case 1:
obj.token = encodings.string.decode(buf, offset)
offset += encodings.string.decode.bytes
break
case 2:
obj.score = encodings.float.decode(buf, offset)
offset += encodings.float.decode.bytes
break
default:
offset = skip(prefix & 7, buf, offset)
}
}
}
}
function defineIndex () {
Index.encodingLength = encodingLength
Index.encode = encode
Index.decode = decode
function encodingLength (obj) {
var length = 0
if (defined(obj.tokens)) {
for (var i = 0; i < obj.tokens.length; i++) {
if (!defined(obj.tokens[i])) continue
var len = Token.encodingLength(obj.tokens[i])
length += varint.encodingLength(len)
length += 1 + len
}
}
if (defined(obj.weights)) {
for (var i = 0; i < obj.weights.length; i++) {
if (!defined(obj.weights[i])) continue
var len = encodings.int32.encodingLength(obj.weights[i])
length += 1 + len
}
}
if (defined(obj.nr_of_tokens)) {
for (var i = 0; i < obj.nr_of_tokens.length; i++) {
if (!defined(obj.nr_of_tokens[i])) continue
var len = encodings.int32.encodingLength(obj.nr_of_tokens[i])
length += 1 + len
}
}
if (defined(obj.scores)) {
for (var i = 0; i < obj.scores.length; i++) {
if (!defined(obj.scores[i])) continue
var len = Score.encodingLength(obj.scores[i])
length += varint.encodingLength(len)
length += 1 + len
}
}
if (defined(obj.original_ids)) {
for (var i = 0; i < obj.original_ids.length; i++) {
if (!defined(obj.original_ids[i])) continue
var len = encodings.string.encodingLength(obj.original_ids[i])
length += 1 + len
}
}
return length
}
function encode (obj, buf, offset) {
if (!offset) offset = 0
if (!buf) buf = Buffer.allocUnsafe(encodingLength(obj))
var oldOffset = offset
if (defined(obj.tokens)) {
for (var i = 0; i < obj.tokens.length; i++) {
if (!defined(obj.tokens[i])) continue
buf[offset++] = 10
varint.encode(Token.encodingLength(obj.tokens[i]), buf, offset)
offset += varint.encode.bytes
Token.encode(obj.tokens[i], buf, offset)
offset += Token.encode.bytes
}
}
if (defined(obj.weights)) {
for (var i = 0; i < obj.weights.length; i++) {
if (!defined(obj.weights[i])) continue
buf[offset++] = 16
encodings.int32.encode(obj.weights[i], buf, offset)
offset += encodings.int32.encode.bytes
}
}
if (defined(obj.nr_of_tokens)) {
for (var i = 0; i < obj.nr_of_tokens.length; i++) {
if (!defined(obj.nr_of_tokens[i])) continue
buf[offset++] = 24
encodings.int32.encode(obj.nr_of_tokens[i], buf, offset)
offset += encodings.int32.encode.bytes
}
}
if (defined(obj.scores)) {
for (var i = 0; i < obj.scores.length; i++) {
if (!defined(obj.scores[i])) continue
buf[offset++] = 34
varint.encode(Score.encodingLength(obj.scores[i]), buf, offset)
offset += varint.encode.bytes
Score.encode(obj.scores[i], buf, offset)
offset += Score.encode.bytes
}
}
if (defined(obj.original_ids)) {
for (var i = 0; i < obj.original_ids.length; i++) {
if (!defined(obj.original_ids[i])) continue
buf[offset++] = 42
encodings.string.encode(obj.original_ids[i], buf, offset)
offset += encodings.string.encode.bytes
}
}
encode.bytes = offset - oldOffset
return buf
}
function decode (buf, offset, end) {
if (!offset) offset = 0
if (!end) end = buf.length
if (!(end <= buf.length && offset <= buf.length)) throw new Error("Decoded message is not valid")
var oldOffset = offset
var obj = {
tokens: [],
weights: [],
nr_of_tokens: [],
scores: [],
original_ids: []
}
while (true) {
if (end <= offset) {
decode.bytes = offset - oldOffset
return obj
}
var prefix = varint.decode(buf, offset)
offset += varint.decode.bytes
var tag = prefix >> 3
switch (tag) {
case 1:
var len = varint.decode(buf, offset)
offset += varint.decode.bytes
obj.tokens.push(Token.decode(buf, offset, offset + len))
offset += Token.decode.bytes
break
case 2:
obj.weights.push(encodings.int32.decode(buf, offset))
offset += encodings.int32.decode.bytes
break
case 3:
obj.nr_of_tokens.push(encodings.int32.decode(buf, offset))
offset += encodings.int32.decode.bytes
break
case 4:
var len = varint.decode(buf, offset)
offset += varint.decode.bytes
obj.scores.push(Score.decode(buf, offset, offset + len))
offset += Score.decode.bytes
break
case 5:
obj.original_ids.push(encodings.string.decode(buf, offset))
offset += encodings.string.decode.bytes
break
default:
offset = skip(prefix & 7, buf, offset)
}
}
}
}
function defined (val) {
return val !== null && val !== undefined && (typeof val !== 'number' || !isNaN(val))
}