diff --git a/CHANGELOG.md b/CHANGELOG.md index 01b05fec..b77f71c9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +# v3.6.0 +* Remove scan +* Support custom/user scopes. +* Improve description for Component + # v3.5.2 * more improve speed diff --git a/DITranquillity.podspec b/DITranquillity.podspec index da12993f..7ac4300d 100644 --- a/DITranquillity.podspec +++ b/DITranquillity.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = 'DITranquillity' - s.version = '3.5.2' + s.version = '3.6.0' s.summary = 'DITranquillity - Dependency injection for iOS/macOS/tvOS (Swift) ' s.description = <<-DESC diff --git a/Documentation/code/Classes.html b/Documentation/code/Classes.html index 52c7907c..e91d7d59 100644 --- a/Documentation/code/Classes.html +++ b/Documentation/code/Classes.html @@ -14,7 +14,7 @@
-

DITranquillity Docs (91% documented)

+

DITranquillity Docs (89% documented)

View on GitHub

Install in Dash

@@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle - - - - + @@ -135,7 +155,7 @@ DIPart @@ -202,12 +222,12 @@

Classes

Declaration

Swift

-
public class InternalByTag<Tag, T> : IsTag
+
public class InternalByTag<Tag, T> : SpecificType
- Show on GitHub + Show on GitHub
@@ -232,12 +252,12 @@

Declaration

Declaration

Swift

-
public class InternalByMany<T> : IsMany
+
public class InternalByMany<T> : SpecificType
- Show on GitHub + Show on GitHub
@@ -262,12 +282,12 @@

Declaration

Declaration

Swift

-
public class InternalByManyInBundle<T> : IsMany
+
public class InternalByManyInBundle<T> : SpecificType
- Show on GitHub + Show on GitHub
@@ -292,12 +312,12 @@

Declaration

Declaration

Swift

-
public class InternalArg<T> : IsArg
+
public class InternalArg<T> : SpecificType
- Show on GitHub + Show on GitHub
@@ -371,7 +391,7 @@

Declaration

- Show on GitHub + Show on GitHub
@@ -542,9 +562,9 @@

