{
  "classes": [
    {
      "constants": [],
      "types": [
        {
          "lua_type": "type Asn1Node = {\n    class: string,\n    tag: number | string,\n    constructed: boolean,\n    children: { Asn1Node }?,\n    value: buffer?,\n}",
          "name": "Asn1Node",
          "tags": [],
          "source": {
            "path": "",
            "line": 120
          },
          "fields": [
            {
              "lua_type": "class: string",
              "name": "class",
              "desc": ""
            },
            {
              "lua_type": "tag: number | string",
              "name": "tag",
              "desc": ""
            },
            {
              "lua_type": "constructed: boolean",
              "name": "constructed",
              "desc": ""
            },
            {
              "lua_type": "children: { Asn1Node }?",
              "name": "children",
              "desc": ""
            },
            {
              "lua_type": "value: buffer?",
              "name": "value",
              "desc": ""
            }
          ],
          "desc": ""
        },
        {
          "lua_type": "type Asn1Integer = buffer | number",
          "name": "Asn1Integer",
          "tags": [],
          "source": {
            "path": "",
            "line": 493
          },
          "fields": [],
          "desc": ""
        },
        {
          "lua_type": "type SubjectPublicKeyInfo = {\n    algorithm: string,\n    subjectPublicKey: { modulus: Asn1Integer, publicExponent: Asn1Integer },\n}",
          "name": "SubjectPublicKeyInfo",
          "tags": [],
          "source": {
            "path": "",
            "line": 495
          },
          "fields": [
            {
              "lua_type": "algorithm: string",
              "name": "algorithm",
              "desc": ""
            },
            {
              "lua_type": "subjectPublicKey: { modulus: Asn1Integer, publicExponent: Asn1Integer }",
              "name": "subjectPublicKey",
              "desc": ""
            }
          ],
          "desc": ""
        },
        {
          "lua_type": "type OtherPrimeInfo = {\n    prime: Asn1Integer,\n    exponent: Asn1Integer,\n    coefficient: Asn1Integer,\n}",
          "name": "OtherPrimeInfo",
          "tags": [],
          "source": {
            "path": "",
            "line": 508
          },
          "fields": [
            {
              "lua_type": "prime: Asn1Integer",
              "name": "prime",
              "desc": ""
            },
            {
              "lua_type": "exponent: Asn1Integer",
              "name": "exponent",
              "desc": ""
            },
            {
              "lua_type": "coefficient: Asn1Integer",
              "name": "coefficient",
              "desc": ""
            }
          ],
          "desc": ""
        },
        {
          "lua_type": "type SubjectPrivateKeyInfo = {\n    algorithm: string,\n    version: Asn1Integer,\n    subjectPrivateKey: { version: Asn1Integer, modulus: Asn1Integer, publicExponent: Asn1Integer, privateExponent: Asn1Integer, prime1: Asn1Integer, prime2: Asn1Integer, exponent1: Asn1Integer, exponent2: Asn1Integer, coefficient: Asn1Integer, otherPrimeInfos: { OtherPrimeInfo }? },\n}",
          "name": "SubjectPrivateKeyInfo",
          "tags": [],
          "source": {
            "path": "",
            "line": 513
          },
          "fields": [
            {
              "lua_type": "algorithm: string",
              "name": "algorithm",
              "desc": ""
            },
            {
              "lua_type": "version: Asn1Integer",
              "name": "version",
              "desc": ""
            },
            {
              "lua_type": "subjectPrivateKey: { version: Asn1Integer, modulus: Asn1Integer, publicExponent: Asn1Integer, privateExponent: Asn1Integer, prime1: Asn1Integer, prime2: Asn1Integer, exponent1: Asn1Integer, exponent2: Asn1Integer, coefficient: Asn1Integer, otherPrimeInfos: { OtherPrimeInfo }? }",
              "name": "subjectPrivateKey",
              "desc": ""
            }
          ],
          "desc": ""
        }
      ],
      "name": "@eryx/crypto/asn1",
      "tags": [],
      "functions": [
        {
          "source": {
            "path": "",
            "line": 128
          },
          "is_method": false,
          "signature": "asn1.parseDer(data: buffer, offset: number?, limit: number?) → (Asn1Node, number)",
          "owner": "asn1",
          "desc": "",
          "tags": [],
          "name": "parseDer",
          "return_str": "(Asn1Node, number)",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "Asn1Node",
              "desc": ""
            },
            {
              "lua_type": "number",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "buffer",
              "name": "data",
              "desc": ""
            },
            {
              "lua_type": "number?",
              "name": "offset",
              "desc": ""
            },
            {
              "lua_type": "number?",
              "name": "limit",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 193
          },
          "is_method": false,
          "signature": "asn1.dumpNode(node: Asn1Node, indent: number?) → string",
          "owner": "asn1",
          "desc": "",
          "tags": [],
          "name": "dumpNode",
          "return_str": "string",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "string",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "Asn1Node",
              "name": "node",
              "desc": ""
            },
            {
              "lua_type": "number?",
              "name": "indent",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 428
          },
          "is_method": false,
          "signature": "asn1.parseBySchema(node: Asn1Node?, schema: Schema, extractInto: { [string]: any }) → ()",
          "owner": "asn1",
          "desc": "",
          "tags": [],
          "name": "parseBySchema",
          "return_str": "()",
          "function_type": "Function",
          "returns": [],
          "params": [
            {
              "lua_type": "Asn1Node?",
              "name": "node",
              "desc": ""
            },
            {
              "lua_type": "Schema",
              "name": "schema",
              "desc": ""
            },
            {
              "lua_type": "{ [string]: any }",
              "name": "extractInto",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 502
          },
          "is_method": false,
          "signature": "asn1.parsePublicRsaKey(node: Asn1Node) → SubjectPublicKeyInfo",
          "owner": "asn1",
          "desc": "",
          "tags": [],
          "name": "parsePublicRsaKey",
          "return_str": "SubjectPublicKeyInfo",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "SubjectPublicKeyInfo",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "Asn1Node",
              "name": "node",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 529
          },
          "is_method": false,
          "signature": "asn1.parsePrivateRsaKey(node: Asn1Node) → SubjectPrivateKeyInfo",
          "owner": "asn1",
          "desc": "",
          "tags": [],
          "name": "parsePrivateRsaKey",
          "return_str": "SubjectPrivateKeyInfo",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "SubjectPrivateKeyInfo",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "Asn1Node",
              "name": "node",
              "desc": ""
            }
          ]
        }
      ],
      "properties": [],
      "source": {
        "path": "",
        "line": 0
      },
      "desc": ""
    }
  ]
}