Skip to content

Commit

Permalink
Merge remote-tracking branch 'refs/remotes/origin/main'
Browse files Browse the repository at this point in the history
  • Loading branch information
NoahKamara committed Mar 10, 2024
2 parents 72bd8f5 + 7659802 commit 212d4a5
Show file tree
Hide file tree
Showing 310 changed files with 824 additions and 7 deletions.
36 changes: 36 additions & 0 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Build & Test

concurrency:
group: "quality"
cancel-in-progress: true

on:
push:
branches:
- main
- release
pull_request:
types: [opened, synchronize, reopened]
branches:
- main
- release
jobs:
build:
name: Build & Test
runs-on: macos-latest
steps:
- name: Install Swift
uses: swift-actions/[email protected]
with:
swift-version: 5.9

- name: Get swift version
run: swift --version

- uses: actions/checkout@v4

- name: Build
run: swift build

- name: Run tests
run: swift test
9 changes: 9 additions & 0 deletions Documentation.doccarchive/css/523.e9a069b0.css

Large diffs are not rendered by default.

9 changes: 9 additions & 0 deletions Documentation.doccarchive/css/675.40c3bcb2.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Large diffs are not rendered by default.

9 changes: 9 additions & 0 deletions Documentation.doccarchive/css/index.ff036a9e.css

Large diffs are not rendered by default.

9 changes: 9 additions & 0 deletions Documentation.doccarchive/css/topic.672a9049.css

Large diffs are not rendered by default.