Declaration

  • - - - DIScan + + + DIScope
    @@ -552,19 +572,20 @@

    Declaration

    -

    Base class for scan. It doesn’t make much sense to inherit from it. see: DIScanFramework and DIScanPart

    +

    Scopes need for control lifetime of your objects

    + See more

    Declaration

    Swift

    -
    open class DIScan
    +
    public class DIScope
    @@ -576,9 +597,9 @@

    Declaration

  • - - - DIScanFramework + + + DICacheStorage
    @@ -586,46 +607,30 @@

    Declaration

    -

    Allows you to find all frameworks marked as DIScanned in the application that satisfy certain characteristics: -predicate - allows you to check a framework type both by its name or using the type itself -Using:

    -
    class YourScanFramework: DIScanFramework {
    -  override class var predicate: Predicate? { return .name({ $0.contains("ScannedFramework") }) }
    -}
    -
    +

    Contains objects in dictionary by keys

    -

    OR

    -
    class YourScanFramework: DIScanFramework {
    -  override class var predicate: Predicate? { return .type({ $0 is YourCustomFrameworkBase.Type }) }
    -}
    -
    - - See more + See more

    Declaration

    Swift

    -
    open class DIScanFramework : DIScan, DIFramework
    +
    public class DICacheStorage : DIStorage
  • - - -
    -
    diff --git a/Documentation/code/Classes/DIScanFramework.html b/Documentation/code/Classes/DICacheStorage.html similarity index 63% rename from Documentation/code/Classes/DIScanFramework.html rename to Documentation/code/Classes/DICacheStorage.html index 032f720d..0e1e0a6d 100644 --- a/Documentation/code/Classes/DIScanFramework.html +++ b/Documentation/code/Classes/DICacheStorage.html @@ -1,7 +1,7 @@ - DIScanFramework Class Reference + DICacheStorage Class Reference @@ -10,11 +10,11 @@ - - + +
    @@ -23,7 +23,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle - - - - + @@ -135,7 +155,7 @@ DIPart @@ -175,26 +195,14 @@
    -

    DIScanFramework

    +

    DICacheStorage

    -
    open class DIScanFramework : DIScan, DIFramework
    +
    public class DICacheStorage : DIStorage
    -

    Allows you to find all frameworks marked as DIScanned in the application that satisfy certain characteristics: -predicate - allows you to check a framework type both by its name or using the type itself -Using:

    -
    class YourScanFramework: DIScanFramework {
    -  override class var predicate: Predicate? { return .name({ $0.contains("ScannedFramework") }) }
    -}
    -
    - -

    OR

    -
    class YourScanFramework: DIScanFramework {
    -  override class var predicate: Predicate? { return .type({ $0 is YourCustomFrameworkBase.Type }) }
    -}
    -
    +

    Contains objects in dictionary by keys

    @@ -203,9 +211,9 @@

    DIScanFramework

  • - - - Predicate + + + init()
    @@ -213,25 +221,19 @@

    DIScanFramework

    -

    Variants of the predicate on the basis of which these frameworks will be included.

    - -
      -
    • type->Bool: Allows you to specify method that will filter a frameworks by type.
    • -
    • name->Bool: Allows you to specify method that will filter a frameworks by name.
    • -
    +

    Undocumented

    - See more

    Declaration

    Swift

    -
    public enum Predicate
    +
    public init()
    @@ -239,9 +241,9 @@

    Declaration

  • - - - predicate + + + fetch(key:)
    @@ -249,19 +251,18 @@

    Declaration

    -

    Predicate on the basis of which these frameworks will be included.

    - +

    Declaration

    Swift

    -
    open class var predicate: Predicate? { get }
    +
    public func fetch(key: DIComponentInfo) -> Any?
    @@ -269,9 +270,9 @@

    Declaration

  • @@ -279,19 +280,47 @@

    Declaration

    -

    implementation of the function for scan.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func save(object: Any, by key: DIComponentInfo)
    +
    +
    + +
    +
    +
  • +
  • +
    + + + + clean() + +
    +
    +
    +
    +
    +
    +

    Declaration

    Swift

    -
    public static func load(container: DIContainer)
    +
    public func clean()
    @@ -301,8 +330,8 @@

    Declaration

  • diff --git a/Documentation/code/Classes/DIComponentBuilder.html b/Documentation/code/Classes/DIComponentBuilder.html index b7d60996..9415053a 100644 --- a/Documentation/code/Classes/DIComponentBuilder.html +++ b/Documentation/code/Classes/DIComponentBuilder.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle - - - - + @@ -135,7 +155,7 @@ DIPart @@ -193,9 +213,9 @@

    DIComponentBuilder

  • - + - injection(_:) + injection(_:)
    @@ -252,9 +272,9 @@

    Return Value

  • - + - injection(_:) + injection(_:)
    @@ -311,9 +331,9 @@

    Return Value

  • - + - injection(_:) + injection(_:)
    @@ -370,9 +390,9 @@

    Return Value

  • - + - injection(_:) + injection(_:)
    @@ -429,9 +449,9 @@

    Return Value

  • - + - injection(_:) + injection(_:)
    @@ -488,9 +508,9 @@

    Return Value

  • - + - injection(_:) + injection(_:)
    @@ -547,9 +567,9 @@

    Return Value

  • - + - injection(_:) + injection(_:)
    @@ -617,9 +637,9 @@

    contains `as` functions

  • - + - as(_:) + as(_:)
    @@ -675,9 +695,9 @@

    Return Value

  • - + - as(_:tag:) + as(_:tag:)
    @@ -745,9 +765,9 @@

    Return Value

  • - + - as(_:name:) + as(_:name:)
    @@ -817,9 +837,9 @@

    Return Value

  • - + - as(check:_:) + as(check:_:)
    @@ -889,9 +909,9 @@

    Return Value

  • - + - as(check:tag:_:) + as(check:tag:_:)
    @@ -973,9 +993,9 @@

    Return Value

  • - + - as(check:name:_:) + as(check:name:_:)
    @@ -1070,9 +1090,9 @@

    contains `injection`, `postInit` functions

  • - + - injection(_:) + injection(_:)
    @@ -1131,9 +1151,9 @@

    Return Value

  • - + - injection(name:cycle:_:) + injection(name:cycle:_:)
    @@ -1231,9 +1251,9 @@

    Return Value

  • - + - injection(name:cycle:_:_:) + injection(name:cycle:_:_:)
    @@ -1263,7 +1283,8 @@

    Return Value

    Declaration

    Swift

    -
    @discardableResult
    +                          
    @available(swift 4.0)
    +@discardableResult
     public func injection<P, Property>(name: String? = nil, cycle: Bool = false, _ keyPath: ReferenceWritableKeyPath<Impl, P>, _ modificator: @escaping (Property) -> P) -> Self
    @@ -1336,9 +1357,9 @@

    Return Value

  • @@ -1368,7 +1389,8 @@

    Return Value

    Declaration

    Swift

    -
    @discardableResult
    +                          
    @available(swift 4.0)
    +@discardableResult
     public func injection<Property>(name: String? = nil, cycle: Bool = false, _ keyPath: ReferenceWritableKeyPath<Impl, Property>) -> Self
    @@ -1429,9 +1451,9 @@

    Return Value

  • @@ -1499,9 +1521,9 @@

    contains `lifetime` and `default` functions

  • @@ -1684,8 +1706,8 @@

    Return Value

    diff --git a/Documentation/code/Classes/DIScanPart.html b/Documentation/code/Classes/DICompositeStorage.html similarity index 61% rename from Documentation/code/Classes/DIScanPart.html rename to Documentation/code/Classes/DICompositeStorage.html index f684c2a7..8ef04399 100644 --- a/Documentation/code/Classes/DIScanPart.html +++ b/Documentation/code/Classes/DICompositeStorage.html @@ -1,7 +1,7 @@ - DIScanPart Class Reference + DICompositeStorage Class Reference @@ -10,11 +10,11 @@ - - + +
    @@ -23,7 +23,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle
  • - - - - + @@ -135,7 +155,7 @@ DIPart @@ -175,29 +195,14 @@
    -

    DIScanPart

    +

    DICompositeStorage

    -
    open class DIScanPart : DIScan, DIPart
    +
    public class DICompositeStorage : DIStorage
    -

    Allows you to find all parts marked as DIScanned in the application that satisfy certain characteristics: -predicate - allows you to check a part type both by its name or using the type itself -bundle - leaves only those parts that are in the specified bundle -Using:

    -
    class YourScanPart: DIScanPart {
    -  override class var predicate: Predicate? { return .name({ $0.contains("ScannedPart") }) }
    -  override class var bundle: Bundle? { return YourBundle() }
    -}
    -
    - -

    OR

    -
    class YourScanPart: DIScanPart {
    -  override class var predicate: Predicate? { return .type({ $0 is YourCustomPartBase.Type }) }
    -  override class var bundle: Bundle? { return Bundle(for: YourClass.self) }
    -}
    -
    +

    Unite few storages for fetch from first containing and save to all.

    @@ -206,9 +211,9 @@

    DIScanPart

  • @@ -216,25 +221,19 @@

    DIScanPart

    -

    Variants of the predicate on the basis of which these parts will be included.

    +

    Undocumented

    -
      -
    • type->Bool: Allows you to specify method that will filter a parts by type.
    • -
    • name->Bool: Allows you to specify method that will filter a parts by name.
    • -
    - - See more

    Declaration

    Swift

    -
    public enum Predicate
    +
    public init(storages: [DIStorage])
    @@ -242,9 +241,9 @@

    Declaration

  • - - - predicate + + + fetch(key:)
    @@ -252,19 +251,42 @@

    Declaration

    -

    Predicate on the basis of which these parts will be included.

    +

    Fetch object by key from first containing storage.

    Declaration

    Swift

    -
    open class var predicate: Predicate? { get }
    +
    public func fetch(key: DIComponentInfo) -> Any?
    +
    +

    Parameters

    + + + + + + + +
    + + key + + +
    +

    unique object identifier

    +
    +
    +
    +
    +

    Return Value

    +

    storaged object if there is

    +
    @@ -272,9 +294,9 @@

    Declaration

  • - - - bundle + + + save(object:by:)
    @@ -282,19 +304,50 @@

    Declaration

    -

    It allows you to cut off parts not belonging to the specified bundle.

    +

    Save object to all storages

    Declaration

    Swift

    -
    open class var bundle: Bundle? { get }
    +
    public func save(object: Any, by key: DIComponentInfo)
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + object + + +
    +

    object for save

    +
    +
    + + key + + +
    +

    unique object identifier

    +
    +
    +
    @@ -302,9 +355,9 @@

    Declaration

  • @@ -312,19 +365,19 @@

    Declaration

    -

    implementation of the function for scan.

    +

    Remove all save objects from all storages

    Declaration

    Swift

    -
    public static func load(container: DIContainer)
    +
    public func clean()
    @@ -334,8 +387,8 @@

    Declaration

  • diff --git a/Documentation/code/Classes/DIContainer.html b/Documentation/code/Classes/DIContainer.html index 7ecd39df..4817a9b4 100644 --- a/Documentation/code/Classes/DIContainer.html +++ b/Documentation/code/Classes/DIContainer.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle - - - - + @@ -135,7 +155,7 @@ DIPart @@ -193,9 +213,9 @@

    DIContainer

  • - - - init() + + + init(parent:)
    @@ -203,19 +223,38 @@

    DIContainer

    -

    Undocumented

    +

    Make entry point for library

    Declaration

    Swift

    -
    public init()
    +
    public init(parent: DIContainer? = nil)
    +
    +

    Parameters

    + + + + + + + +
    + + parent + + +
    +

    parent container. first there is an attempt resolve from self, after from parent. For many resolve from both and recursive

    +
    +
    +
    @@ -227,9 +266,9 @@

    Declaration

  • @@ -258,9 +297,9 @@

    Declaration

  • @@ -315,9 +354,9 @@

    Return Value

  • @@ -372,9 +411,9 @@

    Return Value

  • @@ -429,9 +468,9 @@

    Return Value

  • @@ -486,9 +525,9 @@

    Return Value

  • @@ -543,9 +582,9 @@

    Return Value

  • @@ -600,9 +639,9 @@

    Return Value

  • @@ -657,9 +696,9 @@

    Return Value

  • @@ -714,9 +753,9 @@

    Return Value

  • @@ -771,9 +810,9 @@

    Return Value

  • @@ -828,9 +867,9 @@

    Return Value

  • @@ -885,9 +924,9 @@

    Return Value

  • @@ -942,9 +981,9 @@

    Return Value

  • @@ -999,9 +1038,9 @@

    Return Value

  • @@ -1056,9 +1095,9 @@

    Return Value

  • @@ -1117,9 +1156,9 @@

    Return Value

  • @@ -1205,9 +1244,9 @@

    register

  • @@ -1255,7 +1294,7 @@

    Return Value

    component builder, to configure the component.

    @@ -1263,9 +1302,9 @@

    Return Value

  • @@ -1317,7 +1356,7 @@

    Return Value

    component builder, to configure the component.

    @@ -1336,9 +1375,9 @@

    resolve

  • @@ -1383,7 +1422,7 @@

    Return Value

    Object for the specified type, or nil (see description).

    @@ -1391,9 +1430,9 @@

    Return Value

  • @@ -1450,7 +1489,7 @@

    Return Value

    Object for the specified type with tag, or nil (see description).

    @@ -1458,9 +1497,9 @@

    Return Value

  • @@ -1517,7 +1556,7 @@

    Return Value

    Object for the specified type with name, or nil (see description).

    @@ -1551,7 +1590,7 @@

    Return Value

    Objects for the specified type.

    @@ -1559,9 +1598,9 @@

    Return Value

  • @@ -1613,7 +1652,7 @@

    Parameters

    @@ -1643,7 +1682,7 @@

    Declaration

    @@ -1684,7 +1723,7 @@

    Declaration

    @@ -1703,9 +1742,9 @@

    Validation

  • @@ -1749,7 +1788,7 @@

    Return Value

    true if validation success.

    @@ -1761,9 +1800,9 @@

    Return Value

  • @@ -1820,9 +1859,9 @@

    Return Value

  • @@ -1874,9 +1913,9 @@

    Parameters

  • @@ -1940,9 +1979,9 @@

    Storyboard maker

  • @@ -2029,8 +2068,8 @@

    Return Value

    diff --git a/Documentation/code/Classes/DIExtensions.html b/Documentation/code/Classes/DIExtensions.html index 938a567c..6f99ab49 100644 --- a/Documentation/code/Classes/DIExtensions.html +++ b/Documentation/code/Classes/DIExtensions.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle
  • - - - - + @@ -135,7 +155,7 @@ DIPart @@ -191,9 +211,9 @@

    DIExtensions

  • @@ -249,8 +269,8 @@

    Parameters

    diff --git a/Documentation/code/Classes/DIScanFramework/Predicate.html b/Documentation/code/Classes/DIScanFramework/Predicate.html deleted file mode 100644 index 98cf6a26..00000000 --- a/Documentation/code/Classes/DIScanFramework/Predicate.html +++ /dev/null @@ -1,268 +0,0 @@ - - - - Predicate Enumeration Reference - - - - - - - - - - -
    - -
    -
    - -
    -
    - -
    -
    -
    -

    Predicate

    -
    -
    -
    public enum Predicate
    - -
    -
    -

    Variants of the predicate on the basis of which these frameworks will be included.

    - -
      -
    • type->Bool: Allows you to specify method that will filter a frameworks by type.
    • -
    • name->Bool: Allows you to specify method that will filter a frameworks by name.
    • -
    - -
    -
    -
    -
      -
    • -
      - - - - type - -
      -
      -
      -
      -
      -
      -

      Undocumented

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      case type((DIFramework.Type) -> Bool)
      - -
      -
      - -
      -
      -
    • -
    • -
      - - - - name - -
      -
      -
      -
      -
      -
      -

      Undocumented

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      case name((String) -> Bool)
      - -
      -
      - -
      -
      -
    • -
    -
    -
    -
    - -
    -
    - - - diff --git a/Documentation/code/Classes/DIScanPart/Predicate.html b/Documentation/code/Classes/DIScanPart/Predicate.html deleted file mode 100644 index 85339344..00000000 --- a/Documentation/code/Classes/DIScanPart/Predicate.html +++ /dev/null @@ -1,268 +0,0 @@ - - - - Predicate Enumeration Reference - - - - - - - - - - -
    - -
    -
    - -
    -
    - -
    -
    -
    -

    Predicate

    -
    -
    -
    public enum Predicate
    - -
    -
    -

    Variants of the predicate on the basis of which these parts will be included.

    - -
      -
    • type->Bool: Allows you to specify method that will filter a parts by type.
    • -
    • name->Bool: Allows you to specify method that will filter a parts by name.
    • -
    - -
    -
    -
    -
      -
    • -
      - - - - type - -
      -
      -
      -
      -
      -
      -

      Undocumented

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      case type((DIPart.Type) -> Bool)
      - -
      -
      - -
      -
      -
    • -
    • -
      - - - - name - -
      -
      -
      -
      -
      -
      -

      Undocumented

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      case name((String) -> Bool)
      - -
      -
      - -
      -
      -
    • -
    -
    -
    -
    - -
    -
    - - - diff --git a/Documentation/code/Classes/DIScope.html b/Documentation/code/Classes/DIScope.html new file mode 100644 index 00000000..c4379499 --- /dev/null +++ b/Documentation/code/Classes/DIScope.html @@ -0,0 +1,401 @@ + + + + DIScope Class Reference + + + + + + + + + + +
    + +
    +
    + +
    +
    + +
    +
    +
    +

    DIScope

    +
    +
    +
    public class DIScope
    + +
    +
    +

    Scopes need for control lifetime of your objects

    + +
    +
    +
    +
      +
    • +
      + + + + name + +
      +
      +
      +
      +
      +
      +

      Scope name. Used in logging

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public let name: String
      + +
      +
      + +
      +
      +
    • +
    • + +
      +
      +
      +
      +
      +

      Make Scope. Scopes need for control lifetime of your objects

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public init(name: String, storage: DIStorage, policy: DILifeTime.ReferenceCounting = .strong, parent: DIScope? = nil)
      + +
      +
      +
      +

      Parameters

      + + + + + + + + + + + + + + + + + + + +
      + + name + + +
      +

      Scope name. need for logging

      +
      +
      + + storage + + +
      +

      data storing policy

      +
      +
      + + policy + + +
      +

      weak or strong. For weak policy DI wrapped objects use Weak class and save wrapped objects into storage.

      +
      +
      + + parent + + +
      +

      Checks the parent scope before making an object

      +
      +
      +
      + +
      +
      +
    • +
    • +
      + + + + clean() + +
      +
      +
      +
      +
      +
      +

      Remove all saved objects

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func clean()
      + +
      +
      + +
      +
      +
    • +
    +
    +
    +
      +
    • +
      + + + + description + +
      +
      +
      +
      +
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var description: String { get }
      + +
      +
      + +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + diff --git a/Documentation/code/Classes/DIStoryboard.html b/Documentation/code/Classes/DIStoryboard.html index c146c8f4..4456cf15 100644 --- a/Documentation/code/Classes/DIStoryboard.html +++ b/Documentation/code/Classes/DIStoryboard.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle
  • - - - - + @@ -135,7 +155,7 @@ DIPart @@ -259,9 +279,9 @@

    Return Value

  • @@ -412,8 +432,8 @@

    Return Value

    diff --git a/Documentation/code/Enums.html b/Documentation/code/Enums.html index 674c63df..619a097f 100644 --- a/Documentation/code/Enums.html +++ b/Documentation/code/Enums.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle
  • - - - - + @@ -135,7 +155,7 @@ DIPart @@ -185,9 +205,9 @@

    Enumerations

  • - - - DILogLevel + + + DILifeTime
    @@ -195,30 +215,34 @@

    Enumerations

    -

    Log levels. Needed for a better understanding of logs, and clipping

    +

    A object life time

    - See more + See more

    Declaration

    Swift

    -
    public enum DILogLevel : Equatable
    +
    public enum DILifeTime : Equatable
  • + + +
    +
    diff --git a/Documentation/code/Enums/DILifeTime.html b/Documentation/code/Enums/DILifeTime.html index 3c558c09..eee660ed 100644 --- a/Documentation/code/Enums/DILifeTime.html +++ b/Documentation/code/Enums/DILifeTime.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle - - - - + @@ -135,7 +155,7 @@ DIPart @@ -214,7 +234,7 @@

    Declaration

    @@ -222,9 +242,9 @@

    Declaration

  • - + - single + single
    @@ -244,7 +264,7 @@

    Declaration

    @@ -252,9 +272,9 @@

    Declaration

  • - - - perRun + + + perRun(_:)
    @@ -269,12 +289,12 @@

    Declaration

    Declaration

    Swift

    -
    case perRun(DILifeTime.ReferenceCounting)
    +
    case perRun(ReferenceCounting)
    @@ -282,9 +302,9 @@

    Declaration

  • @@ -299,12 +319,12 @@

    Declaration

    Declaration

    Swift

    -
    case perContainer(DILifeTime.ReferenceCounting)
    +
    case perContainer(ReferenceCounting)
    @@ -312,9 +332,9 @@

    Declaration

  • @@ -334,7 +354,7 @@

    Declaration

    @@ -342,9 +362,9 @@

    Declaration

  • @@ -364,7 +384,37 @@

    Declaration

    + + +
  • +
  • +
    + + + + custom(_:) + +
    +
    +
    +
    +
    +
    +

    Use user scope. For more information see DIScope

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case custom(DIScope)
    + +
    +
    +
    @@ -372,9 +422,9 @@

    Declaration

  • @@ -394,7 +444,7 @@

    Declaration

    @@ -402,9 +452,9 @@

    Declaration

  • @@ -424,7 +474,7 @@

    Declaration

    @@ -432,9 +482,9 @@

    Declaration

  • - + - ==(_:_:) + ==(_:_:)
    @@ -448,12 +498,12 @@

    Declaration

    Declaration

    Swift

    -
    public static func ==(lhs: DILifeTime, rhs: DILifeTime) -> Bool
    +
    public static func == (lhs: DILifeTime, rhs: DILifeTime) -> Bool
    @@ -463,8 +513,8 @@

    Declaration

    diff --git a/Documentation/code/Enums/DILifeTime/ReferenceCounting.html b/Documentation/code/Enums/DILifeTime/ReferenceCounting.html index 70bbe91b..b15b5fc9 100644 --- a/Documentation/code/Enums/DILifeTime/ReferenceCounting.html +++ b/Documentation/code/Enums/DILifeTime/ReferenceCounting.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle
  • - - - - + @@ -135,7 +155,7 @@ DIPart @@ -191,9 +211,9 @@

    ReferenceCounting

  • - + - weak + weak
    @@ -213,7 +233,7 @@

    Declaration

    @@ -221,9 +241,9 @@

    Declaration

  • - + - strong + strong
    @@ -243,7 +263,7 @@

    Declaration

    @@ -253,8 +273,8 @@

    Declaration

    diff --git a/Documentation/code/Enums/DILogLevel.html b/Documentation/code/Enums/DILogLevel.html index 59b150f7..defe4ae0 100644 --- a/Documentation/code/Enums/DILogLevel.html +++ b/Documentation/code/Enums/DILogLevel.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle
  • - - - - + @@ -135,7 +155,7 @@ DIPart @@ -191,9 +211,9 @@

    DILogLevel

  • - + - none + none
    @@ -221,9 +241,9 @@

    Declaration

  • - + - error + error
    @@ -251,9 +271,9 @@

    Declaration

  • - + - warning + warning
    @@ -281,9 +301,9 @@

    Declaration

  • - + - info + info
    @@ -311,9 +331,9 @@

    Declaration

  • - + - verbose + verbose
    @@ -343,8 +363,8 @@

    Declaration

    diff --git a/Documentation/code/Extensions.html b/Documentation/code/Extensions.html new file mode 100644 index 00000000..eda85457 --- /dev/null +++ b/Documentation/code/Extensions.html @@ -0,0 +1,350 @@ + + + + Extensions Reference + + + + + + + + + + +
    + +
    +
    + +
    +
    + +
    +
    +
    +

    Extensions

    +

    The following extensions are available globally.

    + +
    +
    +
    + +
    +
    +
    + +
    +
    + + + diff --git a/Documentation/code/Extensions/Lazy.html b/Documentation/code/Extensions/Lazy.html new file mode 100644 index 00000000..cc9d5dd9 --- /dev/null +++ b/Documentation/code/Extensions/Lazy.html @@ -0,0 +1,246 @@ + + + + Lazy Extension Reference + + + + + + + + + + +
    + +
    +
    + +
    +
    + +
    +
    +
    +

    Lazy

    + +
    +
    +
    +
      +
    • +
      + + + + init(file:line:) + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public convenience init(file: String = #file, line: UInt = #line)
      + +
      +
      + +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + diff --git a/Documentation/code/Extensions/Provider.html b/Documentation/code/Extensions/Provider.html new file mode 100644 index 00000000..f838aa7f --- /dev/null +++ b/Documentation/code/Extensions/Provider.html @@ -0,0 +1,246 @@ + + + + Provider Extension Reference + + + + + + + + + + +
    + +
    +
    + +
    +
    + +
    +
    +
    +

    Provider

    + +
    +
    +
    +
      +
    • +
      + + + + init(file:line:) + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public convenience init(file: String = #file, line: UInt = #line)
      + +
      +
      + +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + diff --git a/Documentation/code/Extensions/Provider1.html b/Documentation/code/Extensions/Provider1.html new file mode 100644 index 00000000..3731f0d5 --- /dev/null +++ b/Documentation/code/Extensions/Provider1.html @@ -0,0 +1,246 @@ + + + + Provider1 Extension Reference + + + + + + + + + + +
    + +
    +
    + +
    +
    + +
    +
    +
    +

    Provider1

    + +
    +
    +
    +
      +
    • +
      + + + + init(file:line:) + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public convenience init(file: String = #file, line: UInt = #line)
      + +
      +
      + +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + diff --git a/Documentation/code/Extensions/Provider2.html b/Documentation/code/Extensions/Provider2.html new file mode 100644 index 00000000..9f795efc --- /dev/null +++ b/Documentation/code/Extensions/Provider2.html @@ -0,0 +1,246 @@ + + + + Provider2 Extension Reference + + + + + + + + + + +
    + +
    +
    + +
    +
    + +
    +
    +
    +

    Provider2

    + +
    +
    +
    +
      +
    • +
      + + + + init(file:line:) + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public convenience init(file: String = #file, line: UInt = #line)
      + +
      +
      + +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + diff --git a/Documentation/code/Extensions/Provider3.html b/Documentation/code/Extensions/Provider3.html new file mode 100644 index 00000000..27388f52 --- /dev/null +++ b/Documentation/code/Extensions/Provider3.html @@ -0,0 +1,246 @@ + + + + Provider3 Extension Reference + + + + + + + + + + +
    + +
    +
    + +
    +
    + +
    +
    +
    +

    Provider3

    + +
    +
    +
    +
      +
    • +
      + + + + init(file:line:) + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public convenience init(file: String = #file, line: UInt = #line)
      + +
      +
      + +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + diff --git a/Documentation/code/Extensions/Provider4.html b/Documentation/code/Extensions/Provider4.html new file mode 100644 index 00000000..7907e7d4 --- /dev/null +++ b/Documentation/code/Extensions/Provider4.html @@ -0,0 +1,246 @@ + + + + Provider4 Extension Reference + + + + + + + + + + +
    + +
    +
    + +
    +
    + +
    +
    +
    +

    Provider4

    + +
    +
    +
    +
      +
    • +
      + + + + init(file:line:) + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public convenience init(file: String = #file, line: UInt = #line)
      + +
      +
      + +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + diff --git a/Documentation/code/Extensions/Provider5.html b/Documentation/code/Extensions/Provider5.html new file mode 100644 index 00000000..f8dc868f --- /dev/null +++ b/Documentation/code/Extensions/Provider5.html @@ -0,0 +1,246 @@ + + + + Provider5 Extension Reference + + + + + + + + + + +
    + +
    +
    + +
    +
    + +
    +
    +
    +

    Provider5

    + +
    +
    +
    +
      +
    • +
      + + + + init(file:line:) + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public convenience init(file: String = #file, line: UInt = #line)
      + +
      +
      + +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + diff --git a/Documentation/code/Functions.html b/Documentation/code/Functions.html index 80a48df6..acd2cd93 100644 --- a/Documentation/code/Functions.html +++ b/Documentation/code/Functions.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle
  • - - - - + @@ -135,7 +155,7 @@ DIPart @@ -185,9 +205,9 @@

    Functions

  • - + - *(_:) + *(_:)
    @@ -205,7 +225,7 @@

    Functions

    Declaration

    Swift

    -
    public prefix func *<T>(container: DIContainer) -> T
    +
    public prefix func * <T>(container: DIContainer) -> T
    @@ -245,9 +265,9 @@

    Return Value

  • @@ -317,9 +337,9 @@

    Return Value

  • @@ -389,9 +409,9 @@

    Return Value

  • @@ -461,9 +481,9 @@

    Return Value

  • - + - many(_:) + many(_:)
    @@ -521,9 +541,9 @@

    Return Value

  • @@ -581,9 +601,9 @@

    Return Value

  • - + - arg(_:) + arg(_:)
    @@ -659,8 +679,8 @@

    Return Value

    diff --git a/Documentation/code/Protocols.html b/Documentation/code/Protocols.html index e521b91f..16a70629 100644 --- a/Documentation/code/Protocols.html +++ b/Documentation/code/Protocols.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle
  • - - - - + @@ -135,7 +155,7 @@ DIPart @@ -185,9 +205,9 @@

    Protocols

  • - - - DIFramework + + + DIStorage
    @@ -195,22 +215,20 @@

    Protocols

    -

    Slight expansion over part. -Allows you to express more expressively the entry point to the framework of you application. -It isn’t necessary to create several such classses on one framework - it willn’t be convenient.

    +

    Universal protocol for contains objects by key

    - See more + See more

    Declaration

    Swift

    -
    public protocol DIFramework : AnyObject
    +
    public protocol DIStorage
    @@ -222,9 +240,9 @@

    Declaration

  • - - - DIPart + + + DIFramework
    @@ -232,22 +250,22 @@

    Declaration

    -

    Class to maintain code hierarchy. -It’s necessary for it to be convenient to combine some parts of the system into one common class, -and in future to include the part, rather than some list components.

    +

    Slight expansion over part. +Allows you to express more expressively the entry point to the framework of you application. +It isn’t necessary to create several such classses on one framework - it willn’t be convenient.

    - See more + See more

    Declaration

    Swift

    -
    public protocol DIPart : AnyObject
    +
    public protocol DIFramework : AnyObject
    @@ -259,9 +277,9 @@

    Declaration

  • - - - DIScanned + + + DIPart
    @@ -269,20 +287,22 @@

    Declaration

    -

    Protocol to indicate which classes should be included in scan. -Don’t use this opportunity thoughtlessly - use it only if you don’t know in advance number of parts or frameworks in the application.

    +

    Class to maintain code hierarchy. +It’s necessary for it to be convenient to combine some parts of the system into one common class, +and in future to include the part, rather than some list components.

    + See more

    Declaration

    Swift

    -
    public protocol DIScanned
    +
    public protocol DIPart : AnyObject
    @@ -292,8 +312,8 @@

    Declaration

    diff --git a/Documentation/code/Protocols/DIFramework.html b/Documentation/code/Protocols/DIFramework.html index d17ae9ac..3d752476 100644 --- a/Documentation/code/Protocols/DIFramework.html +++ b/Documentation/code/Protocols/DIFramework.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle
  • - - - - + @@ -135,7 +155,7 @@ DIPart @@ -193,9 +213,9 @@

    DIFramework

  • - + - bundle + bundle Default implementation @@ -237,9 +257,9 @@

    Declaration

  • @@ -290,8 +310,8 @@

    Parameters

    diff --git a/Documentation/code/Protocols/DIPart.html b/Documentation/code/Protocols/DIPart.html index fef10562..1f773ae2 100644 --- a/Documentation/code/Protocols/DIPart.html +++ b/Documentation/code/Protocols/DIPart.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle
  • - - - - + @@ -135,7 +155,7 @@ DIPart @@ -193,9 +213,9 @@

    DIPart

  • @@ -246,8 +266,8 @@

    Parameters

    diff --git a/Documentation/code/Protocols/DIStorage.html b/Documentation/code/Protocols/DIStorage.html new file mode 100644 index 00000000..257719da --- /dev/null +++ b/Documentation/code/Protocols/DIStorage.html @@ -0,0 +1,367 @@ + + + + DIStorage Protocol Reference + + + + + + + + + + +
    + +
    +
    + +
    +
    + +
    +
    +
    +

    DIStorage

    +
    +
    +
    public protocol DIStorage
    + +
    +
    +

    Universal protocol for contains objects by key

    + +
    +
    +
    +
      +
    • +
      + + + + fetch(key:) + +
      +
      +
      +
      +
      +
      +

      Return storaged object if there is.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      func fetch(key: DIComponentInfo) -> Any?
      + +
      +
      +
      +

      Parameters

      + + + + + + + +
      + + key + + +
      +

      Unique object identifier

      +
      +
      +
      +
      +

      Return Value

      +

      storaged object if there is

      +
      + +
      +
      +
    • +
    • +
      + + + + save(object:by:) + +
      +
      +
      +
      +
      +
      +

      Save object to storage.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      func save(object: Any, by key: DIComponentInfo)
      + +
      +
      +
      +

      Parameters

      + + + + + + + + + + + +
      + + object + + +
      +

      object for save

      +
      +
      + + key + + +
      +

      unique object identifier for save and future fetch.

      +
      +
      +
      + +
      +
      +
    • +
    • +
      + + + + clean() + +
      +
      +
      +
      +
      +
      +

      Remove all save objects in storage

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      func clean()
      + +
      +
      + +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + diff --git a/Documentation/code/Structs.html b/Documentation/code/Structs.html index 2924b186..7438a56e 100644 --- a/Documentation/code/Structs.html +++ b/Documentation/code/Structs.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle
  • - - - - + @@ -135,7 +155,7 @@ DIPart @@ -253,8 +273,8 @@

    Declaration

    diff --git a/Documentation/code/Structs/DIComponentInfo.html b/Documentation/code/Structs/DIComponentInfo.html index 7fb45a52..5f1d8c09 100644 --- a/Documentation/code/Structs/DIComponentInfo.html +++ b/Documentation/code/Structs/DIComponentInfo.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle - - - - + @@ -135,7 +155,7 @@ DIPart @@ -191,9 +211,9 @@

    DIComponentInfo

  • - + - type + type
    @@ -221,9 +241,9 @@

    Declaration

  • - + - file + file
    @@ -251,9 +271,9 @@

    Declaration

  • - + - line + line
    @@ -281,9 +301,9 @@

    Declaration

  • @@ -310,9 +330,9 @@

    Declaration

  • - + - ==(_:_:) + ==(_:_:)
    @@ -326,7 +346,7 @@

    Declaration

    Declaration

    Swift

    -
    public static func ==(lhs: DIComponentInfo, rhs: DIComponentInfo) -> Bool
    +
    public static func == (lhs: DIComponentInfo, rhs: DIComponentInfo) -> Bool
    @@ -339,9 +359,9 @@

    Declaration

  • @@ -370,8 +390,8 @@

    Declaration

    diff --git a/Documentation/code/Structs/DISetting.html b/Documentation/code/Structs/DISetting.html index 2f2df374..0a382082 100644 --- a/Documentation/code/Structs/DISetting.html +++ b/Documentation/code/Structs/DISetting.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle
  • - - - - + @@ -135,7 +155,7 @@ DIPart @@ -255,8 +275,8 @@

    Declaration

    diff --git a/Documentation/code/Structs/DISetting/Defaults.html b/Documentation/code/Structs/DISetting/Defaults.html index c913bb48..f2737f79 100644 --- a/Documentation/code/Structs/DISetting/Defaults.html +++ b/Documentation/code/Structs/DISetting/Defaults.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle - - - - + @@ -135,7 +155,7 @@ DIPart @@ -191,9 +211,9 @@

    Defaults

  • - + - lifeTime + lifeTime
    @@ -221,9 +241,9 @@

    Declaration

  • @@ -260,8 +280,8 @@

    Declaration

    diff --git a/Documentation/code/Structs/DISetting/Log.html b/Documentation/code/Structs/DISetting/Log.html index 42d2f172..ce55e3b8 100644 --- a/Documentation/code/Structs/DISetting/Log.html +++ b/Documentation/code/Structs/DISetting/Log.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle
  • - - - - + @@ -135,7 +155,7 @@ DIPart @@ -191,9 +211,9 @@

    Log

  • - + - fun + fun
    @@ -221,9 +241,9 @@

    Declaration

  • - + - level + level
    @@ -251,9 +271,9 @@

    Declaration

  • - + - tab + tab
    @@ -283,8 +303,8 @@

    Declaration

    diff --git a/Documentation/code/Typealiases.html b/Documentation/code/Typealiases.html index b966f51a..81f399f8 100644 --- a/Documentation/code/Typealiases.html +++ b/Documentation/code/Typealiases.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle
  • - - - - + @@ -135,7 +155,7 @@ DIPart @@ -277,8 +297,8 @@

    Declaration

    diff --git a/Documentation/code/badge.svg b/Documentation/code/badge.svg index 64e24db5..b28dab66 100644 --- a/Documentation/code/badge.svg +++ b/Documentation/code/badge.svg @@ -8,7 +8,7 @@ - + @@ -19,10 +19,10 @@ documentation - 91% + 89% - 91% + 89% diff --git a/Documentation/code/css/jazzy.css b/Documentation/code/css/jazzy.css index d6282826..a9828921 100644 --- a/Documentation/code/css/jazzy.css +++ b/Documentation/code/css/jazzy.css @@ -150,7 +150,7 @@ header { margin-left: 246px; position: absolute; overflow: hidden; - padding-bottom: 60px; + padding-bottom: 20px; top: 70px; width: 734px; } .main-content p, .main-content a, .main-content code, .main-content em, .main-content ul, .main-content table, .main-content blockquote { @@ -216,10 +216,12 @@ header { .item code { background-color: transparent; padding: 0; } - .item .token { + .item .token, .item .direct-link { padding-left: 3px; margin-left: 15px; font-size: 11.9px; } + .item .discouraged { + text-decoration: line-through; } .item .declaration-note { font-size: .85em; color: gray; @@ -283,9 +285,9 @@ header { .language .aside-title { color: #4b8afb; } -.aside-warning { +.aside-warning, .aside-deprecated, .aside-unavailable { border-left: 5px solid #ff6666; } - .aside-warning .aside-title { + .aside-warning .aside-title, .aside-deprecated .aside-title, .aside-unavailable .aside-title { color: #ff0000; } .graybox { @@ -310,8 +312,9 @@ header { font-size: 0.9em; } #footer { - position: absolute; - bottom: 10px; + position: relative; + top: 10px; + bottom: 0px; margin-left: 25px; } #footer p { margin: 0; diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes.html index 52c7907c..e91d7d59 100644 --- a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes.html +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle - - - - + @@ -135,7 +155,7 @@ DIPart @@ -202,12 +222,12 @@

    Classes

    Declaration

    Swift

    -
    public class InternalByTag<Tag, T> : IsTag
    +
    public class InternalByTag<Tag, T> : SpecificType
    @@ -232,12 +252,12 @@

    Declaration

    Declaration

    Swift

    -
    public class InternalByMany<T> : IsMany
    +
    public class InternalByMany<T> : SpecificType
    @@ -262,12 +282,12 @@

    Declaration

    Declaration

    Swift

    -
    public class InternalByManyInBundle<T> : IsMany
    +
    public class InternalByManyInBundle<T> : SpecificType
    @@ -292,12 +312,12 @@

    Declaration

    Declaration

    Swift

    -
    public class InternalArg<T> : IsArg
    +
    public class InternalArg<T> : SpecificType
    @@ -371,7 +391,7 @@

    Declaration

    @@ -542,9 +562,9 @@

    Declaration

  • - - - DIScan + + + DIScope
    @@ -552,19 +572,20 @@

    Declaration

    -

    Base class for scan. It doesn’t make much sense to inherit from it. see: DIScanFramework and DIScanPart

    +

    Scopes need for control lifetime of your objects

    + See more

    Declaration

    Swift

    -
    open class DIScan
    +
    public class DIScope
    @@ -576,9 +597,9 @@

    Declaration

  • @@ -586,46 +607,30 @@

    Declaration

    -

    Allows you to find all frameworks marked as DIScanned in the application that satisfy certain characteristics: -predicate - allows you to check a framework type both by its name or using the type itself -Using:

    -
    class YourScanFramework: DIScanFramework {
    -  override class var predicate: Predicate? { return .name({ $0.contains("ScannedFramework") }) }
    -}
    -
    +

    Contains objects in dictionary by keys

    -

    OR

    -
    class YourScanFramework: DIScanFramework {
    -  override class var predicate: Predicate? { return .type({ $0 is YourCustomFrameworkBase.Type }) }
    -}
    -
    - - See more + See more

    Declaration

    Swift

    -
    open class DIScanFramework : DIScan, DIFramework
    +
    public class DICacheStorage : DIStorage
  • - - -
    -
    • @@ -633,35 +638,20 @@

      Declaration

      -

      Allows you to find all parts marked as DIScanned in the application that satisfy certain characteristics: -predicate - allows you to check a part type both by its name or using the type itself -bundle - leaves only those parts that are in the specified bundle -Using:

      -
      class YourScanPart: DIScanPart {
      -  override class var predicate: Predicate? { return .name({ $0.contains("ScannedPart") }) }
      -  override class var bundle: Bundle? { return YourBundle() }
      -}
      -
      - -

      OR

      -
      class YourScanPart: DIScanPart {
      -  override class var predicate: Predicate? { return .type({ $0 is YourCustomPartBase.Type }) }
      -  override class var bundle: Bundle? { return Bundle(for: YourClass.self) }
      -}
      -
      +

      Unite few storages for fetch from first containing and save to all.

      - See more + See more

      Declaration

      Swift

      -
      open class DIScanPart : DIScan, DIPart
      +
      public class DICompositeStorage : DIStorage
      @@ -707,8 +697,8 @@

      Declaration

    diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIScanFramework.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DICacheStorage.html similarity index 63% rename from Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIScanFramework.html rename to Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DICacheStorage.html index 032f720d..0e1e0a6d 100644 --- a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIScanFramework.html +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DICacheStorage.html @@ -1,7 +1,7 @@ - DIScanFramework Class Reference + DICacheStorage Class Reference @@ -10,11 +10,11 @@ - - + +
    @@ -23,7 +23,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle - - - - + @@ -135,7 +155,7 @@ DIPart @@ -175,26 +195,14 @@
    -

    DIScanFramework

    +

    DICacheStorage

    -
    open class DIScanFramework : DIScan, DIFramework
    +
    public class DICacheStorage : DIStorage
    -

    Allows you to find all frameworks marked as DIScanned in the application that satisfy certain characteristics: -predicate - allows you to check a framework type both by its name or using the type itself -Using:

    -
    class YourScanFramework: DIScanFramework {
    -  override class var predicate: Predicate? { return .name({ $0.contains("ScannedFramework") }) }
    -}
    -
    - -

    OR

    -
    class YourScanFramework: DIScanFramework {
    -  override class var predicate: Predicate? { return .type({ $0 is YourCustomFrameworkBase.Type }) }
    -}
    -
    +

    Contains objects in dictionary by keys

    @@ -203,9 +211,9 @@

    DIScanFramework

  • - - - Predicate + + + init()
    @@ -213,25 +221,19 @@

    DIScanFramework

    -

    Variants of the predicate on the basis of which these frameworks will be included.

    - -
      -
    • type->Bool: Allows you to specify method that will filter a frameworks by type.
    • -
    • name->Bool: Allows you to specify method that will filter a frameworks by name.
    • -
    +

    Undocumented

    - See more

    Declaration

    Swift

    -
    public enum Predicate
    +
    public init()
    @@ -239,9 +241,9 @@

    Declaration

  • - - - predicate + + + fetch(key:)
    @@ -249,19 +251,18 @@

    Declaration

    -

    Predicate on the basis of which these frameworks will be included.

    - +

    Declaration

    Swift

    -
    open class var predicate: Predicate? { get }
    +
    public func fetch(key: DIComponentInfo) -> Any?
    @@ -269,9 +270,9 @@

    Declaration

  • @@ -279,19 +280,47 @@

    Declaration

    -

    implementation of the function for scan.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public func save(object: Any, by key: DIComponentInfo)
    +
    +
    + +
    +
    +
  • +
  • +
    + + + + clean() + +
    +
    +
    +
    +
    +
    +

    Declaration

    Swift

    -
    public static func load(container: DIContainer)
    +
    public func clean()
    @@ -301,8 +330,8 @@

    Declaration

  • diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIComponentBuilder.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIComponentBuilder.html index b7d60996..9415053a 100644 --- a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIComponentBuilder.html +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIComponentBuilder.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle - - - - + @@ -135,7 +155,7 @@ DIPart @@ -193,9 +213,9 @@

    DIComponentBuilder

  • @@ -252,9 +272,9 @@

    Return Value

  • @@ -311,9 +331,9 @@

    Return Value

  • @@ -370,9 +390,9 @@

    Return Value

  • @@ -429,9 +449,9 @@

    Return Value

  • @@ -488,9 +508,9 @@

    Return Value

  • @@ -547,9 +567,9 @@

    Return Value

  • @@ -617,9 +637,9 @@

    contains `as` functions

  • - + - as(_:) + as(_:)
    @@ -675,9 +695,9 @@

    Return Value

  • @@ -745,9 +765,9 @@

    Return Value

  • @@ -817,9 +837,9 @@

    Return Value

  • @@ -889,9 +909,9 @@

    Return Value

  • @@ -973,9 +993,9 @@

    Return Value

  • @@ -1070,9 +1090,9 @@

    contains `injection`, `postInit` functions

  • @@ -1131,9 +1151,9 @@

    Return Value

  • @@ -1231,9 +1251,9 @@

    Return Value

  • @@ -1263,7 +1283,8 @@

    Return Value

    Declaration

    Swift

    -
    @discardableResult
    +                          
    @available(swift 4.0)
    +@discardableResult
     public func injection<P, Property>(name: String? = nil, cycle: Bool = false, _ keyPath: ReferenceWritableKeyPath<Impl, P>, _ modificator: @escaping (Property) -> P) -> Self
    @@ -1336,9 +1357,9 @@

    Return Value

  • @@ -1368,7 +1389,8 @@

    Return Value

    Declaration

    Swift

    -
    @discardableResult
    +                          
    @available(swift 4.0)
    +@discardableResult
     public func injection<Property>(name: String? = nil, cycle: Bool = false, _ keyPath: ReferenceWritableKeyPath<Impl, Property>) -> Self
    @@ -1429,9 +1451,9 @@

    Return Value

  • @@ -1499,9 +1521,9 @@

    contains `lifetime` and `default` functions

  • @@ -1684,8 +1706,8 @@

    Return Value

    diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIScanPart.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DICompositeStorage.html similarity index 61% rename from Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIScanPart.html rename to Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DICompositeStorage.html index f684c2a7..8ef04399 100644 --- a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIScanPart.html +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DICompositeStorage.html @@ -1,7 +1,7 @@ - DIScanPart Class Reference + DICompositeStorage Class Reference @@ -10,11 +10,11 @@ - - + +
    @@ -23,7 +23,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle
  • - - - - + @@ -135,7 +155,7 @@ DIPart @@ -175,29 +195,14 @@
    -

    DIScanPart

    +

    DICompositeStorage

    -
    open class DIScanPart : DIScan, DIPart
    +
    public class DICompositeStorage : DIStorage
    -

    Allows you to find all parts marked as DIScanned in the application that satisfy certain characteristics: -predicate - allows you to check a part type both by its name or using the type itself -bundle - leaves only those parts that are in the specified bundle -Using:

    -
    class YourScanPart: DIScanPart {
    -  override class var predicate: Predicate? { return .name({ $0.contains("ScannedPart") }) }
    -  override class var bundle: Bundle? { return YourBundle() }
    -}
    -
    - -

    OR

    -
    class YourScanPart: DIScanPart {
    -  override class var predicate: Predicate? { return .type({ $0 is YourCustomPartBase.Type }) }
    -  override class var bundle: Bundle? { return Bundle(for: YourClass.self) }
    -}
    -
    +

    Unite few storages for fetch from first containing and save to all.

    @@ -206,9 +211,9 @@

    DIScanPart

  • @@ -216,25 +221,19 @@

    DIScanPart

    -

    Variants of the predicate on the basis of which these parts will be included.

    +

    Undocumented

    -
      -
    • type->Bool: Allows you to specify method that will filter a parts by type.
    • -
    • name->Bool: Allows you to specify method that will filter a parts by name.
    • -
    - - See more

    Declaration

    Swift

    -
    public enum Predicate
    +
    public init(storages: [DIStorage])
    @@ -242,9 +241,9 @@

    Declaration

  • - - - predicate + + + fetch(key:)
    @@ -252,19 +251,42 @@

    Declaration

    -

    Predicate on the basis of which these parts will be included.

    +

    Fetch object by key from first containing storage.

    Declaration

    Swift

    -
    open class var predicate: Predicate? { get }
    +
    public func fetch(key: DIComponentInfo) -> Any?
    +
    +

    Parameters

    + + + + + + + +
    + + key + + +
    +

    unique object identifier

    +
    +
    +
    +
    +

    Return Value

    +

    storaged object if there is

    +
    @@ -272,9 +294,9 @@

    Declaration

  • - - - bundle + + + save(object:by:)
    @@ -282,19 +304,50 @@

    Declaration

    -

    It allows you to cut off parts not belonging to the specified bundle.

    +

    Save object to all storages

    Declaration

    Swift

    -
    open class var bundle: Bundle? { get }
    +
    public func save(object: Any, by key: DIComponentInfo)
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + object + + +
    +

    object for save

    +
    +
    + + key + + +
    +

    unique object identifier

    +
    +
    +
    @@ -302,9 +355,9 @@

    Declaration

  • @@ -312,19 +365,19 @@

    Declaration

    -

    implementation of the function for scan.

    +

    Remove all save objects from all storages

    Declaration

    Swift

    -
    public static func load(container: DIContainer)
    +
    public func clean()
    @@ -334,8 +387,8 @@

    Declaration

  • diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIContainer.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIContainer.html index 7ecd39df..4817a9b4 100644 --- a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIContainer.html +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIContainer.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle - - - - + @@ -135,7 +155,7 @@ DIPart @@ -193,9 +213,9 @@

    DIContainer

  • - - - init() + + + init(parent:)
    @@ -203,19 +223,38 @@

    DIContainer

    -

    Undocumented

    +

    Make entry point for library

    Declaration

    Swift

    -
    public init()
    +
    public init(parent: DIContainer? = nil)
    +
    +

    Parameters

    + + + + + + + +
    + + parent + + +
    +

    parent container. first there is an attempt resolve from self, after from parent. For many resolve from both and recursive

    +
    +
    +
    @@ -227,9 +266,9 @@

    Declaration

  • @@ -258,9 +297,9 @@

    Declaration

  • @@ -315,9 +354,9 @@

    Return Value

  • @@ -372,9 +411,9 @@

    Return Value

  • @@ -429,9 +468,9 @@

    Return Value

  • @@ -486,9 +525,9 @@

    Return Value

  • @@ -543,9 +582,9 @@

    Return Value

  • @@ -600,9 +639,9 @@

    Return Value

  • @@ -657,9 +696,9 @@

    Return Value

  • @@ -714,9 +753,9 @@

    Return Value

  • @@ -771,9 +810,9 @@

    Return Value

  • @@ -828,9 +867,9 @@

    Return Value

  • @@ -885,9 +924,9 @@

    Return Value

  • @@ -942,9 +981,9 @@

    Return Value

  • @@ -999,9 +1038,9 @@

    Return Value

  • @@ -1056,9 +1095,9 @@

    Return Value

  • @@ -1117,9 +1156,9 @@

    Return Value

  • @@ -1205,9 +1244,9 @@

    register

  • @@ -1255,7 +1294,7 @@

    Return Value

    component builder, to configure the component.

    @@ -1263,9 +1302,9 @@

    Return Value

  • @@ -1317,7 +1356,7 @@

    Return Value

    component builder, to configure the component.

    @@ -1336,9 +1375,9 @@

    resolve

  • @@ -1383,7 +1422,7 @@

    Return Value

    Object for the specified type, or nil (see description).

    @@ -1391,9 +1430,9 @@

    Return Value

  • @@ -1450,7 +1489,7 @@

    Return Value

    Object for the specified type with tag, or nil (see description).

    @@ -1458,9 +1497,9 @@

    Return Value

  • @@ -1517,7 +1556,7 @@

    Return Value

    Object for the specified type with name, or nil (see description).

    @@ -1551,7 +1590,7 @@

    Return Value

    Objects for the specified type.

    @@ -1559,9 +1598,9 @@

    Return Value

  • @@ -1613,7 +1652,7 @@

    Parameters

    @@ -1643,7 +1682,7 @@

    Declaration

    @@ -1684,7 +1723,7 @@

    Declaration

    @@ -1703,9 +1742,9 @@

    Validation

  • @@ -1749,7 +1788,7 @@

    Return Value

    true if validation success.

    @@ -1761,9 +1800,9 @@

    Return Value

  • @@ -1820,9 +1859,9 @@

    Return Value

  • @@ -1874,9 +1913,9 @@

    Parameters

  • @@ -1940,9 +1979,9 @@

    Storyboard maker

  • @@ -2029,8 +2068,8 @@

    Return Value

    diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIExtensions.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIExtensions.html index 938a567c..6f99ab49 100644 --- a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIExtensions.html +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIExtensions.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle
  • - - - - + @@ -135,7 +155,7 @@ DIPart @@ -191,9 +211,9 @@

    DIExtensions

  • @@ -249,8 +269,8 @@

    Parameters

    diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIScanFramework/Predicate.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIScanFramework/Predicate.html deleted file mode 100644 index 98cf6a26..00000000 --- a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIScanFramework/Predicate.html +++ /dev/null @@ -1,268 +0,0 @@ - - - - Predicate Enumeration Reference - - - - - - - - - - -
    - -
    -
    - -
    -
    - -
    -
    -
    -

    Predicate

    -
    -
    -
    public enum Predicate
    - -
    -
    -

    Variants of the predicate on the basis of which these frameworks will be included.

    - -
      -
    • type->Bool: Allows you to specify method that will filter a frameworks by type.
    • -
    • name->Bool: Allows you to specify method that will filter a frameworks by name.
    • -
    - -
    -
    -
    -
      -
    • -
      - - - - type - -
      -
      -
      -
      -
      -
      -

      Undocumented

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      case type((DIFramework.Type) -> Bool)
      - -
      -
      - -
      -
      -
    • -
    • -
      - - - - name - -
      -
      -
      -
      -
      -
      -

      Undocumented

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      case name((String) -> Bool)
      - -
      -
      - -
      -
      -
    • -
    -
    -
    -
    - -
    -
    - - - diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIScanPart/Predicate.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIScanPart/Predicate.html deleted file mode 100644 index 85339344..00000000 --- a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIScanPart/Predicate.html +++ /dev/null @@ -1,268 +0,0 @@ - - - - Predicate Enumeration Reference - - - - - - - - - - -
    - -
    -
    - -
    -
    - -
    -
    -
    -

    Predicate

    -
    -
    -
    public enum Predicate
    - -
    -
    -

    Variants of the predicate on the basis of which these parts will be included.

    - -
      -
    • type->Bool: Allows you to specify method that will filter a parts by type.
    • -
    • name->Bool: Allows you to specify method that will filter a parts by name.
    • -
    - -
    -
    -
    -
      -
    • -
      - - - - type - -
      -
      -
      -
      -
      -
      -

      Undocumented

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      case type((DIPart.Type) -> Bool)
      - -
      -
      - -
      -
      -
    • -
    • -
      - - - - name - -
      -
      -
      -
      -
      -
      -

      Undocumented

      - -
      -
      -

      Declaration

      -
      -

      Swift

      -
      case name((String) -> Bool)
      - -
      -
      - -
      -
      -
    • -
    -
    -
    -
    - -
    -
    - - - diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIScope.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIScope.html new file mode 100644 index 00000000..c4379499 --- /dev/null +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIScope.html @@ -0,0 +1,401 @@ + + + + DIScope Class Reference + + + + + + + + + + +
    + +
    +
    + +
    +
    + +
    +
    +
    +

    DIScope

    +
    +
    +
    public class DIScope
    + +
    +
    +

    Scopes need for control lifetime of your objects

    + +
    +
    +
    +
      +
    • +
      + + + + name + +
      +
      +
      +
      +
      +
      +

      Scope name. Used in logging

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public let name: String
      + +
      +
      + +
      +
      +
    • +
    • + +
      +
      +
      +
      +
      +

      Make Scope. Scopes need for control lifetime of your objects

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public init(name: String, storage: DIStorage, policy: DILifeTime.ReferenceCounting = .strong, parent: DIScope? = nil)
      + +
      +
      +
      +

      Parameters

      + + + + + + + + + + + + + + + + + + + +
      + + name + + +
      +

      Scope name. need for logging

      +
      +
      + + storage + + +
      +

      data storing policy

      +
      +
      + + policy + + +
      +

      weak or strong. For weak policy DI wrapped objects use Weak class and save wrapped objects into storage.

      +
      +
      + + parent + + +
      +

      Checks the parent scope before making an object

      +
      +
      +
      + +
      +
      +
    • +
    • +
      + + + + clean() + +
      +
      +
      +
      +
      +
      +

      Remove all saved objects

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public func clean()
      + +
      +
      + +
      +
      +
    • +
    +
    +
    +
      +
    • +
      + + + + description + +
      +
      +
      +
      +
      +
      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public var description: String { get }
      + +
      +
      + +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIStoryboard.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIStoryboard.html index c146c8f4..4456cf15 100644 --- a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIStoryboard.html +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Classes/DIStoryboard.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle
  • - - - - + @@ -135,7 +155,7 @@ DIPart @@ -259,9 +279,9 @@

    Return Value

  • @@ -412,8 +432,8 @@

    Return Value

    diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Enums.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Enums.html index 674c63df..619a097f 100644 --- a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Enums.html +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Enums.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle
  • - - - - + @@ -135,7 +155,7 @@ DIPart @@ -185,9 +205,9 @@

    Enumerations

  • - - - DILogLevel + + + DILifeTime
    @@ -195,30 +215,34 @@

    Enumerations

    -

    Log levels. Needed for a better understanding of logs, and clipping

    +

    A object life time

    - See more + See more

    Declaration

    Swift

    -
    public enum DILogLevel : Equatable
    +
    public enum DILifeTime : Equatable
  • + + +
    +
    diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Enums/DILifeTime.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Enums/DILifeTime.html index 3c558c09..eee660ed 100644 --- a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Enums/DILifeTime.html +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Enums/DILifeTime.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle - - - - + @@ -135,7 +155,7 @@ DIPart @@ -214,7 +234,7 @@

    Declaration

    @@ -222,9 +242,9 @@

    Declaration

  • - + - single + single
    @@ -244,7 +264,7 @@

    Declaration

    @@ -252,9 +272,9 @@

    Declaration

  • - - - perRun + + + perRun(_:)
    @@ -269,12 +289,12 @@

    Declaration

    Declaration

    Swift

    -
    case perRun(DILifeTime.ReferenceCounting)
    +
    case perRun(ReferenceCounting)
    @@ -282,9 +302,9 @@

    Declaration

  • @@ -299,12 +319,12 @@

    Declaration

    Declaration

    Swift

    -
    case perContainer(DILifeTime.ReferenceCounting)
    +
    case perContainer(ReferenceCounting)
    @@ -312,9 +332,9 @@

    Declaration

  • @@ -334,7 +354,7 @@

    Declaration

    @@ -342,9 +362,9 @@

    Declaration

  • @@ -364,7 +384,37 @@

    Declaration

    + + +
  • +
  • +
    + + + + custom(_:) + +
    +
    +
    +
    +
    +
    +

    Use user scope. For more information see DIScope

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    case custom(DIScope)
    + +
    +
    +
    @@ -372,9 +422,9 @@

    Declaration

  • @@ -394,7 +444,7 @@

    Declaration

    @@ -402,9 +452,9 @@

    Declaration

  • @@ -424,7 +474,7 @@

    Declaration

    @@ -432,9 +482,9 @@

    Declaration

  • - + - ==(_:_:) + ==(_:_:)
    @@ -448,12 +498,12 @@

    Declaration

    Declaration

    Swift

    -
    public static func ==(lhs: DILifeTime, rhs: DILifeTime) -> Bool
    +
    public static func == (lhs: DILifeTime, rhs: DILifeTime) -> Bool
    @@ -463,8 +513,8 @@

    Declaration

    diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Enums/DILifeTime/ReferenceCounting.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Enums/DILifeTime/ReferenceCounting.html index 70bbe91b..b15b5fc9 100644 --- a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Enums/DILifeTime/ReferenceCounting.html +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Enums/DILifeTime/ReferenceCounting.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle
  • - - - - + @@ -135,7 +155,7 @@ DIPart @@ -191,9 +211,9 @@

    ReferenceCounting

  • - + - weak + weak
    @@ -213,7 +233,7 @@

    Declaration

    @@ -221,9 +241,9 @@

    Declaration

  • - + - strong + strong
    @@ -243,7 +263,7 @@

    Declaration

    @@ -253,8 +273,8 @@

    Declaration

    diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Enums/DILogLevel.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Enums/DILogLevel.html index 59b150f7..defe4ae0 100644 --- a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Enums/DILogLevel.html +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Enums/DILogLevel.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle
  • - - - - + @@ -135,7 +155,7 @@ DIPart @@ -191,9 +211,9 @@

    DILogLevel

  • - + - none + none
    @@ -221,9 +241,9 @@

    Declaration

  • - + - error + error
    @@ -251,9 +271,9 @@

    Declaration

  • - + - warning + warning
    @@ -281,9 +301,9 @@

    Declaration

  • - + - info + info
    @@ -311,9 +331,9 @@

    Declaration

  • - + - verbose + verbose
    @@ -343,8 +363,8 @@

    Declaration

    diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Extensions.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Extensions.html new file mode 100644 index 00000000..eda85457 --- /dev/null +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Extensions.html @@ -0,0 +1,350 @@ + + + + Extensions Reference + + + + + + + + + + +
    + +
    +
    + +
    +
    + +
    +
    +
    +

    Extensions

    +

    The following extensions are available globally.

    + +
    +
    +
    + +
    +
    +
    + +
    +
    + + + diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Extensions/Lazy.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Extensions/Lazy.html new file mode 100644 index 00000000..cc9d5dd9 --- /dev/null +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Extensions/Lazy.html @@ -0,0 +1,246 @@ + + + + Lazy Extension Reference + + + + + + + + + + +
    + +
    +
    + +
    +
    + +
    +
    +
    +

    Lazy

    + +
    +
    +
    +
      +
    • +
      + + + + init(file:line:) + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public convenience init(file: String = #file, line: UInt = #line)
      + +
      +
      + +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Extensions/Provider.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Extensions/Provider.html new file mode 100644 index 00000000..f838aa7f --- /dev/null +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Extensions/Provider.html @@ -0,0 +1,246 @@ + + + + Provider Extension Reference + + + + + + + + + + +
    + +
    +
    + +
    +
    + +
    +
    +
    +

    Provider

    + +
    +
    +
    +
      +
    • +
      + + + + init(file:line:) + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public convenience init(file: String = #file, line: UInt = #line)
      + +
      +
      + +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Extensions/Provider1.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Extensions/Provider1.html new file mode 100644 index 00000000..3731f0d5 --- /dev/null +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Extensions/Provider1.html @@ -0,0 +1,246 @@ + + + + Provider1 Extension Reference + + + + + + + + + + +
    + +
    +
    + +
    +
    + +
    +
    +
    +

    Provider1

    + +
    +
    +
    +
      +
    • +
      + + + + init(file:line:) + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public convenience init(file: String = #file, line: UInt = #line)
      + +
      +
      + +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Extensions/Provider2.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Extensions/Provider2.html new file mode 100644 index 00000000..9f795efc --- /dev/null +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Extensions/Provider2.html @@ -0,0 +1,246 @@ + + + + Provider2 Extension Reference + + + + + + + + + + +
    + +
    +
    + +
    +
    + +
    +
    +
    +

    Provider2

    + +
    +
    +
    +
      +
    • +
      + + + + init(file:line:) + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public convenience init(file: String = #file, line: UInt = #line)
      + +
      +
      + +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Extensions/Provider3.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Extensions/Provider3.html new file mode 100644 index 00000000..27388f52 --- /dev/null +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Extensions/Provider3.html @@ -0,0 +1,246 @@ + + + + Provider3 Extension Reference + + + + + + + + + + +
    + +
    +
    + +
    +
    + +
    +
    +
    +

    Provider3

    + +
    +
    +
    +
      +
    • +
      + + + + init(file:line:) + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public convenience init(file: String = #file, line: UInt = #line)
      + +
      +
      + +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Extensions/Provider4.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Extensions/Provider4.html new file mode 100644 index 00000000..7907e7d4 --- /dev/null +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Extensions/Provider4.html @@ -0,0 +1,246 @@ + + + + Provider4 Extension Reference + + + + + + + + + + +
    + +
    +
    + +
    +
    + +
    +
    +
    +

    Provider4

    + +
    +
    +
    +
      +
    • +
      + + + + init(file:line:) + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public convenience init(file: String = #file, line: UInt = #line)
      + +
      +
      + +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Extensions/Provider5.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Extensions/Provider5.html new file mode 100644 index 00000000..f8dc868f --- /dev/null +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Extensions/Provider5.html @@ -0,0 +1,246 @@ + + + + Provider5 Extension Reference + + + + + + + + + + +
    + +
    +
    + +
    +
    + +
    +
    +
    +

    Provider5

    + +
    +
    +
    +
      +
    • +
      + + + + init(file:line:) + +
      +
      +
      +
      +
      +
      +

      Undocumented

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public convenience init(file: String = #file, line: UInt = #line)
      + +
      +
      + +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Functions.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Functions.html index 80a48df6..acd2cd93 100644 --- a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Functions.html +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Functions.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle
  • - - - - + @@ -135,7 +155,7 @@ DIPart @@ -185,9 +205,9 @@

    Functions

  • - + - *(_:) + *(_:)
    @@ -205,7 +225,7 @@

    Functions

    Declaration

    Swift

    -
    public prefix func *<T>(container: DIContainer) -> T
    +
    public prefix func * <T>(container: DIContainer) -> T
    @@ -245,9 +265,9 @@

    Return Value

  • @@ -317,9 +337,9 @@

    Return Value

  • @@ -389,9 +409,9 @@

    Return Value

  • @@ -461,9 +481,9 @@

    Return Value

  • - + - many(_:) + many(_:)
    @@ -521,9 +541,9 @@

    Return Value

  • @@ -581,9 +601,9 @@

    Return Value

  • - + - arg(_:) + arg(_:)
    @@ -659,8 +679,8 @@

    Return Value

    diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Protocols.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Protocols.html index e521b91f..16a70629 100644 --- a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Protocols.html +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Protocols.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle
  • - - - - + @@ -135,7 +155,7 @@ DIPart @@ -185,9 +205,9 @@

    Protocols

  • - - - DIFramework + + + DIStorage
    @@ -195,22 +215,20 @@

    Protocols

    -

    Slight expansion over part. -Allows you to express more expressively the entry point to the framework of you application. -It isn’t necessary to create several such classses on one framework - it willn’t be convenient.

    +

    Universal protocol for contains objects by key

    - See more + See more

    Declaration

    Swift

    -
    public protocol DIFramework : AnyObject
    +
    public protocol DIStorage
    @@ -222,9 +240,9 @@

    Declaration

  • - - - DIPart + + + DIFramework
    @@ -232,22 +250,22 @@

    Declaration

    -

    Class to maintain code hierarchy. -It’s necessary for it to be convenient to combine some parts of the system into one common class, -and in future to include the part, rather than some list components.

    +

    Slight expansion over part. +Allows you to express more expressively the entry point to the framework of you application. +It isn’t necessary to create several such classses on one framework - it willn’t be convenient.

    - See more + See more

    Declaration

    Swift

    -
    public protocol DIPart : AnyObject
    +
    public protocol DIFramework : AnyObject
    @@ -259,9 +277,9 @@

    Declaration

  • - - - DIScanned + + + DIPart
    @@ -269,20 +287,22 @@

    Declaration

    -

    Protocol to indicate which classes should be included in scan. -Don’t use this opportunity thoughtlessly - use it only if you don’t know in advance number of parts or frameworks in the application.

    +

    Class to maintain code hierarchy. +It’s necessary for it to be convenient to combine some parts of the system into one common class, +and in future to include the part, rather than some list components.

    + See more

    Declaration

    Swift

    -
    public protocol DIScanned
    +
    public protocol DIPart : AnyObject
    @@ -292,8 +312,8 @@

    Declaration

    diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Protocols/DIFramework.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Protocols/DIFramework.html index d17ae9ac..3d752476 100644 --- a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Protocols/DIFramework.html +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Protocols/DIFramework.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle
  • - - - - + @@ -135,7 +155,7 @@ DIPart @@ -193,9 +213,9 @@

    DIFramework

  • - + - bundle + bundle Default implementation @@ -237,9 +257,9 @@

    Declaration

  • @@ -290,8 +310,8 @@

    Parameters

    diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Protocols/DIPart.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Protocols/DIPart.html index fef10562..1f773ae2 100644 --- a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Protocols/DIPart.html +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Protocols/DIPart.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle
  • - - - - + @@ -135,7 +155,7 @@ DIPart @@ -193,9 +213,9 @@

    DIPart

  • @@ -246,8 +266,8 @@

    Parameters

    diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Protocols/DIStorage.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Protocols/DIStorage.html new file mode 100644 index 00000000..257719da --- /dev/null +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Protocols/DIStorage.html @@ -0,0 +1,367 @@ + + + + DIStorage Protocol Reference + + + + + + + + + + +
    + +
    +
    + +
    +
    + +
    +
    +
    +

    DIStorage

    +
    +
    +
    public protocol DIStorage
    + +
    +
    +

    Universal protocol for contains objects by key

    + +
    +
    +
    +
      +
    • +
      + + + + fetch(key:) + +
      +
      +
      +
      +
      +
      +

      Return storaged object if there is.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      func fetch(key: DIComponentInfo) -> Any?
      + +
      +
      +
      +

      Parameters

      + + + + + + + +
      + + key + + +
      +

      Unique object identifier

      +
      +
      +
      +
      +

      Return Value

      +

      storaged object if there is

      +
      + +
      +
      +
    • +
    • +
      + + + + save(object:by:) + +
      +
      +
      +
      +
      +
      +

      Save object to storage.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      func save(object: Any, by key: DIComponentInfo)
      + +
      +
      +
      +

      Parameters

      + + + + + + + + + + + +
      + + object + + +
      +

      object for save

      +
      +
      + + key + + +
      +

      unique object identifier for save and future fetch.

      +
      +
      +
      + +
      +
      +
    • +
    • +
      + + + + clean() + +
      +
      +
      +
      +
      +
      +

      Remove all save objects in storage

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      func clean()
      + +
      +
      + +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Structs.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Structs.html index 2924b186..7438a56e 100644 --- a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Structs.html +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Structs.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle
  • - - - - + @@ -135,7 +155,7 @@ DIPart @@ -253,8 +273,8 @@

    Declaration

    diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Structs/DIComponentInfo.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Structs/DIComponentInfo.html index 7fb45a52..5f1d8c09 100644 --- a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Structs/DIComponentInfo.html +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Structs/DIComponentInfo.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle - - - - + @@ -135,7 +155,7 @@ DIPart @@ -191,9 +211,9 @@

    DIComponentInfo

  • - + - type + type
    @@ -221,9 +241,9 @@

    Declaration

  • - + - file + file
    @@ -251,9 +271,9 @@

    Declaration

  • - + - line + line
    @@ -281,9 +301,9 @@

    Declaration

  • @@ -310,9 +330,9 @@

    Declaration

  • - + - ==(_:_:) + ==(_:_:)
    @@ -326,7 +346,7 @@

    Declaration

    Declaration

    Swift

    -
    public static func ==(lhs: DIComponentInfo, rhs: DIComponentInfo) -> Bool
    +
    public static func == (lhs: DIComponentInfo, rhs: DIComponentInfo) -> Bool
    @@ -339,9 +359,9 @@

    Declaration

  • @@ -370,8 +390,8 @@

    Declaration

    diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Structs/DISetting.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Structs/DISetting.html index 2f2df374..0a382082 100644 --- a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Structs/DISetting.html +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Structs/DISetting.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle
  • - - - - + @@ -135,7 +155,7 @@ DIPart @@ -255,8 +275,8 @@

    Declaration

    diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Structs/DISetting/Defaults.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Structs/DISetting/Defaults.html index c913bb48..f2737f79 100644 --- a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Structs/DISetting/Defaults.html +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Structs/DISetting/Defaults.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle - - - - + @@ -135,7 +155,7 @@ DIPart @@ -191,9 +211,9 @@

    Defaults

  • - + - lifeTime + lifeTime
    @@ -221,9 +241,9 @@

    Declaration

  • @@ -260,8 +280,8 @@

    Declaration

    diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Structs/DISetting/Log.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Structs/DISetting/Log.html index 42d2f172..ce55e3b8 100644 --- a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Structs/DISetting/Log.html +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Structs/DISetting/Log.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle
  • - - - - + @@ -135,7 +155,7 @@ DIPart @@ -191,9 +211,9 @@

    Log

  • - + - fun + fun
    @@ -221,9 +241,9 @@

    Declaration

  • - + - level + level
    @@ -251,9 +271,9 @@

    Declaration

  • - + - tab + tab
    @@ -283,8 +303,8 @@

    Declaration

    diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Typealiases.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Typealiases.html index b966f51a..81f399f8 100644 --- a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Typealiases.html +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/Typealiases.html @@ -14,7 +14,7 @@
    @@ -38,9 +38,15 @@ + + @@ -54,19 +60,7 @@ DIManyInBundle
  • - - - - + @@ -135,7 +155,7 @@ DIPart @@ -277,8 +297,8 @@

    Declaration

    diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/css/jazzy.css b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/css/jazzy.css index d6282826..a9828921 100644 --- a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/css/jazzy.css +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/css/jazzy.css @@ -150,7 +150,7 @@ header { margin-left: 246px; position: absolute; overflow: hidden; - padding-bottom: 60px; + padding-bottom: 20px; top: 70px; width: 734px; } .main-content p, .main-content a, .main-content code, .main-content em, .main-content ul, .main-content table, .main-content blockquote { @@ -216,10 +216,12 @@ header { .item code { background-color: transparent; padding: 0; } - .item .token { + .item .token, .item .direct-link { padding-left: 3px; margin-left: 15px; font-size: 11.9px; } + .item .discouraged { + text-decoration: line-through; } .item .declaration-note { font-size: .85em; color: gray; @@ -283,9 +285,9 @@ header { .language .aside-title { color: #4b8afb; } -.aside-warning { +.aside-warning, .aside-deprecated, .aside-unavailable { border-left: 5px solid #ff6666; } - .aside-warning .aside-title { + .aside-warning .aside-title, .aside-deprecated .aside-title, .aside-unavailable .aside-title { color: #ff0000; } .graybox { @@ -310,8 +312,9 @@ header { font-size: 0.9em; } #footer { - position: absolute; - bottom: 10px; + position: relative; + top: 10px; + bottom: 0px; margin-left: 25px; } #footer p { margin: 0; diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/index.html b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/index.html index 77308e11..abf2827f 100644 --- a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/index.html +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/index.html @@ -13,7 +13,7 @@
    @@ -37,9 +37,15 @@ + + @@ -53,19 +59,7 @@ DIManyInBundle - - - - + @@ -134,7 +154,7 @@ DIPart @@ -180,7 +200,8 @@ CocoaPods Version License Platform -Swift Version

    +Swift Version +codecov

    DITranquillity

    The small library for dependency injection in applications written on pure Swift for iOS/OSX/tvOS. Despite its size, it solves a large enough range of tasks, including Storyboard support. Its main advantage - modularity of support, detailed errors description and lots of opportunities.

    @@ -194,21 +215,28 @@

    Features

  • Property, Method injections ru
  • Named, Tags definitions and Many ru
  • Type forwarding ru
  • -
  • Lifetimes: single, perRun(weak/strong), perContainer(weak/strong), objectGraph, prototype ru
  • +
  • Lifetimes: single, perRun(weak/strong), perContainer(weak/strong), objectGraph, prototype, custom ru
  • iOS/macOS Storyboard and StoryboardReference ru
  • Circular dependencies ru
  • Three level hierarchy: types, part, framework ru
  • Short resolve syntax ru
  • keyPath injection (since swift4.0) ru
  • -
  • Delayed injection ru
  • Very detail logs ru
  • Validation at the run app ru
  • Injection into Subviews and cells ru
  • -
  • Scan Parts/Frameworks ru
  • Support Delayed injection ru
  • Injection with arguments at any depth
  • +
  • Container Hierarchy
  • Thread safe
  • + + +

    Usage

    // container - for register and resolve your types
     let container = DIContainer()
    @@ -362,13 +390,6 @@ 

    Storyboard (iOS/OS X)

    “` -

    For more details

    - -

    Install

    Via CocoaPods.
    @@ -396,15 +417,6 @@

    Migration

    Changelog

    See CHANGELOG.md file.

    -

    Alternative

    - -

    Feedback

    I’ve found a bug, or have a feature request

    @@ -419,8 +431,8 @@

    Question?

    diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/search.json b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/search.json index a200ecf6..6af0aa43 100644 --- a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/search.json +++ b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/Documents/search.json @@ -1 +1 @@ -{"Typealiases.html#/s:14DITranquillity7DIATypea":{"name":"DIAType","abstract":"

    Any type that can be in the application

    "},"Typealiases.html#/s:14DITranquillity5DITaga":{"name":"DITag","abstract":"

    Tag is needed to specify alternative component names

    "},"Typealiases.html#/s:14DITranquillity9DILogFunca":{"name":"DILogFunc","abstract":"

    Type of function for logging

    "},"Structs/DIComponentInfo.html#/s:14DITranquillity15DIComponentInfoV4typeypXpv":{"name":"type","abstract":"

    Any type announced at registration the component

    ","parent_name":"DIComponentInfo"},"Structs/DIComponentInfo.html#/s:14DITranquillity15DIComponentInfoV4fileSSv":{"name":"file","abstract":"

    File where the component is registration

    ","parent_name":"DIComponentInfo"},"Structs/DIComponentInfo.html#/s:14DITranquillity15DIComponentInfoV4lineSiv":{"name":"line","abstract":"

    Line where the component is registration

    ","parent_name":"DIComponentInfo"},"Structs/DIComponentInfo.html#/s:s8HashableP9hashValueSiv":{"name":"hashValue","parent_name":"DIComponentInfo"},"Structs/DIComponentInfo.html#/s:s9EquatableP2eeoiSbx_xtFZ":{"name":"==(_:_:)","parent_name":"DIComponentInfo"},"Structs/DIComponentInfo.html#/s:s23CustomStringConvertibleP11descriptionSSv":{"name":"description","parent_name":"DIComponentInfo"},"Structs/DISetting/Log.html#/s:14DITranquillity9DISettingV3LogV3funyAA10DILogLevelO_SStcSgvZ":{"name":"fun","abstract":"

    Logging function. Can be nil. Default is print("\\(logLevel): \\(message)")

    ","parent_name":"Log"},"Structs/DISetting/Log.html#/s:14DITranquillity9DISettingV3LogV5levelAA10DILogLevelOvZ":{"name":"level","abstract":"

    Minimum level of logging. Default is info

    ","parent_name":"Log"},"Structs/DISetting/Log.html#/s:14DITranquillity9DISettingV3LogV3tabSSvZ":{"name":"tab","abstract":"

    Tabulation for logging. It is necessary to better understand the information log. Default is

    ","parent_name":"Log"},"Structs/DISetting/Defaults.html#/s:14DITranquillity9DISettingV8DefaultsV8lifeTimeAA06DILifeE0OvZ":{"name":"lifeTime","abstract":"

    Default lifetime of a object

    ","parent_name":"Defaults"},"Structs/DISetting/Defaults.html#/s:14DITranquillity9DISettingV8DefaultsV16injectToSubviewsSbvZ":{"name":"injectToSubviews","abstract":"

    Global flag for configuring ViewController view and its subviews injection.

    ","parent_name":"Defaults"},"Structs/DISetting/Defaults.html":{"name":"Defaults","abstract":"

    Undocumented

    ","parent_name":"DISetting"},"Structs/DISetting/Log.html":{"name":"Log","abstract":"

    Namespace for log settings

    ","parent_name":"DISetting"},"Structs/DISetting.html":{"name":"DISetting","abstract":"

    Namespace for settings

    "},"Structs/DIComponentInfo.html":{"name":"DIComponentInfo","abstract":"

    Short information about component. Needed for good log

    "},"Protocols/DIPart.html#/s:14DITranquillity6DIPartP4loadyAA11DIContainerC9container_tFZ":{"name":"load(container:)","abstract":"

    Method inside of which you can registration a components.","parent_name":"DIPart"},"Protocols/DIFramework.html#/s:14DITranquillity11DIFrameworkP6bundleSo6BundleCvZ":{"name":"bundle","abstract":"

    bundle which is a framework. Default picks based on where the class.","parent_name":"DIFramework"},"Protocols/DIFramework.html#/s:14DITranquillity11DIFrameworkP4loadyAA11DIContainerC9container_tFZ":{"name":"load(container:)","abstract":"

    Method inside of which you can registration a components.","parent_name":"DIFramework"},"Protocols/DIFramework.html":{"name":"DIFramework","abstract":"

    Slight expansion over part."},"Protocols/DIPart.html":{"name":"DIPart","abstract":"

    Class to maintain code hierarchy."},"Protocols.html#/s:14DITranquillity9DIScannedP":{"name":"DIScanned","abstract":"

    Protocol to indicate which classes should be included in scan."},"Functions.html#/s:14DITranquillity1mopxAA11DIContainerClF":{"name":"*(_:)","abstract":"

    Short syntax for resolve."},"Functions.html#/s:14DITranquillity2byq_xm3tag_AA7DIByTagCyxq_G2ontr0_lF":{"name":"by(tag:on:)","abstract":"

    Short syntax for get object by tag"},"Functions.html#/s:14DITranquillity2byq0_xm4tags_q_mAA7DIByTagCyxAEyq_q0_GG2ontr1_lF":{"name":"by(tags:_:on:)","abstract":"

    Short syntax for get object by two tags"},"Functions.html#/s:14DITranquillity2byq1_xm4tags_q_mq0_mAA7DIByTagCyxAEyq_AEyq0_q1_GGG2ontr2_lF":{"name":"by(tags:_:_:on:)","abstract":"

    Short syntax for get object by three tags"},"Functions.html#/s:14DITranquillity4manySayxGAA6DIManyCyxGlF":{"name":"many(_:)","abstract":"

    Short syntax for get many objects"},"Functions.html#/s:14DITranquillity12manyInBundleSayxGAA06DIManycD0CyxGlF":{"name":"manyInBundle(_:)","abstract":"

    Short syntax for get many objects in bundle"},"Functions.html#/s:14DITranquillity3argxAA5DIArgCyxGlF":{"name":"arg(_:)","abstract":"

    Short syntax for get object use arguments"},"Enums/DILifeTime/ReferenceCounting.html#/s:14DITranquillity10DILifeTimeO17ReferenceCountingO4weakA2EmF":{"name":"weak","abstract":"

    Initialization when first accessed, and the library doesn’t hold it

    ","parent_name":"ReferenceCounting"},"Enums/DILifeTime/ReferenceCounting.html#/s:14DITranquillity10DILifeTimeO17ReferenceCountingO6strongA2EmF":{"name":"strong","abstract":"

    Initialization when first accessed, and the library hold it

    ","parent_name":"ReferenceCounting"},"Enums/DILifeTime/ReferenceCounting.html":{"name":"ReferenceCounting","abstract":"

    Undocumented

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO6singleA2CmF":{"name":"single","abstract":"

    The object is only one in the application. Initialization by call DIContainer.initializeSingletonObjects()

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO6perRunA2C17ReferenceCountingOcACmF":{"name":"perRun","abstract":"

    The object is only one in the one run.

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO12perContainerA2C17ReferenceCountingOcACmF":{"name":"perContainer","abstract":"

    The object is only one in one container.

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO11objectGraphA2CmF":{"name":"objectGraph","abstract":"

    The object is created every time, but during the creation will be created once

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO9prototypeA2CmF":{"name":"prototype","abstract":"

    The object is created every time

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO10lazySingleACvZ":{"name":"lazySingle","abstract":"

    Undocumented

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO10weakSingleACvZ":{"name":"weakSingle","abstract":"

    Undocumented

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:s9EquatableP2eeoiSbx_xtFZ":{"name":"==(_:_:)","parent_name":"DILifeTime"},"Enums/DILogLevel.html#/s:14DITranquillity10DILogLevelO4noneA2CmF":{"name":"none","abstract":"

    disable all logs

    ","parent_name":"DILogLevel"},"Enums/DILogLevel.html#/s:14DITranquillity10DILogLevelO5errorA2CmF":{"name":"error","abstract":"

    After an error, a application can not be executable

    ","parent_name":"DILogLevel"},"Enums/DILogLevel.html#/s:14DITranquillity10DILogLevelO7warningA2CmF":{"name":"warning","abstract":"

    Warning should pe paid attention and analyzed

    ","parent_name":"DILogLevel"},"Enums/DILogLevel.html#/s:14DITranquillity10DILogLevelO4infoA2CmF":{"name":"info","abstract":"

    Information contains possible errors

    ","parent_name":"DILogLevel"},"Enums/DILogLevel.html#/s:14DITranquillity10DILogLevelO7verboseA2CmF":{"name":"verbose","abstract":"

    Verbose is needed to understand what is happening

    ","parent_name":"DILogLevel"},"Enums/DILogLevel.html":{"name":"DILogLevel","abstract":"

    Log levels. Needed for a better understanding of logs, and clipping

    "},"Enums/DILifeTime.html":{"name":"DILifeTime","abstract":"

    A object life time

    "},"Classes/DIStoryboard.html#/c:@M@DITranquillity@objc(cs)DIStoryboard(cm)createWithName:bundle:":{"name":"create(name:bundle:)","abstract":"

    Creates new instance of DIStoryboard.","parent_name":"DIStoryboard"},"Classes/DIStoryboard.html#/s:14DITranquillity12DIStoryboardC6createACSS4name_So6BundleCSg6bundleAA11DIContainerC9containertFZ":{"name":"create(name:bundle:container:)","abstract":"

    Creates new instance of DIStoryboard, with the specified container.

    ","parent_name":"DIStoryboard"},"Classes/DIStoryboard.html#/c:@M@DITranquillity@objc(cs)DIStoryboard(im)instantiateViewControllerWithIdentifier:":{"name":"instantiateViewController(withIdentifier:)","abstract":"

    Instantiates the view controller with the specified identifier.","parent_name":"DIStoryboard"},"Classes/DIStoryboard.html#/instantiateController(withIdentifier:)":{"name":"instantiateController(withIdentifier:)","abstract":"

    Instantiates the view/window controler with the specified identifier.","parent_name":"DIStoryboard"},"Classes/DIScanPart/Predicate.html#/s:14DITranquillity10DIScanPartC9PredicateO4typeAESbAA6DIPart_pXpccAEmF":{"name":"type","abstract":"

    Undocumented

    ","parent_name":"Predicate"},"Classes/DIScanPart/Predicate.html#/s:14DITranquillity10DIScanPartC9PredicateO4nameAESbSSccAEmF":{"name":"name","abstract":"

    Undocumented

    ","parent_name":"Predicate"},"Classes/DIScanPart/Predicate.html":{"name":"Predicate","abstract":"

    Variants of the predicate on the basis of which these parts will be included.

    ","parent_name":"DIScanPart"},"Classes/DIScanPart.html#/s:14DITranquillity10DIScanPartC9predicateAC9PredicateOSgvZ":{"name":"predicate","abstract":"

    Predicate on the basis of which these parts will be included.

    ","parent_name":"DIScanPart"},"Classes/DIScanPart.html#/s:14DITranquillity10DIScanPartC6bundleSo6BundleCSgvZ":{"name":"bundle","abstract":"

    It allows you to cut off parts not belonging to the specified bundle.

    ","parent_name":"DIScanPart"},"Classes/DIScanPart.html#/s:14DITranquillity10DIScanPartC4loadyAA11DIContainerC9container_tFZ":{"name":"load(container:)","abstract":"

    implementation of the function for scan.

    ","parent_name":"DIScanPart"},"Classes/DIScanFramework/Predicate.html#/s:14DITranquillity15DIScanFrameworkC9PredicateO4typeAESbAA11DIFramework_pXpccAEmF":{"name":"type","abstract":"

    Undocumented

    ","parent_name":"Predicate"},"Classes/DIScanFramework/Predicate.html#/s:14DITranquillity15DIScanFrameworkC9PredicateO4nameAESbSSccAEmF":{"name":"name","abstract":"

    Undocumented

    ","parent_name":"Predicate"},"Classes/DIScanFramework/Predicate.html":{"name":"Predicate","abstract":"

    Variants of the predicate on the basis of which these frameworks will be included.

    ","parent_name":"DIScanFramework"},"Classes/DIScanFramework.html#/s:14DITranquillity15DIScanFrameworkC9predicateAC9PredicateOSgvZ":{"name":"predicate","abstract":"

    Predicate on the basis of which these frameworks will be included.

    ","parent_name":"DIScanFramework"},"Classes/DIScanFramework.html#/s:14DITranquillity15DIScanFrameworkC4loadyAA11DIContainerC9container_tFZ":{"name":"load(container:)","abstract":"

    implementation of the function for scan.

    ","parent_name":"DIScanFramework"},"Classes/DIExtensions.html#/s:14DITranquillity12DIExtensionsC7setArgsySayypSgGd_tF":{"name":"setArgs(_:)","abstract":"

    method for setting arguments injected into an object.","parent_name":"DIExtensions"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerCACycfc":{"name":"init()","abstract":"

    Undocumented

    ","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC9register1AA18DIComponentBuilderCyxGSS4file_Si4linexq_ctr0_lF":{"name":"register1(file:line:_:)","abstract":"

    swift4 bug: https://bugs.swift.org/browse/SR-5112

    ","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_tctr1_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_q1_tctr2_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_q1_q2_tctr3_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_q1_q2_q3_tctr4_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_q1_q2_q3_q4_tctr5_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_q1_q2_q3_q4_q5_tctr6_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_q1_q2_q3_q4_q5_q6_tctr7_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_q1_q2_q3_q4_q5_q6_q7_tctr8_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_q1_q2_q3_q4_q5_q6_q7_q8_tctr9_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_q1_q2_q3_q4_q5_q6_q7_q8_q9_tctr10_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_q1_q2_q3_q4_q5_q6_q7_q8_q9_q10_tctr11_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_q1_q2_q3_q4_q5_q6_q7_q8_q9_q10_q11_tctr12_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_q1_q2_q3_q4_q5_q6_q7_q8_q9_q10_q11_q12_tctr13_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_q1_q2_q3_q4_q5_q6_q7_q8_q9_q10_q11_q12_q13_tctr14_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_q1_q2_q3_q4_q5_q6_q7_q8_q9_q10_q11_q12_q13_q14_tctr15_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC10extensionsAA12DIExtensionsCSgypXp3for_SSSg4nameAA11DIFramework_pXpSg9frameworkSS4fileSi4linetF":{"name":"extensions(for:name:framework:file:line:)","abstract":"

    Method for creating an object capable of customizing extensions

    ","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGxm_SS4fileSi4linetlF":{"name":"register(_:file:line:)","abstract":"

    Registering a new component without initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexyctlF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC7resolvexSo6BundleCSg4from_tlF":{"name":"resolve(from:)","abstract":"

    Resolve object by type.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC7resolvexq_m3tag_So6BundleCSg4fromtr0_lF":{"name":"resolve(tag:from:)","abstract":"

    Resolve object by type with tag.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC7resolvexSS4name_So6BundleCSg4fromtlF":{"name":"resolve(name:from:)","abstract":"

    Resolve object by type with name.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC11resolveManySayxGylF":{"name":"resolveMany()","abstract":"

    Resolve many objects by type.

    ","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC6injectyx4into_So6BundleCSg4fromtlF":{"name":"inject(into:from:)","abstract":"

    Injected all dependencies into object.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC26initializeSingletonObjectsyyF":{"name":"initializeSingletonObjects()","abstract":"

    Initialize registered object with lifetime .single

    ","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC5cleanyyF":{"name":"clean()","abstract":"

    Remove all cached object in container with lifetime perContainer(_)

    ","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8validateS2b16checkGraphCycles_tF":{"name":"validate(checkGraphCycles:)","abstract":"

    Validate the graph by checking various conditions. For faster performance, set false.

    ","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC6appendAcA11DIFramework_pXp9framework_tF":{"name":"append(framework:)","abstract":"

    Registers a framework in the container.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC6importyAA11DIFramework_pXpF":{"name":"import(_:)","abstract":"

    Allows you to specify dependencies between frameworks.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC6appendAcA6DIPart_pXp4part_tF":{"name":"append(part:)","abstract":"

    Registers a part in the container.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC18registerStoryboardAA18DIComponentBuilderCySo12UIStoryboardCGSS4name_So6BundleCSg6bundleSS4fileSi4linetF":{"name":"registerStoryboard(name:bundle:file:line:)","abstract":"

    Registers a new storyboard.","parent_name":"DIContainer"},"Classes/DIContainer.html#/registerStoryboard(name:bundle:file:line:)":{"name":"registerStoryboard(name:bundle:file:line:)","abstract":"

    Registers a new storyboard.","parent_name":"DIContainer"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionACyxGXDyx_qd__qd_0_tcr0_lF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method

    ","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionACyxGXDyx_qd__qd_0_qd_1_tcr1_lF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method

    ","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionACyxGXDyx_qd__qd_0_qd_1_qd_2_tcr2_lF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method

    ","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionACyxGXDyx_qd__qd_0_qd_1_qd_2_qd_3_tcr3_lF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method

    ","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionACyxGXDyx_qd__qd_0_qd_1_qd_2_qd_3_qd_4_tcr4_lF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method

    ","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionACyxGXDyx_qd__qd_0_qd_1_qd_2_qd_3_qd_4_qd_5_tcr5_lF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method

    ","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionACyxGXDyx_qd__qd_0_qd_1_qd_2_qd_3_qd_4_qd_5_qd_6_tcr6_lF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method

    ","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC2asACyxGXDqd__mlF":{"name":"as(_:)","abstract":"

    Function allows you to specify a type by which the component will be available.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC2asACyxGXDqd__m_qd_0_m3tagtr0_lF":{"name":"as(_:tag:)","abstract":"

    Function allows you to specify a type with tag by which the component will be available.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC2asACyxGXDqd__m_SS4nametlF":{"name":"as(_:name:)","abstract":"

    Function allows you to specify a type with name by which the component will be available.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC2asACyxGXDqd__m5check_qd__xctlF":{"name":"as(check:_:)","abstract":"

    Function allows you to specify a type with tag by which the component will be available.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC2asACyxGXDqd__m5check_qd_0_m3tagqd__xctr0_lF":{"name":"as(check:tag:_:)","abstract":"

    Function allows you to specify a type with tag by which the component will be available.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC2asACyxGXDqd__m5check_SS4nameqd__xctlF":{"name":"as(check:name:_:)","abstract":"

    Function allows you to specify a type with name by which the component will be available.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionACyxGXDyxcF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionACyxGXDSSSg4name_Sb5cycleyx_qd__tctlF":{"name":"injection(name:cycle:_:)","abstract":"

    Function for appending an injection method.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionACyxGXDSSSg4name_Sb5cycles24ReferenceWritableKeyPathCyxqd__Gqd__qd_0_ctr0_lF":{"name":"injection(name:cycle:_:_:)","abstract":"

    Function for appending an injection method.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionACyxGXDSSSg4name_Sb5cycles24ReferenceWritableKeyPathCyxqd__GtlF":{"name":"injection(name:cycle:_:)","abstract":"

    Function for appending an injection method.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC8postInitACyxGXDyxcF":{"name":"postInit(_:)","abstract":"

    Function for appending an injection method which is always executed at end of a object creation.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC8lifetimeACyxGXDAA10DILifeTimeOF":{"name":"lifetime(_:)","abstract":"

    Function to set lifetime of an object.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC7defaultACyxGXDyF":{"name":"default()","abstract":"

    Function declaring that this component will use the default.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderCAASo16UIViewControllerCRbzlE20autoInjectToSubviewsACyxGXDyF":{"name":"autoInjectToSubviews()","abstract":"

    Function allows injection inside UIViewController view and its subviews.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderCAASo6UIViewCRbzlE20autoInjectToSubviewsACyxGXDyF":{"name":"autoInjectToSubviews()","abstract":"

    Function allows injection inside UIView and its subviews.","parent_name":"DIComponentBuilder"},"Classes.html#/s:14DITranquillity13InternalByTagC":{"name":"InternalByTag","abstract":"

    Undocumented

    "},"Classes.html#/s:14DITranquillity14InternalByManyC":{"name":"InternalByMany","abstract":"

    Undocumented

    "},"Classes.html#/s:14DITranquillity22InternalByManyInBundleC":{"name":"InternalByManyInBundle","abstract":"

    Undocumented

    "},"Classes.html#/s:14DITranquillity11InternalArgC":{"name":"InternalArg","abstract":"

    Undocumented

    "},"Classes/DIComponentBuilder.html":{"name":"DIComponentBuilder","abstract":"

    Component Builder."},"Classes/DIContainer.html":{"name":"DIContainer","abstract":"

    A container holding all registered components,"},"Classes/DIExtensions.html":{"name":"DIExtensions","abstract":"

    сlass to extend possible actions related to object creation

    "},"Classes.html#/s:14DITranquillity7DIByTagC":{"name":"DIByTag","abstract":"

    Special class for resolve object by type with tag. see method: byTag

    "},"Classes.html#/s:14DITranquillity6DIManyC":{"name":"DIMany","abstract":"

    Special class for resolve many object. see method: many

    "},"Classes.html#/s:14DITranquillity14DIManyInBundleC":{"name":"DIManyInBundle","abstract":"

    Special class for resolve many object in bundle. see method: manyInBundle

    "},"Classes.html#/s:14DITranquillity5DIArgC":{"name":"DIArg","abstract":"

    Special class for resolve object use arguments. see method: arg

    "},"Classes.html#/s:14DITranquillity6DIScanC":{"name":"DIScan","abstract":"

    Base class for scan. It doesn’t make much sense to inherit from it. see: DIScanFramework and DIScanPart

    "},"Classes/DIScanFramework.html":{"name":"DIScanFramework","abstract":"

    Allows you to find all frameworks marked as DIScanned in the application that satisfy certain characteristics:"},"Classes/DIScanPart.html":{"name":"DIScanPart","abstract":"

    Allows you to find all parts marked as DIScanned in the application that satisfy certain characteristics:"},"Classes/DIStoryboard.html":{"name":"DIStoryboard","abstract":"

    The class provides the features to inject dependencies of view/window controllers in a storyboard."},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Enums.html":{"name":"Enumerations","abstract":"

    The following enumerations are available globally.

    "},"Functions.html":{"name":"Functions","abstract":"

    The following functions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "},"Typealiases.html":{"name":"Type Aliases","abstract":"

    The following type aliases are available globally.

    "}} \ No newline at end of file +{"Typealiases.html#/s:14DITranquillity7DIATypea":{"name":"DIAType","abstract":"

    Any type that can be in the application

    "},"Typealiases.html#/s:14DITranquillity5DITaga":{"name":"DITag","abstract":"

    Tag is needed to specify alternative component names

    "},"Typealiases.html#/s:14DITranquillity9DILogFunca":{"name":"DILogFunc","abstract":"

    Type of function for logging

    "},"Structs/DIComponentInfo.html#/s:14DITranquillity15DIComponentInfoV4typeypXpvp":{"name":"type","abstract":"

    Any type announced at registration the component

    ","parent_name":"DIComponentInfo"},"Structs/DIComponentInfo.html#/s:14DITranquillity15DIComponentInfoV4fileSSvp":{"name":"file","abstract":"

    File where the component is registration

    ","parent_name":"DIComponentInfo"},"Structs/DIComponentInfo.html#/s:14DITranquillity15DIComponentInfoV4lineSivp":{"name":"line","abstract":"

    Line where the component is registration

    ","parent_name":"DIComponentInfo"},"Structs/DIComponentInfo.html#/s:SH9hashValueSivp":{"name":"hashValue","parent_name":"DIComponentInfo"},"Structs/DIComponentInfo.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"DIComponentInfo"},"Structs/DIComponentInfo.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"DIComponentInfo"},"Structs/DISetting/Log.html#/s:14DITranquillity9DISettingV3LogV3funyAA10DILogLevelO_SStcSgvpZ":{"name":"fun","abstract":"

    Logging function. Can be nil. Default is print("\\(logLevel): \\(message)")

    ","parent_name":"Log"},"Structs/DISetting/Log.html#/s:14DITranquillity9DISettingV3LogV5levelAA10DILogLevelOvpZ":{"name":"level","abstract":"

    Minimum level of logging. Default is info

    ","parent_name":"Log"},"Structs/DISetting/Log.html#/s:14DITranquillity9DISettingV3LogV3tabSSvpZ":{"name":"tab","abstract":"

    Tabulation for logging. It is necessary to better understand the information log. Default is

    ","parent_name":"Log"},"Structs/DISetting/Defaults.html#/s:14DITranquillity9DISettingV8DefaultsV8lifeTimeAA06DILifeE0OvpZ":{"name":"lifeTime","abstract":"

    Default lifetime of a object

    ","parent_name":"Defaults"},"Structs/DISetting/Defaults.html#/s:14DITranquillity9DISettingV8DefaultsV16injectToSubviewsSbvpZ":{"name":"injectToSubviews","abstract":"

    Global flag for configuring ViewController view and its subviews injection.

    ","parent_name":"Defaults"},"Structs/DISetting/Defaults.html":{"name":"Defaults","abstract":"

    Undocumented

    ","parent_name":"DISetting"},"Structs/DISetting/Log.html":{"name":"Log","abstract":"

    Namespace for log settings

    ","parent_name":"DISetting"},"Structs/DISetting.html":{"name":"DISetting","abstract":"

    Namespace for settings

    "},"Structs/DIComponentInfo.html":{"name":"DIComponentInfo","abstract":"

    Short information about component. Needed for good log

    "},"Protocols/DIPart.html#/s:14DITranquillity6DIPartP4load9containeryAA11DIContainerC_tFZ":{"name":"load(container:)","abstract":"

    Method inside of which you can registration a components.","parent_name":"DIPart"},"Protocols/DIFramework.html#/s:14DITranquillity11DIFrameworkP6bundleSo8NSBundleCvpZ":{"name":"bundle","abstract":"

    bundle which is a framework. Default picks based on where the class.","parent_name":"DIFramework"},"Protocols/DIFramework.html#/s:14DITranquillity11DIFrameworkP4load9containeryAA11DIContainerC_tFZ":{"name":"load(container:)","abstract":"

    Method inside of which you can registration a components.","parent_name":"DIFramework"},"Protocols/DIStorage.html#/s:14DITranquillity9DIStorageP5fetch3keyypSgAA15DIComponentInfoV_tF":{"name":"fetch(key:)","abstract":"

    Return storaged object if there is.

    ","parent_name":"DIStorage"},"Protocols/DIStorage.html#/s:14DITranquillity9DIStorageP4save6object2byyyp_AA15DIComponentInfoVtF":{"name":"save(object:by:)","abstract":"

    Save object to storage.

    ","parent_name":"DIStorage"},"Protocols/DIStorage.html#/s:14DITranquillity9DIStorageP5cleanyyF":{"name":"clean()","abstract":"

    Remove all save objects in storage

    ","parent_name":"DIStorage"},"Protocols/DIStorage.html":{"name":"DIStorage","abstract":"

    Universal protocol for contains objects by key

    "},"Protocols/DIFramework.html":{"name":"DIFramework","abstract":"

    Slight expansion over part."},"Protocols/DIPart.html":{"name":"DIPart","abstract":"

    Class to maintain code hierarchy."},"Functions.html#/s:14DITranquillity1mopyxAA11DIContainerClF":{"name":"*(_:)","abstract":"

    Short syntax for resolve."},"Functions.html#/s:14DITranquillity2by3tag2onq_xm_AA7DIByTagCyxq_Gtr0_lF":{"name":"by(tag:on:)","abstract":"

    Short syntax for get object by tag"},"Functions.html#/s:14DITranquillity2by4tags_2onq0_xm_q_mAA7DIByTagCyxAFyq_q0_GGtr1_lF":{"name":"by(tags:_:on:)","abstract":"

    Short syntax for get object by two tags"},"Functions.html#/s:14DITranquillity2by4tags__2onq1_xm_q_mq0_mAA7DIByTagCyxAFyq_AFyq0_q1_GGGtr2_lF":{"name":"by(tags:_:_:on:)","abstract":"

    Short syntax for get object by three tags"},"Functions.html#/s:14DITranquillity4manyySayxGAA6DIManyCyxGlF":{"name":"many(_:)","abstract":"

    Short syntax for get many objects"},"Functions.html#/s:14DITranquillity12manyInBundleySayxGAA06DIManycD0CyxGlF":{"name":"manyInBundle(_:)","abstract":"

    Short syntax for get many objects in bundle"},"Functions.html#/s:14DITranquillity3argyxAA5DIArgCyxGlF":{"name":"arg(_:)","abstract":"

    Short syntax for get object use arguments"},"Extensions/Provider5.html#/init(file:line:)":{"name":"init(file:line:)","abstract":"

    Undocumented

    ","parent_name":"Provider5"},"Extensions/Provider4.html#/init(file:line:)":{"name":"init(file:line:)","abstract":"

    Undocumented

    ","parent_name":"Provider4"},"Extensions/Provider3.html#/init(file:line:)":{"name":"init(file:line:)","abstract":"

    Undocumented

    ","parent_name":"Provider3"},"Extensions/Provider2.html#/init(file:line:)":{"name":"init(file:line:)","abstract":"

    Undocumented

    ","parent_name":"Provider2"},"Extensions/Provider1.html#/init(file:line:)":{"name":"init(file:line:)","abstract":"

    Undocumented

    ","parent_name":"Provider1"},"Extensions/Provider.html#/init(file:line:)":{"name":"init(file:line:)","abstract":"

    Undocumented

    ","parent_name":"Provider"},"Extensions/Lazy.html#/init(file:line:)":{"name":"init(file:line:)","abstract":"

    Undocumented

    ","parent_name":"Lazy"},"Extensions/Lazy.html":{"name":"Lazy"},"Extensions/Provider.html":{"name":"Provider"},"Extensions/Provider1.html":{"name":"Provider1"},"Extensions/Provider2.html":{"name":"Provider2"},"Extensions/Provider3.html":{"name":"Provider3"},"Extensions/Provider4.html":{"name":"Provider4"},"Extensions/Provider5.html":{"name":"Provider5"},"Enums/DILogLevel.html#/s:14DITranquillity10DILogLevelO4noneyA2CmF":{"name":"none","abstract":"

    disable all logs

    ","parent_name":"DILogLevel"},"Enums/DILogLevel.html#/s:14DITranquillity10DILogLevelO5erroryA2CmF":{"name":"error","abstract":"

    After an error, a application can not be executable

    ","parent_name":"DILogLevel"},"Enums/DILogLevel.html#/s:14DITranquillity10DILogLevelO7warningyA2CmF":{"name":"warning","abstract":"

    Warning should pe paid attention and analyzed

    ","parent_name":"DILogLevel"},"Enums/DILogLevel.html#/s:14DITranquillity10DILogLevelO4infoyA2CmF":{"name":"info","abstract":"

    Information contains possible errors

    ","parent_name":"DILogLevel"},"Enums/DILogLevel.html#/s:14DITranquillity10DILogLevelO7verboseyA2CmF":{"name":"verbose","abstract":"

    Verbose is needed to understand what is happening

    ","parent_name":"DILogLevel"},"Enums/DILifeTime/ReferenceCounting.html#/s:14DITranquillity10DILifeTimeO17ReferenceCountingO4weakyA2EmF":{"name":"weak","abstract":"

    Initialization when first accessed, and the library doesn’t hold it

    ","parent_name":"ReferenceCounting"},"Enums/DILifeTime/ReferenceCounting.html#/s:14DITranquillity10DILifeTimeO17ReferenceCountingO6strongyA2EmF":{"name":"strong","abstract":"

    Initialization when first accessed, and the library hold it

    ","parent_name":"ReferenceCounting"},"Enums/DILifeTime/ReferenceCounting.html":{"name":"ReferenceCounting","abstract":"

    Undocumented

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO6singleyA2CmF":{"name":"single","abstract":"

    The object is only one in the application. Initialization by call DIContainer.initializeSingletonObjects()

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO6perRunyA2C17ReferenceCountingOcACmF":{"name":"perRun(_:)","abstract":"

    The object is only one in the one run.

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO12perContaineryA2C17ReferenceCountingOcACmF":{"name":"perContainer(_:)","abstract":"

    The object is only one in one container.

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO11objectGraphyA2CmF":{"name":"objectGraph","abstract":"

    The object is created every time, but during the creation will be created once

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO9prototypeyA2CmF":{"name":"prototype","abstract":"

    The object is created every time

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO6customyAcA7DIScopeCcACmF":{"name":"custom(_:)","abstract":"

    Use user scope. For more information see DIScope

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO10lazySingleACvpZ":{"name":"lazySingle","abstract":"

    Undocumented

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO10weakSingleACvpZ":{"name":"weakSingle","abstract":"

    Undocumented

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"DILifeTime"},"Enums/DILifeTime.html":{"name":"DILifeTime","abstract":"

    A object life time

    "},"Enums/DILogLevel.html":{"name":"DILogLevel","abstract":"

    Log levels. Needed for a better understanding of logs, and clipping

    "},"Classes/DIStoryboard.html#/c:@M@DITranquillity@objc(cs)DIStoryboard(cm)createWithName:bundle:":{"name":"create(name:bundle:)","abstract":"

    Creates new instance of DIStoryboard.","parent_name":"DIStoryboard"},"Classes/DIStoryboard.html#/s:14DITranquillity12DIStoryboardC6create4name6bundle9containerACSS_So8NSBundleCSgAA11DIContainerCtFZ":{"name":"create(name:bundle:container:)","abstract":"

    Creates new instance of DIStoryboard, with the specified container.

    ","parent_name":"DIStoryboard"},"Classes/DIStoryboard.html#/c:@M@DITranquillity@objc(cs)DIStoryboard(im)instantiateViewControllerWithIdentifier:":{"name":"instantiateViewController(withIdentifier:)","abstract":"

    Instantiates the view controller with the specified identifier.","parent_name":"DIStoryboard"},"Classes/DIStoryboard.html#/instantiateController(withIdentifier:)":{"name":"instantiateController(withIdentifier:)","abstract":"

    Instantiates the view/window controler with the specified identifier.","parent_name":"DIStoryboard"},"Classes/DICompositeStorage.html#/s:14DITranquillity18DICompositeStorageC8storagesACSayAA9DIStorage_pG_tcfc":{"name":"init(storages:)","abstract":"

    Undocumented

    ","parent_name":"DICompositeStorage"},"Classes/DICompositeStorage.html#/s:14DITranquillity18DICompositeStorageC5fetch3keyypSgAA15DIComponentInfoV_tF":{"name":"fetch(key:)","abstract":"

    Fetch object by key from first containing storage.

    ","parent_name":"DICompositeStorage"},"Classes/DICompositeStorage.html#/s:14DITranquillity18DICompositeStorageC4save6object2byyyp_AA15DIComponentInfoVtF":{"name":"save(object:by:)","abstract":"

    Save object to all storages

    ","parent_name":"DICompositeStorage"},"Classes/DICompositeStorage.html#/s:14DITranquillity18DICompositeStorageC5cleanyyF":{"name":"clean()","abstract":"

    Remove all save objects from all storages

    ","parent_name":"DICompositeStorage"},"Classes/DICacheStorage.html#/s:14DITranquillity14DICacheStorageCACycfc":{"name":"init()","abstract":"

    Undocumented

    ","parent_name":"DICacheStorage"},"Classes/DICacheStorage.html#/s:14DITranquillity9DIStorageP5fetch3keyypSgAA15DIComponentInfoV_tF":{"name":"fetch(key:)","parent_name":"DICacheStorage"},"Classes/DICacheStorage.html#/s:14DITranquillity9DIStorageP4save6object2byyyp_AA15DIComponentInfoVtF":{"name":"save(object:by:)","parent_name":"DICacheStorage"},"Classes/DICacheStorage.html#/s:14DITranquillity9DIStorageP5cleanyyF":{"name":"clean()","parent_name":"DICacheStorage"},"Classes/DIScope.html#/s:14DITranquillity7DIScopeC4nameSSvp":{"name":"name","abstract":"

    Scope name. Used in logging

    ","parent_name":"DIScope"},"Classes/DIScope.html#/s:14DITranquillity7DIScopeC4name7storage6policy6parentACSS_AA9DIStorage_pAA10DILifeTimeO17ReferenceCountingOACSgtcfc":{"name":"init(name:storage:policy:parent:)","abstract":"

    Make Scope. Scopes need for control lifetime of your objects

    ","parent_name":"DIScope"},"Classes/DIScope.html#/s:14DITranquillity7DIScopeC5cleanyyF":{"name":"clean()","abstract":"

    Remove all saved objects

    ","parent_name":"DIScope"},"Classes/DIScope.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"DIScope"},"Classes/DIExtensions.html#/s:14DITranquillity12DIExtensionsC7setArgsyyypSgd_tF":{"name":"setArgs(_:)","abstract":"

    method for setting arguments injected into an object.","parent_name":"DIExtensions"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC6parentA2CSg_tcfc":{"name":"init(parent:)","abstract":"

    Make entry point for library

    ","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC9register14file4line_AA18DIComponentBuilderCyxGSS_Sixq_ctr0_lF":{"name":"register1(file:line:_:)","abstract":"

    swift4 bug: https://bugs.swift.org/browse/SR-5112

    ","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_tctr1_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_q1_tctr2_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_q1_q2_tctr3_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_q1_q2_q3_tctr4_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_q1_q2_q3_q4_tctr5_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_q1_q2_q3_q4_q5_tctr6_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_q1_q2_q3_q4_q5_q6_tctr7_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_q1_q2_q3_q4_q5_q6_q7_tctr8_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_q1_q2_q3_q4_q5_q6_q7_q8_tctr9_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_q1_q2_q3_q4_q5_q6_q7_q8_q9_tctr10_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_q1_q2_q3_q4_q5_q6_q7_q8_q9_q10_tctr11_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_q1_q2_q3_q4_q5_q6_q7_q8_q9_q10_q11_tctr12_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_q1_q2_q3_q4_q5_q6_q7_q8_q9_q10_q11_q12_tctr13_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_q1_q2_q3_q4_q5_q6_q7_q8_q9_q10_q11_q12_q13_tctr14_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_q1_q2_q3_q4_q5_q6_q7_q8_q9_q10_q11_q12_q13_q14_tctr15_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC10extensions3for4name9framework4file4lineAA12DIExtensionsCSgypXp_SSSgAA11DIFramework_pXpSgSSSitF":{"name":"extensions(for:name:framework:file:line:)","abstract":"

    Method for creating an object capable of customizing extensions

    ","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register_4file4lineAA18DIComponentBuilderCyxGxm_SSSitlF":{"name":"register(_:file:line:)","abstract":"

    Registering a new component without initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_SixyctlF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC7resolve4fromxSo8NSBundleCSg_tlF":{"name":"resolve(from:)","abstract":"

    Resolve object by type.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC7resolve3tag4fromxq_m_So8NSBundleCSgtr0_lF":{"name":"resolve(tag:from:)","abstract":"

    Resolve object by type with tag.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC7resolve4name4fromxSS_So8NSBundleCSgtlF":{"name":"resolve(name:from:)","abstract":"

    Resolve object by type with name.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC11resolveManySayxGylF":{"name":"resolveMany()","abstract":"

    Resolve many objects by type.

    ","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC6inject4into4fromyx_So8NSBundleCSgtlF":{"name":"inject(into:from:)","abstract":"

    Injected all dependencies into object.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC26initializeSingletonObjectsyyF":{"name":"initializeSingletonObjects()","abstract":"

    Initialize registered object with lifetime .single

    ","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC5cleanyyF":{"name":"clean()","abstract":"

    Remove all cached object in container with lifetime perContainer(_)

    ","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8validate16checkGraphCyclesS2b_tF":{"name":"validate(checkGraphCycles:)","abstract":"

    Validate the graph by checking various conditions. For faster performance, set false.

    ","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC6append9frameworkAcA11DIFramework_pXp_tF":{"name":"append(framework:)","abstract":"

    Registers a framework in the container.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC6importyyAA11DIFramework_pXpF":{"name":"import(_:)","abstract":"

    Allows you to specify dependencies between frameworks.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC6append4partAcA6DIPart_pXp_tF":{"name":"append(part:)","abstract":"

    Registers a part in the container.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC18registerStoryboard4name6bundle4file4lineAA18DIComponentBuilderCySo12UIStoryboardCGSS_So8NSBundleCSgSSSitF":{"name":"registerStoryboard(name:bundle:file:line:)","abstract":"

    Registers a new storyboard.","parent_name":"DIContainer"},"Classes/DIContainer.html#/registerStoryboard(name:bundle:file:line:)":{"name":"registerStoryboard(name:bundle:file:line:)","abstract":"

    Registers a new storyboard.","parent_name":"DIContainer"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionyACyxGXDyx_qd__qd_0_tcr0_lF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method

    ","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionyACyxGXDyx_qd__qd_0_qd_1_tcr1_lF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method

    ","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionyACyxGXDyx_qd__qd_0_qd_1_qd_2_tcr2_lF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method

    ","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionyACyxGXDyx_qd__qd_0_qd_1_qd_2_qd_3_tcr3_lF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method

    ","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionyACyxGXDyx_qd__qd_0_qd_1_qd_2_qd_3_qd_4_tcr4_lF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method

    ","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionyACyxGXDyx_qd__qd_0_qd_1_qd_2_qd_3_qd_4_qd_5_tcr5_lF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method

    ","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionyACyxGXDyx_qd__qd_0_qd_1_qd_2_qd_3_qd_4_qd_5_qd_6_tcr6_lF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method

    ","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC2asyACyxGXDqd__mlF":{"name":"as(_:)","abstract":"

    Function allows you to specify a type by which the component will be available.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC2as_3tagACyxGXDqd__m_qd_0_mtr0_lF":{"name":"as(_:tag:)","abstract":"

    Function allows you to specify a type with tag by which the component will be available.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC2as_4nameACyxGXDqd__m_SStlF":{"name":"as(_:name:)","abstract":"

    Function allows you to specify a type with name by which the component will be available.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC2as5check_ACyxGXDqd__m_qd__xXEtlF":{"name":"as(check:_:)","abstract":"

    Function allows you to specify a type with tag by which the component will be available.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC2as5check3tag_ACyxGXDqd__m_qd_0_mqd__xXEtr0_lF":{"name":"as(check:tag:_:)","abstract":"

    Function allows you to specify a type with tag by which the component will be available.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC2as5check4name_ACyxGXDqd__m_SSqd__xXEtlF":{"name":"as(check:name:_:)","abstract":"

    Function allows you to specify a type with name by which the component will be available.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionyACyxGXDyxcF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injection4name5cycle_ACyxGXDSSSg_Sbyx_qd__tctlF":{"name":"injection(name:cycle:_:)","abstract":"

    Function for appending an injection method.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injection4name5cycle__ACyxGXDSSSg_Sbs24ReferenceWritableKeyPathCyxqd__Gqd__qd_0_ctr0_lF":{"name":"injection(name:cycle:_:_:)","abstract":"

    Function for appending an injection method.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injection4name5cycle_ACyxGXDSSSg_Sbs24ReferenceWritableKeyPathCyxqd__GtlF":{"name":"injection(name:cycle:_:)","abstract":"

    Function for appending an injection method.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC8postInityACyxGXDyxcF":{"name":"postInit(_:)","abstract":"

    Function for appending an injection method which is always executed at end of a object creation.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC8lifetimeyACyxGXDAA10DILifeTimeOF":{"name":"lifetime(_:)","abstract":"

    Function to set lifetime of an object.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC7defaultACyxGXDyF":{"name":"default()","abstract":"

    Function declaring that this component will use the default.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderCAASo16UIViewControllerCRbzlE20autoInjectToSubviewsACyxGXDyF":{"name":"autoInjectToSubviews()","abstract":"

    Function allows injection inside UIViewController view and its subviews.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderCAASo6UIViewCRbzlE20autoInjectToSubviewsACyxGXDyF":{"name":"autoInjectToSubviews()","abstract":"

    Function allows injection inside UIView and its subviews.","parent_name":"DIComponentBuilder"},"Classes.html#/s:14DITranquillity13InternalByTagC":{"name":"InternalByTag","abstract":"

    Undocumented

    "},"Classes.html#/s:14DITranquillity14InternalByManyC":{"name":"InternalByMany","abstract":"

    Undocumented

    "},"Classes.html#/s:14DITranquillity22InternalByManyInBundleC":{"name":"InternalByManyInBundle","abstract":"

    Undocumented

    "},"Classes.html#/s:14DITranquillity11InternalArgC":{"name":"InternalArg","abstract":"

    Undocumented

    "},"Classes/DIComponentBuilder.html":{"name":"DIComponentBuilder","abstract":"

    Component Builder."},"Classes/DIContainer.html":{"name":"DIContainer","abstract":"

    A container holding all registered components,"},"Classes/DIExtensions.html":{"name":"DIExtensions","abstract":"

    сlass to extend possible actions related to object creation

    "},"Classes.html#/s:14DITranquillity7DIByTagC":{"name":"DIByTag","abstract":"

    Special class for resolve object by type with tag. see method: byTag

    "},"Classes.html#/s:14DITranquillity6DIManyC":{"name":"DIMany","abstract":"

    Special class for resolve many object. see method: many

    "},"Classes.html#/s:14DITranquillity14DIManyInBundleC":{"name":"DIManyInBundle","abstract":"

    Special class for resolve many object in bundle. see method: manyInBundle

    "},"Classes.html#/s:14DITranquillity5DIArgC":{"name":"DIArg","abstract":"

    Special class for resolve object use arguments. see method: arg

    "},"Classes/DIScope.html":{"name":"DIScope","abstract":"

    Scopes need for control lifetime of your objects

    "},"Classes/DICacheStorage.html":{"name":"DICacheStorage","abstract":"

    Contains objects in dictionary by keys

    "},"Classes/DICompositeStorage.html":{"name":"DICompositeStorage","abstract":"

    Unite few storages for fetch from first containing and save to all.

    "},"Classes/DIStoryboard.html":{"name":"DIStoryboard","abstract":"

    The class provides the features to inject dependencies of view/window controllers in a storyboard."},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Enums.html":{"name":"Enumerations","abstract":"

    The following enumerations are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Functions.html":{"name":"Functions","abstract":"

    The following functions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "},"Typealiases.html":{"name":"Type Aliases","abstract":"

    The following type aliases are available globally.

    "}} \ No newline at end of file diff --git a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/docSet.dsidx b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/docSet.dsidx index c9fbea8e..73ad2276 100644 Binary files a/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/docSet.dsidx and b/Documentation/code/docsets/DITranquillity.docset/Contents/Resources/docSet.dsidx differ diff --git a/Documentation/code/docsets/DITranquillity.tgz b/Documentation/code/docsets/DITranquillity.tgz index 7a2e0f6e..d7a82c8f 100644 Binary files a/Documentation/code/docsets/DITranquillity.tgz and b/Documentation/code/docsets/DITranquillity.tgz differ diff --git a/Documentation/code/docsets/DITranquillity.xml b/Documentation/code/docsets/DITranquillity.xml index 8714cbdb..056a12fa 100644 --- a/Documentation/code/docsets/DITranquillity.xml +++ b/Documentation/code/docsets/DITranquillity.xml @@ -1 +1 @@ -3.4.3/~https://github.com/ivlevAstef/DITranquillity/code/docsets/DITranquillity.tgz +3.6.0/~https://github.com/ivlevAstef/DITranquillity/code/docsets/DITranquillity.tgz diff --git a/Documentation/code/index.html b/Documentation/code/index.html index 77308e11..abf2827f 100644 --- a/Documentation/code/index.html +++ b/Documentation/code/index.html @@ -13,7 +13,7 @@
    @@ -37,9 +37,15 @@ + + @@ -53,19 +59,7 @@ DIManyInBundle - - - - + @@ -134,7 +154,7 @@ DIPart @@ -180,7 +200,8 @@ CocoaPods Version License Platform -Swift Version

    +Swift Version +codecov

    DITranquillity

    The small library for dependency injection in applications written on pure Swift for iOS/OSX/tvOS. Despite its size, it solves a large enough range of tasks, including Storyboard support. Its main advantage - modularity of support, detailed errors description and lots of opportunities.

    @@ -194,21 +215,28 @@

    Features

  • Property, Method injections ru
  • Named, Tags definitions and Many ru
  • Type forwarding ru
  • -
  • Lifetimes: single, perRun(weak/strong), perContainer(weak/strong), objectGraph, prototype ru
  • +
  • Lifetimes: single, perRun(weak/strong), perContainer(weak/strong), objectGraph, prototype, custom ru
  • iOS/macOS Storyboard and StoryboardReference ru
  • Circular dependencies ru
  • Three level hierarchy: types, part, framework ru
  • Short resolve syntax ru
  • keyPath injection (since swift4.0) ru
  • -
  • Delayed injection ru
  • Very detail logs ru
  • Validation at the run app ru
  • Injection into Subviews and cells ru
  • -
  • Scan Parts/Frameworks ru
  • Support Delayed injection ru
  • Injection with arguments at any depth
  • +
  • Container Hierarchy
  • Thread safe
  • + + +

    Usage

    // container - for register and resolve your types
     let container = DIContainer()
    @@ -362,13 +390,6 @@ 

    Storyboard (iOS/OS X)

    “` -

    For more details

    - -

    Install

    Via CocoaPods.
    @@ -396,15 +417,6 @@

    Migration

    Changelog

    See CHANGELOG.md file.

    -

    Alternative

    - -

    Feedback

    I’ve found a bug, or have a feature request

    @@ -419,8 +431,8 @@

    Question?

    diff --git a/Documentation/code/search.json b/Documentation/code/search.json index a200ecf6..6af0aa43 100644 --- a/Documentation/code/search.json +++ b/Documentation/code/search.json @@ -1 +1 @@ -{"Typealiases.html#/s:14DITranquillity7DIATypea":{"name":"DIAType","abstract":"

    Any type that can be in the application

    "},"Typealiases.html#/s:14DITranquillity5DITaga":{"name":"DITag","abstract":"

    Tag is needed to specify alternative component names

    "},"Typealiases.html#/s:14DITranquillity9DILogFunca":{"name":"DILogFunc","abstract":"

    Type of function for logging

    "},"Structs/DIComponentInfo.html#/s:14DITranquillity15DIComponentInfoV4typeypXpv":{"name":"type","abstract":"

    Any type announced at registration the component

    ","parent_name":"DIComponentInfo"},"Structs/DIComponentInfo.html#/s:14DITranquillity15DIComponentInfoV4fileSSv":{"name":"file","abstract":"

    File where the component is registration

    ","parent_name":"DIComponentInfo"},"Structs/DIComponentInfo.html#/s:14DITranquillity15DIComponentInfoV4lineSiv":{"name":"line","abstract":"

    Line where the component is registration

    ","parent_name":"DIComponentInfo"},"Structs/DIComponentInfo.html#/s:s8HashableP9hashValueSiv":{"name":"hashValue","parent_name":"DIComponentInfo"},"Structs/DIComponentInfo.html#/s:s9EquatableP2eeoiSbx_xtFZ":{"name":"==(_:_:)","parent_name":"DIComponentInfo"},"Structs/DIComponentInfo.html#/s:s23CustomStringConvertibleP11descriptionSSv":{"name":"description","parent_name":"DIComponentInfo"},"Structs/DISetting/Log.html#/s:14DITranquillity9DISettingV3LogV3funyAA10DILogLevelO_SStcSgvZ":{"name":"fun","abstract":"

    Logging function. Can be nil. Default is print("\\(logLevel): \\(message)")

    ","parent_name":"Log"},"Structs/DISetting/Log.html#/s:14DITranquillity9DISettingV3LogV5levelAA10DILogLevelOvZ":{"name":"level","abstract":"

    Minimum level of logging. Default is info

    ","parent_name":"Log"},"Structs/DISetting/Log.html#/s:14DITranquillity9DISettingV3LogV3tabSSvZ":{"name":"tab","abstract":"

    Tabulation for logging. It is necessary to better understand the information log. Default is

    ","parent_name":"Log"},"Structs/DISetting/Defaults.html#/s:14DITranquillity9DISettingV8DefaultsV8lifeTimeAA06DILifeE0OvZ":{"name":"lifeTime","abstract":"

    Default lifetime of a object

    ","parent_name":"Defaults"},"Structs/DISetting/Defaults.html#/s:14DITranquillity9DISettingV8DefaultsV16injectToSubviewsSbvZ":{"name":"injectToSubviews","abstract":"

    Global flag for configuring ViewController view and its subviews injection.

    ","parent_name":"Defaults"},"Structs/DISetting/Defaults.html":{"name":"Defaults","abstract":"

    Undocumented

    ","parent_name":"DISetting"},"Structs/DISetting/Log.html":{"name":"Log","abstract":"

    Namespace for log settings

    ","parent_name":"DISetting"},"Structs/DISetting.html":{"name":"DISetting","abstract":"

    Namespace for settings

    "},"Structs/DIComponentInfo.html":{"name":"DIComponentInfo","abstract":"

    Short information about component. Needed for good log

    "},"Protocols/DIPart.html#/s:14DITranquillity6DIPartP4loadyAA11DIContainerC9container_tFZ":{"name":"load(container:)","abstract":"

    Method inside of which you can registration a components.","parent_name":"DIPart"},"Protocols/DIFramework.html#/s:14DITranquillity11DIFrameworkP6bundleSo6BundleCvZ":{"name":"bundle","abstract":"

    bundle which is a framework. Default picks based on where the class.","parent_name":"DIFramework"},"Protocols/DIFramework.html#/s:14DITranquillity11DIFrameworkP4loadyAA11DIContainerC9container_tFZ":{"name":"load(container:)","abstract":"

    Method inside of which you can registration a components.","parent_name":"DIFramework"},"Protocols/DIFramework.html":{"name":"DIFramework","abstract":"

    Slight expansion over part."},"Protocols/DIPart.html":{"name":"DIPart","abstract":"

    Class to maintain code hierarchy."},"Protocols.html#/s:14DITranquillity9DIScannedP":{"name":"DIScanned","abstract":"

    Protocol to indicate which classes should be included in scan."},"Functions.html#/s:14DITranquillity1mopxAA11DIContainerClF":{"name":"*(_:)","abstract":"

    Short syntax for resolve."},"Functions.html#/s:14DITranquillity2byq_xm3tag_AA7DIByTagCyxq_G2ontr0_lF":{"name":"by(tag:on:)","abstract":"

    Short syntax for get object by tag"},"Functions.html#/s:14DITranquillity2byq0_xm4tags_q_mAA7DIByTagCyxAEyq_q0_GG2ontr1_lF":{"name":"by(tags:_:on:)","abstract":"

    Short syntax for get object by two tags"},"Functions.html#/s:14DITranquillity2byq1_xm4tags_q_mq0_mAA7DIByTagCyxAEyq_AEyq0_q1_GGG2ontr2_lF":{"name":"by(tags:_:_:on:)","abstract":"

    Short syntax for get object by three tags"},"Functions.html#/s:14DITranquillity4manySayxGAA6DIManyCyxGlF":{"name":"many(_:)","abstract":"

    Short syntax for get many objects"},"Functions.html#/s:14DITranquillity12manyInBundleSayxGAA06DIManycD0CyxGlF":{"name":"manyInBundle(_:)","abstract":"

    Short syntax for get many objects in bundle"},"Functions.html#/s:14DITranquillity3argxAA5DIArgCyxGlF":{"name":"arg(_:)","abstract":"

    Short syntax for get object use arguments"},"Enums/DILifeTime/ReferenceCounting.html#/s:14DITranquillity10DILifeTimeO17ReferenceCountingO4weakA2EmF":{"name":"weak","abstract":"

    Initialization when first accessed, and the library doesn’t hold it

    ","parent_name":"ReferenceCounting"},"Enums/DILifeTime/ReferenceCounting.html#/s:14DITranquillity10DILifeTimeO17ReferenceCountingO6strongA2EmF":{"name":"strong","abstract":"

    Initialization when first accessed, and the library hold it

    ","parent_name":"ReferenceCounting"},"Enums/DILifeTime/ReferenceCounting.html":{"name":"ReferenceCounting","abstract":"

    Undocumented

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO6singleA2CmF":{"name":"single","abstract":"

    The object is only one in the application. Initialization by call DIContainer.initializeSingletonObjects()

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO6perRunA2C17ReferenceCountingOcACmF":{"name":"perRun","abstract":"

    The object is only one in the one run.

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO12perContainerA2C17ReferenceCountingOcACmF":{"name":"perContainer","abstract":"

    The object is only one in one container.

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO11objectGraphA2CmF":{"name":"objectGraph","abstract":"

    The object is created every time, but during the creation will be created once

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO9prototypeA2CmF":{"name":"prototype","abstract":"

    The object is created every time

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO10lazySingleACvZ":{"name":"lazySingle","abstract":"

    Undocumented

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO10weakSingleACvZ":{"name":"weakSingle","abstract":"

    Undocumented

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:s9EquatableP2eeoiSbx_xtFZ":{"name":"==(_:_:)","parent_name":"DILifeTime"},"Enums/DILogLevel.html#/s:14DITranquillity10DILogLevelO4noneA2CmF":{"name":"none","abstract":"

    disable all logs

    ","parent_name":"DILogLevel"},"Enums/DILogLevel.html#/s:14DITranquillity10DILogLevelO5errorA2CmF":{"name":"error","abstract":"

    After an error, a application can not be executable

    ","parent_name":"DILogLevel"},"Enums/DILogLevel.html#/s:14DITranquillity10DILogLevelO7warningA2CmF":{"name":"warning","abstract":"

    Warning should pe paid attention and analyzed

    ","parent_name":"DILogLevel"},"Enums/DILogLevel.html#/s:14DITranquillity10DILogLevelO4infoA2CmF":{"name":"info","abstract":"

    Information contains possible errors

    ","parent_name":"DILogLevel"},"Enums/DILogLevel.html#/s:14DITranquillity10DILogLevelO7verboseA2CmF":{"name":"verbose","abstract":"

    Verbose is needed to understand what is happening

    ","parent_name":"DILogLevel"},"Enums/DILogLevel.html":{"name":"DILogLevel","abstract":"

    Log levels. Needed for a better understanding of logs, and clipping

    "},"Enums/DILifeTime.html":{"name":"DILifeTime","abstract":"

    A object life time

    "},"Classes/DIStoryboard.html#/c:@M@DITranquillity@objc(cs)DIStoryboard(cm)createWithName:bundle:":{"name":"create(name:bundle:)","abstract":"

    Creates new instance of DIStoryboard.","parent_name":"DIStoryboard"},"Classes/DIStoryboard.html#/s:14DITranquillity12DIStoryboardC6createACSS4name_So6BundleCSg6bundleAA11DIContainerC9containertFZ":{"name":"create(name:bundle:container:)","abstract":"

    Creates new instance of DIStoryboard, with the specified container.

    ","parent_name":"DIStoryboard"},"Classes/DIStoryboard.html#/c:@M@DITranquillity@objc(cs)DIStoryboard(im)instantiateViewControllerWithIdentifier:":{"name":"instantiateViewController(withIdentifier:)","abstract":"

    Instantiates the view controller with the specified identifier.","parent_name":"DIStoryboard"},"Classes/DIStoryboard.html#/instantiateController(withIdentifier:)":{"name":"instantiateController(withIdentifier:)","abstract":"

    Instantiates the view/window controler with the specified identifier.","parent_name":"DIStoryboard"},"Classes/DIScanPart/Predicate.html#/s:14DITranquillity10DIScanPartC9PredicateO4typeAESbAA6DIPart_pXpccAEmF":{"name":"type","abstract":"

    Undocumented

    ","parent_name":"Predicate"},"Classes/DIScanPart/Predicate.html#/s:14DITranquillity10DIScanPartC9PredicateO4nameAESbSSccAEmF":{"name":"name","abstract":"

    Undocumented

    ","parent_name":"Predicate"},"Classes/DIScanPart/Predicate.html":{"name":"Predicate","abstract":"

    Variants of the predicate on the basis of which these parts will be included.

    ","parent_name":"DIScanPart"},"Classes/DIScanPart.html#/s:14DITranquillity10DIScanPartC9predicateAC9PredicateOSgvZ":{"name":"predicate","abstract":"

    Predicate on the basis of which these parts will be included.

    ","parent_name":"DIScanPart"},"Classes/DIScanPart.html#/s:14DITranquillity10DIScanPartC6bundleSo6BundleCSgvZ":{"name":"bundle","abstract":"

    It allows you to cut off parts not belonging to the specified bundle.

    ","parent_name":"DIScanPart"},"Classes/DIScanPart.html#/s:14DITranquillity10DIScanPartC4loadyAA11DIContainerC9container_tFZ":{"name":"load(container:)","abstract":"

    implementation of the function for scan.

    ","parent_name":"DIScanPart"},"Classes/DIScanFramework/Predicate.html#/s:14DITranquillity15DIScanFrameworkC9PredicateO4typeAESbAA11DIFramework_pXpccAEmF":{"name":"type","abstract":"

    Undocumented

    ","parent_name":"Predicate"},"Classes/DIScanFramework/Predicate.html#/s:14DITranquillity15DIScanFrameworkC9PredicateO4nameAESbSSccAEmF":{"name":"name","abstract":"

    Undocumented

    ","parent_name":"Predicate"},"Classes/DIScanFramework/Predicate.html":{"name":"Predicate","abstract":"

    Variants of the predicate on the basis of which these frameworks will be included.

    ","parent_name":"DIScanFramework"},"Classes/DIScanFramework.html#/s:14DITranquillity15DIScanFrameworkC9predicateAC9PredicateOSgvZ":{"name":"predicate","abstract":"

    Predicate on the basis of which these frameworks will be included.

    ","parent_name":"DIScanFramework"},"Classes/DIScanFramework.html#/s:14DITranquillity15DIScanFrameworkC4loadyAA11DIContainerC9container_tFZ":{"name":"load(container:)","abstract":"

    implementation of the function for scan.

    ","parent_name":"DIScanFramework"},"Classes/DIExtensions.html#/s:14DITranquillity12DIExtensionsC7setArgsySayypSgGd_tF":{"name":"setArgs(_:)","abstract":"

    method for setting arguments injected into an object.","parent_name":"DIExtensions"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerCACycfc":{"name":"init()","abstract":"

    Undocumented

    ","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC9register1AA18DIComponentBuilderCyxGSS4file_Si4linexq_ctr0_lF":{"name":"register1(file:line:_:)","abstract":"

    swift4 bug: https://bugs.swift.org/browse/SR-5112

    ","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_tctr1_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_q1_tctr2_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_q1_q2_tctr3_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_q1_q2_q3_tctr4_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_q1_q2_q3_q4_tctr5_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_q1_q2_q3_q4_q5_tctr6_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_q1_q2_q3_q4_q5_q6_tctr7_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_q1_q2_q3_q4_q5_q6_q7_tctr8_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_q1_q2_q3_q4_q5_q6_q7_q8_tctr9_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_q1_q2_q3_q4_q5_q6_q7_q8_q9_tctr10_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_q1_q2_q3_q4_q5_q6_q7_q8_q9_q10_tctr11_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_q1_q2_q3_q4_q5_q6_q7_q8_q9_q10_q11_tctr12_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_q1_q2_q3_q4_q5_q6_q7_q8_q9_q10_q11_q12_tctr13_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_q1_q2_q3_q4_q5_q6_q7_q8_q9_q10_q11_q12_q13_tctr14_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexq__q0_q1_q2_q3_q4_q5_q6_q7_q8_q9_q10_q11_q12_q13_q14_tctr15_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC10extensionsAA12DIExtensionsCSgypXp3for_SSSg4nameAA11DIFramework_pXpSg9frameworkSS4fileSi4linetF":{"name":"extensions(for:name:framework:file:line:)","abstract":"

    Method for creating an object capable of customizing extensions

    ","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGxm_SS4fileSi4linetlF":{"name":"register(_:file:line:)","abstract":"

    Registering a new component without initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8registerAA18DIComponentBuilderCyxGSS4file_Si4linexyctlF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC7resolvexSo6BundleCSg4from_tlF":{"name":"resolve(from:)","abstract":"

    Resolve object by type.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC7resolvexq_m3tag_So6BundleCSg4fromtr0_lF":{"name":"resolve(tag:from:)","abstract":"

    Resolve object by type with tag.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC7resolvexSS4name_So6BundleCSg4fromtlF":{"name":"resolve(name:from:)","abstract":"

    Resolve object by type with name.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC11resolveManySayxGylF":{"name":"resolveMany()","abstract":"

    Resolve many objects by type.

    ","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC6injectyx4into_So6BundleCSg4fromtlF":{"name":"inject(into:from:)","abstract":"

    Injected all dependencies into object.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC26initializeSingletonObjectsyyF":{"name":"initializeSingletonObjects()","abstract":"

    Initialize registered object with lifetime .single

    ","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC5cleanyyF":{"name":"clean()","abstract":"

    Remove all cached object in container with lifetime perContainer(_)

    ","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8validateS2b16checkGraphCycles_tF":{"name":"validate(checkGraphCycles:)","abstract":"

    Validate the graph by checking various conditions. For faster performance, set false.

    ","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC6appendAcA11DIFramework_pXp9framework_tF":{"name":"append(framework:)","abstract":"

    Registers a framework in the container.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC6importyAA11DIFramework_pXpF":{"name":"import(_:)","abstract":"

    Allows you to specify dependencies between frameworks.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC6appendAcA6DIPart_pXp4part_tF":{"name":"append(part:)","abstract":"

    Registers a part in the container.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC18registerStoryboardAA18DIComponentBuilderCySo12UIStoryboardCGSS4name_So6BundleCSg6bundleSS4fileSi4linetF":{"name":"registerStoryboard(name:bundle:file:line:)","abstract":"

    Registers a new storyboard.","parent_name":"DIContainer"},"Classes/DIContainer.html#/registerStoryboard(name:bundle:file:line:)":{"name":"registerStoryboard(name:bundle:file:line:)","abstract":"

    Registers a new storyboard.","parent_name":"DIContainer"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionACyxGXDyx_qd__qd_0_tcr0_lF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method

    ","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionACyxGXDyx_qd__qd_0_qd_1_tcr1_lF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method

    ","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionACyxGXDyx_qd__qd_0_qd_1_qd_2_tcr2_lF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method

    ","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionACyxGXDyx_qd__qd_0_qd_1_qd_2_qd_3_tcr3_lF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method

    ","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionACyxGXDyx_qd__qd_0_qd_1_qd_2_qd_3_qd_4_tcr4_lF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method

    ","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionACyxGXDyx_qd__qd_0_qd_1_qd_2_qd_3_qd_4_qd_5_tcr5_lF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method

    ","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionACyxGXDyx_qd__qd_0_qd_1_qd_2_qd_3_qd_4_qd_5_qd_6_tcr6_lF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method

    ","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC2asACyxGXDqd__mlF":{"name":"as(_:)","abstract":"

    Function allows you to specify a type by which the component will be available.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC2asACyxGXDqd__m_qd_0_m3tagtr0_lF":{"name":"as(_:tag:)","abstract":"

    Function allows you to specify a type with tag by which the component will be available.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC2asACyxGXDqd__m_SS4nametlF":{"name":"as(_:name:)","abstract":"

    Function allows you to specify a type with name by which the component will be available.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC2asACyxGXDqd__m5check_qd__xctlF":{"name":"as(check:_:)","abstract":"

    Function allows you to specify a type with tag by which the component will be available.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC2asACyxGXDqd__m5check_qd_0_m3tagqd__xctr0_lF":{"name":"as(check:tag:_:)","abstract":"

    Function allows you to specify a type with tag by which the component will be available.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC2asACyxGXDqd__m5check_SS4nameqd__xctlF":{"name":"as(check:name:_:)","abstract":"

    Function allows you to specify a type with name by which the component will be available.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionACyxGXDyxcF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionACyxGXDSSSg4name_Sb5cycleyx_qd__tctlF":{"name":"injection(name:cycle:_:)","abstract":"

    Function for appending an injection method.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionACyxGXDSSSg4name_Sb5cycles24ReferenceWritableKeyPathCyxqd__Gqd__qd_0_ctr0_lF":{"name":"injection(name:cycle:_:_:)","abstract":"

    Function for appending an injection method.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionACyxGXDSSSg4name_Sb5cycles24ReferenceWritableKeyPathCyxqd__GtlF":{"name":"injection(name:cycle:_:)","abstract":"

    Function for appending an injection method.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC8postInitACyxGXDyxcF":{"name":"postInit(_:)","abstract":"

    Function for appending an injection method which is always executed at end of a object creation.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC8lifetimeACyxGXDAA10DILifeTimeOF":{"name":"lifetime(_:)","abstract":"

    Function to set lifetime of an object.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC7defaultACyxGXDyF":{"name":"default()","abstract":"

    Function declaring that this component will use the default.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderCAASo16UIViewControllerCRbzlE20autoInjectToSubviewsACyxGXDyF":{"name":"autoInjectToSubviews()","abstract":"

    Function allows injection inside UIViewController view and its subviews.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderCAASo6UIViewCRbzlE20autoInjectToSubviewsACyxGXDyF":{"name":"autoInjectToSubviews()","abstract":"

    Function allows injection inside UIView and its subviews.","parent_name":"DIComponentBuilder"},"Classes.html#/s:14DITranquillity13InternalByTagC":{"name":"InternalByTag","abstract":"

    Undocumented

    "},"Classes.html#/s:14DITranquillity14InternalByManyC":{"name":"InternalByMany","abstract":"

    Undocumented

    "},"Classes.html#/s:14DITranquillity22InternalByManyInBundleC":{"name":"InternalByManyInBundle","abstract":"

    Undocumented

    "},"Classes.html#/s:14DITranquillity11InternalArgC":{"name":"InternalArg","abstract":"

    Undocumented

    "},"Classes/DIComponentBuilder.html":{"name":"DIComponentBuilder","abstract":"

    Component Builder."},"Classes/DIContainer.html":{"name":"DIContainer","abstract":"

    A container holding all registered components,"},"Classes/DIExtensions.html":{"name":"DIExtensions","abstract":"

    сlass to extend possible actions related to object creation

    "},"Classes.html#/s:14DITranquillity7DIByTagC":{"name":"DIByTag","abstract":"

    Special class for resolve object by type with tag. see method: byTag

    "},"Classes.html#/s:14DITranquillity6DIManyC":{"name":"DIMany","abstract":"

    Special class for resolve many object. see method: many

    "},"Classes.html#/s:14DITranquillity14DIManyInBundleC":{"name":"DIManyInBundle","abstract":"

    Special class for resolve many object in bundle. see method: manyInBundle

    "},"Classes.html#/s:14DITranquillity5DIArgC":{"name":"DIArg","abstract":"

    Special class for resolve object use arguments. see method: arg

    "},"Classes.html#/s:14DITranquillity6DIScanC":{"name":"DIScan","abstract":"

    Base class for scan. It doesn’t make much sense to inherit from it. see: DIScanFramework and DIScanPart

    "},"Classes/DIScanFramework.html":{"name":"DIScanFramework","abstract":"

    Allows you to find all frameworks marked as DIScanned in the application that satisfy certain characteristics:"},"Classes/DIScanPart.html":{"name":"DIScanPart","abstract":"

    Allows you to find all parts marked as DIScanned in the application that satisfy certain characteristics:"},"Classes/DIStoryboard.html":{"name":"DIStoryboard","abstract":"

    The class provides the features to inject dependencies of view/window controllers in a storyboard."},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Enums.html":{"name":"Enumerations","abstract":"

    The following enumerations are available globally.

    "},"Functions.html":{"name":"Functions","abstract":"

    The following functions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "},"Typealiases.html":{"name":"Type Aliases","abstract":"

    The following type aliases are available globally.

    "}} \ No newline at end of file +{"Typealiases.html#/s:14DITranquillity7DIATypea":{"name":"DIAType","abstract":"

    Any type that can be in the application

    "},"Typealiases.html#/s:14DITranquillity5DITaga":{"name":"DITag","abstract":"

    Tag is needed to specify alternative component names

    "},"Typealiases.html#/s:14DITranquillity9DILogFunca":{"name":"DILogFunc","abstract":"

    Type of function for logging

    "},"Structs/DIComponentInfo.html#/s:14DITranquillity15DIComponentInfoV4typeypXpvp":{"name":"type","abstract":"

    Any type announced at registration the component

    ","parent_name":"DIComponentInfo"},"Structs/DIComponentInfo.html#/s:14DITranquillity15DIComponentInfoV4fileSSvp":{"name":"file","abstract":"

    File where the component is registration

    ","parent_name":"DIComponentInfo"},"Structs/DIComponentInfo.html#/s:14DITranquillity15DIComponentInfoV4lineSivp":{"name":"line","abstract":"

    Line where the component is registration

    ","parent_name":"DIComponentInfo"},"Structs/DIComponentInfo.html#/s:SH9hashValueSivp":{"name":"hashValue","parent_name":"DIComponentInfo"},"Structs/DIComponentInfo.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"DIComponentInfo"},"Structs/DIComponentInfo.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"DIComponentInfo"},"Structs/DISetting/Log.html#/s:14DITranquillity9DISettingV3LogV3funyAA10DILogLevelO_SStcSgvpZ":{"name":"fun","abstract":"

    Logging function. Can be nil. Default is print("\\(logLevel): \\(message)")

    ","parent_name":"Log"},"Structs/DISetting/Log.html#/s:14DITranquillity9DISettingV3LogV5levelAA10DILogLevelOvpZ":{"name":"level","abstract":"

    Minimum level of logging. Default is info

    ","parent_name":"Log"},"Structs/DISetting/Log.html#/s:14DITranquillity9DISettingV3LogV3tabSSvpZ":{"name":"tab","abstract":"

    Tabulation for logging. It is necessary to better understand the information log. Default is

    ","parent_name":"Log"},"Structs/DISetting/Defaults.html#/s:14DITranquillity9DISettingV8DefaultsV8lifeTimeAA06DILifeE0OvpZ":{"name":"lifeTime","abstract":"

    Default lifetime of a object

    ","parent_name":"Defaults"},"Structs/DISetting/Defaults.html#/s:14DITranquillity9DISettingV8DefaultsV16injectToSubviewsSbvpZ":{"name":"injectToSubviews","abstract":"

    Global flag for configuring ViewController view and its subviews injection.

    ","parent_name":"Defaults"},"Structs/DISetting/Defaults.html":{"name":"Defaults","abstract":"

    Undocumented

    ","parent_name":"DISetting"},"Structs/DISetting/Log.html":{"name":"Log","abstract":"

    Namespace for log settings

    ","parent_name":"DISetting"},"Structs/DISetting.html":{"name":"DISetting","abstract":"

    Namespace for settings

    "},"Structs/DIComponentInfo.html":{"name":"DIComponentInfo","abstract":"

    Short information about component. Needed for good log

    "},"Protocols/DIPart.html#/s:14DITranquillity6DIPartP4load9containeryAA11DIContainerC_tFZ":{"name":"load(container:)","abstract":"

    Method inside of which you can registration a components.","parent_name":"DIPart"},"Protocols/DIFramework.html#/s:14DITranquillity11DIFrameworkP6bundleSo8NSBundleCvpZ":{"name":"bundle","abstract":"

    bundle which is a framework. Default picks based on where the class.","parent_name":"DIFramework"},"Protocols/DIFramework.html#/s:14DITranquillity11DIFrameworkP4load9containeryAA11DIContainerC_tFZ":{"name":"load(container:)","abstract":"

    Method inside of which you can registration a components.","parent_name":"DIFramework"},"Protocols/DIStorage.html#/s:14DITranquillity9DIStorageP5fetch3keyypSgAA15DIComponentInfoV_tF":{"name":"fetch(key:)","abstract":"

    Return storaged object if there is.

    ","parent_name":"DIStorage"},"Protocols/DIStorage.html#/s:14DITranquillity9DIStorageP4save6object2byyyp_AA15DIComponentInfoVtF":{"name":"save(object:by:)","abstract":"

    Save object to storage.

    ","parent_name":"DIStorage"},"Protocols/DIStorage.html#/s:14DITranquillity9DIStorageP5cleanyyF":{"name":"clean()","abstract":"

    Remove all save objects in storage

    ","parent_name":"DIStorage"},"Protocols/DIStorage.html":{"name":"DIStorage","abstract":"

    Universal protocol for contains objects by key

    "},"Protocols/DIFramework.html":{"name":"DIFramework","abstract":"

    Slight expansion over part."},"Protocols/DIPart.html":{"name":"DIPart","abstract":"

    Class to maintain code hierarchy."},"Functions.html#/s:14DITranquillity1mopyxAA11DIContainerClF":{"name":"*(_:)","abstract":"

    Short syntax for resolve."},"Functions.html#/s:14DITranquillity2by3tag2onq_xm_AA7DIByTagCyxq_Gtr0_lF":{"name":"by(tag:on:)","abstract":"

    Short syntax for get object by tag"},"Functions.html#/s:14DITranquillity2by4tags_2onq0_xm_q_mAA7DIByTagCyxAFyq_q0_GGtr1_lF":{"name":"by(tags:_:on:)","abstract":"

    Short syntax for get object by two tags"},"Functions.html#/s:14DITranquillity2by4tags__2onq1_xm_q_mq0_mAA7DIByTagCyxAFyq_AFyq0_q1_GGGtr2_lF":{"name":"by(tags:_:_:on:)","abstract":"

    Short syntax for get object by three tags"},"Functions.html#/s:14DITranquillity4manyySayxGAA6DIManyCyxGlF":{"name":"many(_:)","abstract":"

    Short syntax for get many objects"},"Functions.html#/s:14DITranquillity12manyInBundleySayxGAA06DIManycD0CyxGlF":{"name":"manyInBundle(_:)","abstract":"

    Short syntax for get many objects in bundle"},"Functions.html#/s:14DITranquillity3argyxAA5DIArgCyxGlF":{"name":"arg(_:)","abstract":"

    Short syntax for get object use arguments"},"Extensions/Provider5.html#/init(file:line:)":{"name":"init(file:line:)","abstract":"

    Undocumented

    ","parent_name":"Provider5"},"Extensions/Provider4.html#/init(file:line:)":{"name":"init(file:line:)","abstract":"

    Undocumented

    ","parent_name":"Provider4"},"Extensions/Provider3.html#/init(file:line:)":{"name":"init(file:line:)","abstract":"

    Undocumented

    ","parent_name":"Provider3"},"Extensions/Provider2.html#/init(file:line:)":{"name":"init(file:line:)","abstract":"

    Undocumented

    ","parent_name":"Provider2"},"Extensions/Provider1.html#/init(file:line:)":{"name":"init(file:line:)","abstract":"

    Undocumented

    ","parent_name":"Provider1"},"Extensions/Provider.html#/init(file:line:)":{"name":"init(file:line:)","abstract":"

    Undocumented

    ","parent_name":"Provider"},"Extensions/Lazy.html#/init(file:line:)":{"name":"init(file:line:)","abstract":"

    Undocumented

    ","parent_name":"Lazy"},"Extensions/Lazy.html":{"name":"Lazy"},"Extensions/Provider.html":{"name":"Provider"},"Extensions/Provider1.html":{"name":"Provider1"},"Extensions/Provider2.html":{"name":"Provider2"},"Extensions/Provider3.html":{"name":"Provider3"},"Extensions/Provider4.html":{"name":"Provider4"},"Extensions/Provider5.html":{"name":"Provider5"},"Enums/DILogLevel.html#/s:14DITranquillity10DILogLevelO4noneyA2CmF":{"name":"none","abstract":"

    disable all logs

    ","parent_name":"DILogLevel"},"Enums/DILogLevel.html#/s:14DITranquillity10DILogLevelO5erroryA2CmF":{"name":"error","abstract":"

    After an error, a application can not be executable

    ","parent_name":"DILogLevel"},"Enums/DILogLevel.html#/s:14DITranquillity10DILogLevelO7warningyA2CmF":{"name":"warning","abstract":"

    Warning should pe paid attention and analyzed

    ","parent_name":"DILogLevel"},"Enums/DILogLevel.html#/s:14DITranquillity10DILogLevelO4infoyA2CmF":{"name":"info","abstract":"

    Information contains possible errors

    ","parent_name":"DILogLevel"},"Enums/DILogLevel.html#/s:14DITranquillity10DILogLevelO7verboseyA2CmF":{"name":"verbose","abstract":"

    Verbose is needed to understand what is happening

    ","parent_name":"DILogLevel"},"Enums/DILifeTime/ReferenceCounting.html#/s:14DITranquillity10DILifeTimeO17ReferenceCountingO4weakyA2EmF":{"name":"weak","abstract":"

    Initialization when first accessed, and the library doesn’t hold it

    ","parent_name":"ReferenceCounting"},"Enums/DILifeTime/ReferenceCounting.html#/s:14DITranquillity10DILifeTimeO17ReferenceCountingO6strongyA2EmF":{"name":"strong","abstract":"

    Initialization when first accessed, and the library hold it

    ","parent_name":"ReferenceCounting"},"Enums/DILifeTime/ReferenceCounting.html":{"name":"ReferenceCounting","abstract":"

    Undocumented

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO6singleyA2CmF":{"name":"single","abstract":"

    The object is only one in the application. Initialization by call DIContainer.initializeSingletonObjects()

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO6perRunyA2C17ReferenceCountingOcACmF":{"name":"perRun(_:)","abstract":"

    The object is only one in the one run.

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO12perContaineryA2C17ReferenceCountingOcACmF":{"name":"perContainer(_:)","abstract":"

    The object is only one in one container.

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO11objectGraphyA2CmF":{"name":"objectGraph","abstract":"

    The object is created every time, but during the creation will be created once

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO9prototypeyA2CmF":{"name":"prototype","abstract":"

    The object is created every time

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO6customyAcA7DIScopeCcACmF":{"name":"custom(_:)","abstract":"

    Use user scope. For more information see DIScope

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO10lazySingleACvpZ":{"name":"lazySingle","abstract":"

    Undocumented

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:14DITranquillity10DILifeTimeO10weakSingleACvpZ":{"name":"weakSingle","abstract":"

    Undocumented

    ","parent_name":"DILifeTime"},"Enums/DILifeTime.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"DILifeTime"},"Enums/DILifeTime.html":{"name":"DILifeTime","abstract":"

    A object life time

    "},"Enums/DILogLevel.html":{"name":"DILogLevel","abstract":"

    Log levels. Needed for a better understanding of logs, and clipping

    "},"Classes/DIStoryboard.html#/c:@M@DITranquillity@objc(cs)DIStoryboard(cm)createWithName:bundle:":{"name":"create(name:bundle:)","abstract":"

    Creates new instance of DIStoryboard.","parent_name":"DIStoryboard"},"Classes/DIStoryboard.html#/s:14DITranquillity12DIStoryboardC6create4name6bundle9containerACSS_So8NSBundleCSgAA11DIContainerCtFZ":{"name":"create(name:bundle:container:)","abstract":"

    Creates new instance of DIStoryboard, with the specified container.

    ","parent_name":"DIStoryboard"},"Classes/DIStoryboard.html#/c:@M@DITranquillity@objc(cs)DIStoryboard(im)instantiateViewControllerWithIdentifier:":{"name":"instantiateViewController(withIdentifier:)","abstract":"

    Instantiates the view controller with the specified identifier.","parent_name":"DIStoryboard"},"Classes/DIStoryboard.html#/instantiateController(withIdentifier:)":{"name":"instantiateController(withIdentifier:)","abstract":"

    Instantiates the view/window controler with the specified identifier.","parent_name":"DIStoryboard"},"Classes/DICompositeStorage.html#/s:14DITranquillity18DICompositeStorageC8storagesACSayAA9DIStorage_pG_tcfc":{"name":"init(storages:)","abstract":"

    Undocumented

    ","parent_name":"DICompositeStorage"},"Classes/DICompositeStorage.html#/s:14DITranquillity18DICompositeStorageC5fetch3keyypSgAA15DIComponentInfoV_tF":{"name":"fetch(key:)","abstract":"

    Fetch object by key from first containing storage.

    ","parent_name":"DICompositeStorage"},"Classes/DICompositeStorage.html#/s:14DITranquillity18DICompositeStorageC4save6object2byyyp_AA15DIComponentInfoVtF":{"name":"save(object:by:)","abstract":"

    Save object to all storages

    ","parent_name":"DICompositeStorage"},"Classes/DICompositeStorage.html#/s:14DITranquillity18DICompositeStorageC5cleanyyF":{"name":"clean()","abstract":"

    Remove all save objects from all storages

    ","parent_name":"DICompositeStorage"},"Classes/DICacheStorage.html#/s:14DITranquillity14DICacheStorageCACycfc":{"name":"init()","abstract":"

    Undocumented

    ","parent_name":"DICacheStorage"},"Classes/DICacheStorage.html#/s:14DITranquillity9DIStorageP5fetch3keyypSgAA15DIComponentInfoV_tF":{"name":"fetch(key:)","parent_name":"DICacheStorage"},"Classes/DICacheStorage.html#/s:14DITranquillity9DIStorageP4save6object2byyyp_AA15DIComponentInfoVtF":{"name":"save(object:by:)","parent_name":"DICacheStorage"},"Classes/DICacheStorage.html#/s:14DITranquillity9DIStorageP5cleanyyF":{"name":"clean()","parent_name":"DICacheStorage"},"Classes/DIScope.html#/s:14DITranquillity7DIScopeC4nameSSvp":{"name":"name","abstract":"

    Scope name. Used in logging

    ","parent_name":"DIScope"},"Classes/DIScope.html#/s:14DITranquillity7DIScopeC4name7storage6policy6parentACSS_AA9DIStorage_pAA10DILifeTimeO17ReferenceCountingOACSgtcfc":{"name":"init(name:storage:policy:parent:)","abstract":"

    Make Scope. Scopes need for control lifetime of your objects

    ","parent_name":"DIScope"},"Classes/DIScope.html#/s:14DITranquillity7DIScopeC5cleanyyF":{"name":"clean()","abstract":"

    Remove all saved objects

    ","parent_name":"DIScope"},"Classes/DIScope.html#/s:s23CustomStringConvertibleP11descriptionSSvp":{"name":"description","parent_name":"DIScope"},"Classes/DIExtensions.html#/s:14DITranquillity12DIExtensionsC7setArgsyyypSgd_tF":{"name":"setArgs(_:)","abstract":"

    method for setting arguments injected into an object.","parent_name":"DIExtensions"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC6parentA2CSg_tcfc":{"name":"init(parent:)","abstract":"

    Make entry point for library

    ","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC9register14file4line_AA18DIComponentBuilderCyxGSS_Sixq_ctr0_lF":{"name":"register1(file:line:_:)","abstract":"

    swift4 bug: https://bugs.swift.org/browse/SR-5112

    ","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_tctr1_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_q1_tctr2_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_q1_q2_tctr3_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_q1_q2_q3_tctr4_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_q1_q2_q3_q4_tctr5_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_q1_q2_q3_q4_q5_tctr6_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_q1_q2_q3_q4_q5_q6_tctr7_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_q1_q2_q3_q4_q5_q6_q7_tctr8_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_q1_q2_q3_q4_q5_q6_q7_q8_tctr9_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_q1_q2_q3_q4_q5_q6_q7_q8_q9_tctr10_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_q1_q2_q3_q4_q5_q6_q7_q8_q9_q10_tctr11_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_q1_q2_q3_q4_q5_q6_q7_q8_q9_q10_q11_tctr12_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_q1_q2_q3_q4_q5_q6_q7_q8_q9_q10_q11_q12_tctr13_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_q1_q2_q3_q4_q5_q6_q7_q8_q9_q10_q11_q12_q13_tctr14_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_Sixq__q0_q1_q2_q3_q4_q5_q6_q7_q8_q9_q10_q11_q12_q13_q14_tctr15_lF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC10extensions3for4name9framework4file4lineAA12DIExtensionsCSgypXp_SSSgAA11DIFramework_pXpSgSSSitF":{"name":"extensions(for:name:framework:file:line:)","abstract":"

    Method for creating an object capable of customizing extensions

    ","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register_4file4lineAA18DIComponentBuilderCyxGxm_SSSitlF":{"name":"register(_:file:line:)","abstract":"

    Registering a new component without initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8register4file4line_AA18DIComponentBuilderCyxGSS_SixyctlF":{"name":"register(file:line:_:)","abstract":"

    Declaring a new component with initial.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC7resolve4fromxSo8NSBundleCSg_tlF":{"name":"resolve(from:)","abstract":"

    Resolve object by type.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC7resolve3tag4fromxq_m_So8NSBundleCSgtr0_lF":{"name":"resolve(tag:from:)","abstract":"

    Resolve object by type with tag.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC7resolve4name4fromxSS_So8NSBundleCSgtlF":{"name":"resolve(name:from:)","abstract":"

    Resolve object by type with name.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC11resolveManySayxGylF":{"name":"resolveMany()","abstract":"

    Resolve many objects by type.

    ","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC6inject4into4fromyx_So8NSBundleCSgtlF":{"name":"inject(into:from:)","abstract":"

    Injected all dependencies into object.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC26initializeSingletonObjectsyyF":{"name":"initializeSingletonObjects()","abstract":"

    Initialize registered object with lifetime .single

    ","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC5cleanyyF":{"name":"clean()","abstract":"

    Remove all cached object in container with lifetime perContainer(_)

    ","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC8validate16checkGraphCyclesS2b_tF":{"name":"validate(checkGraphCycles:)","abstract":"

    Validate the graph by checking various conditions. For faster performance, set false.

    ","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC6append9frameworkAcA11DIFramework_pXp_tF":{"name":"append(framework:)","abstract":"

    Registers a framework in the container.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC6importyyAA11DIFramework_pXpF":{"name":"import(_:)","abstract":"

    Allows you to specify dependencies between frameworks.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC6append4partAcA6DIPart_pXp_tF":{"name":"append(part:)","abstract":"

    Registers a part in the container.","parent_name":"DIContainer"},"Classes/DIContainer.html#/s:14DITranquillity11DIContainerC18registerStoryboard4name6bundle4file4lineAA18DIComponentBuilderCySo12UIStoryboardCGSS_So8NSBundleCSgSSSitF":{"name":"registerStoryboard(name:bundle:file:line:)","abstract":"

    Registers a new storyboard.","parent_name":"DIContainer"},"Classes/DIContainer.html#/registerStoryboard(name:bundle:file:line:)":{"name":"registerStoryboard(name:bundle:file:line:)","abstract":"

    Registers a new storyboard.","parent_name":"DIContainer"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionyACyxGXDyx_qd__qd_0_tcr0_lF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method

    ","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionyACyxGXDyx_qd__qd_0_qd_1_tcr1_lF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method

    ","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionyACyxGXDyx_qd__qd_0_qd_1_qd_2_tcr2_lF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method

    ","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionyACyxGXDyx_qd__qd_0_qd_1_qd_2_qd_3_tcr3_lF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method

    ","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionyACyxGXDyx_qd__qd_0_qd_1_qd_2_qd_3_qd_4_tcr4_lF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method

    ","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionyACyxGXDyx_qd__qd_0_qd_1_qd_2_qd_3_qd_4_qd_5_tcr5_lF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method

    ","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionyACyxGXDyx_qd__qd_0_qd_1_qd_2_qd_3_qd_4_qd_5_qd_6_tcr6_lF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method

    ","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC2asyACyxGXDqd__mlF":{"name":"as(_:)","abstract":"

    Function allows you to specify a type by which the component will be available.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC2as_3tagACyxGXDqd__m_qd_0_mtr0_lF":{"name":"as(_:tag:)","abstract":"

    Function allows you to specify a type with tag by which the component will be available.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC2as_4nameACyxGXDqd__m_SStlF":{"name":"as(_:name:)","abstract":"

    Function allows you to specify a type with name by which the component will be available.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC2as5check_ACyxGXDqd__m_qd__xXEtlF":{"name":"as(check:_:)","abstract":"

    Function allows you to specify a type with tag by which the component will be available.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC2as5check3tag_ACyxGXDqd__m_qd_0_mqd__xXEtr0_lF":{"name":"as(check:tag:_:)","abstract":"

    Function allows you to specify a type with tag by which the component will be available.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC2as5check4name_ACyxGXDqd__m_SSqd__xXEtlF":{"name":"as(check:name:_:)","abstract":"

    Function allows you to specify a type with name by which the component will be available.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injectionyACyxGXDyxcF":{"name":"injection(_:)","abstract":"

    Function for appending an injection method.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injection4name5cycle_ACyxGXDSSSg_Sbyx_qd__tctlF":{"name":"injection(name:cycle:_:)","abstract":"

    Function for appending an injection method.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injection4name5cycle__ACyxGXDSSSg_Sbs24ReferenceWritableKeyPathCyxqd__Gqd__qd_0_ctr0_lF":{"name":"injection(name:cycle:_:_:)","abstract":"

    Function for appending an injection method.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC9injection4name5cycle_ACyxGXDSSSg_Sbs24ReferenceWritableKeyPathCyxqd__GtlF":{"name":"injection(name:cycle:_:)","abstract":"

    Function for appending an injection method.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC8postInityACyxGXDyxcF":{"name":"postInit(_:)","abstract":"

    Function for appending an injection method which is always executed at end of a object creation.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC8lifetimeyACyxGXDAA10DILifeTimeOF":{"name":"lifetime(_:)","abstract":"

    Function to set lifetime of an object.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderC7defaultACyxGXDyF":{"name":"default()","abstract":"

    Function declaring that this component will use the default.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderCAASo16UIViewControllerCRbzlE20autoInjectToSubviewsACyxGXDyF":{"name":"autoInjectToSubviews()","abstract":"

    Function allows injection inside UIViewController view and its subviews.","parent_name":"DIComponentBuilder"},"Classes/DIComponentBuilder.html#/s:14DITranquillity18DIComponentBuilderCAASo6UIViewCRbzlE20autoInjectToSubviewsACyxGXDyF":{"name":"autoInjectToSubviews()","abstract":"

    Function allows injection inside UIView and its subviews.","parent_name":"DIComponentBuilder"},"Classes.html#/s:14DITranquillity13InternalByTagC":{"name":"InternalByTag","abstract":"

    Undocumented

    "},"Classes.html#/s:14DITranquillity14InternalByManyC":{"name":"InternalByMany","abstract":"

    Undocumented

    "},"Classes.html#/s:14DITranquillity22InternalByManyInBundleC":{"name":"InternalByManyInBundle","abstract":"

    Undocumented

    "},"Classes.html#/s:14DITranquillity11InternalArgC":{"name":"InternalArg","abstract":"

    Undocumented

    "},"Classes/DIComponentBuilder.html":{"name":"DIComponentBuilder","abstract":"

    Component Builder."},"Classes/DIContainer.html":{"name":"DIContainer","abstract":"

    A container holding all registered components,"},"Classes/DIExtensions.html":{"name":"DIExtensions","abstract":"

    сlass to extend possible actions related to object creation

    "},"Classes.html#/s:14DITranquillity7DIByTagC":{"name":"DIByTag","abstract":"

    Special class for resolve object by type with tag. see method: byTag

    "},"Classes.html#/s:14DITranquillity6DIManyC":{"name":"DIMany","abstract":"

    Special class for resolve many object. see method: many

    "},"Classes.html#/s:14DITranquillity14DIManyInBundleC":{"name":"DIManyInBundle","abstract":"

    Special class for resolve many object in bundle. see method: manyInBundle

    "},"Classes.html#/s:14DITranquillity5DIArgC":{"name":"DIArg","abstract":"

    Special class for resolve object use arguments. see method: arg

    "},"Classes/DIScope.html":{"name":"DIScope","abstract":"

    Scopes need for control lifetime of your objects

    "},"Classes/DICacheStorage.html":{"name":"DICacheStorage","abstract":"

    Contains objects in dictionary by keys

    "},"Classes/DICompositeStorage.html":{"name":"DICompositeStorage","abstract":"

    Unite few storages for fetch from first containing and save to all.

    "},"Classes/DIStoryboard.html":{"name":"DIStoryboard","abstract":"

    The class provides the features to inject dependencies of view/window controllers in a storyboard."},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Enums.html":{"name":"Enumerations","abstract":"

    The following enumerations are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Functions.html":{"name":"Functions","abstract":"

    The following functions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "},"Typealiases.html":{"name":"Type Aliases","abstract":"

    The following type aliases are available globally.

    "}} \ No newline at end of file diff --git a/Documentation/code/undocumented.json b/Documentation/code/undocumented.json index be2c9daa..3a5256ea 100644 --- a/Documentation/code/undocumented.json +++ b/Documentation/code/undocumented.json @@ -1,38 +1,59 @@ { "warnings": [ + { + "file": "/Users/aivlev/Projects/DITranquillity/Sources/Core/Private/Component.swift", + "line": null, + "symbol": "Component", + "symbol_kind": "source.lang.swift.decl.extension", + "warning": "undocumented" + }, { "file": "/Users/aivlev/Projects/DITranquillity/Sources/Core/Private/Modificators.swift", - "line": 13, + "line": 9, "symbol": "InternalByTag", "symbol_kind": "source.lang.swift.decl.class", "warning": "undocumented" }, { "file": "/Users/aivlev/Projects/DITranquillity/Sources/Core/Private/Modificators.swift", - "line": 29, + "line": 32, "symbol": "InternalByMany", "symbol_kind": "source.lang.swift.decl.class", "warning": "undocumented" }, { "file": "/Users/aivlev/Projects/DITranquillity/Sources/Core/Private/Modificators.swift", - "line": 40, + "line": 53, "symbol": "InternalByManyInBundle", "symbol_kind": "source.lang.swift.decl.class", "warning": "undocumented" }, { "file": "/Users/aivlev/Projects/DITranquillity/Sources/Core/Private/Modificators.swift", - "line": 55, + "line": 75, "symbol": "InternalArg", "symbol_kind": "source.lang.swift.decl.class", "warning": "undocumented" }, { - "file": "/Users/aivlev/Projects/DITranquillity/Sources/Core/Public/DIContainer.swift", - "line": 28, - "symbol": "DIContainer.init()", - "symbol_kind": "source.lang.swift.decl.function.method.instance", + "file": "/Users/aivlev/Projects/DITranquillity/Sources/Core/Public/DILifetime.swift", + "line": 11, + "symbol": "DILifeTime.ReferenceCounting", + "symbol_kind": "source.lang.swift.decl.enum", + "warning": "undocumented" + }, + { + "file": "/Users/aivlev/Projects/DITranquillity/Sources/Core/Public/DILifetime.swift", + "line": 35, + "symbol": "DILifeTime.lazySingle", + "symbol_kind": "source.lang.swift.decl.var.static", + "warning": "undocumented" + }, + { + "file": "/Users/aivlev/Projects/DITranquillity/Sources/Core/Public/DILifetime.swift", + "line": 38, + "symbol": "DILifeTime.weakSingle", + "symbol_kind": "source.lang.swift.decl.var.static", "warning": "undocumented" }, { @@ -43,52 +64,66 @@ "warning": "undocumented" }, { - "file": "/Users/aivlev/Projects/DITranquillity/Sources/Core/Public/DITypes.swift", - "line": 59, - "symbol": "DILifeTime.ReferenceCounting", - "symbol_kind": "source.lang.swift.decl.enum", + "file": "/Users/aivlev/Projects/DITranquillity/Sources/Core/Public/DIStorage.swift", + "line": 34, + "symbol": "DICacheStorage.init()", + "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/aivlev/Projects/DITranquillity/Sources/Core/Public/DITypes.swift", - "line": 82, - "symbol": "DILifeTime.lazySingle", - "symbol_kind": "source.lang.swift.decl.var.static", + "file": "/Users/aivlev/Projects/DITranquillity/Sources/Core/Public/DIStorage.swift", + "line": 55, + "symbol": "DICompositeStorage.init(storages:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/aivlev/Projects/DITranquillity/Sources/Core/Public/DITypes.swift", - "line": 85, - "symbol": "DILifeTime.weakSingle", - "symbol_kind": "source.lang.swift.decl.var.static", + "file": "/Users/aivlev/Projects/DITranquillity/Sources/Extensions/SwiftLazy.swift", + "line": 15, + "symbol": "Lazy.init(file:line:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/aivlev/Projects/DITranquillity/Sources/Scan/DIScanFramework.swift", - "line": 29, - "symbol": "DIScanFramework.Predicate.type", - "symbol_kind": "source.lang.swift.decl.enumelement", + "file": "/Users/aivlev/Projects/DITranquillity/Sources/Extensions/SwiftLazy.swift", + "line": 33, + "symbol": "Provider.init(file:line:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/aivlev/Projects/DITranquillity/Sources/Scan/DIScanFramework.swift", - "line": 30, - "symbol": "DIScanFramework.Predicate.name", - "symbol_kind": "source.lang.swift.decl.enumelement", + "file": "/Users/aivlev/Projects/DITranquillity/Sources/Extensions/SwiftLazy.swift", + "line": 52, + "symbol": "Provider1.init(file:line:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/aivlev/Projects/DITranquillity/Sources/Scan/DIScanPart.swift", - "line": 32, - "symbol": "DIScanPart.Predicate.type", - "symbol_kind": "source.lang.swift.decl.enumelement", + "file": "/Users/aivlev/Projects/DITranquillity/Sources/Extensions/SwiftLazy.swift", + "line": 71, + "symbol": "Provider2.init(file:line:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" }, { - "file": "/Users/aivlev/Projects/DITranquillity/Sources/Scan/DIScanPart.swift", - "line": 33, - "symbol": "DIScanPart.Predicate.name", - "symbol_kind": "source.lang.swift.decl.enumelement", + "file": "/Users/aivlev/Projects/DITranquillity/Sources/Extensions/SwiftLazy.swift", + "line": 90, + "symbol": "Provider3.init(file:line:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", + "warning": "undocumented" + }, + { + "file": "/Users/aivlev/Projects/DITranquillity/Sources/Extensions/SwiftLazy.swift", + "line": 109, + "symbol": "Provider4.init(file:line:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", + "warning": "undocumented" + }, + { + "file": "/Users/aivlev/Projects/DITranquillity/Sources/Extensions/SwiftLazy.swift", + "line": 128, + "symbol": "Provider5.init(file:line:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", "warning": "undocumented" } ], diff --git a/Documentation/ru/delayed_injection.md b/Documentation/ru/delayed_injection.md index 7fc4f4e7..492efb80 100644 --- a/Documentation/ru/delayed_injection.md +++ b/Documentation/ru/delayed_injection.md @@ -112,6 +112,6 @@ creating int #### [Главная](main.md) #### [Предыдущая глава "Storyboard"](storyboard.md#storyboard) -#### [Следующая глава "Поиск"](scan.md#Поиск) +#### [Следующая глава "Логирование"](log.md#Логирование) diff --git a/Documentation/ru/lifetime.md b/Documentation/ru/lifetime.md index bd9abbdf..e1ca35fa 100644 --- a/Documentation/ru/lifetime.md +++ b/Documentation/ru/lifetime.md @@ -48,6 +48,25 @@ builder.register(Cat.init) .lifetime(.prototype) ``` +## Пользовательский (custom) +В случае если хочется самому отвечать за время жизни некоторых объектов, можно использовать пользовательское время жизни. +Для этого придется создать экземпляр класса `DIScope`: +```Swift +let yourScope = DIScope(name: "your scope", storage: DICacheStorage()) +``` +И после при регистрации объекта во времени жизни указать его: +```Swift +builder.register(Cat.init) +.lifetime(.custom(yourScope)) +``` +Хранилище можно создать свое собственное реализовав протокол `DIStorage`. + +При создании scope можно указать политику хранения данных `weak` или `strong`: +```Swift +DIScope(name: "your scope", storage: DICacheStorage(), policy: .weak) +``` +Смысл политики такой же как и для `.perRun` или `.perContainer`. + ## По умолчанию (default) Если у компоненты не указано время жизни, то используется `prototype`. diff --git a/Documentation/ru/log.md b/Documentation/ru/log.md index 3037b326..b71e57b0 100644 --- a/Documentation/ru/log.md +++ b/Documentation/ru/log.md @@ -29,6 +29,6 @@ DISettings.Log.tab = "-" ``` #### [Главная](main.md) -#### [Предыдущая глава "Поиск"](scan.md#Поиск) +#### [Предыдущая глава "Отложенное внедрение"](delayed_injection.md#Отложенное_внедрение) #### [Следующая глава "Примеры"](sample.md#Примеры) diff --git a/Documentation/ru/main.md b/Documentation/ru/main.md index f847e5fb..f4f5accd 100644 --- a/Documentation/ru/main.md +++ b/Documentation/ru/main.md @@ -7,13 +7,12 @@ DITranquallity - небольшая библиотека для внедрени * Внедрение зависимостей через: [метод инициализации](registration.md#Разрешение-зависимостей-при-инициализации), [свойства, метод](injection.md#Внедрение) * [Указание тега](modificators.md#Теги), [имени](modificators.md#Имена) и получение [множества](modificators.md#Множественная) * [Поддержка указания нескольких сервисов](registration.md#Указание-сервисов) -* [5 времен жизни: single, perRun(.weak/.strong), perContainer(.weak/.strong), objectGraph, prototype](lifetime.md#Время-жизни) +* [5 времен жизни: single, perRun(.weak/.strong), perContainer(.weak/.strong), objectGraph, prototype, custom](lifetime.md#Время-жизни) * [iOS/macOS Storyboard и StoryboardReference](storyboard.md#storyboard) * [Поддержка циклических зависимостей](injection.md#Внедрение-циклических-зависимостей-через-свойства) * Несколько уровней абстракций: тип, [часть](part_framework.md#Части-и-Фреймворки), [фреймворк](part_framework.md#Части-и-Фреймворки) * [Краткий синтаксис получения экземпляра клаcса](resolve.md#Разрешение-зависимостей) * [Внедрение через свойства с помощью keyPath (начиная с swift 4.0)](injection.md#Внедрение-зависимостей-через-свойства-используя-keypath)) -* [Поиск частей, фреймворков](scan.md#Поиск) * [Логирование](log.md#Логирование) * [Валидация графа зависимостей](validation.md#Валидация-контейнера) * [Внедрение в subview и ячейки](storyboard.md#Внедрение-в-subview-и-ячейки) @@ -62,6 +61,7 @@ DITranquallity - небольшая библиотека для внедрени * [Один на контейнер (perContainer)](lifetime.md#Один-на-контейнер-perContainer) * [Единственный в графе (objectGraph)](lifetime.md#Единственный-в-графе-objectgraph) * [Всегда новый (prototype)](lifetime.md#Всегда-новый-prototype) +* [Пользовательский (custom)](lifetime.md#Пользовательский-custom) ## [Части и Фреймворки](part_framework.md#Части-и-Фреймворки) * [Объявление](part_framework.md#Объявление) @@ -80,11 +80,6 @@ DITranquallity - небольшая библиотека для внедрени * [Lazy](delayed_injection.md#Lazy) * [Provider](delayed_injection.md#Provider) -## [Поиск](scan.md#Поиск) -* [Предыстория](scan.md#Предыстория) -* [Поиск фреймворков](scan.md#Поиск-фреймворков) -* [Поиск частей](scan.md#Поиск-частей) - ## [Логирование](log.md#Логирование) * [Использование](log.md#Использование) diff --git a/Documentation/ru/scan.md b/Documentation/ru/scan.md deleted file mode 100644 index ebbfd202..00000000 --- a/Documentation/ru/scan.md +++ /dev/null @@ -1,70 +0,0 @@ -# Поиск - -В крупных проектах может насчитываться десятки, а то и сотни фреймворков. И в каждый фреймворк может состоять из сотни частей. -Упоминать все эти зависимости между частями/фреймворками может стать утомительным делом - добавился новый фреймворк или часть, надо не забыть внести ее в контейнер, удалился фреймворк - надо удалить его из контейнера, и т.д. - -В подобных случаях намного удобней придумать простое правило, по которому фреймворки и части будут находиться автоматически. К примеру, все фреймворки оканчиваются на фразу "Framework", а все части именуются как "{Name}Part". -Тогда следуя таким правилам именации, добавление фреймворка или части, можно сделать проще. - -На самом деле все идеально не будет, так как создание/удаление фреймворка/части, это не только создание/удаление зависимостей на него, но и также иногда изменение логики. Библиотека не может отвечать за логику, но она может упростить взаимодействие с зависимостями. - -## Предыстория -Swift в отличие от Obj-C, не поддерживает Runtime, но кое какие возможности из Obj-C работают и на Swift классах. - -По причинам ограничения Swift в этой части, не получиться использовать на прямую фреймворки и части чтобы их отыскать, но и добавление этой возможности не несет сложностей: достаточно фреймворк или часть унаследовать от класса `DIScanned`. -P.S. На самом деле я не уверен, что данный нюанс это плохо – в таком случае идет явное указание, что фреймворк или часть могут быть найдены, и не получится случайно включить что-нибудь лишнее. - -## Поиск Фреймворков -Чтобы организовать поиск фреймворков, как было описано выше, нужно от наследоваться от `DIScanned`: -```swift -class YourFramework: DIScanned, DIFramework { -... -} -``` - -После все фреймворки, которые объявлены как `DIScanned` и удовлетворяю некоторому правилу, можно найти с помощью специального класса `DIScanFramework`: -```swift -private class YourFrameworkScanner: DIScanFramework { -override class var predicate: Predicate? { return .name({ $0.contains("Framework") }) } -} -container.append(framework: YourFrameworkScanner.self) -``` -Предыдущий синтаксис в этой части был красивее, но так как фреймворки и части перешли на статический метод, то и тут пришлось писать через статику. В примере выше, был объявлен специальный класс, у которого определен предикат. Предикаты могут иметь следующие значения: -* nil (по умолчанию) - будут найдены все фреймворки в программе, то есть классы от наследованные от `DIScanned` и реализующие протокол `DIFramework` -* По имени - из всех фреймворков в программе будут отобраны те, чье имя удовлетворяет критерию. -* По типу - из всех фреймворков в программе будут отобраны те, чей тип удовлетворяет критерию. - -Сканирование по типу, является более сложным, но позволяет избавиться от проблем случайных опечаток. Например, за место того, чтобы называть все фреймворки одинаково, можно их от наследовать от единого своего класса: -```swift -class YourFramework: YourBaseFramework { ... } - -private class YourFrameworkScanner: DIScanFramework { -override class var predicate: Predicate? { return .type({ $0 is YourBaseFramework.Type }) } -} -``` - -## Поиск частей -Поиск частей идентичен поиску фреймворков, поэтому ниже будут приведен эквивалентный кусок кода: -```swift -class YourPart: DIScanned, DIPart { ... } - -private class YourPartScanner: DIScanPart { -override class var predicate: Predicate? { return .name({ $0.contains("Part") }) } -} -container.append(part: YourPartScanner.self) -``` - -Но в отличие от фреймворков у частей можно задать не только предикат по имени/типу но и задать bundle за пределы которого поиск не выйдет: -```swift -private class YourPartScanner: DIScanPart { -override class var bundle: Bundle? { return Bundle(for: YourPartScanner.self) } -} -container.append(part: YourPartScanner.self) -``` -В данном примере был упущен предикат - то есть он nil, но был написан бандл. Данный код означает, что будут найдены все части от наследованные от протокола `DIScanned` которые находятся внутри бандла. - - -#### [Главная](main.md) -#### [Предыдущая глава "Отложенное внедрение"](delayed_injection.md#Отложенное_внедрение) -#### [Следующая глава "Логирование"](log.md#Логирование) - diff --git a/README.md b/README.md index 07845e43..ff9fa4a7 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ The small library for [dependency injection](https://en.wikipedia.org/wiki/Depen * Property, Method injections [ru](Documentation/ru/injection.md#Внедрение) * Named, Tags definitions and Many [ru](Documentation/ru/modificators.md#Модификаторы) * Type forwarding [ru](Documentation/ru/registration.md#Указание-сервисов) -* Lifetimes: single, perRun(weak/strong), perContainer(weak/strong), objectGraph, prototype [ru](Documentation/ru/lifetime.md#Время-жизни) +* Lifetimes: single, perRun(weak/strong), perContainer(weak/strong), objectGraph, prototype, custom [ru](Documentation/ru/lifetime.md#Время-жизни) * iOS/macOS Storyboard and StoryboardReference [ru](Documentation/ru/storyboard.md#storyboard) * Circular dependencies [ru](Documentation/ru/injection.md#Внедрение-циклических-зависимостей-через-свойства) * Three level hierarchy: types, part, framework [ru](Documentation/ru/part_framework.md#Части-и-Фреймворки) @@ -27,7 +27,6 @@ The small library for [dependency injection](https://en.wikipedia.org/wiki/Depen * Very detail logs [ru](Documentation/ru/log.md#Логирование) * Validation at the run app [ru](Documentation/ru/validation.md#Валидация-контейнера) * Injection into Subviews and cells [ru](Documentation/ru/storyboard.md#Внедрение-в-subview-и-ячейки) -* Scan Parts/Frameworks [ru](Documentation/ru/scan.md#Поиск) * Support Delayed injection [ru](Documentation/ru/delayed_injection.md#Отложенное-внедрение) * Injection with arguments at any depth * Container Hierarchy diff --git a/Sources/Core/Public/DILifetime.swift b/Sources/Core/Public/DILifetime.swift index 9bcee285..dcc0ce5d 100644 --- a/Sources/Core/Public/DILifetime.swift +++ b/Sources/Core/Public/DILifetime.swift @@ -25,7 +25,7 @@ public enum DILifeTime: Equatable { case objectGraph /// The object is created every time case prototype - /// Use user scope + /// Use user scope. For more information see `DIScope` case custom(DIScope) /// Default life time. Is taken from the settings. see: `DISetting.Defaults.lifeTime` diff --git a/Sources/Core/Public/DIScope.swift b/Sources/Core/Public/DIScope.swift index b2f6a404..da017e86 100644 --- a/Sources/Core/Public/DIScope.swift +++ b/Sources/Core/Public/DIScope.swift @@ -8,6 +8,7 @@ /// Scopes need for control lifetime of your objects public class DIScope { + /// Scope name. Used in logging public let name: String internal let policy: DILifeTime.ReferenceCounting @@ -18,6 +19,7 @@ public class DIScope { /// - Parameters: /// - name: Scope name. need for logging /// - storage: data storing policy + /// - policy: weak or strong. For weak policy DI wrapped objects use Weak class and save wrapped objects into storage. /// - parent: Checks the parent scope before making an object public init(name: String, storage: DIStorage, policy: DILifeTime.ReferenceCounting = .strong, parent: DIScope? = nil) { self.name = name @@ -35,3 +37,9 @@ public class DIScope { self.storage.clean() } } + +extension DIScope: CustomStringConvertible { + public var description: String { + return "" + } +} diff --git a/Sources/Core/Public/DITypes.swift b/Sources/Core/Public/DITypes.swift index e7f134ff..b3dabbb4 100644 --- a/Sources/Core/Public/DITypes.swift +++ b/Sources/Core/Public/DITypes.swift @@ -35,7 +35,7 @@ public struct DIComponentInfo: Hashable, CustomStringConvertible { public var description: String { - return "Component with type: \(type) in file: \((file as NSString).lastPathComponent) on line: \(line)" + return "" } } diff --git a/Sources/Info.plist b/Sources/Info.plist index cb3e1f5f..03812edd 100644 --- a/Sources/Info.plist +++ b/Sources/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 3.5.2 + 3.6.0 CFBundleSignature ???? CFBundleVersion diff --git a/jazzy.sh b/jazzy.sh index f1cab2c7..4f1ae355 100644 --- a/jazzy.sh +++ b/jazzy.sh @@ -4,7 +4,7 @@ jazzy \ --author_url /~https://github.com/ivlevAstef \ --github_url /~https://github.com/ivlevAstef/DITranquillity \ --github-file-prefix /~https://github.com/ivlevAstef/DITranquillity/tree/master \ ---module-version 3.5.2 \ +--module-version 3.6.0 \ --xcodebuild-arguments -scheme,DITranquillity-iOS \ --module DITranquillity \ --root-url /~https://github.com/ivlevAstef/DITranquillity/code/ \