@webda/core 1.6.0-beta.3 → 2.0.0-beta.2

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 (253) hide show
  1. package/lib/application.d.ts +355 -195
  2. package/lib/application.js +188 -682
  3. package/lib/application.js.map +1 -1
  4. package/lib/application.spec.js +109 -289
  5. package/lib/application.spec.js.map +1 -1
  6. package/lib/core.d.ts +150 -215
  7. package/lib/core.js +188 -71
  8. package/lib/core.js.map +1 -1
  9. package/lib/core.spec.js +103 -42
  10. package/lib/core.spec.js.map +1 -1
  11. package/lib/index.d.ts +4 -0
  12. package/lib/index.js +9 -1
  13. package/lib/index.js.map +1 -1
  14. package/lib/models/aclmodel.d.ts +3 -1
  15. package/lib/models/aclmodel.js +6 -3
  16. package/lib/models/aclmodel.js.map +1 -1
  17. package/lib/models/aclmodel.spec.js +10 -5
  18. package/lib/models/aclmodel.spec.js.map +1 -1
  19. package/lib/models/coremodel.d.ts +86 -24
  20. package/lib/models/coremodel.js +85 -36
  21. package/lib/models/coremodel.js.map +1 -1
  22. package/lib/models/coremodel.spec.js +21 -2
  23. package/lib/models/coremodel.spec.js.map +1 -1
  24. package/lib/models/ident.d.ts +7 -5
  25. package/lib/models/ident.js +2 -1
  26. package/lib/models/ident.js.map +1 -1
  27. package/lib/models/ident.spec.js +1 -1
  28. package/lib/models/ident.spec.js.map +1 -1
  29. package/lib/models/ownermodel.d.ts +18 -4
  30. package/lib/models/ownermodel.js +24 -4
  31. package/lib/models/ownermodel.js.map +1 -1
  32. package/lib/models/ownermodel.spec.js +18 -1
  33. package/lib/models/ownermodel.spec.js.map +1 -1
  34. package/lib/models/rolemodel.js.map +1 -1
  35. package/lib/models/rolemodel.spec.js +5 -2
  36. package/lib/models/rolemodel.spec.js.map +1 -1
  37. package/lib/models/user.d.ts +7 -6
  38. package/lib/models/user.js +2 -1
  39. package/lib/models/user.js.map +1 -1
  40. package/lib/models/user.spec.js +1 -1
  41. package/lib/models/user.spec.js.map +1 -1
  42. package/lib/queues/filequeue.d.ts +2 -7
  43. package/lib/queues/filequeue.js +4 -13
  44. package/lib/queues/filequeue.js.map +1 -1
  45. package/lib/queues/filequeue.spec.js +2 -3
  46. package/lib/queues/filequeue.spec.js.map +1 -1
  47. package/lib/queues/memoryqueue.d.ts +2 -7
  48. package/lib/queues/memoryqueue.js +1 -11
  49. package/lib/queues/memoryqueue.js.map +1 -1
  50. package/lib/queues/memoryqueue.spec.js +1 -1
  51. package/lib/queues/memoryqueue.spec.js.map +1 -1
  52. package/lib/queues/queue.spec.d.ts +1 -1
  53. package/lib/queues/queue.spec.js +12 -10
  54. package/lib/queues/queue.spec.js.map +1 -1
  55. package/lib/queues/queueservice.d.ts +1 -1
  56. package/lib/queues/queueservice.js +1 -1
  57. package/lib/queues/queueservice.js.map +1 -1
  58. package/lib/router.d.ts +52 -2
  59. package/lib/router.js +80 -51
  60. package/lib/router.js.map +1 -1
  61. package/lib/router.spec.js +23 -6
  62. package/lib/router.spec.js.map +1 -1
  63. package/lib/services/asyncevents.d.ts +1 -0
  64. package/lib/services/asyncevents.js +4 -3
  65. package/lib/services/asyncevents.js.map +1 -1
  66. package/lib/services/asyncevents.spec.js +2 -2
  67. package/lib/services/asyncevents.spec.js.map +1 -1
  68. package/lib/services/authentication.d.ts +39 -11
  69. package/lib/services/authentication.js +60 -55
  70. package/lib/services/authentication.js.map +1 -1
  71. package/lib/services/authentication.spec.js +2 -1
  72. package/lib/services/authentication.spec.js.map +1 -1
  73. package/lib/services/binary.d.ts +127 -65
  74. package/lib/services/binary.js +255 -98
  75. package/lib/services/binary.js.map +1 -1
  76. package/lib/services/binary.spec.d.ts +2 -1
  77. package/lib/services/binary.spec.js +101 -30
  78. package/lib/services/binary.spec.js.map +1 -1
  79. package/lib/services/cloudbinary.d.ts +67 -0
  80. package/lib/services/cloudbinary.js +178 -0
  81. package/lib/services/cloudbinary.js.map +1 -0
  82. package/lib/services/cloudbinary.spec.d.ts +13 -0
  83. package/lib/services/cloudbinary.spec.js +212 -0
  84. package/lib/services/cloudbinary.spec.js.map +1 -0
  85. package/lib/services/configuration.d.ts +7 -2
  86. package/lib/services/configuration.js +6 -5
  87. package/lib/services/configuration.js.map +1 -1
  88. package/lib/services/configuration.spec.js +3 -2
  89. package/lib/services/configuration.spec.js.map +1 -1
  90. package/lib/services/cron.d.ts +5 -6
  91. package/lib/services/cron.js +5 -12
  92. package/lib/services/cron.js.map +1 -1
  93. package/lib/services/cron.spec.js +3 -4
  94. package/lib/services/cron.spec.js.map +1 -1
  95. package/lib/services/debugmailer.d.ts +3 -5
  96. package/lib/services/debugmailer.js +3 -11
  97. package/lib/services/debugmailer.js.map +1 -1
  98. package/lib/services/debugmailer.spec.js +1 -1
  99. package/lib/services/debugmailer.spec.js.map +1 -1
  100. package/lib/services/echo.d.ts +3 -7
  101. package/lib/services/echo.js +1 -11
  102. package/lib/services/echo.js.map +1 -1
  103. package/lib/services/echo.spec.js +4 -3
  104. package/lib/services/echo.spec.js.map +1 -1
  105. package/lib/services/filebinary.d.ts +45 -16
  106. package/lib/services/filebinary.js +147 -50
  107. package/lib/services/filebinary.js.map +1 -1
  108. package/lib/services/filebinary.spec.d.ts +4 -2
  109. package/lib/services/filebinary.spec.js +50 -12
  110. package/lib/services/filebinary.spec.js.map +1 -1
  111. package/lib/services/fileconfiguration.d.ts +1 -5
  112. package/lib/services/fileconfiguration.js +3 -12
  113. package/lib/services/fileconfiguration.js.map +1 -1
  114. package/lib/services/fileconfiguration.spec.js +2 -2
  115. package/lib/services/fileconfiguration.spec.js.map +1 -1
  116. package/lib/services/invitationservice.d.ts +28 -4
  117. package/lib/services/invitationservice.js +9 -6
  118. package/lib/services/invitationservice.js.map +1 -1
  119. package/lib/services/invitationservice.spec.js +4 -3
  120. package/lib/services/invitationservice.spec.js.map +1 -1
  121. package/lib/services/kubernetesconfiguration.d.ts +3 -5
  122. package/lib/services/kubernetesconfiguration.js +7 -14
  123. package/lib/services/kubernetesconfiguration.js.map +1 -1
  124. package/lib/services/kubernetesconfiguration.spec.js +5 -5
  125. package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
  126. package/lib/services/mailer.d.ts +1 -5
  127. package/lib/services/mailer.js +1 -10
  128. package/lib/services/mailer.js.map +1 -1
  129. package/lib/services/mailer.spec.js +3 -3
  130. package/lib/services/mailer.spec.js.map +1 -1
  131. package/lib/services/notificationservice.d.ts +2 -0
  132. package/lib/services/notificationservice.js +2 -0
  133. package/lib/services/notificationservice.js.map +1 -1
  134. package/lib/services/notificationservice.spec.js +2 -2
  135. package/lib/services/notificationservice.spec.js.map +1 -1
  136. package/lib/services/oauth.d.ts +8 -6
  137. package/lib/services/oauth.js +30 -14
  138. package/lib/services/oauth.js.map +1 -1
  139. package/lib/services/oauth.spec.js +11 -10
  140. package/lib/services/oauth.spec.js.map +1 -1
  141. package/lib/services/resource.d.ts +18 -5
  142. package/lib/services/resource.js +42 -23
  143. package/lib/services/resource.js.map +1 -1
  144. package/lib/services/resource.spec.js +4 -4
  145. package/lib/services/resource.spec.js.map +1 -1
  146. package/lib/services/service.d.ts +25 -25
  147. package/lib/services/service.js +21 -25
  148. package/lib/services/service.js.map +1 -1
  149. package/lib/services/service.spec.js +2 -2
  150. package/lib/services/service.spec.js.map +1 -1
  151. package/lib/services/version.d.ts +2 -5
  152. package/lib/services/version.js +1 -10
  153. package/lib/services/version.js.map +1 -1
  154. package/lib/services/version.spec.js +1 -1
  155. package/lib/services/version.spec.js.map +1 -1
  156. package/lib/stores/aggregator.d.ts +3 -5
  157. package/lib/stores/aggregator.js +3 -10
  158. package/lib/stores/aggregator.js.map +1 -1
  159. package/lib/stores/file.d.ts +15 -8
  160. package/lib/stores/file.js +21 -18
  161. package/lib/stores/file.js.map +1 -1
  162. package/lib/stores/file.spec.d.ts +3 -1
  163. package/lib/stores/file.spec.js +32 -8
  164. package/lib/stores/file.spec.js.map +1 -1
  165. package/lib/stores/mapper.d.ts +1 -5
  166. package/lib/stores/mapper.js +5 -13
  167. package/lib/stores/mapper.js.map +1 -1
  168. package/lib/stores/mapper.spec.js +2 -2
  169. package/lib/stores/mapper.spec.js.map +1 -1
  170. package/lib/stores/memory.d.ts +5 -9
  171. package/lib/stores/memory.js +5 -17
  172. package/lib/stores/memory.js.map +1 -1
  173. package/lib/stores/memory.spec.d.ts +2 -1
  174. package/lib/stores/memory.spec.js +36 -4
  175. package/lib/stores/memory.spec.js.map +1 -1
  176. package/lib/stores/store.d.ts +142 -29
  177. package/lib/stores/store.js +451 -82
  178. package/lib/stores/store.js.map +1 -1
  179. package/lib/stores/store.spec.d.ts +31 -4
  180. package/lib/stores/store.spec.js +206 -35
  181. package/lib/stores/store.spec.js.map +1 -1
  182. package/lib/stores/webdaql/WebdaQLLexer.d.ts +53 -0
  183. package/lib/stores/webdaql/WebdaQLLexer.js +290 -0
  184. package/lib/stores/webdaql/WebdaQLLexer.js.map +1 -0
  185. package/lib/stores/webdaql/WebdaQLParserLexer.d.ts +53 -0
  186. package/lib/stores/webdaql/WebdaQLParserLexer.js +290 -0
  187. package/lib/stores/webdaql/WebdaQLParserLexer.js.map +1 -0
  188. package/lib/stores/webdaql/WebdaQLParserListener.d.ts +284 -0
  189. package/lib/stores/webdaql/WebdaQLParserListener.js +4 -0
  190. package/lib/stores/webdaql/WebdaQLParserListener.js.map +1 -0
  191. package/lib/stores/webdaql/WebdaQLParserParser.d.ts +301 -0
  192. package/lib/stores/webdaql/WebdaQLParserParser.js +1781 -0
  193. package/lib/stores/webdaql/WebdaQLParserParser.js.map +1 -0
  194. package/lib/stores/webdaql/WebdaQLParserVisitor.d.ts +174 -0
  195. package/lib/stores/webdaql/WebdaQLParserVisitor.js +4 -0
  196. package/lib/stores/webdaql/WebdaQLParserVisitor.js.map +1 -0
  197. package/lib/stores/webdaql/query.d.ts +300 -0
  198. package/lib/stores/webdaql/query.js +471 -0
  199. package/lib/stores/webdaql/query.js.map +1 -0
  200. package/lib/stores/webdaql/query.spec.d.ts +1 -0
  201. package/lib/stores/webdaql/query.spec.js +136 -0
  202. package/lib/stores/webdaql/query.spec.js.map +1 -0
  203. package/lib/test.d.ts +54 -9
  204. package/lib/test.js +139 -25
  205. package/lib/test.js.map +1 -1
  206. package/lib/unpackedapplication.d.ts +66 -0
  207. package/lib/unpackedapplication.js +219 -0
  208. package/lib/unpackedapplication.js.map +1 -0
  209. package/lib/utils/abstractdeployer.spec.js +1 -1
  210. package/lib/utils/abstractdeployer.spec.js.map +1 -1
  211. package/lib/utils/context.d.ts +17 -58
  212. package/lib/utils/context.js +33 -124
  213. package/lib/utils/context.js.map +1 -1
  214. package/lib/utils/context.spec.js +52 -28
  215. package/lib/utils/context.spec.js.map +1 -1
  216. package/lib/utils/cookie.d.ts +6 -3
  217. package/lib/utils/cookie.js +9 -5
  218. package/lib/utils/cookie.js.map +1 -1
  219. package/lib/utils/cookie.spec.js +5 -5
  220. package/lib/utils/cookie.spec.js.map +1 -1
  221. package/lib/utils/httpcontext.d.ts +182 -0
  222. package/lib/utils/httpcontext.js +325 -0
  223. package/lib/utils/httpcontext.js.map +1 -0
  224. package/lib/utils/httpcontext.spec.d.ts +5 -0
  225. package/lib/utils/httpcontext.spec.js +90 -0
  226. package/lib/utils/httpcontext.spec.js.map +1 -0
  227. package/lib/utils/logger.d.ts +18 -5
  228. package/lib/utils/logger.js +17 -4
  229. package/lib/utils/logger.js.map +1 -1
  230. package/lib/utils/logger.spec.js.map +1 -1
  231. package/lib/utils/serializers.js +5 -1
  232. package/lib/utils/serializers.js.map +1 -1
  233. package/lib/utils/serializers.spec.js +3 -3
  234. package/lib/utils/serializers.spec.js.map +1 -1
  235. package/lib/utils/waiter.d.ts +1 -1
  236. package/lib/utils/waiter.js.map +1 -1
  237. package/lib/utils/waiter.spec.js +2 -2
  238. package/lib/utils/waiter.spec.js.map +1 -1
  239. package/package.json +25 -18
  240. package/test/config-file-no-reload.json +2 -1
  241. package/test/config-file-reload.json +2 -1
  242. package/test/config-kube-reload.json +2 -1
  243. package/test/config-reload.json +1 -1
  244. package/test/config.json +8 -11
  245. package/test/config.old.json +1 -1
  246. package/test/moddas/annotatedservice.js +1 -3
  247. package/test/moddas/debugmailer.js +2 -7
  248. package/test/moddas/fakeservice.js +1 -1
  249. package/test/moddas/voidstore.js +2 -4
  250. package/test/models/ident.js +1 -1
  251. package/test/models/task.js +1 -6
  252. package/webda.module.json +1124 -0
  253. package/test/config.old-default.json +0 -151
