teams-bots/write-message/venv/lib/python3.10/site-packages/objc/_bridges.py

70 lines
1.7 KiB
Python

import collections.abc
import datetime
from objc import _objc
__all__ = [
"registerListType",
"registerMappingType",
"registerSetType",
"registerDateType",
]
_objc.options._datetime_date_type = datetime.date
_objc.options._datetime_datetime_type = datetime.datetime
def registerListType(type_object):
"""
Register 'type' as a list-like type that will be proxied
as an NSMutableArray subclass.
"""
if _objc.options._sequence_types is None:
_objc.options._sequence_types = ()
_objc.options._sequence_types += (type_object,)
def registerMappingType(type_object):
"""
Register 'type' as a dictionary-like type that will be proxied
as an NSMutableDictionary subclass.
"""
if _objc.options._mapping_types is None:
_objc.options._mapping_types = ()
_objc.options._mapping_types += (type_object,)
def registerSetType(type_object):
"""
Register 'type' as a set-like type that will be proxied
as an NSMutableSet subclass.
"""
if _objc.options._set_types is None:
_objc.options._set_types = ()
_objc.options._set_types += (type_object,)
def registerDateType(type_object):
"""
Register 'type' as a date-like type that will be proxied
as an NSDate subclass.
"""
if _objc.options._date_types is None:
_objc.options._date_types = ()
_objc.options._date_types += (type_object,)
registerListType(collections.abc.Sequence)
registerListType(range)
registerMappingType(collections.abc.Mapping)
registerMappingType(dict)
registerSetType(set)
registerSetType(frozenset)
registerSetType(collections.abc.Set)
registerDateType(datetime.date)
registerDateType(datetime.datetime)