9 changes: 9 additions & 0 deletions Documentation.doccarchive/css/tutorials-overview.6eb589ed.css

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"metadata":{"title":"CompoundPredicate","symbolKind":"module","modules":[{"name":"CompoundPredicate"}],"role":"collection","externalID":"CompoundPredicate","roleHeading":"Framework"},"kind":"symbol","sections":[],"schemaVersion":{"patch":0,"major":0,"minor":3},"primaryContentSections":[{"content":[{"level":2,"anchor":"Overview","type":"heading","text":"Overview"},{"inlineContent":[{"type":"text","text":"CompoundPredicate aims to improve the Predicate system to enable combining multiple predicates after constructing them:"}],"type":"paragraph"},{"code":["let notTooShort = #Predicate<Book> {"," $0.pages > 50","}","","let notTooLong = #Predicate<Book> {"," $0.pages <= 350","}","","let lengthFilter = [notTooShort, notTooShort].conjunction()","","\/\/ Match Books that are just the right length","let titleFilter = #Predicate<Book> {"," $0.title.contains(\"Swift\")","}","","\/\/ Match Books that contain \"Swift\" in the title or ","\/\/ are just the right length","let filter = [lengthFilter, titleFilter].disjunction()"],"syntax":"swift","type":"codeListing"}],"kind":"content"}],"identifier":{"interfaceLanguage":"swift","url":"doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate"},"topicSections":[{"identifiers":["doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate\/Swift\/Array\/conjunction()","doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate\/Swift\/Array\/disjunction()"],"title":"Combining Predicates"},{"identifiers":["doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate\/VariableReplacing","doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate\/VariableReplacingLeaf"],"title":"Custom Predicates"},{"title":"Extended Modules","identifiers":["doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate\/Foundation"]}],"variants":[{"paths":["\/documentation\/compoundpredicate"],"traits":[{"interfaceLanguage":"swift"}]}],"hierarchy":{"paths":[[]]},"references":{"doc://CompoundPredicate/documentation/CompoundPredicate":{"abstract":[],"url":"\/documentation\/compoundpredicate","title":"CompoundPredicate","type":"topic","kind":"symbol","role":"collection","identifier":"doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate"},"doc://CompoundPredicate/documentation/CompoundPredicate/Swift/Array/conjunction()":{"identifier":"doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate\/Swift\/Array\/conjunction()","title":"conjunction()","kind":"symbol","type":"topic","abstract":[{"type":"text","text":"Joins multiple predicates with an "},{"code":"Conjunction","type":"codeVoice"}],"url":"\/documentation\/compoundpredicate\/swift\/array\/conjunction()","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"text":"conjunction","kind":"identifier"},{"text":"<","kind":"text"},{"text":"T","kind":"genericParameter"},{"text":">() -> ","kind":"text"},{"preciseIdentifier":"s:10Foundation9PredicateV","kind":"typeIdentifier","text":"Predicate"},{"text":"<","kind":"text"},{"text":"T","kind":"typeIdentifier"},{"text":">","kind":"text"}],"role":"symbol"},"doc://CompoundPredicate/documentation/CompoundPredicate/VariableReplacing/replacing(_:with:)-7r9rg":{"required":true,"kind":"symbol","type":"topic","abstract":[{"type":"text","text":"Recursively traverses itself and returns a copy where all occurences of "},{"type":"codeVoice","code":"variable"},{"type":"text","text":" were replaced with"},{"code":"replacement","type":"codeVoice"}],"url":"\/documentation\/compoundpredicate\/variablereplacing\/replacing(_:with:)-7r9rg","fragments":[{"text":"func","kind":"keyword"},{"text":" ","kind":"text"},{"text":"replacing","kind":"identifier"},{"text":"<","kind":"text"},{"kind":"genericParameter","text":"T"},{"text":">(","kind":"text"},{"text":"Self","kind":"typeIdentifier"},{"kind":"text","text":"."},{"text":"Variable","preciseIdentifier":"s:17CompoundPredicate17VariableReplacingP0C0a","kind":"typeIdentifier"},{"kind":"text","text":"<"},{"kind":"typeIdentifier","text":"T"},{"text":">, ","kind":"text"},{"text":"with","kind":"externalParam"},{"text":": ","kind":"text"},{"text":"Self","kind":"typeIdentifier"},{"text":".","kind":"text"},{"kind":"typeIdentifier","text":"Variable","preciseIdentifier":"s:17CompoundPredicate17VariableReplacingP0C0a"},{"kind":"text","text":"<"},{"text":"T","kind":"typeIdentifier"},{"text":">) -> ","kind":"text"},{"text":"Self","kind":"typeIdentifier"}],"defaultImplementations":1,"role":"symbol","identifier":"doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate\/VariableReplacing\/replacing(_:with:)-7r9rg","title":"replacing(_:with:)"},"doc://CompoundPredicate/documentation/CompoundPredicate/VariableReplacing":{"kind":"symbol","type":"topic","abstract":[{"text":"A PredicateExpression that can recursively replace a variable within itself","type":"text"}],"url":"\/documentation\/compoundpredicate\/variablereplacing","fragments":[{"text":"protocol","kind":"keyword"},{"text":" ","kind":"text"},{"kind":"identifier","text":"VariableReplacing"}],"navigatorTitle":[{"kind":"identifier","text":"VariableReplacing"}],"role":"symbol","identifier":"doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate\/VariableReplacing","title":"VariableReplacing"},"doc://CompoundPredicate/documentation/CompoundPredicate/Swift/Array/disjunction()":{"identifier":"doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate\/Swift\/Array\/disjunction()","type":"topic","role":"symbol","abstract":[{"type":"text","text":"Joins multiple predicates with an "},{"code":"Disjunction","type":"codeVoice"}],"title":"disjunction()","kind":"symbol","url":"\/documentation\/compoundpredicate\/swift\/array\/disjunction()","fragments":[{"kind":"keyword","text":"func"},{"kind":"text","text":" "},{"text":"disjunction","kind":"identifier"},{"kind":"text","text":"<"},{"text":"T","kind":"genericParameter"},{"text":">() -> ","kind":"text"},{"text":"Predicate","kind":"typeIdentifier","preciseIdentifier":"s:10Foundation9PredicateV"},{"text":"<","kind":"text"},{"kind":"typeIdentifier","text":"T"},{"text":">","kind":"text"}]},"doc://CompoundPredicate/documentation/CompoundPredicate/Foundation":{"identifier":"doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate\/Foundation","abstract":[],"role":"collection","kind":"symbol","url":"\/documentation\/compoundpredicate\/foundation","title":"Foundation","type":"topic"},"doc://CompoundPredicate/documentation/CompoundPredicate/VariableReplacingLeaf":{"kind":"symbol","type":"topic","abstract":[{"type":"text","text":"A PredicateExpression conforming to "},{"isActive":true,"identifier":"doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate\/VariableReplacing","type":"reference"},{"type":"text","text":" "},{"type":"text","text":"where "},{"type":"reference","identifier":"doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate\/VariableReplacing\/replacing(_:with:)-7r9rg","isActive":true},{"type":"text","text":" "},{"type":"text","text":"will aways return a copy of self"}],"url":"\/documentation\/compoundpredicate\/variablereplacingleaf","fragments":[{"text":"protocol","kind":"keyword"},{"text":" ","kind":"text"},{"text":"VariableReplacingLeaf","kind":"identifier"}],"navigatorTitle":[{"kind":"identifier","text":"VariableReplacingLeaf"}],"role":"symbol","identifier":"doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate\/VariableReplacingLeaf","title":"VariableReplacingLeaf"}}}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"kind":"symbol","schemaVersion":{"major":0,"minor":3,"patch":0},"sections":[],"identifier":{"url":"doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate\/Foundation","interfaceLanguage":"swift"},"topicSections":[{"title":"Extended Types","identifiers":["doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate\/Foundation\/NSNotification","doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate\/Foundation\/PredicateExpressions"]}],"variants":[{"paths":["\/documentation\/compoundpredicate\/foundation"],"traits":[{"interfaceLanguage":"swift"}]}],"metadata":{"externalID":"s:m:s:e:s:e:s:10Foundation20PredicateExpressionsO018CollectionContainsD0V08CompoundB0AF17VariableReplacingRzAfGR_rlE9replacing_4withAEy_xq_GAC0G0Vy_qd__G_AMtlF","symbolKind":"extension","role":"collection","roleHeading":"Extended Module","modules":[{"name":"CompoundPredicate"}],"title":"Foundation"},"hierarchy":{"paths":[["doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate"]]},"references":{"doc://CompoundPredicate/documentation/CompoundPredicate/Foundation/NSNotification":{"identifier":"doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate\/Foundation\/NSNotification","navigatorTitle":[{"text":"NSNotification","kind":"identifier"}],"type":"topic","role":"symbol","abstract":[],"kind":"symbol","title":"NSNotification","url":"\/documentation\/compoundpredicate\/foundation\/nsnotification"},"doc://CompoundPredicate/documentation/CompoundPredicate/Foundation/PredicateExpressions":{"identifier":"doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate\/Foundation\/PredicateExpressions","role":"symbol","navigatorTitle":[{"kind":"identifier","text":"PredicateExpressions"}],"abstract":[],"kind":"symbol","url":"\/documentation\/compoundpredicate\/foundation\/predicateexpressions","type":"topic","title":"PredicateExpressions"},"doc://CompoundPredicate/documentation/CompoundPredicate/Foundation":{"identifier":"doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate\/Foundation","abstract":[],"role":"collection","kind":"symbol","url":"\/documentation\/compoundpredicate\/foundation","title":"Foundation","type":"topic"},"doc://CompoundPredicate/documentation/CompoundPredicate":{"abstract":[],"url":"\/documentation\/compoundpredicate","title":"CompoundPredicate","type":"topic","kind":"symbol","role":"collection","identifier":"doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate"}}}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"sections":[],"kind":"symbol","hierarchy":{"paths":[["doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate","doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate\/Foundation"]]},"identifier":{"url":"doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate\/Foundation\/NSNotification","interfaceLanguage":"swift"},"metadata":{"roleHeading":"Extended Type","externalID":"s:e:s:e:s:So18NSNotificationNamea17CompoundPredicateE34foundationExtensionsRuntimeWarningABvpZ","navigatorTitle":[{"text":"NSNotification","kind":"identifier"}],"role":"symbol","extendedModule":"Foundation","symbolKind":"extension","title":"NSNotification","modules":[{"relatedModules":["Foundation"],"name":"CompoundPredicate"}]},"topicSections":[{"title":"Extended Structures","identifiers":["doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate\/Foundation\/NSNotification\/Name"]}],"variants":[{"paths":["\/documentation\/compoundpredicate\/foundation\/nsnotification"],"traits":[{"interfaceLanguage":"swift"}]}],"schemaVersion":{"major":0,"minor":3,"patch":0},"references":{"doc://CompoundPredicate/documentation/CompoundPredicate/Foundation":{"identifier":"doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate\/Foundation","abstract":[],"role":"collection","kind":"symbol","url":"\/documentation\/compoundpredicate\/foundation","title":"Foundation","type":"topic"},"doc://CompoundPredicate/documentation/CompoundPredicate/Foundation/NSNotification":{"identifier":"doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate\/Foundation\/NSNotification","navigatorTitle":[{"text":"NSNotification","kind":"identifier"}],"type":"topic","role":"symbol","abstract":[],"kind":"symbol","title":"NSNotification","url":"\/documentation\/compoundpredicate\/foundation\/nsnotification"},"doc://CompoundPredicate/documentation/CompoundPredicate":{"abstract":[],"url":"\/documentation\/compoundpredicate","title":"CompoundPredicate","type":"topic","kind":"symbol","role":"collection","identifier":"doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate"},"doc://CompoundPredicate/documentation/CompoundPredicate/Foundation/NSNotification/Name":{"identifier":"doc:\/\/CompoundPredicate\/documentation\/CompoundPredicate\/Foundation\/NSNotification\/Name","navigatorTitle":[{"kind":"identifier","text":"Name"}],"type":"topic","role":"symbol","abstract":[],"title":"NSNotification.Name","kind":"symbol","url":"\/documentation\/compoundpredicate\/foundation\/nsnotification\/name","fragments":[{"text":"extension","kind":"keyword"},{"kind":"text","text":" "},{"text":"NSNotification","kind":"identifier","preciseIdentifier":"c:objc(cs)NSNotification"},{"kind":"text","text":"."},{"kind":"identifier","text":"Name","preciseIdentifier":"c:@T@NSNotificationName"}]}}}
Loading

0 comments on commit 212d4a5

Please sign in to comment.