diff --git a/Artifacts/UDFCore.xcframework/Info.plist b/Artifacts/UDFCore.xcframework/Info.plist index 665e6a45..718a1cd7 100644 --- a/Artifacts/UDFCore.xcframework/Info.plist +++ b/Artifacts/UDFCore.xcframework/Info.plist @@ -6,16 +6,15 @@ LibraryIdentifier - macos-arm64_x86_64 + ios-arm64 LibraryPath UDFCore.framework SupportedArchitectures arm64 - x86_64 SupportedPlatform - macos + ios LibraryIdentifier @@ -34,15 +33,16 @@ LibraryIdentifier - ios-arm64 + macos-arm64_x86_64 LibraryPath UDFCore.framework SupportedArchitectures arm64 + x86_64 SupportedPlatform - ios + macos CFBundlePackageType diff --git a/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/Headers/UDFCore-Swift.h b/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/Headers/UDFCore-Swift.h index 39fd5d68..f121dc4b 100644 --- a/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/Headers/UDFCore-Swift.h +++ b/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/Headers/UDFCore-Swift.h @@ -260,6 +260,7 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); #if __has_warning("-Watimport-in-framework-header") #pragma clang diagnostic ignored "-Watimport-in-framework-header" #endif +@import Foundation; #endif #endif @@ -281,6 +282,17 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); #if defined(__OBJC__) +SWIFT_CLASS("_TtC7UDFCore21AsynchronousOperation") +@interface AsynchronousOperation : NSOperation +@property (nonatomic, readonly, getter=isAsynchronous) BOOL asynchronous; +@property (nonatomic, readonly, getter=isExecuting) BOOL executing; +@property (nonatomic, readonly, getter=isFinished) BOOL finished; +- (void)start; +- (void)main; +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; +@end + + #endif #if defined(__cplusplus) #endif diff --git a/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/Info.plist b/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/Info.plist index c9e39a27..4da96000 100644 Binary files a/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/Info.plist and b/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/Info.plist differ diff --git a/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios.abi.json b/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios.abi.json index 1e7e458b..0f98861e 100644 --- a/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios.abi.json +++ b/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios.abi.json @@ -1015,126 +1015,23 @@ "kind": "TypeDecl", "name": "AppReducer", "printedName": "AppReducer", - "children": [ - { - "kind": "Function", - "name": "preReduce", - "printedName": "preReduce(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "GenericTypeParam", - "printedName": "τ_1_0" - } - ], - "declKind": "Func", - "usr": "s:7UDFCore10AppReducerP9preReduceyyqd__AA6ActionRd__lF", - "mangledName": "$s7UDFCore10AppReducerP9preReduceyyqd__AA6ActionRd__lF", - "moduleName": "UDFCore", - "genericSig": "<τ_0_0, τ_1_0 where τ_0_0 : UDFCore.AppReducer, τ_1_0 : UDFCore.Action>", - "sugared_genericSig": "", - "protocolReq": true, - "declAttributes": [ - "Mutating" - ], - "reqNewWitnessTableEntry": true, - "funcSelfKind": "Mutating" - }, - { - "kind": "Function", - "name": "postReduce", - "printedName": "postReduce(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "GenericTypeParam", - "printedName": "τ_1_0" - } - ], - "declKind": "Func", - "usr": "s:7UDFCore10AppReducerP10postReduceyyqd__AA6ActionRd__lF", - "mangledName": "$s7UDFCore10AppReducerP10postReduceyyqd__AA6ActionRd__lF", - "moduleName": "UDFCore", - "genericSig": "<τ_0_0, τ_1_0 where τ_0_0 : UDFCore.AppReducer, τ_1_0 : UDFCore.Action>", - "sugared_genericSig": "", - "protocolReq": true, - "declAttributes": [ - "Mutating" - ], - "reqNewWitnessTableEntry": true, - "funcSelfKind": "Mutating" - }, - { - "kind": "Function", - "name": "preReduce", - "printedName": "preReduce(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "GenericTypeParam", - "printedName": "τ_1_0" - } - ], - "declKind": "Func", - "usr": "s:7UDFCore10AppReducerPAAE9preReduceyyqd__AA6ActionRd__lF", - "mangledName": "$s7UDFCore10AppReducerPAAE9preReduceyyqd__AA6ActionRd__lF", - "moduleName": "UDFCore", - "genericSig": "<τ_0_0, τ_1_0 where τ_0_0 : UDFCore.AppReducer, τ_1_0 : UDFCore.Action>", - "sugared_genericSig": "", - "isFromExtension": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "postReduce", - "printedName": "postReduce(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "GenericTypeParam", - "printedName": "τ_1_0" - } - ], - "declKind": "Func", - "usr": "s:7UDFCore10AppReducerPAAE10postReduceyyqd__AA6ActionRd__lF", - "mangledName": "$s7UDFCore10AppReducerPAAE10postReduceyyqd__AA6ActionRd__lF", - "moduleName": "UDFCore", - "genericSig": "<τ_0_0, τ_1_0 where τ_0_0 : UDFCore.AppReducer, τ_1_0 : UDFCore.Action>", - "sugared_genericSig": "", - "isFromExtension": true, - "funcSelfKind": "NonMutating" - } - ], "declKind": "Protocol", "usr": "s:7UDFCore10AppReducerP", "mangledName": "$s7UDFCore10AppReducerP", "moduleName": "UDFCore", - "genericSig": "<τ_0_0 : Swift.Equatable, τ_0_0 : UDFCore.Scope>", - "sugared_genericSig": "", + "genericSig": "<τ_0_0 : Swift.Equatable, τ_0_0 : Swift.Sendable, τ_0_0 : UDFCore.Scope>", + "sugared_genericSig": "", "declAttributes": [ "AccessControl" ], "conformances": [ + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, { "kind": "Conformance", "name": "Scope", @@ -1334,12 +1231,19 @@ "usr": "s:7UDFCore6ActionP", "mangledName": "$s7UDFCore6ActionP", "moduleName": "UDFCore", - "genericSig": "<τ_0_0 : Swift.Equatable>", - "sugared_genericSig": "", + "genericSig": "<τ_0_0 : Swift.Equatable, τ_0_0 : Swift.Sendable>", + "sugared_genericSig": "", "declAttributes": [ "AccessControl" ], "conformances": [ + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, { "kind": "Conformance", "name": "Equatable", @@ -1835,6 +1739,13 @@ "printedName": "Hashable", "usr": "s:SH", "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" } ] }, @@ -2240,6 +2151,13 @@ "printedName": "Equatable", "usr": "s:SQ", "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" } ] } @@ -2690,6 +2608,9 @@ "usr": "s:7UDFCore10_ContainerPAAE4bodyQrvp", "mangledName": "$s7UDFCore10_ContainerPAAE4bodyQrvp", "moduleName": "UDFCore", + "declAttributes": [ + "Custom" + ], "isFromExtension": true, "accessors": [ { @@ -4954,6 +4875,13 @@ "usr": "s:SQ", "mangledName": "$sSQ" }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, { "kind": "Conformance", "name": "CustomDebugStringConvertible", @@ -6567,6 +6495,13 @@ "printedName": "Hashable", "usr": "s:SH", "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" } ] }, @@ -7312,69 +7247,721 @@ }, { "kind": "TypeDecl", - "name": "NoneScope", - "printedName": "NoneScope", + "name": "AsynchronousOperation", + "printedName": "AsynchronousOperation", "children": [ { - "kind": "Function", - "name": "isEqual", - "printedName": "isEqual(_:)", + "kind": "Var", + "name": "isAsynchronous", + "printedName": "isAsynchronous", "children": [ { "kind": "TypeNominal", "name": "Bool", "printedName": "Swift.Bool", "usr": "s:Sb" - }, + } + ], + "declKind": "Var", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(py)asynchronous", + "mangledName": "$s7UDFCore21AsynchronousOperationC02isB0Sbvp", + "moduleName": "UDFCore", + "overriding": true, + "objc_name": "asynchronous", + "declAttributes": [ + "Dynamic", + "ObjC", + "Override", + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)isAsynchronous", + "mangledName": "$s7UDFCore21AsynchronousOperationC02isB0Sbvg", + "moduleName": "UDFCore", + "overriding": true, + "objc_name": "isAsynchronous", + "declAttributes": [ + "Dynamic", + "ObjC" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "isExecuting", + "printedName": "isExecuting", + "children": [ { "kind": "TypeNominal", - "name": "IsEquatable", - "printedName": "UDFCore.IsEquatable", - "usr": "s:7UDFCore11IsEquatableP" + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" } ], - "declKind": "Func", - "usr": "s:7UDFCore9NoneScopeV7isEqualySbAA11IsEquatable_pF", - "mangledName": "$s7UDFCore9NoneScopeV7isEqualySbAA11IsEquatable_pF", + "declKind": "Var", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(py)executing", + "mangledName": "$s7UDFCore21AsynchronousOperationC11isExecutingSbvp", "moduleName": "UDFCore", + "overriding": true, + "objc_name": "executing", "declAttributes": [ + "Dynamic", + "ObjC", + "Override", "AccessControl" ], - "funcSelfKind": "NonMutating" + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)isExecuting", + "mangledName": "$s7UDFCore21AsynchronousOperationC11isExecutingSbvg", + "moduleName": "UDFCore", + "overriding": true, + "objc_name": "isExecuting", + "declAttributes": [ + "Dynamic", + "ObjC" + ], + "accessorKind": "get" + } + ] }, { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", + "kind": "Var", + "name": "isFinished", + "printedName": "isFinished", "children": [ { "kind": "TypeNominal", "name": "Bool", "printedName": "Swift.Bool", "usr": "s:Sb" - }, + } + ], + "declKind": "Var", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(py)finished", + "mangledName": "$s7UDFCore21AsynchronousOperationC10isFinishedSbvp", + "moduleName": "UDFCore", + "overriding": true, + "objc_name": "finished", + "declAttributes": [ + "Dynamic", + "ObjC", + "Override", + "AccessControl" + ], + "accessors": [ { - "kind": "TypeNominal", - "name": "NoneScope", - "printedName": "UDFCore.NoneScope", - "usr": "s:7UDFCore9NoneScopeV" - }, + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)isFinished", + "mangledName": "$s7UDFCore21AsynchronousOperationC10isFinishedSbvg", + "moduleName": "UDFCore", + "overriding": true, + "objc_name": "isFinished", + "declAttributes": [ + "Dynamic", + "ObjC" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "start", + "printedName": "start()", + "children": [ { "kind": "TypeNominal", - "name": "NoneScope", - "printedName": "UDFCore.NoneScope", - "usr": "s:7UDFCore9NoneScopeV" + "name": "Void", + "printedName": "()" } ], "declKind": "Func", - "usr": "s:7UDFCore9NoneScopeV2eeoiySbAC_ACtFZ", - "mangledName": "$s7UDFCore9NoneScopeV2eeoiySbAC_ACtFZ", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)start", + "mangledName": "$s7UDFCore21AsynchronousOperationC5startyyF", "moduleName": "UDFCore", - "static": true, - "implicit": true, + "overriding": true, + "objc_name": "start", + "declAttributes": [ + "Dynamic", + "ObjC", + "Override", + "AccessControl" + ], "funcSelfKind": "NonMutating" - } - ], + }, + { + "kind": "Function", + "name": "main", + "printedName": "main()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)main", + "mangledName": "$s7UDFCore21AsynchronousOperationC4mainyyF", + "moduleName": "UDFCore", + "overriding": true, + "isOpen": true, + "objc_name": "main", + "declAttributes": [ + "Dynamic", + "ObjC", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "finish", + "printedName": "finish()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:7UDFCore21AsynchronousOperationC6finishyyF", + "mangledName": "$s7UDFCore21AsynchronousOperationC6finishyyF", + "moduleName": "UDFCore", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "TypeDecl", + "name": "State", + "printedName": "State", + "children": [ + { + "kind": "Var", + "name": "ready", + "printedName": "ready", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(UDFCore.AsynchronousOperation.State.Type) -> UDFCore.AsynchronousOperation.State", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "UDFCore.AsynchronousOperation.State.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO5readyyA2EmF", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO5readyyA2EmF", + "moduleName": "UDFCore" + }, + { + "kind": "Var", + "name": "executing", + "printedName": "executing", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(UDFCore.AsynchronousOperation.State.Type) -> UDFCore.AsynchronousOperation.State", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "UDFCore.AsynchronousOperation.State.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO9executingyA2EmF", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO9executingyA2EmF", + "moduleName": "UDFCore" + }, + { + "kind": "Var", + "name": "finished", + "printedName": "finished", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(UDFCore.AsynchronousOperation.State.Type) -> UDFCore.AsynchronousOperation.State", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "UDFCore.AsynchronousOperation.State.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO8finishedyA2EmF", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO8finishedyA2EmF", + "moduleName": "UDFCore" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UDFCore.AsynchronousOperation.State?", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO8rawValueAESgSS_tcfc", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO8rawValueAESgSS_tcfc", + "moduleName": "UDFCore", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO8rawValueSSvp", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO8rawValueSSvp", + "moduleName": "UDFCore", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO8rawValueSSvg", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO8rawValueSSvg", + "moduleName": "UDFCore", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO", + "moduleName": "UDFCore", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "enumRawTypeName": "String", + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + } + ] + }, + { + "kind": "Var", + "name": "state", + "printedName": "state", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ], + "declKind": "Var", + "usr": "s:7UDFCore21AsynchronousOperationC5stateAC5StateOvp", + "mangledName": "$s7UDFCore21AsynchronousOperationC5stateAC5StateOvp", + "moduleName": "UDFCore", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ], + "declKind": "Accessor", + "usr": "s:7UDFCore21AsynchronousOperationC5stateAC5StateOvg", + "mangledName": "$s7UDFCore21AsynchronousOperationC5stateAC5StateOvg", + "moduleName": "UDFCore", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ], + "declKind": "Accessor", + "usr": "s:7UDFCore21AsynchronousOperationC5stateAC5StateOvs", + "mangledName": "$s7UDFCore21AsynchronousOperationC5stateAC5StateOvs", + "moduleName": "UDFCore", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:7UDFCore21AsynchronousOperationC5stateAC5StateOvM", + "mangledName": "$s7UDFCore21AsynchronousOperationC5stateAC5StateOvM", + "moduleName": "UDFCore", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "AsynchronousOperation", + "printedName": "UDFCore.AsynchronousOperation", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation" + } + ], + "declKind": "Constructor", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)init", + "mangledName": "$s7UDFCore21AsynchronousOperationCACycfc", + "moduleName": "UDFCore", + "overriding": true, + "implicit": true, + "objc_name": "init", + "declAttributes": [ + "Dynamic", + "ObjC", + "Override" + ], + "init_kind": "Designated" + } + ], + "declKind": "Class", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation", + "mangledName": "$s7UDFCore21AsynchronousOperationC", + "moduleName": "UDFCore", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "ObjC" + ], + "superclassUsr": "c:objc(cs)NSOperation", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "Foundation.Operation", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "UDFCore", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "NoneScope", + "printedName": "NoneScope", + "children": [ + { + "kind": "Function", + "name": "isEqual", + "printedName": "isEqual(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "IsEquatable", + "printedName": "UDFCore.IsEquatable", + "usr": "s:7UDFCore11IsEquatableP" + } + ], + "declKind": "Func", + "usr": "s:7UDFCore9NoneScopeV7isEqualySbAA11IsEquatable_pF", + "mangledName": "$s7UDFCore9NoneScopeV7isEqualySbAA11IsEquatable_pF", + "moduleName": "UDFCore", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "NoneScope", + "printedName": "UDFCore.NoneScope", + "usr": "s:7UDFCore9NoneScopeV" + }, + { + "kind": "TypeNominal", + "name": "NoneScope", + "printedName": "UDFCore.NoneScope", + "usr": "s:7UDFCore9NoneScopeV" + } + ], + "declKind": "Func", + "usr": "s:7UDFCore9NoneScopeV2eeoiySbAC_ACtFZ", + "mangledName": "$s7UDFCore9NoneScopeV2eeoiySbAC_ACtFZ", + "moduleName": "UDFCore", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], "declKind": "Struct", "usr": "s:7UDFCore9NoneScopeV", "mangledName": "$s7UDFCore9NoneScopeV", @@ -7508,16 +8095,6 @@ } ] }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "UDFCore", - "declAttributes": [ - "RawDocComment" - ] - }, { "kind": "TypeDecl", "name": "Dictionary", @@ -9285,21 +9862,21 @@ { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/View\/Container\/ContainerState.swift", "kind": "StringLiteral", - "offset": 181, + "offset": 187, "length": 2, "value": "\"\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/Action\/Action.swift", "kind": "BooleanLiteral", - "offset": 963, + "offset": 973, "length": 4, "value": "true" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/Action\/Action.swift", "kind": "BooleanLiteral", - "offset": 1115, + "offset": 1125, "length": 4, "value": "true" }, @@ -9376,14 +9953,14 @@ { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/View\/Container\/Container.swift", "kind": "BooleanLiteral", - "offset": 2354, + "offset": 2369, "length": 4, "value": "true" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/View\/Container\/Container.swift", "kind": "BooleanLiteral", - "offset": 2640, + "offset": 2655, "length": 5, "value": "false" }, @@ -9457,80 +10034,45 @@ "length": 5, "value": "false" }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/EnvironmentStore.swift", + "kind": "StringLiteral", + "offset": 543, + "length": 18, + "value": "\"EnvironmentStore\"" + }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", "kind": "Array", - "offset": 357, + "offset": 364, "length": 2, "value": "[]" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", "kind": "BooleanLiteral", - "offset": 2874, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 3304, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 3418, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 3573, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 3825, + "offset": 2706, "length": 5, "value": "false" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", "kind": "BooleanLiteral", - "offset": 3929, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 4010, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 4124, + "offset": 3241, "length": 4, "value": "true" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", "kind": "BooleanLiteral", - "offset": 6167, + "offset": 5316, "length": 5, "value": "false" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", "kind": "BooleanLiteral", - "offset": 6259, + "offset": 5408, "length": 4, "value": "true" }, @@ -9576,13 +10118,6 @@ "length": 3, "value": "[]" }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Common\/Scope\/Scope+None.swift", - "kind": "BooleanLiteral", - "offset": 314, - "length": 4, - "value": "true" - }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", "kind": "IntegerLiteral", @@ -9594,50 +10129,85 @@ "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", "kind": "StringLiteral", "offset": 246, - "length": 18, - "value": "\"EnvironmentStore\"" + "length": 12, + "value": "\"StoreQueue\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "Array", - "offset": 368, - "length": 2, - "value": "[]" + "kind": "BooleanLiteral", + "offset": 420, + "length": 4, + "value": "true" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "IntegerLiteral", - "offset": 484, - "length": 1, - "value": "0" + "kind": "StringLiteral", + "offset": 1080, + "length": 7, + "value": "\"Ready\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "IntegerLiteral", - "offset": 420, - "length": 1, - "value": "0" + "kind": "StringLiteral", + "offset": 1113, + "length": 11, + "value": "\"Executing\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "IntegerLiteral", - "offset": 813, - "length": 1, - "value": "1" + "kind": "StringLiteral", + "offset": 1149, + "length": 10, + "value": "\"Finished\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "IntegerLiteral", - "offset": 950, - "length": 1, - "value": "0" + "kind": "StringLiteral", + "offset": 1209, + "length": 4, + "value": "\"is\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "IntegerLiteral", - "offset": 980, - "length": 1, - "value": "1" + "kind": "StringLiteral", + "offset": 1080, + "length": 7, + "value": "\"Ready\"" + }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", + "kind": "StringLiteral", + "offset": 1113, + "length": 11, + "value": "\"Executing\"" + }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", + "kind": "StringLiteral", + "offset": 1149, + "length": 10, + "value": "\"Finished\"" + }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", + "kind": "StringLiteral", + "offset": 1833, + "length": 35, + "value": "\"AsynchronousOperation State Queue\"" + }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", + "kind": "StringLiteral", + "offset": 2014, + "length": 14, + "value": "\"UDFCore.StoreOperation\"" + }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Common\/Scope\/Scope+None.swift", + "kind": "BooleanLiteral", + "offset": 314, + "length": 4, + "value": "true" } ] } \ No newline at end of file diff --git a/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios.private.swiftinterface b/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios.private.swiftinterface index 510fea43..4f40d58e 100644 --- a/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios.private.swiftinterface +++ b/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios.private.swiftinterface @@ -48,13 +48,7 @@ public protocol _Mergeable { func merging(_ newValue: Self) -> Self func filled(from value: Self, mutate: (_ filled: inout Self, _ old: Self) -> Swift.Void) -> Self } -public protocol AppReducer : Swift.Equatable, UDFCore.Scope { - mutating func preReduce(_ action: some Action) - mutating func postReduce(_ action: some Action) -} -extension UDFCore.AppReducer { - public func preReduce(_ action: some Action) - public func postReduce(_ action: some Action) +public protocol AppReducer : Swift.Equatable, Swift.Sendable, UDFCore.Scope { } public protocol IsEquatable { func isEqual(_ rhs: any UDFCore.IsEquatable) -> Swift.Bool @@ -62,7 +56,7 @@ public protocol IsEquatable { extension UDFCore.IsEquatable where Self : Swift.Equatable { public func isEqual(_ rhs: any UDFCore.IsEquatable) -> Swift.Bool } -public protocol Action : Swift.Equatable { +public protocol Action : Swift.Equatable, Swift.Sendable { } extension UDFCore.Action { public func with(animation: SwiftUI.Animation?) -> some UDFCore.Action @@ -90,7 +84,7 @@ public typealias EquatableScope = Swift.Equatable & UDFCore.Scope extension UDFCore._Mergeable { public func filled(from value: Self, mutate: (_ filledValue: inout Self, _ oldValue: Self) -> Swift.Void) -> Self } -public enum MiddlewareStatus { +public enum MiddlewareStatus : Swift.Sendable { case active case suspend public static func == (a: UDFCore.MiddlewareStatus, b: UDFCore.MiddlewareStatus) -> Swift.Bool @@ -151,7 +145,7 @@ extension UDFCore._Container { public var store: UDFCore.EnvironmentStore { get } - public var body: some SwiftUI.View { + @_Concurrency.MainActor public var body: some SwiftUI.View { get } } @@ -318,7 +312,7 @@ extension UDFCore.Store { public func bind(_ action: some Action, priority: UDFCore.ActionPriority = .default, fileName: Swift.String = #file, functionName: Swift.String = #function, lineNumber: Swift.Int = #line) -> UDFCore.Command public func bind(_ action: @escaping (T) -> some Action, priority: UDFCore.ActionPriority = .default, fileName: Swift.String = #file, functionName: Swift.String = #function, lineNumber: Swift.Int = #line) -> UDFCore.CommandWith } -public enum ActionPriority { +public enum ActionPriority : Swift.Sendable { case `default` case userInteractive public static func == (a: UDFCore.ActionPriority, b: UDFCore.ActionPriority) -> Swift.Bool @@ -386,6 +380,36 @@ extension UDFCore.Reducing { public mutating func reduce(_ action: some Action) } public typealias Reducible = Swift.Equatable & UDFCore.Reducing +@objc @_inheritsConvenienceInitializers open class AsynchronousOperation : Foundation.Operation { + @objc override dynamic public var isAsynchronous: Swift.Bool { + @objc get + } + @objc override dynamic public var isExecuting: Swift.Bool { + @objc get + } + @objc override dynamic public var isFinished: Swift.Bool { + @objc get + } + @objc override dynamic public func start() + @objc override dynamic open func main() + public func finish() + public enum State : Swift.String { + case ready + case executing + case finished + public init?(rawValue: Swift.String) + public typealias RawValue = Swift.String + public var rawValue: Swift.String { + get + } + } + public var state: UDFCore.AsynchronousOperation.State { + get + set + } + @objc override dynamic public init() + @objc deinit +} extension UDFCore.Scope where Self == UDFCore.NoneScope { public static var none: UDFCore.NoneScope { get @@ -404,3 +428,6 @@ extension UDFCore.MiddlewareStatus : Swift.Hashable {} extension UDFCore.ActionPriority : Swift.Equatable {} extension UDFCore.ActionPriority : Swift.Hashable {} extension UDFCore.XCTestStore : Swift.Sendable {} +extension UDFCore.AsynchronousOperation.State : Swift.Equatable {} +extension UDFCore.AsynchronousOperation.State : Swift.Hashable {} +extension UDFCore.AsynchronousOperation.State : Swift.RawRepresentable {} diff --git a/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios.swiftdoc b/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios.swiftdoc index f4961a01..96fae6a1 100644 Binary files a/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios.swiftdoc and b/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios.swiftdoc differ diff --git a/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios.swiftinterface b/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios.swiftinterface index 510fea43..4f40d58e 100644 --- a/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios.swiftinterface +++ b/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios.swiftinterface @@ -48,13 +48,7 @@ public protocol _Mergeable { func merging(_ newValue: Self) -> Self func filled(from value: Self, mutate: (_ filled: inout Self, _ old: Self) -> Swift.Void) -> Self } -public protocol AppReducer : Swift.Equatable, UDFCore.Scope { - mutating func preReduce(_ action: some Action) - mutating func postReduce(_ action: some Action) -} -extension UDFCore.AppReducer { - public func preReduce(_ action: some Action) - public func postReduce(_ action: some Action) +public protocol AppReducer : Swift.Equatable, Swift.Sendable, UDFCore.Scope { } public protocol IsEquatable { func isEqual(_ rhs: any UDFCore.IsEquatable) -> Swift.Bool @@ -62,7 +56,7 @@ public protocol IsEquatable { extension UDFCore.IsEquatable where Self : Swift.Equatable { public func isEqual(_ rhs: any UDFCore.IsEquatable) -> Swift.Bool } -public protocol Action : Swift.Equatable { +public protocol Action : Swift.Equatable, Swift.Sendable { } extension UDFCore.Action { public func with(animation: SwiftUI.Animation?) -> some UDFCore.Action @@ -90,7 +84,7 @@ public typealias EquatableScope = Swift.Equatable & UDFCore.Scope extension UDFCore._Mergeable { public func filled(from value: Self, mutate: (_ filledValue: inout Self, _ oldValue: Self) -> Swift.Void) -> Self } -public enum MiddlewareStatus { +public enum MiddlewareStatus : Swift.Sendable { case active case suspend public static func == (a: UDFCore.MiddlewareStatus, b: UDFCore.MiddlewareStatus) -> Swift.Bool @@ -151,7 +145,7 @@ extension UDFCore._Container { public var store: UDFCore.EnvironmentStore { get } - public var body: some SwiftUI.View { + @_Concurrency.MainActor public var body: some SwiftUI.View { get } } @@ -318,7 +312,7 @@ extension UDFCore.Store { public func bind(_ action: some Action, priority: UDFCore.ActionPriority = .default, fileName: Swift.String = #file, functionName: Swift.String = #function, lineNumber: Swift.Int = #line) -> UDFCore.Command public func bind(_ action: @escaping (T) -> some Action, priority: UDFCore.ActionPriority = .default, fileName: Swift.String = #file, functionName: Swift.String = #function, lineNumber: Swift.Int = #line) -> UDFCore.CommandWith } -public enum ActionPriority { +public enum ActionPriority : Swift.Sendable { case `default` case userInteractive public static func == (a: UDFCore.ActionPriority, b: UDFCore.ActionPriority) -> Swift.Bool @@ -386,6 +380,36 @@ extension UDFCore.Reducing { public mutating func reduce(_ action: some Action) } public typealias Reducible = Swift.Equatable & UDFCore.Reducing +@objc @_inheritsConvenienceInitializers open class AsynchronousOperation : Foundation.Operation { + @objc override dynamic public var isAsynchronous: Swift.Bool { + @objc get + } + @objc override dynamic public var isExecuting: Swift.Bool { + @objc get + } + @objc override dynamic public var isFinished: Swift.Bool { + @objc get + } + @objc override dynamic public func start() + @objc override dynamic open func main() + public func finish() + public enum State : Swift.String { + case ready + case executing + case finished + public init?(rawValue: Swift.String) + public typealias RawValue = Swift.String + public var rawValue: Swift.String { + get + } + } + public var state: UDFCore.AsynchronousOperation.State { + get + set + } + @objc override dynamic public init() + @objc deinit +} extension UDFCore.Scope where Self == UDFCore.NoneScope { public static var none: UDFCore.NoneScope { get @@ -404,3 +428,6 @@ extension UDFCore.MiddlewareStatus : Swift.Hashable {} extension UDFCore.ActionPriority : Swift.Equatable {} extension UDFCore.ActionPriority : Swift.Hashable {} extension UDFCore.XCTestStore : Swift.Sendable {} +extension UDFCore.AsynchronousOperation.State : Swift.Equatable {} +extension UDFCore.AsynchronousOperation.State : Swift.Hashable {} +extension UDFCore.AsynchronousOperation.State : Swift.RawRepresentable {} diff --git a/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/UDFCore b/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/UDFCore index 3104a947..d654306f 100755 Binary files a/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/UDFCore and b/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/UDFCore differ diff --git a/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/_CodeSignature/CodeResources b/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/_CodeSignature/CodeResources index baa7f42c..617e45ab 100644 --- a/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/_CodeSignature/CodeResources +++ b/Artifacts/UDFCore.xcframework/ios-arm64/UDFCore.framework/_CodeSignature/CodeResources @@ -10,31 +10,31 @@ Headers/UDFCore-Swift.h - Gc0xK9FCudLcdnsKO2oeSPI7OQU= + rJRhYgAdmNU+M4lReW0Rlrqppsc= Info.plist - gJGS/s6bUL1deYgERd/uwZf7Xns= + 7ZD+yXpD36MmcbaYzBcfkQ3gaBo= Modules/UDFCore.swiftmodule/arm64-apple-ios.abi.json - z+nJ0BbbQCkAlky0mr2KEKsA13o= + WEAfhwO+03JvisGhSLLuL+EcX1w= Modules/UDFCore.swiftmodule/arm64-apple-ios.private.swiftinterface - UoqKbd65Z5xhU/7DOq2L8JuFo78= + DgA9U/JT4WXczsowDYPvdigg5K0= Modules/UDFCore.swiftmodule/arm64-apple-ios.swiftdoc - XukTfOF9FLOpAIK3zN07dVaZAnA= + HwqVXd4nSzFbFXTshUNvDSGz3E8= Modules/UDFCore.swiftmodule/arm64-apple-ios.swiftinterface - UoqKbd65Z5xhU/7DOq2L8JuFo78= + DgA9U/JT4WXczsowDYPvdigg5K0= Modules/UDFCore.swiftmodule/arm64-apple-ios.swiftmodule - cmTeehg1BuBCCMYxYRs8shacR6Q= + i+t5ydo3AGLjgQEl9dV6yCnLZLw= Modules/module.modulemap @@ -54,42 +54,42 @@ hash2 - 1I7d69KCvShJQ4gl5QQm26Z9XoyP0+X4d3cFO1VZFaw= + HepPAARWrDxXpjH94hlpBnxQZ7AnYRd9qIhCOXkbB70= Modules/UDFCore.swiftmodule/arm64-apple-ios.abi.json hash2 - gMitaDDjfHIr0z4x1ysARskKHBB4ZeLNJJhfbutlUk0= + CYGXkoPvQFD29KKO8XFpnqm2p2qQ0o7hilnt9Agy6bU= Modules/UDFCore.swiftmodule/arm64-apple-ios.private.swiftinterface hash2 - 4RF52MlWBeN6EbuR5DcUDoIkObaIw4T/j6Tqexgdb5o= + zBp5S7aNOHvv/VT/UkbAUEoQuzjMtkoN253vQJwv0d4= Modules/UDFCore.swiftmodule/arm64-apple-ios.swiftdoc hash2 - ojD3x1poSPd1BXHLfwg3GlSWWvvx3BaRfD0rNSTuu64= + lrZlSja/n3vJH+K+ek7/VIlTvtp3Ex2+bi9C6l4Eoik= Modules/UDFCore.swiftmodule/arm64-apple-ios.swiftinterface hash2 - 4RF52MlWBeN6EbuR5DcUDoIkObaIw4T/j6Tqexgdb5o= + zBp5S7aNOHvv/VT/UkbAUEoQuzjMtkoN253vQJwv0d4= Modules/UDFCore.swiftmodule/arm64-apple-ios.swiftmodule hash2 - 1GBZUYpVHdH+wH6Z0DSJXoAPqcJLlm3vgMuTNiKNwNw= + /3i/xYnQLrrPhIpAO7ztanDNB4F8kFxfxvaoruXSoRk= Modules/module.modulemap diff --git a/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Headers/UDFCore-Swift.h b/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Headers/UDFCore-Swift.h index bdf88d88..0c360b21 100644 --- a/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Headers/UDFCore-Swift.h +++ b/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Headers/UDFCore-Swift.h @@ -260,6 +260,7 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); #if __has_warning("-Watimport-in-framework-header") #pragma clang diagnostic ignored "-Watimport-in-framework-header" #endif +@import Foundation; #endif #endif @@ -281,6 +282,17 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); #if defined(__OBJC__) +SWIFT_CLASS("_TtC7UDFCore21AsynchronousOperation") +@interface AsynchronousOperation : NSOperation +@property (nonatomic, readonly, getter=isAsynchronous) BOOL asynchronous; +@property (nonatomic, readonly, getter=isExecuting) BOOL executing; +@property (nonatomic, readonly, getter=isFinished) BOOL finished; +- (void)start; +- (void)main; +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; +@end + + #endif #if defined(__cplusplus) #endif @@ -551,6 +563,7 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); #if __has_warning("-Watimport-in-framework-header") #pragma clang diagnostic ignored "-Watimport-in-framework-header" #endif +@import Foundation; #endif #endif @@ -572,6 +585,17 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); #if defined(__OBJC__) +SWIFT_CLASS("_TtC7UDFCore21AsynchronousOperation") +@interface AsynchronousOperation : NSOperation +@property (nonatomic, readonly, getter=isAsynchronous) BOOL asynchronous; +@property (nonatomic, readonly, getter=isExecuting) BOOL executing; +@property (nonatomic, readonly, getter=isFinished) BOOL finished; +- (void)start; +- (void)main; +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; +@end + + #endif #if defined(__cplusplus) #endif diff --git a/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Info.plist b/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Info.plist index acb0004b..2b7941ee 100644 Binary files a/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Info.plist and b/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Info.plist differ diff --git a/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios-simulator.abi.json b/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios-simulator.abi.json index 1e7e458b..0f98861e 100644 --- a/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios-simulator.abi.json +++ b/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios-simulator.abi.json @@ -1015,126 +1015,23 @@ "kind": "TypeDecl", "name": "AppReducer", "printedName": "AppReducer", - "children": [ - { - "kind": "Function", - "name": "preReduce", - "printedName": "preReduce(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "GenericTypeParam", - "printedName": "τ_1_0" - } - ], - "declKind": "Func", - "usr": "s:7UDFCore10AppReducerP9preReduceyyqd__AA6ActionRd__lF", - "mangledName": "$s7UDFCore10AppReducerP9preReduceyyqd__AA6ActionRd__lF", - "moduleName": "UDFCore", - "genericSig": "<τ_0_0, τ_1_0 where τ_0_0 : UDFCore.AppReducer, τ_1_0 : UDFCore.Action>", - "sugared_genericSig": "", - "protocolReq": true, - "declAttributes": [ - "Mutating" - ], - "reqNewWitnessTableEntry": true, - "funcSelfKind": "Mutating" - }, - { - "kind": "Function", - "name": "postReduce", - "printedName": "postReduce(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "GenericTypeParam", - "printedName": "τ_1_0" - } - ], - "declKind": "Func", - "usr": "s:7UDFCore10AppReducerP10postReduceyyqd__AA6ActionRd__lF", - "mangledName": "$s7UDFCore10AppReducerP10postReduceyyqd__AA6ActionRd__lF", - "moduleName": "UDFCore", - "genericSig": "<τ_0_0, τ_1_0 where τ_0_0 : UDFCore.AppReducer, τ_1_0 : UDFCore.Action>", - "sugared_genericSig": "", - "protocolReq": true, - "declAttributes": [ - "Mutating" - ], - "reqNewWitnessTableEntry": true, - "funcSelfKind": "Mutating" - }, - { - "kind": "Function", - "name": "preReduce", - "printedName": "preReduce(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "GenericTypeParam", - "printedName": "τ_1_0" - } - ], - "declKind": "Func", - "usr": "s:7UDFCore10AppReducerPAAE9preReduceyyqd__AA6ActionRd__lF", - "mangledName": "$s7UDFCore10AppReducerPAAE9preReduceyyqd__AA6ActionRd__lF", - "moduleName": "UDFCore", - "genericSig": "<τ_0_0, τ_1_0 where τ_0_0 : UDFCore.AppReducer, τ_1_0 : UDFCore.Action>", - "sugared_genericSig": "", - "isFromExtension": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "postReduce", - "printedName": "postReduce(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "GenericTypeParam", - "printedName": "τ_1_0" - } - ], - "declKind": "Func", - "usr": "s:7UDFCore10AppReducerPAAE10postReduceyyqd__AA6ActionRd__lF", - "mangledName": "$s7UDFCore10AppReducerPAAE10postReduceyyqd__AA6ActionRd__lF", - "moduleName": "UDFCore", - "genericSig": "<τ_0_0, τ_1_0 where τ_0_0 : UDFCore.AppReducer, τ_1_0 : UDFCore.Action>", - "sugared_genericSig": "", - "isFromExtension": true, - "funcSelfKind": "NonMutating" - } - ], "declKind": "Protocol", "usr": "s:7UDFCore10AppReducerP", "mangledName": "$s7UDFCore10AppReducerP", "moduleName": "UDFCore", - "genericSig": "<τ_0_0 : Swift.Equatable, τ_0_0 : UDFCore.Scope>", - "sugared_genericSig": "", + "genericSig": "<τ_0_0 : Swift.Equatable, τ_0_0 : Swift.Sendable, τ_0_0 : UDFCore.Scope>", + "sugared_genericSig": "", "declAttributes": [ "AccessControl" ], "conformances": [ + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, { "kind": "Conformance", "name": "Scope", @@ -1334,12 +1231,19 @@ "usr": "s:7UDFCore6ActionP", "mangledName": "$s7UDFCore6ActionP", "moduleName": "UDFCore", - "genericSig": "<τ_0_0 : Swift.Equatable>", - "sugared_genericSig": "", + "genericSig": "<τ_0_0 : Swift.Equatable, τ_0_0 : Swift.Sendable>", + "sugared_genericSig": "", "declAttributes": [ "AccessControl" ], "conformances": [ + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, { "kind": "Conformance", "name": "Equatable", @@ -1835,6 +1739,13 @@ "printedName": "Hashable", "usr": "s:SH", "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" } ] }, @@ -2240,6 +2151,13 @@ "printedName": "Equatable", "usr": "s:SQ", "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" } ] } @@ -2690,6 +2608,9 @@ "usr": "s:7UDFCore10_ContainerPAAE4bodyQrvp", "mangledName": "$s7UDFCore10_ContainerPAAE4bodyQrvp", "moduleName": "UDFCore", + "declAttributes": [ + "Custom" + ], "isFromExtension": true, "accessors": [ { @@ -4954,6 +4875,13 @@ "usr": "s:SQ", "mangledName": "$sSQ" }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, { "kind": "Conformance", "name": "CustomDebugStringConvertible", @@ -6567,6 +6495,13 @@ "printedName": "Hashable", "usr": "s:SH", "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" } ] }, @@ -7312,69 +7247,721 @@ }, { "kind": "TypeDecl", - "name": "NoneScope", - "printedName": "NoneScope", + "name": "AsynchronousOperation", + "printedName": "AsynchronousOperation", "children": [ { - "kind": "Function", - "name": "isEqual", - "printedName": "isEqual(_:)", + "kind": "Var", + "name": "isAsynchronous", + "printedName": "isAsynchronous", "children": [ { "kind": "TypeNominal", "name": "Bool", "printedName": "Swift.Bool", "usr": "s:Sb" - }, + } + ], + "declKind": "Var", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(py)asynchronous", + "mangledName": "$s7UDFCore21AsynchronousOperationC02isB0Sbvp", + "moduleName": "UDFCore", + "overriding": true, + "objc_name": "asynchronous", + "declAttributes": [ + "Dynamic", + "ObjC", + "Override", + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)isAsynchronous", + "mangledName": "$s7UDFCore21AsynchronousOperationC02isB0Sbvg", + "moduleName": "UDFCore", + "overriding": true, + "objc_name": "isAsynchronous", + "declAttributes": [ + "Dynamic", + "ObjC" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "isExecuting", + "printedName": "isExecuting", + "children": [ { "kind": "TypeNominal", - "name": "IsEquatable", - "printedName": "UDFCore.IsEquatable", - "usr": "s:7UDFCore11IsEquatableP" + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" } ], - "declKind": "Func", - "usr": "s:7UDFCore9NoneScopeV7isEqualySbAA11IsEquatable_pF", - "mangledName": "$s7UDFCore9NoneScopeV7isEqualySbAA11IsEquatable_pF", + "declKind": "Var", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(py)executing", + "mangledName": "$s7UDFCore21AsynchronousOperationC11isExecutingSbvp", "moduleName": "UDFCore", + "overriding": true, + "objc_name": "executing", "declAttributes": [ + "Dynamic", + "ObjC", + "Override", "AccessControl" ], - "funcSelfKind": "NonMutating" + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)isExecuting", + "mangledName": "$s7UDFCore21AsynchronousOperationC11isExecutingSbvg", + "moduleName": "UDFCore", + "overriding": true, + "objc_name": "isExecuting", + "declAttributes": [ + "Dynamic", + "ObjC" + ], + "accessorKind": "get" + } + ] }, { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", + "kind": "Var", + "name": "isFinished", + "printedName": "isFinished", "children": [ { "kind": "TypeNominal", "name": "Bool", "printedName": "Swift.Bool", "usr": "s:Sb" - }, + } + ], + "declKind": "Var", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(py)finished", + "mangledName": "$s7UDFCore21AsynchronousOperationC10isFinishedSbvp", + "moduleName": "UDFCore", + "overriding": true, + "objc_name": "finished", + "declAttributes": [ + "Dynamic", + "ObjC", + "Override", + "AccessControl" + ], + "accessors": [ { - "kind": "TypeNominal", - "name": "NoneScope", - "printedName": "UDFCore.NoneScope", - "usr": "s:7UDFCore9NoneScopeV" - }, + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)isFinished", + "mangledName": "$s7UDFCore21AsynchronousOperationC10isFinishedSbvg", + "moduleName": "UDFCore", + "overriding": true, + "objc_name": "isFinished", + "declAttributes": [ + "Dynamic", + "ObjC" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "start", + "printedName": "start()", + "children": [ { "kind": "TypeNominal", - "name": "NoneScope", - "printedName": "UDFCore.NoneScope", - "usr": "s:7UDFCore9NoneScopeV" + "name": "Void", + "printedName": "()" } ], "declKind": "Func", - "usr": "s:7UDFCore9NoneScopeV2eeoiySbAC_ACtFZ", - "mangledName": "$s7UDFCore9NoneScopeV2eeoiySbAC_ACtFZ", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)start", + "mangledName": "$s7UDFCore21AsynchronousOperationC5startyyF", "moduleName": "UDFCore", - "static": true, - "implicit": true, + "overriding": true, + "objc_name": "start", + "declAttributes": [ + "Dynamic", + "ObjC", + "Override", + "AccessControl" + ], "funcSelfKind": "NonMutating" - } - ], + }, + { + "kind": "Function", + "name": "main", + "printedName": "main()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)main", + "mangledName": "$s7UDFCore21AsynchronousOperationC4mainyyF", + "moduleName": "UDFCore", + "overriding": true, + "isOpen": true, + "objc_name": "main", + "declAttributes": [ + "Dynamic", + "ObjC", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "finish", + "printedName": "finish()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:7UDFCore21AsynchronousOperationC6finishyyF", + "mangledName": "$s7UDFCore21AsynchronousOperationC6finishyyF", + "moduleName": "UDFCore", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "TypeDecl", + "name": "State", + "printedName": "State", + "children": [ + { + "kind": "Var", + "name": "ready", + "printedName": "ready", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(UDFCore.AsynchronousOperation.State.Type) -> UDFCore.AsynchronousOperation.State", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "UDFCore.AsynchronousOperation.State.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO5readyyA2EmF", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO5readyyA2EmF", + "moduleName": "UDFCore" + }, + { + "kind": "Var", + "name": "executing", + "printedName": "executing", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(UDFCore.AsynchronousOperation.State.Type) -> UDFCore.AsynchronousOperation.State", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "UDFCore.AsynchronousOperation.State.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO9executingyA2EmF", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO9executingyA2EmF", + "moduleName": "UDFCore" + }, + { + "kind": "Var", + "name": "finished", + "printedName": "finished", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(UDFCore.AsynchronousOperation.State.Type) -> UDFCore.AsynchronousOperation.State", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "UDFCore.AsynchronousOperation.State.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO8finishedyA2EmF", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO8finishedyA2EmF", + "moduleName": "UDFCore" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UDFCore.AsynchronousOperation.State?", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO8rawValueAESgSS_tcfc", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO8rawValueAESgSS_tcfc", + "moduleName": "UDFCore", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO8rawValueSSvp", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO8rawValueSSvp", + "moduleName": "UDFCore", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO8rawValueSSvg", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO8rawValueSSvg", + "moduleName": "UDFCore", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO", + "moduleName": "UDFCore", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "enumRawTypeName": "String", + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + } + ] + }, + { + "kind": "Var", + "name": "state", + "printedName": "state", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ], + "declKind": "Var", + "usr": "s:7UDFCore21AsynchronousOperationC5stateAC5StateOvp", + "mangledName": "$s7UDFCore21AsynchronousOperationC5stateAC5StateOvp", + "moduleName": "UDFCore", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ], + "declKind": "Accessor", + "usr": "s:7UDFCore21AsynchronousOperationC5stateAC5StateOvg", + "mangledName": "$s7UDFCore21AsynchronousOperationC5stateAC5StateOvg", + "moduleName": "UDFCore", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ], + "declKind": "Accessor", + "usr": "s:7UDFCore21AsynchronousOperationC5stateAC5StateOvs", + "mangledName": "$s7UDFCore21AsynchronousOperationC5stateAC5StateOvs", + "moduleName": "UDFCore", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:7UDFCore21AsynchronousOperationC5stateAC5StateOvM", + "mangledName": "$s7UDFCore21AsynchronousOperationC5stateAC5StateOvM", + "moduleName": "UDFCore", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "AsynchronousOperation", + "printedName": "UDFCore.AsynchronousOperation", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation" + } + ], + "declKind": "Constructor", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)init", + "mangledName": "$s7UDFCore21AsynchronousOperationCACycfc", + "moduleName": "UDFCore", + "overriding": true, + "implicit": true, + "objc_name": "init", + "declAttributes": [ + "Dynamic", + "ObjC", + "Override" + ], + "init_kind": "Designated" + } + ], + "declKind": "Class", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation", + "mangledName": "$s7UDFCore21AsynchronousOperationC", + "moduleName": "UDFCore", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "ObjC" + ], + "superclassUsr": "c:objc(cs)NSOperation", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "Foundation.Operation", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "UDFCore", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "NoneScope", + "printedName": "NoneScope", + "children": [ + { + "kind": "Function", + "name": "isEqual", + "printedName": "isEqual(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "IsEquatable", + "printedName": "UDFCore.IsEquatable", + "usr": "s:7UDFCore11IsEquatableP" + } + ], + "declKind": "Func", + "usr": "s:7UDFCore9NoneScopeV7isEqualySbAA11IsEquatable_pF", + "mangledName": "$s7UDFCore9NoneScopeV7isEqualySbAA11IsEquatable_pF", + "moduleName": "UDFCore", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "NoneScope", + "printedName": "UDFCore.NoneScope", + "usr": "s:7UDFCore9NoneScopeV" + }, + { + "kind": "TypeNominal", + "name": "NoneScope", + "printedName": "UDFCore.NoneScope", + "usr": "s:7UDFCore9NoneScopeV" + } + ], + "declKind": "Func", + "usr": "s:7UDFCore9NoneScopeV2eeoiySbAC_ACtFZ", + "mangledName": "$s7UDFCore9NoneScopeV2eeoiySbAC_ACtFZ", + "moduleName": "UDFCore", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], "declKind": "Struct", "usr": "s:7UDFCore9NoneScopeV", "mangledName": "$s7UDFCore9NoneScopeV", @@ -7508,16 +8095,6 @@ } ] }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "UDFCore", - "declAttributes": [ - "RawDocComment" - ] - }, { "kind": "TypeDecl", "name": "Dictionary", @@ -9285,21 +9862,21 @@ { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/View\/Container\/ContainerState.swift", "kind": "StringLiteral", - "offset": 181, + "offset": 187, "length": 2, "value": "\"\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/Action\/Action.swift", "kind": "BooleanLiteral", - "offset": 963, + "offset": 973, "length": 4, "value": "true" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/Action\/Action.swift", "kind": "BooleanLiteral", - "offset": 1115, + "offset": 1125, "length": 4, "value": "true" }, @@ -9376,14 +9953,14 @@ { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/View\/Container\/Container.swift", "kind": "BooleanLiteral", - "offset": 2354, + "offset": 2369, "length": 4, "value": "true" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/View\/Container\/Container.swift", "kind": "BooleanLiteral", - "offset": 2640, + "offset": 2655, "length": 5, "value": "false" }, @@ -9457,80 +10034,45 @@ "length": 5, "value": "false" }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/EnvironmentStore.swift", + "kind": "StringLiteral", + "offset": 543, + "length": 18, + "value": "\"EnvironmentStore\"" + }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", "kind": "Array", - "offset": 357, + "offset": 364, "length": 2, "value": "[]" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", "kind": "BooleanLiteral", - "offset": 2874, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 3304, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 3418, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 3573, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 3825, + "offset": 2706, "length": 5, "value": "false" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", "kind": "BooleanLiteral", - "offset": 3929, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 4010, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 4124, + "offset": 3241, "length": 4, "value": "true" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", "kind": "BooleanLiteral", - "offset": 6167, + "offset": 5316, "length": 5, "value": "false" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", "kind": "BooleanLiteral", - "offset": 6259, + "offset": 5408, "length": 4, "value": "true" }, @@ -9576,13 +10118,6 @@ "length": 3, "value": "[]" }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Common\/Scope\/Scope+None.swift", - "kind": "BooleanLiteral", - "offset": 314, - "length": 4, - "value": "true" - }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", "kind": "IntegerLiteral", @@ -9594,50 +10129,85 @@ "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", "kind": "StringLiteral", "offset": 246, - "length": 18, - "value": "\"EnvironmentStore\"" + "length": 12, + "value": "\"StoreQueue\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "Array", - "offset": 368, - "length": 2, - "value": "[]" + "kind": "BooleanLiteral", + "offset": 420, + "length": 4, + "value": "true" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "IntegerLiteral", - "offset": 484, - "length": 1, - "value": "0" + "kind": "StringLiteral", + "offset": 1080, + "length": 7, + "value": "\"Ready\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "IntegerLiteral", - "offset": 420, - "length": 1, - "value": "0" + "kind": "StringLiteral", + "offset": 1113, + "length": 11, + "value": "\"Executing\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "IntegerLiteral", - "offset": 813, - "length": 1, - "value": "1" + "kind": "StringLiteral", + "offset": 1149, + "length": 10, + "value": "\"Finished\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "IntegerLiteral", - "offset": 950, - "length": 1, - "value": "0" + "kind": "StringLiteral", + "offset": 1209, + "length": 4, + "value": "\"is\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "IntegerLiteral", - "offset": 980, - "length": 1, - "value": "1" + "kind": "StringLiteral", + "offset": 1080, + "length": 7, + "value": "\"Ready\"" + }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", + "kind": "StringLiteral", + "offset": 1113, + "length": 11, + "value": "\"Executing\"" + }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", + "kind": "StringLiteral", + "offset": 1149, + "length": 10, + "value": "\"Finished\"" + }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", + "kind": "StringLiteral", + "offset": 1833, + "length": 35, + "value": "\"AsynchronousOperation State Queue\"" + }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", + "kind": "StringLiteral", + "offset": 2014, + "length": 14, + "value": "\"UDFCore.StoreOperation\"" + }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Common\/Scope\/Scope+None.swift", + "kind": "BooleanLiteral", + "offset": 314, + "length": 4, + "value": "true" } ] } \ No newline at end of file diff --git a/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface b/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface index f1d9d4ec..bac942d8 100644 --- a/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +++ b/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface @@ -48,13 +48,7 @@ public protocol _Mergeable { func merging(_ newValue: Self) -> Self func filled(from value: Self, mutate: (_ filled: inout Self, _ old: Self) -> Swift.Void) -> Self } -public protocol AppReducer : Swift.Equatable, UDFCore.Scope { - mutating func preReduce(_ action: some Action) - mutating func postReduce(_ action: some Action) -} -extension UDFCore.AppReducer { - public func preReduce(_ action: some Action) - public func postReduce(_ action: some Action) +public protocol AppReducer : Swift.Equatable, Swift.Sendable, UDFCore.Scope { } public protocol IsEquatable { func isEqual(_ rhs: any UDFCore.IsEquatable) -> Swift.Bool @@ -62,7 +56,7 @@ public protocol IsEquatable { extension UDFCore.IsEquatable where Self : Swift.Equatable { public func isEqual(_ rhs: any UDFCore.IsEquatable) -> Swift.Bool } -public protocol Action : Swift.Equatable { +public protocol Action : Swift.Equatable, Swift.Sendable { } extension UDFCore.Action { public func with(animation: SwiftUI.Animation?) -> some UDFCore.Action @@ -90,7 +84,7 @@ public typealias EquatableScope = Swift.Equatable & UDFCore.Scope extension UDFCore._Mergeable { public func filled(from value: Self, mutate: (_ filledValue: inout Self, _ oldValue: Self) -> Swift.Void) -> Self } -public enum MiddlewareStatus { +public enum MiddlewareStatus : Swift.Sendable { case active case suspend public static func == (a: UDFCore.MiddlewareStatus, b: UDFCore.MiddlewareStatus) -> Swift.Bool @@ -151,7 +145,7 @@ extension UDFCore._Container { public var store: UDFCore.EnvironmentStore { get } - public var body: some SwiftUI.View { + @_Concurrency.MainActor public var body: some SwiftUI.View { get } } @@ -318,7 +312,7 @@ extension UDFCore.Store { public func bind(_ action: some Action, priority: UDFCore.ActionPriority = .default, fileName: Swift.String = #file, functionName: Swift.String = #function, lineNumber: Swift.Int = #line) -> UDFCore.Command public func bind(_ action: @escaping (T) -> some Action, priority: UDFCore.ActionPriority = .default, fileName: Swift.String = #file, functionName: Swift.String = #function, lineNumber: Swift.Int = #line) -> UDFCore.CommandWith } -public enum ActionPriority { +public enum ActionPriority : Swift.Sendable { case `default` case userInteractive public static func == (a: UDFCore.ActionPriority, b: UDFCore.ActionPriority) -> Swift.Bool @@ -386,6 +380,36 @@ extension UDFCore.Reducing { public mutating func reduce(_ action: some Action) } public typealias Reducible = Swift.Equatable & UDFCore.Reducing +@objc @_inheritsConvenienceInitializers open class AsynchronousOperation : Foundation.Operation { + @objc override dynamic public var isAsynchronous: Swift.Bool { + @objc get + } + @objc override dynamic public var isExecuting: Swift.Bool { + @objc get + } + @objc override dynamic public var isFinished: Swift.Bool { + @objc get + } + @objc override dynamic public func start() + @objc override dynamic open func main() + public func finish() + public enum State : Swift.String { + case ready + case executing + case finished + public init?(rawValue: Swift.String) + public typealias RawValue = Swift.String + public var rawValue: Swift.String { + get + } + } + public var state: UDFCore.AsynchronousOperation.State { + get + set + } + @objc override dynamic public init() + @objc deinit +} extension UDFCore.Scope where Self == UDFCore.NoneScope { public static var none: UDFCore.NoneScope { get @@ -404,3 +428,6 @@ extension UDFCore.MiddlewareStatus : Swift.Hashable {} extension UDFCore.ActionPriority : Swift.Equatable {} extension UDFCore.ActionPriority : Swift.Hashable {} extension UDFCore.XCTestStore : Swift.Sendable {} +extension UDFCore.AsynchronousOperation.State : Swift.Equatable {} +extension UDFCore.AsynchronousOperation.State : Swift.Hashable {} +extension UDFCore.AsynchronousOperation.State : Swift.RawRepresentable {} diff --git a/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios-simulator.swiftdoc b/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios-simulator.swiftdoc index eabe8f5d..08dc9ae6 100644 Binary files a/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios-simulator.swiftdoc and b/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios-simulator.swiftdoc differ diff --git a/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios-simulator.swiftinterface b/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios-simulator.swiftinterface index f1d9d4ec..bac942d8 100644 --- a/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios-simulator.swiftinterface +++ b/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/arm64-apple-ios-simulator.swiftinterface @@ -48,13 +48,7 @@ public protocol _Mergeable { func merging(_ newValue: Self) -> Self func filled(from value: Self, mutate: (_ filled: inout Self, _ old: Self) -> Swift.Void) -> Self } -public protocol AppReducer : Swift.Equatable, UDFCore.Scope { - mutating func preReduce(_ action: some Action) - mutating func postReduce(_ action: some Action) -} -extension UDFCore.AppReducer { - public func preReduce(_ action: some Action) - public func postReduce(_ action: some Action) +public protocol AppReducer : Swift.Equatable, Swift.Sendable, UDFCore.Scope { } public protocol IsEquatable { func isEqual(_ rhs: any UDFCore.IsEquatable) -> Swift.Bool @@ -62,7 +56,7 @@ public protocol IsEquatable { extension UDFCore.IsEquatable where Self : Swift.Equatable { public func isEqual(_ rhs: any UDFCore.IsEquatable) -> Swift.Bool } -public protocol Action : Swift.Equatable { +public protocol Action : Swift.Equatable, Swift.Sendable { } extension UDFCore.Action { public func with(animation: SwiftUI.Animation?) -> some UDFCore.Action @@ -90,7 +84,7 @@ public typealias EquatableScope = Swift.Equatable & UDFCore.Scope extension UDFCore._Mergeable { public func filled(from value: Self, mutate: (_ filledValue: inout Self, _ oldValue: Self) -> Swift.Void) -> Self } -public enum MiddlewareStatus { +public enum MiddlewareStatus : Swift.Sendable { case active case suspend public static func == (a: UDFCore.MiddlewareStatus, b: UDFCore.MiddlewareStatus) -> Swift.Bool @@ -151,7 +145,7 @@ extension UDFCore._Container { public var store: UDFCore.EnvironmentStore { get } - public var body: some SwiftUI.View { + @_Concurrency.MainActor public var body: some SwiftUI.View { get } } @@ -318,7 +312,7 @@ extension UDFCore.Store { public func bind(_ action: some Action, priority: UDFCore.ActionPriority = .default, fileName: Swift.String = #file, functionName: Swift.String = #function, lineNumber: Swift.Int = #line) -> UDFCore.Command public func bind(_ action: @escaping (T) -> some Action, priority: UDFCore.ActionPriority = .default, fileName: Swift.String = #file, functionName: Swift.String = #function, lineNumber: Swift.Int = #line) -> UDFCore.CommandWith } -public enum ActionPriority { +public enum ActionPriority : Swift.Sendable { case `default` case userInteractive public static func == (a: UDFCore.ActionPriority, b: UDFCore.ActionPriority) -> Swift.Bool @@ -386,6 +380,36 @@ extension UDFCore.Reducing { public mutating func reduce(_ action: some Action) } public typealias Reducible = Swift.Equatable & UDFCore.Reducing +@objc @_inheritsConvenienceInitializers open class AsynchronousOperation : Foundation.Operation { + @objc override dynamic public var isAsynchronous: Swift.Bool { + @objc get + } + @objc override dynamic public var isExecuting: Swift.Bool { + @objc get + } + @objc override dynamic public var isFinished: Swift.Bool { + @objc get + } + @objc override dynamic public func start() + @objc override dynamic open func main() + public func finish() + public enum State : Swift.String { + case ready + case executing + case finished + public init?(rawValue: Swift.String) + public typealias RawValue = Swift.String + public var rawValue: Swift.String { + get + } + } + public var state: UDFCore.AsynchronousOperation.State { + get + set + } + @objc override dynamic public init() + @objc deinit +} extension UDFCore.Scope where Self == UDFCore.NoneScope { public static var none: UDFCore.NoneScope { get @@ -404,3 +428,6 @@ extension UDFCore.MiddlewareStatus : Swift.Hashable {} extension UDFCore.ActionPriority : Swift.Equatable {} extension UDFCore.ActionPriority : Swift.Hashable {} extension UDFCore.XCTestStore : Swift.Sendable {} +extension UDFCore.AsynchronousOperation.State : Swift.Equatable {} +extension UDFCore.AsynchronousOperation.State : Swift.Hashable {} +extension UDFCore.AsynchronousOperation.State : Swift.RawRepresentable {} diff --git a/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/x86_64-apple-ios-simulator.abi.json b/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/x86_64-apple-ios-simulator.abi.json index 1e7e458b..0f98861e 100644 --- a/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/x86_64-apple-ios-simulator.abi.json +++ b/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/x86_64-apple-ios-simulator.abi.json @@ -1015,126 +1015,23 @@ "kind": "TypeDecl", "name": "AppReducer", "printedName": "AppReducer", - "children": [ - { - "kind": "Function", - "name": "preReduce", - "printedName": "preReduce(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "GenericTypeParam", - "printedName": "τ_1_0" - } - ], - "declKind": "Func", - "usr": "s:7UDFCore10AppReducerP9preReduceyyqd__AA6ActionRd__lF", - "mangledName": "$s7UDFCore10AppReducerP9preReduceyyqd__AA6ActionRd__lF", - "moduleName": "UDFCore", - "genericSig": "<τ_0_0, τ_1_0 where τ_0_0 : UDFCore.AppReducer, τ_1_0 : UDFCore.Action>", - "sugared_genericSig": "", - "protocolReq": true, - "declAttributes": [ - "Mutating" - ], - "reqNewWitnessTableEntry": true, - "funcSelfKind": "Mutating" - }, - { - "kind": "Function", - "name": "postReduce", - "printedName": "postReduce(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "GenericTypeParam", - "printedName": "τ_1_0" - } - ], - "declKind": "Func", - "usr": "s:7UDFCore10AppReducerP10postReduceyyqd__AA6ActionRd__lF", - "mangledName": "$s7UDFCore10AppReducerP10postReduceyyqd__AA6ActionRd__lF", - "moduleName": "UDFCore", - "genericSig": "<τ_0_0, τ_1_0 where τ_0_0 : UDFCore.AppReducer, τ_1_0 : UDFCore.Action>", - "sugared_genericSig": "", - "protocolReq": true, - "declAttributes": [ - "Mutating" - ], - "reqNewWitnessTableEntry": true, - "funcSelfKind": "Mutating" - }, - { - "kind": "Function", - "name": "preReduce", - "printedName": "preReduce(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "GenericTypeParam", - "printedName": "τ_1_0" - } - ], - "declKind": "Func", - "usr": "s:7UDFCore10AppReducerPAAE9preReduceyyqd__AA6ActionRd__lF", - "mangledName": "$s7UDFCore10AppReducerPAAE9preReduceyyqd__AA6ActionRd__lF", - "moduleName": "UDFCore", - "genericSig": "<τ_0_0, τ_1_0 where τ_0_0 : UDFCore.AppReducer, τ_1_0 : UDFCore.Action>", - "sugared_genericSig": "", - "isFromExtension": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "postReduce", - "printedName": "postReduce(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "GenericTypeParam", - "printedName": "τ_1_0" - } - ], - "declKind": "Func", - "usr": "s:7UDFCore10AppReducerPAAE10postReduceyyqd__AA6ActionRd__lF", - "mangledName": "$s7UDFCore10AppReducerPAAE10postReduceyyqd__AA6ActionRd__lF", - "moduleName": "UDFCore", - "genericSig": "<τ_0_0, τ_1_0 where τ_0_0 : UDFCore.AppReducer, τ_1_0 : UDFCore.Action>", - "sugared_genericSig": "", - "isFromExtension": true, - "funcSelfKind": "NonMutating" - } - ], "declKind": "Protocol", "usr": "s:7UDFCore10AppReducerP", "mangledName": "$s7UDFCore10AppReducerP", "moduleName": "UDFCore", - "genericSig": "<τ_0_0 : Swift.Equatable, τ_0_0 : UDFCore.Scope>", - "sugared_genericSig": "", + "genericSig": "<τ_0_0 : Swift.Equatable, τ_0_0 : Swift.Sendable, τ_0_0 : UDFCore.Scope>", + "sugared_genericSig": "", "declAttributes": [ "AccessControl" ], "conformances": [ + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, { "kind": "Conformance", "name": "Scope", @@ -1334,12 +1231,19 @@ "usr": "s:7UDFCore6ActionP", "mangledName": "$s7UDFCore6ActionP", "moduleName": "UDFCore", - "genericSig": "<τ_0_0 : Swift.Equatable>", - "sugared_genericSig": "", + "genericSig": "<τ_0_0 : Swift.Equatable, τ_0_0 : Swift.Sendable>", + "sugared_genericSig": "", "declAttributes": [ "AccessControl" ], "conformances": [ + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, { "kind": "Conformance", "name": "Equatable", @@ -1835,6 +1739,13 @@ "printedName": "Hashable", "usr": "s:SH", "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" } ] }, @@ -2240,6 +2151,13 @@ "printedName": "Equatable", "usr": "s:SQ", "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" } ] } @@ -2690,6 +2608,9 @@ "usr": "s:7UDFCore10_ContainerPAAE4bodyQrvp", "mangledName": "$s7UDFCore10_ContainerPAAE4bodyQrvp", "moduleName": "UDFCore", + "declAttributes": [ + "Custom" + ], "isFromExtension": true, "accessors": [ { @@ -4954,6 +4875,13 @@ "usr": "s:SQ", "mangledName": "$sSQ" }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, { "kind": "Conformance", "name": "CustomDebugStringConvertible", @@ -6567,6 +6495,13 @@ "printedName": "Hashable", "usr": "s:SH", "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" } ] }, @@ -7312,69 +7247,721 @@ }, { "kind": "TypeDecl", - "name": "NoneScope", - "printedName": "NoneScope", + "name": "AsynchronousOperation", + "printedName": "AsynchronousOperation", "children": [ { - "kind": "Function", - "name": "isEqual", - "printedName": "isEqual(_:)", + "kind": "Var", + "name": "isAsynchronous", + "printedName": "isAsynchronous", "children": [ { "kind": "TypeNominal", "name": "Bool", "printedName": "Swift.Bool", "usr": "s:Sb" - }, + } + ], + "declKind": "Var", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(py)asynchronous", + "mangledName": "$s7UDFCore21AsynchronousOperationC02isB0Sbvp", + "moduleName": "UDFCore", + "overriding": true, + "objc_name": "asynchronous", + "declAttributes": [ + "Dynamic", + "ObjC", + "Override", + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)isAsynchronous", + "mangledName": "$s7UDFCore21AsynchronousOperationC02isB0Sbvg", + "moduleName": "UDFCore", + "overriding": true, + "objc_name": "isAsynchronous", + "declAttributes": [ + "Dynamic", + "ObjC" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "isExecuting", + "printedName": "isExecuting", + "children": [ { "kind": "TypeNominal", - "name": "IsEquatable", - "printedName": "UDFCore.IsEquatable", - "usr": "s:7UDFCore11IsEquatableP" + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" } ], - "declKind": "Func", - "usr": "s:7UDFCore9NoneScopeV7isEqualySbAA11IsEquatable_pF", - "mangledName": "$s7UDFCore9NoneScopeV7isEqualySbAA11IsEquatable_pF", + "declKind": "Var", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(py)executing", + "mangledName": "$s7UDFCore21AsynchronousOperationC11isExecutingSbvp", "moduleName": "UDFCore", + "overriding": true, + "objc_name": "executing", "declAttributes": [ + "Dynamic", + "ObjC", + "Override", "AccessControl" ], - "funcSelfKind": "NonMutating" + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)isExecuting", + "mangledName": "$s7UDFCore21AsynchronousOperationC11isExecutingSbvg", + "moduleName": "UDFCore", + "overriding": true, + "objc_name": "isExecuting", + "declAttributes": [ + "Dynamic", + "ObjC" + ], + "accessorKind": "get" + } + ] }, { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", + "kind": "Var", + "name": "isFinished", + "printedName": "isFinished", "children": [ { "kind": "TypeNominal", "name": "Bool", "printedName": "Swift.Bool", "usr": "s:Sb" - }, + } + ], + "declKind": "Var", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(py)finished", + "mangledName": "$s7UDFCore21AsynchronousOperationC10isFinishedSbvp", + "moduleName": "UDFCore", + "overriding": true, + "objc_name": "finished", + "declAttributes": [ + "Dynamic", + "ObjC", + "Override", + "AccessControl" + ], + "accessors": [ { - "kind": "TypeNominal", - "name": "NoneScope", - "printedName": "UDFCore.NoneScope", - "usr": "s:7UDFCore9NoneScopeV" - }, + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)isFinished", + "mangledName": "$s7UDFCore21AsynchronousOperationC10isFinishedSbvg", + "moduleName": "UDFCore", + "overriding": true, + "objc_name": "isFinished", + "declAttributes": [ + "Dynamic", + "ObjC" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "start", + "printedName": "start()", + "children": [ { "kind": "TypeNominal", - "name": "NoneScope", - "printedName": "UDFCore.NoneScope", - "usr": "s:7UDFCore9NoneScopeV" + "name": "Void", + "printedName": "()" } ], "declKind": "Func", - "usr": "s:7UDFCore9NoneScopeV2eeoiySbAC_ACtFZ", - "mangledName": "$s7UDFCore9NoneScopeV2eeoiySbAC_ACtFZ", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)start", + "mangledName": "$s7UDFCore21AsynchronousOperationC5startyyF", "moduleName": "UDFCore", - "static": true, - "implicit": true, + "overriding": true, + "objc_name": "start", + "declAttributes": [ + "Dynamic", + "ObjC", + "Override", + "AccessControl" + ], "funcSelfKind": "NonMutating" - } - ], + }, + { + "kind": "Function", + "name": "main", + "printedName": "main()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)main", + "mangledName": "$s7UDFCore21AsynchronousOperationC4mainyyF", + "moduleName": "UDFCore", + "overriding": true, + "isOpen": true, + "objc_name": "main", + "declAttributes": [ + "Dynamic", + "ObjC", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "finish", + "printedName": "finish()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:7UDFCore21AsynchronousOperationC6finishyyF", + "mangledName": "$s7UDFCore21AsynchronousOperationC6finishyyF", + "moduleName": "UDFCore", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "TypeDecl", + "name": "State", + "printedName": "State", + "children": [ + { + "kind": "Var", + "name": "ready", + "printedName": "ready", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(UDFCore.AsynchronousOperation.State.Type) -> UDFCore.AsynchronousOperation.State", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "UDFCore.AsynchronousOperation.State.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO5readyyA2EmF", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO5readyyA2EmF", + "moduleName": "UDFCore" + }, + { + "kind": "Var", + "name": "executing", + "printedName": "executing", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(UDFCore.AsynchronousOperation.State.Type) -> UDFCore.AsynchronousOperation.State", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "UDFCore.AsynchronousOperation.State.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO9executingyA2EmF", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO9executingyA2EmF", + "moduleName": "UDFCore" + }, + { + "kind": "Var", + "name": "finished", + "printedName": "finished", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(UDFCore.AsynchronousOperation.State.Type) -> UDFCore.AsynchronousOperation.State", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "UDFCore.AsynchronousOperation.State.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO8finishedyA2EmF", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO8finishedyA2EmF", + "moduleName": "UDFCore" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UDFCore.AsynchronousOperation.State?", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO8rawValueAESgSS_tcfc", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO8rawValueAESgSS_tcfc", + "moduleName": "UDFCore", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO8rawValueSSvp", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO8rawValueSSvp", + "moduleName": "UDFCore", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO8rawValueSSvg", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO8rawValueSSvg", + "moduleName": "UDFCore", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO", + "moduleName": "UDFCore", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "enumRawTypeName": "String", + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + } + ] + }, + { + "kind": "Var", + "name": "state", + "printedName": "state", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ], + "declKind": "Var", + "usr": "s:7UDFCore21AsynchronousOperationC5stateAC5StateOvp", + "mangledName": "$s7UDFCore21AsynchronousOperationC5stateAC5StateOvp", + "moduleName": "UDFCore", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ], + "declKind": "Accessor", + "usr": "s:7UDFCore21AsynchronousOperationC5stateAC5StateOvg", + "mangledName": "$s7UDFCore21AsynchronousOperationC5stateAC5StateOvg", + "moduleName": "UDFCore", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ], + "declKind": "Accessor", + "usr": "s:7UDFCore21AsynchronousOperationC5stateAC5StateOvs", + "mangledName": "$s7UDFCore21AsynchronousOperationC5stateAC5StateOvs", + "moduleName": "UDFCore", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:7UDFCore21AsynchronousOperationC5stateAC5StateOvM", + "mangledName": "$s7UDFCore21AsynchronousOperationC5stateAC5StateOvM", + "moduleName": "UDFCore", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "AsynchronousOperation", + "printedName": "UDFCore.AsynchronousOperation", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation" + } + ], + "declKind": "Constructor", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)init", + "mangledName": "$s7UDFCore21AsynchronousOperationCACycfc", + "moduleName": "UDFCore", + "overriding": true, + "implicit": true, + "objc_name": "init", + "declAttributes": [ + "Dynamic", + "ObjC", + "Override" + ], + "init_kind": "Designated" + } + ], + "declKind": "Class", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation", + "mangledName": "$s7UDFCore21AsynchronousOperationC", + "moduleName": "UDFCore", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "ObjC" + ], + "superclassUsr": "c:objc(cs)NSOperation", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "Foundation.Operation", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "UDFCore", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "NoneScope", + "printedName": "NoneScope", + "children": [ + { + "kind": "Function", + "name": "isEqual", + "printedName": "isEqual(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "IsEquatable", + "printedName": "UDFCore.IsEquatable", + "usr": "s:7UDFCore11IsEquatableP" + } + ], + "declKind": "Func", + "usr": "s:7UDFCore9NoneScopeV7isEqualySbAA11IsEquatable_pF", + "mangledName": "$s7UDFCore9NoneScopeV7isEqualySbAA11IsEquatable_pF", + "moduleName": "UDFCore", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "NoneScope", + "printedName": "UDFCore.NoneScope", + "usr": "s:7UDFCore9NoneScopeV" + }, + { + "kind": "TypeNominal", + "name": "NoneScope", + "printedName": "UDFCore.NoneScope", + "usr": "s:7UDFCore9NoneScopeV" + } + ], + "declKind": "Func", + "usr": "s:7UDFCore9NoneScopeV2eeoiySbAC_ACtFZ", + "mangledName": "$s7UDFCore9NoneScopeV2eeoiySbAC_ACtFZ", + "moduleName": "UDFCore", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], "declKind": "Struct", "usr": "s:7UDFCore9NoneScopeV", "mangledName": "$s7UDFCore9NoneScopeV", @@ -7508,16 +8095,6 @@ } ] }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "UDFCore", - "declAttributes": [ - "RawDocComment" - ] - }, { "kind": "TypeDecl", "name": "Dictionary", @@ -9285,21 +9862,21 @@ { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/View\/Container\/ContainerState.swift", "kind": "StringLiteral", - "offset": 181, + "offset": 187, "length": 2, "value": "\"\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/Action\/Action.swift", "kind": "BooleanLiteral", - "offset": 963, + "offset": 973, "length": 4, "value": "true" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/Action\/Action.swift", "kind": "BooleanLiteral", - "offset": 1115, + "offset": 1125, "length": 4, "value": "true" }, @@ -9376,14 +9953,14 @@ { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/View\/Container\/Container.swift", "kind": "BooleanLiteral", - "offset": 2354, + "offset": 2369, "length": 4, "value": "true" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/View\/Container\/Container.swift", "kind": "BooleanLiteral", - "offset": 2640, + "offset": 2655, "length": 5, "value": "false" }, @@ -9457,80 +10034,45 @@ "length": 5, "value": "false" }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/EnvironmentStore.swift", + "kind": "StringLiteral", + "offset": 543, + "length": 18, + "value": "\"EnvironmentStore\"" + }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", "kind": "Array", - "offset": 357, + "offset": 364, "length": 2, "value": "[]" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", "kind": "BooleanLiteral", - "offset": 2874, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 3304, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 3418, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 3573, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 3825, + "offset": 2706, "length": 5, "value": "false" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", "kind": "BooleanLiteral", - "offset": 3929, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 4010, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 4124, + "offset": 3241, "length": 4, "value": "true" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", "kind": "BooleanLiteral", - "offset": 6167, + "offset": 5316, "length": 5, "value": "false" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", "kind": "BooleanLiteral", - "offset": 6259, + "offset": 5408, "length": 4, "value": "true" }, @@ -9576,13 +10118,6 @@ "length": 3, "value": "[]" }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Common\/Scope\/Scope+None.swift", - "kind": "BooleanLiteral", - "offset": 314, - "length": 4, - "value": "true" - }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", "kind": "IntegerLiteral", @@ -9594,50 +10129,85 @@ "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", "kind": "StringLiteral", "offset": 246, - "length": 18, - "value": "\"EnvironmentStore\"" + "length": 12, + "value": "\"StoreQueue\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "Array", - "offset": 368, - "length": 2, - "value": "[]" + "kind": "BooleanLiteral", + "offset": 420, + "length": 4, + "value": "true" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "IntegerLiteral", - "offset": 484, - "length": 1, - "value": "0" + "kind": "StringLiteral", + "offset": 1080, + "length": 7, + "value": "\"Ready\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "IntegerLiteral", - "offset": 420, - "length": 1, - "value": "0" + "kind": "StringLiteral", + "offset": 1113, + "length": 11, + "value": "\"Executing\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "IntegerLiteral", - "offset": 813, - "length": 1, - "value": "1" + "kind": "StringLiteral", + "offset": 1149, + "length": 10, + "value": "\"Finished\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "IntegerLiteral", - "offset": 950, - "length": 1, - "value": "0" + "kind": "StringLiteral", + "offset": 1209, + "length": 4, + "value": "\"is\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "IntegerLiteral", - "offset": 980, - "length": 1, - "value": "1" + "kind": "StringLiteral", + "offset": 1080, + "length": 7, + "value": "\"Ready\"" + }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", + "kind": "StringLiteral", + "offset": 1113, + "length": 11, + "value": "\"Executing\"" + }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", + "kind": "StringLiteral", + "offset": 1149, + "length": 10, + "value": "\"Finished\"" + }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", + "kind": "StringLiteral", + "offset": 1833, + "length": 35, + "value": "\"AsynchronousOperation State Queue\"" + }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", + "kind": "StringLiteral", + "offset": 2014, + "length": 14, + "value": "\"UDFCore.StoreOperation\"" + }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Common\/Scope\/Scope+None.swift", + "kind": "BooleanLiteral", + "offset": 314, + "length": 4, + "value": "true" } ] } \ No newline at end of file diff --git a/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface b/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface index 881e3161..d73d058b 100644 --- a/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +++ b/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface @@ -48,13 +48,7 @@ public protocol _Mergeable { func merging(_ newValue: Self) -> Self func filled(from value: Self, mutate: (_ filled: inout Self, _ old: Self) -> Swift.Void) -> Self } -public protocol AppReducer : Swift.Equatable, UDFCore.Scope { - mutating func preReduce(_ action: some Action) - mutating func postReduce(_ action: some Action) -} -extension UDFCore.AppReducer { - public func preReduce(_ action: some Action) - public func postReduce(_ action: some Action) +public protocol AppReducer : Swift.Equatable, Swift.Sendable, UDFCore.Scope { } public protocol IsEquatable { func isEqual(_ rhs: any UDFCore.IsEquatable) -> Swift.Bool @@ -62,7 +56,7 @@ public protocol IsEquatable { extension UDFCore.IsEquatable where Self : Swift.Equatable { public func isEqual(_ rhs: any UDFCore.IsEquatable) -> Swift.Bool } -public protocol Action : Swift.Equatable { +public protocol Action : Swift.Equatable, Swift.Sendable { } extension UDFCore.Action { public func with(animation: SwiftUI.Animation?) -> some UDFCore.Action @@ -90,7 +84,7 @@ public typealias EquatableScope = Swift.Equatable & UDFCore.Scope extension UDFCore._Mergeable { public func filled(from value: Self, mutate: (_ filledValue: inout Self, _ oldValue: Self) -> Swift.Void) -> Self } -public enum MiddlewareStatus { +public enum MiddlewareStatus : Swift.Sendable { case active case suspend public static func == (a: UDFCore.MiddlewareStatus, b: UDFCore.MiddlewareStatus) -> Swift.Bool @@ -151,7 +145,7 @@ extension UDFCore._Container { public var store: UDFCore.EnvironmentStore { get } - public var body: some SwiftUI.View { + @_Concurrency.MainActor public var body: some SwiftUI.View { get } } @@ -318,7 +312,7 @@ extension UDFCore.Store { public func bind(_ action: some Action, priority: UDFCore.ActionPriority = .default, fileName: Swift.String = #file, functionName: Swift.String = #function, lineNumber: Swift.Int = #line) -> UDFCore.Command public func bind(_ action: @escaping (T) -> some Action, priority: UDFCore.ActionPriority = .default, fileName: Swift.String = #file, functionName: Swift.String = #function, lineNumber: Swift.Int = #line) -> UDFCore.CommandWith } -public enum ActionPriority { +public enum ActionPriority : Swift.Sendable { case `default` case userInteractive public static func == (a: UDFCore.ActionPriority, b: UDFCore.ActionPriority) -> Swift.Bool @@ -386,6 +380,36 @@ extension UDFCore.Reducing { public mutating func reduce(_ action: some Action) } public typealias Reducible = Swift.Equatable & UDFCore.Reducing +@objc @_inheritsConvenienceInitializers open class AsynchronousOperation : Foundation.Operation { + @objc override dynamic public var isAsynchronous: Swift.Bool { + @objc get + } + @objc override dynamic public var isExecuting: Swift.Bool { + @objc get + } + @objc override dynamic public var isFinished: Swift.Bool { + @objc get + } + @objc override dynamic public func start() + @objc override dynamic open func main() + public func finish() + public enum State : Swift.String { + case ready + case executing + case finished + public init?(rawValue: Swift.String) + public typealias RawValue = Swift.String + public var rawValue: Swift.String { + get + } + } + public var state: UDFCore.AsynchronousOperation.State { + get + set + } + @objc override dynamic public init() + @objc deinit +} extension UDFCore.Scope where Self == UDFCore.NoneScope { public static var none: UDFCore.NoneScope { get @@ -404,3 +428,6 @@ extension UDFCore.MiddlewareStatus : Swift.Hashable {} extension UDFCore.ActionPriority : Swift.Equatable {} extension UDFCore.ActionPriority : Swift.Hashable {} extension UDFCore.XCTestStore : Swift.Sendable {} +extension UDFCore.AsynchronousOperation.State : Swift.Equatable {} +extension UDFCore.AsynchronousOperation.State : Swift.Hashable {} +extension UDFCore.AsynchronousOperation.State : Swift.RawRepresentable {} diff --git a/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/x86_64-apple-ios-simulator.swiftdoc b/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/x86_64-apple-ios-simulator.swiftdoc index ccd1e310..ac549c19 100644 Binary files a/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/x86_64-apple-ios-simulator.swiftdoc and b/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/x86_64-apple-ios-simulator.swiftdoc differ diff --git a/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/x86_64-apple-ios-simulator.swiftinterface b/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/x86_64-apple-ios-simulator.swiftinterface index 881e3161..d73d058b 100644 --- a/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +++ b/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/Modules/UDFCore.swiftmodule/x86_64-apple-ios-simulator.swiftinterface @@ -48,13 +48,7 @@ public protocol _Mergeable { func merging(_ newValue: Self) -> Self func filled(from value: Self, mutate: (_ filled: inout Self, _ old: Self) -> Swift.Void) -> Self } -public protocol AppReducer : Swift.Equatable, UDFCore.Scope { - mutating func preReduce(_ action: some Action) - mutating func postReduce(_ action: some Action) -} -extension UDFCore.AppReducer { - public func preReduce(_ action: some Action) - public func postReduce(_ action: some Action) +public protocol AppReducer : Swift.Equatable, Swift.Sendable, UDFCore.Scope { } public protocol IsEquatable { func isEqual(_ rhs: any UDFCore.IsEquatable) -> Swift.Bool @@ -62,7 +56,7 @@ public protocol IsEquatable { extension UDFCore.IsEquatable where Self : Swift.Equatable { public func isEqual(_ rhs: any UDFCore.IsEquatable) -> Swift.Bool } -public protocol Action : Swift.Equatable { +public protocol Action : Swift.Equatable, Swift.Sendable { } extension UDFCore.Action { public func with(animation: SwiftUI.Animation?) -> some UDFCore.Action @@ -90,7 +84,7 @@ public typealias EquatableScope = Swift.Equatable & UDFCore.Scope extension UDFCore._Mergeable { public func filled(from value: Self, mutate: (_ filledValue: inout Self, _ oldValue: Self) -> Swift.Void) -> Self } -public enum MiddlewareStatus { +public enum MiddlewareStatus : Swift.Sendable { case active case suspend public static func == (a: UDFCore.MiddlewareStatus, b: UDFCore.MiddlewareStatus) -> Swift.Bool @@ -151,7 +145,7 @@ extension UDFCore._Container { public var store: UDFCore.EnvironmentStore { get } - public var body: some SwiftUI.View { + @_Concurrency.MainActor public var body: some SwiftUI.View { get } } @@ -318,7 +312,7 @@ extension UDFCore.Store { public func bind(_ action: some Action, priority: UDFCore.ActionPriority = .default, fileName: Swift.String = #file, functionName: Swift.String = #function, lineNumber: Swift.Int = #line) -> UDFCore.Command public func bind(_ action: @escaping (T) -> some Action, priority: UDFCore.ActionPriority = .default, fileName: Swift.String = #file, functionName: Swift.String = #function, lineNumber: Swift.Int = #line) -> UDFCore.CommandWith } -public enum ActionPriority { +public enum ActionPriority : Swift.Sendable { case `default` case userInteractive public static func == (a: UDFCore.ActionPriority, b: UDFCore.ActionPriority) -> Swift.Bool @@ -386,6 +380,36 @@ extension UDFCore.Reducing { public mutating func reduce(_ action: some Action) } public typealias Reducible = Swift.Equatable & UDFCore.Reducing +@objc @_inheritsConvenienceInitializers open class AsynchronousOperation : Foundation.Operation { + @objc override dynamic public var isAsynchronous: Swift.Bool { + @objc get + } + @objc override dynamic public var isExecuting: Swift.Bool { + @objc get + } + @objc override dynamic public var isFinished: Swift.Bool { + @objc get + } + @objc override dynamic public func start() + @objc override dynamic open func main() + public func finish() + public enum State : Swift.String { + case ready + case executing + case finished + public init?(rawValue: Swift.String) + public typealias RawValue = Swift.String + public var rawValue: Swift.String { + get + } + } + public var state: UDFCore.AsynchronousOperation.State { + get + set + } + @objc override dynamic public init() + @objc deinit +} extension UDFCore.Scope where Self == UDFCore.NoneScope { public static var none: UDFCore.NoneScope { get @@ -404,3 +428,6 @@ extension UDFCore.MiddlewareStatus : Swift.Hashable {} extension UDFCore.ActionPriority : Swift.Equatable {} extension UDFCore.ActionPriority : Swift.Hashable {} extension UDFCore.XCTestStore : Swift.Sendable {} +extension UDFCore.AsynchronousOperation.State : Swift.Equatable {} +extension UDFCore.AsynchronousOperation.State : Swift.Hashable {} +extension UDFCore.AsynchronousOperation.State : Swift.RawRepresentable {} diff --git a/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/UDFCore b/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/UDFCore index 50499a42..827ed155 100755 Binary files a/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/UDFCore and b/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/UDFCore differ diff --git a/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/_CodeSignature/CodeResources b/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/_CodeSignature/CodeResources index cd512afb..cbb87f8c 100644 --- a/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/_CodeSignature/CodeResources +++ b/Artifacts/UDFCore.xcframework/ios-arm64_x86_64-simulator/UDFCore.framework/_CodeSignature/CodeResources @@ -10,51 +10,51 @@ Headers/UDFCore-Swift.h - Fz1ozTZ9OHh005pWJIWotnI5YcE= + vXXdkLZkDyuEE8hP0UWP4fHoroo= Info.plist - TqtB4AgAY23wHA8B3fXKESrwxW8= + 0uJ0jqbPBegYWclqCIRvnNcDPXs= Modules/UDFCore.swiftmodule/arm64-apple-ios-simulator.abi.json - z+nJ0BbbQCkAlky0mr2KEKsA13o= + WEAfhwO+03JvisGhSLLuL+EcX1w= Modules/UDFCore.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface - qyil3JQwP1UC0Zk7MGwVWW59uu8= + +WOQNfv7lPqKAtWecVF+Hhe9nUA= Modules/UDFCore.swiftmodule/arm64-apple-ios-simulator.swiftdoc - yD9xsFH0O5WJrpufBc+kqXCcCWE= + zHSqEWwCCba5SeFuIXeGIRMcJmc= Modules/UDFCore.swiftmodule/arm64-apple-ios-simulator.swiftinterface - qyil3JQwP1UC0Zk7MGwVWW59uu8= + +WOQNfv7lPqKAtWecVF+Hhe9nUA= Modules/UDFCore.swiftmodule/arm64-apple-ios-simulator.swiftmodule - SJVdWCy2tWY+53yGnvh/NekNjcM= + /wfoxhYsst5AWZpa8FGEWGdwTQg= Modules/UDFCore.swiftmodule/x86_64-apple-ios-simulator.abi.json - z+nJ0BbbQCkAlky0mr2KEKsA13o= + WEAfhwO+03JvisGhSLLuL+EcX1w= Modules/UDFCore.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface - zbUNlTi3wDh92jCQQqvJ3P3vRxA= + ePvdLhUkl5OoQ5qz1yzMdzVBlkk= Modules/UDFCore.swiftmodule/x86_64-apple-ios-simulator.swiftdoc - vfaYIduhAa5+ST0kU+e/X1R9/Pw= + NhPPHJaGn1CG+dYnepZZs3ayoLc= Modules/UDFCore.swiftmodule/x86_64-apple-ios-simulator.swiftinterface - zbUNlTi3wDh92jCQQqvJ3P3vRxA= + ePvdLhUkl5OoQ5qz1yzMdzVBlkk= Modules/UDFCore.swiftmodule/x86_64-apple-ios-simulator.swiftmodule - LUgNsKfdrv1DmLWnUFD3+POnwqI= + OPN/QS1mZaT57A2cIqgvMdv5U/g= Modules/module.modulemap @@ -74,77 +74,77 @@ hash2 - oWsfhJlBwQUFx9xhoY1gDqJqTJd1ypCOq55ok2K7fp8= + oD7ZF1BaRkMQ6O9e+zAX/oylNMxn7tGfIf6tfV2wNlQ= Modules/UDFCore.swiftmodule/arm64-apple-ios-simulator.abi.json hash2 - gMitaDDjfHIr0z4x1ysARskKHBB4ZeLNJJhfbutlUk0= + CYGXkoPvQFD29KKO8XFpnqm2p2qQ0o7hilnt9Agy6bU= Modules/UDFCore.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface hash2 - JTENg/7ccYspgNNc8a2ySfyy1vvKq8FhJpZdOZsgu4A= + uGAtH8stTUlOPrRuEeUnbHdCtBZeyA646aofeUQfQWc= Modules/UDFCore.swiftmodule/arm64-apple-ios-simulator.swiftdoc hash2 - wJ6aLkK783lVeauIXOw7vSiA0MttEzqoAPibYGO2f+4= + 34PBGGSe0dHCTLyOb2SOClxv3qkUQWjBhLBQ6BVh3bY= Modules/UDFCore.swiftmodule/arm64-apple-ios-simulator.swiftinterface hash2 - JTENg/7ccYspgNNc8a2ySfyy1vvKq8FhJpZdOZsgu4A= + uGAtH8stTUlOPrRuEeUnbHdCtBZeyA646aofeUQfQWc= Modules/UDFCore.swiftmodule/arm64-apple-ios-simulator.swiftmodule hash2 - 4HL+tsMp+Lo9iTXXBmkYe2I/Cwc4YDSsJPkmDrMuEoc= + bjo9loQ15QhN+QlxUnB/SbHVEoZkZB8p97IAdRIfl98= Modules/UDFCore.swiftmodule/x86_64-apple-ios-simulator.abi.json hash2 - gMitaDDjfHIr0z4x1ysARskKHBB4ZeLNJJhfbutlUk0= + CYGXkoPvQFD29KKO8XFpnqm2p2qQ0o7hilnt9Agy6bU= Modules/UDFCore.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface hash2 - g9twsQmYFuoM8iu7efy8P4gPauMGqbHgcvfhA1oV2OM= + oFK0PBIiyc2RSBIYo1ghT5Zq5AjOPU2xj8cpuY+Y3+I= Modules/UDFCore.swiftmodule/x86_64-apple-ios-simulator.swiftdoc hash2 - 6Aulct5MfiD4GPxnW+jGC8e36DJk1VA9wUDJnmvtWT0= + ID1wXVFJr6VYOJM8J/IoPAfA9hT4OBSi3EUb4NKpNdg= Modules/UDFCore.swiftmodule/x86_64-apple-ios-simulator.swiftinterface hash2 - g9twsQmYFuoM8iu7efy8P4gPauMGqbHgcvfhA1oV2OM= + oFK0PBIiyc2RSBIYo1ghT5Zq5AjOPU2xj8cpuY+Y3+I= Modules/UDFCore.swiftmodule/x86_64-apple-ios-simulator.swiftmodule hash2 - zhxW3GzjFXIBcjGmAlWcT7IbHaXCxRXcVxuwiW2B7F4= + ang2Fl6Qh+wnmkYIm3fiOoaDWKUpFneQN84qC7zCnhc= Modules/module.modulemap diff --git a/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Headers/UDFCore-Swift.h b/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Headers/UDFCore-Swift.h index bdf88d88..0c360b21 100644 --- a/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Headers/UDFCore-Swift.h +++ b/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Headers/UDFCore-Swift.h @@ -260,6 +260,7 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); #if __has_warning("-Watimport-in-framework-header") #pragma clang diagnostic ignored "-Watimport-in-framework-header" #endif +@import Foundation; #endif #endif @@ -281,6 +282,17 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); #if defined(__OBJC__) +SWIFT_CLASS("_TtC7UDFCore21AsynchronousOperation") +@interface AsynchronousOperation : NSOperation +@property (nonatomic, readonly, getter=isAsynchronous) BOOL asynchronous; +@property (nonatomic, readonly, getter=isExecuting) BOOL executing; +@property (nonatomic, readonly, getter=isFinished) BOOL finished; +- (void)start; +- (void)main; +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; +@end + + #endif #if defined(__cplusplus) #endif @@ -551,6 +563,7 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); #if __has_warning("-Watimport-in-framework-header") #pragma clang diagnostic ignored "-Watimport-in-framework-header" #endif +@import Foundation; #endif #endif @@ -572,6 +585,17 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); #if defined(__OBJC__) +SWIFT_CLASS("_TtC7UDFCore21AsynchronousOperation") +@interface AsynchronousOperation : NSOperation +@property (nonatomic, readonly, getter=isAsynchronous) BOOL asynchronous; +@property (nonatomic, readonly, getter=isExecuting) BOOL executing; +@property (nonatomic, readonly, getter=isFinished) BOOL finished; +- (void)start; +- (void)main; +- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; +@end + + #endif #if defined(__cplusplus) #endif diff --git a/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/arm64-apple-macos.abi.json b/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/arm64-apple-macos.abi.json index 1e7e458b..0f98861e 100644 --- a/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/arm64-apple-macos.abi.json +++ b/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/arm64-apple-macos.abi.json @@ -1015,126 +1015,23 @@ "kind": "TypeDecl", "name": "AppReducer", "printedName": "AppReducer", - "children": [ - { - "kind": "Function", - "name": "preReduce", - "printedName": "preReduce(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "GenericTypeParam", - "printedName": "τ_1_0" - } - ], - "declKind": "Func", - "usr": "s:7UDFCore10AppReducerP9preReduceyyqd__AA6ActionRd__lF", - "mangledName": "$s7UDFCore10AppReducerP9preReduceyyqd__AA6ActionRd__lF", - "moduleName": "UDFCore", - "genericSig": "<τ_0_0, τ_1_0 where τ_0_0 : UDFCore.AppReducer, τ_1_0 : UDFCore.Action>", - "sugared_genericSig": "", - "protocolReq": true, - "declAttributes": [ - "Mutating" - ], - "reqNewWitnessTableEntry": true, - "funcSelfKind": "Mutating" - }, - { - "kind": "Function", - "name": "postReduce", - "printedName": "postReduce(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "GenericTypeParam", - "printedName": "τ_1_0" - } - ], - "declKind": "Func", - "usr": "s:7UDFCore10AppReducerP10postReduceyyqd__AA6ActionRd__lF", - "mangledName": "$s7UDFCore10AppReducerP10postReduceyyqd__AA6ActionRd__lF", - "moduleName": "UDFCore", - "genericSig": "<τ_0_0, τ_1_0 where τ_0_0 : UDFCore.AppReducer, τ_1_0 : UDFCore.Action>", - "sugared_genericSig": "", - "protocolReq": true, - "declAttributes": [ - "Mutating" - ], - "reqNewWitnessTableEntry": true, - "funcSelfKind": "Mutating" - }, - { - "kind": "Function", - "name": "preReduce", - "printedName": "preReduce(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "GenericTypeParam", - "printedName": "τ_1_0" - } - ], - "declKind": "Func", - "usr": "s:7UDFCore10AppReducerPAAE9preReduceyyqd__AA6ActionRd__lF", - "mangledName": "$s7UDFCore10AppReducerPAAE9preReduceyyqd__AA6ActionRd__lF", - "moduleName": "UDFCore", - "genericSig": "<τ_0_0, τ_1_0 where τ_0_0 : UDFCore.AppReducer, τ_1_0 : UDFCore.Action>", - "sugared_genericSig": "", - "isFromExtension": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "postReduce", - "printedName": "postReduce(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "GenericTypeParam", - "printedName": "τ_1_0" - } - ], - "declKind": "Func", - "usr": "s:7UDFCore10AppReducerPAAE10postReduceyyqd__AA6ActionRd__lF", - "mangledName": "$s7UDFCore10AppReducerPAAE10postReduceyyqd__AA6ActionRd__lF", - "moduleName": "UDFCore", - "genericSig": "<τ_0_0, τ_1_0 where τ_0_0 : UDFCore.AppReducer, τ_1_0 : UDFCore.Action>", - "sugared_genericSig": "", - "isFromExtension": true, - "funcSelfKind": "NonMutating" - } - ], "declKind": "Protocol", "usr": "s:7UDFCore10AppReducerP", "mangledName": "$s7UDFCore10AppReducerP", "moduleName": "UDFCore", - "genericSig": "<τ_0_0 : Swift.Equatable, τ_0_0 : UDFCore.Scope>", - "sugared_genericSig": "", + "genericSig": "<τ_0_0 : Swift.Equatable, τ_0_0 : Swift.Sendable, τ_0_0 : UDFCore.Scope>", + "sugared_genericSig": "", "declAttributes": [ "AccessControl" ], "conformances": [ + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, { "kind": "Conformance", "name": "Scope", @@ -1334,12 +1231,19 @@ "usr": "s:7UDFCore6ActionP", "mangledName": "$s7UDFCore6ActionP", "moduleName": "UDFCore", - "genericSig": "<τ_0_0 : Swift.Equatable>", - "sugared_genericSig": "", + "genericSig": "<τ_0_0 : Swift.Equatable, τ_0_0 : Swift.Sendable>", + "sugared_genericSig": "", "declAttributes": [ "AccessControl" ], "conformances": [ + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, { "kind": "Conformance", "name": "Equatable", @@ -1835,6 +1739,13 @@ "printedName": "Hashable", "usr": "s:SH", "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" } ] }, @@ -2240,6 +2151,13 @@ "printedName": "Equatable", "usr": "s:SQ", "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" } ] } @@ -2690,6 +2608,9 @@ "usr": "s:7UDFCore10_ContainerPAAE4bodyQrvp", "mangledName": "$s7UDFCore10_ContainerPAAE4bodyQrvp", "moduleName": "UDFCore", + "declAttributes": [ + "Custom" + ], "isFromExtension": true, "accessors": [ { @@ -4954,6 +4875,13 @@ "usr": "s:SQ", "mangledName": "$sSQ" }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, { "kind": "Conformance", "name": "CustomDebugStringConvertible", @@ -6567,6 +6495,13 @@ "printedName": "Hashable", "usr": "s:SH", "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" } ] }, @@ -7312,69 +7247,721 @@ }, { "kind": "TypeDecl", - "name": "NoneScope", - "printedName": "NoneScope", + "name": "AsynchronousOperation", + "printedName": "AsynchronousOperation", "children": [ { - "kind": "Function", - "name": "isEqual", - "printedName": "isEqual(_:)", + "kind": "Var", + "name": "isAsynchronous", + "printedName": "isAsynchronous", "children": [ { "kind": "TypeNominal", "name": "Bool", "printedName": "Swift.Bool", "usr": "s:Sb" - }, + } + ], + "declKind": "Var", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(py)asynchronous", + "mangledName": "$s7UDFCore21AsynchronousOperationC02isB0Sbvp", + "moduleName": "UDFCore", + "overriding": true, + "objc_name": "asynchronous", + "declAttributes": [ + "Dynamic", + "ObjC", + "Override", + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)isAsynchronous", + "mangledName": "$s7UDFCore21AsynchronousOperationC02isB0Sbvg", + "moduleName": "UDFCore", + "overriding": true, + "objc_name": "isAsynchronous", + "declAttributes": [ + "Dynamic", + "ObjC" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "isExecuting", + "printedName": "isExecuting", + "children": [ { "kind": "TypeNominal", - "name": "IsEquatable", - "printedName": "UDFCore.IsEquatable", - "usr": "s:7UDFCore11IsEquatableP" + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" } ], - "declKind": "Func", - "usr": "s:7UDFCore9NoneScopeV7isEqualySbAA11IsEquatable_pF", - "mangledName": "$s7UDFCore9NoneScopeV7isEqualySbAA11IsEquatable_pF", + "declKind": "Var", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(py)executing", + "mangledName": "$s7UDFCore21AsynchronousOperationC11isExecutingSbvp", "moduleName": "UDFCore", + "overriding": true, + "objc_name": "executing", "declAttributes": [ + "Dynamic", + "ObjC", + "Override", "AccessControl" ], - "funcSelfKind": "NonMutating" + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)isExecuting", + "mangledName": "$s7UDFCore21AsynchronousOperationC11isExecutingSbvg", + "moduleName": "UDFCore", + "overriding": true, + "objc_name": "isExecuting", + "declAttributes": [ + "Dynamic", + "ObjC" + ], + "accessorKind": "get" + } + ] }, { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", + "kind": "Var", + "name": "isFinished", + "printedName": "isFinished", "children": [ { "kind": "TypeNominal", "name": "Bool", "printedName": "Swift.Bool", "usr": "s:Sb" - }, + } + ], + "declKind": "Var", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(py)finished", + "mangledName": "$s7UDFCore21AsynchronousOperationC10isFinishedSbvp", + "moduleName": "UDFCore", + "overriding": true, + "objc_name": "finished", + "declAttributes": [ + "Dynamic", + "ObjC", + "Override", + "AccessControl" + ], + "accessors": [ { - "kind": "TypeNominal", - "name": "NoneScope", - "printedName": "UDFCore.NoneScope", - "usr": "s:7UDFCore9NoneScopeV" - }, + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)isFinished", + "mangledName": "$s7UDFCore21AsynchronousOperationC10isFinishedSbvg", + "moduleName": "UDFCore", + "overriding": true, + "objc_name": "isFinished", + "declAttributes": [ + "Dynamic", + "ObjC" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "start", + "printedName": "start()", + "children": [ { "kind": "TypeNominal", - "name": "NoneScope", - "printedName": "UDFCore.NoneScope", - "usr": "s:7UDFCore9NoneScopeV" + "name": "Void", + "printedName": "()" } ], "declKind": "Func", - "usr": "s:7UDFCore9NoneScopeV2eeoiySbAC_ACtFZ", - "mangledName": "$s7UDFCore9NoneScopeV2eeoiySbAC_ACtFZ", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)start", + "mangledName": "$s7UDFCore21AsynchronousOperationC5startyyF", "moduleName": "UDFCore", - "static": true, - "implicit": true, + "overriding": true, + "objc_name": "start", + "declAttributes": [ + "Dynamic", + "ObjC", + "Override", + "AccessControl" + ], "funcSelfKind": "NonMutating" - } - ], + }, + { + "kind": "Function", + "name": "main", + "printedName": "main()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)main", + "mangledName": "$s7UDFCore21AsynchronousOperationC4mainyyF", + "moduleName": "UDFCore", + "overriding": true, + "isOpen": true, + "objc_name": "main", + "declAttributes": [ + "Dynamic", + "ObjC", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "finish", + "printedName": "finish()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:7UDFCore21AsynchronousOperationC6finishyyF", + "mangledName": "$s7UDFCore21AsynchronousOperationC6finishyyF", + "moduleName": "UDFCore", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "TypeDecl", + "name": "State", + "printedName": "State", + "children": [ + { + "kind": "Var", + "name": "ready", + "printedName": "ready", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(UDFCore.AsynchronousOperation.State.Type) -> UDFCore.AsynchronousOperation.State", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "UDFCore.AsynchronousOperation.State.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO5readyyA2EmF", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO5readyyA2EmF", + "moduleName": "UDFCore" + }, + { + "kind": "Var", + "name": "executing", + "printedName": "executing", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(UDFCore.AsynchronousOperation.State.Type) -> UDFCore.AsynchronousOperation.State", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "UDFCore.AsynchronousOperation.State.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO9executingyA2EmF", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO9executingyA2EmF", + "moduleName": "UDFCore" + }, + { + "kind": "Var", + "name": "finished", + "printedName": "finished", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(UDFCore.AsynchronousOperation.State.Type) -> UDFCore.AsynchronousOperation.State", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "UDFCore.AsynchronousOperation.State.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO8finishedyA2EmF", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO8finishedyA2EmF", + "moduleName": "UDFCore" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UDFCore.AsynchronousOperation.State?", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO8rawValueAESgSS_tcfc", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO8rawValueAESgSS_tcfc", + "moduleName": "UDFCore", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO8rawValueSSvp", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO8rawValueSSvp", + "moduleName": "UDFCore", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO8rawValueSSvg", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO8rawValueSSvg", + "moduleName": "UDFCore", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO", + "moduleName": "UDFCore", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "enumRawTypeName": "String", + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + } + ] + }, + { + "kind": "Var", + "name": "state", + "printedName": "state", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ], + "declKind": "Var", + "usr": "s:7UDFCore21AsynchronousOperationC5stateAC5StateOvp", + "mangledName": "$s7UDFCore21AsynchronousOperationC5stateAC5StateOvp", + "moduleName": "UDFCore", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ], + "declKind": "Accessor", + "usr": "s:7UDFCore21AsynchronousOperationC5stateAC5StateOvg", + "mangledName": "$s7UDFCore21AsynchronousOperationC5stateAC5StateOvg", + "moduleName": "UDFCore", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ], + "declKind": "Accessor", + "usr": "s:7UDFCore21AsynchronousOperationC5stateAC5StateOvs", + "mangledName": "$s7UDFCore21AsynchronousOperationC5stateAC5StateOvs", + "moduleName": "UDFCore", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:7UDFCore21AsynchronousOperationC5stateAC5StateOvM", + "mangledName": "$s7UDFCore21AsynchronousOperationC5stateAC5StateOvM", + "moduleName": "UDFCore", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "AsynchronousOperation", + "printedName": "UDFCore.AsynchronousOperation", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation" + } + ], + "declKind": "Constructor", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)init", + "mangledName": "$s7UDFCore21AsynchronousOperationCACycfc", + "moduleName": "UDFCore", + "overriding": true, + "implicit": true, + "objc_name": "init", + "declAttributes": [ + "Dynamic", + "ObjC", + "Override" + ], + "init_kind": "Designated" + } + ], + "declKind": "Class", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation", + "mangledName": "$s7UDFCore21AsynchronousOperationC", + "moduleName": "UDFCore", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "ObjC" + ], + "superclassUsr": "c:objc(cs)NSOperation", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "Foundation.Operation", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "UDFCore", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "NoneScope", + "printedName": "NoneScope", + "children": [ + { + "kind": "Function", + "name": "isEqual", + "printedName": "isEqual(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "IsEquatable", + "printedName": "UDFCore.IsEquatable", + "usr": "s:7UDFCore11IsEquatableP" + } + ], + "declKind": "Func", + "usr": "s:7UDFCore9NoneScopeV7isEqualySbAA11IsEquatable_pF", + "mangledName": "$s7UDFCore9NoneScopeV7isEqualySbAA11IsEquatable_pF", + "moduleName": "UDFCore", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "NoneScope", + "printedName": "UDFCore.NoneScope", + "usr": "s:7UDFCore9NoneScopeV" + }, + { + "kind": "TypeNominal", + "name": "NoneScope", + "printedName": "UDFCore.NoneScope", + "usr": "s:7UDFCore9NoneScopeV" + } + ], + "declKind": "Func", + "usr": "s:7UDFCore9NoneScopeV2eeoiySbAC_ACtFZ", + "mangledName": "$s7UDFCore9NoneScopeV2eeoiySbAC_ACtFZ", + "moduleName": "UDFCore", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], "declKind": "Struct", "usr": "s:7UDFCore9NoneScopeV", "mangledName": "$s7UDFCore9NoneScopeV", @@ -7508,16 +8095,6 @@ } ] }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "UDFCore", - "declAttributes": [ - "RawDocComment" - ] - }, { "kind": "TypeDecl", "name": "Dictionary", @@ -9285,21 +9862,21 @@ { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/View\/Container\/ContainerState.swift", "kind": "StringLiteral", - "offset": 181, + "offset": 187, "length": 2, "value": "\"\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/Action\/Action.swift", "kind": "BooleanLiteral", - "offset": 963, + "offset": 973, "length": 4, "value": "true" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/Action\/Action.swift", "kind": "BooleanLiteral", - "offset": 1115, + "offset": 1125, "length": 4, "value": "true" }, @@ -9376,14 +9953,14 @@ { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/View\/Container\/Container.swift", "kind": "BooleanLiteral", - "offset": 2354, + "offset": 2369, "length": 4, "value": "true" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/View\/Container\/Container.swift", "kind": "BooleanLiteral", - "offset": 2640, + "offset": 2655, "length": 5, "value": "false" }, @@ -9457,80 +10034,45 @@ "length": 5, "value": "false" }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/EnvironmentStore.swift", + "kind": "StringLiteral", + "offset": 543, + "length": 18, + "value": "\"EnvironmentStore\"" + }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", "kind": "Array", - "offset": 357, + "offset": 364, "length": 2, "value": "[]" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", "kind": "BooleanLiteral", - "offset": 2874, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 3304, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 3418, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 3573, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 3825, + "offset": 2706, "length": 5, "value": "false" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", "kind": "BooleanLiteral", - "offset": 3929, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 4010, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 4124, + "offset": 3241, "length": 4, "value": "true" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", "kind": "BooleanLiteral", - "offset": 6167, + "offset": 5316, "length": 5, "value": "false" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", "kind": "BooleanLiteral", - "offset": 6259, + "offset": 5408, "length": 4, "value": "true" }, @@ -9576,13 +10118,6 @@ "length": 3, "value": "[]" }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Common\/Scope\/Scope+None.swift", - "kind": "BooleanLiteral", - "offset": 314, - "length": 4, - "value": "true" - }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", "kind": "IntegerLiteral", @@ -9594,50 +10129,85 @@ "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", "kind": "StringLiteral", "offset": 246, - "length": 18, - "value": "\"EnvironmentStore\"" + "length": 12, + "value": "\"StoreQueue\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "Array", - "offset": 368, - "length": 2, - "value": "[]" + "kind": "BooleanLiteral", + "offset": 420, + "length": 4, + "value": "true" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "IntegerLiteral", - "offset": 484, - "length": 1, - "value": "0" + "kind": "StringLiteral", + "offset": 1080, + "length": 7, + "value": "\"Ready\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "IntegerLiteral", - "offset": 420, - "length": 1, - "value": "0" + "kind": "StringLiteral", + "offset": 1113, + "length": 11, + "value": "\"Executing\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "IntegerLiteral", - "offset": 813, - "length": 1, - "value": "1" + "kind": "StringLiteral", + "offset": 1149, + "length": 10, + "value": "\"Finished\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "IntegerLiteral", - "offset": 950, - "length": 1, - "value": "0" + "kind": "StringLiteral", + "offset": 1209, + "length": 4, + "value": "\"is\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "IntegerLiteral", - "offset": 980, - "length": 1, - "value": "1" + "kind": "StringLiteral", + "offset": 1080, + "length": 7, + "value": "\"Ready\"" + }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", + "kind": "StringLiteral", + "offset": 1113, + "length": 11, + "value": "\"Executing\"" + }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", + "kind": "StringLiteral", + "offset": 1149, + "length": 10, + "value": "\"Finished\"" + }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", + "kind": "StringLiteral", + "offset": 1833, + "length": 35, + "value": "\"AsynchronousOperation State Queue\"" + }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", + "kind": "StringLiteral", + "offset": 2014, + "length": 14, + "value": "\"UDFCore.StoreOperation\"" + }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Common\/Scope\/Scope+None.swift", + "kind": "BooleanLiteral", + "offset": 314, + "length": 4, + "value": "true" } ] } \ No newline at end of file diff --git a/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/arm64-apple-macos.private.swiftinterface b/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/arm64-apple-macos.private.swiftinterface index 923f0fab..6bc0e798 100644 --- a/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/arm64-apple-macos.private.swiftinterface +++ b/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/arm64-apple-macos.private.swiftinterface @@ -48,13 +48,7 @@ public protocol _Mergeable { func merging(_ newValue: Self) -> Self func filled(from value: Self, mutate: (_ filled: inout Self, _ old: Self) -> Swift.Void) -> Self } -public protocol AppReducer : Swift.Equatable, UDFCore.Scope { - mutating func preReduce(_ action: some Action) - mutating func postReduce(_ action: some Action) -} -extension UDFCore.AppReducer { - public func preReduce(_ action: some Action) - public func postReduce(_ action: some Action) +public protocol AppReducer : Swift.Equatable, Swift.Sendable, UDFCore.Scope { } public protocol IsEquatable { func isEqual(_ rhs: any UDFCore.IsEquatable) -> Swift.Bool @@ -62,7 +56,7 @@ public protocol IsEquatable { extension UDFCore.IsEquatable where Self : Swift.Equatable { public func isEqual(_ rhs: any UDFCore.IsEquatable) -> Swift.Bool } -public protocol Action : Swift.Equatable { +public protocol Action : Swift.Equatable, Swift.Sendable { } extension UDFCore.Action { public func with(animation: SwiftUI.Animation?) -> some UDFCore.Action @@ -90,7 +84,7 @@ public typealias EquatableScope = Swift.Equatable & UDFCore.Scope extension UDFCore._Mergeable { public func filled(from value: Self, mutate: (_ filledValue: inout Self, _ oldValue: Self) -> Swift.Void) -> Self } -public enum MiddlewareStatus { +public enum MiddlewareStatus : Swift.Sendable { case active case suspend public static func == (a: UDFCore.MiddlewareStatus, b: UDFCore.MiddlewareStatus) -> Swift.Bool @@ -151,7 +145,7 @@ extension UDFCore._Container { public var store: UDFCore.EnvironmentStore { get } - public var body: some SwiftUI.View { + @_Concurrency.MainActor public var body: some SwiftUI.View { get } } @@ -318,7 +312,7 @@ extension UDFCore.Store { public func bind(_ action: some Action, priority: UDFCore.ActionPriority = .default, fileName: Swift.String = #file, functionName: Swift.String = #function, lineNumber: Swift.Int = #line) -> UDFCore.Command public func bind(_ action: @escaping (T) -> some Action, priority: UDFCore.ActionPriority = .default, fileName: Swift.String = #file, functionName: Swift.String = #function, lineNumber: Swift.Int = #line) -> UDFCore.CommandWith } -public enum ActionPriority { +public enum ActionPriority : Swift.Sendable { case `default` case userInteractive public static func == (a: UDFCore.ActionPriority, b: UDFCore.ActionPriority) -> Swift.Bool @@ -386,6 +380,36 @@ extension UDFCore.Reducing { public mutating func reduce(_ action: some Action) } public typealias Reducible = Swift.Equatable & UDFCore.Reducing +@objc @_inheritsConvenienceInitializers open class AsynchronousOperation : Foundation.Operation { + @objc override dynamic public var isAsynchronous: Swift.Bool { + @objc get + } + @objc override dynamic public var isExecuting: Swift.Bool { + @objc get + } + @objc override dynamic public var isFinished: Swift.Bool { + @objc get + } + @objc override dynamic public func start() + @objc override dynamic open func main() + public func finish() + public enum State : Swift.String { + case ready + case executing + case finished + public init?(rawValue: Swift.String) + public typealias RawValue = Swift.String + public var rawValue: Swift.String { + get + } + } + public var state: UDFCore.AsynchronousOperation.State { + get + set + } + @objc override dynamic public init() + @objc deinit +} extension UDFCore.Scope where Self == UDFCore.NoneScope { public static var none: UDFCore.NoneScope { get @@ -404,3 +428,6 @@ extension UDFCore.MiddlewareStatus : Swift.Hashable {} extension UDFCore.ActionPriority : Swift.Equatable {} extension UDFCore.ActionPriority : Swift.Hashable {} extension UDFCore.XCTestStore : Swift.Sendable {} +extension UDFCore.AsynchronousOperation.State : Swift.Equatable {} +extension UDFCore.AsynchronousOperation.State : Swift.Hashable {} +extension UDFCore.AsynchronousOperation.State : Swift.RawRepresentable {} diff --git a/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/arm64-apple-macos.swiftdoc b/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/arm64-apple-macos.swiftdoc index 4767d679..2ecf8311 100644 Binary files a/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/arm64-apple-macos.swiftdoc and b/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/arm64-apple-macos.swiftdoc differ diff --git a/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/arm64-apple-macos.swiftinterface b/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/arm64-apple-macos.swiftinterface index 923f0fab..6bc0e798 100644 --- a/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/arm64-apple-macos.swiftinterface +++ b/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/arm64-apple-macos.swiftinterface @@ -48,13 +48,7 @@ public protocol _Mergeable { func merging(_ newValue: Self) -> Self func filled(from value: Self, mutate: (_ filled: inout Self, _ old: Self) -> Swift.Void) -> Self } -public protocol AppReducer : Swift.Equatable, UDFCore.Scope { - mutating func preReduce(_ action: some Action) - mutating func postReduce(_ action: some Action) -} -extension UDFCore.AppReducer { - public func preReduce(_ action: some Action) - public func postReduce(_ action: some Action) +public protocol AppReducer : Swift.Equatable, Swift.Sendable, UDFCore.Scope { } public protocol IsEquatable { func isEqual(_ rhs: any UDFCore.IsEquatable) -> Swift.Bool @@ -62,7 +56,7 @@ public protocol IsEquatable { extension UDFCore.IsEquatable where Self : Swift.Equatable { public func isEqual(_ rhs: any UDFCore.IsEquatable) -> Swift.Bool } -public protocol Action : Swift.Equatable { +public protocol Action : Swift.Equatable, Swift.Sendable { } extension UDFCore.Action { public func with(animation: SwiftUI.Animation?) -> some UDFCore.Action @@ -90,7 +84,7 @@ public typealias EquatableScope = Swift.Equatable & UDFCore.Scope extension UDFCore._Mergeable { public func filled(from value: Self, mutate: (_ filledValue: inout Self, _ oldValue: Self) -> Swift.Void) -> Self } -public enum MiddlewareStatus { +public enum MiddlewareStatus : Swift.Sendable { case active case suspend public static func == (a: UDFCore.MiddlewareStatus, b: UDFCore.MiddlewareStatus) -> Swift.Bool @@ -151,7 +145,7 @@ extension UDFCore._Container { public var store: UDFCore.EnvironmentStore { get } - public var body: some SwiftUI.View { + @_Concurrency.MainActor public var body: some SwiftUI.View { get } } @@ -318,7 +312,7 @@ extension UDFCore.Store { public func bind(_ action: some Action, priority: UDFCore.ActionPriority = .default, fileName: Swift.String = #file, functionName: Swift.String = #function, lineNumber: Swift.Int = #line) -> UDFCore.Command public func bind(_ action: @escaping (T) -> some Action, priority: UDFCore.ActionPriority = .default, fileName: Swift.String = #file, functionName: Swift.String = #function, lineNumber: Swift.Int = #line) -> UDFCore.CommandWith } -public enum ActionPriority { +public enum ActionPriority : Swift.Sendable { case `default` case userInteractive public static func == (a: UDFCore.ActionPriority, b: UDFCore.ActionPriority) -> Swift.Bool @@ -386,6 +380,36 @@ extension UDFCore.Reducing { public mutating func reduce(_ action: some Action) } public typealias Reducible = Swift.Equatable & UDFCore.Reducing +@objc @_inheritsConvenienceInitializers open class AsynchronousOperation : Foundation.Operation { + @objc override dynamic public var isAsynchronous: Swift.Bool { + @objc get + } + @objc override dynamic public var isExecuting: Swift.Bool { + @objc get + } + @objc override dynamic public var isFinished: Swift.Bool { + @objc get + } + @objc override dynamic public func start() + @objc override dynamic open func main() + public func finish() + public enum State : Swift.String { + case ready + case executing + case finished + public init?(rawValue: Swift.String) + public typealias RawValue = Swift.String + public var rawValue: Swift.String { + get + } + } + public var state: UDFCore.AsynchronousOperation.State { + get + set + } + @objc override dynamic public init() + @objc deinit +} extension UDFCore.Scope where Self == UDFCore.NoneScope { public static var none: UDFCore.NoneScope { get @@ -404,3 +428,6 @@ extension UDFCore.MiddlewareStatus : Swift.Hashable {} extension UDFCore.ActionPriority : Swift.Equatable {} extension UDFCore.ActionPriority : Swift.Hashable {} extension UDFCore.XCTestStore : Swift.Sendable {} +extension UDFCore.AsynchronousOperation.State : Swift.Equatable {} +extension UDFCore.AsynchronousOperation.State : Swift.Hashable {} +extension UDFCore.AsynchronousOperation.State : Swift.RawRepresentable {} diff --git a/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/x86_64-apple-macos.abi.json b/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/x86_64-apple-macos.abi.json index 1e7e458b..0f98861e 100644 --- a/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/x86_64-apple-macos.abi.json +++ b/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/x86_64-apple-macos.abi.json @@ -1015,126 +1015,23 @@ "kind": "TypeDecl", "name": "AppReducer", "printedName": "AppReducer", - "children": [ - { - "kind": "Function", - "name": "preReduce", - "printedName": "preReduce(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "GenericTypeParam", - "printedName": "τ_1_0" - } - ], - "declKind": "Func", - "usr": "s:7UDFCore10AppReducerP9preReduceyyqd__AA6ActionRd__lF", - "mangledName": "$s7UDFCore10AppReducerP9preReduceyyqd__AA6ActionRd__lF", - "moduleName": "UDFCore", - "genericSig": "<τ_0_0, τ_1_0 where τ_0_0 : UDFCore.AppReducer, τ_1_0 : UDFCore.Action>", - "sugared_genericSig": "", - "protocolReq": true, - "declAttributes": [ - "Mutating" - ], - "reqNewWitnessTableEntry": true, - "funcSelfKind": "Mutating" - }, - { - "kind": "Function", - "name": "postReduce", - "printedName": "postReduce(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "GenericTypeParam", - "printedName": "τ_1_0" - } - ], - "declKind": "Func", - "usr": "s:7UDFCore10AppReducerP10postReduceyyqd__AA6ActionRd__lF", - "mangledName": "$s7UDFCore10AppReducerP10postReduceyyqd__AA6ActionRd__lF", - "moduleName": "UDFCore", - "genericSig": "<τ_0_0, τ_1_0 where τ_0_0 : UDFCore.AppReducer, τ_1_0 : UDFCore.Action>", - "sugared_genericSig": "", - "protocolReq": true, - "declAttributes": [ - "Mutating" - ], - "reqNewWitnessTableEntry": true, - "funcSelfKind": "Mutating" - }, - { - "kind": "Function", - "name": "preReduce", - "printedName": "preReduce(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "GenericTypeParam", - "printedName": "τ_1_0" - } - ], - "declKind": "Func", - "usr": "s:7UDFCore10AppReducerPAAE9preReduceyyqd__AA6ActionRd__lF", - "mangledName": "$s7UDFCore10AppReducerPAAE9preReduceyyqd__AA6ActionRd__lF", - "moduleName": "UDFCore", - "genericSig": "<τ_0_0, τ_1_0 where τ_0_0 : UDFCore.AppReducer, τ_1_0 : UDFCore.Action>", - "sugared_genericSig": "", - "isFromExtension": true, - "funcSelfKind": "NonMutating" - }, - { - "kind": "Function", - "name": "postReduce", - "printedName": "postReduce(_:)", - "children": [ - { - "kind": "TypeNominal", - "name": "Void", - "printedName": "()" - }, - { - "kind": "TypeNominal", - "name": "GenericTypeParam", - "printedName": "τ_1_0" - } - ], - "declKind": "Func", - "usr": "s:7UDFCore10AppReducerPAAE10postReduceyyqd__AA6ActionRd__lF", - "mangledName": "$s7UDFCore10AppReducerPAAE10postReduceyyqd__AA6ActionRd__lF", - "moduleName": "UDFCore", - "genericSig": "<τ_0_0, τ_1_0 where τ_0_0 : UDFCore.AppReducer, τ_1_0 : UDFCore.Action>", - "sugared_genericSig": "", - "isFromExtension": true, - "funcSelfKind": "NonMutating" - } - ], "declKind": "Protocol", "usr": "s:7UDFCore10AppReducerP", "mangledName": "$s7UDFCore10AppReducerP", "moduleName": "UDFCore", - "genericSig": "<τ_0_0 : Swift.Equatable, τ_0_0 : UDFCore.Scope>", - "sugared_genericSig": "", + "genericSig": "<τ_0_0 : Swift.Equatable, τ_0_0 : Swift.Sendable, τ_0_0 : UDFCore.Scope>", + "sugared_genericSig": "", "declAttributes": [ "AccessControl" ], "conformances": [ + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, { "kind": "Conformance", "name": "Scope", @@ -1334,12 +1231,19 @@ "usr": "s:7UDFCore6ActionP", "mangledName": "$s7UDFCore6ActionP", "moduleName": "UDFCore", - "genericSig": "<τ_0_0 : Swift.Equatable>", - "sugared_genericSig": "", + "genericSig": "<τ_0_0 : Swift.Equatable, τ_0_0 : Swift.Sendable>", + "sugared_genericSig": "", "declAttributes": [ "AccessControl" ], "conformances": [ + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, { "kind": "Conformance", "name": "Equatable", @@ -1835,6 +1739,13 @@ "printedName": "Hashable", "usr": "s:SH", "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" } ] }, @@ -2240,6 +2151,13 @@ "printedName": "Equatable", "usr": "s:SQ", "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" } ] } @@ -2690,6 +2608,9 @@ "usr": "s:7UDFCore10_ContainerPAAE4bodyQrvp", "mangledName": "$s7UDFCore10_ContainerPAAE4bodyQrvp", "moduleName": "UDFCore", + "declAttributes": [ + "Custom" + ], "isFromExtension": true, "accessors": [ { @@ -4954,6 +4875,13 @@ "usr": "s:SQ", "mangledName": "$sSQ" }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" + }, { "kind": "Conformance", "name": "CustomDebugStringConvertible", @@ -6567,6 +6495,13 @@ "printedName": "Hashable", "usr": "s:SH", "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "Sendable", + "printedName": "Sendable", + "usr": "s:s8SendableP", + "mangledName": "$ss8SendableP" } ] }, @@ -7312,69 +7247,721 @@ }, { "kind": "TypeDecl", - "name": "NoneScope", - "printedName": "NoneScope", + "name": "AsynchronousOperation", + "printedName": "AsynchronousOperation", "children": [ { - "kind": "Function", - "name": "isEqual", - "printedName": "isEqual(_:)", + "kind": "Var", + "name": "isAsynchronous", + "printedName": "isAsynchronous", "children": [ { "kind": "TypeNominal", "name": "Bool", "printedName": "Swift.Bool", "usr": "s:Sb" - }, + } + ], + "declKind": "Var", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(py)asynchronous", + "mangledName": "$s7UDFCore21AsynchronousOperationC02isB0Sbvp", + "moduleName": "UDFCore", + "overriding": true, + "objc_name": "asynchronous", + "declAttributes": [ + "Dynamic", + "ObjC", + "Override", + "AccessControl" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)isAsynchronous", + "mangledName": "$s7UDFCore21AsynchronousOperationC02isB0Sbvg", + "moduleName": "UDFCore", + "overriding": true, + "objc_name": "isAsynchronous", + "declAttributes": [ + "Dynamic", + "ObjC" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Var", + "name": "isExecuting", + "printedName": "isExecuting", + "children": [ { "kind": "TypeNominal", - "name": "IsEquatable", - "printedName": "UDFCore.IsEquatable", - "usr": "s:7UDFCore11IsEquatableP" + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" } ], - "declKind": "Func", - "usr": "s:7UDFCore9NoneScopeV7isEqualySbAA11IsEquatable_pF", - "mangledName": "$s7UDFCore9NoneScopeV7isEqualySbAA11IsEquatable_pF", + "declKind": "Var", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(py)executing", + "mangledName": "$s7UDFCore21AsynchronousOperationC11isExecutingSbvp", "moduleName": "UDFCore", + "overriding": true, + "objc_name": "executing", "declAttributes": [ + "Dynamic", + "ObjC", + "Override", "AccessControl" ], - "funcSelfKind": "NonMutating" + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)isExecuting", + "mangledName": "$s7UDFCore21AsynchronousOperationC11isExecutingSbvg", + "moduleName": "UDFCore", + "overriding": true, + "objc_name": "isExecuting", + "declAttributes": [ + "Dynamic", + "ObjC" + ], + "accessorKind": "get" + } + ] }, { - "kind": "Function", - "name": "==", - "printedName": "==(_:_:)", + "kind": "Var", + "name": "isFinished", + "printedName": "isFinished", "children": [ { "kind": "TypeNominal", "name": "Bool", "printedName": "Swift.Bool", "usr": "s:Sb" - }, + } + ], + "declKind": "Var", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(py)finished", + "mangledName": "$s7UDFCore21AsynchronousOperationC10isFinishedSbvp", + "moduleName": "UDFCore", + "overriding": true, + "objc_name": "finished", + "declAttributes": [ + "Dynamic", + "ObjC", + "Override", + "AccessControl" + ], + "accessors": [ { - "kind": "TypeNominal", - "name": "NoneScope", - "printedName": "UDFCore.NoneScope", - "usr": "s:7UDFCore9NoneScopeV" - }, + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + } + ], + "declKind": "Accessor", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)isFinished", + "mangledName": "$s7UDFCore21AsynchronousOperationC10isFinishedSbvg", + "moduleName": "UDFCore", + "overriding": true, + "objc_name": "isFinished", + "declAttributes": [ + "Dynamic", + "ObjC" + ], + "accessorKind": "get" + } + ] + }, + { + "kind": "Function", + "name": "start", + "printedName": "start()", + "children": [ { "kind": "TypeNominal", - "name": "NoneScope", - "printedName": "UDFCore.NoneScope", - "usr": "s:7UDFCore9NoneScopeV" + "name": "Void", + "printedName": "()" } ], "declKind": "Func", - "usr": "s:7UDFCore9NoneScopeV2eeoiySbAC_ACtFZ", - "mangledName": "$s7UDFCore9NoneScopeV2eeoiySbAC_ACtFZ", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)start", + "mangledName": "$s7UDFCore21AsynchronousOperationC5startyyF", "moduleName": "UDFCore", - "static": true, - "implicit": true, + "overriding": true, + "objc_name": "start", + "declAttributes": [ + "Dynamic", + "ObjC", + "Override", + "AccessControl" + ], "funcSelfKind": "NonMutating" - } - ], + }, + { + "kind": "Function", + "name": "main", + "printedName": "main()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)main", + "mangledName": "$s7UDFCore21AsynchronousOperationC4mainyyF", + "moduleName": "UDFCore", + "overriding": true, + "isOpen": true, + "objc_name": "main", + "declAttributes": [ + "Dynamic", + "ObjC", + "Override", + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "finish", + "printedName": "finish()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Func", + "usr": "s:7UDFCore21AsynchronousOperationC6finishyyF", + "mangledName": "$s7UDFCore21AsynchronousOperationC6finishyyF", + "moduleName": "UDFCore", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "TypeDecl", + "name": "State", + "printedName": "State", + "children": [ + { + "kind": "Var", + "name": "ready", + "printedName": "ready", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(UDFCore.AsynchronousOperation.State.Type) -> UDFCore.AsynchronousOperation.State", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "UDFCore.AsynchronousOperation.State.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO5readyyA2EmF", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO5readyyA2EmF", + "moduleName": "UDFCore" + }, + { + "kind": "Var", + "name": "executing", + "printedName": "executing", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(UDFCore.AsynchronousOperation.State.Type) -> UDFCore.AsynchronousOperation.State", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "UDFCore.AsynchronousOperation.State.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO9executingyA2EmF", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO9executingyA2EmF", + "moduleName": "UDFCore" + }, + { + "kind": "Var", + "name": "finished", + "printedName": "finished", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(UDFCore.AsynchronousOperation.State.Type) -> UDFCore.AsynchronousOperation.State", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "UDFCore.AsynchronousOperation.State.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO8finishedyA2EmF", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO8finishedyA2EmF", + "moduleName": "UDFCore" + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init(rawValue:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Optional", + "printedName": "UDFCore.AsynchronousOperation.State?", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ], + "usr": "s:Sq" + }, + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Constructor", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO8rawValueAESgSS_tcfc", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO8rawValueAESgSS_tcfc", + "moduleName": "UDFCore", + "implicit": true, + "init_kind": "Designated" + }, + { + "kind": "Var", + "name": "rawValue", + "printedName": "rawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Var", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO8rawValueSSvp", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO8rawValueSSvp", + "moduleName": "UDFCore", + "implicit": true, + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ], + "declKind": "Accessor", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO8rawValueSSvg", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO8rawValueSSvg", + "moduleName": "UDFCore", + "implicit": true, + "accessorKind": "get" + } + ] + } + ], + "declKind": "Enum", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO", + "mangledName": "$s7UDFCore21AsynchronousOperationC5StateO", + "moduleName": "UDFCore", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "enumRawTypeName": "String", + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "RawRepresentable", + "printedName": "RawRepresentable", + "children": [ + { + "kind": "TypeWitness", + "name": "RawValue", + "printedName": "RawValue", + "children": [ + { + "kind": "TypeNominal", + "name": "String", + "printedName": "Swift.String", + "usr": "s:SS" + } + ] + } + ], + "usr": "s:SY", + "mangledName": "$sSY" + } + ] + }, + { + "kind": "Var", + "name": "state", + "printedName": "state", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ], + "declKind": "Var", + "usr": "s:7UDFCore21AsynchronousOperationC5stateAC5StateOvp", + "mangledName": "$s7UDFCore21AsynchronousOperationC5stateAC5StateOvp", + "moduleName": "UDFCore", + "declAttributes": [ + "AccessControl", + "RawDocComment" + ], + "accessors": [ + { + "kind": "Accessor", + "name": "Get", + "printedName": "Get()", + "children": [ + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ], + "declKind": "Accessor", + "usr": "s:7UDFCore21AsynchronousOperationC5stateAC5StateOvg", + "mangledName": "$s7UDFCore21AsynchronousOperationC5stateAC5StateOvg", + "moduleName": "UDFCore", + "accessorKind": "get" + }, + { + "kind": "Accessor", + "name": "Set", + "printedName": "Set()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + }, + { + "kind": "TypeNominal", + "name": "State", + "printedName": "UDFCore.AsynchronousOperation.State", + "usr": "s:7UDFCore21AsynchronousOperationC5StateO" + } + ], + "declKind": "Accessor", + "usr": "s:7UDFCore21AsynchronousOperationC5stateAC5StateOvs", + "mangledName": "$s7UDFCore21AsynchronousOperationC5stateAC5StateOvs", + "moduleName": "UDFCore", + "accessorKind": "set" + }, + { + "kind": "Accessor", + "name": "Modify", + "printedName": "Modify()", + "children": [ + { + "kind": "TypeNominal", + "name": "Void", + "printedName": "()" + } + ], + "declKind": "Accessor", + "usr": "s:7UDFCore21AsynchronousOperationC5stateAC5StateOvM", + "mangledName": "$s7UDFCore21AsynchronousOperationC5stateAC5StateOvM", + "moduleName": "UDFCore", + "implicit": true, + "accessorKind": "_modify" + } + ] + }, + { + "kind": "Constructor", + "name": "init", + "printedName": "init()", + "children": [ + { + "kind": "TypeNominal", + "name": "AsynchronousOperation", + "printedName": "UDFCore.AsynchronousOperation", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation" + } + ], + "declKind": "Constructor", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation(im)init", + "mangledName": "$s7UDFCore21AsynchronousOperationCACycfc", + "moduleName": "UDFCore", + "overriding": true, + "implicit": true, + "objc_name": "init", + "declAttributes": [ + "Dynamic", + "ObjC", + "Override" + ], + "init_kind": "Designated" + } + ], + "declKind": "Class", + "usr": "c:@M@UDFCore@objc(cs)AsynchronousOperation", + "mangledName": "$s7UDFCore21AsynchronousOperationC", + "moduleName": "UDFCore", + "isOpen": true, + "declAttributes": [ + "AccessControl", + "ObjC" + ], + "superclassUsr": "c:objc(cs)NSOperation", + "inheritsConvenienceInitializers": true, + "superclassNames": [ + "Foundation.Operation", + "ObjectiveC.NSObject" + ], + "conformances": [ + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, + { + "kind": "Conformance", + "name": "Hashable", + "printedName": "Hashable", + "usr": "s:SH", + "mangledName": "$sSH" + }, + { + "kind": "Conformance", + "name": "CVarArg", + "printedName": "CVarArg", + "usr": "s:s7CVarArgP", + "mangledName": "$ss7CVarArgP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObservingPublishing", + "printedName": "_KeyValueCodingAndObservingPublishing", + "usr": "s:10Foundation37_KeyValueCodingAndObservingPublishingP", + "mangledName": "$s10Foundation37_KeyValueCodingAndObservingPublishingP" + }, + { + "kind": "Conformance", + "name": "_KeyValueCodingAndObserving", + "printedName": "_KeyValueCodingAndObserving", + "usr": "s:10Foundation27_KeyValueCodingAndObservingP", + "mangledName": "$s10Foundation27_KeyValueCodingAndObservingP" + }, + { + "kind": "Conformance", + "name": "CustomStringConvertible", + "printedName": "CustomStringConvertible", + "usr": "s:s23CustomStringConvertibleP", + "mangledName": "$ss23CustomStringConvertibleP" + }, + { + "kind": "Conformance", + "name": "CustomDebugStringConvertible", + "printedName": "CustomDebugStringConvertible", + "usr": "s:s28CustomDebugStringConvertibleP", + "mangledName": "$ss28CustomDebugStringConvertibleP" + } + ] + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "UDFCore", + "declAttributes": [ + "RawDocComment" + ] + }, + { + "kind": "TypeDecl", + "name": "NoneScope", + "printedName": "NoneScope", + "children": [ + { + "kind": "Function", + "name": "isEqual", + "printedName": "isEqual(_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "IsEquatable", + "printedName": "UDFCore.IsEquatable", + "usr": "s:7UDFCore11IsEquatableP" + } + ], + "declKind": "Func", + "usr": "s:7UDFCore9NoneScopeV7isEqualySbAA11IsEquatable_pF", + "mangledName": "$s7UDFCore9NoneScopeV7isEqualySbAA11IsEquatable_pF", + "moduleName": "UDFCore", + "declAttributes": [ + "AccessControl" + ], + "funcSelfKind": "NonMutating" + }, + { + "kind": "Function", + "name": "==", + "printedName": "==(_:_:)", + "children": [ + { + "kind": "TypeNominal", + "name": "Bool", + "printedName": "Swift.Bool", + "usr": "s:Sb" + }, + { + "kind": "TypeNominal", + "name": "NoneScope", + "printedName": "UDFCore.NoneScope", + "usr": "s:7UDFCore9NoneScopeV" + }, + { + "kind": "TypeNominal", + "name": "NoneScope", + "printedName": "UDFCore.NoneScope", + "usr": "s:7UDFCore9NoneScopeV" + } + ], + "declKind": "Func", + "usr": "s:7UDFCore9NoneScopeV2eeoiySbAC_ACtFZ", + "mangledName": "$s7UDFCore9NoneScopeV2eeoiySbAC_ACtFZ", + "moduleName": "UDFCore", + "static": true, + "implicit": true, + "funcSelfKind": "NonMutating" + } + ], "declKind": "Struct", "usr": "s:7UDFCore9NoneScopeV", "mangledName": "$s7UDFCore9NoneScopeV", @@ -7508,16 +8095,6 @@ } ] }, - { - "kind": "Import", - "name": "Foundation", - "printedName": "Foundation", - "declKind": "Import", - "moduleName": "UDFCore", - "declAttributes": [ - "RawDocComment" - ] - }, { "kind": "TypeDecl", "name": "Dictionary", @@ -9285,21 +9862,21 @@ { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/View\/Container\/ContainerState.swift", "kind": "StringLiteral", - "offset": 181, + "offset": 187, "length": 2, "value": "\"\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/Action\/Action.swift", "kind": "BooleanLiteral", - "offset": 963, + "offset": 973, "length": 4, "value": "true" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/Action\/Action.swift", "kind": "BooleanLiteral", - "offset": 1115, + "offset": 1125, "length": 4, "value": "true" }, @@ -9376,14 +9953,14 @@ { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/View\/Container\/Container.swift", "kind": "BooleanLiteral", - "offset": 2354, + "offset": 2369, "length": 4, "value": "true" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/View\/Container\/Container.swift", "kind": "BooleanLiteral", - "offset": 2640, + "offset": 2655, "length": 5, "value": "false" }, @@ -9457,80 +10034,45 @@ "length": 5, "value": "false" }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/EnvironmentStore.swift", + "kind": "StringLiteral", + "offset": 543, + "length": 18, + "value": "\"EnvironmentStore\"" + }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", "kind": "Array", - "offset": 357, + "offset": 364, "length": 2, "value": "[]" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", "kind": "BooleanLiteral", - "offset": 2874, - "length": 5, - "value": "false" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 3304, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 3418, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 3573, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 3825, + "offset": 2706, "length": 5, "value": "false" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", "kind": "BooleanLiteral", - "offset": 3929, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 4010, - "length": 4, - "value": "true" - }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", - "kind": "BooleanLiteral", - "offset": 4124, + "offset": 3241, "length": 4, "value": "true" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", "kind": "BooleanLiteral", - "offset": 6167, + "offset": 5316, "length": 5, "value": "false" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/InternalStore.swift", "kind": "BooleanLiteral", - "offset": 6259, + "offset": 5408, "length": 4, "value": "true" }, @@ -9576,13 +10118,6 @@ "length": 3, "value": "[]" }, - { - "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Common\/Scope\/Scope+None.swift", - "kind": "BooleanLiteral", - "offset": 314, - "length": 4, - "value": "true" - }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", "kind": "IntegerLiteral", @@ -9594,50 +10129,85 @@ "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", "kind": "StringLiteral", "offset": 246, - "length": 18, - "value": "\"EnvironmentStore\"" + "length": 12, + "value": "\"StoreQueue\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "Array", - "offset": 368, - "length": 2, - "value": "[]" + "kind": "BooleanLiteral", + "offset": 420, + "length": 4, + "value": "true" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "IntegerLiteral", - "offset": 484, - "length": 1, - "value": "0" + "kind": "StringLiteral", + "offset": 1080, + "length": 7, + "value": "\"Ready\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "IntegerLiteral", - "offset": 420, - "length": 1, - "value": "0" + "kind": "StringLiteral", + "offset": 1113, + "length": 11, + "value": "\"Executing\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "IntegerLiteral", - "offset": 813, - "length": 1, - "value": "1" + "kind": "StringLiteral", + "offset": 1149, + "length": 10, + "value": "\"Finished\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "IntegerLiteral", - "offset": 950, - "length": 1, - "value": "0" + "kind": "StringLiteral", + "offset": 1209, + "length": 4, + "value": "\"is\"" }, { "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", - "kind": "IntegerLiteral", - "offset": 980, - "length": 1, - "value": "1" + "kind": "StringLiteral", + "offset": 1080, + "length": 7, + "value": "\"Ready\"" + }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", + "kind": "StringLiteral", + "offset": 1113, + "length": 11, + "value": "\"Executing\"" + }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", + "kind": "StringLiteral", + "offset": 1149, + "length": 10, + "value": "\"Finished\"" + }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", + "kind": "StringLiteral", + "offset": 1833, + "length": 35, + "value": "\"AsynchronousOperation State Queue\"" + }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Store\/StoreQueue.swift", + "kind": "StringLiteral", + "offset": 2014, + "length": 14, + "value": "\"UDFCore.StoreOperation\"" + }, + { + "filePath": "\/Users\/max\/Works\/MK\/Swiftui-UDF-Private\/SwiftUI-UDF\/Common\/Scope\/Scope+None.swift", + "kind": "BooleanLiteral", + "offset": 314, + "length": 4, + "value": "true" } ] } \ No newline at end of file diff --git a/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/x86_64-apple-macos.private.swiftinterface b/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/x86_64-apple-macos.private.swiftinterface index 4788eb2f..a9820b3a 100644 --- a/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/x86_64-apple-macos.private.swiftinterface +++ b/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/x86_64-apple-macos.private.swiftinterface @@ -48,13 +48,7 @@ public protocol _Mergeable { func merging(_ newValue: Self) -> Self func filled(from value: Self, mutate: (_ filled: inout Self, _ old: Self) -> Swift.Void) -> Self } -public protocol AppReducer : Swift.Equatable, UDFCore.Scope { - mutating func preReduce(_ action: some Action) - mutating func postReduce(_ action: some Action) -} -extension UDFCore.AppReducer { - public func preReduce(_ action: some Action) - public func postReduce(_ action: some Action) +public protocol AppReducer : Swift.Equatable, Swift.Sendable, UDFCore.Scope { } public protocol IsEquatable { func isEqual(_ rhs: any UDFCore.IsEquatable) -> Swift.Bool @@ -62,7 +56,7 @@ public protocol IsEquatable { extension UDFCore.IsEquatable where Self : Swift.Equatable { public func isEqual(_ rhs: any UDFCore.IsEquatable) -> Swift.Bool } -public protocol Action : Swift.Equatable { +public protocol Action : Swift.Equatable, Swift.Sendable { } extension UDFCore.Action { public func with(animation: SwiftUI.Animation?) -> some UDFCore.Action @@ -90,7 +84,7 @@ public typealias EquatableScope = Swift.Equatable & UDFCore.Scope extension UDFCore._Mergeable { public func filled(from value: Self, mutate: (_ filledValue: inout Self, _ oldValue: Self) -> Swift.Void) -> Self } -public enum MiddlewareStatus { +public enum MiddlewareStatus : Swift.Sendable { case active case suspend public static func == (a: UDFCore.MiddlewareStatus, b: UDFCore.MiddlewareStatus) -> Swift.Bool @@ -151,7 +145,7 @@ extension UDFCore._Container { public var store: UDFCore.EnvironmentStore { get } - public var body: some SwiftUI.View { + @_Concurrency.MainActor public var body: some SwiftUI.View { get } } @@ -318,7 +312,7 @@ extension UDFCore.Store { public func bind(_ action: some Action, priority: UDFCore.ActionPriority = .default, fileName: Swift.String = #file, functionName: Swift.String = #function, lineNumber: Swift.Int = #line) -> UDFCore.Command public func bind(_ action: @escaping (T) -> some Action, priority: UDFCore.ActionPriority = .default, fileName: Swift.String = #file, functionName: Swift.String = #function, lineNumber: Swift.Int = #line) -> UDFCore.CommandWith } -public enum ActionPriority { +public enum ActionPriority : Swift.Sendable { case `default` case userInteractive public static func == (a: UDFCore.ActionPriority, b: UDFCore.ActionPriority) -> Swift.Bool @@ -386,6 +380,36 @@ extension UDFCore.Reducing { public mutating func reduce(_ action: some Action) } public typealias Reducible = Swift.Equatable & UDFCore.Reducing +@objc @_inheritsConvenienceInitializers open class AsynchronousOperation : Foundation.Operation { + @objc override dynamic public var isAsynchronous: Swift.Bool { + @objc get + } + @objc override dynamic public var isExecuting: Swift.Bool { + @objc get + } + @objc override dynamic public var isFinished: Swift.Bool { + @objc get + } + @objc override dynamic public func start() + @objc override dynamic open func main() + public func finish() + public enum State : Swift.String { + case ready + case executing + case finished + public init?(rawValue: Swift.String) + public typealias RawValue = Swift.String + public var rawValue: Swift.String { + get + } + } + public var state: UDFCore.AsynchronousOperation.State { + get + set + } + @objc override dynamic public init() + @objc deinit +} extension UDFCore.Scope where Self == UDFCore.NoneScope { public static var none: UDFCore.NoneScope { get @@ -404,3 +428,6 @@ extension UDFCore.MiddlewareStatus : Swift.Hashable {} extension UDFCore.ActionPriority : Swift.Equatable {} extension UDFCore.ActionPriority : Swift.Hashable {} extension UDFCore.XCTestStore : Swift.Sendable {} +extension UDFCore.AsynchronousOperation.State : Swift.Equatable {} +extension UDFCore.AsynchronousOperation.State : Swift.Hashable {} +extension UDFCore.AsynchronousOperation.State : Swift.RawRepresentable {} diff --git a/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/x86_64-apple-macos.swiftdoc b/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/x86_64-apple-macos.swiftdoc index 08d5af6c..49c84c6e 100644 Binary files a/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/x86_64-apple-macos.swiftdoc and b/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/x86_64-apple-macos.swiftdoc differ diff --git a/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/x86_64-apple-macos.swiftinterface b/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/x86_64-apple-macos.swiftinterface index 4788eb2f..a9820b3a 100644 --- a/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/x86_64-apple-macos.swiftinterface +++ b/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Modules/UDFCore.swiftmodule/x86_64-apple-macos.swiftinterface @@ -48,13 +48,7 @@ public protocol _Mergeable { func merging(_ newValue: Self) -> Self func filled(from value: Self, mutate: (_ filled: inout Self, _ old: Self) -> Swift.Void) -> Self } -public protocol AppReducer : Swift.Equatable, UDFCore.Scope { - mutating func preReduce(_ action: some Action) - mutating func postReduce(_ action: some Action) -} -extension UDFCore.AppReducer { - public func preReduce(_ action: some Action) - public func postReduce(_ action: some Action) +public protocol AppReducer : Swift.Equatable, Swift.Sendable, UDFCore.Scope { } public protocol IsEquatable { func isEqual(_ rhs: any UDFCore.IsEquatable) -> Swift.Bool @@ -62,7 +56,7 @@ public protocol IsEquatable { extension UDFCore.IsEquatable where Self : Swift.Equatable { public func isEqual(_ rhs: any UDFCore.IsEquatable) -> Swift.Bool } -public protocol Action : Swift.Equatable { +public protocol Action : Swift.Equatable, Swift.Sendable { } extension UDFCore.Action { public func with(animation: SwiftUI.Animation?) -> some UDFCore.Action @@ -90,7 +84,7 @@ public typealias EquatableScope = Swift.Equatable & UDFCore.Scope extension UDFCore._Mergeable { public func filled(from value: Self, mutate: (_ filledValue: inout Self, _ oldValue: Self) -> Swift.Void) -> Self } -public enum MiddlewareStatus { +public enum MiddlewareStatus : Swift.Sendable { case active case suspend public static func == (a: UDFCore.MiddlewareStatus, b: UDFCore.MiddlewareStatus) -> Swift.Bool @@ -151,7 +145,7 @@ extension UDFCore._Container { public var store: UDFCore.EnvironmentStore { get } - public var body: some SwiftUI.View { + @_Concurrency.MainActor public var body: some SwiftUI.View { get } } @@ -318,7 +312,7 @@ extension UDFCore.Store { public func bind(_ action: some Action, priority: UDFCore.ActionPriority = .default, fileName: Swift.String = #file, functionName: Swift.String = #function, lineNumber: Swift.Int = #line) -> UDFCore.Command public func bind(_ action: @escaping (T) -> some Action, priority: UDFCore.ActionPriority = .default, fileName: Swift.String = #file, functionName: Swift.String = #function, lineNumber: Swift.Int = #line) -> UDFCore.CommandWith } -public enum ActionPriority { +public enum ActionPriority : Swift.Sendable { case `default` case userInteractive public static func == (a: UDFCore.ActionPriority, b: UDFCore.ActionPriority) -> Swift.Bool @@ -386,6 +380,36 @@ extension UDFCore.Reducing { public mutating func reduce(_ action: some Action) } public typealias Reducible = Swift.Equatable & UDFCore.Reducing +@objc @_inheritsConvenienceInitializers open class AsynchronousOperation : Foundation.Operation { + @objc override dynamic public var isAsynchronous: Swift.Bool { + @objc get + } + @objc override dynamic public var isExecuting: Swift.Bool { + @objc get + } + @objc override dynamic public var isFinished: Swift.Bool { + @objc get + } + @objc override dynamic public func start() + @objc override dynamic open func main() + public func finish() + public enum State : Swift.String { + case ready + case executing + case finished + public init?(rawValue: Swift.String) + public typealias RawValue = Swift.String + public var rawValue: Swift.String { + get + } + } + public var state: UDFCore.AsynchronousOperation.State { + get + set + } + @objc override dynamic public init() + @objc deinit +} extension UDFCore.Scope where Self == UDFCore.NoneScope { public static var none: UDFCore.NoneScope { get @@ -404,3 +428,6 @@ extension UDFCore.MiddlewareStatus : Swift.Hashable {} extension UDFCore.ActionPriority : Swift.Equatable {} extension UDFCore.ActionPriority : Swift.Hashable {} extension UDFCore.XCTestStore : Swift.Sendable {} +extension UDFCore.AsynchronousOperation.State : Swift.Equatable {} +extension UDFCore.AsynchronousOperation.State : Swift.Hashable {} +extension UDFCore.AsynchronousOperation.State : Swift.RawRepresentable {} diff --git a/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Resources/Info.plist b/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Resources/Info.plist index fd739011..21f62fc9 100644 --- a/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Resources/Info.plist +++ b/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/Resources/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 22G90 + 22G91 CFBundleDevelopmentRegion en CFBundleExecutable diff --git a/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/UDFCore b/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/UDFCore index 397e1e57..395536e9 100755 Binary files a/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/UDFCore and b/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/UDFCore differ diff --git a/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/_CodeSignature/CodeResources b/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/_CodeSignature/CodeResources index 6cb7a5ae..49678de7 100644 --- a/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/_CodeSignature/CodeResources +++ b/Artifacts/UDFCore.xcframework/macos-arm64_x86_64/UDFCore.framework/Versions/A/_CodeSignature/CodeResources @@ -6,7 +6,7 @@ Resources/Info.plist - RRFo6A6RykAzHdJsXdt77NTJGBA= + 8+ZAaUE7gfKbbJzcp4Lob0VLF6w= files2 @@ -22,77 +22,77 @@ hash2 - oWsfhJlBwQUFx9xhoY1gDqJqTJd1ypCOq55ok2K7fp8= + oD7ZF1BaRkMQ6O9e+zAX/oylNMxn7tGfIf6tfV2wNlQ= Modules/UDFCore.swiftmodule/arm64-apple-macos.abi.json hash2 - gMitaDDjfHIr0z4x1ysARskKHBB4ZeLNJJhfbutlUk0= + CYGXkoPvQFD29KKO8XFpnqm2p2qQ0o7hilnt9Agy6bU= Modules/UDFCore.swiftmodule/arm64-apple-macos.private.swiftinterface hash2 - 1jSFe/FiEcx7isM+g8Oq+d+xTJLGqBp/t6gCtX76KpY= + v4lxug+ObwrLWufU52gM2LCcicbK7T01gn5Yjpbme+E= Modules/UDFCore.swiftmodule/arm64-apple-macos.swiftdoc hash2 - EVbOxmxPuGJyugt8RDb1cJ0x7q16kRRD7Xp8dfD5txo= + p1rcdKzZuEJdH4PDk6dANaTp2rqWZuxJOLt9QmKbm5E= Modules/UDFCore.swiftmodule/arm64-apple-macos.swiftinterface hash2 - 1jSFe/FiEcx7isM+g8Oq+d+xTJLGqBp/t6gCtX76KpY= + v4lxug+ObwrLWufU52gM2LCcicbK7T01gn5Yjpbme+E= Modules/UDFCore.swiftmodule/arm64-apple-macos.swiftmodule hash2 - Dkbe2DL+ixju2za5/7ej/TWP7zKHMQTOYc9Jau68QYQ= + aKIvaILCl3b77FNH5jBGtLqTvedSenErXG7oHpyCrI8= Modules/UDFCore.swiftmodule/x86_64-apple-macos.abi.json hash2 - gMitaDDjfHIr0z4x1ysARskKHBB4ZeLNJJhfbutlUk0= + CYGXkoPvQFD29KKO8XFpnqm2p2qQ0o7hilnt9Agy6bU= Modules/UDFCore.swiftmodule/x86_64-apple-macos.private.swiftinterface hash2 - Mz5RUnRwz7QKdfihVT+3YVAsxy2c8Aak08+Ze5c9KF0= + 7GUFjUw8S/WnqiIxvi1hvs8fmIfzb+jPYGbtPQ68zAg= Modules/UDFCore.swiftmodule/x86_64-apple-macos.swiftdoc hash2 - Vp+bT6/K6EI9NBytqD2jG8nb1dLMy38cx1Xlz5blWno= + fEqJsvKRa9BPcgEqOc6hss5us3Hn3syvaFRWJs+0B7g= Modules/UDFCore.swiftmodule/x86_64-apple-macos.swiftinterface hash2 - Mz5RUnRwz7QKdfihVT+3YVAsxy2c8Aak08+Ze5c9KF0= + 7GUFjUw8S/WnqiIxvi1hvs8fmIfzb+jPYGbtPQ68zAg= Modules/UDFCore.swiftmodule/x86_64-apple-macos.swiftmodule hash2 - p8oPZU9JHqbTmcdIO+sBR4TtPPJOk3ZY8Ej+s1Tp/IA= + q+spdRDlfYjE5R8wUU6xXcwUsNHY/N7S9FkkaREAPAg= Modules/module.modulemap @@ -106,7 +106,7 @@ hash2 - 3n7wQmMvZvNJV7NRZlaWldypcZOaf3/t3loaGxxwhwY= + E6nbuec3QEwFMvE1FFRO7Pll8YybxCdIgzuj8f/Z1uo= diff --git a/Sources/Common/Extensions/NavigationDestination+Router.swift b/Sources/Common/Extensions/NavigationDestination+Router.swift index 83be0793..48796549 100644 --- a/Sources/Common/Extensions/NavigationDestination+Router.swift +++ b/Sources/Common/Extensions/NavigationDestination+Router.swift @@ -1,6 +1,7 @@ import Foundation import SwiftUI +#if os(iOS) @available(iOS 16.0, *) public extension View { func navigationDestination(router: Router) -> some View where R.Route: Hashable { @@ -11,3 +12,4 @@ public extension View { ) } } +#endif diff --git a/Sources/Common/Extensions/Publishers+AsyncState.swift b/Sources/Common/Extensions/Publishers+AsyncState.swift index 24986c84..daeb5475 100644 --- a/Sources/Common/Extensions/Publishers+AsyncState.swift +++ b/Sources/Common/Extensions/Publishers+AsyncState.swift @@ -4,7 +4,7 @@ import Combine public extension Publishers { static func IsolatedState(from store: any Store) -> AnyPublisher { Future { promise in - Task { + Task.detached(priority: .high) { let immutableState = await store.state promise(.success(immutableState)) } diff --git a/Sources/Common/Extensions/View+NavigationDestination.swift b/Sources/Common/Extensions/View+NavigationDestination.swift index 262b1e42..5964532b 100644 --- a/Sources/Common/Extensions/View+NavigationDestination.swift +++ b/Sources/Common/Extensions/View+NavigationDestination.swift @@ -7,6 +7,7 @@ import SwiftUI +#if os(iOS) public extension View { @available(iOS 16.0, *) func navigationDestination(router: Router, selectedRoute: Binding) -> some View { @@ -17,6 +18,7 @@ public extension View { } } } +#endif fileprivate extension Binding { func isPresented() -> Binding where Value == Optional { diff --git a/Sources/Middleware/Combine/BaseMiddleware.swift b/Sources/Middleware/Combine/BaseMiddleware.swift index 6aeda0c4..a911e3f8 100644 --- a/Sources/Middleware/Combine/BaseMiddleware.swift +++ b/Sources/Middleware/Combine/BaseMiddleware.swift @@ -106,12 +106,12 @@ open class BaseMiddleware: Middleware { lineNumber: filePosition.lineNumber ) }) - .flatMap { [store] action in - Publishers.IsolatedState(from: store) - .map { state in - (state: state, action: action) + .flatMap { action in + Future { promise in + useStore(State.self) { store in + promise(.success((state: store.state, action: action))) } - .eraseToAnyPublisher() + } } .sink(receiveCompletion: { [weak self] _ in self?.cancelations[anyId] = nil diff --git a/Sources/Middleware/Concurrency/BaseConcurrencyMiddleware.swift b/Sources/Middleware/Concurrency/BaseConcurrencyMiddleware.swift index 107d2245..daf28522 100644 --- a/Sources/Middleware/Concurrency/BaseConcurrencyMiddleware.swift +++ b/Sources/Middleware/Concurrency/BaseConcurrencyMiddleware.swift @@ -35,6 +35,17 @@ open class BaseConcurrencyMiddleware: Middleware { ) } + private func dispatch(action: any Action, filePosition: FileFunctionLineDescription) { + queue.sync { [weak self] in + self?.store.dispatch( + action, + fileName: filePosition.fileName, + functionName: filePosition.functionName, + lineNumber: filePosition.lineNumber + ) + } + } + open func execute( _ effect: some ConcurrencyEffect, cancelation: Id, @@ -55,37 +66,18 @@ open class BaseConcurrencyMiddleware: Middleware { do { let action = try await effect.task() if Task.isCancelled { - self?.store.dispatch( - Actions.DidCancelEffect(by: cancelation), - fileName: filePosition.fileName, - functionName: filePosition.functionName, - lineNumber: filePosition.lineNumber - ) + self?.dispatch(action: Actions.DidCancelEffect(by: cancelation), filePosition: filePosition) + } else { - self?.store.dispatch( - mapAction(action), - fileName: filePosition.fileName, - functionName: filePosition.functionName, - lineNumber: filePosition.lineNumber - ) + self?.dispatch(action: mapAction(action), filePosition: filePosition) } } catch let error { if error is CancellationError { - self?.store.dispatch( - Actions.DidCancelEffect(by: cancelation), - fileName: filePosition.fileName, - functionName: filePosition.functionName, - lineNumber: filePosition.lineNumber - ) + self?.dispatch(action: Actions.DidCancelEffect(by: cancelation), filePosition: filePosition) } else if !Task.isCancelled { - self?.store.dispatch( - Actions.Error(error: error.localizedDescription, id: effect.id), - fileName: filePosition.fileName, - functionName: filePosition.functionName, - lineNumber: filePosition.lineNumber - ) + self?.dispatch(action: Actions.Error(error: error.localizedDescription, id: effect.id), filePosition: filePosition) } } diff --git a/Sources/Middleware/EnvironmentMiddleware.swift b/Sources/Middleware/EnvironmentMiddleware.swift index fa8a393d..e193d48e 100644 --- a/Sources/Middleware/EnvironmentMiddleware.swift +++ b/Sources/Middleware/EnvironmentMiddleware.swift @@ -20,4 +20,3 @@ public extension EnvironmentMiddleware where Environment == Void { static func buildLiveEnvironment(for store: some Store) -> Environment { () } static func buildTestEnvironment(for store: some Store) -> Environment { () } } - diff --git a/Sources/Store/Actions/Actions.swift b/Sources/Store/Actions/Actions.swift index afcc2dcf..3781d331 100644 --- a/Sources/Store/Actions/Actions.swift +++ b/Sources/Store/Actions/Actions.swift @@ -33,12 +33,14 @@ public extension Actions { public var error: String? public var id: AnyHashable + public var code: Int public var meta: [String: Any]? - public init(error: String? = nil, id: Id, meta: [String: Any]? = nil) { + public init(error: String? = nil, id: Id, code: Int = -1001, meta: [String: Any]? = nil) { self.error = error?.isEmpty == true ? nil : error self.id = AnyHashable(id) self.meta = meta + self.code = code } } diff --git a/Sources/Store/EnvironmentStore.swift b/Sources/Store/EnvironmentStore.swift index 30217a0b..52929064 100644 --- a/Sources/Store/EnvironmentStore.swift +++ b/Sources/Store/EnvironmentStore.swift @@ -74,6 +74,13 @@ public extension EnvironmentStore { } } + func subscribeAsync(_ middlewareType: M.Type, on queue: DispatchQueue, onSubscribe: @escaping () -> Void = {}) where M: Middleware, State == M.State, M: EnvironmentMiddleware { + Task(priority: .userInitiated) { + await subscribe(middlewareType, on: queue) + onSubscribe() + } + } + func subscribeAsync(_ middlewareType: M.Type, on queue: DispatchQueue, onSubscribe: @escaping () -> Void = {}) where M: Middleware, State == M.State { Task(priority: .userInitiated) { await subscribe(middlewareType, on: queue) diff --git a/Tests/SwiftUI-UDF-ConcurrencyTests/Middlewares/NewObservableMiddlewareDDosProtectionTests.swift b/Tests/SwiftUI-UDF-ConcurrencyTests/Middlewares/NewObservableMiddlewareDDosProtectionTests.swift index 8dc51413..df1bcdd9 100644 --- a/Tests/SwiftUI-UDF-ConcurrencyTests/Middlewares/NewObservableMiddlewareDDosProtectionTests.swift +++ b/Tests/SwiftUI-UDF-ConcurrencyTests/Middlewares/NewObservableMiddlewareDDosProtectionTests.swift @@ -116,7 +116,7 @@ final class NewObservableMiddlewareDDosProtectionTests: XCTestCase { XCTAssertEqual(numberValue, 2) formTitle = await store.state.testForm.title - XCTAssertEqual(formTitle, "title4") + XCTAssertEqual(formTitle, "Flow message 1") await store.dispatch(Actions.UpdateFormField(keyPath: \TestForm.title, value: "title5")) await store.dispatch(Actions.UpdateFormField(keyPath: \TestForm.title, value: "title6"))