Compare commits

...

5 Commits

Author SHA1 Message Date
Wolf McNally c3431ea757 Build as dynamic library. 2019-12-14 16:19:05 -08:00
Wolf McNally b957d79684 Added minimum platform versions. 2019-09-27 15:11:30 -07:00
Wolf McNally 48463d3de8 Minor update. 2019-06-10 15:04:09 -07:00
Wolf McNally a7dc750880 Updated for Swift 5. 2019-03-25 18:21:40 -07:00
Wolf McNally 7afab1f7a9 Updated README. 2019-01-20 11:38:46 -08:00
12 changed files with 11 additions and 753 deletions

5
.gitignore vendored
View File

@ -21,9 +21,8 @@ DerivedData
# Bundler
.bundle
# Swift Package Manager
.build
.swiftpm
Package.resolved
Carthage/Build
Pods/

View File

@ -1,11 +1,15 @@
// swift-tools-version:4.2
// swift-tools-version:5.1
import PackageDescription
let package = Package(
name: "WolfPipe",
platforms: [
.iOS(.v9), .macOS(.v10_13), .tvOS(.v11)
],
products: [
.library(
name: "WolfPipe",
type: .dynamic,
targets: ["WolfPipe"]),
],
dependencies: [

View File

@ -7,6 +7,8 @@
A simple implementation of the forward and backward pipe operators.
Also supports Swift Package Manager.
## Installation
WolfPipe is available through [CocoaPods](https://cocoapods.org). To install

View File

@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = 'WolfPipe'
s.version = '1.1.2'
s.version = '2.0.0'
s.summary = 'An implementation of the forward and backward pipe operators and other functional programming conveniences.'
s.homepage = 'https://github.com/wolfmcnally/WolfPipe'
@ -10,7 +10,7 @@ Pod::Spec.new do |s|
s.source_files = 'Sources/WolfPipe/**/*'
s.swift_version = '4.2'
s.swift_version = '5.0'
s.ios.deployment_target = '9.3'
s.macos.deployment_target = '10.13'

View File

@ -1,25 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>

View File

@ -1,25 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>

View File

@ -1,592 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = "1";
objectVersion = "46";
objects = {
"OBJ_1" = {
isa = "PBXProject";
attributes = {
LastUpgradeCheck = "9999";
};
buildConfigurationList = "OBJ_2";
compatibilityVersion = "Xcode 3.2";
developmentRegion = "English";
hasScannedForEncodings = "0";
knownRegions = (
"en"
);
mainGroup = "OBJ_5";
productRefGroup = "OBJ_19";
projectDirPath = ".";
targets = (
"WolfPipe::Tests",
"WolfPipe::WolfPipe",
"WolfPipe::SwiftPMPackageDescription",
"WolfPipe::WolfPipePackageTests::ProductTarget"
);
};
"OBJ_10" = {
isa = "PBXFileReference";
path = "Curry.swift";
sourceTree = "<group>";
};
"OBJ_11" = {
isa = "PBXFileReference";
path = "EffectfulComposeOperator.swift";
sourceTree = "<group>";
};
"OBJ_12" = {
isa = "PBXFileReference";
path = "KeyPaths.swift";
sourceTree = "<group>";
};
"OBJ_13" = {
isa = "PBXFileReference";
path = "PipeCompatibleFunctions.swift";
sourceTree = "<group>";
};
"OBJ_14" = {
isa = "PBXFileReference";
path = "PipeOperator.swift";
sourceTree = "<group>";
};
"OBJ_15" = {
isa = "PBXFileReference";
path = "SetAlgebra.swift";
sourceTree = "<group>";
};
"OBJ_16" = {
isa = "PBXGroup";
children = (
"OBJ_17"
);
name = "Tests";
path = "";
sourceTree = "SOURCE_ROOT";
};
"OBJ_17" = {
isa = "PBXGroup";
children = (
"OBJ_18"
);
name = "Tests";
path = "Sources/Tests";
sourceTree = "SOURCE_ROOT";
};
"OBJ_18" = {
isa = "PBXFileReference";
path = "Tests.swift";
sourceTree = "<group>";
};
"OBJ_19" = {
isa = "PBXGroup";
children = (
"WolfPipe::Tests::Product",
"WolfPipe::WolfPipe::Product"
);
name = "Products";
path = "";
sourceTree = "BUILT_PRODUCTS_DIR";
};
"OBJ_2" = {
isa = "XCConfigurationList";
buildConfigurations = (
"OBJ_3",
"OBJ_4"
);
defaultConfigurationIsVisible = "0";
defaultConfigurationName = "Release";
};
"OBJ_23" = {
isa = "XCConfigurationList";
buildConfigurations = (
"OBJ_24",
"OBJ_25"
);
defaultConfigurationIsVisible = "0";
defaultConfigurationName = "Release";
};
"OBJ_24" = {
isa = "XCBuildConfiguration";
buildSettings = {
CLANG_ENABLE_MODULES = "YES";
EMBEDDED_CONTENT_CONTAINS_SWIFT = "YES";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PLATFORM_DIR)/Developer/Library/Frameworks"
);
HEADER_SEARCH_PATHS = (
"$(inherited)"
);
INFOPLIST_FILE = "WolfPipe.xcodeproj/Tests_Info.plist";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@loader_path/../Frameworks",
"@loader_path/Frameworks"
);
OTHER_CFLAGS = (
"$(inherited)"
);
OTHER_LDFLAGS = (
"$(inherited)"
);
OTHER_SWIFT_FLAGS = (
"$(inherited)"
);
SWIFT_ACTIVE_COMPILATION_CONDITIONS = (
"$(inherited)"
);
SWIFT_VERSION = "4.2";
TARGET_NAME = "Tests";
};
name = "Debug";
};
"OBJ_25" = {
isa = "XCBuildConfiguration";
buildSettings = {
CLANG_ENABLE_MODULES = "YES";
EMBEDDED_CONTENT_CONTAINS_SWIFT = "YES";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PLATFORM_DIR)/Developer/Library/Frameworks"
);
HEADER_SEARCH_PATHS = (
"$(inherited)"
);
INFOPLIST_FILE = "WolfPipe.xcodeproj/Tests_Info.plist";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@loader_path/../Frameworks",
"@loader_path/Frameworks"
);
OTHER_CFLAGS = (
"$(inherited)"
);
OTHER_LDFLAGS = (
"$(inherited)"
);
OTHER_SWIFT_FLAGS = (
"$(inherited)"
);
SWIFT_ACTIVE_COMPILATION_CONDITIONS = (
"$(inherited)"
);
SWIFT_VERSION = "4.2";
TARGET_NAME = "Tests";
};
name = "Release";
};
"OBJ_26" = {
isa = "PBXSourcesBuildPhase";
files = (
"OBJ_27"
);
};
"OBJ_27" = {
isa = "PBXBuildFile";
fileRef = "OBJ_18";
};
"OBJ_28" = {
isa = "PBXFrameworksBuildPhase";
files = (
"OBJ_29"
);
};
"OBJ_29" = {
isa = "PBXBuildFile";
fileRef = "WolfPipe::WolfPipe::Product";
};
"OBJ_3" = {
isa = "XCBuildConfiguration";
buildSettings = {
CLANG_ENABLE_OBJC_ARC = "YES";
COMBINE_HIDPI_IMAGES = "YES";
COPY_PHASE_STRIP = "NO";
DEBUG_INFORMATION_FORMAT = "dwarf";
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_NS_ASSERTIONS = "YES";
GCC_OPTIMIZATION_LEVEL = "0";
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)"
);
MACOSX_DEPLOYMENT_TARGET = "10.10";
ONLY_ACTIVE_ARCH = "YES";
OTHER_SWIFT_FLAGS = (
"-DXcode"
);
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = "macosx";
SUPPORTED_PLATFORMS = (
"macosx",
"iphoneos",
"iphonesimulator",
"appletvos",
"appletvsimulator",
"watchos",
"watchsimulator"
);
SWIFT_ACTIVE_COMPILATION_CONDITIONS = (
"SWIFT_PACKAGE",
"DEBUG"
);
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
USE_HEADERMAP = "NO";
};
name = "Debug";
};
"OBJ_30" = {
isa = "PBXTargetDependency";
target = "WolfPipe::WolfPipe";
};
"OBJ_32" = {
isa = "XCConfigurationList";
buildConfigurations = (
"OBJ_33",
"OBJ_34"
);
defaultConfigurationIsVisible = "0";
defaultConfigurationName = "Release";
};
"OBJ_33" = {
isa = "XCBuildConfiguration";
buildSettings = {
ENABLE_TESTABILITY = "YES";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PLATFORM_DIR)/Developer/Library/Frameworks"
);
HEADER_SEARCH_PATHS = (
"$(inherited)"
);
INFOPLIST_FILE = "WolfPipe.xcodeproj/WolfPipe_Info.plist";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"
);
OTHER_CFLAGS = (
"$(inherited)"
);
OTHER_LDFLAGS = (
"$(inherited)"
);
OTHER_SWIFT_FLAGS = (
"$(inherited)"
);
PRODUCT_BUNDLE_IDENTIFIER = "WolfPipe";
PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)";
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SKIP_INSTALL = "YES";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = (
"$(inherited)"
);
SWIFT_VERSION = "4.2";
TARGET_NAME = "WolfPipe";
};
name = "Debug";
};
"OBJ_34" = {
isa = "XCBuildConfiguration";
buildSettings = {
ENABLE_TESTABILITY = "YES";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PLATFORM_DIR)/Developer/Library/Frameworks"
);
HEADER_SEARCH_PATHS = (
"$(inherited)"
);
INFOPLIST_FILE = "WolfPipe.xcodeproj/WolfPipe_Info.plist";
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"$(TOOLCHAIN_DIR)/usr/lib/swift/macosx"
);
OTHER_CFLAGS = (
"$(inherited)"
);
OTHER_LDFLAGS = (
"$(inherited)"
);
OTHER_SWIFT_FLAGS = (
"$(inherited)"
);
PRODUCT_BUNDLE_IDENTIFIER = "WolfPipe";
PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)";
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SKIP_INSTALL = "YES";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = (
"$(inherited)"
);
SWIFT_VERSION = "4.2";
TARGET_NAME = "WolfPipe";
};
name = "Release";
};
"OBJ_35" = {
isa = "PBXSourcesBuildPhase";
files = (
"OBJ_36",
"OBJ_37",
"OBJ_38",
"OBJ_39",
"OBJ_40",
"OBJ_41",
"OBJ_42"
);
};
"OBJ_36" = {
isa = "PBXBuildFile";
fileRef = "OBJ_9";
};
"OBJ_37" = {
isa = "PBXBuildFile";
fileRef = "OBJ_10";
};
"OBJ_38" = {
isa = "PBXBuildFile";
fileRef = "OBJ_11";
};
"OBJ_39" = {
isa = "PBXBuildFile";
fileRef = "OBJ_12";
};
"OBJ_4" = {
isa = "XCBuildConfiguration";
buildSettings = {
CLANG_ENABLE_OBJC_ARC = "YES";
COMBINE_HIDPI_IMAGES = "YES";
COPY_PHASE_STRIP = "YES";
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DYLIB_INSTALL_NAME_BASE = "@rpath";
GCC_OPTIMIZATION_LEVEL = "s";
MACOSX_DEPLOYMENT_TARGET = "10.10";
OTHER_SWIFT_FLAGS = (
"-DXcode"
);
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = "macosx";
SUPPORTED_PLATFORMS = (
"macosx",
"iphoneos",
"iphonesimulator",
"appletvos",
"appletvsimulator",
"watchos",
"watchsimulator"
);
SWIFT_ACTIVE_COMPILATION_CONDITIONS = (
"SWIFT_PACKAGE"
);
SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
USE_HEADERMAP = "NO";
};
name = "Release";
};
"OBJ_40" = {
isa = "PBXBuildFile";
fileRef = "OBJ_13";
};
"OBJ_41" = {
isa = "PBXBuildFile";
fileRef = "OBJ_14";
};
"OBJ_42" = {
isa = "PBXBuildFile";
fileRef = "OBJ_15";
};
"OBJ_43" = {
isa = "PBXFrameworksBuildPhase";
files = (
);
};
"OBJ_45" = {
isa = "XCConfigurationList";
buildConfigurations = (
"OBJ_46",
"OBJ_47"
);
defaultConfigurationIsVisible = "0";
defaultConfigurationName = "Release";
};
"OBJ_46" = {
isa = "XCBuildConfiguration";
buildSettings = {
LD = "/usr/bin/true";
OTHER_SWIFT_FLAGS = (
"-swift-version",
"4.2",
"-I",
"$(TOOLCHAIN_DIR)/usr/lib/swift/pm/4_2",
"-target",
"x86_64-apple-macosx10.10",
"-sdk",
"/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
);
SWIFT_VERSION = "4.2";
};
name = "Debug";
};
"OBJ_47" = {
isa = "XCBuildConfiguration";
buildSettings = {
LD = "/usr/bin/true";
OTHER_SWIFT_FLAGS = (
"-swift-version",
"4.2",
"-I",
"$(TOOLCHAIN_DIR)/usr/lib/swift/pm/4_2",
"-target",
"x86_64-apple-macosx10.10",
"-sdk",
"/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
);
SWIFT_VERSION = "4.2";
};
name = "Release";
};
"OBJ_48" = {
isa = "PBXSourcesBuildPhase";
files = (
"OBJ_49"
);
};
"OBJ_49" = {
isa = "PBXBuildFile";
fileRef = "OBJ_6";
};
"OBJ_5" = {
isa = "PBXGroup";
children = (
"OBJ_6",
"OBJ_7",
"OBJ_16",
"OBJ_19"
);
path = "";
sourceTree = "<group>";
};
"OBJ_51" = {
isa = "XCConfigurationList";
buildConfigurations = (
"OBJ_52",
"OBJ_53"
);
defaultConfigurationIsVisible = "0";
defaultConfigurationName = "Release";
};
"OBJ_52" = {
isa = "XCBuildConfiguration";
buildSettings = {
};
name = "Debug";
};
"OBJ_53" = {
isa = "XCBuildConfiguration";
buildSettings = {
};
name = "Release";
};
"OBJ_54" = {
isa = "PBXTargetDependency";
target = "WolfPipe::Tests";
};
"OBJ_6" = {
isa = "PBXFileReference";
explicitFileType = "sourcecode.swift";
path = "Package.swift";
sourceTree = "<group>";
};
"OBJ_7" = {
isa = "PBXGroup";
children = (
"OBJ_8"
);
name = "Sources";
path = "";
sourceTree = "SOURCE_ROOT";
};
"OBJ_8" = {
isa = "PBXGroup";
children = (
"OBJ_9",
"OBJ_10",
"OBJ_11",
"OBJ_12",
"OBJ_13",
"OBJ_14",
"OBJ_15"
);
name = "WolfPipe";
path = "Sources/WolfPipe";
sourceTree = "SOURCE_ROOT";
};
"OBJ_9" = {
isa = "PBXFileReference";
path = "ComposeOperator.swift";
sourceTree = "<group>";
};
"WolfPipe::SwiftPMPackageDescription" = {
isa = "PBXNativeTarget";
buildConfigurationList = "OBJ_45";
buildPhases = (
"OBJ_48"
);
dependencies = (
);
name = "WolfPipePackageDescription";
productName = "WolfPipePackageDescription";
productType = "com.apple.product-type.framework";
};
"WolfPipe::Tests" = {
isa = "PBXNativeTarget";
buildConfigurationList = "OBJ_23";
buildPhases = (
"OBJ_26",
"OBJ_28"
);
dependencies = (
"OBJ_30"
);
name = "Tests";
productName = "Tests";
productReference = "WolfPipe::Tests::Product";
productType = "com.apple.product-type.bundle.unit-test";
};
"WolfPipe::Tests::Product" = {
isa = "PBXFileReference";
path = "Tests.xctest";
sourceTree = "BUILT_PRODUCTS_DIR";
};
"WolfPipe::WolfPipe" = {
isa = "PBXNativeTarget";
buildConfigurationList = "OBJ_32";
buildPhases = (
"OBJ_35",
"OBJ_43"
);
dependencies = (
);
name = "WolfPipe";
productName = "WolfPipe";
productReference = "WolfPipe::WolfPipe::Product";
productType = "com.apple.product-type.framework";
};
"WolfPipe::WolfPipe::Product" = {
isa = "PBXFileReference";
path = "WolfPipe.framework";
sourceTree = "BUILT_PRODUCTS_DIR";
};
"WolfPipe::WolfPipePackageTests::ProductTarget" = {
isa = "PBXAggregateTarget";
buildConfigurationList = "OBJ_51";
buildPhases = (
);
dependencies = (
"OBJ_54"
);
name = "WolfPipePackageTests";
productName = "WolfPipePackageTests";
};
};
rootObject = "OBJ_1";
}

View File

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>

View File

@ -1,8 +0,0 @@
<?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>

View File

@ -1,8 +0,0 @@
<?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>IDEWorkspaceSharedSettings_AutocreateContextsIfNeeded</key>
<false/>
</dict>
</plist>

View File

@ -1,81 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "9999"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "WolfPipe::WolfPipe"
BuildableName = "WolfPipe.framework"
BlueprintName = "WolfPipe"
ReferencedContainer = "container:WolfPipe.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "WolfPipe::Tests"
BuildableName = "Tests.xctest"
BlueprintName = "Tests"
ReferencedContainer = "container:WolfPipe.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "WolfPipe::WolfPipe"
BuildableName = "WolfPipe.framework"
BlueprintName = "WolfPipe"
ReferencedContainer = "container:WolfPipe.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -1 +0,0 @@
Example/Pods/Pods.xcodeproj