def get_type_properties(self, property_obj, name, additional_prop=False):
property_type = property_obj.get('<STR_LIT:type>', '<STR_LIT:object>')<EOL>property_format = property_obj.get('<STR_LIT>')<EOL>property_dict = {}<EOL>if property_type in ['<STR_LIT:object>', '<STR_LIT>']:<EOL><INDENT>schema_type = SchemaTypes.MAPPED if additional_prop else SchemaTypes.INLINE<EOL>schema_id = self._get_object_schema_id(property_obj, schema_type)<EOL>if not ('<STR_LIT>' in property_obj or self.storage.get(schema_id)):<EOL><INDENT>_schema = self.storage.create_schema(<EOL>property_obj, name, schema_type, root=self.root)<EOL>self._after_create_schema(_schema)<EOL><DEDENT>property_type = schema_id<EOL><DEDENT>property_dict['<STR_LIT:default>'] = property_obj.get('<STR_LIT:default>')<EOL>property_dict['<STR_LIT>'] = property_obj.get('<STR_LIT>')<EOL>property_dict['<STR_LIT>'] = property_obj.get('<STR_LIT>')<EOL>property_dict['<STR_LIT>'] = property_obj.get('<STR_LIT>')<EOL>property_dict['<STR_LIT>'] = property_obj.get('<STR_LIT>')<EOL>property_dict['<STR_LIT:max_length>'] = property_obj.get('<STR_LIT>')<EOL>property_dict['<STR_LIT>'] = property_obj.get('<STR_LIT>')<EOL>property_dict['<STR_LIT>'] = convert(property_obj.get('<STR_LIT>'))<EOL>property_dict = {k: v for k, v in property_dict.items() if v}<EOL>return property_type, property_format, property_dict<EOL>
Get internal properties of property (extended in schema)

        :param dict property_obj: raw property object
        :param str name: name of property
        :param bool additional_prop: recursion's param
        :return: Type, format and internal properties of property
        :rtype: tuple(str, str, dict)