HTMLStreamer/Sources/HTMLStreamer/HTMLConversionCallbacks.swift

33 lines
724 B
Swift
Raw Normal View History

2023-12-23 01:30:29 +00:00
//
// HTMLConversionCallbacks.swift
// HTMLStreamer
//
// Created by Shadowfacts on 12/22/23.
//
import Foundation
public protocol HTMLConversionCallbacks {
static func makeURL(string: String) -> URL?
static func elementAction(name: String, attributes: [Attribute]) -> ElementAction
}
public enum ElementAction: Equatable {
case `default`
case skip
case replace(String)
2024-01-17 00:15:56 +00:00
case append(String)
2023-12-23 01:30:29 +00:00
}
public extension HTMLConversionCallbacks {
static func makeURL(string: String) -> URL? {
URL(string: string)
}
static func elementAction(name: String, attributes: [Attribute]) -> ElementAction {
.default
}
}
public struct DefaultCallbacks: HTMLConversionCallbacks {
}