@lsmsgpack/client 0.0.0-stage → 2026.10.2201
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +39 -3
- package/dist/client.d.ts +76 -0
- package/dist/client.js +150 -0
- package/dist/client.js.map +1 -0
- package/dist/decoder.d.ts +174 -0
- package/dist/decoder.js +720 -0
- package/dist/decoder.js.map +1 -0
- package/dist/errors.d.ts +18 -0
- package/dist/errors.js +28 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/models.d.ts +56 -0
- package/dist/models.js +64 -0
- package/dist/models.js.map +1 -0
- package/dist/names.d.ts +9 -0
- package/dist/names.js +37 -0
- package/dist/names.js.map +1 -0
- package/dist/reader.d.ts +62 -0
- package/dist/reader.js +338 -0
- package/dist/reader.js.map +1 -0
- package/dist/schema.d.ts +76 -0
- package/dist/schema.js +107 -0
- package/dist/schema.js.map +1 -0
- package/dist/sha256.d.ts +4 -0
- package/dist/sha256.js +75 -0
- package/dist/sha256.js.map +1 -0
- package/dist/store.d.ts +49 -0
- package/dist/store.js +148 -0
- package/dist/store.js.map +1 -0
- package/dist/values.d.ts +34 -0
- package/dist/values.js +169 -0
- package/dist/values.js.map +1 -0
- package/dist/writer.d.ts +18 -0
- package/dist/writer.js +685 -0
- package/dist/writer.js.map +1 -0
- package/package.json +38 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decoder.js","sourceRoot":"","sources":["../src/decoder.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** The data is not valid MsgPack, or not what the schema describes. */
|
|
2
|
+
export declare class MsgPackError extends Error {
|
|
3
|
+
readonly offset?: number | undefined;
|
|
4
|
+
constructor(message: string, offset?: number | undefined);
|
|
5
|
+
}
|
|
6
|
+
/** The body refers to a schema the store does not hold (e.g. the store was cleared between the request and the response). */
|
|
7
|
+
export declare class MissingSchemaError extends MsgPackError {
|
|
8
|
+
readonly schemaId: string;
|
|
9
|
+
constructor(schemaId: string);
|
|
10
|
+
}
|
|
11
|
+
/** A response that is not successful (status outside 200-299). The body is kept as text (or the decoded value for MsgPack). */
|
|
12
|
+
export declare class HttpError extends Error {
|
|
13
|
+
readonly status: number;
|
|
14
|
+
readonly statusText: string;
|
|
15
|
+
readonly body: unknown;
|
|
16
|
+
readonly response: Response;
|
|
17
|
+
constructor(status: number, statusText: string, body: unknown, response: Response);
|
|
18
|
+
}
|
package/dist/errors.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/** The data is not valid MsgPack, or not what the schema describes. */
|
|
2
|
+
export class MsgPackError extends Error {
|
|
3
|
+
constructor(message, offset) {
|
|
4
|
+
super(offset === undefined ? message : `${message} (offset ${offset})`);
|
|
5
|
+
this.offset = offset;
|
|
6
|
+
this.name = 'MsgPackError';
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
/** The body refers to a schema the store does not hold (e.g. the store was cleared between the request and the response). */
|
|
10
|
+
export class MissingSchemaError extends MsgPackError {
|
|
11
|
+
constructor(schemaId) {
|
|
12
|
+
super(`The data refers to the schema ${schemaId}, which the store does not hold.`);
|
|
13
|
+
this.schemaId = schemaId;
|
|
14
|
+
this.name = 'MissingSchemaError';
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/** A response that is not successful (status outside 200-299). The body is kept as text (or the decoded value for MsgPack). */
|
|
18
|
+
export class HttpError extends Error {
|
|
19
|
+
constructor(status, statusText, body, response) {
|
|
20
|
+
super(`${status} ${statusText}${typeof body === 'string' && body.length > 0 ? ': ' + body : ''}`);
|
|
21
|
+
this.status = status;
|
|
22
|
+
this.statusText = statusText;
|
|
23
|
+
this.body = body;
|
|
24
|
+
this.response = response;
|
|
25
|
+
this.name = 'HttpError';
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,YAAY,OAAe,EAAW,MAAe;QACnD,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,YAAY,MAAM,GAAG,CAAC,CAAC;QADpC,WAAM,GAAN,MAAM,CAAS;QAEnD,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,6HAA6H;AAC7H,MAAM,OAAO,kBAAmB,SAAQ,YAAY;IAClD,YAAqB,QAAgB;QACnC,KAAK,CAAC,iCAAiC,QAAQ,kCAAkC,CAAC,CAAC;QADhE,aAAQ,GAAR,QAAQ,CAAQ;QAEnC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,+HAA+H;AAC/H,MAAM,OAAO,SAAU,SAAQ,KAAK;IAClC,YAAqB,MAAc,EAAW,UAAkB,EAAW,IAAa,EAAW,QAAkB;QACnH,KAAK,CAAC,GAAG,MAAM,IAAI,UAAU,GAAG,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAD/E,WAAM,GAAN,MAAM,CAAQ;QAAW,eAAU,GAAV,UAAU,CAAQ;QAAW,SAAI,GAAJ,IAAI,CAAS;QAAW,aAAQ,GAAR,QAAQ,CAAU;QAEnH,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;CACF"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export { LsMsgPackClient, MediaTypes, SchemasHeader, SchemaHeader, DescribedAccept } from './client.js';
|
|
2
|
+
export type { ClientOptions, RequestOptions, MsgPackResponse } from './client.js';
|
|
3
|
+
export { Decoder, TypeProperty } from './decoder.js';
|
|
4
|
+
export type { DecodeOptions, Decoded } from './decoder.js';
|
|
5
|
+
export { SchemaStore } from './store.js';
|
|
6
|
+
export type { SchemaStoreOptions, SchemaStoreExport } from './store.js';
|
|
7
|
+
export { Schema } from './schema.js';
|
|
8
|
+
export type { SchemaEntry, SchemaProperty, TypeExpr, Kind } from './schema.js';
|
|
9
|
+
export { MsgPackReader, MsgPackExtension } from './reader.js';
|
|
10
|
+
export type { ReaderOptions } from './reader.js';
|
|
11
|
+
export { encode } from './writer.js';
|
|
12
|
+
export { defineModels, ModelSet } from './models.js';
|
|
13
|
+
export type { ModelsDefinition, ModelClassDefinition, ModelClass, ModelProperty, ModelType } from './models.js';
|
|
14
|
+
export type { EncodeOptions } from './writer.js';
|
|
15
|
+
export { MsgPackError, MissingSchemaError, HttpError } from './errors.js';
|
|
16
|
+
export { guidString, guidBytes } from './values.js';
|
|
17
|
+
export { camelCase } from './names.js';
|
|
18
|
+
export type { PropertyNames } from './names.js';
|
|
19
|
+
export type { DecimalMode } from './values.js';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { LsMsgPackClient, MediaTypes, SchemasHeader, SchemaHeader, DescribedAccept } from './client.js';
|
|
2
|
+
export { Decoder, TypeProperty } from './decoder.js';
|
|
3
|
+
export { SchemaStore } from './store.js';
|
|
4
|
+
export { Schema } from './schema.js';
|
|
5
|
+
export { MsgPackReader, MsgPackExtension } from './reader.js';
|
|
6
|
+
export { encode } from './writer.js';
|
|
7
|
+
export { defineModels, ModelSet } from './models.js';
|
|
8
|
+
export { MsgPackError, MissingSchemaError, HttpError } from './errors.js';
|
|
9
|
+
export { guidString, guidBytes } from './values.js';
|
|
10
|
+
export { camelCase } from './names.js';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAExG,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGrD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/models.d.ts
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { TypeExpr } from './schema.js';
|
|
2
|
+
import { PropertyNames } from './names.js';
|
|
3
|
+
/** A declared type as the generator writes it. */
|
|
4
|
+
export type ModelType = string | readonly unknown[];
|
|
5
|
+
/** A class of the models: [constructor, type name, [[property, declared type], ...]] (the .NET property names: the fields are named as propertyNames says). */
|
|
6
|
+
export type ModelClassDefinition = readonly [new () => object, string, readonly (readonly [string, ModelType])[]];
|
|
7
|
+
/** What the generated code passes to defineModels. */
|
|
8
|
+
export interface ModelsDefinition {
|
|
9
|
+
/** The generator and its version, for messages. */
|
|
10
|
+
generator?: string;
|
|
11
|
+
/** How the models were generated to be read (their TypeScript types depend on it): the client must read with the same. */
|
|
12
|
+
int64?: 'number' | 'bigint';
|
|
13
|
+
dates?: 'date' | 'iso';
|
|
14
|
+
decimal?: 'number' | 'string';
|
|
15
|
+
/** The field names of the classes (default 'dotnet'). */
|
|
16
|
+
propertyNames?: PropertyNames;
|
|
17
|
+
classes: readonly ModelClassDefinition[];
|
|
18
|
+
}
|
|
19
|
+
export interface ModelProperty {
|
|
20
|
+
/** The name of the .NET property (as the server writes and reads it). */
|
|
21
|
+
readonly name: string;
|
|
22
|
+
/** The name of the field (the .NET name, or camelCase). */
|
|
23
|
+
readonly field: string;
|
|
24
|
+
readonly type: TypeExpr;
|
|
25
|
+
}
|
|
26
|
+
export interface ModelClass {
|
|
27
|
+
readonly ctor: new () => object;
|
|
28
|
+
/** The type id of the server (short or full type name). */
|
|
29
|
+
readonly typeName: string;
|
|
30
|
+
/** The serialized properties in the server's order (inherited ones too). */
|
|
31
|
+
readonly properties: readonly ModelProperty[];
|
|
32
|
+
/** The declared types by .NET name. */
|
|
33
|
+
readonly byName: ReadonlyMap<string, TypeExpr>;
|
|
34
|
+
/** The field names of the properties. */
|
|
35
|
+
readonly fields: ReadonlySet<string>;
|
|
36
|
+
/** Extends another class (its .NET base class): where the declared type is unknown (the root of a request body), the encoder writes its type id. */
|
|
37
|
+
readonly derived: boolean;
|
|
38
|
+
}
|
|
39
|
+
/** The models of one generated file (defineModels), for LsMsgPackClient({ models }) or the decoder and encoder. */
|
|
40
|
+
export declare class ModelSet {
|
|
41
|
+
readonly generator?: string;
|
|
42
|
+
readonly int64?: 'number' | 'bigint';
|
|
43
|
+
readonly dates?: 'date' | 'iso';
|
|
44
|
+
readonly decimal?: 'number' | 'string';
|
|
45
|
+
readonly propertyNames: PropertyNames;
|
|
46
|
+
private readonly names;
|
|
47
|
+
private readonly ctors;
|
|
48
|
+
constructor(definition: ModelsDefinition);
|
|
49
|
+
/** The model of a type name of the server (a schema entry, a type id). */
|
|
50
|
+
byName(typeName: string): ModelClass | undefined;
|
|
51
|
+
/** The model of an instance (its constructor), for writing. */
|
|
52
|
+
of(value: object): ModelClass | undefined;
|
|
53
|
+
get size(): number;
|
|
54
|
+
}
|
|
55
|
+
/** Registers the generated classes (called by the generated models file). */
|
|
56
|
+
export declare function defineModels(definition: ModelsDefinition): ModelSet;
|
package/dist/models.js
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
// Generated models (lsmsgpack-ts, docs/TypeScriptModels.md): classes whose fields start with the values the .NET constructors set, and what defineModels gets for each:
|
|
2
|
+
// the type name (the server's type id, also the name of its schema entry) and the declared type of every property, in the form of the described schema with
|
|
3
|
+
// ['class', typeName] / ['struct', typeName] for classes. The decoder creates the classes for their entries (new: every object gets its own initial values),
|
|
4
|
+
// the encoder writes their properties as declared and the type id only where the declared type is not the class.
|
|
5
|
+
import { AnyType, parseType } from './schema.js';
|
|
6
|
+
import { TypeProperty } from './decoder.js';
|
|
7
|
+
import { nameFunction } from './names.js';
|
|
8
|
+
/** The models of one generated file (defineModels), for LsMsgPackClient({ models }) or the decoder and encoder. */
|
|
9
|
+
export class ModelSet {
|
|
10
|
+
constructor(definition) {
|
|
11
|
+
this.names = new Map();
|
|
12
|
+
this.ctors = new Map();
|
|
13
|
+
this.generator = definition.generator;
|
|
14
|
+
this.int64 = definition.int64;
|
|
15
|
+
this.dates = definition.dates;
|
|
16
|
+
this.decimal = definition.decimal;
|
|
17
|
+
this.propertyNames = definition.propertyNames ?? 'dotnet';
|
|
18
|
+
const field = nameFunction(this.propertyNames);
|
|
19
|
+
const classes = definition.classes ?? [];
|
|
20
|
+
for (const [ctor, typeName, props] of classes) {
|
|
21
|
+
if (typeof ctor !== 'function' || typeof typeName !== 'string')
|
|
22
|
+
throw new Error('defineModels: a class is [constructor, type name, properties].');
|
|
23
|
+
const properties = (props ?? []).map(([name, type]) => ({ name, field: field(name), type: parseModelType(type) }));
|
|
24
|
+
const derived = Object.getPrototypeOf(ctor) !== Function.prototype; // generated classes only extend their .NET base class (abstract ones are not in the list)
|
|
25
|
+
const model = { ctor, typeName, properties, byName: new Map(properties.map((p) => [p.name, p.type])), fields: new Set(properties.map((p) => p.field)), derived };
|
|
26
|
+
this.names.set(typeName, model);
|
|
27
|
+
this.ctors.set(ctor, model);
|
|
28
|
+
// The type name on the prototype: every instance has it, none pays for it (and JSON.stringify leaves it out). Writable: assigning it on an instance shadows it.
|
|
29
|
+
Object.defineProperty(ctor.prototype, TypeProperty, { value: typeName, writable: true, enumerable: false, configurable: true });
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/** The model of a type name of the server (a schema entry, a type id). */
|
|
33
|
+
byName(typeName) {
|
|
34
|
+
return this.names.get(typeName);
|
|
35
|
+
}
|
|
36
|
+
/** The model of an instance (its constructor), for writing. */
|
|
37
|
+
of(value) {
|
|
38
|
+
return this.ctors.get(value.constructor);
|
|
39
|
+
}
|
|
40
|
+
get size() {
|
|
41
|
+
return this.names.size;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/** Registers the generated classes (called by the generated models file). */
|
|
45
|
+
export function defineModels(definition) {
|
|
46
|
+
return new ModelSet(definition);
|
|
47
|
+
}
|
|
48
|
+
/** A declared type of the models: the described schema's form, classes by their type name. */
|
|
49
|
+
function parseModelType(value) {
|
|
50
|
+
if (Array.isArray(value) && (value[0] === 'class' || value[0] === 'struct') && typeof value[1] === 'string')
|
|
51
|
+
return { k: 'model', name: value[1], struct: value[0] === 'struct' };
|
|
52
|
+
if (Array.isArray(value) && typeof value[0] === 'string') {
|
|
53
|
+
switch (value[0]) {
|
|
54
|
+
case '?': return { k: 'nullable', of: parseModelType(value[1]) };
|
|
55
|
+
case 'list': return { k: 'list', of: parseModelType(value[1]) };
|
|
56
|
+
case 'dict': return { k: 'dict', key: parseModelType(value[1]), value: parseModelType(value[2]) };
|
|
57
|
+
case 'pair': return { k: 'pair', key: parseModelType(value[1]), value: parseModelType(value[2]) };
|
|
58
|
+
case 'tuple': return { k: 'tuple', items: value.slice(1).map(parseModelType) };
|
|
59
|
+
}
|
|
60
|
+
return AnyType;
|
|
61
|
+
}
|
|
62
|
+
return parseType(value);
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=models.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
|
package/dist/names.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** The names of the properties of .NET classes in JavaScript: 'dotnet' (as they are, e.g. InvoiceDate) or 'camelCase' (invoiceDate). Never dictionary keys or $type. */
|
|
2
|
+
export type PropertyNames = 'dotnet' | 'camelCase';
|
|
3
|
+
/**
|
|
4
|
+
* JsonNamingPolicy.CamelCase.ConvertName: the upper case letters at the start become lower case, except the last of them when a lower case letter follows
|
|
5
|
+
* (InvoiceDate → invoiceDate, ID → id, URLValue → urlValue, IOStream → ioStream).
|
|
6
|
+
*/
|
|
7
|
+
export declare function camelCase(name: string): string;
|
|
8
|
+
/** The JavaScript name of a .NET property name. */
|
|
9
|
+
export declare function nameFunction(names: PropertyNames): (name: string) => string;
|
package/dist/names.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// Property names as System.Text.Json's JsonNamingPolicy.CamelCase writes them (the propertyNames option, docs/TypeScriptClient.md).
|
|
2
|
+
// lsmsgpack-ts names the fields of the models with JsonNamingPolicy.CamelCase itself: keep the two the same.
|
|
3
|
+
const upper = /^\p{Lu}$/u;
|
|
4
|
+
/** char.IsUpper of one UTF-16 unit (a lone surrogate is not). */
|
|
5
|
+
function isUpper(c) {
|
|
6
|
+
return upper.test(c);
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* JsonNamingPolicy.CamelCase.ConvertName: the upper case letters at the start become lower case, except the last of them when a lower case letter follows
|
|
10
|
+
* (InvoiceDate → invoiceDate, ID → id, URLValue → urlValue, IOStream → ioStream).
|
|
11
|
+
*/
|
|
12
|
+
export function camelCase(name) {
|
|
13
|
+
if (name.length === 0 || !isUpper(name[0]))
|
|
14
|
+
return name;
|
|
15
|
+
const chars = name.split(''); // UTF-16 units, as the chars of .NET
|
|
16
|
+
for (let i = 0; i < chars.length; i++) {
|
|
17
|
+
if (i === 1 && !isUpper(chars[i]))
|
|
18
|
+
break;
|
|
19
|
+
if (i > 0 && i + 1 < chars.length && !isUpper(chars[i + 1])) {
|
|
20
|
+
if (chars[i + 1] === ' ')
|
|
21
|
+
chars[i] = toLower(chars[i]);
|
|
22
|
+
break;
|
|
23
|
+
}
|
|
24
|
+
chars[i] = toLower(chars[i]);
|
|
25
|
+
}
|
|
26
|
+
return chars.join('');
|
|
27
|
+
}
|
|
28
|
+
/** char.ToLowerInvariant: a unit whose lower case is longer stays as it is (İ is i + a combining dot, .NET keeps İ). */
|
|
29
|
+
function toLower(c) {
|
|
30
|
+
const lower = c.toLowerCase();
|
|
31
|
+
return lower.length === 1 ? lower : c;
|
|
32
|
+
}
|
|
33
|
+
/** The JavaScript name of a .NET property name. */
|
|
34
|
+
export function nameFunction(names) {
|
|
35
|
+
return names === 'camelCase' ? camelCase : (name) => name;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=names.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"names.js","sourceRoot":"","sources":["../src/names.ts"],"names":[],"mappings":"AAAA,oIAAoI;AACpI,6GAA6G;AAK7G,MAAM,KAAK,GAAG,WAAW,CAAC;AAE1B,iEAAiE;AACjE,SAAS,OAAO,CAAC,CAAS;IACxB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACxD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,qCAAqC;IACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,MAAM;QACzC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG;gBAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,MAAM;QACR,CAAC;QACD,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AAED,wHAAwH;AACxH,SAAS,OAAO,CAAC,CAAS;IACxB,MAAM,KAAK,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IAC9B,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,YAAY,CAAC,KAAoB;IAC/C,OAAO,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;AAC5D,CAAC"}
|
package/dist/reader.d.ts
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { MsgPackError } from './errors.js';
|
|
2
|
+
import { DecimalMode } from './values.js';
|
|
3
|
+
/** An extension type the reader does not know (as LtMsgPack's MsgPackExtension). */
|
|
4
|
+
export declare class MsgPackExtension {
|
|
5
|
+
readonly type: number;
|
|
6
|
+
readonly data: Uint8Array;
|
|
7
|
+
constructor(type: number, data: Uint8Array);
|
|
8
|
+
}
|
|
9
|
+
export interface ReaderOptions {
|
|
10
|
+
/** Decimals (extension type 1): 'number' (default), 'string' (the text of decimal.ToString()), 'raw' (a MsgPackExtension) or a function of the text. */
|
|
11
|
+
decimal?: DecimalMode;
|
|
12
|
+
/** Arrays and maps nested deeper are refused (MsgPackOptions.MaxDepth), 256 by default. */
|
|
13
|
+
maxDepth?: number;
|
|
14
|
+
}
|
|
15
|
+
export declare class MsgPackReader {
|
|
16
|
+
readonly bytes: Uint8Array;
|
|
17
|
+
readonly view: DataView;
|
|
18
|
+
pos: number;
|
|
19
|
+
protected depth: number;
|
|
20
|
+
protected readonly maxDepth: number;
|
|
21
|
+
protected readonly decimal: DecimalMode;
|
|
22
|
+
constructor(bytes: Uint8Array, options?: ReaderOptions, pos?: number);
|
|
23
|
+
get remaining(): number;
|
|
24
|
+
/** The next byte, without reading it. */
|
|
25
|
+
peek(): number;
|
|
26
|
+
protected endOfData(): MsgPackError;
|
|
27
|
+
/** Throws when fewer than count bytes are left (checked before anything is allocated for a length read from the data). */
|
|
28
|
+
protected need(count: number): void;
|
|
29
|
+
protected u8(): number;
|
|
30
|
+
protected u16(): number;
|
|
31
|
+
protected u32(): number;
|
|
32
|
+
/** A 64 bit integer: a number when it is safe, otherwise a bigint (no precision is lost). */
|
|
33
|
+
protected i64(signed: boolean): number | bigint;
|
|
34
|
+
/** A string of the given number of UTF-8 bytes. */
|
|
35
|
+
str(length: number): string;
|
|
36
|
+
/** A copy, so the result does not keep the whole payload alive. */
|
|
37
|
+
bin(length: number): Uint8Array;
|
|
38
|
+
/** Any value. */
|
|
39
|
+
value(): unknown;
|
|
40
|
+
protected i8(): number;
|
|
41
|
+
/** The length of an array (its header is read), or -1 when the next value is not an array (nothing is read). */
|
|
42
|
+
arrayLength(): number;
|
|
43
|
+
/** The number of entries of a map (its header is read), or -1 when the next value is not a map (nothing is read). */
|
|
44
|
+
mapLength(): number;
|
|
45
|
+
/** Every item takes at least a byte: a count beyond the rest of the data is refused before anything is allocated. */
|
|
46
|
+
protected count(n: number): number;
|
|
47
|
+
/** The next value is a map whose first key is "" (a type id: { "": typeId, ... }). Reads nothing. */
|
|
48
|
+
startsWithTypeId(): boolean;
|
|
49
|
+
protected enter(): void;
|
|
50
|
+
protected array(n: number): unknown[];
|
|
51
|
+
/** A map with string keys becomes an object, other keys are converted to strings (as JSON does). */
|
|
52
|
+
protected map(n: number): unknown;
|
|
53
|
+
/** A map key: a fixstr through the key cache, anything else as a value. */
|
|
54
|
+
protected key(): unknown;
|
|
55
|
+
protected ext(type: number, length: number): unknown;
|
|
56
|
+
/** The timestamp extension (type -1) as a Date (milliseconds: the nanoseconds below them are dropped). */
|
|
57
|
+
protected timestamp(length: number): Date;
|
|
58
|
+
/** Skips a value. */
|
|
59
|
+
skip(): void;
|
|
60
|
+
}
|
|
61
|
+
/** Extension type -2: a big-endian two's complement integer. */
|
|
62
|
+
export declare function bigIntOf(bytes: Uint8Array, start: number, length: number): bigint;
|