From 68741ad06d652a8c739105398156210abd8c32a2 Mon Sep 17 00:00:00 2001
From: Shibo Lyu <github@of.sb>
Date: Thu, 31 Aug 2023 22:16:18 +0800
Subject: [PATCH] Initial Commit

---
 .gitignore                                    |  8 +++++++
 .../xcshareddata/IDEWorkspaceChecks.plist     |  8 +++++++
 Package.swift                                 | 23 +++++++++++++++++++
 Sources/TypedAppStorage/TypedAppStorage.swift |  2 ++
 .../TypedAppStorageTests.swift                | 12 ++++++++++
 5 files changed, 53 insertions(+)
 create mode 100644 .gitignore
 create mode 100644 .swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
 create mode 100644 Package.swift
 create mode 100644 Sources/TypedAppStorage/TypedAppStorage.swift
 create mode 100644 Tests/TypedAppStorageTests/TypedAppStorageTests.swift

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..0023a53
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,8 @@
+.DS_Store
+/.build
+/Packages
+xcuserdata/
+DerivedData/
+.swiftpm/configuration/registries.json
+.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
+.netrc
diff --git a/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 0000000..18d9810
--- /dev/null
+++ b/.swiftpm/xcode/package.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>IDEDidComputeMac32BitWarning</key>
+	<true/>
+</dict>
+</plist>
diff --git a/Package.swift b/Package.swift
new file mode 100644
index 0000000..68080a4
--- /dev/null
+++ b/Package.swift
@@ -0,0 +1,23 @@
+// swift-tools-version: 5.9
+// The swift-tools-version declares the minimum version of Swift required to build this package.
+
+import PackageDescription
+
+let package = Package(
+    name: "TypedAppStorage",
+    products: [
+        // Products define the executables and libraries a package produces, making them visible to other packages.
+        .library(
+            name: "TypedAppStorage",
+            targets: ["TypedAppStorage"]),
+    ],
+    targets: [
+        // Targets are the basic building blocks of a package, defining a module or a test suite.
+        // Targets can depend on other targets in this package and products from dependencies.
+        .target(
+            name: "TypedAppStorage"),
+        .testTarget(
+            name: "TypedAppStorageTests",
+            dependencies: ["TypedAppStorage"]),
+    ]
+)
diff --git a/Sources/TypedAppStorage/TypedAppStorage.swift b/Sources/TypedAppStorage/TypedAppStorage.swift
new file mode 100644
index 0000000..08b22b8
--- /dev/null
+++ b/Sources/TypedAppStorage/TypedAppStorage.swift
@@ -0,0 +1,2 @@
+// The Swift Programming Language
+// https://docs.swift.org/swift-book
diff --git a/Tests/TypedAppStorageTests/TypedAppStorageTests.swift b/Tests/TypedAppStorageTests/TypedAppStorageTests.swift
new file mode 100644
index 0000000..9d87eeb
--- /dev/null
+++ b/Tests/TypedAppStorageTests/TypedAppStorageTests.swift
@@ -0,0 +1,12 @@
+import XCTest
+@testable import TypedAppStorage
+
+final class TypedAppStorageTests: XCTestCase {
+    func testExample() throws {
+        // XCTest Documentation
+        // https://developer.apple.com/documentation/xctest
+
+        // Defining Test Cases and Test Methods
+        // https://developer.apple.com/documentation/xctest/defining_test_cases_and_test_methods
+    }
+}