LarpixClient/electron/node_modules/@peculiar/asn1-schema/README.md
olcxja fb6c8b6ee9
All checks were successful
Android Build / publish (push) Successful in 55s
Linux Build / publish (push) Successful in 1m6s
update electron to v43
2026-07-09 22:38:33 +02:00

51 lines
1.6 KiB
Markdown

# `@peculiar/asn1-schema`
[![License](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/PeculiarVentures/asn1-schema/blob/master/packages/schema/LICENSE)
[![npm version](https://badge.fury.io/js/%40peculiar%2Fasn1-schema.svg)](https://badge.fury.io/js/%40peculiar%2Fasn1-schema)
[![NPM](https://nodei.co/npm/@peculiar/asn1-schema.png)](https://nodei.co/npm/@peculiar/asn1-schema/)
Decorators and helper APIs for declaring ASN.1 schemas in TypeScript.
This is the core package used by the schema modules in this repository. It lets you describe DER structures with decorators and convert them with `AsnConvert`, `AsnParser`, and `AsnSerializer`.
## Installation
```bash
npm install @peculiar/asn1-schema
```
## Overview
Abstract Syntax Notation One (ASN.1) is widely used across X.509, PKCS, CMS, OCSP, and related standards. This package keeps those mappings declarative and type-friendly by attaching schema metadata directly to classes.
## TypeScript Example
```ts
import {
AsnConvert,
AsnProp,
AsnPropTypes,
AsnType,
AsnTypeTypes,
} from "@peculiar/asn1-schema";
@AsnType({ type: AsnTypeTypes.Sequence })
class BasicConstraints {
@AsnProp({ type: AsnPropTypes.Boolean, defaultValue: false })
public cA = false;
}
const basicConstraints = new BasicConstraints();
basicConstraints.cA = true;
const encoded = AsnConvert.serialize(basicConstraints);
const decoded = AsnConvert.parse(encoded, BasicConstraints);
console.log(decoded.cA);
```
## Related Links
- [Decorators overview](https://medium.com/google-developers/exploring-es7-decorators-76ecb65fb841)
- [ASN.1 playground](http://lapo.it/asn1js/)