angular-odata 0.128.0 → 0.131.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (246) hide show
  1. package/README.md +27 -244
  2. package/fesm2022/angular-odata.mjs +2320 -1118
  3. package/fesm2022/angular-odata.mjs.map +1 -1
  4. package/lib/api.d.ts +10 -11
  5. package/lib/cache/cache.d.ts +2 -2
  6. package/lib/cache/memory.d.ts +2 -2
  7. package/lib/cache/storage.d.ts +2 -2
  8. package/lib/index.d.ts +1 -0
  9. package/lib/loaders.d.ts +8 -8
  10. package/lib/metadata/csdl/csdl-annotation.d.ts +62 -26
  11. package/lib/metadata/csdl/csdl-entity-container.d.ts +8 -3
  12. package/lib/metadata/csdl/csdl-entity-set.d.ts +7 -2
  13. package/lib/metadata/csdl/csdl-enum-type.d.ts +11 -3
  14. package/lib/metadata/csdl/csdl-function-action.d.ts +54 -11
  15. package/lib/metadata/csdl/csdl-navigation-property-binding.d.ts +4 -0
  16. package/lib/metadata/csdl/csdl-reference.d.ts +26 -3
  17. package/lib/metadata/csdl/csdl-schema.d.ts +5 -2
  18. package/lib/metadata/csdl/csdl-singleton.d.ts +5 -0
  19. package/lib/metadata/csdl/csdl-structural-property.d.ts +19 -3
  20. package/lib/metadata/csdl/csdl-structured-type.d.ts +28 -7
  21. package/lib/metadata/csdl/csdl-type-definition.d.ts +3 -0
  22. package/lib/metadata/metadata.d.ts +16 -3
  23. package/lib/models/collection.d.ts +2 -1
  24. package/lib/models/model.d.ts +6 -5
  25. package/lib/models/options.d.ts +11 -4
  26. package/lib/module.d.ts +3 -3
  27. package/lib/options.d.ts +3 -3
  28. package/lib/resources/path/segments.d.ts +3 -3
  29. package/lib/resources/query/builder.d.ts +3 -2
  30. package/lib/resources/query/expressions/apply.d.ts +1 -1
  31. package/lib/resources/query/expressions/compute.d.ts +1 -1
  32. package/lib/resources/query/expressions/count.d.ts +1 -1
  33. package/lib/resources/query/expressions/expand.d.ts +5 -2
  34. package/lib/resources/query/expressions/filter.d.ts +2 -1
  35. package/lib/resources/query/expressions/orderby.d.ts +2 -1
  36. package/lib/resources/query/expressions/search.d.ts +2 -1
  37. package/lib/resources/query/expressions/select.d.ts +2 -1
  38. package/lib/resources/query/expressions/syntax.d.ts +2 -2
  39. package/lib/resources/query/handlers.d.ts +17 -5
  40. package/lib/resources/query/options.d.ts +3 -3
  41. package/lib/resources/resource.d.ts +36 -8
  42. package/lib/resources/types/action.d.ts +4 -4
  43. package/lib/resources/types/entity-set.d.ts +15 -8
  44. package/lib/resources/types/entity.d.ts +5 -1
  45. package/lib/resources/types/function.d.ts +4 -4
  46. package/lib/resources/types/navigation-property.d.ts +12 -3
  47. package/lib/resources/types/property.d.ts +14 -3
  48. package/lib/resources/types/singleton.d.ts +5 -1
  49. package/lib/schema/annotation.d.ts +3 -3
  50. package/lib/schema/callable.d.ts +3 -3
  51. package/lib/schema/element.d.ts +3 -3
  52. package/lib/schema/entity-container.d.ts +2 -2
  53. package/lib/schema/entity-set.d.ts +2 -2
  54. package/lib/schema/enum-type.d.ts +10 -10
  55. package/lib/schema/parsers/callable.d.ts +4 -4
  56. package/lib/schema/parsers/enum-type.d.ts +15 -15
  57. package/lib/schema/parsers/structured-type.d.ts +8 -5
  58. package/lib/schema/schema.d.ts +3 -3
  59. package/lib/schema/singleton.d.ts +2 -2
  60. package/lib/schema/structured-type.d.ts +7 -4
  61. package/lib/services/entity-set.d.ts +9 -6
  62. package/lib/services/entity.d.ts +1 -1
  63. package/lib/services/singleton.d.ts +1 -1
  64. package/lib/settings.d.ts +2 -2
  65. package/lib/types.d.ts +82 -69
  66. package/lib/utils/enums.d.ts +12 -12
  67. package/lib/utils/http.d.ts +1 -1
  68. package/lib/utils/objects.d.ts +1 -1
  69. package/lib/utils/odata.d.ts +2 -2
  70. package/lib/utils/strings.d.ts +2 -2
  71. package/package.json +3 -5
  72. package/schematics/apigen/angular/api-config.js +7 -1
  73. package/schematics/apigen/angular/api-config.js.map +1 -1
  74. package/schematics/apigen/angular/base.d.ts +22 -2
  75. package/schematics/apigen/angular/base.js +82 -42
  76. package/schematics/apigen/angular/base.js.map +1 -1
  77. package/schematics/apigen/angular/entity.js +7 -1
  78. package/schematics/apigen/angular/entity.js.map +1 -1
  79. package/schematics/apigen/angular/enum.js +1 -0
  80. package/schematics/apigen/angular/enum.js.map +1 -1
  81. package/schematics/apigen/angular/module.js.map +1 -1
  82. package/schematics/apigen/angular/service.js +3 -2
  83. package/schematics/apigen/angular/service.js.map +1 -1
  84. package/schematics/apigen/files/api-config/__fileName__.ts +8 -6
  85. package/schematics/apigen/files/entity/__fileName__.ts +2 -2
  86. package/schematics/apigen/files/entitycontainer-service/__fileName__.ts +1 -1
  87. package/schematics/apigen/files/entityset-service/__fileName__.ts +1 -1
  88. package/schematics/apigen/files/enum/__fileName__.ts +1 -1
  89. package/schematics/apigen/files/metadata/metadata.json +1 -0
  90. package/schematics/apigen/files/singleton-service/__fileName__.ts +1 -1
  91. package/schematics/apigen/index.js +56 -12
  92. package/schematics/apigen/index.js.map +1 -1
  93. package/schematics/apigen/metadata/csdl/csdl-annotation.d.ts +56 -23
  94. package/schematics/apigen/metadata/csdl/csdl-annotation.js +143 -13
  95. package/schematics/apigen/metadata/csdl/csdl-annotation.js.map +1 -1
  96. package/schematics/apigen/metadata/csdl/csdl-entity-container.d.ts +3 -0
  97. package/schematics/apigen/metadata/csdl/csdl-entity-container.js +19 -0
  98. package/schematics/apigen/metadata/csdl/csdl-entity-container.js.map +1 -1
  99. package/schematics/apigen/metadata/csdl/csdl-entity-set.d.ts +3 -0
  100. package/schematics/apigen/metadata/csdl/csdl-entity-set.js +11 -0
  101. package/schematics/apigen/metadata/csdl/csdl-entity-set.js.map +1 -1
  102. package/schematics/apigen/metadata/csdl/csdl-enum-type.d.ts +6 -0
  103. package/schematics/apigen/metadata/csdl/csdl-enum-type.js +17 -0
  104. package/schematics/apigen/metadata/csdl/csdl-enum-type.js.map +1 -1
  105. package/schematics/apigen/metadata/csdl/csdl-function-action.d.ts +37 -0
  106. package/schematics/apigen/metadata/csdl/csdl-function-action.js +52 -0
  107. package/schematics/apigen/metadata/csdl/csdl-function-action.js.map +1 -1
  108. package/schematics/apigen/metadata/csdl/csdl-navigation-property-binding.d.ts +4 -0
  109. package/schematics/apigen/metadata/csdl/csdl-navigation-property-binding.js +6 -0
  110. package/schematics/apigen/metadata/csdl/csdl-navigation-property-binding.js.map +1 -1
  111. package/schematics/apigen/metadata/csdl/csdl-reference.d.ts +15 -3
  112. package/schematics/apigen/metadata/csdl/csdl-reference.js +26 -2
  113. package/schematics/apigen/metadata/csdl/csdl-reference.js.map +1 -1
  114. package/schematics/apigen/metadata/csdl/csdl-schema.d.ts +3 -0
  115. package/schematics/apigen/metadata/csdl/csdl-schema.js +37 -0
  116. package/schematics/apigen/metadata/csdl/csdl-schema.js.map +1 -1
  117. package/schematics/apigen/metadata/csdl/csdl-singleton.d.ts +3 -0
  118. package/schematics/apigen/metadata/csdl/csdl-singleton.js +8 -0
  119. package/schematics/apigen/metadata/csdl/csdl-singleton.js.map +1 -1
  120. package/schematics/apigen/metadata/csdl/csdl-structural-property.d.ts +16 -0
  121. package/schematics/apigen/metadata/csdl/csdl-structural-property.js +53 -0
  122. package/schematics/apigen/metadata/csdl/csdl-structural-property.js.map +1 -1
  123. package/schematics/apigen/metadata/csdl/csdl-structured-type.d.ts +22 -3
  124. package/schematics/apigen/metadata/csdl/csdl-structured-type.js +47 -2
  125. package/schematics/apigen/metadata/csdl/csdl-structured-type.js.map +1 -1
  126. package/schematics/apigen/metadata/csdl/csdl-type-definition.d.ts +3 -0
  127. package/schematics/apigen/metadata/csdl/csdl-type-definition.js +19 -0
  128. package/schematics/apigen/metadata/csdl/csdl-type-definition.js.map +1 -1
  129. package/schematics/apigen/metadata/metadata.d.ts +10 -0
  130. package/schematics/apigen/metadata/metadata.js +12 -6
  131. package/schematics/apigen/metadata/metadata.js.map +1 -1
  132. package/schematics/apigen/metadata/parser.js.map +1 -1
  133. package/schematics/apigen/schema.d.ts +2 -1
  134. package/schematics/apigen/schema.json +15 -14
  135. package/schematics/apigen/utils.d.ts +1 -0
  136. package/schematics/apigen/utils.js +25 -1
  137. package/schematics/apigen/utils.js.map +1 -1
  138. package/schematics/ng-add/index.js +1 -2
  139. package/schematics/ng-add/index.js.map +1 -1
  140. package/esm2022/angular-odata.mjs +0 -5
  141. package/esm2022/lib/annotations.mjs +0 -140
  142. package/esm2022/lib/api.mjs +0 -419
  143. package/esm2022/lib/cache/cache.mjs +0 -175
  144. package/esm2022/lib/cache/index.mjs +0 -4
  145. package/esm2022/lib/cache/memory.mjs +0 -30
  146. package/esm2022/lib/cache/storage.mjs +0 -55
  147. package/esm2022/lib/client.mjs +0 -212
  148. package/esm2022/lib/constants.mjs +0 -95
  149. package/esm2022/lib/helper.mjs +0 -280
  150. package/esm2022/lib/index.mjs +0 -21
  151. package/esm2022/lib/loaders.mjs +0 -39
  152. package/esm2022/lib/metadata/csdl/csdl-annotation.mjs +0 -95
  153. package/esm2022/lib/metadata/csdl/csdl-entity-container.mjs +0 -27
  154. package/esm2022/lib/metadata/csdl/csdl-entity-set.mjs +0 -24
  155. package/esm2022/lib/metadata/csdl/csdl-enum-type.mjs +0 -37
  156. package/esm2022/lib/metadata/csdl/csdl-function-action.mjs +0 -94
  157. package/esm2022/lib/metadata/csdl/csdl-navigation-property-binding.mjs +0 -7
  158. package/esm2022/lib/metadata/csdl/csdl-reference.mjs +0 -23
  159. package/esm2022/lib/metadata/csdl/csdl-schema.mjs +0 -39
  160. package/esm2022/lib/metadata/csdl/csdl-singleton.mjs +0 -15
  161. package/esm2022/lib/metadata/csdl/csdl-structural-property.mjs +0 -70
  162. package/esm2022/lib/metadata/csdl/csdl-structured-type.mjs +0 -92
  163. package/esm2022/lib/metadata/csdl/csdl-type-definition.mjs +0 -15
  164. package/esm2022/lib/metadata/index.mjs +0 -3
  165. package/esm2022/lib/metadata/metadata.mjs +0 -14
  166. package/esm2022/lib/metadata/parser.mjs +0 -563
  167. package/esm2022/lib/models/collection.mjs +0 -814
  168. package/esm2022/lib/models/index.mjs +0 -4
  169. package/esm2022/lib/models/model.mjs +0 -553
  170. package/esm2022/lib/models/options.mjs +0 -1179
  171. package/esm2022/lib/module.mjs +0 -55
  172. package/esm2022/lib/options.mjs +0 -36
  173. package/esm2022/lib/resources/index.mjs +0 -7
  174. package/esm2022/lib/resources/options.mjs +0 -56
  175. package/esm2022/lib/resources/path/handlers.mjs +0 -79
  176. package/esm2022/lib/resources/path/index.mjs +0 -3
  177. package/esm2022/lib/resources/path/segments.mjs +0 -148
  178. package/esm2022/lib/resources/query/builder.mjs +0 -636
  179. package/esm2022/lib/resources/query/expressions/apply.mjs +0 -236
  180. package/esm2022/lib/resources/query/expressions/base.mjs +0 -25
  181. package/esm2022/lib/resources/query/expressions/compute.mjs +0 -54
  182. package/esm2022/lib/resources/query/expressions/count.mjs +0 -116
  183. package/esm2022/lib/resources/query/expressions/expand.mjs +0 -147
  184. package/esm2022/lib/resources/query/expressions/filter.mjs +0 -178
  185. package/esm2022/lib/resources/query/expressions/index.mjs +0 -10
  186. package/esm2022/lib/resources/query/expressions/orderby.mjs +0 -79
  187. package/esm2022/lib/resources/query/expressions/search.mjs +0 -141
  188. package/esm2022/lib/resources/query/expressions/select.mjs +0 -47
  189. package/esm2022/lib/resources/query/expressions/syntax.mjs +0 -751
  190. package/esm2022/lib/resources/query/handlers.mjs +0 -420
  191. package/esm2022/lib/resources/query/index.mjs +0 -5
  192. package/esm2022/lib/resources/query/options.mjs +0 -139
  193. package/esm2022/lib/resources/request.mjs +0 -196
  194. package/esm2022/lib/resources/resource.mjs +0 -311
  195. package/esm2022/lib/resources/response.mjs +0 -174
  196. package/esm2022/lib/resources/types/action.mjs +0 -116
  197. package/esm2022/lib/resources/types/batch.mjs +0 -428
  198. package/esm2022/lib/resources/types/count.mjs +0 -33
  199. package/esm2022/lib/resources/types/entity-set.mjs +0 -131
  200. package/esm2022/lib/resources/types/entity.mjs +0 -112
  201. package/esm2022/lib/resources/types/function.mjs +0 -146
  202. package/esm2022/lib/resources/types/index.mjs +0 -15
  203. package/esm2022/lib/resources/types/media.mjs +0 -44
  204. package/esm2022/lib/resources/types/metadata.mjs +0 -35
  205. package/esm2022/lib/resources/types/navigation-property.mjs +0 -256
  206. package/esm2022/lib/resources/types/options.mjs +0 -2
  207. package/esm2022/lib/resources/types/property.mjs +0 -197
  208. package/esm2022/lib/resources/types/reference.mjs +0 -87
  209. package/esm2022/lib/resources/types/singleton.mjs +0 -130
  210. package/esm2022/lib/resources/types/value.mjs +0 -48
  211. package/esm2022/lib/schema/annotation.mjs +0 -37
  212. package/esm2022/lib/schema/callable.mjs +0 -66
  213. package/esm2022/lib/schema/element.mjs +0 -67
  214. package/esm2022/lib/schema/entity-container.mjs +0 -11
  215. package/esm2022/lib/schema/entity-set.mjs +0 -9
  216. package/esm2022/lib/schema/enum-type.mjs +0 -68
  217. package/esm2022/lib/schema/index.mjs +0 -9
  218. package/esm2022/lib/schema/parsers/callable.mjs +0 -110
  219. package/esm2022/lib/schema/parsers/edm.mjs +0 -101
  220. package/esm2022/lib/schema/parsers/enum-type.mjs +0 -130
  221. package/esm2022/lib/schema/parsers/index.mjs +0 -5
  222. package/esm2022/lib/schema/parsers/structured-type.mjs +0 -514
  223. package/esm2022/lib/schema/schema.mjs +0 -45
  224. package/esm2022/lib/schema/singleton.mjs +0 -9
  225. package/esm2022/lib/schema/structured-type.mjs +0 -213
  226. package/esm2022/lib/services/base.mjs +0 -29
  227. package/esm2022/lib/services/entity-set.mjs +0 -155
  228. package/esm2022/lib/services/entity.mjs +0 -12
  229. package/esm2022/lib/services/factory.mjs +0 -44
  230. package/esm2022/lib/services/index.mjs +0 -5
  231. package/esm2022/lib/services/singleton.mjs +0 -54
  232. package/esm2022/lib/settings.mjs +0 -112
  233. package/esm2022/lib/types.mjs +0 -118
  234. package/esm2022/lib/utils/arraybuffers.mjs +0 -46
  235. package/esm2022/lib/utils/arrays.mjs +0 -10
  236. package/esm2022/lib/utils/dates.mjs +0 -18
  237. package/esm2022/lib/utils/durations.mjs +0 -40
  238. package/esm2022/lib/utils/enums.mjs +0 -61
  239. package/esm2022/lib/utils/http.mjs +0 -95
  240. package/esm2022/lib/utils/index.mjs +0 -10
  241. package/esm2022/lib/utils/objects.mjs +0 -204
  242. package/esm2022/lib/utils/odata.mjs +0 -22
  243. package/esm2022/lib/utils/strings.mjs +0 -20
  244. package/esm2022/lib/utils/types.mjs +0 -136
  245. package/esm2022/lib/utils/urls.mjs +0 -24
  246. package/esm2022/public-api.mjs +0 -5
