├── modules └── .DS_Store ├── CounterElm ├── .DS_Store ├── Pods │ ├── Target Support Files │ │ ├── Yoga │ │ │ ├── Yoga.modulemap │ │ │ ├── Yoga-dummy.m │ │ │ ├── Yoga-prefix.pch │ │ │ ├── Yoga-umbrella.h │ │ │ ├── Yoga.xcconfig │ │ │ └── Info.plist │ │ ├── YogaKit │ │ │ ├── YogaKit.modulemap │ │ │ ├── YogaKit-dummy.m │ │ │ ├── YogaKit-prefix.pch │ │ │ ├── YogaKit-umbrella.h │ │ │ ├── YogaKit.xcconfig │ │ │ └── Info.plist │ │ └── Pods-CounterElm │ │ │ ├── Pods-CounterElm.modulemap │ │ │ ├── Pods-CounterElm-dummy.m │ │ │ ├── Pods-CounterElm-umbrella.h │ │ │ ├── Pods-CounterElm.debug.xcconfig │ │ │ ├── Pods-CounterElm.release.xcconfig │ │ │ ├── Info.plist │ │ │ └── Pods-CounterElm-acknowledgements.markdown │ ├── Manifest.lock │ ├── YogaKit │ │ ├── YogaKit │ │ │ └── Source │ │ │ │ ├── YGLayout+Private.h │ │ │ │ ├── UIView+Yoga.m │ │ │ │ ├── UIView+Yoga.h │ │ │ │ └── YGLayoutExtensions.swift │ │ ├── LICENSE-examples │ │ ├── LICENSE │ │ └── README.md │ ├── Yoga │ │ ├── LICENSE-examples │ │ ├── yoga │ │ │ ├── YGNodeList.h │ │ │ ├── YGMacros.h │ │ │ └── YGNodeList.c │ │ ├── LICENSE │ │ └── README.md │ └── Pods.xcodeproj │ │ └── xcuserdata │ │ └── palmerpa.xcuserdatad │ │ └── xcschemes │ │ ├── xcschememanagement.plist │ │ ├── YogaKit.xcscheme │ │ ├── Yoga.xcscheme │ │ └── Pods-CounterElm.xcscheme ├── CounterElm │ ├── NativeUI │ │ ├── CoreGraphics │ │ │ └── ElmRect.swift │ │ ├── ElmViewController.swift │ │ ├── ElmButtonType.swift │ │ ├── ElmColor.swift │ │ ├── ElmWindow.swift │ │ ├── ElmView.swift │ │ ├── ElmButton.swift │ │ ├── ElmKit.swift │ │ └── ElmLabel.swift │ ├── js │ │ └── app.js │ ├── AppDelegate.swift │ ├── Info.plist │ └── Assets.xcassets │ │ └── AppIcon.appiconset │ │ └── Contents.json ├── CounterElm.xcworkspace │ ├── xcuserdata │ │ └── palmerpa.xcuserdatad │ │ │ ├── UserInterfaceState.xcuserstate │ │ │ └── xcdebugger │ │ │ └── Breakpoints_v2.xcbkptlist │ └── contents.xcworkspacedata ├── CounterElm.xcodeproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── palmerpa.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── palmerpa.xcuserdatad │ │ ├── xcschemes │ │ ├── xcschememanagement.plist │ │ └── CounterElm.xcscheme │ │ └── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist ├── Podfile └── Podfile.lock ├── ElmiOSCore ├── ElmiOSCore │ ├── start.js │ ├── AppDelegate.swift │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ └── Contents.json │ ├── Info.plist │ ├── Base.lproj │ │ ├── Main.storyboard │ │ └── LaunchScreen.storyboard │ └── app.js ├── Pods │ ├── Target Support Files │ │ ├── Yoga │ │ │ ├── Yoga.modulemap │ │ │ ├── Yoga-dummy.m │ │ │ ├── Yoga-prefix.pch │ │ │ ├── Yoga-umbrella.h │ │ │ ├── Yoga.xcconfig │ │ │ └── Info.plist │ │ ├── YogaKit │ │ │ ├── YogaKit.modulemap │ │ │ ├── YogaKit-dummy.m │ │ │ ├── YogaKit-prefix.pch │ │ │ ├── YogaKit-umbrella.h │ │ │ ├── YogaKit.xcconfig │ │ │ └── Info.plist │ │ └── Pods-ElmiOSCore │ │ │ ├── Pods-ElmiOSCore.modulemap │ │ │ ├── Pods-ElmiOSCore-dummy.m │ │ │ ├── Pods-ElmiOSCore-umbrella.h │ │ │ ├── Pods-ElmiOSCore.debug.xcconfig │ │ │ ├── Pods-ElmiOSCore.release.xcconfig │ │ │ ├── Info.plist │ │ │ └── Pods-ElmiOSCore-acknowledgements.markdown │ ├── Manifest.lock │ ├── YogaKit │ │ ├── YogaKit │ │ │ └── Source │ │ │ │ ├── YGLayout+Private.h │ │ │ │ ├── UIView+Yoga.m │ │ │ │ ├── UIView+Yoga.h │ │ │ │ └── YGLayoutExtensions.swift │ │ ├── LICENSE-examples │ │ ├── LICENSE │ │ └── README.md │ ├── Yoga │ │ ├── LICENSE-examples │ │ ├── yoga │ │ │ ├── YGNodeList.h │ │ │ ├── YGMacros.h │ │ │ └── YGNodeList.c │ │ ├── LICENSE │ │ └── README.md │ └── Pods.xcodeproj │ │ └── xcuserdata │ │ └── palmerpa.xcuserdatad │ │ └── xcschemes │ │ ├── xcschememanagement.plist │ │ ├── YogaKit.xcscheme │ │ ├── Yoga.xcscheme │ │ └── Pods-ElmiOSCore.xcscheme ├── ElmiOSCore.xcodeproj │ ├── xcuserdata │ │ └── palmerpa.xcuserdatad │ │ │ ├── xcdebugger │ │ │ └── Breakpoints_v2.xcbkptlist │ │ │ └── xcschemes │ │ │ ├── xcschememanagement.plist │ │ │ └── ElmiOSCore.xcscheme │ └── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ └── palmerpa.xcuserdatad │ │ └── UserInterfaceState.xcuserstate ├── ElmiOSCore.xcworkspace │ ├── xcuserdata │ │ └── palmerpa.xcuserdatad │ │ │ ├── xcdebugger │ │ │ └── Breakpoints_v2.xcbkptlist │ │ │ └── UserInterfaceState.xcuserstate │ └── contents.xcworkspacedata ├── Podfile └── Podfile.lock ├── .gitmodules ├── MyPlayground.playground ├── Contents.swift ├── contents.xcplayground └── playground.xcworkspace │ ├── contents.xcworkspacedata │ └── xcuserdata │ └── palmerpa.xcuserdatad │ └── UserInterfaceState.xcuserstate ├── CounterSwift ├── Pods │ ├── Target Support Files │ │ ├── Yoga │ │ │ ├── Yoga.modulemap │ │ │ ├── Yoga-dummy.m │ │ │ ├── Yoga-prefix.pch │ │ │ ├── Yoga-umbrella.h │ │ │ ├── Yoga.xcconfig │ │ │ └── Info.plist │ │ ├── YogaKit │ │ │ ├── YogaKit.modulemap │ │ │ ├── YogaKit-dummy.m │ │ │ ├── YogaKit-prefix.pch │ │ │ ├── YogaKit-umbrella.h │ │ │ ├── YogaKit.xcconfig │ │ │ └── Info.plist │ │ └── Pods-CounterSwift │ │ │ ├── Pods-CounterSwift.modulemap │ │ │ ├── Pods-CounterSwift-dummy.m │ │ │ ├── Pods-CounterSwift-umbrella.h │ │ │ ├── Pods-CounterSwift.debug.xcconfig │ │ │ ├── Pods-CounterSwift.release.xcconfig │ │ │ ├── Info.plist │ │ │ └── Pods-CounterSwift-acknowledgements.markdown │ ├── Manifest.lock │ ├── YogaKit │ │ ├── YogaKit │ │ │ └── Source │ │ │ │ ├── YGLayout+Private.h │ │ │ │ ├── UIView+Yoga.m │ │ │ │ ├── UIView+Yoga.h │ │ │ │ └── YGLayoutExtensions.swift │ │ ├── LICENSE-examples │ │ ├── LICENSE │ │ └── README.md │ ├── Yoga │ │ ├── LICENSE-examples │ │ ├── yoga │ │ │ ├── YGNodeList.h │ │ │ ├── YGMacros.h │ │ │ └── YGNodeList.c │ │ ├── LICENSE │ │ └── README.md │ └── Pods.xcodeproj │ │ └── xcuserdata │ │ └── palmerpa.xcuserdatad │ │ └── xcschemes │ │ ├── xcschememanagement.plist │ │ ├── YogaKit.xcscheme │ │ ├── Yoga.xcscheme │ │ └── Pods-CounterSwift.xcscheme ├── CounterSwift.xcworkspace │ ├── xcuserdata │ │ └── palmerpa.xcuserdatad │ │ │ ├── xcdebugger │ │ │ └── Breakpoints_v2.xcbkptlist │ │ │ └── UserInterfaceState.xcuserstate │ └── contents.xcworkspacedata ├── CounterSwift.xcodeproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── palmerpa.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── palmerpa.xcuserdatad │ │ ├── xcschemes │ │ ├── xcschememanagement.plist │ │ └── CounterSwift.xcscheme │ │ └── xcdebugger │ │ └── Breakpoints_v2.xcbkptlist ├── Podfile ├── Podfile.lock └── CounterSwift │ ├── AppDelegate.swift │ ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json │ ├── Info.plist │ └── ViewController.swift ├── ElmBridge ├── ElmBridge.xcodeproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── palmerpa.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── palmerpa.xcuserdatad │ │ └── xcschemes │ │ └── xcschememanagement.plist ├── ElmBridge │ ├── ChakraProxy.h │ ├── main.m │ ├── AppDelegate.h │ ├── ChakraProxy.m │ ├── AppDelegate.m │ ├── Info.plist │ └── Assets.xcassets │ │ └── AppIcon.appiconset │ │ └── Contents.json └── ElmBridgeTests │ ├── Info.plist │ └── ElmBridgeTests.m ├── BasicCounterSwift └── BasicCounterSwift │ ├── BasicCounterSwift.xcodeproj │ ├── project.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcuserdata │ │ │ └── palmerpa.xcuserdatad │ │ │ └── UserInterfaceState.xcuserstate │ └── xcuserdata │ │ └── palmerpa.xcuserdatad │ │ └── xcschemes │ │ ├── xcschememanagement.plist │ │ └── BasicCounterSwift.xcscheme │ └── BasicCounterSwift │ ├── Info.plist │ ├── Assets.xcassets │ └── AppIcon.appiconset │ │ └── Contents.json │ └── AppDelegate.swift └── .gitignore /modules/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pzp1997/elm-ios-bridge/HEAD/modules/.DS_Store -------------------------------------------------------------------------------- /CounterElm/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pzp1997/elm-ios-bridge/HEAD/CounterElm/.DS_Store -------------------------------------------------------------------------------- /ElmiOSCore/ElmiOSCore/start.js: -------------------------------------------------------------------------------- 1 | function ready() { 2 | consoleLog("Starting app"); 3 | Elm.Hello.initialize(); 4 | } 5 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "modules/ChakraCore"] 2 | path = modules/ChakraCore 3 | url = https://github.com/Microsoft/ChakraCore.git 4 | -------------------------------------------------------------------------------- /MyPlayground.playground/Contents.swift: -------------------------------------------------------------------------------- 1 | //: Playground - noun: a place where people can play 2 | 3 | import UIKit 4 | 5 | var str = "Hello, playground" 6 | -------------------------------------------------------------------------------- /CounterElm/Pods/Target Support Files/Yoga/Yoga.modulemap: -------------------------------------------------------------------------------- 1 | framework module yoga { 2 | umbrella header "Yoga-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Target Support Files/Yoga/Yoga.modulemap: -------------------------------------------------------------------------------- 1 | framework module yoga { 2 | umbrella header "Yoga-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Target Support Files/Yoga/Yoga.modulemap: -------------------------------------------------------------------------------- 1 | framework module yoga { 2 | umbrella header "Yoga-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /CounterElm/Pods/Target Support Files/Yoga/Yoga-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Yoga : NSObject 3 | @end 4 | @implementation PodsDummy_Yoga 5 | @end 6 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Target Support Files/Yoga/Yoga-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Yoga : NSObject 3 | @end 4 | @implementation PodsDummy_Yoga 5 | @end 6 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Target Support Files/Yoga/Yoga-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Yoga : NSObject 3 | @end 4 | @implementation PodsDummy_Yoga 5 | @end 6 | -------------------------------------------------------------------------------- /CounterElm/Pods/Target Support Files/YogaKit/YogaKit.modulemap: -------------------------------------------------------------------------------- 1 | framework module YogaKit { 2 | umbrella header "YogaKit-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Target Support Files/YogaKit/YogaKit.modulemap: -------------------------------------------------------------------------------- 1 | framework module YogaKit { 2 | umbrella header "YogaKit-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Target Support Files/YogaKit/YogaKit.modulemap: -------------------------------------------------------------------------------- 1 | framework module YogaKit { 2 | umbrella header "YogaKit-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /CounterElm/Pods/Target Support Files/YogaKit/YogaKit-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_YogaKit : NSObject 3 | @end 4 | @implementation PodsDummy_YogaKit 5 | @end 6 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Target Support Files/YogaKit/YogaKit-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_YogaKit : NSObject 3 | @end 4 | @implementation PodsDummy_YogaKit 5 | @end 6 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Target Support Files/YogaKit/YogaKit-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_YogaKit : NSObject 3 | @end 4 | @implementation PodsDummy_YogaKit 5 | @end 6 | -------------------------------------------------------------------------------- /ElmiOSCore/ElmiOSCore.xcodeproj/xcuserdata/palmerpa.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /ElmiOSCore/ElmiOSCore.xcworkspace/xcuserdata/palmerpa.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /CounterSwift/CounterSwift.xcworkspace/xcuserdata/palmerpa.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | -------------------------------------------------------------------------------- /CounterElm/Pods/Target Support Files/Pods-CounterElm/Pods-CounterElm.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_CounterElm { 2 | umbrella header "Pods-CounterElm-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Target Support Files/Pods-ElmiOSCore/Pods-ElmiOSCore.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_ElmiOSCore { 2 | umbrella header "Pods-ElmiOSCore-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /MyPlayground.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /CounterElm/Pods/Target Support Files/Pods-CounterElm/Pods-CounterElm-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_CounterElm : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_CounterElm 5 | @end 6 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Target Support Files/Pods-CounterSwift/Pods-CounterSwift.modulemap: -------------------------------------------------------------------------------- 1 | framework module Pods_CounterSwift { 2 | umbrella header "Pods-CounterSwift-umbrella.h" 3 | 4 | export * 5 | module * { export * } 6 | } 7 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Target Support Files/Pods-ElmiOSCore/Pods-ElmiOSCore-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_ElmiOSCore : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_ElmiOSCore 5 | @end 6 | -------------------------------------------------------------------------------- /CounterElm/CounterElm/NativeUI/CoreGraphics/ElmRect.swift: -------------------------------------------------------------------------------- 1 | //import JavaScriptCore 2 | // 3 | //@objc protocol CGRectExports: JSExport { 4 | // 5 | //} 6 | // 7 | //extension CGRect: CGRectExports { 8 | // 9 | //} 10 | -------------------------------------------------------------------------------- /CounterElm/CounterElm/NativeUI/ElmViewController.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import JavaScriptCore 3 | 4 | @objc protocol UIViewControllerExports: JSExport 5 | {} 6 | 7 | extension UIViewController: UIViewControllerExports 8 | {} 9 | -------------------------------------------------------------------------------- /MyPlayground.playground/playground.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Target Support Files/Pods-CounterSwift/Pods-CounterSwift-dummy.m: -------------------------------------------------------------------------------- 1 | #import 2 | @interface PodsDummy_Pods_CounterSwift : NSObject 3 | @end 4 | @implementation PodsDummy_Pods_CounterSwift 5 | @end 6 | -------------------------------------------------------------------------------- /CounterElm/CounterElm.xcworkspace/xcuserdata/palmerpa.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pzp1997/elm-ios-bridge/HEAD/CounterElm/CounterElm.xcworkspace/xcuserdata/palmerpa.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /ElmiOSCore/ElmiOSCore.xcworkspace/xcuserdata/palmerpa.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pzp1997/elm-ios-bridge/HEAD/ElmiOSCore/ElmiOSCore.xcworkspace/xcuserdata/palmerpa.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /CounterElm/CounterElm/NativeUI/ElmButtonType.swift: -------------------------------------------------------------------------------- 1 | //import UIKit 2 | //import JavaScriptCore 3 | // 4 | //@objc protocol UIButtonTypeExports: JSExport { 5 | // 6 | //} 7 | // 8 | //extension UIButtonType: UIButtonTypeExports 9 | // {} 10 | -------------------------------------------------------------------------------- /CounterSwift/CounterSwift.xcworkspace/xcuserdata/palmerpa.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pzp1997/elm-ios-bridge/HEAD/CounterSwift/CounterSwift.xcworkspace/xcuserdata/palmerpa.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /ElmBridge/ElmBridge.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /CounterElm/CounterElm.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ElmiOSCore/ElmiOSCore.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /CounterSwift/CounterSwift.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MyPlayground.playground/playground.xcworkspace/xcuserdata/palmerpa.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pzp1997/elm-ios-bridge/HEAD/MyPlayground.playground/playground.xcworkspace/xcuserdata/palmerpa.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /ElmBridge/ElmBridge.xcodeproj/project.xcworkspace/xcuserdata/palmerpa.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pzp1997/elm-ios-bridge/HEAD/ElmBridge/ElmBridge.xcodeproj/project.xcworkspace/xcuserdata/palmerpa.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /CounterElm/CounterElm.xcodeproj/project.xcworkspace/xcuserdata/palmerpa.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pzp1997/elm-ios-bridge/HEAD/CounterElm/CounterElm.xcodeproj/project.xcworkspace/xcuserdata/palmerpa.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /ElmiOSCore/ElmiOSCore.xcodeproj/project.xcworkspace/xcuserdata/palmerpa.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pzp1997/elm-ios-bridge/HEAD/ElmiOSCore/ElmiOSCore.xcodeproj/project.xcworkspace/xcuserdata/palmerpa.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /BasicCounterSwift/BasicCounterSwift/BasicCounterSwift.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /CounterSwift/CounterSwift.xcodeproj/project.xcworkspace/xcuserdata/palmerpa.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pzp1997/elm-ios-bridge/HEAD/CounterSwift/CounterSwift.xcodeproj/project.xcworkspace/xcuserdata/palmerpa.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /CounterElm/Pods/Target Support Files/Yoga/Yoga-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Target Support Files/Yoga/Yoga-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Target Support Files/Yoga/Yoga-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /CounterElm/Pods/Target Support Files/YogaKit/YogaKit-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Target Support Files/YogaKit/YogaKit-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Target Support Files/YogaKit/YogaKit-prefix.pch: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /ElmBridge/ElmBridge/ChakraProxy.h: -------------------------------------------------------------------------------- 1 | // 2 | // ChakraProxy.h 3 | // ElmBridge 4 | // 5 | // Created by Palmer Paul on 6/6/17. 6 | // Copyright © 2017 Palmer Paul. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ChakraProxy : NSObject 12 | 13 | -(void)run; 14 | 15 | @end 16 | -------------------------------------------------------------------------------- /ElmBridge/ElmBridge/main.m: -------------------------------------------------------------------------------- 1 | // 2 | // main.m 3 | // ElmBridge 4 | // 5 | // Created by Palmer Paul on 6/6/17. 6 | // Copyright © 2017 Palmer Paul. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | int main(int argc, const char * argv[]) { 12 | return NSApplicationMain(argc, argv); 13 | } 14 | -------------------------------------------------------------------------------- /CounterElm/CounterElm.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /ElmBridge/ElmBridge/AppDelegate.h: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.h 3 | // ElmBridge 4 | // 5 | // Created by Palmer Paul on 6/6/17. 6 | // Copyright © 2017 Palmer Paul. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface AppDelegate : NSObject 12 | 13 | 14 | @end 15 | 16 | -------------------------------------------------------------------------------- /ElmiOSCore/ElmiOSCore.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /CounterSwift/CounterSwift.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /BasicCounterSwift/BasicCounterSwift/BasicCounterSwift.xcodeproj/project.xcworkspace/xcuserdata/palmerpa.xcuserdatad/UserInterfaceState.xcuserstate: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pzp1997/elm-ios-bridge/HEAD/BasicCounterSwift/BasicCounterSwift/BasicCounterSwift.xcodeproj/project.xcworkspace/xcuserdata/palmerpa.xcuserdatad/UserInterfaceState.xcuserstate -------------------------------------------------------------------------------- /CounterElm/Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment the next line to define a global platform for your project 2 | # platform :ios, '9.0' 3 | 4 | target 'CounterElm' do 5 | # Comment the next line if you're not using Swift and don't want to use dynamic frameworks 6 | use_frameworks! 7 | 8 | # Pods for CounterElm 9 | pod 'YogaKit', '~> 1.5' 10 | end 11 | -------------------------------------------------------------------------------- /ElmiOSCore/Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment the next line to define a global platform for your project 2 | # platform :ios, '9.0' 3 | 4 | target 'ElmiOSCore' do 5 | # Comment the next line if you're not using Swift and don't want to use dynamic frameworks 6 | use_frameworks! 7 | 8 | # Pods for CounterSwift 9 | pod 'YogaKit', '~> 1.5' 10 | end 11 | -------------------------------------------------------------------------------- /CounterSwift/Podfile: -------------------------------------------------------------------------------- 1 | # Uncomment the next line to define a global platform for your project 2 | # platform :ios, '9.0' 3 | 4 | target 'CounterSwift' do 5 | # Comment the next line if you're not using Swift and don't want to use dynamic frameworks 6 | use_frameworks! 7 | 8 | # Pods for CounterSwift 9 | pod 'YogaKit', '~> 1.5' 10 | end 11 | -------------------------------------------------------------------------------- /ElmBridge/ElmBridge/ChakraProxy.m: -------------------------------------------------------------------------------- 1 | // 2 | // ChakraProxy.m 3 | // ElmBridge 4 | // 5 | // Created by Palmer Paul on 6/6/17. 6 | // Copyright © 2017 Palmer Paul. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @implementation ChakraProxy 12 | 13 | -(void)run { 14 | NSLog("Hello world"); 15 | } 16 | 17 | @end 18 | -------------------------------------------------------------------------------- /CounterElm/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Yoga (1.5.0) 3 | - YogaKit (1.5.0): 4 | - Yoga (~> 1.5) 5 | 6 | DEPENDENCIES: 7 | - YogaKit (~> 1.5) 8 | 9 | SPEC CHECKSUMS: 10 | Yoga: 6c3e934140e85babb68d17f85e1363d7d3b023c6 11 | YogaKit: 82b233e3fd683a7db777cc1f9b8de50b18417a80 12 | 13 | PODFILE CHECKSUM: 321cab2a4b20efcd3933934d99eca93f538f5950 14 | 15 | COCOAPODS: 1.2.1 16 | -------------------------------------------------------------------------------- /CounterSwift/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Yoga (1.5.0) 3 | - YogaKit (1.5.0): 4 | - Yoga (~> 1.5) 5 | 6 | DEPENDENCIES: 7 | - YogaKit (~> 1.5) 8 | 9 | SPEC CHECKSUMS: 10 | Yoga: 6c3e934140e85babb68d17f85e1363d7d3b023c6 11 | YogaKit: 82b233e3fd683a7db777cc1f9b8de50b18417a80 12 | 13 | PODFILE CHECKSUM: cda6a0d1690b984948461a6b6740dc39ea76781b 14 | 15 | COCOAPODS: 1.2.1 16 | -------------------------------------------------------------------------------- /ElmiOSCore/Podfile.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Yoga (1.5.0) 3 | - YogaKit (1.5.0): 4 | - Yoga (~> 1.5) 5 | 6 | DEPENDENCIES: 7 | - YogaKit (~> 1.5) 8 | 9 | SPEC CHECKSUMS: 10 | Yoga: 6c3e934140e85babb68d17f85e1363d7d3b023c6 11 | YogaKit: 82b233e3fd683a7db777cc1f9b8de50b18417a80 12 | 13 | PODFILE CHECKSUM: 33a3187eb19d15990b9636b8329f24ea07e2c171 14 | 15 | COCOAPODS: 1.2.1 16 | -------------------------------------------------------------------------------- /CounterElm/Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Yoga (1.5.0) 3 | - YogaKit (1.5.0): 4 | - Yoga (~> 1.5) 5 | 6 | DEPENDENCIES: 7 | - YogaKit (~> 1.5) 8 | 9 | SPEC CHECKSUMS: 10 | Yoga: 6c3e934140e85babb68d17f85e1363d7d3b023c6 11 | YogaKit: 82b233e3fd683a7db777cc1f9b8de50b18417a80 12 | 13 | PODFILE CHECKSUM: 321cab2a4b20efcd3933934d99eca93f538f5950 14 | 15 | COCOAPODS: 1.2.1 16 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Yoga (1.5.0) 3 | - YogaKit (1.5.0): 4 | - Yoga (~> 1.5) 5 | 6 | DEPENDENCIES: 7 | - YogaKit (~> 1.5) 8 | 9 | SPEC CHECKSUMS: 10 | Yoga: 6c3e934140e85babb68d17f85e1363d7d3b023c6 11 | YogaKit: 82b233e3fd683a7db777cc1f9b8de50b18417a80 12 | 13 | PODFILE CHECKSUM: cda6a0d1690b984948461a6b6740dc39ea76781b 14 | 15 | COCOAPODS: 1.2.1 16 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Manifest.lock: -------------------------------------------------------------------------------- 1 | PODS: 2 | - Yoga (1.5.0) 3 | - YogaKit (1.5.0): 4 | - Yoga (~> 1.5) 5 | 6 | DEPENDENCIES: 7 | - YogaKit (~> 1.5) 8 | 9 | SPEC CHECKSUMS: 10 | Yoga: 6c3e934140e85babb68d17f85e1363d7d3b023c6 11 | YogaKit: 82b233e3fd683a7db777cc1f9b8de50b18417a80 12 | 13 | PODFILE CHECKSUM: 33a3187eb19d15990b9636b8329f24ea07e2c171 14 | 15 | COCOAPODS: 1.2.1 16 | -------------------------------------------------------------------------------- /CounterElm/CounterElm/NativeUI/ElmColor.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import JavaScriptCore 3 | 4 | @objc protocol UIColorExports: JSExport { 5 | @objc static var blackColor: UIColor { get } 6 | @objc static var greenColor: UIColor { get } 7 | @objc static var redColor: UIColor { get } 8 | @objc static var whiteColor: UIColor { get } 9 | } 10 | 11 | extension UIColor: UIColorExports 12 | {} 13 | -------------------------------------------------------------------------------- /CounterElm/Pods/Target Support Files/Pods-CounterElm/Pods-CounterElm-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double Pods_CounterElmVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_CounterElmVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Target Support Files/Pods-ElmiOSCore/Pods-ElmiOSCore-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double Pods_ElmiOSCoreVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_ElmiOSCoreVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Target Support Files/Pods-CounterSwift/Pods-CounterSwift-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | 14 | FOUNDATION_EXPORT double Pods_CounterSwiftVersionNumber; 15 | FOUNDATION_EXPORT const unsigned char Pods_CounterSwiftVersionString[]; 16 | 17 | -------------------------------------------------------------------------------- /CounterElm/Pods/Target Support Files/YogaKit/YogaKit-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | #import "UIView+Yoga.h" 14 | #import "YGLayout.h" 15 | 16 | FOUNDATION_EXPORT double YogaKitVersionNumber; 17 | FOUNDATION_EXPORT const unsigned char YogaKitVersionString[]; 18 | 19 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Target Support Files/YogaKit/YogaKit-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | #import "UIView+Yoga.h" 14 | #import "YGLayout.h" 15 | 16 | FOUNDATION_EXPORT double YogaKitVersionNumber; 17 | FOUNDATION_EXPORT const unsigned char YogaKitVersionString[]; 18 | 19 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Target Support Files/YogaKit/YogaKit-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | #import "UIView+Yoga.h" 14 | #import "YGLayout.h" 15 | 16 | FOUNDATION_EXPORT double YogaKitVersionNumber; 17 | FOUNDATION_EXPORT const unsigned char YogaKitVersionString[]; 18 | 19 | -------------------------------------------------------------------------------- /CounterElm/CounterElm/js/app.js: -------------------------------------------------------------------------------- 1 | var myModel = 0; 2 | 3 | function updateLabel() { 4 | _consoleLog(myModel); 5 | myLabel.text = myModel.toString(); 6 | } 7 | 8 | function incrementAction() { 9 | myModel++; 10 | myLabel.textColor = Color.greenColor(); 11 | updateLabel(); 12 | } 13 | 14 | function decrementAction() { 15 | myModel--; 16 | myLabel.textColor = Color.redColor(); 17 | updateLabel(); 18 | } 19 | 20 | var myLabel = Label.makeLabel(); 21 | updateLabel(); 22 | -------------------------------------------------------------------------------- /CounterElm/Pods/Target Support Files/Yoga/Yoga-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | #import "YGEnums.h" 14 | #import "YGMacros.h" 15 | #import "YGNodeList.h" 16 | #import "Yoga.h" 17 | 18 | FOUNDATION_EXPORT double yogaVersionNumber; 19 | FOUNDATION_EXPORT const unsigned char yogaVersionString[]; 20 | 21 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Target Support Files/Yoga/Yoga-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | #import "YGEnums.h" 14 | #import "YGMacros.h" 15 | #import "YGNodeList.h" 16 | #import "Yoga.h" 17 | 18 | FOUNDATION_EXPORT double yogaVersionNumber; 19 | FOUNDATION_EXPORT const unsigned char yogaVersionString[]; 20 | 21 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Target Support Files/Yoga/Yoga-umbrella.h: -------------------------------------------------------------------------------- 1 | #ifdef __OBJC__ 2 | #import 3 | #else 4 | #ifndef FOUNDATION_EXPORT 5 | #if defined(__cplusplus) 6 | #define FOUNDATION_EXPORT extern "C" 7 | #else 8 | #define FOUNDATION_EXPORT extern 9 | #endif 10 | #endif 11 | #endif 12 | 13 | #import "YGEnums.h" 14 | #import "YGMacros.h" 15 | #import "YGNodeList.h" 16 | #import "Yoga.h" 17 | 18 | FOUNDATION_EXPORT double yogaVersionNumber; 19 | FOUNDATION_EXPORT const unsigned char yogaVersionString[]; 20 | 21 | -------------------------------------------------------------------------------- /CounterElm/Pods/Target Support Files/Yoga/Yoga.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/Yoga 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" 4 | PODS_BUILD_DIR = $BUILD_DIR 5 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Yoga 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Target Support Files/Yoga/Yoga.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/Yoga 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" 4 | PODS_BUILD_DIR = $BUILD_DIR 5 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Yoga 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Target Support Files/Yoga/Yoga.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/Yoga 2 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 3 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" 4 | PODS_BUILD_DIR = $BUILD_DIR 5 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 6 | PODS_ROOT = ${SRCROOT} 7 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/Yoga 8 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 9 | SKIP_INSTALL = YES 10 | -------------------------------------------------------------------------------- /CounterElm/Pods/YogaKit/YogaKit/Source/YGLayout+Private.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2014-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "YGLayout.h" 11 | #import 12 | 13 | @interface YGLayout () 14 | 15 | @property (nonatomic, assign, readonly) YGNodeRef node; 16 | 17 | - (instancetype)initWithView:(UIView *)view; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /CounterSwift/Pods/YogaKit/YogaKit/Source/YGLayout+Private.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2014-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "YGLayout.h" 11 | #import 12 | 13 | @interface YGLayout () 14 | 15 | @property (nonatomic, assign, readonly) YGNodeRef node; 16 | 17 | - (instancetype)initWithView:(UIView *)view; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/YogaKit/YogaKit/Source/YGLayout+Private.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2014-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "YGLayout.h" 11 | #import 12 | 13 | @interface YGLayout () 14 | 15 | @property (nonatomic, assign, readonly) YGNodeRef node; 16 | 17 | - (instancetype)initWithView:(UIView *)view; 18 | 19 | @end 20 | -------------------------------------------------------------------------------- /CounterElm/Pods/Yoga/LICENSE-examples: -------------------------------------------------------------------------------- 1 | The examples provided by Facebook are for non-commercial testing and evaluation 2 | purposes only. Facebook reserves all rights not expressly granted. 3 | 4 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 5 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 6 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 7 | FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 8 | ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 9 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Yoga/LICENSE-examples: -------------------------------------------------------------------------------- 1 | The examples provided by Facebook are for non-commercial testing and evaluation 2 | purposes only. Facebook reserves all rights not expressly granted. 3 | 4 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 5 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 6 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 7 | FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 8 | ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 9 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /CounterElm/CounterElm/NativeUI/ElmWindow.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import JavaScriptCore 3 | 4 | @objc protocol UIWindowExports: JSExport { 5 | static func makeWindow() -> UIWindow 6 | static func makeWindow(withFrame: CGRect) -> UIWindow 7 | 8 | @objc var rootViewController: UIViewController? { get set } 9 | 10 | @objc func makeKeyAndVisible() -> () 11 | } 12 | 13 | extension UIWindow: UIWindowExports { 14 | static func makeWindow() -> UIWindow { 15 | return UIWindow() 16 | } 17 | 18 | static func makeWindow(withFrame: CGRect) -> UIWindow { 19 | return UIWindow(frame: withFrame) 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /CounterElm/Pods/YogaKit/LICENSE-examples: -------------------------------------------------------------------------------- 1 | The examples provided by Facebook are for non-commercial testing and evaluation 2 | purposes only. Facebook reserves all rights not expressly granted. 3 | 4 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 5 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 6 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 7 | FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 8 | ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 9 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Yoga/LICENSE-examples: -------------------------------------------------------------------------------- 1 | The examples provided by Facebook are for non-commercial testing and evaluation 2 | purposes only. Facebook reserves all rights not expressly granted. 3 | 4 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 5 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 6 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 7 | FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 8 | ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 9 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /CounterSwift/Pods/YogaKit/LICENSE-examples: -------------------------------------------------------------------------------- 1 | The examples provided by Facebook are for non-commercial testing and evaluation 2 | purposes only. Facebook reserves all rights not expressly granted. 3 | 4 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 5 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 6 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 7 | FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 8 | ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 9 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/YogaKit/LICENSE-examples: -------------------------------------------------------------------------------- 1 | The examples provided by Facebook are for non-commercial testing and evaluation 2 | purposes only. Facebook reserves all rights not expressly granted. 3 | 4 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 5 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 6 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 7 | FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 8 | ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 9 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /CounterElm/CounterElm.xcodeproj/xcuserdata/palmerpa.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | CounterElm.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 84FA583D1EF478F600195B6A 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /ElmiOSCore/ElmiOSCore.xcodeproj/xcuserdata/palmerpa.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | ElmiOSCore.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 8449C9061F02956700BF9D59 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /CounterSwift/CounterSwift.xcodeproj/xcuserdata/palmerpa.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | CounterSwift.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 84966EE31EF3034B00DE58EC 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /BasicCounterSwift/BasicCounterSwift/BasicCounterSwift.xcodeproj/xcuserdata/palmerpa.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | BasicCounterSwift.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 846A4FC71EF2FF8300509996 16 | 17 | primary 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /CounterElm/Pods/Target Support Files/YogaKit/YogaKit.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/YogaKit 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Yoga" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" 5 | OTHER_LDFLAGS = -framework "UIKit" 6 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" 7 | PODS_BUILD_DIR = $BUILD_DIR 8 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 9 | PODS_ROOT = ${SRCROOT} 10 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/YogaKit 11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 12 | SKIP_INSTALL = YES 13 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Target Support Files/YogaKit/YogaKit.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/YogaKit 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Yoga" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" 5 | OTHER_LDFLAGS = -framework "UIKit" 6 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" 7 | PODS_BUILD_DIR = $BUILD_DIR 8 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 9 | PODS_ROOT = ${SRCROOT} 10 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/YogaKit 11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 12 | SKIP_INSTALL = YES 13 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Target Support Files/YogaKit/YogaKit.xcconfig: -------------------------------------------------------------------------------- 1 | CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/YogaKit 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Yoga" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" 5 | OTHER_LDFLAGS = -framework "UIKit" 6 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" 7 | PODS_BUILD_DIR = $BUILD_DIR 8 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 9 | PODS_ROOT = ${SRCROOT} 10 | PODS_TARGET_SRCROOT = ${PODS_ROOT}/YogaKit 11 | PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} 12 | SKIP_INSTALL = YES 13 | -------------------------------------------------------------------------------- /CounterElm/CounterElm/NativeUI/ElmView.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import YogaKit 3 | import JavaScriptCore 4 | 5 | @objc protocol UIViewExports: JSExport { 6 | static func makeView() -> UIView 7 | static func makeView(withFrame: CGRect) -> UIView 8 | 9 | @objc var bounds: CGRect { get set } 10 | @objc var backgroundColor: UIColor? { get set } 11 | 12 | @objc func addSubview(_ view: UIView) -> () 13 | 14 | // func configureLayout(_ block: YGLayoutConfigurationBlock) 15 | } 16 | 17 | extension UIView: UIViewExports { 18 | static func makeView() -> UIView { 19 | return UIView() 20 | } 21 | 22 | static func makeView(withFrame: CGRect) -> UIView { 23 | return UIView(frame: withFrame) 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /ElmBridge/ElmBridge.xcodeproj/xcuserdata/palmerpa.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | ElmBridge.xcscheme 8 | 9 | orderHint 10 | 0 11 | 12 | 13 | SuppressBuildableAutocreation 14 | 15 | 843DE9BA1EE7434400CCEC20 16 | 17 | primary 18 | 19 | 20 | 843DE9CD1EE7434400CCEC20 21 | 22 | primary 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /ElmBridge/ElmBridgeTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /CounterSwift/CounterSwift/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | 3 | @UIApplicationMain 4 | class AppDelegate: UIResponder, UIApplicationDelegate { 5 | 6 | var window: UIWindow? 7 | 8 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 9 | self.window = UIWindow(frame: UIScreen.main.bounds) 10 | if let window = self.window { 11 | let navigationController = UINavigationController(rootViewController: ViewController()) 12 | navigationController.navigationBar.isTranslucent = false 13 | 14 | window.rootViewController = navigationController 15 | window.backgroundColor = .white 16 | window.makeKeyAndVisible() 17 | } 18 | return true 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /CounterElm/CounterElm/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | 3 | @UIApplicationMain 4 | class AppDelegate: UIResponder, UIApplicationDelegate { 5 | 6 | var window: UIWindow? 7 | 8 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 9 | self.window = UIWindow(frame: UIScreen.main.bounds) 10 | if let window = self.window { 11 | let navigationController = UINavigationController(rootViewController: ViewController()) 12 | navigationController.navigationBar.isTranslucent = false 13 | 14 | window.rootViewController = navigationController 15 | window.backgroundColor = .white 16 | window.makeKeyAndVisible() 17 | } 18 | return true 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /CounterElm/Pods/Target Support Files/Pods-CounterElm/Pods-CounterElm.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Yoga" "$PODS_CONFIGURATION_BUILD_DIR/YogaKit" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 5 | OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Yoga/yoga.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/YogaKit/YogaKit.framework/Headers" 6 | OTHER_LDFLAGS = $(inherited) -framework "YogaKit" -framework "yoga" 7 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" 8 | PODS_BUILD_DIR = $BUILD_DIR 9 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 10 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 11 | PODS_ROOT = ${SRCROOT}/Pods 12 | -------------------------------------------------------------------------------- /CounterElm/Pods/Target Support Files/Pods-CounterElm/Pods-CounterElm.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Yoga" "$PODS_CONFIGURATION_BUILD_DIR/YogaKit" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 5 | OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Yoga/yoga.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/YogaKit/YogaKit.framework/Headers" 6 | OTHER_LDFLAGS = $(inherited) -framework "YogaKit" -framework "yoga" 7 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" 8 | PODS_BUILD_DIR = $BUILD_DIR 9 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 10 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 11 | PODS_ROOT = ${SRCROOT}/Pods 12 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Target Support Files/Pods-ElmiOSCore/Pods-ElmiOSCore.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Yoga" "$PODS_CONFIGURATION_BUILD_DIR/YogaKit" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 5 | OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Yoga/yoga.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/YogaKit/YogaKit.framework/Headers" 6 | OTHER_LDFLAGS = $(inherited) -framework "YogaKit" -framework "yoga" 7 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" 8 | PODS_BUILD_DIR = $BUILD_DIR 9 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 10 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 11 | PODS_ROOT = ${SRCROOT}/Pods 12 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Target Support Files/Pods-ElmiOSCore/Pods-ElmiOSCore.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Yoga" "$PODS_CONFIGURATION_BUILD_DIR/YogaKit" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 5 | OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Yoga/yoga.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/YogaKit/YogaKit.framework/Headers" 6 | OTHER_LDFLAGS = $(inherited) -framework "YogaKit" -framework "yoga" 7 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" 8 | PODS_BUILD_DIR = $BUILD_DIR 9 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 10 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 11 | PODS_ROOT = ${SRCROOT}/Pods 12 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Target Support Files/Pods-CounterSwift/Pods-CounterSwift.debug.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Yoga" "$PODS_CONFIGURATION_BUILD_DIR/YogaKit" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 5 | OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Yoga/yoga.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/YogaKit/YogaKit.framework/Headers" 6 | OTHER_LDFLAGS = $(inherited) -framework "YogaKit" -framework "yoga" 7 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" 8 | PODS_BUILD_DIR = $BUILD_DIR 9 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 10 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 11 | PODS_ROOT = ${SRCROOT}/Pods 12 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Target Support Files/Pods-CounterSwift/Pods-CounterSwift.release.xcconfig: -------------------------------------------------------------------------------- 1 | ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES 2 | FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Yoga" "$PODS_CONFIGURATION_BUILD_DIR/YogaKit" 3 | GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 4 | LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' 5 | OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/Yoga/yoga.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/YogaKit/YogaKit.framework/Headers" 6 | OTHER_LDFLAGS = $(inherited) -framework "YogaKit" -framework "yoga" 7 | OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" 8 | PODS_BUILD_DIR = $BUILD_DIR 9 | PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) 10 | PODS_PODFILE_DIR_PATH = ${SRCROOT}/. 11 | PODS_ROOT = ${SRCROOT}/Pods 12 | -------------------------------------------------------------------------------- /CounterSwift/CounterSwift.xcodeproj/xcuserdata/palmerpa.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 8 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /CounterElm/CounterElm.xcworkspace/xcuserdata/palmerpa.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 8 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /CounterElm/Pods/Target Support Files/Yoga/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.5.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Target Support Files/Yoga/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.5.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Target Support Files/Yoga/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.5.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /CounterElm/Pods/Target Support Files/YogaKit/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.5.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Target Support Files/YogaKit/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.5.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Target Support Files/YogaKit/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.5.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /CounterElm/CounterElm.xcodeproj/xcuserdata/palmerpa.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 8 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /CounterElm/Pods/Target Support Files/Pods-CounterElm/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Target Support Files/Pods-ElmiOSCore/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Target Support Files/Pods-CounterSwift/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | ${EXECUTABLE_NAME} 9 | CFBundleIdentifier 10 | ${PRODUCT_BUNDLE_IDENTIFIER} 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | ${PRODUCT_NAME} 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | ${CURRENT_PROJECT_VERSION} 23 | NSPrincipalClass 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /CounterElm/CounterElm/NativeUI/ElmButton.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import JavaScriptCore 3 | 4 | @objc protocol UIButtonExports: JSExport { 5 | static func makeButton() -> UIButton 6 | static func makeButton(withType: UIButtonType) -> UIButton 7 | 8 | 9 | func setTitle(_ title: String?) -> () 10 | func setTitleColor(_ color: UIColor?) -> () 11 | // func setClickHandler(_ handler: () -> ()) -> () 12 | @objc func addTarget(_ target: Any?, action: Selector, forControlEvents: UIControlEvents) 13 | } 14 | 15 | extension UIButton: UIButtonExports { 16 | static func makeButton() -> UIButton { 17 | return UIButton.init() 18 | } 19 | 20 | static func makeButton(withType: UIButtonType) -> UIButton { 21 | return UIButton.init(type: withType) 22 | } 23 | 24 | func setTitle(_ title: String?) { 25 | setTitle(title, for: .normal) 26 | } 27 | 28 | func setTitleColor(_ color: UIColor?) { 29 | setTitleColor(color, for: .normal) 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /CounterElm/CounterElm/NativeUI/ElmKit.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import JavaScriptCore 3 | 4 | 5 | class ElmKit { 6 | static func patchGlobalContext(context: JSContext) -> () { 7 | context.setObject(UIView.self, forKeyedSubscript: "View" as (NSCopying & NSObjectProtocol)!) 8 | context.setObject(UILabel.self, forKeyedSubscript: "Label" as (NSCopying & NSObjectProtocol)!) 9 | context.setObject(UIButton.self, forKeyedSubscript: "Button" as (NSCopying & NSObjectProtocol)!) 10 | context.setObject(UIColor.self, forKeyedSubscript: "Color" as (NSCopying & NSObjectProtocol)!) 11 | context.setObject(UIWindow.self, forKeyedSubscript: "Window" as (NSCopying & NSObjectProtocol)!) 12 | // context.setObject(UIButtonType, forKeyedSubscript: "ButtonType" as (NSCopying & NSObjectProtocol)!) 13 | context.setObject(UIViewController.self, forKeyedSubscript: "ViewController" as (NSCopying & NSObjectProtocol)!) 14 | context.setObject(CGRect.self, forKeyedSubscript: "Rect" as (NSCopying & NSObjectProtocol)!) 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /CounterElm/Pods/YogaKit/YogaKit/Source/UIView+Yoga.m: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2014-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "UIView+Yoga.h" 11 | #import "YGLayout+Private.h" 12 | #import 13 | 14 | static const void *kYGYogaAssociatedKey = &kYGYogaAssociatedKey; 15 | 16 | @implementation UIView (YogaKit) 17 | 18 | - (YGLayout *)yoga 19 | { 20 | YGLayout *yoga = objc_getAssociatedObject(self, kYGYogaAssociatedKey); 21 | if (!yoga) { 22 | yoga = [[YGLayout alloc] initWithView:self]; 23 | objc_setAssociatedObject(self, kYGYogaAssociatedKey, yoga, OBJC_ASSOCIATION_RETAIN_NONATOMIC); 24 | } 25 | 26 | return yoga; 27 | } 28 | 29 | - (void)configureLayoutWithBlock:(YGLayoutConfigurationBlock)block 30 | { 31 | if (block != nil) { 32 | block(self.yoga); 33 | } 34 | } 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/YogaKit/YogaKit/Source/UIView+Yoga.m: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2014-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "UIView+Yoga.h" 11 | #import "YGLayout+Private.h" 12 | #import 13 | 14 | static const void *kYGYogaAssociatedKey = &kYGYogaAssociatedKey; 15 | 16 | @implementation UIView (YogaKit) 17 | 18 | - (YGLayout *)yoga 19 | { 20 | YGLayout *yoga = objc_getAssociatedObject(self, kYGYogaAssociatedKey); 21 | if (!yoga) { 22 | yoga = [[YGLayout alloc] initWithView:self]; 23 | objc_setAssociatedObject(self, kYGYogaAssociatedKey, yoga, OBJC_ASSOCIATION_RETAIN_NONATOMIC); 24 | } 25 | 26 | return yoga; 27 | } 28 | 29 | - (void)configureLayoutWithBlock:(YGLayoutConfigurationBlock)block 30 | { 31 | if (block != nil) { 32 | block(self.yoga); 33 | } 34 | } 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /CounterSwift/Pods/YogaKit/YogaKit/Source/UIView+Yoga.m: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2014-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "UIView+Yoga.h" 11 | #import "YGLayout+Private.h" 12 | #import 13 | 14 | static const void *kYGYogaAssociatedKey = &kYGYogaAssociatedKey; 15 | 16 | @implementation UIView (YogaKit) 17 | 18 | - (YGLayout *)yoga 19 | { 20 | YGLayout *yoga = objc_getAssociatedObject(self, kYGYogaAssociatedKey); 21 | if (!yoga) { 22 | yoga = [[YGLayout alloc] initWithView:self]; 23 | objc_setAssociatedObject(self, kYGYogaAssociatedKey, yoga, OBJC_ASSOCIATION_RETAIN_NONATOMIC); 24 | } 25 | 26 | return yoga; 27 | } 28 | 29 | - (void)configureLayoutWithBlock:(YGLayoutConfigurationBlock)block 30 | { 31 | if (block != nil) { 32 | block(self.yoga); 33 | } 34 | } 35 | 36 | @end 37 | -------------------------------------------------------------------------------- /ElmiOSCore/ElmiOSCore/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.swift 3 | // ElmiOSCore 4 | // 5 | // Created by Palmer Paul on 6/27/17. 6 | // Copyright © 2017 Palmer Paul. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | @UIApplicationMain 12 | class AppDelegate: UIResponder, UIApplicationDelegate { 13 | 14 | var window: UIWindow? 15 | 16 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 17 | self.window = UIWindow(frame: UIScreen.main.bounds) 18 | if let window = self.window { 19 | // let navigationController = UINavigationController(rootViewController: ViewController()) 20 | // navigationController.navigationBar.isTranslucent = false 21 | // 22 | // window.rootViewController = navigationController 23 | window.rootViewController = ViewController() 24 | window.backgroundColor = .white 25 | window.makeKeyAndVisible() 26 | } 27 | return true 28 | } 29 | 30 | } 31 | 32 | -------------------------------------------------------------------------------- /ElmBridge/ElmBridgeTests/ElmBridgeTests.m: -------------------------------------------------------------------------------- 1 | // 2 | // ElmBridgeTests.m 3 | // ElmBridgeTests 4 | // 5 | // Created by Palmer Paul on 6/6/17. 6 | // Copyright © 2017 Palmer Paul. All rights reserved. 7 | // 8 | 9 | #import 10 | 11 | @interface ElmBridgeTests : XCTestCase 12 | 13 | @end 14 | 15 | @implementation ElmBridgeTests 16 | 17 | - (void)setUp { 18 | [super setUp]; 19 | // Put setup code here. This method is called before the invocation of each test method in the class. 20 | } 21 | 22 | - (void)tearDown { 23 | // Put teardown code here. This method is called after the invocation of each test method in the class. 24 | [super tearDown]; 25 | } 26 | 27 | - (void)testExample { 28 | // This is an example of a functional test case. 29 | // Use XCTAssert and related functions to verify your tests produce the correct results. 30 | } 31 | 32 | - (void)testPerformanceExample { 33 | // This is an example of a performance test case. 34 | [self measureBlock:^{ 35 | // Put the code you want to measure the time of here. 36 | }]; 37 | } 38 | 39 | @end 40 | -------------------------------------------------------------------------------- /CounterElm/Pods/Pods.xcodeproj/xcuserdata/palmerpa.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Pods-CounterElm.xcscheme 8 | 9 | isShown 10 | 11 | 12 | Yoga.xcscheme 13 | 14 | isShown 15 | 16 | 17 | YogaKit.xcscheme 18 | 19 | isShown 20 | 21 | 22 | 23 | SuppressBuildableAutocreation 24 | 25 | 0908E0FA5780B9684A550C7530240024 26 | 27 | primary 28 | 29 | 30 | 430DADC16518C0A1A8D2B967554979F2 31 | 32 | primary 33 | 34 | 35 | D3ED8EB99EBF4AA8656969A4F1BB8C74 36 | 37 | primary 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Pods.xcodeproj/xcuserdata/palmerpa.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Pods-ElmiOSCore.xcscheme 8 | 9 | isShown 10 | 11 | 12 | Yoga.xcscheme 13 | 14 | isShown 15 | 16 | 17 | YogaKit.xcscheme 18 | 19 | isShown 20 | 21 | 22 | 23 | SuppressBuildableAutocreation 24 | 25 | 390BC325EBC577E7A5B5409714659096 26 | 27 | primary 28 | 29 | 30 | 52BAF1123C99E8616C717C611EADBCA1 31 | 32 | primary 33 | 34 | 35 | 6226360BA53F7E07F90608EF9BC9D0F7 36 | 37 | primary 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Pods.xcodeproj/xcuserdata/palmerpa.xcuserdatad/xcschemes/xcschememanagement.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | SchemeUserState 6 | 7 | Pods-CounterSwift.xcscheme 8 | 9 | isShown 10 | 11 | 12 | Yoga.xcscheme 13 | 14 | isShown 15 | 16 | 17 | YogaKit.xcscheme 18 | 19 | isShown 20 | 21 | 22 | 23 | SuppressBuildableAutocreation 24 | 25 | 0FA8E0536F302F50E20C156F0C18E506 26 | 27 | primary 28 | 29 | 30 | B7BEF46BBA9A9E2FD2E6E9B29A128CEB 31 | 32 | primary 33 | 34 | 35 | CF9BA62B9748E0C09C354F16BB7B18DC 36 | 37 | primary 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /ElmBridge/ElmBridge/AppDelegate.m: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.m 3 | // ElmBridge 4 | // 5 | // Created by Palmer Paul on 6/6/17. 6 | // Copyright © 2017 Palmer Paul. All rights reserved. 7 | // 8 | 9 | #import "AppDelegate.h" 10 | 11 | @interface AppDelegate () 12 | 13 | @property (weak) IBOutlet NSWindow *window; 14 | @end 15 | 16 | @implementation AppDelegate 17 | 18 | - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 19 | _jsvmThread = [[NSThread alloc] initWithTarget:self 20 | selector:@selector(runJSVMThread) 21 | object:nil]; 22 | [_jsvmThread start]; 23 | } 24 | 25 | 26 | - (void)runJSVMThread { 27 | [[[ChakraProxy alloc] init] run]; 28 | 29 | NSRunLoop *runloop = [NSRunLoop currentRunLoop]; 30 | 31 | while (true) { 32 | [runloop runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]]; 33 | } 34 | } 35 | 36 | 37 | - (void)applicationWillTerminate:(NSNotification *)aNotification { 38 | // Insert code here to tear down your application 39 | } 40 | 41 | 42 | 43 | 44 | @end 45 | -------------------------------------------------------------------------------- /CounterElm/Pods/YogaKit/YogaKit/Source/UIView+Yoga.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2014-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "YGLayout.h" 11 | #import 12 | 13 | NS_ASSUME_NONNULL_BEGIN 14 | 15 | typedef void (^YGLayoutConfigurationBlock)(YGLayout *); 16 | 17 | @interface UIView (Yoga) 18 | 19 | /** 20 | The YGLayout that is attached to this view. It is lazily created. 21 | */ 22 | @property (nonatomic, readonly, strong) YGLayout *yoga; 23 | 24 | /** 25 | In ObjC land, every time you access `view.yoga.*` you are adding another `objc_msgSend` 26 | to your code. If you plan on making multiple changes to YGLayout, it's more performant 27 | to use this method, which uses a single objc_msgSend call. 28 | */ 29 | - (void)configureLayoutWithBlock:(YGLayoutConfigurationBlock)block 30 | NS_SWIFT_NAME(configureLayout(block:)); 31 | 32 | @end 33 | 34 | NS_ASSUME_NONNULL_END 35 | -------------------------------------------------------------------------------- /CounterSwift/Pods/YogaKit/YogaKit/Source/UIView+Yoga.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2014-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "YGLayout.h" 11 | #import 12 | 13 | NS_ASSUME_NONNULL_BEGIN 14 | 15 | typedef void (^YGLayoutConfigurationBlock)(YGLayout *); 16 | 17 | @interface UIView (Yoga) 18 | 19 | /** 20 | The YGLayout that is attached to this view. It is lazily created. 21 | */ 22 | @property (nonatomic, readonly, strong) YGLayout *yoga; 23 | 24 | /** 25 | In ObjC land, every time you access `view.yoga.*` you are adding another `objc_msgSend` 26 | to your code. If you plan on making multiple changes to YGLayout, it's more performant 27 | to use this method, which uses a single objc_msgSend call. 28 | */ 29 | - (void)configureLayoutWithBlock:(YGLayoutConfigurationBlock)block 30 | NS_SWIFT_NAME(configureLayout(block:)); 31 | 32 | @end 33 | 34 | NS_ASSUME_NONNULL_END 35 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/YogaKit/YogaKit/Source/UIView+Yoga.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2014-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #import "YGLayout.h" 11 | #import 12 | 13 | NS_ASSUME_NONNULL_BEGIN 14 | 15 | typedef void (^YGLayoutConfigurationBlock)(YGLayout *); 16 | 17 | @interface UIView (Yoga) 18 | 19 | /** 20 | The YGLayout that is attached to this view. It is lazily created. 21 | */ 22 | @property (nonatomic, readonly, strong) YGLayout *yoga; 23 | 24 | /** 25 | In ObjC land, every time you access `view.yoga.*` you are adding another `objc_msgSend` 26 | to your code. If you plan on making multiple changes to YGLayout, it's more performant 27 | to use this method, which uses a single objc_msgSend call. 28 | */ 29 | - (void)configureLayoutWithBlock:(YGLayoutConfigurationBlock)block 30 | NS_SWIFT_NAME(configureLayout(block:)); 31 | 32 | @end 33 | 34 | NS_ASSUME_NONNULL_END 35 | -------------------------------------------------------------------------------- /ElmBridge/ElmBridge/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleVersion 22 | 1 23 | LSMinimumSystemVersion 24 | $(MACOSX_DEPLOYMENT_TARGET) 25 | NSHumanReadableCopyright 26 | Copyright © 2017 Palmer Paul. All rights reserved. 27 | NSMainNibFile 28 | MainMenu 29 | NSPrincipalClass 30 | NSApplication 31 | 32 | 33 | -------------------------------------------------------------------------------- /BasicCounterSwift/BasicCounterSwift/BasicCounterSwift/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleVersion 22 | 1 23 | LSMinimumSystemVersion 24 | $(MACOSX_DEPLOYMENT_TARGET) 25 | NSHumanReadableCopyright 26 | Copyright © 2017 Palmer Paul. All rights reserved. 27 | NSMainNibFile 28 | MainMenu 29 | NSPrincipalClass 30 | NSApplication 31 | 32 | 33 | -------------------------------------------------------------------------------- /ElmBridge/ElmBridge/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "mac", 5 | "size" : "16x16", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "mac", 10 | "size" : "16x16", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "mac", 15 | "size" : "32x32", 16 | "scale" : "1x" 17 | }, 18 | { 19 | "idiom" : "mac", 20 | "size" : "32x32", 21 | "scale" : "2x" 22 | }, 23 | { 24 | "idiom" : "mac", 25 | "size" : "128x128", 26 | "scale" : "1x" 27 | }, 28 | { 29 | "idiom" : "mac", 30 | "size" : "128x128", 31 | "scale" : "2x" 32 | }, 33 | { 34 | "idiom" : "mac", 35 | "size" : "256x256", 36 | "scale" : "1x" 37 | }, 38 | { 39 | "idiom" : "mac", 40 | "size" : "256x256", 41 | "scale" : "2x" 42 | }, 43 | { 44 | "idiom" : "mac", 45 | "size" : "512x512", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "mac", 50 | "size" : "512x512", 51 | "scale" : "2x" 52 | } 53 | ], 54 | "info" : { 55 | "version" : 1, 56 | "author" : "xcode" 57 | } 58 | } -------------------------------------------------------------------------------- /CounterElm/Pods/Yoga/yoga/YGNodeList.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2014-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #pragma once 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | 17 | #include "YGMacros.h" 18 | #include "Yoga.h" 19 | 20 | YG_EXTERN_C_BEGIN 21 | 22 | typedef struct YGNodeList *YGNodeListRef; 23 | 24 | YGNodeListRef YGNodeListNew(const uint32_t initialCapacity); 25 | void YGNodeListFree(const YGNodeListRef list); 26 | uint32_t YGNodeListCount(const YGNodeListRef list); 27 | void YGNodeListAdd(YGNodeListRef *listp, const YGNodeRef node); 28 | void YGNodeListInsert(YGNodeListRef *listp, const YGNodeRef node, const uint32_t index); 29 | YGNodeRef YGNodeListRemove(const YGNodeListRef list, const uint32_t index); 30 | YGNodeRef YGNodeListDelete(const YGNodeListRef list, const YGNodeRef node); 31 | YGNodeRef YGNodeListGet(const YGNodeListRef list, const uint32_t index); 32 | 33 | YG_EXTERN_C_END 34 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Yoga/yoga/YGNodeList.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2014-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #pragma once 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | 17 | #include "YGMacros.h" 18 | #include "Yoga.h" 19 | 20 | YG_EXTERN_C_BEGIN 21 | 22 | typedef struct YGNodeList *YGNodeListRef; 23 | 24 | YGNodeListRef YGNodeListNew(const uint32_t initialCapacity); 25 | void YGNodeListFree(const YGNodeListRef list); 26 | uint32_t YGNodeListCount(const YGNodeListRef list); 27 | void YGNodeListAdd(YGNodeListRef *listp, const YGNodeRef node); 28 | void YGNodeListInsert(YGNodeListRef *listp, const YGNodeRef node, const uint32_t index); 29 | YGNodeRef YGNodeListRemove(const YGNodeListRef list, const uint32_t index); 30 | YGNodeRef YGNodeListDelete(const YGNodeListRef list, const YGNodeRef node); 31 | YGNodeRef YGNodeListGet(const YGNodeListRef list, const uint32_t index); 32 | 33 | YG_EXTERN_C_END 34 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Yoga/yoga/YGNodeList.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2014-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #pragma once 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | 17 | #include "YGMacros.h" 18 | #include "Yoga.h" 19 | 20 | YG_EXTERN_C_BEGIN 21 | 22 | typedef struct YGNodeList *YGNodeListRef; 23 | 24 | YGNodeListRef YGNodeListNew(const uint32_t initialCapacity); 25 | void YGNodeListFree(const YGNodeListRef list); 26 | uint32_t YGNodeListCount(const YGNodeListRef list); 27 | void YGNodeListAdd(YGNodeListRef *listp, const YGNodeRef node); 28 | void YGNodeListInsert(YGNodeListRef *listp, const YGNodeRef node, const uint32_t index); 29 | YGNodeRef YGNodeListRemove(const YGNodeListRef list, const uint32_t index); 30 | YGNodeRef YGNodeListDelete(const YGNodeListRef list, const YGNodeRef node); 31 | YGNodeRef YGNodeListGet(const YGNodeListRef list, const uint32_t index); 32 | 33 | YG_EXTERN_C_END 34 | -------------------------------------------------------------------------------- /BasicCounterSwift/BasicCounterSwift/BasicCounterSwift/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "mac", 5 | "size" : "16x16", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "mac", 10 | "size" : "16x16", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "mac", 15 | "size" : "32x32", 16 | "scale" : "1x" 17 | }, 18 | { 19 | "idiom" : "mac", 20 | "size" : "32x32", 21 | "scale" : "2x" 22 | }, 23 | { 24 | "idiom" : "mac", 25 | "size" : "128x128", 26 | "scale" : "1x" 27 | }, 28 | { 29 | "idiom" : "mac", 30 | "size" : "128x128", 31 | "scale" : "2x" 32 | }, 33 | { 34 | "idiom" : "mac", 35 | "size" : "256x256", 36 | "scale" : "1x" 37 | }, 38 | { 39 | "idiom" : "mac", 40 | "size" : "256x256", 41 | "scale" : "2x" 42 | }, 43 | { 44 | "idiom" : "mac", 45 | "size" : "512x512", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "mac", 50 | "size" : "512x512", 51 | "scale" : "2x" 52 | } 53 | ], 54 | "info" : { 55 | "version" : 1, 56 | "author" : "xcode" 57 | } 58 | } -------------------------------------------------------------------------------- /CounterElm/CounterElm/NativeUI/ElmLabel.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import JavaScriptCore 3 | 4 | @objc protocol UILabelExports: JSExport { 5 | static func makeLabel() -> UILabel 6 | static func makeLabel(withFrame: CGRect) -> UILabel 7 | 8 | @objc var text: String? { get set } 9 | @objc var font: UIFont! { get set } 10 | @objc var textColor: UIColor! { get set } 11 | 12 | func textAlignmentLeft() -> () 13 | func textAlignmentRight() -> () 14 | func textAlignmentCenter() -> () 15 | func textAlignmentJustifed() -> () 16 | func textAlignmentNatural() -> () 17 | } 18 | 19 | extension UILabel: UILabelExports { 20 | static func makeLabel() -> UILabel { 21 | return UILabel() 22 | } 23 | 24 | static func makeLabel(withFrame: CGRect) -> UILabel { 25 | return UILabel(frame: withFrame) 26 | } 27 | 28 | 29 | func textAlignmentLeft() -> () { 30 | textAlignment = .left 31 | } 32 | 33 | func textAlignmentRight() -> () { 34 | textAlignment = .right 35 | } 36 | 37 | func textAlignmentCenter() -> () { 38 | textAlignment = .center 39 | } 40 | 41 | func textAlignmentJustifed() -> () { 42 | textAlignment = .justified 43 | } 44 | 45 | func textAlignmentNatural() -> () { 46 | textAlignment = .natural 47 | } 48 | } 49 | 50 | -------------------------------------------------------------------------------- /CounterElm/Pods/Yoga/yoga/YGMacros.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2014-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #pragma once 11 | 12 | #ifdef __cplusplus 13 | #define YG_EXTERN_C_BEGIN extern "C" { 14 | #define YG_EXTERN_C_END } 15 | #else 16 | #define YG_EXTERN_C_BEGIN 17 | #define YG_EXTERN_C_END 18 | #endif 19 | 20 | #ifdef _WINDLL 21 | #define WIN_EXPORT __declspec(dllexport) 22 | #else 23 | #define WIN_EXPORT 24 | #endif 25 | 26 | #ifdef WINARMDLL 27 | #define WIN_STRUCT(type) type * 28 | #define WIN_STRUCT_REF(value) &value 29 | #else 30 | #define WIN_STRUCT(type) type 31 | #define WIN_STRUCT_REF(value) value 32 | #endif 33 | 34 | #ifndef FB_ASSERTIONS_ENABLED 35 | #define FB_ASSERTIONS_ENABLED 1 36 | #endif 37 | 38 | #ifdef NS_ENUM 39 | // Cannot use NSInteger as NSInteger has a different size than int (which is the default type of a 40 | // enum). 41 | // Therefor when linking the Yoga C library into obj-c the header is a missmatch for the Yoga ABI. 42 | #define YG_ENUM_BEGIN(name) NS_ENUM(int, name) 43 | #define YG_ENUM_END(name) 44 | #else 45 | #define YG_ENUM_BEGIN(name) enum name 46 | #define YG_ENUM_END(name) name 47 | #endif 48 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Yoga/yoga/YGMacros.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2014-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #pragma once 11 | 12 | #ifdef __cplusplus 13 | #define YG_EXTERN_C_BEGIN extern "C" { 14 | #define YG_EXTERN_C_END } 15 | #else 16 | #define YG_EXTERN_C_BEGIN 17 | #define YG_EXTERN_C_END 18 | #endif 19 | 20 | #ifdef _WINDLL 21 | #define WIN_EXPORT __declspec(dllexport) 22 | #else 23 | #define WIN_EXPORT 24 | #endif 25 | 26 | #ifdef WINARMDLL 27 | #define WIN_STRUCT(type) type * 28 | #define WIN_STRUCT_REF(value) &value 29 | #else 30 | #define WIN_STRUCT(type) type 31 | #define WIN_STRUCT_REF(value) value 32 | #endif 33 | 34 | #ifndef FB_ASSERTIONS_ENABLED 35 | #define FB_ASSERTIONS_ENABLED 1 36 | #endif 37 | 38 | #ifdef NS_ENUM 39 | // Cannot use NSInteger as NSInteger has a different size than int (which is the default type of a 40 | // enum). 41 | // Therefor when linking the Yoga C library into obj-c the header is a missmatch for the Yoga ABI. 42 | #define YG_ENUM_BEGIN(name) NS_ENUM(int, name) 43 | #define YG_ENUM_END(name) 44 | #else 45 | #define YG_ENUM_BEGIN(name) enum name 46 | #define YG_ENUM_END(name) name 47 | #endif 48 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Yoga/yoga/YGMacros.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2014-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #pragma once 11 | 12 | #ifdef __cplusplus 13 | #define YG_EXTERN_C_BEGIN extern "C" { 14 | #define YG_EXTERN_C_END } 15 | #else 16 | #define YG_EXTERN_C_BEGIN 17 | #define YG_EXTERN_C_END 18 | #endif 19 | 20 | #ifdef _WINDLL 21 | #define WIN_EXPORT __declspec(dllexport) 22 | #else 23 | #define WIN_EXPORT 24 | #endif 25 | 26 | #ifdef WINARMDLL 27 | #define WIN_STRUCT(type) type * 28 | #define WIN_STRUCT_REF(value) &value 29 | #else 30 | #define WIN_STRUCT(type) type 31 | #define WIN_STRUCT_REF(value) value 32 | #endif 33 | 34 | #ifndef FB_ASSERTIONS_ENABLED 35 | #define FB_ASSERTIONS_ENABLED 1 36 | #endif 37 | 38 | #ifdef NS_ENUM 39 | // Cannot use NSInteger as NSInteger has a different size than int (which is the default type of a 40 | // enum). 41 | // Therefor when linking the Yoga C library into obj-c the header is a missmatch for the Yoga ABI. 42 | #define YG_ENUM_BEGIN(name) NS_ENUM(int, name) 43 | #define YG_ENUM_END(name) 44 | #else 45 | #define YG_ENUM_BEGIN(name) enum name 46 | #define YG_ENUM_END(name) name 47 | #endif 48 | -------------------------------------------------------------------------------- /ElmiOSCore/ElmiOSCore/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "ipad", 35 | "size" : "29x29", 36 | "scale" : "1x" 37 | }, 38 | { 39 | "idiom" : "ipad", 40 | "size" : "29x29", 41 | "scale" : "2x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "40x40", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "40x40", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "76x76", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "76x76", 61 | "scale" : "2x" 62 | } 63 | ], 64 | "info" : { 65 | "version" : 1, 66 | "author" : "xcode" 67 | } 68 | } -------------------------------------------------------------------------------- /CounterSwift/CounterSwift/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "29x29", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "29x29", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "40x40", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "40x40", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "60x60", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "60x60", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "ipad", 35 | "size" : "29x29", 36 | "scale" : "1x" 37 | }, 38 | { 39 | "idiom" : "ipad", 40 | "size" : "29x29", 41 | "scale" : "2x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "40x40", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "40x40", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "76x76", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "76x76", 61 | "scale" : "2x" 62 | } 63 | ], 64 | "info" : { 65 | "version" : 1, 66 | "author" : "xcode" 67 | } 68 | } -------------------------------------------------------------------------------- /CounterElm/Pods/YogaKit/YogaKit/Source/YGLayoutExtensions.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2014-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | postfix operator % 11 | 12 | extension Int { 13 | public static postfix func %(value: Int) -> YGValue { 14 | return YGValue(value: Float(value), unit: .percent) 15 | } 16 | } 17 | 18 | extension Float { 19 | public static postfix func %(value: Float) -> YGValue { 20 | return YGValue(value: value, unit: .percent) 21 | } 22 | } 23 | 24 | extension CGFloat { 25 | public static postfix func %(value: CGFloat) -> YGValue { 26 | return YGValue(value: Float(value), unit: .percent) 27 | } 28 | } 29 | 30 | extension YGValue : ExpressibleByIntegerLiteral, ExpressibleByFloatLiteral { 31 | public init(integerLiteral value: Int) { 32 | self = YGValue(value: Float(value), unit: .point) 33 | } 34 | 35 | public init(floatLiteral value: Float) { 36 | self = YGValue(value: value, unit: .point) 37 | } 38 | 39 | public init(_ value: Float) { 40 | self = YGValue(value: value, unit: .point) 41 | } 42 | 43 | public init(_ value: CGFloat) { 44 | self = YGValue(value: Float(value), unit: .point) 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/YogaKit/YogaKit/Source/YGLayoutExtensions.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2014-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | postfix operator % 11 | 12 | extension Int { 13 | public static postfix func %(value: Int) -> YGValue { 14 | return YGValue(value: Float(value), unit: .percent) 15 | } 16 | } 17 | 18 | extension Float { 19 | public static postfix func %(value: Float) -> YGValue { 20 | return YGValue(value: value, unit: .percent) 21 | } 22 | } 23 | 24 | extension CGFloat { 25 | public static postfix func %(value: CGFloat) -> YGValue { 26 | return YGValue(value: Float(value), unit: .percent) 27 | } 28 | } 29 | 30 | extension YGValue : ExpressibleByIntegerLiteral, ExpressibleByFloatLiteral { 31 | public init(integerLiteral value: Int) { 32 | self = YGValue(value: Float(value), unit: .point) 33 | } 34 | 35 | public init(floatLiteral value: Float) { 36 | self = YGValue(value: value, unit: .point) 37 | } 38 | 39 | public init(_ value: Float) { 40 | self = YGValue(value: value, unit: .point) 41 | } 42 | 43 | public init(_ value: CGFloat) { 44 | self = YGValue(value: Float(value), unit: .point) 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /CounterSwift/Pods/YogaKit/YogaKit/Source/YGLayoutExtensions.swift: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2014-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | postfix operator % 11 | 12 | extension Int { 13 | public static postfix func %(value: Int) -> YGValue { 14 | return YGValue(value: Float(value), unit: .percent) 15 | } 16 | } 17 | 18 | extension Float { 19 | public static postfix func %(value: Float) -> YGValue { 20 | return YGValue(value: value, unit: .percent) 21 | } 22 | } 23 | 24 | extension CGFloat { 25 | public static postfix func %(value: CGFloat) -> YGValue { 26 | return YGValue(value: Float(value), unit: .percent) 27 | } 28 | } 29 | 30 | extension YGValue : ExpressibleByIntegerLiteral, ExpressibleByFloatLiteral { 31 | public init(integerLiteral value: Int) { 32 | self = YGValue(value: Float(value), unit: .point) 33 | } 34 | 35 | public init(floatLiteral value: Float) { 36 | self = YGValue(value: value, unit: .point) 37 | } 38 | 39 | public init(_ value: Float) { 40 | self = YGValue(value: value, unit: .point) 41 | } 42 | 43 | public init(_ value: CGFloat) { 44 | self = YGValue(value: Float(value), unit: .point) 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /CounterElm/CounterElm/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | UILaunchStoryboardName 24 | LaunchScreen 25 | UIMainStoryboardFile 26 | 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | UISupportedInterfaceOrientations~ipad 38 | 39 | UIInterfaceOrientationPortrait 40 | UIInterfaceOrientationPortraitUpsideDown 41 | UIInterfaceOrientationLandscapeLeft 42 | UIInterfaceOrientationLandscapeRight 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /ElmiOSCore/ElmiOSCore/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | UILaunchStoryboardName 24 | LaunchScreen 25 | UIMainStoryboardFile 26 | 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | UISupportedInterfaceOrientations~ipad 38 | 39 | UIInterfaceOrientationPortrait 40 | UIInterfaceOrientationPortraitUpsideDown 41 | UIInterfaceOrientationLandscapeLeft 42 | UIInterfaceOrientationLandscapeRight 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /CounterSwift/CounterSwift/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | LSRequiresIPhoneOS 22 | 23 | UILaunchStoryboardName 24 | LaunchScreen 25 | UIMainStoryboardFile 26 | 27 | UIRequiredDeviceCapabilities 28 | 29 | armv7 30 | 31 | UISupportedInterfaceOrientations 32 | 33 | UIInterfaceOrientationPortrait 34 | UIInterfaceOrientationLandscapeLeft 35 | UIInterfaceOrientationLandscapeRight 36 | 37 | UISupportedInterfaceOrientations~ipad 38 | 39 | UIInterfaceOrientationPortrait 40 | UIInterfaceOrientationPortraitUpsideDown 41 | UIInterfaceOrientationLandscapeLeft 42 | UIInterfaceOrientationLandscapeRight 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /CounterElm/Pods/Yoga/LICENSE: -------------------------------------------------------------------------------- 1 | BSD License 2 | 3 | For yoga software 4 | 5 | Copyright (c) 2014-present, Facebook, Inc. All rights reserved. 6 | 7 | Redistribution and use in source and binary forms, with or without modification, 8 | are permitted provided that the following conditions are met: 9 | 10 | * Redistributions of source code must retain the above copyright notice, this 11 | list of conditions and the following disclaimer. 12 | 13 | * Redistributions in binary form must reproduce the above copyright notice, 14 | this list of conditions and the following disclaimer in the documentation 15 | and/or other materials provided with the distribution. 16 | 17 | * Neither the name Facebook nor the names of its contributors may be used to 18 | endorse or promote products derived from this software without specific 19 | prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 22 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 23 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 25 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 26 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 27 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 28 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 30 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 | -------------------------------------------------------------------------------- /CounterElm/Pods/YogaKit/LICENSE: -------------------------------------------------------------------------------- 1 | BSD License 2 | 3 | For yoga software 4 | 5 | Copyright (c) 2014-present, Facebook, Inc. All rights reserved. 6 | 7 | Redistribution and use in source and binary forms, with or without modification, 8 | are permitted provided that the following conditions are met: 9 | 10 | * Redistributions of source code must retain the above copyright notice, this 11 | list of conditions and the following disclaimer. 12 | 13 | * Redistributions in binary form must reproduce the above copyright notice, 14 | this list of conditions and the following disclaimer in the documentation 15 | and/or other materials provided with the distribution. 16 | 17 | * Neither the name Facebook nor the names of its contributors may be used to 18 | endorse or promote products derived from this software without specific 19 | prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 22 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 23 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 25 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 26 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 27 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 28 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 30 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Yoga/LICENSE: -------------------------------------------------------------------------------- 1 | BSD License 2 | 3 | For yoga software 4 | 5 | Copyright (c) 2014-present, Facebook, Inc. All rights reserved. 6 | 7 | Redistribution and use in source and binary forms, with or without modification, 8 | are permitted provided that the following conditions are met: 9 | 10 | * Redistributions of source code must retain the above copyright notice, this 11 | list of conditions and the following disclaimer. 12 | 13 | * Redistributions in binary form must reproduce the above copyright notice, 14 | this list of conditions and the following disclaimer in the documentation 15 | and/or other materials provided with the distribution. 16 | 17 | * Neither the name Facebook nor the names of its contributors may be used to 18 | endorse or promote products derived from this software without specific 19 | prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 22 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 23 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 25 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 26 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 27 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 28 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 30 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Yoga/LICENSE: -------------------------------------------------------------------------------- 1 | BSD License 2 | 3 | For yoga software 4 | 5 | Copyright (c) 2014-present, Facebook, Inc. All rights reserved. 6 | 7 | Redistribution and use in source and binary forms, with or without modification, 8 | are permitted provided that the following conditions are met: 9 | 10 | * Redistributions of source code must retain the above copyright notice, this 11 | list of conditions and the following disclaimer. 12 | 13 | * Redistributions in binary form must reproduce the above copyright notice, 14 | this list of conditions and the following disclaimer in the documentation 15 | and/or other materials provided with the distribution. 16 | 17 | * Neither the name Facebook nor the names of its contributors may be used to 18 | endorse or promote products derived from this software without specific 19 | prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 22 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 23 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 25 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 26 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 27 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 28 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 30 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/YogaKit/LICENSE: -------------------------------------------------------------------------------- 1 | BSD License 2 | 3 | For yoga software 4 | 5 | Copyright (c) 2014-present, Facebook, Inc. All rights reserved. 6 | 7 | Redistribution and use in source and binary forms, with or without modification, 8 | are permitted provided that the following conditions are met: 9 | 10 | * Redistributions of source code must retain the above copyright notice, this 11 | list of conditions and the following disclaimer. 12 | 13 | * Redistributions in binary form must reproduce the above copyright notice, 14 | this list of conditions and the following disclaimer in the documentation 15 | and/or other materials provided with the distribution. 16 | 17 | * Neither the name Facebook nor the names of its contributors may be used to 18 | endorse or promote products derived from this software without specific 19 | prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 22 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 23 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 25 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 26 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 27 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 28 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 30 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 | -------------------------------------------------------------------------------- /CounterSwift/Pods/YogaKit/LICENSE: -------------------------------------------------------------------------------- 1 | BSD License 2 | 3 | For yoga software 4 | 5 | Copyright (c) 2014-present, Facebook, Inc. All rights reserved. 6 | 7 | Redistribution and use in source and binary forms, with or without modification, 8 | are permitted provided that the following conditions are met: 9 | 10 | * Redistributions of source code must retain the above copyright notice, this 11 | list of conditions and the following disclaimer. 12 | 13 | * Redistributions in binary form must reproduce the above copyright notice, 14 | this list of conditions and the following disclaimer in the documentation 15 | and/or other materials provided with the distribution. 16 | 17 | * Neither the name Facebook nor the names of its contributors may be used to 18 | endorse or promote products derived from this software without specific 19 | prior written permission. 20 | 21 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 22 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 23 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 25 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 26 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 27 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 28 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 29 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 30 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 31 | -------------------------------------------------------------------------------- /ElmiOSCore/ElmiOSCore/Base.lproj/Main.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /ElmiOSCore/ElmiOSCore/Base.lproj/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /CounterElm/CounterElm/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "iphone", 5 | "size" : "20x20", 6 | "scale" : "2x" 7 | }, 8 | { 9 | "idiom" : "iphone", 10 | "size" : "20x20", 11 | "scale" : "3x" 12 | }, 13 | { 14 | "idiom" : "iphone", 15 | "size" : "29x29", 16 | "scale" : "2x" 17 | }, 18 | { 19 | "idiom" : "iphone", 20 | "size" : "29x29", 21 | "scale" : "3x" 22 | }, 23 | { 24 | "idiom" : "iphone", 25 | "size" : "40x40", 26 | "scale" : "2x" 27 | }, 28 | { 29 | "idiom" : "iphone", 30 | "size" : "40x40", 31 | "scale" : "3x" 32 | }, 33 | { 34 | "idiom" : "iphone", 35 | "size" : "60x60", 36 | "scale" : "2x" 37 | }, 38 | { 39 | "idiom" : "iphone", 40 | "size" : "60x60", 41 | "scale" : "3x" 42 | }, 43 | { 44 | "idiom" : "ipad", 45 | "size" : "20x20", 46 | "scale" : "1x" 47 | }, 48 | { 49 | "idiom" : "ipad", 50 | "size" : "20x20", 51 | "scale" : "2x" 52 | }, 53 | { 54 | "idiom" : "ipad", 55 | "size" : "29x29", 56 | "scale" : "1x" 57 | }, 58 | { 59 | "idiom" : "ipad", 60 | "size" : "29x29", 61 | "scale" : "2x" 62 | }, 63 | { 64 | "idiom" : "ipad", 65 | "size" : "40x40", 66 | "scale" : "1x" 67 | }, 68 | { 69 | "idiom" : "ipad", 70 | "size" : "40x40", 71 | "scale" : "2x" 72 | }, 73 | { 74 | "idiom" : "ipad", 75 | "size" : "76x76", 76 | "scale" : "1x" 77 | }, 78 | { 79 | "idiom" : "ipad", 80 | "size" : "76x76", 81 | "scale" : "2x" 82 | }, 83 | { 84 | "idiom" : "ipad", 85 | "size" : "83.5x83.5", 86 | "scale" : "2x" 87 | } 88 | ], 89 | "info" : { 90 | "version" : 1, 91 | "author" : "xcode" 92 | } 93 | } -------------------------------------------------------------------------------- /BasicCounterSwift/BasicCounterSwift/BasicCounterSwift/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | // 2 | // AppDelegate.swift 3 | // BasicCounterSwift 4 | // 5 | // Created by Palmer Paul on 6/15/17. 6 | // Copyright © 2017 Palmer Paul. All rights reserved. 7 | // 8 | 9 | import UIKit 10 | 11 | @UIApplicationMain 12 | class AppDelegate: UIResponder, UIApplicationDelegate, UINavigationControllerDelegate { 13 | 14 | var window: UIWindow? 15 | // var testNavigationController : UINavigationController? 16 | 17 | func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 18 | window = UIWindow(frame: UIScreen.main.bounds) 19 | let homeViewController = UIViewController() 20 | homeViewController.view.backgroundColor = UIColor.red 21 | window!.rootViewController = homeViewController 22 | window!.makeKeyAndVisible() 23 | return true 24 | } 25 | } 26 | 27 | // let testViewController: UIViewController = ViewController() 28 | // self.testNavigationController = UINavigationController() 29 | // if let testNavigationController = self.testNavigationController{ 30 | // testNavigationController.delegate = self 31 | // testNavigationController.setNavigationBarHidden(true, animated: false) 32 | // testNavigationController.pushViewController(testViewController, animated: false) 33 | // self.window = UIWindow(frame: UIScreen.mainScreen().bounds) 34 | // if let window = self.window { 35 | // window.rootViewController = testNavigationController 36 | // window.makeKeyAndVisible() 37 | // } 38 | 39 | // } 40 | // return true 41 | 42 | //import Cocoa 43 | // 44 | //@NSApplicationMain 45 | //class AppDelegate: NSObject, NSApplicationDelegate { 46 | // 47 | // @IBOutlet weak var window: NSWindow! 48 | // 49 | // 50 | // func applicationDidFinishLaunching(_ aNotification: Notification) { 51 | // // Insert code here to initialize your application 52 | // } 53 | // 54 | // func applicationWillTerminate(_ aNotification: Notification) { 55 | // // Insert code here to tear down your application 56 | // } 57 | // 58 | // 59 | //} 60 | -------------------------------------------------------------------------------- /CounterElm/Pods/Pods.xcodeproj/xcuserdata/palmerpa.xcuserdatad/xcschemes/YogaKit.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Pods.xcodeproj/xcuserdata/palmerpa.xcuserdatad/xcschemes/YogaKit.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Pods.xcodeproj/xcuserdata/palmerpa.xcuserdatad/xcschemes/YogaKit.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 43 | 44 | 45 | 46 | 52 | 53 | 55 | 56 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /ElmiOSCore/ElmiOSCore/app.js: -------------------------------------------------------------------------------- 1 | function ready() { 2 | 3 | function makeChangePatch(type, data) { 4 | return { 5 | ctor: 'change', 6 | type: type, 7 | data: data, 8 | node: undefined 9 | }; 10 | } 11 | 12 | function makeAtPatch(index, patch) { 13 | return { 14 | ctor: 'at', 15 | index: index, 16 | patch: patch 17 | }; 18 | } 19 | 20 | function makeBatchPatch(patches) { 21 | return { 22 | ctor: 'batch', 23 | patches: patches 24 | } 25 | } 26 | 27 | var helloLabel = { 28 | tag: "label", 29 | facts: { 30 | text: "Hello, world!", 31 | textColor: "red", 32 | shadowColor: "brown", 33 | shadowOffsetX: 0, 34 | shadowOffsetY: -3, 35 | fontSize: 28, 36 | YOGA: { 37 | margin: 20 38 | } 39 | } 40 | }; 41 | 42 | var elmLabel = { 43 | tag: "label", 44 | facts: { 45 | text: "I am the skeleton of Elm for iOS :)", 46 | font: "Times", 47 | numberOfLines: 2, 48 | textColor: "blue", 49 | YOGA: { 50 | width: 100, 51 | margin: 20 52 | } 53 | } 54 | } 55 | 56 | var column = { 57 | tag: "view", 58 | facts: { 59 | YOGA: { 60 | flexDirection: "column", 61 | flexGrow: 1, 62 | justifyContent: "center", 63 | alignItems: "center" 64 | }, 65 | backgroundColor: "yellow" 66 | }, 67 | children: [helloLabel, elmLabel] 68 | }; 69 | 70 | var redrawPatch = makeAtPatch(0, makeChangePatch("redraw", elmLabel)); 71 | 72 | var factsMutationPatch = makeChangePatch("facts", { tag: "view", backgroundColor: "cyan" }); 73 | 74 | var factsAdditionPatch = makeAtPatch(1, makeChangePatch("facts", { tag: "label", shadowColor: "red" })); 75 | 76 | var factsRemovalPatch = makeAtPatch(1, makeChangePatch("facts", { tag: "label", numberOfLines: undefined, color: undefined })); 77 | 78 | var combinedPatch = makeAtPatch(1, makeBatchPatch([makeChangePatch("facts", { tag: "label", numberOfLines: undefined, color: undefined }), makeChangePatch("facts", { tag: "label", shadowColor: "red" })])); 79 | 80 | var removeLastPatch = makeChangePatch("remove-last", 1); 81 | 82 | var appendPatch = makeChangePatch("append", [helloLabel]); 83 | 84 | var batchedPatches = makeBatchPatch([removeLastPatch, appendPatch, redrawPatch, factsMutationPatch]); 85 | 86 | initialRender(column); 87 | 88 | applyPatches(batchedPatches); 89 | 90 | } 91 | -------------------------------------------------------------------------------- /CounterElm/Pods/Pods.xcodeproj/xcuserdata/palmerpa.xcuserdatad/xcschemes/Yoga.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 34 | 35 | 45 | 46 | 52 | 53 | 54 | 55 | 56 | 57 | 63 | 64 | 66 | 67 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Pods.xcodeproj/xcuserdata/palmerpa.xcuserdatad/xcschemes/Yoga.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 34 | 35 | 45 | 46 | 52 | 53 | 54 | 55 | 56 | 57 | 63 | 64 | 66 | 67 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Pods.xcodeproj/xcuserdata/palmerpa.xcuserdatad/xcschemes/Yoga.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 34 | 35 | 45 | 46 | 52 | 53 | 54 | 55 | 56 | 57 | 63 | 64 | 66 | 67 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /CounterElm/Pods/Pods.xcodeproj/xcuserdata/palmerpa.xcuserdatad/xcschemes/Pods-CounterElm.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 34 | 35 | 45 | 46 | 52 | 53 | 54 | 55 | 56 | 57 | 63 | 64 | 66 | 67 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Pods.xcodeproj/xcuserdata/palmerpa.xcuserdatad/xcschemes/Pods-ElmiOSCore.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 34 | 35 | 45 | 46 | 52 | 53 | 54 | 55 | 56 | 57 | 63 | 64 | 66 | 67 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Pods.xcodeproj/xcuserdata/palmerpa.xcuserdatad/xcschemes/Pods-CounterSwift.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 34 | 35 | 45 | 46 | 52 | 53 | 54 | 55 | 56 | 57 | 63 | 64 | 66 | 67 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ############# 2 | ### Xcode ### 3 | ############# 4 | 5 | # Xcode 6 | # 7 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore 8 | 9 | ## Build generated 10 | build/ 11 | DerivedData/ 12 | 13 | ## Various settings 14 | *.pbxuser 15 | !default.pbxuser 16 | *.mode1v3 17 | !default.mode1v3 18 | *.mode2v3 19 | !default.mode2v3 20 | *.perspectivev3 21 | !default.perspectivev3 22 | xcuserdata/ 23 | 24 | ## Other 25 | *.moved-aside 26 | *.xccheckout 27 | *.xcscmblueprint 28 | 29 | 30 | ############# 31 | ### Swift ### 32 | ############ 33 | 34 | # Xcode 35 | # 36 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore 37 | 38 | ## Build generated 39 | build/ 40 | DerivedData/ 41 | 42 | ## Various settings 43 | *.pbxuser 44 | !default.pbxuser 45 | *.mode1v3 46 | !default.mode1v3 47 | *.mode2v3 48 | !default.mode2v3 49 | *.perspectivev3 50 | !default.perspectivev3 51 | xcuserdata/ 52 | 53 | ## Other 54 | *.moved-aside 55 | *.xccheckout 56 | *.xcscmblueprint 57 | 58 | ## Obj-C/Swift specific 59 | *.hmap 60 | *.ipa 61 | *.dSYM.zip 62 | *.dSYM 63 | 64 | ## Playgrounds 65 | timeline.xctimeline 66 | playground.xcworkspace 67 | 68 | # Swift Package Manager 69 | # 70 | # Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. 71 | # Packages/ 72 | # Package.pins 73 | .build/ 74 | 75 | # CocoaPods 76 | # 77 | # We recommend against adding the Pods directory to your .gitignore. However 78 | # you should judge for yourself, the pros and cons are mentioned at: 79 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control 80 | # 81 | # Pods/ 82 | 83 | # Carthage 84 | # 85 | # Add this line if you want to avoid checking in source code from Carthage dependencies. 86 | # Carthage/Checkouts 87 | 88 | Carthage/Build 89 | 90 | # fastlane 91 | # 92 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the 93 | # screenshots whenever they are needed. 94 | # For more information about the recommended setup visit: 95 | # https://docs.fastlane.tools/best-practices/source-control/#source-control 96 | 97 | fastlane/report.xml 98 | fastlane/Preview.html 99 | fastlane/screenshots 100 | fastlane/test_output 101 | 102 | 103 | ############# 104 | ### macOS ### 105 | ############# 106 | 107 | # General 108 | *.DS_Store 109 | .AppleDouble 110 | .LSOverride 111 | 112 | # Icon must end with two \r 113 | Icon 114 | 115 | 116 | # Thumbnails 117 | ._* 118 | 119 | # Files that might appear in the root of a volume 120 | .DocumentRevisions-V100 121 | .fseventsd 122 | .Spotlight-V100 123 | .TemporaryItems 124 | .Trashes 125 | .VolumeIcon.icns 126 | .com.apple.timemachine.donotpresent 127 | 128 | # Directories potentially created on remote AFP share 129 | .AppleDB 130 | .AppleDesktop 131 | Network Trash Folder 132 | Temporary Items 133 | .apdisk -------------------------------------------------------------------------------- /CounterElm/Pods/Yoga/yoga/YGNodeList.c: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2014-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #include "YGNodeList.h" 11 | 12 | extern YGMalloc gYGMalloc; 13 | extern YGRealloc gYGRealloc; 14 | extern YGFree gYGFree; 15 | 16 | struct YGNodeList { 17 | uint32_t capacity; 18 | uint32_t count; 19 | YGNodeRef *items; 20 | }; 21 | 22 | YGNodeListRef YGNodeListNew(const uint32_t initialCapacity) { 23 | const YGNodeListRef list = gYGMalloc(sizeof(struct YGNodeList)); 24 | YGAssert(list != NULL, "Could not allocate memory for list"); 25 | 26 | list->capacity = initialCapacity; 27 | list->count = 0; 28 | list->items = gYGMalloc(sizeof(YGNodeRef) * list->capacity); 29 | YGAssert(list->items != NULL, "Could not allocate memory for items"); 30 | 31 | return list; 32 | } 33 | 34 | void YGNodeListFree(const YGNodeListRef list) { 35 | if (list) { 36 | gYGFree(list->items); 37 | gYGFree(list); 38 | } 39 | } 40 | 41 | uint32_t YGNodeListCount(const YGNodeListRef list) { 42 | if (list) { 43 | return list->count; 44 | } 45 | return 0; 46 | } 47 | 48 | void YGNodeListAdd(YGNodeListRef *listp, const YGNodeRef node) { 49 | if (!*listp) { 50 | *listp = YGNodeListNew(4); 51 | } 52 | YGNodeListInsert(listp, node, (*listp)->count); 53 | } 54 | 55 | void YGNodeListInsert(YGNodeListRef *listp, const YGNodeRef node, const uint32_t index) { 56 | if (!*listp) { 57 | *listp = YGNodeListNew(4); 58 | } 59 | YGNodeListRef list = *listp; 60 | 61 | if (list->count == list->capacity) { 62 | list->capacity *= 2; 63 | list->items = gYGRealloc(list->items, sizeof(YGNodeRef) * list->capacity); 64 | YGAssert(list->items != NULL, "Could not extend allocation for items"); 65 | } 66 | 67 | for (uint32_t i = list->count; i > index; i--) { 68 | list->items[i] = list->items[i - 1]; 69 | } 70 | 71 | list->count++; 72 | list->items[index] = node; 73 | } 74 | 75 | YGNodeRef YGNodeListRemove(const YGNodeListRef list, const uint32_t index) { 76 | const YGNodeRef removed = list->items[index]; 77 | list->items[index] = NULL; 78 | 79 | for (uint32_t i = index; i < list->count - 1; i++) { 80 | list->items[i] = list->items[i + 1]; 81 | list->items[i + 1] = NULL; 82 | } 83 | 84 | list->count--; 85 | return removed; 86 | } 87 | 88 | YGNodeRef YGNodeListDelete(const YGNodeListRef list, const YGNodeRef node) { 89 | for (uint32_t i = 0; i < list->count; i++) { 90 | if (list->items[i] == node) { 91 | return YGNodeListRemove(list, i); 92 | } 93 | } 94 | 95 | return NULL; 96 | } 97 | 98 | YGNodeRef YGNodeListGet(const YGNodeListRef list, const uint32_t index) { 99 | if (YGNodeListCount(list) > 0) { 100 | return list->items[index]; 101 | } 102 | 103 | return NULL; 104 | } 105 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Yoga/yoga/YGNodeList.c: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2014-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #include "YGNodeList.h" 11 | 12 | extern YGMalloc gYGMalloc; 13 | extern YGRealloc gYGRealloc; 14 | extern YGFree gYGFree; 15 | 16 | struct YGNodeList { 17 | uint32_t capacity; 18 | uint32_t count; 19 | YGNodeRef *items; 20 | }; 21 | 22 | YGNodeListRef YGNodeListNew(const uint32_t initialCapacity) { 23 | const YGNodeListRef list = gYGMalloc(sizeof(struct YGNodeList)); 24 | YGAssert(list != NULL, "Could not allocate memory for list"); 25 | 26 | list->capacity = initialCapacity; 27 | list->count = 0; 28 | list->items = gYGMalloc(sizeof(YGNodeRef) * list->capacity); 29 | YGAssert(list->items != NULL, "Could not allocate memory for items"); 30 | 31 | return list; 32 | } 33 | 34 | void YGNodeListFree(const YGNodeListRef list) { 35 | if (list) { 36 | gYGFree(list->items); 37 | gYGFree(list); 38 | } 39 | } 40 | 41 | uint32_t YGNodeListCount(const YGNodeListRef list) { 42 | if (list) { 43 | return list->count; 44 | } 45 | return 0; 46 | } 47 | 48 | void YGNodeListAdd(YGNodeListRef *listp, const YGNodeRef node) { 49 | if (!*listp) { 50 | *listp = YGNodeListNew(4); 51 | } 52 | YGNodeListInsert(listp, node, (*listp)->count); 53 | } 54 | 55 | void YGNodeListInsert(YGNodeListRef *listp, const YGNodeRef node, const uint32_t index) { 56 | if (!*listp) { 57 | *listp = YGNodeListNew(4); 58 | } 59 | YGNodeListRef list = *listp; 60 | 61 | if (list->count == list->capacity) { 62 | list->capacity *= 2; 63 | list->items = gYGRealloc(list->items, sizeof(YGNodeRef) * list->capacity); 64 | YGAssert(list->items != NULL, "Could not extend allocation for items"); 65 | } 66 | 67 | for (uint32_t i = list->count; i > index; i--) { 68 | list->items[i] = list->items[i - 1]; 69 | } 70 | 71 | list->count++; 72 | list->items[index] = node; 73 | } 74 | 75 | YGNodeRef YGNodeListRemove(const YGNodeListRef list, const uint32_t index) { 76 | const YGNodeRef removed = list->items[index]; 77 | list->items[index] = NULL; 78 | 79 | for (uint32_t i = index; i < list->count - 1; i++) { 80 | list->items[i] = list->items[i + 1]; 81 | list->items[i + 1] = NULL; 82 | } 83 | 84 | list->count--; 85 | return removed; 86 | } 87 | 88 | YGNodeRef YGNodeListDelete(const YGNodeListRef list, const YGNodeRef node) { 89 | for (uint32_t i = 0; i < list->count; i++) { 90 | if (list->items[i] == node) { 91 | return YGNodeListRemove(list, i); 92 | } 93 | } 94 | 95 | return NULL; 96 | } 97 | 98 | YGNodeRef YGNodeListGet(const YGNodeListRef list, const uint32_t index) { 99 | if (YGNodeListCount(list) > 0) { 100 | return list->items[index]; 101 | } 102 | 103 | return NULL; 104 | } 105 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Yoga/yoga/YGNodeList.c: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2014-present, Facebook, Inc. 3 | * All rights reserved. 4 | * 5 | * This source code is licensed under the BSD-style license found in the 6 | * LICENSE file in the root directory of this source tree. An additional grant 7 | * of patent rights can be found in the PATENTS file in the same directory. 8 | */ 9 | 10 | #include "YGNodeList.h" 11 | 12 | extern YGMalloc gYGMalloc; 13 | extern YGRealloc gYGRealloc; 14 | extern YGFree gYGFree; 15 | 16 | struct YGNodeList { 17 | uint32_t capacity; 18 | uint32_t count; 19 | YGNodeRef *items; 20 | }; 21 | 22 | YGNodeListRef YGNodeListNew(const uint32_t initialCapacity) { 23 | const YGNodeListRef list = gYGMalloc(sizeof(struct YGNodeList)); 24 | YGAssert(list != NULL, "Could not allocate memory for list"); 25 | 26 | list->capacity = initialCapacity; 27 | list->count = 0; 28 | list->items = gYGMalloc(sizeof(YGNodeRef) * list->capacity); 29 | YGAssert(list->items != NULL, "Could not allocate memory for items"); 30 | 31 | return list; 32 | } 33 | 34 | void YGNodeListFree(const YGNodeListRef list) { 35 | if (list) { 36 | gYGFree(list->items); 37 | gYGFree(list); 38 | } 39 | } 40 | 41 | uint32_t YGNodeListCount(const YGNodeListRef list) { 42 | if (list) { 43 | return list->count; 44 | } 45 | return 0; 46 | } 47 | 48 | void YGNodeListAdd(YGNodeListRef *listp, const YGNodeRef node) { 49 | if (!*listp) { 50 | *listp = YGNodeListNew(4); 51 | } 52 | YGNodeListInsert(listp, node, (*listp)->count); 53 | } 54 | 55 | void YGNodeListInsert(YGNodeListRef *listp, const YGNodeRef node, const uint32_t index) { 56 | if (!*listp) { 57 | *listp = YGNodeListNew(4); 58 | } 59 | YGNodeListRef list = *listp; 60 | 61 | if (list->count == list->capacity) { 62 | list->capacity *= 2; 63 | list->items = gYGRealloc(list->items, sizeof(YGNodeRef) * list->capacity); 64 | YGAssert(list->items != NULL, "Could not extend allocation for items"); 65 | } 66 | 67 | for (uint32_t i = list->count; i > index; i--) { 68 | list->items[i] = list->items[i - 1]; 69 | } 70 | 71 | list->count++; 72 | list->items[index] = node; 73 | } 74 | 75 | YGNodeRef YGNodeListRemove(const YGNodeListRef list, const uint32_t index) { 76 | const YGNodeRef removed = list->items[index]; 77 | list->items[index] = NULL; 78 | 79 | for (uint32_t i = index; i < list->count - 1; i++) { 80 | list->items[i] = list->items[i + 1]; 81 | list->items[i + 1] = NULL; 82 | } 83 | 84 | list->count--; 85 | return removed; 86 | } 87 | 88 | YGNodeRef YGNodeListDelete(const YGNodeListRef list, const YGNodeRef node) { 89 | for (uint32_t i = 0; i < list->count; i++) { 90 | if (list->items[i] == node) { 91 | return YGNodeListRemove(list, i); 92 | } 93 | } 94 | 95 | return NULL; 96 | } 97 | 98 | YGNodeRef YGNodeListGet(const YGNodeListRef list, const uint32_t index) { 99 | if (YGNodeListCount(list) > 0) { 100 | return list->items[index]; 101 | } 102 | 103 | return NULL; 104 | } 105 | -------------------------------------------------------------------------------- /CounterSwift/CounterSwift/ViewController.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import YogaKit 3 | 4 | fileprivate extension Selector { 5 | static let incrementAction = 6 | #selector(ViewController.incrementAction(_:)) 7 | static let decrementAction = 8 | #selector(ViewController.decrementAction(_:)) 9 | } 10 | 11 | class ViewController: UIViewController { 12 | 13 | var window: UIWindow? 14 | var myModel: Int = 0 15 | var myLabel: UILabel! 16 | 17 | override func viewDidLoad() { 18 | super.viewDidLoad() 19 | self.window = UIWindow(frame: UIScreen.main.bounds) 20 | 21 | let containerSize: CGSize = self.view.bounds.size 22 | 23 | let root = self.view! 24 | root.backgroundColor = .white 25 | root.configureLayout { (layout) in 26 | layout.isEnabled = true 27 | layout.width = YGValue(containerSize.width) 28 | layout.height = YGValue(containerSize.height) 29 | layout.alignItems = .center 30 | layout.justifyContent = .center 31 | } 32 | 33 | myLabel = UILabel() 34 | myLabel.textColor = .black 35 | myLabel.configureLayout { (layout) in 36 | layout.isEnabled = true 37 | layout.marginBottom = 25 38 | } 39 | updateLabel(myLabel) 40 | root.addSubview(myLabel) 41 | 42 | let buttonRow: UIView = UIView() 43 | buttonRow.configureLayout { (layout) in 44 | layout.isEnabled = true 45 | layout.flexDirection = .row 46 | } 47 | root.addSubview(buttonRow) 48 | 49 | let incrementButton: UIButton = UIButton.init(type: .system) 50 | incrementButton.setTitle("Increment", for: .normal) 51 | incrementButton.setTitleColor(.green, for: .normal) 52 | incrementButton.addTarget(self, action: .incrementAction, for: .touchUpInside) 53 | incrementButton.configureLayout { (layout) in 54 | layout.isEnabled = true 55 | layout.marginHorizontal = 20 56 | } 57 | buttonRow.addSubview(incrementButton) 58 | 59 | let decrementButton: UIButton = UIButton.init(type: .system) 60 | decrementButton.setTitle("Decrement", for: .normal) 61 | decrementButton.setTitleColor(.red, for: .normal) 62 | decrementButton.addTarget(self, action: .decrementAction, for: .touchUpInside) 63 | decrementButton.configureLayout { (layout) in 64 | layout.isEnabled = true 65 | layout.marginHorizontal = 20 66 | } 67 | buttonRow.addSubview(decrementButton) 68 | 69 | root.yoga.applyLayout(preservingOrigin: true) 70 | } 71 | 72 | func updateLabel(_ label: UILabel) { 73 | label.text = String(myModel) 74 | label.yoga.markDirty() 75 | self.view.yoga.applyLayout(preservingOrigin: true) 76 | } 77 | 78 | func incrementAction(_ sender: UIButton) { 79 | myModel += 1 80 | updateLabel(myLabel) 81 | } 82 | 83 | func decrementAction(_ sender: UIButton) { 84 | myModel -= 1 85 | updateLabel(myLabel) 86 | } 87 | 88 | } 89 | 90 | -------------------------------------------------------------------------------- /CounterElm/Pods/Target Support Files/Pods-CounterElm/Pods-CounterElm-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | 4 | ## Yoga 5 | 6 | BSD License 7 | 8 | For yoga software 9 | 10 | Copyright (c) 2014-present, Facebook, Inc. All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without modification, 13 | are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright notice, this 16 | list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright notice, 19 | this list of conditions and the following disclaimer in the documentation 20 | and/or other materials provided with the distribution. 21 | 22 | * Neither the name Facebook nor the names of its contributors may be used to 23 | endorse or promote products derived from this software without specific 24 | prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 27 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 30 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 31 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 32 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 33 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 34 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 35 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 36 | 37 | 38 | ## YogaKit 39 | 40 | BSD License 41 | 42 | For yoga software 43 | 44 | Copyright (c) 2014-present, Facebook, Inc. All rights reserved. 45 | 46 | Redistribution and use in source and binary forms, with or without modification, 47 | are permitted provided that the following conditions are met: 48 | 49 | * Redistributions of source code must retain the above copyright notice, this 50 | list of conditions and the following disclaimer. 51 | 52 | * Redistributions in binary form must reproduce the above copyright notice, 53 | this list of conditions and the following disclaimer in the documentation 54 | and/or other materials provided with the distribution. 55 | 56 | * Neither the name Facebook nor the names of its contributors may be used to 57 | endorse or promote products derived from this software without specific 58 | prior written permission. 59 | 60 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 61 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 62 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 63 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 64 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 65 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 66 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 67 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 68 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 69 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 70 | 71 | Generated by CocoaPods - https://cocoapods.org 72 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Target Support Files/Pods-ElmiOSCore/Pods-ElmiOSCore-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | 4 | ## Yoga 5 | 6 | BSD License 7 | 8 | For yoga software 9 | 10 | Copyright (c) 2014-present, Facebook, Inc. All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without modification, 13 | are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright notice, this 16 | list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright notice, 19 | this list of conditions and the following disclaimer in the documentation 20 | and/or other materials provided with the distribution. 21 | 22 | * Neither the name Facebook nor the names of its contributors may be used to 23 | endorse or promote products derived from this software without specific 24 | prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 27 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 30 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 31 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 32 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 33 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 34 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 35 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 36 | 37 | 38 | ## YogaKit 39 | 40 | BSD License 41 | 42 | For yoga software 43 | 44 | Copyright (c) 2014-present, Facebook, Inc. All rights reserved. 45 | 46 | Redistribution and use in source and binary forms, with or without modification, 47 | are permitted provided that the following conditions are met: 48 | 49 | * Redistributions of source code must retain the above copyright notice, this 50 | list of conditions and the following disclaimer. 51 | 52 | * Redistributions in binary form must reproduce the above copyright notice, 53 | this list of conditions and the following disclaimer in the documentation 54 | and/or other materials provided with the distribution. 55 | 56 | * Neither the name Facebook nor the names of its contributors may be used to 57 | endorse or promote products derived from this software without specific 58 | prior written permission. 59 | 60 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 61 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 62 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 63 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 64 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 65 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 66 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 67 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 68 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 69 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 70 | 71 | Generated by CocoaPods - https://cocoapods.org 72 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Target Support Files/Pods-CounterSwift/Pods-CounterSwift-acknowledgements.markdown: -------------------------------------------------------------------------------- 1 | # Acknowledgements 2 | This application makes use of the following third party libraries: 3 | 4 | ## Yoga 5 | 6 | BSD License 7 | 8 | For yoga software 9 | 10 | Copyright (c) 2014-present, Facebook, Inc. All rights reserved. 11 | 12 | Redistribution and use in source and binary forms, with or without modification, 13 | are permitted provided that the following conditions are met: 14 | 15 | * Redistributions of source code must retain the above copyright notice, this 16 | list of conditions and the following disclaimer. 17 | 18 | * Redistributions in binary form must reproduce the above copyright notice, 19 | this list of conditions and the following disclaimer in the documentation 20 | and/or other materials provided with the distribution. 21 | 22 | * Neither the name Facebook nor the names of its contributors may be used to 23 | endorse or promote products derived from this software without specific 24 | prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 27 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 28 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 29 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 30 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 31 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 32 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 33 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 34 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 35 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 36 | 37 | 38 | ## YogaKit 39 | 40 | BSD License 41 | 42 | For yoga software 43 | 44 | Copyright (c) 2014-present, Facebook, Inc. All rights reserved. 45 | 46 | Redistribution and use in source and binary forms, with or without modification, 47 | are permitted provided that the following conditions are met: 48 | 49 | * Redistributions of source code must retain the above copyright notice, this 50 | list of conditions and the following disclaimer. 51 | 52 | * Redistributions in binary form must reproduce the above copyright notice, 53 | this list of conditions and the following disclaimer in the documentation 54 | and/or other materials provided with the distribution. 55 | 56 | * Neither the name Facebook nor the names of its contributors may be used to 57 | endorse or promote products derived from this software without specific 58 | prior written permission. 59 | 60 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 61 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 62 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 63 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 64 | ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 65 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 66 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 67 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 68 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 69 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 70 | 71 | Generated by CocoaPods - https://cocoapods.org 72 | -------------------------------------------------------------------------------- /CounterElm/CounterElm.xcodeproj/xcuserdata/palmerpa.xcuserdatad/xcschemes/CounterElm.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 43 | 44 | 54 | 56 | 62 | 63 | 64 | 65 | 66 | 67 | 73 | 75 | 81 | 82 | 83 | 84 | 86 | 87 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /ElmiOSCore/ElmiOSCore.xcodeproj/xcuserdata/palmerpa.xcuserdatad/xcschemes/ElmiOSCore.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 43 | 44 | 54 | 56 | 62 | 63 | 64 | 65 | 66 | 67 | 73 | 75 | 81 | 82 | 83 | 84 | 86 | 87 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /CounterSwift/CounterSwift.xcodeproj/xcuserdata/palmerpa.xcuserdatad/xcschemes/CounterSwift.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 43 | 44 | 54 | 56 | 62 | 63 | 64 | 65 | 66 | 67 | 73 | 75 | 81 | 82 | 83 | 84 | 86 | 87 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /BasicCounterSwift/BasicCounterSwift/BasicCounterSwift.xcodeproj/xcuserdata/palmerpa.xcuserdatad/xcschemes/BasicCounterSwift.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 39 | 40 | 41 | 42 | 43 | 44 | 54 | 56 | 62 | 63 | 64 | 65 | 66 | 67 | 73 | 75 | 81 | 82 | 83 | 84 | 86 | 87 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /CounterElm/Pods/Yoga/README.md: -------------------------------------------------------------------------------- 1 | # Yoga [![CocoaPods](https://img.shields.io/cocoapods/v/YogaKit.svg)](http://cocoapods.org/pods/YogaKit) [![npm](https://img.shields.io/npm/v/yoga-layout.svg)](https://www.npmjs.com/package/yoga-layout) [![bintray](https://img.shields.io/bintray/v/facebook/maven/com.facebook.yoga:yoga.svg)](https://bintray.com/facebook/maven/com.facebook.yoga%3Ayoga/_latestVersion) [![NuGet](https://img.shields.io/nuget/v/Facebook.Yoga.svg)](https://www.nuget.org/packages/Facebook.Yoga) 2 | 3 | [![C Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=c&label=C)](https://travis-ci.org/facebook/yoga) 4 | [![Java Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=java&label=Java)](https://travis-ci.org/facebook/yoga) 5 | [![iOS Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=ios&label=iOS)](https://travis-ci.org/facebook/yoga) 6 | [![.NET Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=net&label=.NET)](https://travis-ci.org/facebook/yoga) 7 | [![JavaScript Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=js&label=JavaScript)](https://travis-ci.org/facebook/yoga) 8 | [![Android Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=android&label=Android)](https://travis-ci.org/facebook/yoga) 9 | 10 | [![Visual Studio Team services](https://img.shields.io/vso/build/rumar/fe6d27b5-e424-4f61-b8f6-e2ec2f8755fb/1.svg?label=vsts-windows)]() 11 | [![Visual Studio Team services](https://img.shields.io/vso/build/rumar/fe6d27b5-e424-4f61-b8f6-e2ec2f8755fb/2.svg?label=vsts-osx)]() 12 | 13 | ## Building 14 | Yoga builds with [buck](https://buckbuild.com). Make sure you install buck before contributing to Yoga. Yoga's main implementation is in C, with bindings to supported languages and frameworks. When making changes to Yoga please ensure the changes are also propagated to these bindings when applicable. 15 | 16 | ## Testing 17 | For testing we rely on [gtest](https://github.com/google/googletest) as a submodule. After cloning Yoga run `git submodule init` followed by `git submodule update`. 18 | 19 | For any changes you make you should ensure that all the tests are passing. In case you make any fixes or additions to the library please also add tests for that change to ensure we don't break anything in the future. Tests are located in the `tests` directory. Run the tests by executing `buck test //:yoga`. 20 | 21 | Instead of manually writing a test which ensures parity with web implementations of Flexbox you can run `gentest/gentest.rb` to generated a test for you. You can write html which you want to verify in Yoga, in `gentest/fixtures` folder, such as the following. 22 | 23 | ```html 24 |
25 |
26 |
27 | ``` 28 | 29 | Run `gentest/gentest.rb` to generate test code and re-run `buck test //:yoga` to validate the behavior. One test case will be generated for every root `div` in the input html. 30 | 31 | You may need to install the latest watir-webdriver gem (`gem install watir-webdriver`) and [ChromeDriver](https://sites.google.com/a/chromium.org/chromedriver/) to run `gentest/gentest.rb` Ruby script. 32 | 33 | ### .NET 34 | .NET testing is not integrated in buck yet, you might need to set up .NET testing environment. We have a script which to launch C# test on macOS, `csharp/tests/Facebook.Yoga/test_macos.sh`. 35 | 36 | ## Code style 37 | For the main C implementation of Yoga clang-format is used to ensure a consistent code style. Please run `bash format.sh` before submitting a pull request. For other languages just try to follow the current code style. 38 | 39 | ## Benchmarks 40 | Benchmarks are located in `benchmark/YGBenchmark.c` and can be run with `buck run //benchmark:benchmark`. If you think your change has affected performance please run this before and after your change to validate that nothing has regressed. Benchmarks are run on every commit in CI. 41 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/Yoga/README.md: -------------------------------------------------------------------------------- 1 | # Yoga [![CocoaPods](https://img.shields.io/cocoapods/v/YogaKit.svg)](http://cocoapods.org/pods/YogaKit) [![npm](https://img.shields.io/npm/v/yoga-layout.svg)](https://www.npmjs.com/package/yoga-layout) [![bintray](https://img.shields.io/bintray/v/facebook/maven/com.facebook.yoga:yoga.svg)](https://bintray.com/facebook/maven/com.facebook.yoga%3Ayoga/_latestVersion) [![NuGet](https://img.shields.io/nuget/v/Facebook.Yoga.svg)](https://www.nuget.org/packages/Facebook.Yoga) 2 | 3 | [![C Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=c&label=C)](https://travis-ci.org/facebook/yoga) 4 | [![Java Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=java&label=Java)](https://travis-ci.org/facebook/yoga) 5 | [![iOS Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=ios&label=iOS)](https://travis-ci.org/facebook/yoga) 6 | [![.NET Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=net&label=.NET)](https://travis-ci.org/facebook/yoga) 7 | [![JavaScript Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=js&label=JavaScript)](https://travis-ci.org/facebook/yoga) 8 | [![Android Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=android&label=Android)](https://travis-ci.org/facebook/yoga) 9 | 10 | [![Visual Studio Team services](https://img.shields.io/vso/build/rumar/fe6d27b5-e424-4f61-b8f6-e2ec2f8755fb/1.svg?label=vsts-windows)]() 11 | [![Visual Studio Team services](https://img.shields.io/vso/build/rumar/fe6d27b5-e424-4f61-b8f6-e2ec2f8755fb/2.svg?label=vsts-osx)]() 12 | 13 | ## Building 14 | Yoga builds with [buck](https://buckbuild.com). Make sure you install buck before contributing to Yoga. Yoga's main implementation is in C, with bindings to supported languages and frameworks. When making changes to Yoga please ensure the changes are also propagated to these bindings when applicable. 15 | 16 | ## Testing 17 | For testing we rely on [gtest](https://github.com/google/googletest) as a submodule. After cloning Yoga run `git submodule init` followed by `git submodule update`. 18 | 19 | For any changes you make you should ensure that all the tests are passing. In case you make any fixes or additions to the library please also add tests for that change to ensure we don't break anything in the future. Tests are located in the `tests` directory. Run the tests by executing `buck test //:yoga`. 20 | 21 | Instead of manually writing a test which ensures parity with web implementations of Flexbox you can run `gentest/gentest.rb` to generated a test for you. You can write html which you want to verify in Yoga, in `gentest/fixtures` folder, such as the following. 22 | 23 | ```html 24 |
25 |
26 |
27 | ``` 28 | 29 | Run `gentest/gentest.rb` to generate test code and re-run `buck test //:yoga` to validate the behavior. One test case will be generated for every root `div` in the input html. 30 | 31 | You may need to install the latest watir-webdriver gem (`gem install watir-webdriver`) and [ChromeDriver](https://sites.google.com/a/chromium.org/chromedriver/) to run `gentest/gentest.rb` Ruby script. 32 | 33 | ### .NET 34 | .NET testing is not integrated in buck yet, you might need to set up .NET testing environment. We have a script which to launch C# test on macOS, `csharp/tests/Facebook.Yoga/test_macos.sh`. 35 | 36 | ## Code style 37 | For the main C implementation of Yoga clang-format is used to ensure a consistent code style. Please run `bash format.sh` before submitting a pull request. For other languages just try to follow the current code style. 38 | 39 | ## Benchmarks 40 | Benchmarks are located in `benchmark/YGBenchmark.c` and can be run with `buck run //benchmark:benchmark`. If you think your change has affected performance please run this before and after your change to validate that nothing has regressed. Benchmarks are run on every commit in CI. 41 | -------------------------------------------------------------------------------- /CounterElm/Pods/YogaKit/README.md: -------------------------------------------------------------------------------- 1 | # Yoga [![CocoaPods](https://img.shields.io/cocoapods/v/YogaKit.svg)](http://cocoapods.org/pods/YogaKit) [![npm](https://img.shields.io/npm/v/yoga-layout.svg)](https://www.npmjs.com/package/yoga-layout) [![bintray](https://img.shields.io/bintray/v/facebook/maven/com.facebook.yoga:yoga.svg)](https://bintray.com/facebook/maven/com.facebook.yoga%3Ayoga/_latestVersion) [![NuGet](https://img.shields.io/nuget/v/Facebook.Yoga.svg)](https://www.nuget.org/packages/Facebook.Yoga) 2 | 3 | [![C Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=c&label=C)](https://travis-ci.org/facebook/yoga) 4 | [![Java Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=java&label=Java)](https://travis-ci.org/facebook/yoga) 5 | [![iOS Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=ios&label=iOS)](https://travis-ci.org/facebook/yoga) 6 | [![.NET Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=net&label=.NET)](https://travis-ci.org/facebook/yoga) 7 | [![JavaScript Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=js&label=JavaScript)](https://travis-ci.org/facebook/yoga) 8 | [![Android Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=android&label=Android)](https://travis-ci.org/facebook/yoga) 9 | 10 | [![Visual Studio Team services](https://img.shields.io/vso/build/rumar/fe6d27b5-e424-4f61-b8f6-e2ec2f8755fb/1.svg?label=vsts-windows)]() 11 | [![Visual Studio Team services](https://img.shields.io/vso/build/rumar/fe6d27b5-e424-4f61-b8f6-e2ec2f8755fb/2.svg?label=vsts-osx)]() 12 | 13 | ## Building 14 | Yoga builds with [buck](https://buckbuild.com). Make sure you install buck before contributing to Yoga. Yoga's main implementation is in C, with bindings to supported languages and frameworks. When making changes to Yoga please ensure the changes are also propagated to these bindings when applicable. 15 | 16 | ## Testing 17 | For testing we rely on [gtest](https://github.com/google/googletest) as a submodule. After cloning Yoga run `git submodule init` followed by `git submodule update`. 18 | 19 | For any changes you make you should ensure that all the tests are passing. In case you make any fixes or additions to the library please also add tests for that change to ensure we don't break anything in the future. Tests are located in the `tests` directory. Run the tests by executing `buck test //:yoga`. 20 | 21 | Instead of manually writing a test which ensures parity with web implementations of Flexbox you can run `gentest/gentest.rb` to generated a test for you. You can write html which you want to verify in Yoga, in `gentest/fixtures` folder, such as the following. 22 | 23 | ```html 24 |
25 |
26 |
27 | ``` 28 | 29 | Run `gentest/gentest.rb` to generate test code and re-run `buck test //:yoga` to validate the behavior. One test case will be generated for every root `div` in the input html. 30 | 31 | You may need to install the latest watir-webdriver gem (`gem install watir-webdriver`) and [ChromeDriver](https://sites.google.com/a/chromium.org/chromedriver/) to run `gentest/gentest.rb` Ruby script. 32 | 33 | ### .NET 34 | .NET testing is not integrated in buck yet, you might need to set up .NET testing environment. We have a script which to launch C# test on macOS, `csharp/tests/Facebook.Yoga/test_macos.sh`. 35 | 36 | ## Code style 37 | For the main C implementation of Yoga clang-format is used to ensure a consistent code style. Please run `bash format.sh` before submitting a pull request. For other languages just try to follow the current code style. 38 | 39 | ## Benchmarks 40 | Benchmarks are located in `benchmark/YGBenchmark.c` and can be run with `buck run //benchmark:benchmark`. If you think your change has affected performance please run this before and after your change to validate that nothing has regressed. Benchmarks are run on every commit in CI. 41 | -------------------------------------------------------------------------------- /CounterSwift/Pods/Yoga/README.md: -------------------------------------------------------------------------------- 1 | # Yoga [![CocoaPods](https://img.shields.io/cocoapods/v/YogaKit.svg)](http://cocoapods.org/pods/YogaKit) [![npm](https://img.shields.io/npm/v/yoga-layout.svg)](https://www.npmjs.com/package/yoga-layout) [![bintray](https://img.shields.io/bintray/v/facebook/maven/com.facebook.yoga:yoga.svg)](https://bintray.com/facebook/maven/com.facebook.yoga%3Ayoga/_latestVersion) [![NuGet](https://img.shields.io/nuget/v/Facebook.Yoga.svg)](https://www.nuget.org/packages/Facebook.Yoga) 2 | 3 | [![C Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=c&label=C)](https://travis-ci.org/facebook/yoga) 4 | [![Java Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=java&label=Java)](https://travis-ci.org/facebook/yoga) 5 | [![iOS Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=ios&label=iOS)](https://travis-ci.org/facebook/yoga) 6 | [![.NET Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=net&label=.NET)](https://travis-ci.org/facebook/yoga) 7 | [![JavaScript Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=js&label=JavaScript)](https://travis-ci.org/facebook/yoga) 8 | [![Android Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=android&label=Android)](https://travis-ci.org/facebook/yoga) 9 | 10 | [![Visual Studio Team services](https://img.shields.io/vso/build/rumar/fe6d27b5-e424-4f61-b8f6-e2ec2f8755fb/1.svg?label=vsts-windows)]() 11 | [![Visual Studio Team services](https://img.shields.io/vso/build/rumar/fe6d27b5-e424-4f61-b8f6-e2ec2f8755fb/2.svg?label=vsts-osx)]() 12 | 13 | ## Building 14 | Yoga builds with [buck](https://buckbuild.com). Make sure you install buck before contributing to Yoga. Yoga's main implementation is in C, with bindings to supported languages and frameworks. When making changes to Yoga please ensure the changes are also propagated to these bindings when applicable. 15 | 16 | ## Testing 17 | For testing we rely on [gtest](https://github.com/google/googletest) as a submodule. After cloning Yoga run `git submodule init` followed by `git submodule update`. 18 | 19 | For any changes you make you should ensure that all the tests are passing. In case you make any fixes or additions to the library please also add tests for that change to ensure we don't break anything in the future. Tests are located in the `tests` directory. Run the tests by executing `buck test //:yoga`. 20 | 21 | Instead of manually writing a test which ensures parity with web implementations of Flexbox you can run `gentest/gentest.rb` to generated a test for you. You can write html which you want to verify in Yoga, in `gentest/fixtures` folder, such as the following. 22 | 23 | ```html 24 |
25 |
26 |
27 | ``` 28 | 29 | Run `gentest/gentest.rb` to generate test code and re-run `buck test //:yoga` to validate the behavior. One test case will be generated for every root `div` in the input html. 30 | 31 | You may need to install the latest watir-webdriver gem (`gem install watir-webdriver`) and [ChromeDriver](https://sites.google.com/a/chromium.org/chromedriver/) to run `gentest/gentest.rb` Ruby script. 32 | 33 | ### .NET 34 | .NET testing is not integrated in buck yet, you might need to set up .NET testing environment. We have a script which to launch C# test on macOS, `csharp/tests/Facebook.Yoga/test_macos.sh`. 35 | 36 | ## Code style 37 | For the main C implementation of Yoga clang-format is used to ensure a consistent code style. Please run `bash format.sh` before submitting a pull request. For other languages just try to follow the current code style. 38 | 39 | ## Benchmarks 40 | Benchmarks are located in `benchmark/YGBenchmark.c` and can be run with `buck run //benchmark:benchmark`. If you think your change has affected performance please run this before and after your change to validate that nothing has regressed. Benchmarks are run on every commit in CI. 41 | -------------------------------------------------------------------------------- /CounterSwift/Pods/YogaKit/README.md: -------------------------------------------------------------------------------- 1 | # Yoga [![CocoaPods](https://img.shields.io/cocoapods/v/YogaKit.svg)](http://cocoapods.org/pods/YogaKit) [![npm](https://img.shields.io/npm/v/yoga-layout.svg)](https://www.npmjs.com/package/yoga-layout) [![bintray](https://img.shields.io/bintray/v/facebook/maven/com.facebook.yoga:yoga.svg)](https://bintray.com/facebook/maven/com.facebook.yoga%3Ayoga/_latestVersion) [![NuGet](https://img.shields.io/nuget/v/Facebook.Yoga.svg)](https://www.nuget.org/packages/Facebook.Yoga) 2 | 3 | [![C Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=c&label=C)](https://travis-ci.org/facebook/yoga) 4 | [![Java Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=java&label=Java)](https://travis-ci.org/facebook/yoga) 5 | [![iOS Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=ios&label=iOS)](https://travis-ci.org/facebook/yoga) 6 | [![.NET Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=net&label=.NET)](https://travis-ci.org/facebook/yoga) 7 | [![JavaScript Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=js&label=JavaScript)](https://travis-ci.org/facebook/yoga) 8 | [![Android Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=android&label=Android)](https://travis-ci.org/facebook/yoga) 9 | 10 | [![Visual Studio Team services](https://img.shields.io/vso/build/rumar/fe6d27b5-e424-4f61-b8f6-e2ec2f8755fb/1.svg?label=vsts-windows)]() 11 | [![Visual Studio Team services](https://img.shields.io/vso/build/rumar/fe6d27b5-e424-4f61-b8f6-e2ec2f8755fb/2.svg?label=vsts-osx)]() 12 | 13 | ## Building 14 | Yoga builds with [buck](https://buckbuild.com). Make sure you install buck before contributing to Yoga. Yoga's main implementation is in C, with bindings to supported languages and frameworks. When making changes to Yoga please ensure the changes are also propagated to these bindings when applicable. 15 | 16 | ## Testing 17 | For testing we rely on [gtest](https://github.com/google/googletest) as a submodule. After cloning Yoga run `git submodule init` followed by `git submodule update`. 18 | 19 | For any changes you make you should ensure that all the tests are passing. In case you make any fixes or additions to the library please also add tests for that change to ensure we don't break anything in the future. Tests are located in the `tests` directory. Run the tests by executing `buck test //:yoga`. 20 | 21 | Instead of manually writing a test which ensures parity with web implementations of Flexbox you can run `gentest/gentest.rb` to generated a test for you. You can write html which you want to verify in Yoga, in `gentest/fixtures` folder, such as the following. 22 | 23 | ```html 24 |
25 |
26 |
27 | ``` 28 | 29 | Run `gentest/gentest.rb` to generate test code and re-run `buck test //:yoga` to validate the behavior. One test case will be generated for every root `div` in the input html. 30 | 31 | You may need to install the latest watir-webdriver gem (`gem install watir-webdriver`) and [ChromeDriver](https://sites.google.com/a/chromium.org/chromedriver/) to run `gentest/gentest.rb` Ruby script. 32 | 33 | ### .NET 34 | .NET testing is not integrated in buck yet, you might need to set up .NET testing environment. We have a script which to launch C# test on macOS, `csharp/tests/Facebook.Yoga/test_macos.sh`. 35 | 36 | ## Code style 37 | For the main C implementation of Yoga clang-format is used to ensure a consistent code style. Please run `bash format.sh` before submitting a pull request. For other languages just try to follow the current code style. 38 | 39 | ## Benchmarks 40 | Benchmarks are located in `benchmark/YGBenchmark.c` and can be run with `buck run //benchmark:benchmark`. If you think your change has affected performance please run this before and after your change to validate that nothing has regressed. Benchmarks are run on every commit in CI. 41 | -------------------------------------------------------------------------------- /ElmiOSCore/Pods/YogaKit/README.md: -------------------------------------------------------------------------------- 1 | # Yoga [![CocoaPods](https://img.shields.io/cocoapods/v/YogaKit.svg)](http://cocoapods.org/pods/YogaKit) [![npm](https://img.shields.io/npm/v/yoga-layout.svg)](https://www.npmjs.com/package/yoga-layout) [![bintray](https://img.shields.io/bintray/v/facebook/maven/com.facebook.yoga:yoga.svg)](https://bintray.com/facebook/maven/com.facebook.yoga%3Ayoga/_latestVersion) [![NuGet](https://img.shields.io/nuget/v/Facebook.Yoga.svg)](https://www.nuget.org/packages/Facebook.Yoga) 2 | 3 | [![C Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=c&label=C)](https://travis-ci.org/facebook/yoga) 4 | [![Java Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=java&label=Java)](https://travis-ci.org/facebook/yoga) 5 | [![iOS Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=ios&label=iOS)](https://travis-ci.org/facebook/yoga) 6 | [![.NET Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=net&label=.NET)](https://travis-ci.org/facebook/yoga) 7 | [![JavaScript Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=js&label=JavaScript)](https://travis-ci.org/facebook/yoga) 8 | [![Android Status](https://badges.herokuapp.com/travis/facebook/yoga?env=TARGET=android&label=Android)](https://travis-ci.org/facebook/yoga) 9 | 10 | [![Visual Studio Team services](https://img.shields.io/vso/build/rumar/fe6d27b5-e424-4f61-b8f6-e2ec2f8755fb/1.svg?label=vsts-windows)]() 11 | [![Visual Studio Team services](https://img.shields.io/vso/build/rumar/fe6d27b5-e424-4f61-b8f6-e2ec2f8755fb/2.svg?label=vsts-osx)]() 12 | 13 | ## Building 14 | Yoga builds with [buck](https://buckbuild.com). Make sure you install buck before contributing to Yoga. Yoga's main implementation is in C, with bindings to supported languages and frameworks. When making changes to Yoga please ensure the changes are also propagated to these bindings when applicable. 15 | 16 | ## Testing 17 | For testing we rely on [gtest](https://github.com/google/googletest) as a submodule. After cloning Yoga run `git submodule init` followed by `git submodule update`. 18 | 19 | For any changes you make you should ensure that all the tests are passing. In case you make any fixes or additions to the library please also add tests for that change to ensure we don't break anything in the future. Tests are located in the `tests` directory. Run the tests by executing `buck test //:yoga`. 20 | 21 | Instead of manually writing a test which ensures parity with web implementations of Flexbox you can run `gentest/gentest.rb` to generated a test for you. You can write html which you want to verify in Yoga, in `gentest/fixtures` folder, such as the following. 22 | 23 | ```html 24 |
25 |
26 |
27 | ``` 28 | 29 | Run `gentest/gentest.rb` to generate test code and re-run `buck test //:yoga` to validate the behavior. One test case will be generated for every root `div` in the input html. 30 | 31 | You may need to install the latest watir-webdriver gem (`gem install watir-webdriver`) and [ChromeDriver](https://sites.google.com/a/chromium.org/chromedriver/) to run `gentest/gentest.rb` Ruby script. 32 | 33 | ### .NET 34 | .NET testing is not integrated in buck yet, you might need to set up .NET testing environment. We have a script which to launch C# test on macOS, `csharp/tests/Facebook.Yoga/test_macos.sh`. 35 | 36 | ## Code style 37 | For the main C implementation of Yoga clang-format is used to ensure a consistent code style. Please run `bash format.sh` before submitting a pull request. For other languages just try to follow the current code style. 38 | 39 | ## Benchmarks 40 | Benchmarks are located in `benchmark/YGBenchmark.c` and can be run with `buck run //benchmark:benchmark`. If you think your change has affected performance please run this before and after your change to validate that nothing has regressed. Benchmarks are run on every commit in CI. 41 | --------------------------------------------------------------------------------