about summary refs log tree commit diff
path: root/modules/expo-bluesky-swiss-army/ios/HLSDownload/ExpoHLSDownloadModule.swift
diff options
context:
space:
mode:
authorHailey <me@haileyok.com>2024-08-15 11:23:48 -0700
committerGitHub <noreply@github.com>2024-08-15 11:23:48 -0700
commit11061b628ef5b5805c6435155ca2a571001e4643 (patch)
treed1e3c672d225592af7e1341332c6c6aeb979f216 /modules/expo-bluesky-swiss-army/ios/HLSDownload/ExpoHLSDownloadModule.swift
parentb9975697e22ef729e60b9111883127961258445b (diff)
downloadvoidsky-11061b628ef5b5805c6435155ca2a571001e4643.tar.zst
[Video] Download videos (#4886)
Co-authored-by: Samuel Newman <10959775+mozzius@users.noreply.github.com>
Diffstat (limited to 'modules/expo-bluesky-swiss-army/ios/HLSDownload/ExpoHLSDownloadModule.swift')
-rw-r--r--modules/expo-bluesky-swiss-army/ios/HLSDownload/ExpoHLSDownloadModule.swift31
1 files changed, 31 insertions, 0 deletions
diff --git a/modules/expo-bluesky-swiss-army/ios/HLSDownload/ExpoHLSDownloadModule.swift b/modules/expo-bluesky-swiss-army/ios/HLSDownload/ExpoHLSDownloadModule.swift
new file mode 100644
index 000000000..a9b445e48
--- /dev/null
+++ b/modules/expo-bluesky-swiss-army/ios/HLSDownload/ExpoHLSDownloadModule.swift
@@ -0,0 +1,31 @@
+import ExpoModulesCore
+
+public class ExpoHLSDownloadModule: Module {
+  public func definition() -> ModuleDefinition {
+    Name("ExpoHLSDownload")
+
+    Function("isAvailable") {
+      if #available(iOS 14.5, *) {
+        return true
+      }
+      return false
+    }
+
+    View(HLSDownloadView.self) {
+      Events([
+        "onStart",
+        "onError",
+        "onProgress",
+        "onSuccess"
+      ])
+
+      Prop("downloaderUrl") { (view: HLSDownloadView, downloaderUrl: URL) in
+        view.downloaderUrl = downloaderUrl
+      }
+
+      AsyncFunction("startDownloadAsync") { (view: HLSDownloadView, sourceUrl: URL) in
+        view.startDownload(sourceUrl: sourceUrl)
+      }
+    }
+  }
+}