diff --git a/antora-playbook.yml b/antora-playbook.yml
index cf6c2f29..b5b2c228 100644
--- a/antora-playbook.yml
+++ b/antora-playbook.yml
@@ -15,7 +15,7 @@ content:
branches: ['0.*', '1.*']
start_path: doc
- url: https://github.com/kosi-libs/MocKMP.git
- branches: ['1.*']
+ branches: ['1.*', '2.*']
start_path: doc
ui:
bundle:
diff --git a/docs/404.html b/docs/404.html
index d88ebdbd..33a66c39 100644
--- a/docs/404.html
+++ b/docs/404.html
@@ -4,7 +4,7 @@
diff --git a/docs/mockmp/1.17/core/helper.html b/docs/mockmp/1.17/core/helper.html
index 354e11d7..379e3ae9 100644
--- a/docs/mockmp/1.17/core/helper.html
+++ b/docs/mockmp/1.17/core/helper.html
@@ -4,8 +4,8 @@
The test class helper :: Kodein Open Source Initiative Documentation
-
-
+
+
@@ -203,9 +203,12 @@
-
+
@@ -226,6 +229,13 @@
The test class helper
+
+
+
+
diff --git a/docs/mockmp/1.17/core/injection.html b/docs/mockmp/1.17/core/injection.html
index 34dc1006..e485fef9 100644
--- a/docs/mockmp/1.17/core/injection.html
+++ b/docs/mockmp/1.17/core/injection.html
@@ -4,8 +4,8 @@
Injecting your test classes :: Kodein Open Source Initiative Documentation
-
-
+
+
@@ -203,9 +203,12 @@
-
+
@@ -226,6 +229,13 @@
Injecting your test classes
+
+
+
+
diff --git a/docs/mockmp/1.17/core/mocking.html b/docs/mockmp/1.17/core/mocking.html
index 76c4a217..9174c86c 100644
--- a/docs/mockmp/1.17/core/mocking.html
+++ b/docs/mockmp/1.17/core/mocking.html
@@ -4,8 +4,8 @@
Mocking interfaces :: Kodein Open Source Initiative Documentation
-
-
+
+
@@ -203,9 +203,12 @@
-
+
@@ -226,6 +229,13 @@
Mocking interfaces
+
+
+
+
diff --git a/docs/mockmp/1.17/core/setup.html b/docs/mockmp/1.17/core/setup.html
index 96dd63ce..5637d86c 100644
--- a/docs/mockmp/1.17/core/setup.html
+++ b/docs/mockmp/1.17/core/setup.html
@@ -4,8 +4,8 @@
MocKMP Setup :: Kodein Open Source Initiative Documentation
-
-
+
+
@@ -203,9 +203,12 @@
-
+
@@ -226,6 +229,13 @@
Setup
+
+
+
+
diff --git a/docs/mockmp/1.17/getting-started.html b/docs/mockmp/1.17/getting-started.html
index c86e1757..bbe4db4c 100644
--- a/docs/mockmp/1.17/getting-started.html
+++ b/docs/mockmp/1.17/getting-started.html
@@ -4,8 +4,8 @@
Getting started :: Kodein Open Source Initiative Documentation
-
-
+
+
@@ -203,9 +203,12 @@
-
+
@@ -226,6 +229,13 @@
Getting Started
+
+
+
+
diff --git a/docs/mockmp/1.17/index.html b/docs/mockmp/1.17/index.html
index 75e61d64..05a55c65 100644
--- a/docs/mockmp/1.17/index.html
+++ b/docs/mockmp/1.17/index.html
@@ -4,8 +4,8 @@
MocKMP :: Kodein Open Source Initiative Documentation
-
-
+
+
@@ -203,9 +203,12 @@
-
+
@@ -226,6 +229,13 @@
Introduction
+
+
+
+
diff --git a/docs/mockmp/2.0/core/facking.html b/docs/mockmp/2.0/core/facking.html
new file mode 100644
index 00000000..7e4bbd27
--- /dev/null
+++ b/docs/mockmp/2.0/core/facking.html
@@ -0,0 +1,439 @@
+
+
+
+
+
+
Faking concrete classes :: Kodein Open Source Initiative Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MocKMP
+ 2.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Faking concrete classes
+
+
+
+
+
+
+
+
+
+Only concrete trees (concrete classes containing concrete classes) can be faked!
+
+
+
+
+
+
Data classes are ideal candidates for faking.
+
+
+
+
+
Requesting generation
+
+
+
You can declare that a class or function needs a specific faked data by using the @UsesFakes
annotation.
+
+
+
+
@UsesFakes(User::class)
+class MyTests
+
+// and
+
+@UsesFakes(User::class)
+fun testUser() {}
+
+
+
+
Once a type appears in @UsesFakes
, the processor will generate a fake function for it.
+
+
+
+
+
Instantiating
+
+
+
Once a class has been faked, you can get a new instance by the fake
function:
+
+
+
+
@UsesFakes(User::class)
+class MyTests {
+ val user = fake<User>()
+}
+
+
+
+
Here are the rules the processor uses to generate fakes:
+
+
+
+
+Nullable values are always null
.
+
+
+Boolean
values are set to false
.
+
+
+Numeric values are set to 0
.
+
+
+String
values are set to empty ""
.
+
+
+Other non-nullable non-primitive values are faked.
+
+
+
+
+
+
+
+
+
+
+
+
By using a data class
, you can easily tweak your fakes according to your needs:
+
+
+
+
val user = fake<User>().copy(id = 42)
+
+
+
+
+
+
+
+
+
+
Providing fake instances
+
+
+
Classes that do not have a public constructor cannot be automatically faked.
+For these types, you need to provide your custom fake provider with @FakeProvider
:
+
+
+
+
@FakeProvider
+fun provideFakeInstant() = Instant.fromEpochSeconds(0)
+
+
+
+
+
+
+
+
+
+There can be only one provider per type, and it needs to be a top-level function.
+
+
+
+
+
+
+
+
Generics
+
+
+
You can fake a Star-projected generic type with @UsesFakes
:
+
+
+
+
data class NullGenData<T>(val content: T)
+
+data class NonNullGenData<T : Any>(val content: T)
+
+@Test
+@UsesFakes(GenData::class)
+fun testGenericFake() {
+ val nullData = fake<NullGenData<*>>()
+ assertNull(nullData.content)
+
+ val nonNullData = fake<NonNullGenData<*>>()
+ assertNonNull(nonNullData.content) // is Any
+}
+
+
+
+
However, if you need a specific generic type to fake, you need to declare it in an injected class , even if you are never going to use that class.
+
+
+
+
data class GenData<T>(val content: T)
+
+class GenFakes {
+ @Fake lateinit var longData: GenData<String>
+}
+
+@Test
+fun testDataOfLong() {
+ val data = fake<GenData<String>>()
+ assertEquals("", data.content)
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/mockmp/2.0/core/helper.html b/docs/mockmp/2.0/core/helper.html
new file mode 100644
index 00000000..fc96d2e2
--- /dev/null
+++ b/docs/mockmp/2.0/core/helper.html
@@ -0,0 +1,413 @@
+
+
+
+
+
+
The test helper :: Kodein Open Source Initiative Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MocKMP
+ 2.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+The test helper
+
+
The TestsWithMocks
abstract class
+
+
+
MocKMP provides the TestsWithMocks
helper class that your test classes can inherit from.
+It provides the following benefits:
+
+
+
+
+Provides a Mocker
.
+
+
+Resets the Mocker
before each test.
+
+
+Provides withMocks
property delegates to initialize objects with mocks.
+
+
+Allows to call every
, everySuspending
, verify
, and verifyWithSuspend
without mocker.
.
+
+
+
+
+
+
Here’s a test class example with TestsWithMocks
:
+
+
+
+
@UsesFakes(User::class)
+class MyTests : TestsWithMocks() { (1)
+ override fun setUpMocks() = mocker.injectMocks(this) (2)
+
+ @Mock lateinit var db: Database
+ @Mock lateinit var api: API
+
+ @Fake lateinit var user: User
+
+ val controller by withMocks { ControllerImpl(db, api) } (3)
+
+ @Test fun controllerTest() {
+ every { view.render(isAny()) } returns true (4)
+ controller.start()
+ verify { view.render(model) } (4)
+ }
+}
+
+
+
+
+
+1
+The class inherits TestsWithMocks
, which provides helpers.
+
+
+2
+setUpMocks
must be overriden, and can generally be just a delegation to the injectMocks
generated function.
+
+
+3
+Controller will be (re)created before each tests with the new mock dependencies.
+
+
+4
+Note the absence of mocker.
as you can use every
and verify
directly.
+
+
+
+
+
+
+
+
+
+
+Properties delegated to withMocks
will be (re)initialized before each tests , after the mocks have been (re)injected.
+
+
+
+
+
+
+
+
+
+
+
+
+
Because of this issue , you cannot consider that the mocks have been initialized in your other @BeforeTest
methods.
+You can override initMocksBeforeTest
if you need to initialize your mocks before each test:
+
+
+
+
class MyTests : TestsWithMocks() {
+ override fun initMocksBeforeTest() {
+ // Access all injected values:
+ // mocks, fakes & withMocks properties
+ }
+}
+
+
+
+
+
+
+
+
+
+
The ITestsWithMocks
interface
+
+
+
In case your test class already extends another class, you can use the ITestsWithMocks
interface instead:
+
+
+
+
@UsesFakes(User::class)
+class MyTests : MySuperAbstractTests(), ITestsWithMocks { (1)
+
+ override val mocksState = ITestsWithMocks.State() (2)
+
+ override fun setUpMocks() = injectMocks(mocker)
+
+ // ...your tests...
+}
+
+
+
+
+
+1
+The class implements the ITestsWithMocks
interface, which provides all helper methods.
+
+
+2
+The class needs to provide an ITestsWithMocks.State
(since the interface cannot provide one).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/mockmp/2.0/core/injection.html b/docs/mockmp/2.0/core/injection.html
new file mode 100644
index 00000000..c381c229
--- /dev/null
+++ b/docs/mockmp/2.0/core/injection.html
@@ -0,0 +1,356 @@
+
+
+
+
+
+
Injecting your test classes :: Kodein Open Source Initiative Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MocKMP
+ 2.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Injecting your test classes
+
+
Instead of manually creating your own mocks & fakes, it can be useful to inject them in your test classes, especially if you have multiple tests using them.
+
+
+
+
class MyTests {
+ @Mock lateinit var db: Database
+ @Mock lateinit var api: API
+
+ @Fake lateinit var user: User
+
+ lateinit var controller: Controller
+
+ val mocker = Mocker()
+
+ @BeforeTest fun setUp() {
+ mocker.reset() (1)
+ mocker.injectMocks(this) (2)
+ controller = ControllerImpl(db, api) (3)
+ }
+
+ @Test fun controllerTest() {
+ mocker.every { view.render(isAny()) } returns true
+ controller.start()
+ mocker.verify { view.render(model) }
+ }
+}
+
+
+
+
+
+1
+Resets the mocker before any test (which removes all mocked behaviour & logged calls), so that each test gets a "clean" mocker.
+
+
+2
+Injects mocks and fakes.
+
+
+3
+Create classes to be tested with injected mocks & fakes.
+
+
+
+
+
As soon as a class T
contains a @Mock
or @Fake
annotated property, a Mocker.injectMocks(receiver: T)
function will be created by the processor.
+
+
+
+
+
+
+
+
+Don’t forget to reset
the Mocker
in a @BeforeTest
method!
+
+
+
+
+
+
+
+
+
+
+
+
+
You can inject other classes than test classes:
+
+
+
+
class MyMocks {
+ @Mock lateinit var db: Database
+ @Mock lateinit var api: API
+}
+
+
+
+
…will generate the Mocker.injectMocks(receiver: MyMocks)
function.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/mockmp/2.0/core/mocking.html b/docs/mockmp/2.0/core/mocking.html
new file mode 100644
index 00000000..61bd8f95
--- /dev/null
+++ b/docs/mockmp/2.0/core/mocking.html
@@ -0,0 +1,914 @@
+
+
+
+
+
+
Mocking interfaces :: Kodein Open Source Initiative Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MocKMP
+ 2.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Mocking interfaces
+
+
+
+
+
+
+
+
+
+
+
This section covers the use of the MocKMP mocker
by itself.
+MocKMP also provides a very useful abstract class helper for test classes.
+The TestWithMocks
helper class usage is recommended when possible (as it makes your tests easier to read), and is documented later in The test helper chapter.
+
+
+
+
+
+
+
+
+
+
+
+
+Only interfaces can be mocked!
+This is by design and is not likely to change.
+
+
+
+
+
+
+
+
Requesting generation
+
+
+
You can declare that a class or a function needs a specific mocked interface by using the @UsesMocks
annotation.
+
+
+
+
@UsesMocks(Database::class, API::class)
+class DatabaseTests
+
+// and
+
+@UsesMocks(Database::class, API::class)
+fun testDatabase() {}
+
+
+
+
Once an interface appears in @UsesMocks
, the processor will generate a mock class for it.
+
+
+
+
+
Defining behaviour
+
+
+
To manipulate a mocked type, you need a Mocker
.
+You can then create mocked types and define their behaviour:
+
+
+
+
@UsesMocks(Database::class, API::class)
+class DatabaseTests {
+ @Test fun test() {
+ val mocker = Mocker()
+ val db = mocker.mock<Database>()
+ val api = mocker.mock<API>()
+
+ mocker.every { db.open(isAny()) } returns Unit (1)
+ mocker.every { api.getCurrentUser() } runs { fakeUser() } (2)
+
+ //...
+ }
+}
+
+
+
+
+
+1
+returns
mocks the method to return the provided instance .
+
+
+2
+runs
mocks the method to run and return the result of the provided function .
+
+
+
+
+
+
+
+
+
+
+A method must be mocked to run without throwing an exception (there is no "relaxed" mode).
+
+
+
+
+
+
You can mock methods according to specific argument constraints:
+
+
+
+
mocker.every { api.update(isNotNull()) } returns true
+mocker.every { api.update(isNull()) } runs { nullCounter++ ; false }
+
+
+
+
You can also keep the Every
reference to change the behaviour over time:
+
+
+
+
val everyApiGetUserById42 = mocker.every { api.getUserById(42) }
+everyApiGetUserById42 returns fake<User>()
+// Do things...
+everyApiGetUserById42 returns null
+// Do other things...
+
+
+
+
+
+
Mocking properties
+
+
+
You can mock property getters & setters much like regular methods:
+
+
+
+
@UsesMocks(User::class)
+class MyTests {
+ @Test fun myUnitTest() {
+ val mocker = Mocker()
+ val place = mocker.mock<Place>()
+
+ // Mocking a val property:
+ mocker.every { place.id } returns 1
+
+ // Mocking a var property:
+ mocker.every { place.name = isAny() } returns Unit (1)
+ mocker.every { place.name } returns "Machu Pichu"
+ }
+}
+
+
+
+
+
+1
+A setter always returns Unit
.
+
+
+
+
+
A var (read & write) property can be "backed" by the mocker:
+
+
+
+
@UsesMocks(User::class)
+class MyTests {
+ @Test fun myUnitTest() {
+ val mocker = Mocker()
+ val place = mocker.mock<Place>()
+
+ mocker.backProperty(user, Place::name, default = "")
+
+ place.name = "Machu Pichu"
+ assertEquals("Machu Pichu", place.name)
+ }
+}
+
+
+
+
+
+
Defining suspending behaviour
+
+
+
You can define the behaviour of a suspending function with everySuspending
:
+
+
+
+
mocker.everySuspending { app.openDB() } runs { openTestDB() } (1)
+mocker.everySuspending { api.getCurrentUser() } returns fakeUser()
+
+
+
+
+
+1
+Here, openTestDB
can be suspending.
+
+
+
+
+
+
+
+
Adding argument constraints
+
+
+
Available constraints are:
+
+
+
+
+isAny
is always valid (even with null
values).
+
+
+isNull
and isNotNull
check nullability.
+
+
+isEqual
and isNotEqual
check regular equality.
+
+
+isSame
and isNotSame
check identity.
+
+
+isInstanceOf
checks type.
+
+
+
+
+
+
+
+
+
+
+
+
Passing a non-constraint value to the function is equivalent to passing isEqual(value)
+
+
+
+
mocker.every { api.getUserById(42) } returns fake<User>()
+
+
+
+
is strictly equivalent to:
+
+
+
+
mocker.every { api.getUserById(isEqual(42)) } returns fake<User>()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
You cannot mix constraints & non-constraint values.
+This fails:
+
+
+
+
mocker.every { api.registerCallback(42, isAny()) } returns Unit
+
+
+
+
…and needs to be replaced by:
+
+
+
+
mocker.every { api.registerCallback(isEqual(42), isAny()) } returns Unit
+
+
+
+
+
+
+
+
+
+
Verifying
+
+
+
You can check that mock functions have been run in order with verify
.
+
+
+
+
val fakeUser = fake<User>()
+
+mocker.every { db.loadUser(isAny()) } returns null
+mocker.every { db.saveUser(isAny()) } returns Unit
+mocker.every { api.getUserById(isAny()) } returns fakeUser
+
+controller.onClickUser(userId = 42)
+
+mocker.verify {
+ db.loadUser(42)
+ api.getUserById(42)
+ db.saveUser(fakeUser)
+}
+
+
+
+
You can of course use constraints (in fact, not using passing a constraint is equivalent to passing isEqual(value)
):
+
+
+
+
mocker.verify {
+ api.getUserById(isAny())
+ db.saveUser(isNotNull())
+}
+
+
+
+
+
+
+
+
+
+You cannot mix constraints & non-constraint values.
+
+
+
+
+
+
If you want to verify the use of suspend functions, you can use verifyWithSuspend
:
+
+
+
+
mocker.verifyWithSuspend {
+ api.getUserById(isAny())
+ db.saveUser(isNotNull())
+}
+
+
+
+
+
+
+
+
+
+You can check suspending and non suspending functions in verifyWithSuspend
.
+Unlike everySuspending
, all verifyWithSuspend
does is running verify
in a suspending context, which works for both regular and suspending functions.
+
+
+
+
+
+
+
+
Verifying exception thrown
+
+
+
If you define a mock function behaviour to throw an exception, you must verify the call with threw
:
+
+
+
+
mocker.every { db.saveUser(isAny()) } runs { error("DB is not accessible") }
+
+//...
+
+mocker.verify {
+ val ex = thre w<IllegalStateException> { db.saveUser(isAny()) }
+ assertEquals("DB is not accessible", ex.message)
+}
+
+
+
+
If you configure your behaviour to maybe throw an exception, you can verify a call that may or may not have thrown an exception with called
:
+
+
+
+
mocker.every { api.getUserById(isAny()) } runs { args ->
+ val idArg = args[0] as Int
+ if (idArg == 42) return MockUser()
+ else throw UnknownUserException(idArg)
+}
+
+//...
+
+mocker.verify {
+ called { api.getUserById(isAny()) }
+}
+
+
+
+
+
+
Configuring verification exhaustivity & order
+
+
+
By default, the verify
block is exhaustive and in order: it must list all mocked functions that were called, in order .
+This means that you can easily check that no mocked methods were run:
+
+
+
+
You can use clearCalls
to clear the call log, in order to only verify for future method calls:
+
+
+
+
controller.onClickUser(userId = 42)
+mocker.clearCalls() (1)
+
+controller.onClickDelete()
+mocker.verify { db.deleteUser(42) }
+
+
+
+
+
+1
+All mocked calls before this won’t be verified.
+
+
+
+
+
+
+
+exhaustive = false
, which will verify each call, in their relative order , but won’t fail if you didn’t mention every call.
+
+
+inOrder = false
, which allows you to define all calls in any order, but will fail if you did not mention all of them.
+
+
+exhaustive = false, inOrder = false
, which checks required calls without order nor exhaustiveness.
+
+
+
+
+
+
mocker.verify(exhaustive = false, inOrder = false) { (1)
+ db.deleteUser(42)
+ api.deleteUser(42)
+}
+
+
+
+
+
+1
+Verify that both calls have been made, no matter the order.
+Other calls to mocks may have been made since exhaustiveness is not checked.
+
+
+
+
+
+
+
Capturing arguments
+
+
+
You can capture an argument into a MutableList
to use or verify it later.
+This can be useful, for example, to capture delegates and call them.
+
+
+
+
val delegate = mocker.mock<Delegate>()
+mocker.every { delegate.setSession(isAny()) } returns Unit
+
+val controller = Controller(delegate)
+controller.startNewSession()
+assertEquals(1, controller.runningSessions.size)
+
+val sessionCapture = ArrayList<Session>()
+mocker.verify { delegate.setSession(isAny(capture = sessionCapture)) } (1)
+
+val session = sessionCapture.single() (2)
+session.close()
+
+assertEquals(0, controller.runningSessions.size)
+
+
+
+
+
+1
+Captures the setSession
first argument into the sessionCapture
mutable list.
+
+
+2
+As setSession
should have been called only once, retrieve the one and only Session
from the capture list.
+
+
+
+
+
Captures can also be used in definition blocks.
+The previous example could be rewritten as such:
+
+
+
+
val delegate = MockDelegate()
+val sessionCapture = ArrayList<Session>()
+mocker.every { delegate.setSession(isAny(capture = sessionCapture)) } returns Unit
+
+val controller = Controller(delegate)
+controller.startNewSession()
+assertEquals(1, controller.runningSessions.size)
+
+val session = sessionCapture.single()
+session.close()
+
+assertEquals(0, controller.runningSessions.size)
+
+
+
+
Note that, when declared in a definition block, the capture list may be filled with multiple values (one per call).
+
+
+
+
+
Accessing run block arguments
+
+
+
There are 2 ways you can access arguments in a run block.
+
+
+
+
+You can use capture lists:
+
+
+
val sessions = ArrayList<String>()
+mocker
+ .every { delegate.setSession(isAny(capture = sessions)) }
+ .runs { sessions.last().close() } (1)
+
+
+
+
+
+1
+.last()
returns the last call argument, which is always the current.
+
+
+
+
+
+You can access function parameters in a run block arguments.
+This is less precise than using capture lists as they are non typed, but allows to write very concise code:
+
+
+
+
+
+
mocker
+ .every { delegate.setSession(isAny()) }
+ .runs { args -> (args[0] as Session).close() }
+
+
+
+
+
+
Mocking functional types
+
+
+
You can create mocks for functional type by using mockFunctionX
where X is the number of arguments.
+
+
+
+
val callback: (User) -> Unit = mockFunction1()
+mocker.every { callback(isAny()) } returns Unit
+
+userRepository.fetchUser(callback)
+
+mocker.verify { callback(fakeUser) }
+
+
+
+
The mockFunctionX
builders can accept a lambda parameter that defines behaviour & return type of the mocked function (so that you don’t have to call mocker.every
).
+The above mocked callback function can be declared as such:
+
+
+
+
val callback: (User) -> Unit = mockFunction1() {} // implicit Unit
+
+
+
+
You can mock suspending functions with mockSuspendFunctionX
.
+
+
+
+
+
Defining custom argument constraints
+
+
+
You can define your own constraints using isValid
:
+
+
+
+
fun ArgConstraintsBuilder.isStrictlyPositive(capture: MutableList<Int>? = null): Int =
+ isValid(ArgConstraint(capture, { "isStrictlyPositive" }) {
+ if (it > 0) ArgConstraint.Result.Success
+ else ArgConstraint.Result.Failure { "Expected a strictly positive value, got $it" }
+ })
+
+
+
+
You can then use your custom constraints in definitions and in verifications :
+
+
+
+
mocker.every { api.getSuccess(isStrictlyPositive()) } returns true
+mocker.every { api.getSuccess(isAny()) } returns false
+/*...*/
+mocker.verify { api.getUserById(isStrictlyPositive()) }
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/mockmp/2.0/core/setup.html b/docs/mockmp/2.0/core/setup.html
new file mode 100644
index 00000000..b559a1ea
--- /dev/null
+++ b/docs/mockmp/2.0/core/setup.html
@@ -0,0 +1,445 @@
+
+
+
+
+
+
MocKMP Setup :: Kodein Open Source Initiative Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MocKMP
+ 2.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+MocKMP Setup
+
+
Standard test setup
+
+
+
First, add the gradle plugins:
+
+
+
build.gradle.kts
+
+
plugins {
+ kotlin("multiplatform") version "2.0.21"
+ id("com.google.devtools.ksp") version "2.0.21-1.0.28"
+ id("org.kodein.mock.mockmp") version "2.0.0"
+}
+
+
+
+
+
+
+
+
+
+MocKMP uses KSP but does not install it in your project.
+This is because the KSP version to use depends on the version of Kotlin you are using.
+It is therefore your responsibility to install it on your project along with MocKMP.
+
+
+
+
+
+
Then, configure your Kotlin targets and dependencies.
+For example:
+
+
+
build.gradle.kts
+
+
kotlin {
+ androidTarget()
+ jvmToolchain(17)
+
+ iosArm64()
+ iosSimulatorArm64()
+ iosX64()
+
+ sourceSets {
+ commonTest.dependencies {
+ implementation(kotlin("test"))
+ }
+ androidUnitTest.dependencies {
+ implementation(kotlin("test-junit"))
+ }
+ }
+}
+
+
+
+
Finally, apply MocKMP to your test source sets:
+
+
+
+
+
+
+
+
+This must be done after configuring Kotlin targets.
+
+
+
+
+
+
build.gradle.kts
+
+
mockmp {
+ onTest()
+ // OR
+ onTest {
+ withHelper()
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
The withHelper()
is optional and will add the TestsWithMocks
helper class dependency to your project.
+It will by default try to detect which JUnit version your JVM / Android target is using and may fail.
+You can force the JUnit version by using withHelper(junit4)
or withHelper(junit5)
:
+
+
+
build.gradle.kts
+
+
mockmp {
+ onTest {
+ withHelper(junit5)
+ }
+}
+
+
+
+
+
+
+
+
+
+
Applying to main source sets
+
+
+
In some cases, you may need to apply the processor to the common-main source-set instead of common-test.
+
+
+
build.gradle.kts
+
+
mockmp {
+ onMain {
+ public()
+ }
+}
+
+
+
+
+
+
+
+
+
+The withHelper()
JUnit detection will fail when applying MocKMP to main source-sets.
+If you want to add the TestsWithMocks
helper class to your main source-sets, you must specify explicitely which JUnit version to use.
+
+
+
+
+
+
+
+
Other configurations
+
+
+
build.gradle.kts
+
+
mockmp {
+ onTest { // or onMain
+
+ // By default, MocKMP will be applied to all targets.
+ // This is therefore not necessary (as it is the default).
+ allTargets()
+ // But you can instead apply it to only a subset of specific targets.
+ specificTargets("jvm", "iosSimulatorArm64")
+
+ // If you want the generated mocks & fakes to be public instead of internal.
+ public()
+ // or
+ public(true)
+
+ // By default, the mocks & fakes accessors will be generated in the
+ // org.kodein.mock.generated package.
+ // You may change this if you have multiple modules using MocKMP, to avoid
+ // collision between generated accessors.
+ accessorsPackage("com.myproject.mockmp.generated")
+
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/mockmp/2.0/getting-started.html b/docs/mockmp/2.0/getting-started.html
new file mode 100644
index 00000000..7b9d1d49
--- /dev/null
+++ b/docs/mockmp/2.0/getting-started.html
@@ -0,0 +1,363 @@
+
+
+
+
+
+
Getting started :: Kodein Open Source Initiative Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MocKMP
+ 2.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Getting started
+
+
+
+Apply the Gradle plugin and activate the helper dependency:
+
+
+
plugins {
+ kotlin("multiplatform") version "2.0.21"
+ id("com.google.devtools.ksp") version "2.0.21-1.0.28" (1)
+ id("org.kodein.mock.mockmp") version "2.0.0" (2)
+}
+
+kotlin {
+ jvmToolchain(17)
+ // Your Koltin/Multiplatform configuration
+}
+
+mockmp { (3)
+ onTest {
+ withHelper() // or withHelper(junit5)
+ }
+}
+
+
+
+
+
+1
+Apply the KSP plugin that corresponds to the Kotlin version you are using.
+
+
+2
+Apply the MocKMP plugin.
+
+
+3
+Apply MocKMP to your test source-sets (must be configured after declaring kotlin
targets).
+
+
+
+
+
+Create a test class that declares injected mocks and fakes:
+
+
+
+
+
class MyTest : TestsWithMocks() { (1)
+ override fun setUpMocks() = mocker.injectMocks(this) (2)
+
+ @Mock lateinit var view: View
+ @Fake lateinit var model: Model
+
+ val controller by withMocks { Controller(view = view, firstModel = model) }
+
+ @Test fun controllerTest() {
+ every { view.render(isAny()) } returns true
+ controller.start()
+ verify { view.render(model) }
+ }
+}
+
+
+
+
+
+1
+The TestsWithMocks
super class eases the use of MocKMP in your tests, but is not mandatory.
+
+
+2
+This is mandatory and cannot be generated. You need to build your project at least once for your IDE to see the injectMocks
function.
+
+
+
+
+
+
+
+
+
+
+
+
+Every property annotated by @Mock
, annotated by @Fake
or delegated to withMocks
will be reset fresh between each test.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/mockmp/2.0/index.html b/docs/mockmp/2.0/index.html
new file mode 100644
index 00000000..f0efacba
--- /dev/null
+++ b/docs/mockmp/2.0/index.html
@@ -0,0 +1,303 @@
+
+
+
+
+
+
MocKMP :: Kodein Open Source Initiative Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MocKMP
+ 2.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+MocKMP
+
+
A Kotlin/Multiplatform Kotlin Symbol Processor that generates Mocks & Fakes at compile-time.
+
+
+
+
A Mock is an object implementing an interface whose behaviour is configurable at run-time, usually specifically for unit-tests.
+Mocks can be used to validate that a method or property was (or wasn’t) accessed in specific conditions.
+
+
+
A fake is a concrete class that contains bogus data: all nullables are null, all strings are empty, all numbers are 0.
+A fake can be used when you need to instantiate a class to test an API but do not care about the data it contains.
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/mockmp/2.0/migration/1to2.html b/docs/mockmp/2.0/migration/1to2.html
new file mode 100644
index 00000000..dfaa3099
--- /dev/null
+++ b/docs/mockmp/2.0/migration/1to2.html
@@ -0,0 +1,554 @@
+
+
+
+
+
+
Migrate MocKMP from 1.17 to 2.0 :: Kodein Open Source Initiative Documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ MocKMP
+ 2.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Migrate MocKMP from 1.17 to 2.0
+
+
+
+
The new MocKMP 2 changes the way:
+
+
+
+
+It is configured in your project.
+
+
+How mocks, fakes, and injectors are accessed.
+
+
+
+
+
The rest is the same: how mocks are configured and verified, as well as how fakes and injectors work, remains unchanged.
+
+
+
+
+
Gradle build script
+
+
+
+
+
+
+
+
+Using the MocKMP Gradle plugin is now the only way to use MocKMP in your project.
+It is no longer possible to install it manually on your project without using the Gradle plugin.
+
+
+
+
+
+
Add the KSP plugin
+
+
The MocKMP plugin does not apply the KSP plugin anymore.
+You therefore need to add the KSP plugin according to the Kotlin version you are using:
+
+
+
build.gradle.kts
+
+
plugins {
+ kotlin("multiplatform") version "2.0.21"
+ id("com.google.devtools.ksp") version "2.0.21-1.0.28" (1)
+ id("org.kodein.mock.mockmp") version "2.0.0"
+}
+
+
+
+
+
+1
+Adding the KSP plugin in addition to the MocKMP plugin is now mandatory.
+
+
+
+
+
+
Migrate the mockmp
block to the new syntax
+
+
After defining the Kotlin targets , migrate to the new MocKMP configuration.
+
+
+
The minimum required to activate MocKMP on your test source sets is:
+
+
+
build.gradle.kts
+
+
mockmp {
+ onTest()
+}
+
+
+
+
+
+
+
+
+
+installWorkaround()
has been removed, as it was replaced by the onTest
& onMain
functions.
+
+
+
+
+
+
If you are using the TestWithMocks
helper class (or ITestWithMocks
helper interface), add it to dependencies:
+
+
+
build.gradle.kts
+
+
mockmp {
+ onTest {
+ withHelper() (1)
+ }
+}
+
+
+
+
+
To see additional configuration options, as well as how to apply MocKMP to the main source sets, have a look at the setup documentation .
+
+
+
+
+
+
Kotlin sources
+
+
+
+
+
+
+
+
+MocKMP 1 ran the code generation on JVM only and used generated code on all targets.
+MocKMP 2 now runs the code generator individually on each target.
+Because of this, it is not possible anymore to access mock classes & fake creator functions by generated name.
+
+
+
+
+
+
MocKMP 2 introduces accessor functions that are accessible from common sources.
+
+
+
Migrate mock classes to the new accessor
+
+
Update your mock creation from MockX(mocker)
to mocker.mock<X>()
:
+
+
+
MyTest.kt
+
+
interface Validator {
+ // ...
+}
+
+@UsesMocks(Validator::class)
+class ValidatorTests : TestsWithMocks() {
+ @Test
+ fun testSimpleValidation() {
+ // val validator = MockValidator(mocker) (1)
+ val validator = mocker.mock<Validator>() (2)
+
+ // ...
+ }
+}
+
+
+
+
+
+1
+Old syntax, not supported anymore as MockFoo
is not in common sources anymore (but generated for each target).
+
+
+2
+New syntax.
+
+
+
+
+
+
+
+
+
+
+The Mocker.mock<T>
extension function is generated by MocKMP and will not be available before first build.
+
+
+
+
+
+
+
Migrate fake functions to the new accessor
+
+
Update your fake creation from fakeX()
to fake<X>()
:
+
+
+
MyTest.kt
+
+
data class User(
+ val id: Long,
+ val name: String,
+ //...
+)
+
+@UsesFakes(User::class)
+class DatabaseTests {
+ @Test
+ fun testSave() {
+ // val user = fakeUser() (1)
+ val user = fake<User>() (2)
+
+ database.save(user)
+
+ // ...
+ }
+}
+
+
+
+
+
+1
+Old syntax, not supported anymore as fakeUser
is not in common sources anymore (but generated for each target).
+
+
+2
+New syntax.
+
+
+
+
+
+
+
+
+
+
+The fake<T>
function is generated by MocKMP and will not be available before first build.
+
+
+
+
+
+
+
Migrate injection to the new accessor
+
+
Update mocks & fakes injections from receiver.injectMocks(mocker)
to mocker.injectMocks(receiver)
:
+
+
+
MyTest.kt
+
+
class DatabaseTests : TestsWithMocks() {
+ @Mock lateinit var validator: Validator
+ @Fake lateinit var user: User
+
+ // override fun setUpMocks() = injectMocks(mocker) (1)
+ override fun setUpMocks() = mocker.injectMocks(this) (2)
+}
+
+
+
+
+
+1
+Old syntax, not supported anymore as T.injectMocks(Mocker)
is not in common sources anymore (but generated for each target).
+
+
+2
+New syntax.
+
+
+
+
+
+
+
+
+
+
+The Mocker.injectMocks<T>
extension function is generated by MocKMP and will not be available before first build.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/mockmp/index.html b/docs/mockmp/index.html
index 44096c18..1613c266 100644
--- a/docs/mockmp/index.html
+++ b/docs/mockmp/index.html
@@ -1,9 +1,9 @@
-
-
-
+
+
+
Redirect Notice
Redirect Notice
-
The page you requested has been relocated to https://kosi-libs.org/mockmp/1.17/index.html .
\ No newline at end of file
+
The page you requested has been relocated to https://kosi-libs.org/mockmp/2.0/index.html .
\ No newline at end of file
diff --git a/docs/sitemap-canard.xml b/docs/sitemap-canard.xml
index ea8bee50..a6c9f76d 100644
--- a/docs/sitemap-canard.xml
+++ b/docs/sitemap-canard.xml
@@ -2,242 +2,242 @@
https://kosi-libs.org/canard/1.2/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/1.2/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/1.2/core/usage.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/1.2/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/1.2/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/1.1/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/1.1/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/1.1/core/usage.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/1.1/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/1.1/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/1.0/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/1.0/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/1.0/core/usage.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/1.0/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/1.0/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.18/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.18/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.18/core/usage.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.18/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.18/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.17/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.17/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.17/core/usage.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.17/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.17/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.16/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.16/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.16/core/usage.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.16/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.16/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.15/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.15/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.15/core/usage.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.15/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.15/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.14/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.14/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.14/core/usage.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.14/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.14/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.13/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.13/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.13/core/usage.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.13/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.13/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.12/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.12/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.12/core/usage.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.12/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.12/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.11/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.11/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.11/core/usage.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.11/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.11/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.10/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.10/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.10/core/usage.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.10/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/canard/0.10/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
diff --git a/docs/sitemap-kodein.xml b/docs/sitemap-kodein.xml
index 96f6eda1..9faaf474 100644
--- a/docs/sitemap-kodein.xml
+++ b/docs/sitemap-kodein.xml
@@ -2,1862 +2,1862 @@
https://kosi-libs.org/kodein/7.22/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.22/core/bindings.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.22/core/external-sources.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.22/core/injection-retrieval.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.22/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.22/core/modules-inheritance.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.22/core/multi-binding.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.22/core/using-environment.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.22/extension/configurable.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.22/extension/jsr330.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.22/framework/android.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.22/framework/compose.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.22/framework/ktor.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.22/framework/tornadofx.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.22/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.22/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.22/migration/migration-4to5.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.22/migration/migration-6to7.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.22/migration/migration-j2k.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.22/platform-and-genericity.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.21/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.21/core/bindings.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.21/core/external-sources.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.21/core/injection-retrieval.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.21/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.21/core/modules-inheritance.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.21/core/multi-binding.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.21/core/using-environment.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.21/extension/configurable.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.21/extension/jsr330.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.21/framework/android.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.21/framework/compose.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.21/framework/ktor.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.21/framework/tornadofx.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.21/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.21/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.21/migration/migration-4to5.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.21/migration/migration-6to7.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.21/migration/migration-j2k.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.21/platform-and-genericity.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.20/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.20/core/bindings.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.20/core/external-sources.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.20/core/injection-retrieval.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.20/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.20/core/modules-inheritance.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.20/core/multi-binding.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.20/core/using-environment.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.20/extension/configurable.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.20/extension/jsr330.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.20/framework/android.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.20/framework/compose.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.20/framework/ktor.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.20/framework/tornadofx.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.20/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.20/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.20/migration/migration-4to5.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.20/migration/migration-6to7.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.20/migration/migration-j2k.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.20/platform-and-genericity.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.19/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.19/core/bindings.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.19/core/external-sources.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.19/core/injection-retrieval.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.19/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.19/core/modules-inheritance.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.19/core/multi-binding.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.19/core/using-environment.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.19/extension/configurable.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.19/extension/jsr330.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.19/framework/android.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.19/framework/compose.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.19/framework/ktor.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.19/framework/tornadofx.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.19/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.19/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.19/migration/migration-4to5.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.19/migration/migration-6to7.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.19/migration/migration-j2k.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.19/platform-and-genericity.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.18/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.18/core/bindings.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.18/core/external-sources.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.18/core/injection-retrieval.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.18/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.18/core/modules-inheritance.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.18/core/multi-binding.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.18/core/using-environment.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.18/extension/configurable.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.18/extension/jsr330.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.18/framework/android.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.18/framework/compose.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.18/framework/ktor.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.18/framework/tornadofx.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.18/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.18/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.18/migration/migration-4to5.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.18/migration/migration-6to7.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.18/migration/migration-j2k.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.18/platform-and-genericity.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.17/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.17/core/bindings.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.17/core/external-sources.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.17/core/injection-retrieval.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.17/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.17/core/modules-inheritance.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.17/core/multi-binding.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.17/core/using-environment.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.17/extension/configurable.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.17/extension/jsr330.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.17/framework/android.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.17/framework/compose.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.17/framework/ktor.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.17/framework/tornadofx.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.17/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.17/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.17/migration/migration-4to5.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.17/migration/migration-6to7.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.17/migration/migration-j2k.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.17/platform-and-genericity.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.16/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.16/core/bindings.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.16/core/external-sources.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.16/core/injection-retrieval.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.16/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.16/core/modules-inheritance.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.16/core/multi-binding.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.16/core/using-environment.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.16/extension/configurable.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.16/extension/jsr330.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.16/framework/android.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.16/framework/compose.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.16/framework/ktor.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.16/framework/tornadofx.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.16/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.16/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.16/migration/migration-4to5.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.16/migration/migration-6to7.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.16/migration/migration-j2k.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.16/platform-and-genericity.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.15/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.15/core/bindings.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.15/core/external-sources.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.15/core/injection-retrieval.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.15/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.15/core/modules-inheritance.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.15/core/multi-binding.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.15/core/using-environment.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.15/extension/configurable.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.15/extension/jsr330.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.15/framework/android.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.15/framework/compose.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.15/framework/ktor.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.15/framework/tornadofx.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.15/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.15/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.15/migration/migration-4to5.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.15/migration/migration-6to7.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.15/migration/migration-j2k.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.15/platform-and-genericity.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.14/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.14/core/bindings.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.14/core/external-sources.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.14/core/injection-retrieval.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.14/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.14/core/modules-inheritance.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.14/core/multi-binding.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.14/core/using-environment.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.14/extension/configurable.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.14/extension/jsr330.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.14/framework/android.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.14/framework/compose.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.14/framework/ktor.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.14/framework/tornadofx.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.14/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.14/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.14/migration/migration-4to5.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.14/migration/migration-6to7.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.14/migration/migration-j2k.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.14/platform-and-genericity.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.13/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.13/core/bindings.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.13/core/external-sources.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.13/core/injection-retrieval.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.13/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.13/core/modules-inheritance.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.13/core/multi-binding.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.13/core/using-environment.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.13/extension/configurable.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.13/extension/jsr330.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.13/framework/android.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.13/framework/compose.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.13/framework/ktor.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.13/framework/tornadofx.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.13/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.13/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.13/migration/migration-4to5.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.13/migration/migration-6to7.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.13/migration/migration-j2k.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.13/platform-and-genericity.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.12/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.12/core/bindings.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.12/core/external-sources.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.12/core/injection-retrieval.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.12/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.12/core/modules-inheritance.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.12/core/multi-binding.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.12/core/using-environment.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.12/extension/configurable.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.12/extension/jsr330.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.12/framework/android.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.12/framework/compose.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.12/framework/ktor.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.12/framework/tornadofx.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.12/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.12/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.12/migration/migration-4to5.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.12/migration/migration-6to7.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.12/migration/migration-j2k.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.12/platform-and-genericity.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.11/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.11/core/bindings.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.11/core/external-sources.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.11/core/injection-retrieval.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.11/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.11/core/modules-inheritance.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.11/core/multi-binding.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.11/core/using-environment.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.11/extension/configurable.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.11/extension/jsr330.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.11/framework/android.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.11/framework/compose.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.11/framework/ktor.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.11/framework/tornadofx.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.11/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.11/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.11/migration/migration-4to5.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.11/migration/migration-6to7.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.11/migration/migration-j2k.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.11/platform-and-genericity.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.10/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.10/core/bindings.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.10/core/external-sources.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.10/core/injection-retrieval.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.10/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.10/core/modules-inheritance.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.10/core/multi-binding.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.10/core/using-environment.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.10/extension/configurable.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.10/extension/jsr330.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.10/framework/android.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.10/framework/compose.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.10/framework/ktor.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.10/framework/tornadofx.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.10/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.10/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.10/migration/migration-4to5.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.10/migration/migration-6to7.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.10/migration/migration-j2k.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.10/platform-and-genericity.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.9/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.9/core/bindings.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.9/core/external-sources.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.9/core/injection-retrieval.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.9/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.9/core/modules-inheritance.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.9/core/multi-binding.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.9/core/using-environment.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.9/extension/configurable.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.9/extension/jsr330.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.9/framework/android.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.9/framework/compose.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.9/framework/ktor.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.9/framework/tornadofx.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.9/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.9/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.9/migration/migration-4to5.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.9/migration/migration-6to7.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.9/migration/migration-j2k.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.9/platform-and-genericity.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.8/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.8/core/bindings.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.8/core/external-sources.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.8/core/injection-retrieval.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.8/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.8/core/modules-inheritance.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.8/core/multi-binding.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.8/core/using-environment.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.8/extension/configurable.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.8/extension/jsr330.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.8/framework/android.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.8/framework/compose.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.8/framework/ktor.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.8/framework/tornadofx.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.8/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.8/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.8/migration/migration-4to5.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.8/migration/migration-6to7.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.8/migration/migration-j2k.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.8/platform-and-genericity.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.7/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.7/core/bindings.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.7/core/external-sources.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.7/core/injection-retrieval.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.7/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.7/core/modules-inheritance.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.7/core/multi-binding.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.7/core/using-environment.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.7/extension/configurable.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.7/extension/jsr330.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.7/framework/android.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.7/framework/compose.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.7/framework/ktor.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.7/framework/tornadofx.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.7/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.7/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.7/migration/migration-4to5.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.7/migration/migration-6to7.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.7/migration/migration-j2k.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.7/platform-and-genericity.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.6/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.6/core/bindings.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.6/core/external-sources.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.6/core/injection-retrieval.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.6/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.6/core/modules-inheritance.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.6/core/multi-binding.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.6/core/using-environment.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.6/extension/configurable.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.6/extension/jsr330.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.6/framework/android.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.6/framework/compose.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.6/framework/ktor.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.6/framework/tornadofx.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.6/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.6/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.6/migration/migration-4to5.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.6/migration/migration-6to7.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.6/migration/migration-j2k.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.6/platform-and-genericity.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.5/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.5/core/bindings.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.5/core/external-sources.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.5/core/injection-retrieval.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.5/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.5/core/modules-inheritance.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.5/core/multi-binding.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.5/core/using-environment.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.5/extension/configurable.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.5/extension/jsr330.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.5/framework/android.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.5/framework/compose.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.5/framework/ktor.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.5/framework/tornadofx.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.5/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.5/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.5/migration/migration-4to5.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.5/migration/migration-6to7.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.5/migration/migration-j2k.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.5/platform-and-genericity.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.4/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.4/core/bindings.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.4/core/external-sources.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.4/core/injection-retrieval.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.4/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.4/core/modules-inheritance.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.4/core/multi-binding.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.4/core/using-environment.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.4/extension/configurable.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.4/extension/jsr330.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.4/framework/android.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.4/framework/ktor.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.4/framework/tornadofx.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.4/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.4/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.4/migration/migration-4to5.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.4/migration/migration-6to7.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.4/migration/migration-j2k.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.4/platform-and-genericity.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.3/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.3/core/bindings.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.3/core/external-sources.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.3/core/injection-retrieval.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.3/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.3/core/modules-inheritance.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.3/core/multi-binding.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.3/core/using-environment.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.3/extension/configurable.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.3/extension/jsr330.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.3/framework/android.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.3/framework/ktor.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.3/framework/tornadofx.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.3/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.3/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.3/migration/migration-4to5.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.3/migration/migration-6to7.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.3/migration/migration-j2k.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.3/platform-and-genericity.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.2/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.2/core/bindings.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.2/core/external-sources.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.2/core/injection-retrieval.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.2/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.2/core/modules-inheritance.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.2/core/multi-binding.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.2/core/using-environment.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.2/extension/configurable.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.2/extension/jsr330.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.2/framework/android.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.2/framework/ktor.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.2/framework/tornadofx.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.2/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.2/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.2/migration/migration-4to5.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.2/migration/migration-6to7.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.2/migration/migration-j2k.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.2/platform-and-genericity.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.1/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.1/core/bindings.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.1/core/external-sources.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.1/core/injection-retrieval.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.1/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.1/core/modules-inheritance.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.1/core/multi-binding.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.1/core/using-environment.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.1/extension/configurable.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.1/extension/jsr330.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.1/framework/android.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.1/framework/ktor.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.1/framework/tornadofx.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.1/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.1/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.1/migration/migration-4to5.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.1/migration/migration-6to7.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.1/migration/migration-j2k.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.1/platform-and-genericity.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.0/core/advanced.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.0/core/bindings.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.0/core/external-sources.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.0/core/injection-retrieval.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.0/core/install.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.0/core/modules-inheritance.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.0/core/multi-binding.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.0/core/using-environment.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.0/extension/configurable.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.0/extension/jsr330.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.0/framework/android.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.0/framework/ktor.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.0/framework/tornadofx.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.0/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.0/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.0/migration/migration-4to5.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.0/migration/migration-6to7.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.0/migration/migration-j2k.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/7.0/platform-and-genericity.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/6.5/core.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/6.5/extension/configurable.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/6.5/extension/jsr330.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/6.5/framework/android.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/6.5/framework/ktor.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/6.5/framework/tornadofx.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/6.5/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/6.5/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/6.5/migration/migration-4to5.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/kodein/6.5/migration/migration-j2k.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
diff --git a/docs/sitemap-kosi-libs.xml b/docs/sitemap-kosi-libs.xml
index 007b3083..f49c48b0 100644
--- a/docs/sitemap-kosi-libs.xml
+++ b/docs/sitemap-kosi-libs.xml
@@ -2,6 +2,6 @@
https://kosi-libs.org/kosi-libs/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
diff --git a/docs/sitemap-mockmp.xml b/docs/sitemap-mockmp.xml
index 7b80b882..53c3587b 100644
--- a/docs/sitemap-mockmp.xml
+++ b/docs/sitemap-mockmp.xml
@@ -1,31 +1,63 @@
+https://kosi-libs.org/mockmp/2.0/core/facking.html
+2024-11-30T21:07:17.263Z
+
+
+https://kosi-libs.org/mockmp/2.0/core/helper.html
+2024-11-30T21:07:17.263Z
+
+
+https://kosi-libs.org/mockmp/2.0/core/injection.html
+2024-11-30T21:07:17.263Z
+
+
+https://kosi-libs.org/mockmp/2.0/core/mocking.html
+2024-11-30T21:07:17.263Z
+
+
+https://kosi-libs.org/mockmp/2.0/core/setup.html
+2024-11-30T21:07:17.263Z
+
+
+https://kosi-libs.org/mockmp/2.0/getting-started.html
+2024-11-30T21:07:17.263Z
+
+
+https://kosi-libs.org/mockmp/2.0/index.html
+2024-11-30T21:07:17.263Z
+
+
+https://kosi-libs.org/mockmp/2.0/migration/1to2.html
+2024-11-30T21:07:17.263Z
+
+
https://kosi-libs.org/mockmp/1.17/core/facking.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/mockmp/1.17/core/helper.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/mockmp/1.17/core/injection.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/mockmp/1.17/core/mocking.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/mockmp/1.17/core/setup.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/mockmp/1.17/getting-started.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z
https://kosi-libs.org/mockmp/1.17/index.html
-2024-05-23T11:44:59.897Z
+2024-11-30T21:07:17.263Z