add type declarations

This commit is contained in:
Rowan 2025-05-27 00:27:06 -05:00
parent f4846cfcb9
commit c4868f40b5
8 changed files with 102 additions and 28 deletions

48
dist/index.js vendored
View file

@ -26,9 +26,9 @@
mod
));
// ../serde-ts/dist/ser/interface.js
// node_modules/serde/dist/ser/interface.js
var require_interface = __commonJS({
"../serde-ts/dist/ser/interface.js"(exports) {
"node_modules/serde/dist/ser/interface.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Serializer = exports.SerializeIterable = exports.SerializeObject = void 0;
@ -78,9 +78,9 @@
}
});
// ../serde-ts/dist/ser/identity.js
// node_modules/serde/dist/ser/identity.js
var require_identity = __commonJS({
"../serde-ts/dist/ser/identity.js"(exports) {
"node_modules/serde/dist/ser/identity.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.IdentitySerializer = void 0;
@ -164,9 +164,9 @@
}
});
// ../serde-ts/dist/utils.js
// node_modules/serde/dist/utils.js
var require_utils = __commonJS({
"../serde-ts/dist/utils.js"(exports) {
"node_modules/serde/dist/utils.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.PrimitivePrototype = exports.IterResult = void 0;
@ -233,9 +233,9 @@
}
});
// ../serde-ts/dist/registry.js
// node_modules/serde/dist/registry.js
var require_registry = __commonJS({
"../serde-ts/dist/registry.js"(exports) {
"node_modules/serde/dist/registry.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.registerDeserialize = exports.registerSerialize = exports.GlobalRegistry = exports.Registry = void 0;
@ -341,9 +341,9 @@
}
});
// ../serde-ts/dist/ser/impl.js
// node_modules/serde/dist/ser/impl.js
var require_impl = __commonJS({
"../serde-ts/dist/ser/impl.js"(exports) {
"node_modules/serde/dist/ser/impl.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.serialize = serialize3;
@ -408,9 +408,9 @@
}
});
// ../serde-ts/dist/ser/index.js
// node_modules/serde/dist/ser/index.js
var require_ser = __commonJS({
"../serde-ts/dist/ser/index.js"(exports) {
"node_modules/serde/dist/ser/index.js"(exports) {
"use strict";
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
@ -435,9 +435,9 @@
}
});
// ../serde-ts/dist/de/impl.js
// node_modules/serde/dist/de/impl.js
var require_impl2 = __commonJS({
"../serde-ts/dist/de/impl.js"(exports) {
"node_modules/serde/dist/de/impl.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.deserialize = deserialize2;
@ -453,9 +453,9 @@
}
});
// ../serde-ts/dist/de/interface.js
// node_modules/serde/dist/de/interface.js
var require_interface2 = __commonJS({
"../serde-ts/dist/de/interface.js"(exports) {
"node_modules/serde/dist/de/interface.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.IterableAccess = exports.MapAccess = void 0;
@ -516,9 +516,9 @@
}
});
// ../serde-ts/dist/de/forward.js
// node_modules/serde/dist/de/forward.js
var require_forward = __commonJS({
"../serde-ts/dist/de/forward.js"(exports) {
"node_modules/serde/dist/de/forward.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Forwarder = void 0;
@ -667,9 +667,9 @@
}
});
// ../serde-ts/dist/de/generic.js
// node_modules/serde/dist/de/generic.js
var require_generic = __commonJS({
"../serde-ts/dist/de/generic.js"(exports) {
"node_modules/serde/dist/de/generic.js"(exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Visitor = void 0;
@ -742,9 +742,9 @@
}
});
// ../serde-ts/dist/de/index.js
// node_modules/serde/dist/de/index.js
var require_de = __commonJS({
"../serde-ts/dist/de/index.js"(exports) {
"node_modules/serde/dist/de/index.js"(exports) {
"use strict";
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
@ -770,9 +770,9 @@
}
});
// ../serde-ts/dist/index.js
// node_modules/serde/dist/index.js
var require_dist = __commonJS({
"../serde-ts/dist/index.js"(exports) {
"node_modules/serde/dist/index.js"(exports) {
"use strict";
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) {
if (k2 === void 0) k2 = k;

View file

@ -3,6 +3,7 @@
"version": "1.0.0",
"description": "",
"main": "dist/index.js",
"types": "./types/index.d.ts",
"type": "module",
"scripts": {
"build": "esbuild src/index.ts --bundle --outfile=dist/index.js",

View file

@ -1,6 +1,6 @@
import { JSONSerializer } from './ser'
import { JSONSerializer } from './ser.js'
import { deserialize } from 'serde/de'
import { JSONDeserializer } from './de'
import { JSONDeserializer } from './de.js'
import { serialize } from 'serde/ser'
export function toString(value: any): string {

View file

@ -52,7 +52,7 @@
// "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */
/* Emit */
// "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */
"declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */
// "declarationMap": true, /* Create sourcemaps for d.ts files. */
// "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */
// "sourceMap": true, /* Create source map files for emitted JavaScript files. */
@ -72,7 +72,7 @@
// "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */
// "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */
// "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */
// "declarationDir": "./", /* Specify the output directory for generated declaration files. */
"declarationDir": "./types/", /* Specify the output directory for generated declaration files. */
/* Interop Constraints */
// "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */

34
types/de.d.ts vendored Normal file
View file

@ -0,0 +1,34 @@
import { Registry } from 'serde';
import { Deserialize, IDeserializer, IterableAccess, IVisitor, MapAccess } from 'serde/de';
type Entry = [any, any];
export declare class JSONMapAccess extends MapAccess {
private readonly _entries;
private index;
constructor(entries: Entry[]);
static fromObject(value: object): JSONMapAccess;
nextKey<T>(seed?: Deserialize<T>): IteratorResult<T>;
nextValue<T>(seed?: Deserialize<T>): IteratorResult<T>;
}
export declare class JSONIterableAccess extends IterableAccess {
private readonly iterator;
constructor(iterator: Iterator<any>);
static fromIterable(iterable: Iterable<any>): JSONIterableAccess;
nextElement<T, D extends Deserialize<T>>(seed?: D): IteratorResult<T>;
}
export declare class JSONDeserializer implements IDeserializer {
private readonly input;
private readonly parser;
constructor(input: string, registry?: Registry);
static fromString(value: string, registry?: Registry): JSONDeserializer;
deserializeAny<T>(_visitor: IVisitor<T>): T;
deserializeBoolean<T>(visitor: IVisitor<T>): T;
deserializeNumber<T>(visitor: IVisitor<T>): T;
deserializeBigInt<T>(visitor: IVisitor<T>): T;
deserializeString<T>(visitor: IVisitor<T>): T;
deserializeSymbol<T>(visitor: IVisitor<T>): T;
deserializeNull<T>(visitor: IVisitor<T>): T;
deserializeObject<T>(visitor: IVisitor<T>): T;
deserializeIterable<T>(visitor: IVisitor<T>): T;
deserializeFunction<T>(_visitor: IVisitor<T>): T;
}
export {};

1
types/err.d.ts vendored Normal file
View file

@ -0,0 +1 @@
export declare const unexpected: (expected: string, actual: string, position: number) => SyntaxError;

2
types/index.d.ts vendored Normal file
View file

@ -0,0 +1,2 @@
export declare function toString(value: any): string;
export declare function fromString<T>(value: string, into: any): T;

36
types/ser.d.ts vendored Normal file
View file

@ -0,0 +1,36 @@
import { Registry } from 'serde';
import { SerializeIterable, SerializeObject, Serializer } from 'serde/ser';
interface Stringify {
(value: any): string;
}
declare class JSONSerializeObject extends SerializeObject<string> {
private readonly stringify;
private value;
private currentKey?;
constructor(stringify: Stringify);
serializeKey(key: string): void;
serializeValue<U>(value: U): void;
end(): string;
}
declare class JSONSerializeIterable extends SerializeIterable<string> {
private readonly stringify;
private elements;
constructor(stringify: Stringify);
serializeElement<U>(value: U): void;
end(): string;
}
export declare class JSONSerializer extends Serializer<string> {
private stringify;
constructor(registry?: Registry);
serializeAny(value: any): string;
serializeBoolean(value: any): string;
serializeNumber(value: any): string;
serializeBigInt(value: any): string;
serializeString(value: any): string;
serializeSymbol(value: any): string;
serializeNull(): string;
serializeIterable(_len: number): JSONSerializeIterable;
serializeObject(_len: number): JSONSerializeObject;
serializeClass(_name: string, _len: number): JSONSerializeObject;
}
export {};