/
opt
/
canhelp
/
node_modules
/
gel
/
dist
/
codecs
/
/opt/canhelp/node_modules/gel/dist/codecs
mkdir
upload
Name
Size
Mode
Actions
array.d.ts
1274
0644
edit
dl
rm
array.js
3997
0644
edit
dl
rm
boolean.d.ts
1075
0644
edit
dl
rm
boolean.js
1425
0644
edit
dl
rm
bytes.d.ts
1076
0644
edit
dl
rm
bytes.js
1386
0644
edit
dl
rm
codecs.d.ts
5065
0644
edit
dl
rm
codecs.js
4047
0644
edit
dl
rm
consts.d.ts
955
0644
edit
dl
rm
consts.js
3433
0644
edit
dl
rm
context.d.ts
994
0644
edit
dl
rm
context.js
2549
0644
edit
dl
rm
datetime.d.ts
2817
0644
edit
dl
rm
datetime.js
13899
0644
edit
dl
rm
enum.d.ts
938
0644
edit
dl
rm
enum.js
1025
0644
edit
dl
rm
ifaces.d.ts
1941
0644
edit
dl
rm
ifaces.js
1830
0644
edit
dl
rm
json.d.ts
1416
0644
edit
dl
rm
json.js
3161
0644
edit
dl
rm
memory.d.ts
1105
0644
edit
dl
rm
memory.js
1938
0644
edit
dl
rm
namedtuple.d.ts
1315
0644
edit
dl
rm
namedtuple.js
3733
0644
edit
dl
rm
numbers.d.ts
1940
0644
edit
dl
rm
numbers.js
3600
0644
edit
dl
rm
numerics.d.ts
1300
0644
edit
dl
rm
numerics.js
5916
0644
edit
dl
rm
object.d.ts
1732
0644
edit
dl
rm
object.js
6173
0644
edit
dl
rm
pgvector.d.ts
1695
0644
edit
dl
rm
pgvector.js
6912
0644
edit
dl
rm
postgis.d.ts
778
0644
edit
dl
rm
postgis.js
13128
0644
edit
dl
rm
range.d.ts
1737
0644
edit
dl
rm
range.js
6039
0644
edit
dl
rm
record.d.ts
1509
0644
edit
dl
rm
record.js
3822
0644
edit
dl
rm
registry.d.ts
1083
0644
edit
dl
rm
registry.js
14687
0644
edit
dl
rm
set.d.ts
1244
0644
edit
dl
rm
set.js
3664
0644
edit
dl
rm
sparseObject.d.ts
1248
0644
edit
dl
rm
sparseObject.js
3040
0644
edit
dl
rm
text.d.ts
1074
0644
edit
dl
rm
text.js
1499
0644
edit
dl
rm
tuple.d.ts
1633
0644
edit
dl
rm
tuple.js
4790
0644
edit
dl
rm
uuid.d.ts
1075
0644
edit
dl
rm
uuid.js
2479
0644
edit
dl
rm
Edit:
/opt/canhelp/node_modules/gel/dist/codecs/registry.js
(14687B)
"use strict"; /*! * This source file is part of the Gel open source project. * * Copyright 2019-present MagicStack Inc. and the Gel authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.CodecsRegistry = void 0; const buffer_1 = require("../primitives/buffer"); const lru_1 = __importDefault(require("../primitives/lru")); const ifaces_1 = require("./ifaces"); const codecs_1 = require("./codecs"); const consts_1 = require("./consts"); const tuple_1 = require("./tuple"); const array_1 = require("./array"); const namedtuple_1 = require("./namedtuple"); const enum_1 = require("./enum"); const object_1 = require("./object"); const set_1 = require("./set"); const record_1 = require("./record"); const range_1 = require("./range"); const utils_1 = require("../utils"); const sparseObject_1 = require("./sparseObject"); const errors_1 = require("../errors"); const CODECS_CACHE_SIZE = 1000; const CODECS_BUILD_CACHE_SIZE = 200; const CTYPE_SET = 0; const CTYPE_SHAPE = 1; const CTYPE_BASE_SCALAR = 2; const CTYPE_SCALAR = 3; const CTYPE_TUPLE = 4; const CTYPE_NAMEDTUPLE = 5; const CTYPE_ARRAY = 6; const CTYPE_ENUM = 7; const CTYPE_INPUT_SHAPE = 8; const CTYPE_RANGE = 9; const CTYPE_OBJECT = 10; const CTYPE_COMPOUND = 11; const CTYPE_MULTIRANGE = 12; const CTYPE_RECORD = 13; class CodecsRegistry { codecsBuildCache; codecs; constructor() { this.codecs = new lru_1.default({ capacity: CODECS_CACHE_SIZE }); this.codecsBuildCache = new lru_1.default({ capacity: CODECS_BUILD_CACHE_SIZE }); } hasCodec(typeId) { if (this.codecs.has(typeId)) { return true; } return typeId === consts_1.NULL_CODEC_ID || typeId === tuple_1.EMPTY_TUPLE_CODEC_ID; } getCodec(typeId) { const codec = this.codecs.get(typeId); if (codec != null) { return codec; } if (typeId === tuple_1.EMPTY_TUPLE_CODEC_ID) { return tuple_1.EMPTY_TUPLE_CODEC; } if (typeId === consts_1.NULL_CODEC_ID) { return codecs_1.NULL_CODEC; } return null; } buildCodec(spec, protocolVersion) { if (!(0, utils_1.versionGreaterThanOrEqual)(protocolVersion, [2, 0])) { throw new errors_1.UnsupportedProtocolVersionError("unsupported old protocol version v1; downgrade to the previous " + "version of gel-js"); } const frb = new buffer_1.ReadBuffer(spec); const codecsList = []; let codec = null; while (frb.length) { const descLen = frb.readInt32(); const descBuf = buffer_1.ReadBuffer.alloc(); frb.sliceInto(descBuf, descLen); codec = this._buildCodec(descBuf, codecsList); descBuf.finish("unexpected trailing data in type descriptor buffer"); if (codec == null) { continue; } codecsList.push(codec); this.codecs.set(codec.tid, codec); } if (!codecsList.length) { throw new errors_1.InternalClientError("could not build a codec"); } return codecsList[codecsList.length - 1]; } _buildCodec(frb, cl) { const t = frb.readUInt8(); const tid = frb.readUUID(); let res = this.codecs.get(tid); if (res == null) { res = this.codecsBuildCache.get(tid); } if (res != null) { frb.discard(frb.length); return res; } switch (t) { case CTYPE_BASE_SCALAR: { res = codecs_1.SCALAR_CODECS.get(tid); if (!res) { if (consts_1.KNOWN_TYPES.has(tid)) { throw new errors_1.InternalClientError(`no JS codec for ${consts_1.KNOWN_TYPES.get(tid)}`); } throw new errors_1.InternalClientError(`no JS codec for the type with ID ${tid}`); } if (!(res instanceof ifaces_1.ScalarCodec)) { throw new errors_1.ProtocolError("could not build scalar codec: base scalar is a non-scalar codec"); } break; } case CTYPE_SHAPE: case CTYPE_INPUT_SHAPE: { if (t === CTYPE_SHAPE) { frb.readBoolean(); frb.readUInt16(); } const els = frb.readUInt16(); const codecs = new Array(els); const names = new Array(els); const flags = new Array(els); const cards = new Array(els); for (let i = 0; i < els; i++) { const flag = frb.readUInt32(); const card = frb.readUInt8(); const name = frb.readString(); const pos = frb.readUInt16(); const subCodec = cl[pos]; if (subCodec == null) { throw new errors_1.ProtocolError("could not build object codec: missing subcodec"); } codecs[i] = subCodec; names[i] = name; flags[i] = flag; cards[i] = card; if (t === CTYPE_SHAPE) { frb.readUInt16(); } } res = t === CTYPE_INPUT_SHAPE ? new sparseObject_1.SparseObjectCodec(tid, codecs, names) : new object_1.ObjectCodec(tid, codecs, names, flags, cards); break; } case CTYPE_SET: { const pos = frb.readUInt16(); const subCodec = cl[pos]; if (subCodec == null) { throw new errors_1.ProtocolError("could not build set codec: missing subcodec"); } res = new set_1.SetCodec(tid, subCodec); break; } case CTYPE_SCALAR: { const typeName = frb.readString(); frb.readBoolean(); const ancestorCount = frb.readUInt16(); const ancestors = []; for (let i = 0; i < ancestorCount; i++) { const ancestorPos = frb.readUInt16(); const ancestorCodec = cl[ancestorPos]; if (ancestorCodec == null) { throw new errors_1.ProtocolError("could not build scalar codec: missing a codec for base scalar"); } if (!(ancestorCodec instanceof ifaces_1.ScalarCodec)) { throw new errors_1.ProtocolError(`a scalar codec expected for base scalar type, ` + `got ${ancestorCodec}`); } ancestors.push(ancestorCodec); } if (ancestorCount === 0) { res = codecs_1.SCALAR_CODECS.get(tid); if (res == null) { if (consts_1.KNOWN_TYPES.has(tid)) { throw new errors_1.InternalClientError(`no JS codec for ${consts_1.KNOWN_TYPES.get(tid)}`); } throw new errors_1.InternalClientError(`no JS codec for the type with ID ${tid}`); } } else { const baseCodec = ancestors[ancestors.length - 1]; res = baseCodec.derive(tid, typeName, ancestors); } break; } case CTYPE_ARRAY: { const typeName = frb.readString(); frb.readBoolean(); const ancestorCount = frb.readUInt16(); for (let i = 0; i < ancestorCount; i++) { frb.readUInt16(); } const pos = frb.readUInt16(); const els = frb.readUInt16(); if (els !== 1) { throw new errors_1.ProtocolError("cannot handle arrays with more than one dimension"); } const dimLen = frb.readInt32(); const subCodec = cl[pos]; if (subCodec == null) { throw new errors_1.ProtocolError("could not build array codec: missing subcodec"); } res = new array_1.ArrayCodec(tid, typeName, subCodec, dimLen); break; } case CTYPE_TUPLE: { const typeName = frb.readString(); frb.readBoolean(); const ancestorCount = frb.readUInt16(); for (let i = 0; i < ancestorCount; i++) { frb.readUInt16(); } const els = frb.readUInt16(); if (els === 0) { res = tuple_1.EMPTY_TUPLE_CODEC; } else { const codecs = new Array(els); for (let i = 0; i < els; i++) { const pos = frb.readUInt16(); const subCodec = cl[pos]; if (subCodec == null) { throw new errors_1.ProtocolError("could not build tuple codec: missing subcodec"); } codecs[i] = subCodec; } res = new tuple_1.TupleCodec(tid, typeName, codecs); } break; } case CTYPE_NAMEDTUPLE: { const typeName = frb.readString(); frb.readBoolean(); const ancestorCount = frb.readUInt16(); for (let i = 0; i < ancestorCount; i++) { frb.readUInt16(); } const els = frb.readUInt16(); const codecs = new Array(els); const names = new Array(els); for (let i = 0; i < els; i++) { names[i] = frb.readString(); const pos = frb.readUInt16(); const subCodec = cl[pos]; if (subCodec == null) { throw new errors_1.ProtocolError("could not build namedtuple codec: missing subcodec"); } codecs[i] = subCodec; } res = new namedtuple_1.NamedTupleCodec(tid, typeName, codecs, names); break; } case CTYPE_RECORD: { const els = frb.readUInt16(); const codecs = new Array(els); const names = new Array(els); for (let i = 0; i < els; i++) { names[i] = frb.readString(); const pos = frb.readUInt16(); const subCodec = cl[pos]; if (subCodec == null) { throw new errors_1.ProtocolError("could not build record codec: missing subcodec"); } codecs[i] = subCodec; } res = new record_1.RecordCodec(tid, codecs, names); break; } case CTYPE_ENUM: { const typeName = frb.readString(); frb.readBoolean(); const ancestorCount = frb.readUInt16(); for (let i = 0; i < ancestorCount; i++) { frb.readUInt16(); } const els = frb.readUInt16(); const values = []; for (let i = 0; i < els; i++) { values.push(frb.readString()); } res = new enum_1.EnumCodec(tid, typeName, values); break; } case CTYPE_RANGE: { const typeName = frb.readString(); frb.readBoolean(); const ancestorCount = frb.readUInt16(); for (let i = 0; i < ancestorCount; i++) { frb.readUInt16(); } const pos = frb.readUInt16(); const subCodec = cl[pos]; if (subCodec == null) { throw new errors_1.ProtocolError("could not build range codec: missing subcodec"); } res = new range_1.RangeCodec(tid, typeName, subCodec); break; } case CTYPE_OBJECT: { frb.discard(frb.length); res = codecs_1.NULL_CODEC; break; } case CTYPE_COMPOUND: { frb.discard(frb.length); res = codecs_1.NULL_CODEC; break; } case CTYPE_MULTIRANGE: { const typeName = frb.readString(); frb.readBoolean(); const ancestorCount = frb.readUInt16(); for (let i = 0; i < ancestorCount; i++) { frb.readUInt16(); } const pos = frb.readUInt16(); const subCodec = cl[pos]; if (subCodec == null) { throw new errors_1.ProtocolError("could not build range codec: missing subcodec"); } res = new range_1.MultiRangeCodec(tid, typeName, subCodec); break; } } if (res == null) { if (consts_1.KNOWN_TYPES.has(tid)) { throw new errors_1.InternalClientError(`could not build a codec for ${consts_1.KNOWN_TYPES.get(tid)} type`); } else { throw new errors_1.InternalClientError(`could not build a codec for ${tid} type`); } } this.codecsBuildCache.set(tid, res); return res; } } exports.CodecsRegistry = CodecsRegistry;
Save
cmd:
run