Options
All
  • Public
  • Public/Protected
  • All
Menu

Module "helper"

Index

Type aliases

BaseCborType

BaseCborType: { additionalInformation: number; majorType: MAJOR_TYPE_IDENTIFIER_TYPE; payloadLength?: undefined | number; raw: string; type: CborIdentiferType }

このライブラリ内に登場するCBOR表現の共通部分

Type declaration

  • additionalInformation: number

    23-31. TinyCborTypeにとってはこれが実質のvalue

  • majorType: MAJOR_TYPE_IDENTIFIER_TYPE

    major type

  • Optional payloadLength?: undefined | number

    typeがlongのときだけ入る。それ以外の時の長さはadditionalInformationでも代用できる(配列・オブジェクト)

  • raw: string
  • type: CborIdentiferType

    どのCBOR Typeか

CborIdentiferType

CborIdentiferType: "tiny" | "short" | "long" | undefined

このライブラリ内でのCBOR表現. データ構造に応じてtiny, short, longを使う. undefinedはタイプが未定義なときに使う.(major typeによって変動しうるため)

CborType

このライブラリ内でのCBOR表現.

DataItemHeader

DataItemHeader: { additionalInformation: number; majorType: MAJOR_TYPE_IDENTIFIER_TYPE }

Type declaration

EatCborResutType

EatCborResutType: { decodeResult: any; restCborString: string | null }

デコード結果

Type declaration

  • decodeResult: any

    デコードした結果

  • restCborString: string | null

    その時点でのデコードでは不要だったCBOR文字列

LongCborType

LongCborType: BaseCborType & { payloadLength: number; type: "long"; variable: string }

LongCbor型

example

{ type: "short", // 78 18 616161616161616161616161616161616161616161616161 raw: 7818616161616161616161616161616161616161616161616161, majorType: 3, additionalInformation: 24, // 0x18が長さ payloadLength: 24, // 0x78, 0x18 を取り除いた部分がvariable variable: 616161616161616161616161616161616161616161616161 }

ShortCborType

ShortCborType: BaseCborType & { type: "short"; variable: string }

ShortType型.

example

{ type: "short", raw: 6161, majorType: 3, additionalInformation: 1, variable: 61 }

SperatedFirstTokenCbor

SperatedFirstTokenCbor: { rest: string | null; token: string }

Type declaration

  • rest: string | null
  • token: string

TinyCborType

TinyCborType: BaseCborType & { type: "tiny" }

TinyCbor型.

Functions

Const detectCborTypeFromBaseCbor

  • 未定義のCborTypeを鑑定する. major typeによって取りうるcbor typeが異なってくる。

    数字(majortypeが0, 1)のときは、additionalInformationが24以下ならtiny, それ以外はshort. byte(majortypeが2)のときは、additionalInformationが24以下ならtiny, それ以外はlong. string(majortypeが3)のときは、additionalInformationが24以下ならshort, それ以外はlong. array, object(majortypeが4)のときは、additionalInformationが24以下ならshort, それ以外はlong.

    Parameters

    • undefinedTypeCbor: BaseCborType

      undefinedが設定されたままのCBORオブジェクト

    Returns CborType

Const hexToDateitemHeader

  • 1byte(0-255)をdataItemHeaderに分解する。

    Parameters

    • input: number

      castすると16進数で表現できる文字列

    Returns DataItemHeader

    DataItemHeader

Const isValidCborString

  • isValidCborString(cborString: string): boolean
  • 入力文字列がCBOR準拠かたしかめる

    Parameters

    • cborString: string

    Returns boolean

Const ofBaseCbor

Const ofLongField

Const ofShortField

Const ofTineCbor

Const separateTokenFromCBOR

  • CBOR文字列から最初に現れる16進数とそれ以降の文字列に分離する関数。 CBORに準拠したtokenは16進数にcastできる性質を利用している.

    example

    const firstHex = trimFirstHexFromCBOR("626161") // { token: "62", rest: "6161" }

    const firstHex = trimFirstHexFromCBOR("01") // { token: "01", rest: null }

    const firstHex = trimFirstHexFromCBOR("0") // { token: "0", rest: null }

    Parameters

    • cbor: string

    Returns SperatedFirstTokenCbor

    SperatedFirstTokenCbor 00は00のまま返してもいい。00であってもparseされたら0として出力される。

Const throwableDecode

  • 渡されたCBOR文字列に現れた最初のJS準拠のデータと残ったCBOR文字列を返す

    Parameters

    • cborString: string

      CBOR文字列

    Returns EatCborResutType

    JSのデータ構造と、使いきれなかったtoken

Const toCBOR

  • CBOR文字列から未鑑定のCBORオブジェクトを生成する。

    example

    const cbor = toCBOR("6161") // {type: undefined, raw: "6161", majorType: 0, additionalInformation:1}

    Parameters

    • cborInput: string

      CBOR文字列 ex) 6161

    Returns BaseCborType

    未鑑定(typeがundefined)のCBORオブジェクト

Const trimFirstHexFromCBOR

  • trimFirstHexFromCBOR(input: string): string
  • CBOR文字列から最初に現れる16進数を求める関数.

    example

    const firstHex = trimFirstHexFromCBOR("6161") // 61 (6や616にならない)

    const firstHex = trimFirstHexFromCBOR("01") // 01

    Parameters

    • input: string

      CBOR文字列

      • 6161
      • 01

    Returns string

Generated using TypeDoc