summaryrefslogtreecommitdiff
path: root/node_modules/typedoc/dist/lib/serialization/components.d.ts
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/typedoc/dist/lib/serialization/components.d.ts')
-rw-r--r--node_modules/typedoc/dist/lib/serialization/components.d.ts25
1 files changed, 25 insertions, 0 deletions
diff --git a/node_modules/typedoc/dist/lib/serialization/components.d.ts b/node_modules/typedoc/dist/lib/serialization/components.d.ts
new file mode 100644
index 0000000..e07052f
--- /dev/null
+++ b/node_modules/typedoc/dist/lib/serialization/components.d.ts
@@ -0,0 +1,25 @@
+import type { Serializer } from "./serializer";
+import type { ModelToObject } from "./schema";
+/**
+ * Represents Serializer plugin component.
+ *
+ * Like {@link Converter} plugins each {@link Serializer} plugin defines a predicate that instructs if an
+ * object can be serialized by it. This is done dynamically at runtime via a `supports` method.
+ *
+ * Additionally, each {@link Serializer} plugin must define a predicate that instructs the group
+ * it belongs to.
+ */
+export interface SerializerComponent<T> {
+ /**
+ * The priority this serializer should be executed with.
+ * A higher priority means the {@link Serializer} will be applied earlier.
+ */
+ readonly priority: number;
+ /**
+ * Technically this should return `item is T`, but that doesn't play nicely
+ * with inference, so allow the looser `boolean` return type.
+ * @param item
+ */
+ supports(item: unknown): boolean;
+ toObject(item: T, obj: Partial<ModelToObject<T>>, serializer: Serializer): Partial<ModelToObject<T>>;
+}