To follow S in SOLID we need to have a defined scope of file. Extensions file has too generic purpose and it can be modified for many reasons. To have more focused scope I decided to split extensions by classes to which they belong. Something similar I did 1.5 year ago for Android in https://github.com/kirillzyusko/react-native-keyboard-controller/pull/106 and I liked the new File System structure (it simplified many things a lot).
So in this PR I added new files for each class that Extensions.swift had before.
📜 Description
Moved extensions to its own files.
💡 Motivation and Context
To follow S in SOLID we need to have a defined scope of file. Extensions file has too generic purpose and it can be modified for many reasons. To have more focused scope I decided to split extensions by classes to which they belong. Something similar I did 1.5 year ago for Android in https://github.com/kirillzyusko/react-native-keyboard-controller/pull/106 and I liked the new File System structure (it simplified many things a lot).
So in this PR I added new files for each class that
Extensions.swift
had before.Also
KeyboardControllerNative
re-linked extensions files (since genericExtensions.swift
doesn't exist anymore).📢 Changelog
iOS
UITextInput
,UIResponder
and other files.🤔 How Has This Been Tested?
Tested on CI.
📝 Checklist