@@ -8,7 +8,7 @@ import { ODataEntityService } from './entity';
8
8
  */
9
9
  export declare class ODataSingletonService<T> extends ODataEntityService<T> {
10
10
  static Model?: typeof ODataModel;
11
- model(entity?: Partial<T>): ODataModel<T>;
11
+ model(entity?: Partial<T>): ODataModel<T> & import("angular-odata").ModelInterface<T>;
12
12
  /**
13
13
  * Get the entity resource for this service.
14
14
  * @param key The entity key.
package/lib/settings.d.ts CHANGED
@@ -3,10 +3,10 @@ import { ODataApi } from './api';
3
3
  import { ODataCollection, ODataModel } from './models';
4
4
  import { ODataRequest } from './resources';
5
5
  import { ODataCallable, ODataEntitySet, ODataEnumType, ODataStructuredType } from './schema';
6
- import { ApiConfig, EdmType, Parser } from './types';
6
+ import { ODataApiConfig, EdmType, Parser } from './types';
7
7
  export declare class ODataSettings {
8
8
  apis: ODataApi[];
9
- constructor(configs: ApiConfig[]);
9
+ constructor(configs: ODataApiConfig[]);
10
10
  configure(settings: {
11
11
  requester?: (request: ODataRequest<any>) => Observable<any>;
12
12
  }): void;
package/lib/types.d.ts CHANGED
@@ -77,7 +77,43 @@ export declare enum JsonType {
77
77
  boolean = "boolean",
78
78
  null = "null"
79
79
  }
80
- export interface ApiOptions {
80
+ export interface ParserOptions {
81
+ version?: ODataVersion;
82
+ exponentialDecimals?: boolean;
83
+ metadata?: ODataMetadataType;
84
+ ieee754Compatible?: boolean;
85
+ streaming?: boolean;
86
+ stringAsEnum?: boolean;
87
+ deleteRefBy?: 'path' | 'id';
88
+ nonParenthesisForEmptyParameterFunction?: boolean;
89
+ }
90
+ export interface ResponseOptions extends ParserOptions {
91
+ cacheability?: CacheCacheability;
92
+ maxAge?: number;
93
+ }
94
+ export interface StructuredTypeFieldOptions extends ParserOptions {
95
+ field: ODataStructuredTypeFieldConfig;
96
+ }
97
+ export interface Parser<T> {
98
+ deserialize(value: any, options?: ParserOptions | StructuredTypeFieldOptions): T;
99
+ serialize(value: any, options?: ParserOptions | StructuredTypeFieldOptions): any;
100
+ encode(value: any, options?: ParserOptions | StructuredTypeFieldOptions): any;
101
+ }
102
+ export interface FieldParser<T> extends Parser<T> {
103
+ nullable?: boolean;
104
+ default?: any;
105
+ maxLength?: number;
106
+ precision?: number;
107
+ scale?: number | 'variable';
108
+ }
109
+ export declare const NONE_PARSER: Parser<any>;
110
+ export interface ODataCache {
111
+ put<T>(key: string, payload: T, ...opts: any[]): void;
112
+ get<T>(key: string, ...opts: any[]): T | undefined;
113
+ handleRequest(req: any, res$: Observable<any>): Observable<any>;
114
+ flush(): void;
115
+ }
116
+ export interface ODataApiConfigOptions {
81
117
  version?: ODataVersion;
82
118
  params?: {
83
119
  [param: string]: string | string[];
@@ -111,55 +147,23 @@ export interface ApiOptions {
111
147
  jsonBatchFormat?: boolean;
112
148
  relativeUrls?: boolean;
113
149
  }
114
- export interface ParserOptions {
115
- version?: ODataVersion;
116
- exponentialDecimals?: boolean;
117
- metadata?: ODataMetadataType;
118
- ieee754Compatible?: boolean;
119
- streaming?: boolean;
120
- stringAsEnum?: boolean;
121
- deleteRefBy?: 'path' | 'id';
122
- nonParenthesisForEmptyParameterFunction?: boolean;
123
- }
124
- export interface ResponseOptions extends ParserOptions {
125
- cacheability?: CacheCacheability;
126
- maxAge?: number;
127
- }
128
- export interface StructuredTypeFieldOptions extends ParserOptions {
129
- field: StructuredTypeFieldConfig;
130
- }
131
- export interface Parser<T> {
132
- deserialize(value: any, options?: ParserOptions | StructuredTypeFieldOptions): T;
133
- serialize(value: any, options?: ParserOptions | StructuredTypeFieldOptions): any;
134
- encode(value: any, options?: ParserOptions | StructuredTypeFieldOptions): any;
135
- }
136
- export interface FieldParser<T> extends Parser<T> {
137
- nullable?: boolean;
138
- default?: any;
139
- maxLength?: number;
140
- precision?: number;
141
- scale?: number | 'variable';
142
- }
143
- export declare const NONE_PARSER: Parser<any>;
144
- export interface Cache {
145
- put<T>(key: string, payload: T, ...opts: any[]): void;
146
- get<T>(key: string, ...opts: any[]): T | undefined;
147
- }
148
- export type ApiConfig = {
150
+ export type ODataApiConfig = {
149
151
  serviceRootUrl: string;
152
+ metadataUrl?: string;
150
153
  name?: string;
151
154
  version?: ODataVersion;
152
155
  default?: boolean;
153
156
  creation?: Date;
154
- cache?: Cache;
157
+ cache?: ODataCache;
155
158
  errorHandler?: (error: any, caught: Observable<any>) => Observable<never>;
156
- options?: ApiOptions;
159
+ options?: ODataApiConfigOptions;
157
160
  parsers?: {
158
161
  [type: string]: Parser<any>;
159
162
  };
160
- schemas?: SchemaConfig[];
163
+ schemas?: ODataSchemaConfig[];
164
+ references?: ODataReferenceConfig[];
161
165
  };
162
- export type AnnotationConfig = {
166
+ export type ODataAnnotationConfig = {
163
167
  term: string;
164
168
  string?: string;
165
169
  bool?: boolean;
@@ -167,39 +171,48 @@ export type AnnotationConfig = {
167
171
  permissions?: string[];
168
172
  properties?: string[];
169
173
  };
170
- export type SchemaConfig = {
174
+ export type ODataReferenceConfig = {
175
+ uri: string;
176
+ includes?: string;
177
+ annotations?: ODataAnnotationConfig[];
178
+ enums?: ODataEnumTypeConfig[];
179
+ entities?: ODataStructuredTypeConfig[];
180
+ callables?: ODataCallableConfig[];
181
+ containers?: ODataEntityContainerConfig[];
182
+ };
183
+ export type ODataSchemaConfig = {
171
184
  namespace: string;
172
185
  alias?: string;
173
- annotations?: AnnotationConfig[];
174
- enums?: EnumTypeConfig<any>[];
175
- entities?: StructuredTypeConfig<any>[];
176
- callables?: CallableConfig[];
177
- containers?: EntityContainerConfig[];
186
+ annotations?: ODataAnnotationConfig[];
187
+ enums?: ODataEnumTypeConfig[];
188
+ entities?: ODataStructuredTypeConfig[];
189
+ callables?: ODataCallableConfig[];
190
+ containers?: ODataEntityContainerConfig[];
178
191
  };
179
- export type EntityContainerConfig = {
192
+ export type ODataEntityContainerConfig = {
180
193
  name: string;
181
- annotations?: AnnotationConfig[];
182
- entitySets?: EntitySetConfig[];
183
- singletons?: SingletonConfig[];
194
+ annotations?: ODataAnnotationConfig[];
195
+ entitySets?: ODataEntitySetConfig[];
196
+ singletons?: ODataSingletonConfig[];
184
197
  };
185
- export type EnumTypeFieldConfig<E> = {
186
- value: E;
187
- annotations?: AnnotationConfig[];
198
+ export type ODataEnumTypeFieldConfig = {
199
+ value: number;
200
+ annotations?: ODataAnnotationConfig[];
188
201
  };
189
- export type EnumTypeConfig<E> = {
202
+ export type ODataEnumTypeConfig = {
190
203
  name: string;
191
204
  flags?: boolean;
192
- annotations?: AnnotationConfig[];
205
+ annotations?: ODataAnnotationConfig[];
193
206
  members: {
194
- [name: string]: E;
207
+ [name: string]: number;
195
208
  } | {
196
209
  [value: number]: string;
197
210
  };
198
211
  fields: {
199
- [member: string]: EnumTypeFieldConfig<E>;
212
+ [member: string]: ODataEnumTypeFieldConfig;
200
213
  };
201
214
  };
202
- export type StructuredTypeFieldConfig = {
215
+ export type ODataStructuredTypeFieldConfig = {
203
216
  type: string;
204
217
  default?: any;
205
218
  maxLength?: number;
@@ -208,7 +221,7 @@ export type StructuredTypeFieldConfig = {
208
221
  nullable?: boolean;
209
222
  navigation?: boolean;
210
223
  precision?: number;
211
- annotations?: AnnotationConfig[];
224
+ annotations?: ODataAnnotationConfig[];
212
225
  scale?: number | 'variable';
213
226
  referentials?: {
214
227
  property: string;
@@ -217,7 +230,7 @@ export type StructuredTypeFieldConfig = {
217
230
  referential?: string;
218
231
  referenced?: string;
219
232
  };
220
- export type StructuredTypeConfig<T> = {
233
+ export type ODataStructuredTypeConfig = {
221
234
  name: string;
222
235
  base?: string;
223
236
  open?: boolean;
@@ -227,46 +240,46 @@ export type StructuredTypeConfig<T> = {
227
240
  collection?: {
228
241
  new (...params: any[]): any;
229
242
  };
230
- annotations?: AnnotationConfig[];
243
+ annotations?: ODataAnnotationConfig[];
231
244
  keys?: {
232
245
  name: string;
233
246
  alias?: string;
234
247
  }[];
235
248
  fields?: {
236
- [P in keyof T]?: StructuredTypeFieldConfig;
249
+ [name: string]: ODataStructuredTypeFieldConfig;
237
250
  };
238
251
  };
239
- export type ParameterConfig = {
252
+ export type ODataParameterConfig = {
240
253
  type: string;
241
254
  nullable?: boolean;
242
255
  collection?: boolean;
243
256
  };
244
- export type CallableConfig = {
257
+ export type ODataCallableConfig = {
245
258
  name: string;
246
259
  entitySetPath?: string;
247
260
  bound?: boolean;
248
261
  composable?: boolean;
249
262
  parameters?: {
250
- [name: string]: ParameterConfig;
263
+ [name: string]: ODataParameterConfig;
251
264
  };
252
265
  return?: {
253
266
  type: string;
254
267
  collection?: boolean;
255
268
  };
256
269
  };
257
- export type EntitySetConfig = {
270
+ export type ODataEntitySetConfig = {
258
271
  name: string;
259
272
  entityType: string;
260
273
  service: {
261
274
  new (...params: any[]): any;
262
275
  };
263
- annotations?: AnnotationConfig[];
276
+ annotations?: ODataAnnotationConfig[];
264
277
  };
265
- export type SingletonConfig = {
278
+ export type ODataSingletonConfig = {
266
279
  name: string;
267
280
  type: string;
268
281
  service: {
269
282
  new (...params: any[]): any;
270
283
  };
271
- annotations?: AnnotationConfig[];
284
+ annotations?: ODataAnnotationConfig[];
272
285
  };
@@ -2,22 +2,22 @@ export declare const Enums: {
2
2
  names<E extends {
3
3
  [name: string]: any;
4
4
  }>(enums: E): string[];
5
- values<E_1 extends {
5
+ values<E extends {
6
6
  [name: string]: any;
7
- }>(enums: E_1): number[];
8
- toValue<E_2 extends {
7
+ }>(enums: E): number[];
8
+ toValue<E extends {
9
9
  [name: string]: any;
10
- }>(enums: E_2, value: any): number | undefined;
11
- toValues<E_3 extends {
10
+ }>(enums: E, value: any): number | undefined;
11
+ toValues<E extends {
12
12
  [name: string]: any;
13
- }>(enums: E_3, value: any): number[];
14
- toName<E_4 extends {
13
+ }>(enums: E, value: any): number[];
14
+ toName<E extends {
15
15
  [name: string]: any;
16
- }>(enums: E_4, value: any): string | undefined;
17
- toNames<E_5 extends {
16
+ }>(enums: E, value: any): string | undefined;
17
+ toNames<E extends {
18
18
  [name: string]: any;
19
- }>(enums: E_5, value: any): string[];
20
- toFlags<E_6 extends {
19
+ }>(enums: E, value: any): string[];
20
+ toFlags<E extends {
21
21
  [name: string]: any;
22
- }>(enums: E_6, value: any): string[];
22
+ }>(enums: E, value: any): string[];
23
23
  };
@@ -4,7 +4,7 @@ export declare const Http: {
4
4
  [header: string]: string | string[];
5
5
  })[]): HttpHeaders;
6
6
  mergeHttpParams(...values: (HttpParams | {
7
- [param: string]: string | number | boolean | readonly (string | number | boolean)[];
7
+ [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;
8
8
  })[]): HttpParams;
9
9
  splitHttpParams(params: HttpParams, keys: string[]): [HttpParams, HttpParams];
10
10
  withoutHttpParams(params: HttpParams, keys: string[]): HttpParams;
@@ -31,7 +31,7 @@ export declare const Objects: {
31
31
  [attr: string]: any;
32
32
  };
33
33
  resolveKey(key: any, { single }?: {
34
- single?: boolean | undefined;
34
+ single?: boolean;
35
35
  }): any;
36
36
  clone(target: any, map?: WeakMap<object, any>): any;
37
37
  };
@@ -1,4 +1,4 @@
1
- import { CallableConfig } from '../types';
1
+ import { ODataCallableConfig } from '../types';
2
2
  export declare const OData: {
3
- mergeCallableParameters(callables: CallableConfig[]): CallableConfig[];
3
+ mergeCallableParameters(callables: ODataCallableConfig[]): ODataCallableConfig[];
4
4
  };
@@ -1,7 +1,7 @@
1
1
  export declare const Strings: {
2
2
  uniqueId({ prefix, suffix, }?: {
3
- prefix?: string | undefined;
4
- suffix?: string | undefined;
3
+ prefix?: string;
4
+ suffix?: string;
5
5
  }): string;
6
6
  titleCase(text: string): string;
7
7
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "angular-odata",
3
- "version": "0.128.0",
3
+ "version": "0.131.0",
4
4
  "license": "MIT",
5
5
  "description": "Client side OData typescript library for Angular",
6
6
  "repository": {
@@ -25,8 +25,8 @@
25
25
  "homepage": "https://github.com/diegomvh/angular-odata",
26
26
  "private": false,
27
27
  "peerDependencies": {
28
- "@angular/common": ">=14.0.0",
29
- "@angular/core": ">=14.0.0"
28
+ "@angular/common": ">=16.0.0",
29
+ "@angular/core": ">=16.0.0"
30
30
  },
31
31
  "schematics": "./schematics/collection.json",
32
32
  "ng-add": {
@@ -44,8 +44,6 @@
44
44
  },
45
45
  ".": {
46
46
  "types": "./index.d.ts",
47
- "esm2022": "./esm2022/angular-odata.mjs",
48
- "esm": "./esm2022/angular-odata.mjs",
49
47
  "default": "./fesm2022/angular-odata.mjs"
50
48
  }
51
49
  }
@@ -12,7 +12,13 @@ class ApiConfig extends base_1.Base {
12
12
  return (0, schematics_1.url)('./files/api-config');
13
13
  }
14
14
  variables() {
15
- return Object.assign({}, this.options);
15
+ return {
16
+ serviceRootUrl: this.options.serviceRootUrl,
17
+ metadataUrl: this.options.metadata,
18
+ apiConfigName: this.options.name,
19
+ version: this.options.version,
20
+ creation: this.options.creation,
21
+ };
16
22
  }
17
23
  name() {
18
24
  return core_1.strings.classify(this.options.name) + 'Config';
@@ -1 +1 @@
1
- {"version":3,"file":"api-config.js","sourceRoot":"","sources":["../../../../../projects/angular-odata/schematics/apigen/angular/api-config.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,iCAA8B;AAC9B,2DAAyD;AAGzD,MAAa,SAAU,SAAQ,WAAI;IACjC,YAAY,OAAqB;QAC/B,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IACe,QAAQ;QACtB,OAAO,IAAA,gBAAG,EAAC,oBAAoB,CAAC,CAAC;IACnC,CAAC;IACe,SAAS;QACvB,yBAAY,IAAI,CAAC,OAAO,EAAG;IAC7B,CAAC;IACe,IAAI;QAClB,OAAO,cAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;IACxD,CAAC;IACe,QAAQ;QACtB,OAAO,cAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1D,CAAC;IACe,SAAS;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IACe,QAAQ;QACtB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IACe,WAAW;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAzBD,8BAyBC"}
1
+ {"version":3,"file":"api-config.js","sourceRoot":"","sources":["../../../../../projects/angular-odata/schematics/apigen/angular/api-config.ts"],"names":[],"mappings":";;;AAAA,+CAA+C;AAC/C,iCAA8B;AAC9B,2DAAyD;AAGzD,MAAa,SAAU,SAAQ,WAAI;IACjC,YAAY,OAAqB;QAC/B,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IACe,QAAQ;QACtB,OAAO,IAAA,gBAAG,EAAC,oBAAoB,CAAC,CAAC;IACnC,CAAC;IACe,SAAS;QACvB,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;YAC3C,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;YAClC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YAChC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;YAC7B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;SAChC,CAAC;IACJ,CAAC;IACe,IAAI;QAClB,OAAO,cAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;IACxD,CAAC;IACe,QAAQ;QACtB,OAAO,cAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1D,CAAC;IACe,SAAS;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IACe,QAAQ;QACtB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IACe,WAAW;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AA/BD,8BA+BC"}
@@ -2,13 +2,20 @@ import { Import } from './import';
2
2
  import { Source } from '@angular-devkit/schematics';
3
3
  import { Schema as ApiGenSchema } from '../schema';
4
4
  import { CsdlCallable, CsdlParameter } from '../metadata/csdl/csdl-function-action';
5
+ import { ODataMetadata } from '../metadata';
5
6
  export declare class Callable {
6
7
  protected callable: CsdlCallable;
8
+ callables: CsdlCallable[];
7
9
  constructor(callable: CsdlCallable);
10
+ addOverload(callable: CsdlCallable): void;
8
11
  name(): string;
9
- isBound(): boolean | undefined;
12
+ isBound(): boolean;
10
13
  bindingParameter(): CsdlParameter | undefined;
11
- parameters(): CsdlParameter[];
14
+ parameters(): {
15
+ binding: CsdlParameter | undefined;
16
+ required: CsdlParameter[];
17
+ optional: CsdlParameter[];
18
+ };
12
19
  returnType(): import("../metadata/csdl/csdl-function-action").CsdlReturnType | undefined;
13
20
  fullName(): string;
14
21
  resourceFunction(): string;
@@ -49,3 +56,16 @@ export declare class Index extends Base {
49
56
  fullName(): string;
50
57
  importTypes(): string[];
51
58
  }
59
+ export declare class Metadata extends Base {
60
+ private meta;
61
+ constructor(options: ApiGenSchema, meta: ODataMetadata);
62
+ template(): Source;
63
+ variables(): {
64
+ [name: string]: any;
65
+ };
66
+ name(): string;
67
+ fileName(): string;
68
+ directory(): string;
69
+ fullName(): string;
70
+ importTypes(): string[];
71
+ }
@@ -1,46 +1,53 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Index = exports.Base = exports.Callable = void 0;
3
+ exports.Metadata = exports.Index = exports.Base = exports.Callable = void 0;
4
4
  const core_1 = require("@angular-devkit/core");
5
5
  const random_1 = require("../../random");
6
6
  const import_1 = require("./import");
7
7
  const schematics_1 = require("@angular-devkit/schematics");
8
8
  const csdl_function_action_1 = require("../metadata/csdl/csdl-function-action");
9
9
  const utils_1 = require("../utils");
10
- const makeRelativePath = (from, to) => {
11
- if (from === '') {
12
- return to;
13
- }
14
- if (to.startsWith(from)) {
15
- return to.substring(from.length + 1);
16
- }
17
- let shared = from;
18
- let i = 0;
19
- while (shared.length > 0 && !to.startsWith(shared)) {
20
- shared = shared.substring(0, shared.lastIndexOf('/'));
21
- i++;
22
- }
23
- return (Array.from({ length: i }).fill('..').join('/') +
24
- '/' +
25
- to.substring(shared.length));
26
- };
27
10
  class Callable {
28
11
  constructor(callable) {
29
12
  this.callable = callable;
13
+ this.callables = [];
14
+ this.callables.push(callable);
15
+ }
16
+ addOverload(callable) {
17
+ this.callables.push(callable);
30
18
  }
31
19
  name() {
32
20
  return this.callable.Name;
33
21
  }
34
22
  isBound() {
35
- return this.callable.IsBound;
23
+ var _a;
24
+ return (_a = this.callable.IsBound) !== null && _a !== void 0 ? _a : false;
36
25
  }
37
26
  bindingParameter() {
38
27
  var _a;
39
28
  return (_a = this.callable.Parameter) === null || _a === void 0 ? void 0 : _a.find((p) => p.Name === csdl_function_action_1.BINDING_PARAMETER_NAME);
40
29
  }
41
30
  parameters() {
42
- var _a, _b;
43
- return ((_b = (_a = this.callable.Parameter) === null || _a === void 0 ? void 0 : _a.filter((p) => p.Name !== csdl_function_action_1.BINDING_PARAMETER_NAME)) !== null && _b !== void 0 ? _b : []);
31
+ const parameters = this.callables.reduce((acc, c) => {
32
+ var _a;
33
+ for (let param of (_a = c.Parameter) !== null && _a !== void 0 ? _a : []) {
34
+ if (acc.some((p) => p.Name === param.Name))
35
+ continue;
36
+ acc.push(param);
37
+ }
38
+ return acc;
39
+ }, []);
40
+ const names = parameters.map((p) => p.Name);
41
+ const binding = parameters.find((p) => p.Name === csdl_function_action_1.BINDING_PARAMETER_NAME);
42
+ const inAllCallables = names.filter((n) => n !== csdl_function_action_1.BINDING_PARAMETER_NAME &&
43
+ this.callables.every((c) => { var _a; return ((_a = c.Parameter) !== null && _a !== void 0 ? _a : []).some((p) => p.Name === n); }));
44
+ const required = parameters.filter((p) => p.Name !== csdl_function_action_1.BINDING_PARAMETER_NAME && inAllCallables.includes(p.Name));
45
+ const optional = parameters.filter((p) => p.Name !== csdl_function_action_1.BINDING_PARAMETER_NAME && !inAllCallables.includes(p.Name));
46
+ return {
47
+ binding,
48
+ required,
49
+ optional,
50
+ };
44
51
  }
45
52
  returnType() {
46
53
  return this.callable.ReturnType;
@@ -51,30 +58,33 @@ class Callable {
51
58
  resourceFunction() {
52
59
  const isFunction = this.callable instanceof csdl_function_action_1.CsdlFunction;
53
60
  const methodName = core_1.strings.camelize(this.callable.Name);
54
- const bindingParameter = this.bindingParameter();
55
- const bindingType = bindingParameter !== undefined
56
- ? (0, utils_1.toTypescriptType)(bindingParameter.Type)
57
- : '';
61
+ const { binding, required, optional } = this.parameters();
62
+ const parameters = [...required, ...optional];
63
+ const bindingType = binding !== undefined ? (0, utils_1.toTypescriptType)(binding.Type) : '';
58
64
  const returnType = this.returnType();
59
65
  const retType = returnType === undefined ? 'null' : (0, utils_1.toTypescriptType)(returnType.Type);
60
- const bindingMethod = !(bindingParameter === null || bindingParameter === void 0 ? void 0 : bindingParameter.Collection) ? 'entity' : 'entities';
66
+ const bindingMethod = !(binding === null || binding === void 0 ? void 0 : binding.Collection) ? 'entity' : 'entities';
61
67
  const baseMethod = isFunction ? 'function' : 'action';
62
- const keyParameter = !(bindingParameter === null || bindingParameter === void 0 ? void 0 : bindingParameter.Collection)
68
+ const keyParameter = !(binding === null || binding === void 0 ? void 0 : binding.Collection)
63
69
  ? `key: EntityKey<${bindingType}>`
64
70
  : '';
65
- const key = !(bindingParameter === null || bindingParameter === void 0 ? void 0 : bindingParameter.Collection) ? `key` : '';
66
- const parameters = this.parameters();
71
+ const key = !(binding === null || binding === void 0 ? void 0 : binding.Collection) ? `key` : '';
67
72
  const parametersType = parameters.length === 0
68
73
  ? 'null'
69
- : `{${parameters.map((p) => `${p.Name}: ${(0, utils_1.toTypescriptType)(p.Type)}`).join(', ')}}`;
74
+ : `{${parameters
75
+ .map((p) => {
76
+ const op = optional.includes(p);
77
+ return `${p.Name}${op ? '?' : ''}: ${(0, utils_1.toTypescriptType)(p.Type)}`;
78
+ })
79
+ .join(', ')}}`;
70
80
  return `public ${methodName}(${keyParameter}) {
71
81
  return this.${bindingMethod}(${key}).${baseMethod}<${parametersType}, ${retType}>('${this.fullName()}');
72
82
  }`;
73
83
  }
74
84
  callableFunction() {
75
85
  const isFunction = this.callable instanceof csdl_function_action_1.CsdlFunction;
76
- const bindingParameter = this.bindingParameter();
77
- const parameters = this.parameters();
86
+ const { binding, required, optional } = this.parameters();
87
+ const parameters = [...required, ...optional];
78
88
  const returnType = this.returnType();
79
89
  const methodResourceName = core_1.strings.camelize(this.callable.Name);
80
90
  const methodName = core_1.strings.classify(this.callable.Name);
@@ -86,22 +96,24 @@ class Callable {
86
96
  ? 'property'
87
97
  : 'entity';
88
98
  const retType = returnType === undefined ? 'null' : (0, utils_1.toTypescriptType)(returnType.Type);
89
- const bindingType = bindingParameter !== undefined
90
- ? (0, utils_1.toTypescriptType)(bindingParameter.Type)
91
- : '';
99
+ const bindingType = binding !== undefined ? (0, utils_1.toTypescriptType)(binding.Type) : '';
92
100
  const baseMethod = isFunction ? 'callFunction' : 'callAction';
93
101
  const parametersCall = parameters.length === 0
94
102
  ? 'null'
95
103
  : `{${parameters.map((p) => p.Name).join(', ')}}`;
96
104
  // Method arguments
97
- let args = !(bindingParameter === null || bindingParameter === void 0 ? void 0 : bindingParameter.Collection)
98
- ? [`key: EntityKey<${bindingType}>`]
99
- : [];
105
+ let args = !(binding === null || binding === void 0 ? void 0 : binding.Collection) ? [`key: EntityKey<${bindingType}>`] : [];
100
106
  args = [
101
107
  ...args,
102
- ...(parameters.length === 0
108
+ ...(required.length === 0
103
109
  ? []
104
- : parameters.map((p) => `${p.Name}: ${(0, utils_1.toTypescriptType)(p.Type)}`)),
110
+ : required.map((p) => `${p.Name}: ${(0, utils_1.toTypescriptType)(p.Type)}`)),
111
+ ];
112
+ args = [
113
+ ...args,
114
+ ...(optional.length === 0
115
+ ? []
116
+ : optional.map((p) => `${p.Name}?: ${(0, utils_1.toTypescriptType)(p.Type)}`)),
105
117
  ];
106
118
  const optionsType = returnType !== undefined && returnType.Type.startsWith('Edm.')
107
119
  ? isFunction
@@ -112,7 +124,7 @@ class Callable {
112
124
  : `ODataActionOptions<${retType}>`;
113
125
  args.push(`options?: ${optionsType}`);
114
126
  // Key parameter
115
- const key = !(bindingParameter === null || bindingParameter === void 0 ? void 0 : bindingParameter.Collection) ? `key` : '';
127
+ const key = !(binding === null || binding === void 0 ? void 0 : binding.Collection) ? `key` : '';
116
128
  // Render
117
129
  return `public call${methodName}(${args.join(', ')}) {
118
130
  return this.${baseMethod}(${parametersCall}, this.${methodResourceName}(${key}), '${responseType}', options);
@@ -135,7 +147,7 @@ class Base {
135
147
  const groups = this.dependencies
136
148
  .filter((a) => a[1].path() != this.path())
137
149
  .reduce((acc, i) => {
138
- const path = makeRelativePath(this.directory(), i[1].path());
150
+ const path = (0, utils_1.makeRelativePath)(this.directory(), i[1].path());
139
151
  if (acc[path] === undefined) {
140
152
  acc[path] = [];
141
153
  }
@@ -197,4 +209,32 @@ class Index extends Base {
197
209
  }
198
210
  }
199
211
  exports.Index = Index;
212
+ class Metadata extends Base {
213
+ constructor(options, meta) {
214
+ super(options);
215
+ this.meta = meta;
216
+ }
217
+ template() {
218
+ return (0, schematics_1.url)('./files/metadata');
219
+ }
220
+ variables() {
221
+ return { content: JSON.stringify(this.meta.toJson(), null, 2) };
222
+ }
223
+ name() {
224
+ return '';
225
+ }
226
+ fileName() {
227
+ return 'metadata';
228
+ }
229
+ directory() {
230
+ return '';
231
+ }
232
+ fullName() {
233
+ return this.name();
234
+ }
235
+ importTypes() {
236
+ return [];
237
+ }
238
+ }
239
+ exports.Metadata = Metadata;
200
240
  //# sourceMappingURL=base.js.map