refactor: rename clipboard plugin to clipboard-manager (#400)

This commit is contained in:
Lucas Fernandes Nogueira
2023-05-24 12:06:07 -03:00
committed by GitHub
parent 26d993cfea
commit b259baa17e
45 changed files with 44 additions and 44 deletions
+10
View File
@@ -0,0 +1,10 @@
.DS_Store
/.build
/Packages
/*.xcodeproj
xcuserdata/
DerivedData/
.swiftpm/config/registries.json
.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
.netrc
Package.resolved
@@ -0,0 +1,33 @@
// swift-tools-version:5.3
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
import PackageDescription
let package = Package(
name: "tauri-plugin-clipboard-manager",
platforms: [
.iOS(.v13),
],
products: [
// Products define the executables and libraries a package produces, and make them visible to other packages.
.library(
name: "tauri-plugin-clipboard-manager",
type: .static,
targets: ["tauri-plugin-clipboard-manager"]),
],
dependencies: [
.package(name: "Tauri", path: "../.tauri/tauri-api")
],
targets: [
// Targets are the basic building blocks of a package. A target can define a module or a test suite.
// Targets can depend on other targets in this package, and on products in packages this package depends on.
.target(
name: "tauri-plugin-clipboard-manager",
dependencies: [
.byName(name: "Tauri")
],
path: "Sources")
]
)
+3
View File
@@ -0,0 +1,3 @@
# Tauri Plugin {{ plugin_name_original }}
A description of this package.
@@ -0,0 +1,46 @@
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
import UIKit
import WebKit
import Tauri
import SwiftRs
class ClipboardPlugin: Plugin {
@objc public func write(_ invoke: Invoke) throws {
let options = invoke.getObject("options")
if let options = options {
let clipboard = UIPasteboard.general
let kind = invoke.getString("kind", "")
switch kind {
case "PlainText":
let text = options["text"] as? String
clipboard.string = text
default:
invoke.reject("Unknown kind \(kind)")
return
}
invoke.resolve()
} else {
invoke.reject("Missing `options` input")
}
}
@objc public func read(_ invoke: Invoke) throws {
let clipboard = UIPasteboard.general
if let text = clipboard.string {
invoke.resolve([
"kind": "PlainText",
"options": text
])
} else {
invoke.reject("Clipboard is empty")
}
}
}
@_cdecl("init_plugin_clipboard")
func initPlugin() -> Plugin {
return ClipboardPlugin()
}
@@ -0,0 +1,12 @@
// Copyright 2019-2023 Tauri Programme within The Commons Conservancy
// SPDX-License-Identifier: Apache-2.0
// SPDX-License-Identifier: MIT
import XCTest
@testable import ClipboardPlugin
final class ClipboardPluginTests: XCTestCase {
func testClipboard() throws {
let plugin = ClipboardPlugin()
}
}