├── .gitignore ├── CONTRIBUTING.md ├── LICENSE ├── Package.swift ├── README.md ├── Sources ├── Async │ ├── Async+NIO.swift │ ├── AsyncError.swift │ ├── Collection+Future.swift │ ├── Deprecated.swift │ ├── Exports.swift │ ├── Future+DoCatch.swift │ ├── Future+Flatten.swift │ ├── Future+Global.swift │ ├── Future+Map.swift │ ├── Future+Transform.swift │ ├── Future+Variadic.swift │ ├── Future+Void.swift │ ├── FutureType.swift │ ├── QueueHandler.swift │ └── Worker.swift ├── Bits │ ├── BitsError.swift │ ├── Byte+Alphabet.swift │ ├── Byte+Control.swift │ ├── Byte+Digit.swift │ ├── ByteBuffer+binaryFloatingPointOperations.swift │ ├── ByteBuffer+peek.swift │ ├── ByteBuffer+require.swift │ ├── ByteBuffer+string.swift │ ├── Bytes.swift │ ├── Data+Bytes.swift │ ├── Data+Strings.swift │ └── Deprecated.swift ├── COperatingSystem │ └── libc.swift ├── Core │ ├── BasicKey.swift │ ├── CaseInsensitiveString.swift │ ├── CodableReflection │ │ ├── Decodable+Reflectable.swift │ │ ├── ReflectionDecodable.swift │ │ └── ReflectionDecoders.swift │ ├── CoreError.swift │ ├── Data+Base64URL.swift │ ├── Data+Hex.swift │ ├── DataCoders.swift │ ├── Deprecated.swift │ ├── DirectoryConfig.swift │ ├── Exports.swift │ ├── File.swift │ ├── Future+Unwrap.swift │ ├── FutureEncoder.swift │ ├── HeaderValue.swift │ ├── LosslessDataConvertible.swift │ ├── MediaType.swift │ ├── NestedData.swift │ ├── NotFound.swift │ ├── OptionalType.swift │ ├── Process+Execute.swift │ ├── Reflectable.swift │ ├── String+Utilities.swift │ └── Thread+Async.swift └── Debugging │ ├── Debuggable.swift │ ├── Demangler.swift │ └── SourceLocation.swift ├── Tests ├── AsyncTests │ └── AsyncTests.swift ├── BitsTests │ ├── ByteBufferPeekTests.swift │ └── ByteBufferRequireTests.swift ├── CoreTests │ ├── CoreTests.swift │ └── ReflectableTests.swift ├── DebuggingTests │ ├── FooError.swift │ ├── FooErrorTests.swift │ ├── GeneralTests.swift │ ├── MinimumError.swift │ ├── TestError.swift │ └── TraceableTests.swift └── LinuxMain.swift └── circle.yml /.gitignore: -------------------------------------------------------------------------------- 1 | Packages 2 | .build 3 | .DS_Store 4 | *.xcodeproj 5 | Package.pins 6 | Package.resolved 7 | DerivedData/ 8 | .swiftpm 9 | 10 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to Vapor Core 2 | 3 | If you found a mistake or think of a cool new feature, please [create an issue](https://github.com/vapor/core/issues/new) or, if you want to implement it yourself, [fork this repo](https://github.com/vapor/core/fork) and open a Pull Request! 4 | 5 | We'll take a look as soon as we can. 6 | 7 | Thanks! 8 | 9 | ### NOTE: 10 | During the development of Vapor 4, this package will be split up into multiple smaller ones. For example [codable-kit](https://github.com/vapor-community/codable-kit) and [nio-kit](https://github.com/vapor-community/nio-kit). If you create a PR/issue here, please be so kind to also open it in the "new" repo. 11 | Current list of existing repos Core will be split into: 12 | - [codable-kit](https://github.com/vapor-community/codable-kit) (Parts of Core & Bits) 13 | - [nio-kit](https://github.com/vapor-community/nio-kit) (Async module) 14 | 15 | ## Maintainers 16 | 17 | - [@MrLotU](https://github.com/MrLotU) 18 | 19 | See the [Vapor maintainers doc](https://github.com/vapor/vapor/blob/master/Docs/maintainers.md) for more information. 20 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2018 Qutheory, LLC 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- 1 | // swift-tools-version:4.1 2 | import PackageDescription 3 | 4 | let package = Package( 5 | name: "Core", 6 | products: [ 7 | .library(name: "Async", targets: ["Async"]), 8 | .library(name: "Bits", targets: ["Bits"]), 9 | .library(name: "Core", targets: ["Core"]), 10 | .library(name: "COperatingSystem", targets: ["COperatingSystem"]), 11 | .library(name: "Debugging", targets: ["Debugging"]), 12 | ], 13 | dependencies: [ 14 | /// Event-driven network application framework for high performance protocol servers & clients, non-blocking. 15 | .package(url: "https://github.com/apple/swift-nio.git", from: "1.14.1"), 16 | ], 17 | targets: [ 18 | .target(name: "Async", dependencies: ["NIO"]), 19 | .testTarget(name: "AsyncTests", dependencies: ["Async"]), 20 | .target(name: "Bits", dependencies: ["Debugging", "NIO"]), 21 | .testTarget(name: "BitsTests", dependencies: ["Bits", "NIO"]), 22 | .target(name: "Core", dependencies: ["Async", "Bits", "COperatingSystem", "Debugging", "NIOFoundationCompat"]), 23 | .testTarget(name: "CoreTests", dependencies: ["Core"]), 24 | .target(name: "COperatingSystem"), 25 | .target(name: "Debugging"), 26 | .testTarget(name: "DebuggingTests", dependencies: ["Debugging"]), 27 | ] 28 | ) 29 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |