Skip to content

Commit aa543fa

Browse files
committed
Just return parent jsobject instance
1 parent 29c319f commit aa543fa

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

typing/__init__.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,30 +26,35 @@ class JSObject:
2626

2727
structure = None
2828

29+
def __serialize_structure__(self): return frozenset()
30+
2931
def __call__(self, structure=None):
32+
if not structure: return JSObjectInstance
3033
class_structure = structure
3134
class Object(JSObject):
3235

3336
structure = class_structure
3437

3538
@classmethod
3639
def __serialize_structure__(self):
37-
if not self.structure: return frozenset()
40+
#if not self.structure: return frozenset()
3841
return generate_frozenset(self.structure)
3942

4043
if not structure:
4144
if None in object_cache: return object_cache[None]
4245
object_cache[None] = Object
4346
return Object
4447
for key in structure:
45-
setattr(Object, key, cast_primitive(structure[key], get_type=True)() if not isclass(structure[key]) or not issubclass(structure[key], JSObject) else None)
48+
setattr(Object, key, cast_primitive(structure[key], get_type=True)() if (not isclass(structure[key]) or not issubclass(structure[key], JSObject)) and structure[key] != JSObjectInstance else None)
4649
structure_serialized = generate_frozenset(structure)
4750
if structure_serialized in object_cache: return object_cache[structure_serialized]
4851
object_cache[structure_serialized] = Object
4952
return Object
5053

5154
Object = JSObject()
5255

56+
JSObjectInstance = Object
57+
5358
list_cache = {}
5459

5560
class List(list):

0 commit comments

Comments
 (0)