Files
NapCatQQ/.pnpm-store/v3/files/b4/64dead5e83cd9849339f110dc7df712e9547fd5c3de0fef8a83d381692d3e932e7ccf2ab2dcb2dd4ca97abd8048ff7231bd296e25551848d1d22829c6a253f
T
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

35 lines
1.3 KiB
Plaintext

import * as asn1js from "asn1js";
import { AsnRepeatType } from "./decorators";
import { AsnPropTypes, AsnTypeTypes } from "./enums";
import { IAsnConverter, IEmptyConstructor } from "./types";
export interface IAsnSchemaItem {
type: AsnPropTypes | IEmptyConstructor;
optional?: boolean;
defaultValue?: unknown;
context?: number;
implicit?: boolean;
converter?: IAsnConverter;
repeated?: AsnRepeatType;
raw?: boolean;
}
export interface IAsnSchema {
type: AsnTypeTypes;
itemType: AsnPropTypes | IEmptyConstructor;
items: {
[key: string]: IAsnSchemaItem;
};
schema?: AsnSchemaType;
}
export type AsnSchemaType = asn1js.Sequence | asn1js.Set | asn1js.Choice;
export declare class AsnSchemaStorage {
protected items: WeakMap<object, IAsnSchema>;
has(target: object): boolean;
get(target: IEmptyConstructor, checkSchema: true): IAsnSchema & Required<Pick<IAsnSchema, "schema">>;
get(target: IEmptyConstructor, checkSchema?: false): IAsnSchema;
cache(target: IEmptyConstructor): void;
createDefault(target: object): IAsnSchema;
create(target: object, useNames: boolean): AsnSchemaType;
set(target: object, schema: IAsnSchema): this;
protected findParentSchema(target: object): IAsnSchema | null;
}