summaryrefslogtreecommitdiffstats
path: root/third_party/js/PKI.js/src/Schema.ts
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/js/PKI.js/src/Schema.ts')
-rw-r--r--third_party/js/PKI.js/src/Schema.ts31
1 files changed, 31 insertions, 0 deletions
diff --git a/third_party/js/PKI.js/src/Schema.ts b/third_party/js/PKI.js/src/Schema.ts
new file mode 100644
index 0000000000..a93004834a
--- /dev/null
+++ b/third_party/js/PKI.js/src/Schema.ts
@@ -0,0 +1,31 @@
+export type SchemaType = any;
+
+export type SchemaNames = {
+ blockName?: string;
+ optional?: boolean;
+};
+
+export interface SchemaCompatible {
+ /**
+ * Converts parsed ASN.1 object into current class
+ * @param schema
+ */
+ fromSchema(schema: SchemaType): void;
+ /**
+ * Convert current object to asn1js object and set correct values
+ * @returns asn1js object
+ */
+ toSchema(): SchemaType;
+ toJSON(): any;
+}
+
+export interface SchemaConstructor {
+ schema?: SchemaType;
+}
+
+/**
+ * Parameters for schema generation
+ */
+export interface SchemaParameters<N extends Record<string, any> = { /**/ }> {
+ names?: SchemaNames & N;
+}