@@ -1,7 +1,32 @@
1
+ import { Core } from "..";
2
+ import { Service } from "../services/service";
1
3
  import { Store } from "../stores/store";
2
- import { Context, HttpMethodType } from "../utils/context";
3
- import { Service } from "..";
4
- import { JSONSchema6 } from "json-schema";
4
+ import { Context } from "../utils/context";
5
+ import { HttpMethodType } from "../utils/httpcontext";
6
+ declare type ModelLoader<T> = {
7
+ refresh: () => Promise<T>;
8
+ getUuid(): string;
9
+ };
10
+ declare type ModelLinker<T> = string & ModelLoader<T>;
11
+ /**
12
+ * Load related objects
13
+ */
14
+ export declare type ModelLinked<T> = (query?: string) => Promise<T[]>;
15
+ /**
16
+ * Define a ModelMap attribute
17
+ */
18
+ export declare type ModelMap<T, _FK extends keyof T, K extends keyof T> = (Pick<T, K> & ModelLoader<T>)[];
19
+ /**
20
+ * Define a link to 1:n or 1:1 relation
21
+ */
22
+ export declare type ModelLink<T, _FK extends keyof T> = ModelLinker<T>;
23
+ /**
24
+ * Define several links for n:m relation
25
+ */
26
+ export declare type ModelLinks<T, _FK extends keyof T> = ModelLinker<T>[] | {
27
+ [key: string]: ModelLinker<T>;
28
+ };
29
+ export declare type ModelParent<T, FK extends keyof T> = ModelLink<T, FK>;
5
30
  /**
6
31
  * Define an export of actions from Model
7
32
  */
@@ -27,14 +52,28 @@ export interface ModelAction {
27
52
  */
28
53
  openapi?: any;
29
54
  }
30
- export interface CoreModelDefinition {
31
- new (): CoreModel;
55
+ export interface CoreModelDefinition<T extends CoreModel = CoreModel> {
56
+ new (): T;
57
+ /**
58
+ * Create a CoreModel object loaded with the content of object
59
+ *
60
+ * It allows polymorphism from Store
61
+ *
62
+ * @param model to create by default
63
+ * @param object to load data from
64
+ * @param context if the data is unsafe from http
65
+ */
66
+ factory(model: new () => T, object: any, context?: Context): T;
32
67
  getActions(): {
33
68
  [key: string]: ModelAction;
34
69
  };
35
70
  getUuidField(): string;
36
71
  getLastUpdateField(): string;
37
72
  getCreationField(): string;
73
+ getPermissionQuery(context?: Context): null | {
74
+ partial: boolean;
75
+ query: string;
76
+ };
38
77
  }
39
78
  /**
40
79
  * Sent if action required attached CoreModel is trigger
@@ -42,6 +81,7 @@ export interface CoreModelDefinition {
42
81
  export declare class CoreModelUnattachedError extends Error {
43
82
  constructor();
44
83
  }
84
+ export declare function NotEnumerable(target: any, propertyKey: string): void;
45
85
  /**
46
86
  * Basic Object in Webda
47
87
  *
@@ -50,9 +90,9 @@ export declare class CoreModelUnattachedError extends Error {
50
90
  * Any variable starting with __ won't be exported outside of the server
51
91
  *
52
92
  * @class
93
+ * @WebdaModel
53
94
  */
54
95
  declare class CoreModel {
55
- static jsonExcludes: string[];
56
96
  /**
57
97
  * Class reference to the object
58
98
  */
@@ -98,18 +138,28 @@ declare class CoreModel {
98
138
  * @param uuid
99
139
  * @param target
100
140
  */
101
- setUuid(uuid: string, target?: any): void;
141
+ setUuid(uuid: string, target?: this): this;
102
142
  /**
103
143
  * Get actions callable on an object
104
144
  *
105
145
  * This will expose them by the Store with /storeUrl/{uuid}/{action}
106
146
  */
107
147
  static getActions(): ModelActions;
148
+ /**
149
+ * Return the expressable query for permission
150
+ *
151
+ * @param context of the query
152
+ * @returns
153
+ */
154
+ static getPermissionQuery(_ctx: Context): null | {
155
+ partial: boolean;
156
+ query: string;
157
+ };
108
158
  /**
109
159
  * By default nothing is permitted on a CoreModel
110
160
  * @returns
111
161
  */
112
- canAct(ctx: Context, action: "create" | "update" | "get" | "delete" | "get_binary" | "detach_binary" | "attach_binary" | string): Promise<this>;
162
+ canAct(_ctx: Context, _action: "create" | "update" | "get" | "delete" | "get_binary" | "detach_binary" | "attach_binary" | "update_binary_metadata" | string): Promise<this>;
113
163
  /**
114
164
  * Get the UUID property
115
165
  */
@@ -122,6 +172,11 @@ declare class CoreModel {
122
172
  * Get the UUID property
123
173
  */
124
174
  static getCreationField(): string;
175
+ /**
176
+ * Create an object
177
+ * @returns
178
+ */
179
+ static factory(model: new () => CoreModel, object: any, context?: Context): CoreModel;
125
180
  /**
126
181
  * Return if an object is attached to its store
127
182
  */
@@ -129,28 +184,43 @@ declare class CoreModel {
129
184
  /**
130
185
  * Attach an object to a store instance
131
186
  */
132
- attach(store: Store<CoreModel>): void;
187
+ attach(store: Store<CoreModel>): this;
188
+ /**
189
+ * Return a unique reference within the application to the object
190
+ *
191
+ * It contains the Store containing it
192
+ * @returns
193
+ */
194
+ getFullUuid(): string;
195
+ /**
196
+ * Get an object from the full uuid
197
+ * @param core
198
+ * @param fullUuid
199
+ * @param partials
200
+ * @returns
201
+ */
202
+ static fromFullUuid<T extends CoreModel = CoreModel>(core: Core, fullUuid: string, partials?: any): Promise<T>;
133
203
  /**
134
204
  * Load an object from RAW
135
205
  *
136
206
  * @param raw data
137
207
  * @param secure if false will ignore any _ variable
138
208
  */
139
- load(raw: any, secure?: boolean): void;
209
+ load(raw: any, secure?: boolean): this;
140
210
  /**
141
211
  * Context of the request
142
212
  */
143
- setContext(ctx: Context): void;
213
+ setContext(ctx: Context): this;
144
214
  /**
145
215
  * Get object context
146
216
  *
147
217
  * Global object does not belong to a request
148
218
  */
149
- getContext(): Context;
219
+ getContext(): Context<any, any>;
150
220
  /**
151
221
  * Return the object registered store
152
222
  */
153
- getStore(): Store<CoreModel, import("..").StoreParameters>;
223
+ getStore(): Store<CoreModel, import("..").StoreParameters, import("..").StoreEvents>;
154
224
  /**
155
225
  * Get the object again
156
226
  *
@@ -174,15 +244,7 @@ declare class CoreModel {
174
244
  *
175
245
  * @throws Error if the object is not coming from a store
176
246
  */
177
- update(changes: any): Promise<void>;
178
- /**
179
- * Allow to specify the JSONSchema to configure this service
180
- *
181
- * Return undefined by default to fallback on typescript-json-schema guess
182
- *
183
- * Using this method should only be exception
184
- */
185
- static getSchema(): JSONSchema6;
247
+ update(changes: any): Promise<this>;
186
248
  /**
187
249
  * Validate objet modification
188
250
  *
@@ -196,7 +258,7 @@ declare class CoreModel {
196
258
  * @param object
197
259
  * @returns
198
260
  */
199
- generateUid(object?: any): string;
261
+ generateUid(_object?: any): string;
200
262
  /**
201
263
  * Remove all the attribute starting with __
202
264
  * @param key
@@ -258,7 +320,7 @@ declare class CoreModel {
258
320
  *
259
321
  * @param updates to be send
260
322
  */
261
- _onUpdate(updates: any): Promise<void>;
323
+ _onUpdate(_updates: any): Promise<void>;
262
324
  /**
263
325
  * Called when object is updated
264
326
  */
@@ -1,4 +1,10 @@
1
1
  "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
2
8
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
9
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
10
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -9,7 +15,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
15
  });
10
16
  };
11
17
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.CoreModel = exports.CoreModelUnattachedError = void 0;
18
+ exports.CoreModel = exports.NotEnumerable = exports.CoreModelUnattachedError = void 0;
13
19
  const uuid_1 = require("uuid");
14
20
  const context_1 = require("../utils/context");
15
21
  /**
@@ -21,6 +27,19 @@ class CoreModelUnattachedError extends Error {
21
27
  }
22
28
  }
23
29
  exports.CoreModelUnattachedError = CoreModelUnattachedError;
30
+ function NotEnumerable(target, propertyKey) {
31
+ Object.defineProperty(target, propertyKey, {
32
+ set(value) {
33
+ Object.defineProperty(this, propertyKey, {
34
+ value,
35
+ writable: true,
36
+ configurable: true
37
+ });
38
+ },
39
+ configurable: true
40
+ });
41
+ }
42
+ exports.NotEnumerable = NotEnumerable;
24
43
  /**
25
44
  * Basic Object in Webda
26
45
  *
@@ -29,6 +48,7 @@ exports.CoreModelUnattachedError = CoreModelUnattachedError;
29
48
  * Any variable starting with __ won't be exported outside of the server
30
49
  *
31
50
  * @class
51
+ * @WebdaModel
32
52
  */
33
53
  class CoreModel {
34
54
  constructor() {
@@ -49,6 +69,7 @@ class CoreModel {
49
69
  */
50
70
  setUuid(uuid, target = this) {
51
71
  target[this.__class.getUuidField()] = uuid;
72
+ return target;
52
73
  }
53
74
  /**
54
75
  * Get actions callable on an object
@@ -58,11 +79,20 @@ class CoreModel {
58
79
  static getActions() {
59
80
  return {};
60
81
  }
82
+ /**
83
+ * Return the expressable query for permission
84
+ *
85
+ * @param context of the query
86
+ * @returns
87
+ */
88
+ static getPermissionQuery(_ctx) {
89
+ return null;
90
+ }
61
91
  /**
62
92
  * By default nothing is permitted on a CoreModel
63
93
  * @returns
64
94
  */
65
- canAct(ctx, action) {
95
+ canAct(_ctx, _action) {
66
96
  return __awaiter(this, void 0, void 0, function* () {
67
97
  throw 403;
68
98
  });
@@ -85,6 +115,13 @@ class CoreModel {
85
115
  static getCreationField() {
86
116
  return "_creationDate";
87
117
  }
118
+ /**
119
+ * Create an object
120
+ * @returns
121
+ */
122
+ static factory(model, object, context) {
123
+ return new model().setContext(context).load(object, context === undefined);
124
+ }
88
125
  /**
89
126
  * Return if an object is attached to its store
90
127
  */
@@ -96,6 +133,36 @@ class CoreModel {
96
133
  */
97
134
  attach(store) {
98
135
  this.__store = store;
136
+ return this;
137
+ }
138
+ /**
139
+ * Return a unique reference within the application to the object
140
+ *
141
+ * It contains the Store containing it
142
+ * @returns
143
+ */
144
+ getFullUuid() {
145
+ if (!this.isAttached()) {
146
+ throw new Error("Cannot return full uuid of unattached object");
147
+ }
148
+ return `${this.__store.getName()}$${this.getUuid()}`;
149
+ }
150
+ /**
151
+ * Get an object from the full uuid
152
+ * @param core
153
+ * @param fullUuid
154
+ * @param partials
155
+ * @returns
156
+ */
157
+ static fromFullUuid(core, fullUuid, partials) {
158
+ return __awaiter(this, void 0, void 0, function* () {
159
+ const [store, uuid] = fullUuid.split("$");
160
+ let service = core.getService(store);
161
+ if (partials) {
162
+ return service.initModel(partials).setUuid(uuid);
163
+ }
164
+ return service.get(uuid);
165
+ });
99
166
  }
100
167
  /**
101
168
  * Load an object from RAW
@@ -115,12 +182,14 @@ class CoreModel {
115
182
  if (!this.getUuid()) {
116
183
  this.setUuid(this.generateUid(raw));
117
184
  }
185
+ return this;
118
186
  }
119
187
  /**
120
188
  * Context of the request
121
189
  */
122
190
  setContext(ctx) {
123
191
  this.__ctx = ctx;
192
+ return this;
124
193
  }
125
194
  /**
126
195
  * Get object context
@@ -206,18 +275,9 @@ class CoreModel {
206
275
  for (var i in obj) {
207
276
  this[i] = obj[i];
208
277
  }
278
+ return this;
209
279
  });
210
280
  }
211
- /**
212
- * Allow to specify the JSONSchema to configure this service
213
- *
214
- * Return undefined by default to fallback on typescript-json-schema guess
215
- *
216
- * Using this method should only be exception
217
- */
218
- static getSchema() {
219
- return undefined;
220
- }
221
281
  /**
222
282
  * Validate objet modification
223
283
  *
@@ -226,17 +286,7 @@ class CoreModel {
226
286
  */
227
287
  validate(ctx, updates = undefined) {
228
288
  return __awaiter(this, void 0, void 0, function* () {
229
- // Load updates before validating itself
230
- if (updates) {
231
- this.load(updates);
232
- }
233
- if (!ctx.getWebda().validateSchema(this, this)) {
234
- throw new Error(ctx
235
- .getWebda()
236
- .validationLastErrors()
237
- .map(e => e.message)
238
- .join(","));
239
- }
289
+ ctx.getWebda().validateSchema(this, updates);
240
290
  return true;
241
291
  });
242
292
  }
@@ -246,7 +296,7 @@ class CoreModel {
246
296
  * @param object
247
297
  * @returns
248
298
  */
249
- generateUid(object = undefined) {
299
+ generateUid(_object = undefined) {
250
300
  return (0, uuid_1.v4)().toString();
251
301
  }
252
302
  /**
@@ -269,15 +319,9 @@ class CoreModel {
269
319
  */
270
320
  toStoredJSON(stringify = false) {
271
321
  let obj = this._toJSON(true);
272
- obj.__store = undefined;
273
322
  obj.__type = this.__class.name;
274
323
  if (stringify) {
275
- return JSON.stringify(obj, (key, value) => {
276
- if (CoreModel.jsonExcludes.indexOf(key) >= 0) {
277
- return undefined;
278
- }
279
- return value;
280
- });
324
+ return JSON.stringify(obj);
281
325
  }
282
326
  return obj;
283
327
  }
@@ -305,9 +349,6 @@ class CoreModel {
305
349
  let obj = {};
306
350
  for (let i in this) {
307
351
  let value = this[i];
308
- if (CoreModel.jsonExcludes.indexOf(i) >= 0) {
309
- continue;
310
- }
311
352
  if (!secure) {
312
353
  value = this._jsonFilter(i, this[i]);
313
354
  }
@@ -370,7 +411,7 @@ class CoreModel {
370
411
  *
371
412
  * @param updates to be send
372
413
  */
373
- _onUpdate(updates) {
414
+ _onUpdate(_updates) {
374
415
  return __awaiter(this, void 0, void 0, function* () {
375
416
  // Empty to be overriden
376
417
  });
@@ -384,6 +425,14 @@ class CoreModel {
384
425
  });
385
426
  }
386
427
  }
428
+ __decorate([
429
+ NotEnumerable
430
+ ], CoreModel.prototype, "__class", void 0);
431
+ __decorate([
432
+ NotEnumerable
433
+ ], CoreModel.prototype, "__ctx", void 0);
434
+ __decorate([
435
+ NotEnumerable
436
+ ], CoreModel.prototype, "__store", void 0);
387
437
  exports.CoreModel = CoreModel;
388
- CoreModel.jsonExcludes = ["__store", "__ctx"];
389
438
  //# sourceMappingURL=coremodel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"coremodel.js","sourceRoot":"","sources":["../../src/models/coremodel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coremodel.js","sourceRoot":"","sources":["../../src/models/coremodel.ts"],"names":[],"mappings":"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"}
@@ -17,9 +17,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  const mocha_1 = require("@testdeck/mocha");
19
19
  const assert = require("assert");
20
- const test_1 = require("../test");
21
- const __1 = require("..");
22
20
  const sinon = require("sinon");
21
+ const __1 = require("..");
22
+ const test_1 = require("../test");
23
23
  const Task = require("../../test/models/task");
24
24
  let CoreModelTest = class CoreModelTest extends test_1.WebdaTest {
25
25
  unsecureLoad() {
@@ -116,6 +116,22 @@ let CoreModelTest = class CoreModelTest extends test_1.WebdaTest {
116
116
  assert.strictEqual(this.getService("ResourceService"), task.getService("ResourceService"));
117
117
  });
118
118
  }
119
+ fullUuid() {
120
+ return __awaiter(this, void 0, void 0, function* () {
121
+ let task = new Task();
122
+ task.setUuid("task#1");
123
+ assert.throws(() => task.getFullUuid(), /Cannot return full uuid of unattached object/);
124
+ let memoryStore = this.getService("MemoryUsers");
125
+ task = yield memoryStore.save(Object.assign(Object.assign({}, task), { test: false }));
126
+ assert.strictEqual(task.getFullUuid(), "MemoryUsers$task#1");
127
+ let taskB = yield this.webda.getModelObject("MemoryUsers$task#1");
128
+ // @ts-ignore
129
+ assert.strictEqual(taskB.test, false);
130
+ taskB = yield this.webda.getModelObject(task.getFullUuid(), { test: true });
131
+ // @ts-ignore
132
+ assert.strictEqual(taskB.test, true);
133
+ });
134
+ }
119
135
  refresh() {
120
136
  return __awaiter(this, void 0, void 0, function* () {
121
137
  let task = new Task();
@@ -152,6 +168,9 @@ __decorate([
152
168
  __decorate([
153
169
  mocha_1.test
154
170
  ], CoreModelTest.prototype, "cov", null);
171
+ __decorate([
172
+ mocha_1.test
173
+ ], CoreModelTest.prototype, "fullUuid", null);
155
174
  __decorate([
156
175
  mocha_1.test
157
176
  ], CoreModelTest.prototype, "refresh", null);
@@ -1 +1 @@
1
- {"version":3,"file":"coremodel.spec.js","sourceRoot":"","sources":["../../src/models/coremodel.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAA8C;AAC9C,iCAAiC;AACjC,kCAAoC;AACpC,0BAA+B;AAC/B,+BAA+B;AAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAG/C,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,gBAAS;IACH,YAAY;QAC1C,IAAI,MAAM,GAAQ,IAAI,aAAS,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC;YACV,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;QACH,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAEkC,iBAAiB;QAClD,IAAI,MAAM,GAAQ,IAAI,aAAS,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CACT;YACE,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE,QAAQ;SACvB,EACD,IAAI,CACL,CAAC;QACF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACzC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxC,OAAO,MAAM,CAAC;IAChB,CAAC;IAE2B,UAAU;QACpC,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtC,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACrD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC;IAEkC,gBAAgB;QACjD,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtC,IAAI,QAAQ,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;QACrC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACpD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAE8C,yBAAyB;QACtE,IAAI,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACtC,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QACpD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1C,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC;IAE4D,WAAW;;YACtE,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACrB,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChB,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAC/C,CAAC;KAAA;IAEW,GAAG;;YACb,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,aAAS,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;YAC7E,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAC9B,MAAM,aAAa,GAAG,gCAAgC,CAAC;YACvD,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,aAAa,CAAC,CAAC;YAC1D,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,aAAa,CAAC,CAAC;YACvD,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,aAAa,CAAC,CAAC;YACzD,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;YAC1E,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,aAAa,CAAC,CAAC;YACvE,IAAI,KAAK,GAAG;gBACV,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAClD,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;gBAChB,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;aAChB,CAAC;YACF,aAAa;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnB,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAC7B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;YAC3C,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,CAAC;YACrD,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACvE,IAAI,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC3C,IAAI,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YAClF,IAAI;gBACF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACrB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;gBAC3C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACzC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBAC3C,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;gBACvC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBAC3C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;aAC1C;oBAAS;gBACR,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,SAAS,CAAC,OAAO,EAAE,CAAC;aACrB;YACD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC7F,CAAC;KAAA;IAEW,OAAO;;YACjB,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,GAAG;gBACb,GAAG,EAAE,GAAG,EAAE,CAAC,SAAS;aACrB,CAAC;YACF,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,OAAO,GAAG;gBACb,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;aACjC,CAAC;YACF,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC3C,CAAC;KAAA;CACF,CAAA;AA/GiC;IAA/B,IAAA,YAAI,EAAC,wBAAwB,CAAC;iDAQ9B;AAEkC;IAAlC,IAAA,YAAI,EAAC,2BAA2B,CAAC;sDAajC;AAE2B;IAA3B,IAAA,YAAI,EAAC,oBAAoB,CAAC;+CAO1B;AAEkC;IAAlC,IAAA,YAAI,EAAC,2BAA2B,CAAC;qDAMjC;AAE8C;IAA9C,IAAA,YAAI,EAAC,uCAAuC,CAAC;8DAO7C;AAEsD;IAAtD,IAAA,YAAI,EAAC,+CAA+C,CAAC;gDAOrD;AAEK;IAAL,YAAI;wCAqCJ;AAEK;IAAL,YAAI;4CAWJ;AA/GG,aAAa;IADlB,aAAK;GACA,aAAa,CAgHlB"}
1
+ {"version":3,"file":"coremodel.spec.js","sourceRoot":"","sources":["../../src/models/coremodel.spec.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,22 @@
1
+ import { ModelLink } from "./coremodel";
1
2
  import { OwnerModel } from "./ownermodel";
2
- declare class IdentTokens {
3
+ import { User } from "./user";
4
+ export declare class IdentTokens {
3
5
  refresh: string;
4
6
  access: string;
5
7
  }
6
8
  /**
7
9
  * First basic model for Ident
8
10
  * @class
11
+ * @WebdaModel
9
12
  */
10
- declare class Ident extends OwnerModel {
13
+ export declare class Ident extends OwnerModel {
11
14
  _type: string;
12
15
  uid: string;
13
16
  __profile: any;
14
17
  __tokens: IdentTokens;
15
18
  _lastUsed: Date;
16
- _user: string;
19
+ _user: ModelLink<User, "_idents">;
17
20
  __new: boolean;
18
21
  _failedLogin: number;
19
22
  /**
@@ -29,10 +32,9 @@ declare class Ident extends OwnerModel {
29
32
  */
30
33
  email?: string;
31
34
  static init(type: string, uid: string, accessToken?: string, refreshToken?: string, profile?: object): Ident;
32
- getUser(): string;
35
+ getUser(): ModelLink<User, "_idents">;
33
36
  getEmail(): string;
34
37
  setUser(user: any): void;
35
38
  getType(): string;
36
39
  setType(type: any): void;
37
40
  }
38
- export { Ident, IdentTokens };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.IdentTokens = exports.Ident = void 0;
3
+ exports.Ident = exports.IdentTokens = void 0;
4
4
  const ownermodel_1 = require("./ownermodel");
5
5
  class IdentTokens {
6
6
  }
@@ -8,6 +8,7 @@ exports.IdentTokens = IdentTokens;
8
8
  /**
9
9
  * First basic model for Ident
10
10
  * @class
11
+ * @WebdaModel
11
12
  */
12
13
  class Ident extends ownermodel_1.OwnerModel {
13
14
  static init(type, uid, accessToken = "", refreshToken = "", profile = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"ident.js","sourceRoot":"","sources":["../../src/models/ident.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AACb,6CAA0C;AAE1C,MAAM,WAAW;CAGhB;AAqEe,kCAAW;AApE3B;;;GAGG;AACH,MAAM,KAAM,SAAQ,uBAAU;IAsB5B,MAAM,CAAC,IAAI,CACT,IAAY,EACZ,GAAW,EACX,cAAsB,EAAE,EACxB,eAAuB,EAAE,EACzB,UAAkB,EAAE;QAEpB,IAAI,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;QACtB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAC5B,IAAI,GAAG,CAAC,KAAK,KAAK,OAAO,EAAE;YACzB,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC;SACrB;QACD,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC;QACrC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;QACxB,GAAG,CAAC,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;QACjC,GAAG,CAAC,QAAQ,CAAC,OAAO,GAAG,YAAY,CAAC;QACpC,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC;QAClC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,OAAO,CAAC,IAAI;QACV,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,OAAO,CAAC,IAAI;QACV,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;CACF;AAEQ,sBAAK"}
1
+ {"version":3,"file":"ident.js","sourceRoot":"","sources":["../../src/models/ident.ts"],"names":[],"mappings":";;;AACA,6CAA0C;AAG1C,MAAa,WAAW;CAGvB;AAHD,kCAGC;AACD;;;;GAIG;AACH,MAAa,KAAM,SAAQ,uBAAU;IAsBnC,MAAM,CAAC,IAAI,CACT,IAAY,EACZ,GAAW,EACX,cAAsB,EAAE,EACxB,eAAuB,EAAE,EACzB,UAAkB,EAAE;QAEpB,IAAI,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;QACtB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAC5B,IAAI,GAAG,CAAC,KAAK,KAAK,OAAO,EAAE;YACzB,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC;SACrB;QACD,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC;QACrC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;QACxB,GAAG,CAAC,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;QACjC,GAAG,CAAC,QAAQ,CAAC,OAAO,GAAG,YAAY,CAAC;QACpC,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC;QAClC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,OAAO,CAAC,IAAI;QACV,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,OAAO,CAAC,IAAI;QACV,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;CACF;AA9DD,sBA8DC"}
@@ -6,8 +6,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- const assert = require("assert");
10
9
  const mocha_1 = require("@testdeck/mocha");
10
+ const assert = require("assert");
11
11
  const ident_1 = require("./ident");
12
12
  let IdentTest = class IdentTest {
13
13
  getType() {
@@ -1 +1 @@
1
- {"version":3,"file":"ident.spec.js","sourceRoot":"","sources":["../../src/models/ident.spec.ts"],"names":[],"mappings":";;;;;;;;AAAA,iCAAiC;AACjC,2CAA8C;AAC9C,mCAAgC;AAGhC,IAAM,SAAS,GAAf,MAAM,SAAS;IACP,OAAO;QACX,eAAe;QACf,IAAI,IAAI,GAAU,IAAI,aAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAEK,IAAI;QACR,IAAI,KAAK,GAAG,aAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACxC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAChD,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACjD,KAAK,GAAG,aAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAC;QAChD,KAAK,CAAC,KAAK,GAAG,eAAe,CAAC;QAC9B,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,eAAe,CAAC,CAAC;IACxD,CAAC;CACF,CAAA;AAvBO;IAAL,YAAI;wCAKJ;AAEK;IAAL,YAAI;qCAeJ;AAvBG,SAAS;IADd,aAAK;GACA,SAAS,CAwBd"}
1
+ {"version":3,"file":"ident.spec.js","sourceRoot":"","sources":["../../src/models/ident.spec.ts"],"names":[],"mappings":";;;;;;;;AAAA,2CAA8C;AAC9C,iCAAiC;AACjC,mCAAgC;AAGhC,IAAM,SAAS,GAAf,MAAM,SAAS;IACP,OAAO;QACX,eAAe;QACf,IAAI,IAAI,GAAU,IAAI,aAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAEK,IAAI;QACR,IAAI,KAAK,GAAG,aAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACxC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAChD,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACjD,KAAK,GAAG,aAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAC;QAChD,KAAK,CAAC,KAAK,GAAG,eAAe,CAAC;QAC9B,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,eAAe,CAAC,CAAC;IACxD,CAAC;CACF,CAAA;AAvBO;IAAL,YAAI;wCAKJ;AAEK;IAAL,YAAI;qCAeJ;AAvBG,SAAS;IADd,aAAK;GACA,SAAS,CAwBd"}