There is no bug or code issue here, just you expecting a feature that doesn't exist. Your skyranger requires a large hangar to buy by baseFuncs, and you have three at that base. Therefore, you can buy a skyranger at the base. That's all the baseFuncs do.
There are no different "types" of hangar - the facility is either a hangar or not a hangar. If it doesn't have a craft in it, then it's eligible for a new craft to be placed there. baseFuncs do not have anything to do with whether the craft is placed in that facility.