blob: 7608a3cf7d9e8b5f6a7826c788de94a93696ddf7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
import { BaseBlock, BaseBlockJson, BaseBlockParams } from "./BaseBlock";
import { LocalObjectIdentifierValueBlockParams, LocalObjectIdentifierValueBlock, LocalObjectIdentifierValueBlockJson } from "./internals/LocalObjectIdentifierValueBlock";
import { typeStore } from "./TypeStore";
export interface ObjectIdentifierParams extends BaseBlockParams, LocalObjectIdentifierValueBlockParams { }
export interface ObjectIdentifierJson extends BaseBlockJson<LocalObjectIdentifierValueBlockJson> {
value: string;
}
export class ObjectIdentifier extends BaseBlock<LocalObjectIdentifierValueBlock, LocalObjectIdentifierValueBlockJson> {
static {
typeStore.ObjectIdentifier = this;
}
public static override NAME = "OBJECT IDENTIFIER";
/**
* Gets string representation of Object Identifier
* @since 3.0.0
*/
public getValue(): string {
return this.valueBlock.toString();
}
/**
* Sets Object Identifier value from string
* @param value String value
* @since 3.0.0
*/
public setValue(value: string): void {
this.valueBlock.fromString(value);
}
constructor(parameters: ObjectIdentifierParams = {}) {
super(parameters, LocalObjectIdentifierValueBlock);
this.idBlock.tagClass = 1; // UNIVERSAL
this.idBlock.tagNumber = 6; // OBJECT IDENTIFIER
}
protected override onAsciiEncoding(): string {
return `${(this.constructor as typeof ObjectIdentifier).NAME} : ${this.valueBlock.toString() || "empty"}`;
}
public override toJSON(): ObjectIdentifierJson {
return {
...super.toJSON(),
value: this.getValue(),
};
}
}
|