Coverage for gws-app/gws/spec/core.py: 100%

82 statements  

« prev     ^ index     » next       coverage.py v7.8.0, created at 2025-04-17 01:37 +0200

1class Error(Exception): 

2 pass 

3 

4 

5class GeneratorError(Error): 

6 pass 

7 

8 

9class ReadError(Error): 

10 pass 

11 

12 

13class LoadError(Error): 

14 pass 

15 

16 

17class C: 

18 ATOM = 'ATOM' 

19 CLASS = 'CLASS' 

20 CALLABLE = 'CALLABLE' 

21 CONSTANT = 'CONSTANT' 

22 DICT = 'DICT' 

23 ENUM = 'ENUM' 

24 EXPR = 'EXPR' 

25 FUNCTION = 'FUNCTION' 

26 LIST = 'LIST' 

27 LITERAL = 'LITERAL' 

28 METHOD = 'METHOD' 

29 MODULE = 'MODULE' 

30 OPTIONAL = 'OPTIONAL' 

31 PROPERTY = 'PROPERTY' 

32 SET = 'SET' 

33 TUPLE = 'TUPLE' 

34 TYPE = 'TYPE' 

35 UNION = 'UNION' 

36 UNDEFINED = 'UNDEFINED' 

37 VARIANT = 'VARIANT' 

38 

39 EXT = 'EXT' 

40 COMMAND = 'COMMAND' 

41 OBJECT = 'OBJECT' 

42 CONFIG = 'CONFIG' 

43 PROPS = 'PROPS' 

44 

45 

46# prefix for our decorators and ext classes 

47APP_NAME = 'gws' 

48EXT_PREFIX = APP_NAME + '.ext' 

49EXT_DECL_PREFIX = EXT_PREFIX + '.new.' 

50EXT_CONFIG_PREFIX = EXT_PREFIX + '.config.' 

51EXT_PROPS_PREFIX = EXT_PREFIX + '.props.' 

52EXT_OBJECT_PREFIX = EXT_PREFIX + '.object.' 

53EXT_COMMAND_PREFIX = EXT_PREFIX + '.command.' 

54 

55EXT_COMMAND_API_PREFIX = EXT_COMMAND_PREFIX + 'api.' 

56EXT_COMMAND_GET_PREFIX = EXT_COMMAND_PREFIX + 'get.' 

57EXT_COMMAND_CLI_PREFIX = EXT_COMMAND_PREFIX + 'cli.' 

58 

59EXT_OBJECT_CLASS = 'Object' 

60EXT_CONFIG_CLASS = 'Config' 

61EXT_PROPS_CLASS = 'Props' 

62 

63TypeId = str 

64 

65# tag property name for Variant types 

66VARIANT_TAG = 'type' 

67 

68# default variant tag 

69DEFAULT_VARIANT_TAG = 'default' 

70 

71 

72class Type: 

73 c: C 

74 uid: TypeId 

75 extName: str = '' 

76 

77 doc: str = '' 

78 ident: str = '' 

79 name: str = '' 

80 pos = '' 

81 

82 modName: str = '' 

83 modPath: str = '' 

84 

85 tArg: TypeId = '' 

86 tItem: TypeId = '' 

87 tKey: TypeId = '' 

88 tModule: TypeId = '' 

89 tOwner: TypeId = '' 

90 tReturn: TypeId = '' 

91 tTarget: TypeId = '' 

92 tValue: TypeId = '' 

93 

94 tArgs: list[TypeId] = [] 

95 tItems: list[TypeId] = [] 

96 tSupers: list[TypeId] = [] 

97 

98 tMembers: dict[str, TypeId] = {} 

99 tProperties: dict[str, TypeId] = {} 

100 

101 defaultValue = None 

102 hasDefault: bool = False 

103 

104 enumText: str = '' 

105 enumDocs: dict = {} 

106 enumValues: dict = {} 

107 

108 literalValues: list = [] 

109 

110 vars: dict[str, TypeId] = {} 

111 

112 def __init__(self, **kwargs): 

113 vars(self).update(kwargs)