Commit graph

13 commits

Author SHA1 Message Date
Matt
4689ca59c7
[Store5] Target Android, iOS, JVM, JS (#493)
* [Temp] Remove all modules

* Remove references to Store 4

* Update CHANGELOG

* Update README

* Add Store 5 foundation

Signed-off-by: mramotar <mramotar@dropbox.com>

* Dump API

Signed-off-by: mramotar <mramotar@dropbox.com>

* Delete scratch API

Signed-off-by: mramotar <mramotar@dropbox.com>

* Fix workflow

Signed-off-by: mramotar <mramotar@dropbox.com>

* Rename clear to delete

Signed-off-by: mramotar <mramotar@dropbox.com>

* Flatten sealed classes

Signed-off-by: mramotar <mramotar@dropbox.com>

* Make ShareableLruCache threadsafe

Signed-off-by: mramotar <mramotar@dropbox.com>

* First stab

Signed-off-by: mramotar <mramotar@dropbox.com>

* Remove scope

Signed-off-by: mramotar <mramotar@dropbox.com>

* Remove scope

Signed-off-by: mramotar <mramotar@dropbox.com>

* Cherry pick

Signed-off-by: mramotar <mramotar@dropbox.com>

* Remove scope

Signed-off-by: mramotar <mramotar@dropbox.com>

* Fix multithreading LRU cache test

Signed-off-by: mramotar <mramotar@dropbox.com>

* Remove logs

Signed-off-by: mramotar <mramotar@dropbox.com>

* Cover multithreaded market write

Signed-off-by: mramotar <mramotar@dropbox.com>

* Remove redundant advance

Signed-off-by: mramotar <mramotar@dropbox.com>

* Remove Stately !!

Signed-off-by: mramotar <mramotar@dropbox.com>

* Use mutex

Signed-off-by: mramotar <mramotar@dropbox.com>

* Refactor Store to interface with factory

Signed-off-by: mramotar <mramotar@dropbox.com>

* Rename to MemoryLruCache

Signed-off-by: mramotar <mramotar@dropbox.com>

* Rename to RealMarket

Signed-off-by: mramotar <mramotar@dropbox.com>

* Rename to delete all

Signed-off-by: mramotar <mramotar@dropbox.com>

* Rename tests

Signed-off-by: mramotar <mramotar@dropbox.com>

* Clean up Android LRU cache tests

Signed-off-by: mramotar <mramotar@dropbox.com>

* Fix market factory

Signed-off-by: mramotar <mramotar@dropbox.com>

* Rename ConflictResolver to Bookkeeper

Signed-off-by: mramotar <mramotar@dropbox.com>

* From desktop

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Fix tests

Signed-off-by: mramotar <mramotar@dropbox.com>

* Document Lightswitch

Signed-off-by: mramotar <mramotar@dropbox.com>

* Guard against multiple releases

Signed-off-by: mramotar <mramotar@dropbox.com>

* Rename to StoreSafety

Signed-off-by: mramotar <mramotar@dropbox.com>

* Use withLock

Signed-off-by: mramotar <mramotar@dropbox.com>

* Document load

Signed-off-by: mramotar <mramotar@dropbox.com>

* Make delete and deleteAll optional

Signed-off-by: mramotar <mramotar@dropbox.com>

* Add foundation for sample app

Signed-off-by: mramotar <mramotar@dropbox.com>

* Remove Kotlin serialization

Signed-off-by: mramotar <mramotar@dropbox.com>

* Rename masterLock to mainLock

Signed-off-by: mramotar <mramotar@dropbox.com>

* Rename Bookkeeper methods

Signed-off-by: mramotar <mramotar@dropbox.com>

* Rename using Market/Network prefix

Signed-off-by: mramotar <mramotar@dropbox.com>

* Make NetworkFetcher an interface

Signed-off-by: mramotar <mramotar@dropbox.com>

* Make NetworkUpdater an interface

Signed-off-by: mramotar <mramotar@dropbox.com>

* Make MarketReader an interface

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Make MarketWriter an interface

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Add app and main activity

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Add scoping

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Remove unused mipmap

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Add Dagger components

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Remove icon

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Draft README.md

Signed-off-by: mramotar <mramotar@dropbox.com>

* Wire account tab

Signed-off-by: mramotar <mramotar@dropbox.com>

* Remove campaigns sample

Signed-off-by: mramotar <mramotar@dropbox.com>

* Add Market wiring

Signed-off-by: mramotar <mramotar@dropbox.com>

* Remove unused resources

Signed-off-by: mramotar <mramotar@dropbox.com>

* Fix Gradle plugins

Signed-off-by: mramotar <mramotar@dropbox.com>

* Fix rebase issue

Signed-off-by: mramotar <mramotar@dropbox.com>

* Fix wiring

Signed-off-by: mramotar <mramotar@dropbox.com>

* Introduce GoodValidator

Signed-off-by: mramotar <mramotar@dropbox.com>

* Add unit tests

Signed-off-by: mramotar <mramotar@dropbox.com>

* Only load if read not in progress

Signed-off-by: mramotar <mramotar@dropbox.com>

* Update CI and autogenerate Swift Package (#469)

* Update CI and autogenerate Swift Package

Signed-off-by: mramotar <mramotar@dropbox.com>

* Update CI and autogenerate Swift Package

Signed-off-by: mramotar <mramotar@dropbox.com>

* Run on MacOS

Signed-off-by: mramotar <mramotar@dropbox.com>

* Only run on push

Signed-off-by: mramotar <mramotar@dropbox.com>

Signed-off-by: mramotar <mramotar@dropbox.com>

* Use KMM Bridge (#470)

* Clean up deps

Signed-off-by: mramotar <mramotar@dropbox.com>

* Use KMM Bridge

Signed-off-by: mramotar <mramotar@dropbox.com>

* Fix version prefix

Signed-off-by: mramotar <mramotar@dropbox.com>

Signed-off-by: mramotar <mramotar@dropbox.com>

* Fix Maven publish plugin (#471)

Signed-off-by: mramotar <mramotar@dropbox.com>

Signed-off-by: mramotar <mramotar@dropbox.com>

* Refactor fetcher and updater to 1:1 with market

Signed-off-by: mramotar <mramotar@dropbox.com>

* Reset Fake API

Signed-off-by: mramotar <mramotar@dropbox.com>

* Remove unused imports

Signed-off-by: mramotar <mramotar@dropbox.com>

* Run check on store

Signed-off-by: mramotar <mramotar@dropbox.com>

* Format

Signed-off-by: mramotar <mramotar@dropbox.com>

* Api Dump + Format

Signed-off-by: mramotar <mramotar@dropbox.com>

* Add default config

Signed-off-by: mramotar <mramotar@dropbox.com>

* Check all

Signed-off-by: mramotar <mramotar@dropbox.com>

* Add ItemValidator

Signed-off-by: mramotar <mramotar@dropbox.com>

* README.md

Signed-off-by: mramotar <mramotar@dropbox.com>

* With ViewModel

Signed-off-by: mramotar <mramotar@dropbox.com>

* Format

Signed-off-by: mramotar <mramotar@dropbox.com>

* Implement fetcher and updater

Signed-off-by: mramotar <mramotar@dropbox.com>

* Cleanup Readme/Remove Persister (#474)

* cleanup readme and rename a few concepts

* fix tests

* readme cleanup

* readme cleanup

* readme cleanup

* readme cleanup

* lint

Co-authored-by: Mike Nakhimovich <mnakhimovich@Mikes-MBP.localdomain>

* Regenerate gradle-wrapper.jar

Signed-off-by: mramotar <mramotar@dropbox.com>

* Prepare for release 5.0.0-alpha1

Signed-off-by: mramotar <mramotar@dropbox.com>

* Prepare for next development version

Signed-off-by: mramotar <mramotar@dropbox.com>

* Target browser and Node!

Signed-off-by: mramotar <mramotar@dropbox.com>

* Only generate Swift Package on release

Signed-off-by: mramotar <mramotar@dropbox.com>

* Fix iOS targets

Signed-off-by: mramotar <mramotar@dropbox.com>

* Fix workflow

Signed-off-by: mramotar <mramotar@dropbox.com>

* Fix workflow

Signed-off-by: mramotar <mramotar@dropbox.com>

* Run manually only

Signed-off-by: mramotar <mramotar@dropbox.com>

* Update RELEASING.md

Signed-off-by: mramotar <mramotar@dropbox.com>

* Update README.md

Signed-off-by: matt-ramotar <mramotar@dropbox.com>

* Run on macos

Signed-off-by: mramotar <mramotar@dropbox.com>

* Remove Dropbox references

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Prepare for release 5.0.0-alpha02

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Prepare next development version

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Update CHANGELOG.md

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Add tests for complex markets

Signed-off-by: mramotar <mramotar@dropbox.com>

* Fix import

Signed-off-by: mramotar <mramotar@dropbox.com>

* Fix tests

Signed-off-by: mramotar <mramotar@dropbox.com>

* Format

Signed-off-by: mramotar <mramotar@dropbox.com>

* Distinguish network, store, and common representations

Signed-off-by: mramotar <mramotar@dropbox.com>

* Update NetworkFetcher

Signed-off-by: mramotar <mramotar@dropbox.com>

* Refactor inputs + outputs

Signed-off-by: mramotar <mramotar@dropbox.com>

* Update sample + fix tests

Signed-off-by: mramotar <mramotar@dropbox.com>

* Update comment

Signed-off-by: mramotar <mramotar@dropbox.com>

* Port Cache

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Update README.md

Signed-off-by: Matt <mramotar@dropbox.com>

* Move README.md

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Update README.md

Signed-off-by: Matt <mramotar@dropbox.com>

* Update README.md

Signed-off-by: Matt <mramotar@dropbox.com>

* Merge multicast from github.com/MobileNativeFoundation/Store/tree/Kmp

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Fix build errors

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Format

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Format

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Move to market package

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Add Fetcher + FetcherResult

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Api dump + format

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Port Store

Signed-off-by: mramotar <mramotar@dropbox.com>

* Add unit test

Signed-off-by: mramotar <mramotar@dropbox.com>

* Format

Signed-off-by: mramotar <mramotar@dropbox.com>

* Fix tests

Signed-off-by: mramotar <mramotar@dropbox.com>

* Update .gitignore

Signed-off-by: mramotar <mramotar@dropbox.com>

* Api Dump

Signed-off-by: mramotar <mramotar@dropbox.com>

* Cover stream and fresh

Signed-off-by: mramotar <mramotar@dropbox.com>

* Fix tests

Signed-off-by: mramotar <mramotar@dropbox.com>

* Run on MacOS

Signed-off-by: mramotar <mramotar@dropbox.com>

* Use Java 11

Signed-off-by: mramotar <mramotar@dropbox.com>

* Add HotFlowStoreTest

Signed-off-by: mramotar <mramotar@dropbox.com>

* Add gradle plugin repository

Signed-off-by: mramotar <mramotar@dropbox.com>

* Update check.yml

Signed-off-by: Matt <mramotar@dropbox.com>

* Update check.yml

Signed-off-by: Matt <mramotar@dropbox.com>

* Add ClearAllStoreTests

Signed-off-by: mramotar <mramotar@dropbox.com>

* Use Java 11

Signed-off-by: mramotar <mramotar@dropbox.com>

* Format

Signed-off-by: mramotar <mramotar@dropbox.com>

* Fix tests

Signed-off-by: mramotar <mramotar@dropbox.com>

* Remove binary-compatibility-validator

Signed-off-by: mramotar <mramotar@dropbox.com>

* Ignore Store podspec

Signed-off-by: mramotar <mramotar@dropbox.com>

* Update check.yml

Signed-off-by: mramotar <mramotar@dropbox.com>

* Use Java 11

Signed-off-by: mramotar <mramotar@dropbox.com>

* Use channel flow

Signed-off-by: mramotar <mramotar@dropbox.com>

* Format

Signed-off-by: mramotar <mramotar@dropbox.com>

* Fix tests

Signed-off-by: mramotar <mramotar@dropbox.com>

* Revert workflow

Signed-off-by: mramotar <mramotar@dropbox.com>

* Disable transformation

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Disable transformation

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Disable transformation

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Add ClearStoreByKeyTests

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Add FetcherResponseTests

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Add KeyTrackerTests

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Add StoreWithInMemoryCacheTests

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Add StreamWithoutSourceOfTruthTests

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* ValueFetcherTests

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Add MapIndexedTests

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Add FetcherControllerTests

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Add StoreResponseTests

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Add SourceOfTruthErrorsTests

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Add SourceOfTruthWithBarrierTests

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Remove Market and update README

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Remove Market sample

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Update README

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

* Update CHANGELOG

Signed-off-by: Matt Ramotar <mramotar@dropbox.com>

Signed-off-by: mramotar <mramotar@dropbox.com>
Signed-off-by: Matt Ramotar <mramotar@dropbox.com>
Signed-off-by: matt-ramotar <mramotar@dropbox.com>
Signed-off-by: Matt <mramotar@dropbox.com>
Co-authored-by: Mike Nakhimovich <digitalbuddha@users.noreply.github.com>
Co-authored-by: Mike Nakhimovich <mnakhimovich@Mikes-MBP.localdomain>
2022-12-18 10:53:21 -05:00
Mez Pahlan
10da116ea6
Add Store RxJava3 module (#171) 2020-05-30 16:47:14 -07:00
Mike Nakhimovich
7b7f01a439
Rxbindings (#93)
RxJava2 extensions
2020-02-12 20:36:10 -05:00
Yigit Boyar
6d97c399fa move multicast to its own module (#9)
Fixes #8
2019-12-08 19:12:11 +01:00
Yigit Boyar
8347de79aa Remove suspend cache (#52)
* remove suspend cache

This PR replaces suspend cahce usages w/ direct guava cache usage.
I think we should also get rid of guava cache.
First of all it is in java so needs to be moved to kotlin at least for
future multi-platform support.
Second, it would be nicer to have something that uses kotlin's time so
that people can provide a scope w/ a delay functionality (like the
TestCoroutineScope) and also test time related stuff. An alternative might
be letting people pass a Timer in the builder

Fixes #41

* remove commented code :/
2019-11-14 07:31:07 -05:00
Mike Nakhimovich
ca8c957a2d
cleanup with no explanation (#42) 2019-11-03 14:53:38 -05:00
Yigit Boyar
dc9b1bd51c
Suspend cache (#8)
This PR adds a cache implementation that has all APIs as suspend functions.
It uses guava's cache under the hood and handles query deduplication in a custom
Entry type that we keep in the cache
2019-07-02 07:25:36 -07:00
Brian Plummer
797b3e2555 remove middleware-jackson 2019-05-17 18:30:24 -04:00
Jorge Antonio Díaz-Benito Soriano
10d0cf6d07 Add store-kotlin module (#229)
* Add store-kotlin module

* Remove useless file

* Fix package in AndroidManifest

* Refactor module tests to assertJ

* Remove wrong annotation

* Add store-kotlin artifact to README

* Add module README

* Add KDoc to Javadoc jar

* Add Experimental annotation

* Mark all public store-kotlin classes as @Experimental

* Replace use of rx's @Experimental with local one instead
2017-06-22 21:22:34 -04:00
Maksim Moiseikin
9db2456118 Create Jackson Middleware (#60)
* Create Jackson string parser

* Create Jackson BufferedSource parser

* Create Jackson Reader parser
2017-01-15 13:37:16 -05:00
Maksim Moiseikin
cbcd9794e0 Create Moshi Middleware (#55)
* Create Moshi Middleware module

* Implement Moshi string parser

* Implement Moshi BufferedSource parser

* Implement Moshi Reader parser

* Add missing gradle.properties file

* Remove Moshi reader parser
2017-01-14 18:43:50 -05:00
digitalbuddha
9badd11494 initial 2017-01-04 14:17:53 -05:00
digitalbuddha
7b86dae1b8 initialCommit 2016-11-29 13:59:48 -05:00