Skip to content
This repository has been archived by the owner on Jul 30, 2020. It is now read-only.

V6.0.0 Release #53

Merged
merged 284 commits into from
Aug 12, 2019
Merged
Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
284 commits
Select commit Hold shift + click to select a range
cef252a
Renamed PaginationController -> Paginator
VladislavFitz Mar 20, 2019
ec5fa85
added tests for refinement list builder
spinach Mar 20, 2019
c82ec05
merge conflicts
spinach Mar 20, 2019
377a989
fix searcher marker bug
spinach Mar 20, 2019
3396742
fix markers in pbxproj
spinach Mar 20, 2019
c03346f
Abstract away the Signal logic into Observer Proxy
spinach Mar 21, 2019
a2dced2
Support for Swift 5
spinach Mar 26, 2019
705bc6f
– Renamed RecordType -> Record
VladislavFitz Mar 27, 2019
b087899
Merge branch 'v5' of github.com:algolia/instantsearch-core-swift into v5
VladislavFitz Mar 27, 2019
563174d
Removed unnecessary type aliases
VladislavFitz Mar 27, 2019
f3f26e5
Introduced IndexSearchData
VladislavFitz Mar 27, 2019
1b6e6af
Default parameters for IndexSearchData
VladislavFitz Mar 27, 2019
8f6c8ad
Rename and Refactor RefinementList
spinach Mar 27, 2019
754bf7a
– Improved naming
VladislavFitz Mar 29, 2019
47c5aeb
Naming improvement
VladislavFitz Mar 29, 2019
4c744bf
Removed obsolete function and add proper accessors to QueryMetaData
VladislavFitz Apr 2, 2019
a09e002
Fixed searchers inconsistencies, separated them in different files.
VladislavFitz Apr 2, 2019
5a1c8b8
Added RequestOptions to searchers
VladislavFitz Apr 2, 2019
93544b2
Moved IndexPath coupled methods of Multi-hits ViewModel to an extensi…
VladislavFitz Apr 2, 2019
0c08797
Refactoring and renaming for Refinement List
spinach Apr 3, 2019
d5b3c41
Merge branch 'v5' of https://github.com/algolia/instantsearch-core-sw…
spinach Apr 3, 2019
a5622c4
Additional renaming for RLVM
spinach Apr 10, 2019
73d26ce
RefinementListViewModel
spinach Apr 11, 2019
26b20d5
Transformed FilterBuilder -> FilterState
VladislavFitz Apr 11, 2019
1338a3e
Wrapped group IDs into namespaces
VladislavFitz Apr 11, 2019
2976649
Added missing files
VladislavFitz Apr 11, 2019
d8182cc
Fixed FilterState proxies
VladislavFitz Apr 11, 2019
3cfcafd
Fixed FilterState operators
VladislavFitz Apr 11, 2019
25b1184
Merge commit '3cfcafd33dc884c4630411e3493fd9f07292e1d1' into v5
spinach Apr 11, 2019
777b8fb
Changes needed to make refinfment view models work with SFS
spinach Apr 11, 2019
80ad20d
refactoring and renaming for refinement list
spinach Apr 11, 2019
f368048
Fixed unit tests
VladislavFitz Apr 12, 2019
9198395
Moved getFiltersGroup method to an extension
VladislavFitz Apr 12, 2019
88d65ee
Merge branch 'search-filter-state' into v5
VladislavFitz Apr 12, 2019
00fffaf
RefinementListBuilder test fix
VladislavFitz Apr 12, 2019
ad2d92d
Refactored FilterGroupID
VladislavFitz Apr 12, 2019
100be80
fix tests for refinement list
spinach Apr 12, 2019
6dc4df4
Removed obsolete code
VladislavFitz Apr 12, 2019
51126a5
Put FilterGroup ID to namespace. Fixed UTs
VladislavFitz Apr 15, 2019
df5cfa2
first POC for syncing widgets
spinach Apr 15, 2019
d2e44c9
Implemented DSL wrapper for FilterState with proxies and UTs
VladislavFitz Apr 15, 2019
9f7e353
Improved API, fixed documentation
VladislavFitz Apr 16, 2019
c70995c
Added possibility of implicit Or group filter type specifying in Filt…
VladislavFitz Apr 16, 2019
d0b293d
Removed explicit type indication from tests of DSL with Or group
VladislavFitz Apr 16, 2019
a98490d
FiltersState protocol-oriented refactoring
VladislavFitz Apr 18, 2019
79aebb1
WIP
spinach Apr 18, 2019
8417c3e
Implemented connectors
VladislavFitz Apr 18, 2019
e460a69
Formatting fixes
VladislavFitz Apr 19, 2019
d6d4d00
GM refinement infra version
VladislavFitz Apr 19, 2019
03e0635
Removed obsolete file from project
VladislavFitz Apr 19, 2019
81badac
demo now runs
spinach Apr 19, 2019
5caa5d6
Project cleaned
VladislavFitz Apr 19, 2019
12ce1fb
Changes for refinements demo
spinach Apr 25, 2019
04e6b6d
Merge branch 'changes-refinements' into feat/new-vm-connectors
spinach Apr 25, 2019
fe35383
Fix issues from previous merge
spinach Apr 25, 2019
e120731
- Create MenuFacetsViewModel and RefinementFacetsViewModel
spinach Apr 25, 2019
d28dabe
Extract presenter logic
spinach Apr 26, 2019
096aeb3
- Move the merge function outside of the presenter and into the conne…
spinach Apr 29, 2019
3183023
Refactor naming for the connect methods for more readability
spinach Apr 29, 2019
a5fe6a6
- Move filterState on change with searcher
spinach Apr 29, 2019
4409093
Rename FacetValue to Facet
spinach Apr 29, 2019
72d4c50
Rename FacetValue to Facet
spinach Apr 29, 2019
1db391e
Refactor RequestOptions out of func param and into the searcher classes
spinach Apr 29, 2019
86879d8
- Solve bug of multiple calls to search when param changes
spinach Apr 30, 2019
d95a250
Add group name in FilterGroupType
spinach Apr 30, 2019
24c9e2c
Refactor Menu and refinement list init
spinach Apr 30, 2019
cec427b
Implemented toggle viewModel + controller protocol
VladislavFitz May 3, 2019
f8d400b
Factorized connector functions
VladislavFitz May 6, 2019
2a319df
FilterState commands
VladislavFitz May 7, 2019
e1d2da4
Added onResultsUpdated signal to HitsViewModel
VladislavFitz May 10, 2019
b875720
Removed FiltterState mutating with command list
VladislavFitz May 10, 2019
1761484
Removed persistent selection from refinement facets VM
VladislavFitz May 10, 2019
56acb4b
Refactored filters conversion to sql/legacy
VladislavFitz May 10, 2019
322ffb1
Added public constructors to Filter converters
VladislavFitz May 13, 2019
0e8c8ce
Implemented selectable map VM + controller
VladislavFitz May 13, 2019
7c66c72
Public access for SelectableMap components
VladislavFitz May 13, 2019
26782a8
Finished SelectableMapViewModel
VladislavFitz May 14, 2019
efb289c
Construction of Filter with FilterType is not optional anymore
VladislavFitz May 14, 2019
930888e
CustomStringConvertbile implementation for NumericOperator
VladislavFitz May 14, 2019
15efb47
Rename applyDisjuncitveFaceting to isDisjunctiveFacetingEnabled
spinach May 14, 2019
5ad7ea3
Moved RequestOptions from IndexSearchData to each searcher
VladislavFitz May 14, 2019
614748c
create connect methods for filterState and seperate it with the one o…
spinach May 14, 2019
fae508f
Merge branch 'feat/new-vm-connectors' of https://github.com/algolia/i…
spinach May 14, 2019
1774645
Fixed UTs
VladislavFitz May 15, 2019
18efb26
Add FilterListViewMdeol for Facet, Numeric and Tag
spinach May 15, 2019
c5eec92
Makke FilterListViewModel typealiases public
spinach May 15, 2019
2b51bb2
Implementer FilterList.
VladislavFitz May 17, 2019
0062cd9
Merge branch 'feat/hits-widget' into feat/new-vm-connectors
VladislavFitz May 20, 2019
e10f2bc
SelectableListViewModels UTs
VladislavFitz May 20, 2019
b93c050
SelectableSegmentViewModel UTs
VladislavFitz May 20, 2019
167b4e8
SelectableSegmentViewModel UTs
VladislavFitz May 20, 2019
f12c579
SelectableViewModel UTs
VladislavFitz May 20, 2019
91a46a9
Fixed filter state UTs
VladislavFitz May 20, 2019
4982889
SelectableViewModelConnectorsTests UTs
VladislavFitz May 20, 2019
3a82362
SelectableListViewModel facet connectors UTs
VladislavFitz May 20, 2019
f92c0b3
FilterList connectors UTs
VladislavFitz May 21, 2019
99de755
Cleaned viewModels and connectors. Implemented UTs for all vms and co…
VladislavFitz May 21, 2019
c950511
Implemented pagination with missing pages support & cleanup
VladislavFitz May 22, 2019
a6bfffc
Move Hits/MultiHits VMs & Controllers to Core
VladislavFitz May 23, 2019
ec622f5
Add LoadableController and SearchableControllers along with implement…
spinach May 23, 2019
9938e4b
Merge branch 'feat/new-vm-connectors' of https://github.com/algolia/i…
spinach May 23, 2019
5f38fe3
Public access rights for FilterPresenter
VladislavFitz May 23, 2019
2d8bdb3
Merge branch 'feat/new-vm-connectors' of github.com:algolia/instantse…
VladislavFitz May 23, 2019
c27101c
Add Stats Controllers
spinach May 23, 2019
fa1403d
Merge branch 'feat/new-vm-connectors' of https://github.com/algolia/i…
spinach May 23, 2019
d16cc06
fix(facetList): fix bug with predefined filter string in the query: w…
spinach May 23, 2019
a760b41
Fix Stats Controller to be more extendible
spinach May 24, 2019
379140c
fix: always subscribe past in case we did the connection at a later t…
spinach May 24, 2019
f653a9a
Added ClearRefinementsController, removed UIKit dependencies
VladislavFitz May 24, 2019
dddf17d
Merge branch 'feat/new-vm-connectors' of github.com:algolia/instantse…
VladislavFitz May 24, 2019
6208bde
Refac: rename connect methods
spinach May 24, 2019
71829e8
move uikit dependent to IS
spinach May 24, 2019
84fe89b
Improved formatting and function signature
VladislavFitz May 28, 2019
a1d97d3
QueryInput ViewModel & Controller
VladislavFitz May 28, 2019
6fb047f
Changed LoadableController signature
VladislavFitz May 28, 2019
ea5d611
Updated facet searcher, updated connect methods signatures
VladislavFitz May 28, 2019
f9e3c00
Fixed pageMap, paginationController, hitsViewModel for optimizing pag…
VladislavFitz May 30, 2019
eebcf46
Fixed pagination issues
VladislavFitz May 30, 2019
d93c70e
Implemented StatsViewModel + Controller
VladislavFitz May 31, 2019
eb648d2
Extracted SearchStats from SearchResults. Updated Stats components.
VladislavFitz Jun 3, 2019
f1332b1
Refactored ItemViewModel + components. Introduced presenter for stats.
VladislavFitz Jun 4, 2019
350c645
Missing ItemViewModel
VladislavFitz Jun 4, 2019
dd01fcd
POC numeric comparison
spinach Jun 5, 2019
60134a2
add connectSearcher to be able to get min and max of a certain item
spinach Jun 6, 2019
5c13f5e
implementation of sort by
spinach Jun 6, 2019
63388aa
Refactored Hits/MultHits view models and connectors
VladislavFitz Jun 7, 2019
bbcab84
Reset page of multiindex when query changes. Set connectors public
VladislavFitz Jun 7, 2019
7af7f77
Renaming & refactoring
VladislavFitz Jun 10, 2019
38b81f7
Merge isv2 with filter numeric comparison
spinach Jun 10, 2019
bfbed0b
Added invalidation workaround for NumberController
VladislavFitz Jun 10, 2019
68b9a31
Changed subscribePast -> subscribe for onError
VladislavFitz Jun 10, 2019
38ef387
Decoupled FilterState from Searchers
VladislavFitz Jun 10, 2019
06d10f3
Fixed unit tests
VladislavFitz Jun 10, 2019
2b9e64e
Merge branch 'filter-state-decoupling' into isv2
VladislavFitz Jun 10, 2019
5673fb1
Added safety for pagemap item access.
VladislavFitz Jun 10, 2019
3715524
Implement Loading Indicator
spinach Jun 12, 2019
ab3ba9e
Improve Stats View Model by reusing the generic presenter
spinach Jun 12, 2019
7e99c70
Renaming. Propagation a reliable page value to hits view models in ca…
VladislavFitz Jun 12, 2019
4fab3df
Merge branch 'isv2' of github.com:algolia/instantsearch-core-swift in…
VladislavFitz Jun 12, 2019
cea52c2
Default filter in connector for selectable view model
VladislavFitz Jun 12, 2019
2bf1c33
feat(currentFilters): add viewmodels and controllers
spinach Jun 13, 2019
f662d86
Renaming search triggering in QueryInput ViewModel connector
VladislavFitz Jun 13, 2019
a996f19
Set item viewModel connector public
VladislavFitz Jun 13, 2019
caf803e
feat(clearFilters): ViewModel + Controller + FilterState changes
spinach Jun 13, 2019
765db4d
Implemented TaggedString, HighlightedString and NSAttributedString co…
VladislavFitz Jun 14, 2019
7487663
feat(numericRange): viewmodel and controller
spinach Jun 17, 2019
88c79df
Improved DX for highlighting
VladislavFitz Jun 17, 2019
b36ae37
Merge branch 'feat/highlighting' into isv2
VladislavFitz Jun 17, 2019
ec81298
refac(numeric): rename and cleaning
spinach Jun 17, 2019
1c34f2a
refac: solve most linter complains
spinach Jun 18, 2019
5c9e099
Implemented showEmptyFacets logic in facets presenter
VladislavFitz Jun 24, 2019
8f4ac5d
Implemented CustomStringConvertible for all filters
VladislavFitz Jun 24, 2019
f89bff4
Fixed UTs
VladislavFitz Jun 24, 2019
b38e6bf
Added hierarchical to search results
VladislavFitz Jun 26, 2019
e5aa12a
Finished disjunctive faceting helper implementation. Partilly unit-te…
VladislavFitz Jul 1, 2019
bd162ae
ignore ds store
VladislavFitz Jul 1, 2019
fca2a29
Refactored disjunctive faceting helper methods using filter groups
VladislavFitz Jul 1, 2019
5e5260d
Hierarchical queries generation implemented
VladislavFitz Jul 1, 2019
6ddcbeb
Implemented ComplexQueryBuilder
VladislavFitz Jul 2, 2019
89de5a4
Implemented disjunctive & hierarchical faceting as extension of Query…
VladislavFitz Jul 2, 2019
ccb9d1b
Separated result aggregation methods in complext query builder
VladislavFitz Jul 3, 2019
e6a81fd
Hierarchical integration test
VladislavFitz Jul 3, 2019
6a7a151
feat(hierarchical): ViewModel + some connectors
spinach Jul 3, 2019
1a83100
Hierarchical View Models POC
spinach Jul 8, 2019
11f00f0
Prepared disjunctive and df + h tests
VladislavFitz Jul 8, 2019
4aa238d
Added alphabetical sorting for better demo
VladislavFitz Jul 8, 2019
129709c
Simplifed default hierarchical facet presenter
VladislavFitz Jul 9, 2019
5f4bad8
Implemented disjunctive faceting integration test
VladislavFitz Jul 9, 2019
b5ed665
Implemented disjunctive + hierarchical integration test
VladislavFitz Jul 10, 2019
b2a61ad
Refactor Presenters
spinach Jul 12, 2019
3f88585
add xcargs for injecting api key and app id for running disjunctive a…
spinach Jul 19, 2019
3a04c51
Started dedicated hierarchical group
VladislavFitz Jul 10, 2019
2cac96f
First groups storage attemp
VladislavFitz Jul 16, 2019
80a8050
Implemented groups storage in dictionary form
VladislavFitz Jul 16, 2019
088acc2
Proxies for accessing filterstate
VladislavFitz Jul 17, 2019
7e57c8a
Cleaning
VladislavFitz Jul 17, 2019
7a77d0d
Implemented FilterState access with type-safe accessors
VladislavFitz Jul 19, 2019
7661a99
Fixed conflicts
VladislavFitz Jul 19, 2019
fca2c14
security
VladislavFitz Jul 19, 2019
d9f9f3f
add user agent to instantsearch core
spinach Jul 19, 2019
656b208
Fix bugs from merge
spinach Jul 19, 2019
86b6e85
Remove unnecessary extra calls in the connect methods
spinach Jul 19, 2019
b7c4da7
Changed hierarhical group clear logic
VladislavFitz Jul 22, 2019
2e9c6e9
Introduced onIndexChanged signal to Single Index Searcher
VladislavFitz Jul 22, 2019
be6fb67
Fix filter presenter in all viewmodels
spinach Jul 22, 2019
d445846
Refactor cellId for Filter List
spinach Jul 22, 2019
07a2a0b
Remove FilterListController and move it to the instantsearch level
spinach Jul 22, 2019
359b5cb
Fixed remove function in FilterState
VladislavFitz Jul 22, 2019
e7eae15
Fixed bugs with accessing filters in group accessors
VladislavFitz Jul 23, 2019
1c50c2d
Renamed IndexSearchData -> IndexQueryState
VladislavFitz Jul 23, 2019
87268b3
ViewModel -> Interactor WIP
VladislavFitz Jul 23, 2019
c2be3d7
ViewModel -> Interactor finished
VladislavFitz Jul 23, 2019
ba2ca6e
Cleaning
VladislavFitz Jul 23, 2019
c97defb
Added convenience initializer for SingleIndexSearcher with appID, api…
VladislavFitz Jul 24, 2019
2fe5112
Added convenience initializers to MultiIndex and Facet searchers with…
VladislavFitz Jul 24, 2019
96155d5
Set searchAsYouType as a default parameter of QueryInputInteractor
VladislavFitz Jul 24, 2019
2af5cf0
Set optional closures requirements in QueryInputController protocol
VladislavFitz Jul 24, 2019
d5d42b2
Add CurrentFiltersController
spinach Jul 25, 2019
63852e1
Rename file HitsViewModel -> HitsInteractor
VladislavFitz Jul 25, 2019
d415be9
Project file fix
VladislavFitz Jul 25, 2019
90e3dc0
Fixed access rights for filter state
VladislavFitz Jul 26, 2019
57eefa0
Adding strongly typed observer to signal
VladislavFitz Jul 23, 2019
fcb3360
Add weak reference to observer in observation callback. Replac all [w…
VladislavFitz Jul 26, 2019
b3f7e60
Fix all conflicts
VladislavFitz Jul 26, 2019
0408893
Merge branch 'feat/internal-signals' into isv2
VladislavFitz Jul 26, 2019
3df4572
Remove ViewModel traces in naming.
VladislavFitz Jul 27, 2019
f09591c
Merge branch 'fix/readonly-filter-state' into isv2
VladislavFitz Jul 27, 2019
34aa43c
Fixed all deployment targets
VladislavFitz Jul 27, 2019
3300057
Moved StatsInteractor connectors to different files
VladislavFitz Jul 29, 2019
fdd560a
Removed Signals from podspec
VladislavFitz Jul 29, 2019
f4127ad
Remove redundant typealias
VladislavFitz Jul 29, 2019
9746db6
Set InfiniteScrollingController internal
VladislavFitz Jul 30, 2019
6ba0249
Fix init format
VladislavFitz Jul 30, 2019
78ad055
Set default presenter parameters with internal Default implementation…
VladislavFitz Jul 31, 2019
e6d18a4
Rename file
VladislavFitz Jul 31, 2019
2fdbc0e
Restore HierarchicalInteractor
VladislavFitz Aug 2, 2019
3f60954
Declare convenient FilterList typealiases
VladislavFitz Aug 2, 2019
3b079bb
Rename FilterListController
VladislavFitz Aug 2, 2019
d1b8ddf
Fix FilterListController definition
VladislavFitz Aug 2, 2019
9af6b9f
Update presenters declaration. Add FacetPresenter
VladislavFitz Aug 2, 2019
644695f
Renamed connect controller method
VladislavFitz Aug 2, 2019
24c651c
FilterList interactors more developer-friendly init signature
VladislavFitz Aug 2, 2019
e8b7468
Update project structure
VladislavFitz Aug 2, 2019
dff4100
Project structure improvements
VladislavFitz Aug 2, 2019
b166064
Deprecated RefinementFacet
VladislavFitz Aug 2, 2019
2c1c5ba
Structure and generic parameters naming
VladislavFitz Aug 2, 2019
9959dc6
Add separated FilterListController subprotocols for each type of Filter
VladislavFitz Aug 5, 2019
f0a2bf6
Separate HierarchicalFacetingDelegate and DisjunctiveFacetingDelegate…
VladislavFitz Aug 5, 2019
0d46d2d
Document searcher and their connectors.
VladislavFitz Aug 5, 2019
8b48ce8
FilterState documentation
VladislavFitz Aug 5, 2019
56e1d5a
Default limit value in FacetListPresenter changed to maxint
VladislavFitz Aug 7, 2019
c3b918a
Update readme
VladislavFitz Aug 7, 2019
90a1c14
Set environment variable for integration tests
VladislavFitz Aug 7, 2019
14bc480
Readme update
VladislavFitz Aug 7, 2019
2b0acaa
License update
VladislavFitz Aug 7, 2019
083f436
Moved attribute to Core
VladislavFitz Aug 7, 2019
73f99a6
Project structure improvements
VladislavFitz Aug 7, 2019
cfa8aed
Update podspec
VladislavFitz Aug 7, 2019
ae7eb3f
Set current release of API client as a dependency in Carfile
VladislavFitz Aug 7, 2019
78f1ee7
Cartfile clean up
VladislavFitz Aug 8, 2019
4b84bb5
Update version in podspec
VladislavFitz Aug 8, 2019
ae8de94
Merge branch 'isv2' into instantsearch-v2
VladislavFitz Aug 9, 2019
31d0096
Update README.md
VladislavFitz Aug 9, 2019
aebf59d
Get AppID and API key from environment
VladislavFitz Aug 9, 2019
35a082e
Fix env variables injection
VladislavFitz Aug 9, 2019
99dc8ae
Crossplatform color in Highlighting test
VladislavFitz Aug 9, 2019
35c92ae
Set gather code coverage for all the platforms
VladislavFitz Aug 9, 2019
3a942e6
Temporarly drop sequencer tests
VladislavFitz Aug 9, 2019
9b00394
Remove env variables from scheme
VladislavFitz Aug 9, 2019
02d1571
Version increment
VladislavFitz Aug 12, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .DS_Store
Binary file not shown.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ xcuserdata/
## Other
*.moved-aside
*.xcuserstate
*.DS_Store

## Obj-C/Swift specific
*.hmap
Expand Down
2 changes: 1 addition & 1 deletion Cartfile
Original file line number Diff line number Diff line change
@@ -1 +1 @@
github "algolia/algoliasearch-client-swift" ~> 7.0.0
github "algolia/algoliasearch-client-swift" ~> 7.0.0
2 changes: 1 addition & 1 deletion Cartfile.resolved
Original file line number Diff line number Diff line change
@@ -1 +1 @@
github "algolia/algoliasearch-client-swift" "7.0.0"
github "algolia/algoliasearch-client-swift" "7.0.0"
6 changes: 3 additions & 3 deletions InstantSearchCore.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ Pod::Spec.new do |s|
# ------------
s.name = 'InstantSearchCore'
s.module_name = 'InstantSearchCore'
s.version = '5.0.0'
s.license = 'MIT'
s.version = '6.0.0'
s.license = 'Apache 2.0'
s.summary = 'Instant Search library for Swift by Algolia'
s.homepage = 'https://github.com/algolia/instantsearch-core-swift'
s.author = { 'Algolia' => 'contact@algolia.com' }
Expand All @@ -20,7 +20,7 @@ Pod::Spec.new do |s|
s.tvos.deployment_target = '9.0'

s.source_files = [
'Sources/*.swift'
'Sources/**/*.{swift}'
]

# Dependencies
Expand Down
2,484 changes: 2,274 additions & 210 deletions InstantSearchCore.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
codeCoverageEnabled = "YES"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
codeCoverageEnabled = "YES"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
codeCoverageEnabled = "YES"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
Expand Down
223 changes: 202 additions & 21 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,21 +1,202 @@
The MIT License (MIT)

Copyright (c) 2016 Algolia

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.

"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright 2019 Algolia

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
17 changes: 11 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,25 @@ If you're looking to build search interfaces on iOS with Algolia, then you shoul

# InstantSearch Core for Swift

This is the **InstantSearch Core** library for Swift and Objective-C, built on top of Algolia's [Swift API Client](https://github.com/algolia/algoliasearch-client-swift), using Algolia's [Search API](https://www.algolia.com/). It works on macOS, iOS, tvOS and watchOS.
This is the **InstantSearch Core** library for Swift, built on top of Algolia's [Swift API Client](https://github.com/algolia/algoliasearch-client-swift), using Algolia's [Search API](https://www.algolia.com/). It works on macOS, iOS, tvOS and watchOS.

You can always find the latest version of the **user documentation** on [Algolia Community](https://community.algolia.com/instantsearch-core-swift/).
You can always find the latest version of the **user documentation** on [Algolia Documentation](https://www.algolia.com/doc/api-reference/widgets/ios/).

## Installation

If you use Swift version earlier than 4.2, you have to use the version 3.3 of InstantSearch Core.
This version is outdated and not recommended for use.

### CocoaPods

[CocoaPods](https://cocoapods.org/) is a dependency manager for Cocoa projects.

To install InstantSearch, simply add the following line to your Podfile:

#### Swift 4.2
#### Swift 4.2+

```ruby
pod 'InstantSearchCore', '~> 4.0'
pod 'InstantSearchCore', '~> 6.0'
```

#### Swift 4.1
Expand All @@ -40,10 +43,10 @@ $ pod update

To install InstantSearch, simply add the following line to your Cartfile:

#### Swift 4.2
#### Swift 4.2+

```ruby
github "algolia/instantsearch-core-swift" ~> 4.0
github "algolia/instantsearch-core-swift" ~> 6.0
```

#### Swift 4.1
Expand All @@ -52,4 +55,6 @@ github "algolia/instantsearch-core-swift" ~> 4.0
github "algolia/instantsearch-core-swift" ~> 3.3
```

# License

InstantSearch Core iOS is [Apache 2.0 licensed](LICENSE.md).
Binary file added Sources/.DS_Store
Binary file not shown.
Loading