alchemymvc 1.3.22 → 1.4.0-alpha.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 (155) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +3 -3
  3. package/lib/app/behaviour/publishable_behaviour.js +5 -5
  4. package/lib/app/behaviour/revision_behaviour.js +96 -59
  5. package/lib/app/behaviour/sluggable_behaviour.js +14 -14
  6. package/lib/app/conduit/electron_conduit.js +9 -9
  7. package/lib/app/conduit/http_conduit.js +13 -13
  8. package/lib/app/conduit/loopback_conduit.js +15 -15
  9. package/lib/app/conduit/socket_conduit.js +43 -43
  10. package/lib/app/config/routes.js +26 -0
  11. package/lib/app/controller/00-default_app_controller.js +21 -0
  12. package/lib/app/controller/alchemy_info_controller.js +12 -12
  13. package/lib/app/datasource/mongo_datasource.js +27 -18
  14. package/lib/app/element/00-default_app_element.js +19 -0
  15. package/lib/app/element/time_ago.js +5 -5
  16. package/lib/app/helper/00-default_app_helper.js +11 -0
  17. package/lib/app/helper/alchemy_helper.js +22 -22
  18. package/lib/app/helper/backed_map.js +1 -1
  19. package/lib/app/helper/breadcrumb.js +10 -10
  20. package/lib/app/helper/client_collection.js +3 -3
  21. package/lib/app/helper/cron.js +29 -29
  22. package/lib/app/helper/enum_values.js +6 -6
  23. package/lib/app/helper/pagination_helper.js +36 -36
  24. package/lib/app/helper/router_helper.js +35 -35
  25. package/lib/app/helper/socket_helper.js +57 -57
  26. package/lib/app/helper/syncable.js +62 -62
  27. package/lib/app/helper_component/paginate_component.js +9 -9
  28. package/lib/app/helper_controller/component.js +1 -1
  29. package/lib/app/helper_controller/conduit.js +31 -31
  30. package/lib/app/helper_controller/controller.js +54 -39
  31. package/lib/app/helper_datasource/00-nosql_datasource.js +624 -70
  32. package/lib/app/helper_datasource/05-fallback_datasource.js +10 -10
  33. package/lib/app/helper_datasource/idb_datasource.js +6 -6
  34. package/lib/app/helper_datasource/indexed_db.js +22 -22
  35. package/lib/app/helper_datasource/remote_datasource.js +5 -5
  36. package/lib/app/helper_error/http_error.js +4 -4
  37. package/lib/app/helper_error/model_error.js +2 -2
  38. package/lib/app/helper_error/validation_error.js +12 -12
  39. package/lib/app/helper_field/00-objectid_field.js +7 -7
  40. package/lib/app/helper_field/05-string_field.js +16 -12
  41. package/lib/app/helper_field/06-text_field.js +2 -4
  42. package/lib/app/helper_field/10-number_field.js +9 -12
  43. package/lib/app/helper_field/11-date_field.js +15 -15
  44. package/lib/app/helper_field/15-local_temporal_field.js +10 -10
  45. package/lib/app/helper_field/20-decimal_field.js +8 -9
  46. package/lib/app/helper_field/belongsto_field.js +1 -1
  47. package/lib/app/helper_field/big_int_field.js +8 -8
  48. package/lib/app/helper_field/boolean_field.js +9 -11
  49. package/lib/app/helper_field/datetime_field.js +3 -3
  50. package/lib/app/helper_field/enum_field.js +13 -8
  51. package/lib/app/helper_field/fixed_decimal_field.js +6 -7
  52. package/lib/app/helper_field/geopoint_field.js +9 -10
  53. package/lib/app/helper_field/habtm_field.js +3 -3
  54. package/lib/app/helper_field/hasoneparent_field.js +1 -1
  55. package/lib/app/helper_field/html_field.js +2 -4
  56. package/lib/app/helper_field/integer_field.js +8 -11
  57. package/lib/app/helper_field/local_date_field.js +5 -5
  58. package/lib/app/helper_field/local_date_time_field.js +5 -5
  59. package/lib/app/helper_field/local_time_field.js +5 -5
  60. package/lib/app/helper_field/mixed_field.js +5 -5
  61. package/lib/app/helper_field/object_field.js +6 -6
  62. package/lib/app/helper_field/password_field.js +3 -3
  63. package/lib/app/helper_field/regexp_field.js +7 -9
  64. package/lib/app/helper_field/schema_field.js +91 -88
  65. package/lib/app/helper_field/settings_field.js +92 -0
  66. package/lib/app/helper_field/time_field.js +6 -6
  67. package/lib/app/helper_field/url_field.js +2 -4
  68. package/lib/app/helper_model/00-base_criteria.js +662 -0
  69. package/lib/app/helper_model/05-criteria_expressions.js +605 -0
  70. package/lib/app/helper_model/10-model_criteria.js +1182 -0
  71. package/lib/app/helper_model/data_provider.js +2 -2
  72. package/lib/app/helper_model/document.js +103 -92
  73. package/lib/app/helper_model/document_list.js +14 -14
  74. package/lib/app/helper_model/field_config.js +11 -11
  75. package/lib/app/helper_model/field_set.js +17 -17
  76. package/lib/app/helper_model/model.js +201 -123
  77. package/lib/app/helper_model/remote_data_provider.js +2 -2
  78. package/lib/app/helper_validator/00_validator.js +16 -16
  79. package/lib/app/helper_validator/not_empty_validator.js +9 -9
  80. package/lib/app/model/00-default_app_model.js +18 -0
  81. package/lib/app/model/05-system_model.js +27 -0
  82. package/lib/app/model/{alchemy_migration_model.js → system_migration_model.js} +4 -4
  83. package/lib/app/model/system_setting_model.js +154 -0
  84. package/lib/app/model/{alchemy_task_history_model.js → system_task_history_model.js} +7 -7
  85. package/lib/app/model/{alchemy_task_model.js → system_task_model.js} +11 -11
  86. package/lib/bootstrap.js +22 -312
  87. package/lib/class/accumulator.js +5 -5
  88. package/lib/class/behaviour.js +5 -5
  89. package/lib/class/component.js +3 -3
  90. package/lib/class/conduit.js +152 -150
  91. package/lib/class/controller.js +42 -42
  92. package/lib/class/datasource.js +74 -79
  93. package/lib/class/document.js +74 -95
  94. package/lib/class/document_list.js +5 -5
  95. package/lib/class/element.js +17 -17
  96. package/lib/class/error.js +3 -3
  97. package/lib/class/field.js +169 -91
  98. package/lib/class/field_value.js +6 -6
  99. package/lib/class/helper.js +3 -3
  100. package/lib/class/inode.js +17 -17
  101. package/lib/class/inode_dir.js +12 -12
  102. package/lib/class/inode_file.js +26 -26
  103. package/lib/class/inode_list.js +4 -4
  104. package/lib/class/migration.js +4 -4
  105. package/lib/class/model.js +146 -165
  106. package/lib/class/path_definition.js +22 -22
  107. package/lib/class/path_evaluator.js +5 -5
  108. package/lib/class/path_param_definition.js +7 -7
  109. package/lib/class/plugin.js +312 -0
  110. package/lib/class/postponement.js +29 -29
  111. package/lib/class/reciprocal.js +8 -8
  112. package/lib/class/route.js +33 -33
  113. package/lib/class/router.js +73 -73
  114. package/lib/class/schema.js +21 -21
  115. package/lib/class/schema_client.js +105 -82
  116. package/lib/class/session.js +63 -29
  117. package/lib/class/session_scene.js +4 -4
  118. package/lib/class/sitemap.js +16 -16
  119. package/lib/class/task.js +39 -39
  120. package/lib/class/task_service.js +43 -47
  121. package/lib/{init → core}/alchemy.js +411 -373
  122. package/lib/{init/functions.js → core/alchemy_functions.js} +113 -91
  123. package/lib/core/alchemy_load_functions.js +715 -0
  124. package/lib/core/base.js +50 -62
  125. package/lib/core/client_alchemy.js +144 -152
  126. package/lib/core/client_base.js +27 -50
  127. package/lib/core/discovery.js +16 -18
  128. package/lib/core/middleware.js +54 -43
  129. package/lib/core/{routing.js → prefix.js} +14 -16
  130. package/lib/core/setting.js +1684 -0
  131. package/lib/core/stage.js +758 -0
  132. package/lib/scripts/create_constants.js +119 -0
  133. package/lib/{init/languages.js → scripts/create_languages.js} +5 -5
  134. package/lib/scripts/create_settings.js +449 -0
  135. package/lib/scripts/create_shared_constants.js +95 -0
  136. package/lib/scripts/create_stages.js +55 -0
  137. package/lib/scripts/init_alchemy.js +51 -0
  138. package/lib/{init/requirements.js → scripts/preload_modules.js} +15 -2
  139. package/lib/scripts/setup_devwatch.js +238 -0
  140. package/lib/stages/00-load_core.js +342 -0
  141. package/lib/stages/05-load_app.js +57 -0
  142. package/lib/stages/10-datasource.js +61 -0
  143. package/lib/stages/15-tasks.js +27 -0
  144. package/lib/stages/20-settings.js +68 -0
  145. package/lib/stages/50-routes.js +218 -0
  146. package/lib/stages/90-server.js +347 -0
  147. package/package.json +5 -7
  148. package/lib/app/helper_model/criteria.js +0 -2294
  149. package/lib/app/helper_model/db_query.js +0 -1488
  150. package/lib/app/routes.js +0 -11
  151. package/lib/core/socket.js +0 -171
  152. package/lib/init/constants.js +0 -158
  153. package/lib/init/devwatch.js +0 -238
  154. package/lib/init/load_functions.js +0 -979
  155. package/lib/stages.js +0 -515
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * See if the given object is a stream
3
3
  *
4
- * @author Jelle De Loecker <jelle@develry.be>
4
+ * @author Jelle De Loecker <jelle@elevenways.be>
5
5
  * @since 0.2.0
6
6
  * @version 1.0.5
7
7
  *
8
- * @return {Boolean}
8
+ * @return {boolean}
9
9
  */
10
10
  function isStream(obj) {
11
11
  return obj && (typeof obj._read == 'function' || typeof obj._write == 'function') && typeof obj.on === 'function';
@@ -14,11 +14,11 @@ function isStream(obj) {
14
14
  /**
15
15
  * The Linkup class
16
16
  *
17
- * @author Jelle De Loecker <jelle@develry.be>
18
- * @since 0.2.0
19
- * @version 1.3.10
17
+ * @author Jelle De Loecker <jelle@elevenways.be>
18
+ * @since 0.2.0
19
+ * @version 1.3.10
20
20
  *
21
- * @param {String} type
21
+ * @param {string} type
22
22
  */
23
23
  var Linkup = Blast.Collection.Function.inherits('Informer', function ClientLinkup(client, type, data) {
24
24
 
@@ -69,9 +69,9 @@ var Linkup = Blast.Collection.Function.inherits('Informer', function ClientLinku
69
69
  /**
70
70
  * Add a reference to its scene_id
71
71
  *
72
- * @author Jelle De Loecker <jelle@elevenways.be>
73
- * @since 1.3.10
74
- * @version 1.3.10
72
+ * @author Jelle De Loecker <jelle@elevenways.be>
73
+ * @since 1.3.10
74
+ * @version 1.3.10
75
75
  */
76
76
  Linkup.setProperty(function scene_id() {
77
77
 
@@ -85,11 +85,11 @@ Linkup.setProperty(function scene_id() {
85
85
  /**
86
86
  * Submit a message to the server on this link
87
87
  *
88
- * @author Jelle De Loecker <jelle@develry.be>
89
- * @since 0.2.0
90
- * @version 1.3.10
88
+ * @author Jelle De Loecker <jelle@elevenways.be>
89
+ * @since 0.2.0
90
+ * @version 1.3.10
91
91
  *
92
- * @param {String} type
92
+ * @param {string} type
93
93
  * @param {Object} data
94
94
  * @param {Function} callback
95
95
  */
@@ -100,11 +100,11 @@ Linkup.setAfterMethod('ready', function submit(type, data, stream, callback) {
100
100
  /**
101
101
  * Submit a message to the server on this link and return a promise
102
102
  *
103
- * @author Jelle De Loecker <jelle@elevenways.be>
104
- * @since 1.1.2
105
- * @version 1.1.2
103
+ * @author Jelle De Loecker <jelle@elevenways.be>
104
+ * @since 1.1.2
105
+ * @version 1.1.2
106
106
  *
107
- * @param {String} type
107
+ * @param {string} type
108
108
  * @param {Object} data
109
109
  */
110
110
  Linkup.setMethod(function demand(type, data, stream) {
@@ -133,9 +133,9 @@ Linkup.setMethod(function demand(type, data, stream) {
133
133
  /**
134
134
  * Create a stream
135
135
  *
136
- * @author Jelle De Loecker <jelle@develry.be>
137
- * @since 0.2.0
138
- * @version 0.2.0
136
+ * @author Jelle De Loecker <jelle@elevenways.be>
137
+ * @since 0.2.0
138
+ * @version 0.2.0
139
139
  */
140
140
  Linkup.setMethod(function createStream() {
141
141
  return this.client.createStream();
@@ -144,9 +144,9 @@ Linkup.setMethod(function createStream() {
144
144
  /**
145
145
  * Destroy this linkup (and tell the server)
146
146
  *
147
- * @author Jelle De Loecker <jelle@develry.be>
148
- * @since 0.2.0
149
- * @version 1.3.10
147
+ * @author Jelle De Loecker <jelle@elevenways.be>
148
+ * @since 0.2.0
149
+ * @version 1.3.10
150
150
  */
151
151
  Linkup.setMethod(function destroy() {
152
152
  this.submit('__destroy__');
@@ -157,9 +157,9 @@ Linkup.setMethod(function destroy() {
157
157
  /**
158
158
  * Make sure the linkup is removed
159
159
  *
160
- * @author Jelle De Loecker <jelle@elevenways.be>
161
- * @since 1.3.10
162
- * @version 1.3.10
160
+ * @author Jelle De Loecker <jelle@elevenways.be>
161
+ * @since 1.3.10
162
+ * @version 1.3.10
163
163
  */
164
164
  Linkup.setMethod(function _destroy() {
165
165
  delete this.client.linkups[this.id];
@@ -170,13 +170,13 @@ Linkup.setMethod(function _destroy() {
170
170
  * Actually make the socket.io connection,
171
171
  * this requires the socket.io js to be loaded
172
172
  *
173
- * @author Jelle De Loecker <jelle@develry.be>
174
- * @since 0.0.1
175
- * @version 0.2.0
173
+ * @author Jelle De Loecker <jelle@elevenways.be>
174
+ * @since 0.0.1
175
+ * @version 0.2.0
176
176
  *
177
- * @param {String} address Address to connect to
178
- * @param {Object} data Announcement data
179
- * @param {Function} callback
177
+ * @param {string} address Address to connect to
178
+ * @param {Object} data Announcement data
179
+ * @param {Function} callback
180
180
  */
181
181
  var Client = Blast.Collection.Function.inherits('Informer', function ClientSocket() {
182
182
 
@@ -232,11 +232,11 @@ var Client = Blast.Collection.Function.inherits('Informer', function ClientSocke
232
232
  /**
233
233
  * Get an offset-corrected timestamp
234
234
  *
235
- * @author Jelle De Loecker <jelle@develry.be>
236
- * @since 0.2.1
237
- * @version 0.2.1
235
+ * @author Jelle De Loecker <jelle@elevenways.be>
236
+ * @since 0.2.1
237
+ * @version 0.2.1
238
238
  *
239
- * @return {Number}
239
+ * @return {number}
240
240
  */
241
241
  Client.setMethod(function now() {
242
242
  return Date.now() + (this.offset || 0);
@@ -245,9 +245,9 @@ Client.setMethod(function now() {
245
245
  /**
246
246
  * Low level socket emit
247
247
  *
248
- * @author Jelle De Loecker <jelle@develry.be>
249
- * @since 0.2.0
250
- * @version 1.1.0
248
+ * @author Jelle De Loecker <jelle@elevenways.be>
249
+ * @since 0.2.0
250
+ * @version 1.1.0
251
251
  */
252
252
  Client.setMethod(function _submit() {
253
253
  var that = this,
@@ -261,11 +261,11 @@ Client.setMethod(function _submit() {
261
261
  /**
262
262
  * Submit method
263
263
  *
264
- * @author Jelle De Loecker <jelle@develry.be>
265
- * @since 0.2.0
266
- * @version 0.2.0
264
+ * @author Jelle De Loecker <jelle@elevenways.be>
265
+ * @since 0.2.0
266
+ * @version 0.2.0
267
267
  *
268
- * @param {String} type
268
+ * @param {string} type
269
269
  * @param {Object} data
270
270
  * @param {IOStream} stream
271
271
  * @param {Function} callback
@@ -330,9 +330,9 @@ Client.setMethod(function submit(type, data, stream, callback) {
330
330
  /**
331
331
  * Create a stream we can send through a websocket connection
332
332
  *
333
- * @author Jelle De Loecker <jelle@develry.be>
334
- * @since 0.2.0
335
- * @version 0.2.0
333
+ * @author Jelle De Loecker <jelle@elevenways.be>
334
+ * @since 0.2.0
335
+ * @version 0.2.0
336
336
  */
337
337
  Client.setMethod(function createStream() {
338
338
 
@@ -350,9 +350,9 @@ Client.setMethod(function createStream() {
350
350
  /**
351
351
  * Make the actual connection
352
352
  *
353
- * @author Jelle De Loecker <jelle@elevenways.be>
354
- * @since 0.2.0
355
- * @version 1.3.12
353
+ * @author Jelle De Loecker <jelle@elevenways.be>
354
+ * @since 0.2.0
355
+ * @version 1.3.12
356
356
  *
357
357
  * @param {Function} callback
358
358
  */
@@ -618,11 +618,11 @@ Client.setMethod(function connect(address, data, callback) {
618
618
  /**
619
619
  * Create a namespace and inform the server
620
620
  *
621
- * @author Jelle De Loecker <jelle@develry.be>
622
- * @since 0.2.0
623
- * @version 0.2.0
621
+ * @author Jelle De Loecker <jelle@elevenways.be>
622
+ * @since 0.2.0
623
+ * @version 0.2.0
624
624
  *
625
- * @param {String} type The typename of link to create
625
+ * @param {string} type The typename of link to create
626
626
  * @param {Object} data The initial data to submit
627
627
  * @param {Function} cb Called when link isready
628
628
  *
@@ -649,11 +649,11 @@ Client.setMethod(function linkup(type, data, cb) {
649
649
  /**
650
650
  * Listen for specific server-initiated linkups
651
651
  *
652
- * @author Jelle De Loecker <jelle@develry.be>
653
- * @since 0.2.0
654
- * @version 0.2.0
652
+ * @author Jelle De Loecker <jelle@elevenways.be>
653
+ * @since 0.2.0
654
+ * @version 0.2.0
655
655
  *
656
- * @param {String} type The typename of link to listen to
656
+ * @param {string} type The typename of link to listen to
657
657
  * @param {Function} callback
658
658
  */
659
659
  Client.setMethod(function onLinkup(type, callback) {
@@ -9,11 +9,11 @@ const SESSION_KEY = 'Syncables',
9
9
  *
10
10
  * @constructor
11
11
  *
12
- * @author Jelle De Loecker <jelle@elevenways.be>
12
+ * @author Jelle De Loecker <jelle@elevenways.be>
13
13
  * @since 1.3.10
14
14
  * @version 1.3.10
15
15
  *
16
- * @param {String} type
16
+ * @param {string} type
17
17
  */
18
18
  const Syncable = Function.inherits('Alchemy.Base', function Syncable(type) {
19
19
 
@@ -42,13 +42,13 @@ if (Blast.isNode) {
42
42
  /**
43
43
  * Handle an incoming linkup
44
44
  *
45
- * @author Jelle De Loecker <jelle@elevenways.be>
45
+ * @author Jelle De Loecker <jelle@elevenways.be>
46
46
  * @since 1.3.10
47
47
  * @version 1.3.10
48
48
  *
49
- * @param {Conduit}
50
- * @param {Linkup}
51
- * @param {Object}
49
+ * @param {Conduit}
50
+ * @param {Linkup}
51
+ * @param {Object}
52
52
  */
53
53
  Syncable.setStatic(function handleLink(conduit, linkup, config) {
54
54
 
@@ -87,7 +87,7 @@ if (Blast.isNode) {
87
87
  /**
88
88
  * Attach a client
89
89
  *
90
- * @author Jelle De Loecker <jelle@elevenways.be>
90
+ * @author Jelle De Loecker <jelle@elevenways.be>
91
91
  * @since 1.3.10
92
92
  * @version 1.3.10
93
93
  */
@@ -142,12 +142,12 @@ if (Blast.isNode) {
142
142
  /**
143
143
  * Handle an upstream method request
144
144
  *
145
- * @author Jelle De Loecker <jelle@elevenways.be>
145
+ * @author Jelle De Loecker <jelle@elevenways.be>
146
146
  * @since 1.3.10
147
147
  * @version 1.3.10
148
148
  *
149
- * @param {String} name
150
- * @param {Array} args
149
+ * @param {string} name
150
+ * @param {Array} args
151
151
  */
152
152
  Syncable.setMethod(function handleUpstreamMethodRequest(name, args) {
153
153
 
@@ -168,7 +168,7 @@ if (Blast.isNode) {
168
168
  * Register a client by one of their conduits.
169
169
  * Only clients that are registered can be synced.
170
170
  *
171
- * @author Jelle De Loecker <jelle@elevenways.be>
171
+ * @author Jelle De Loecker <jelle@elevenways.be>
172
172
  * @since 1.3.10
173
173
  * @version 1.3.10
174
174
  *
@@ -203,7 +203,7 @@ if (Blast.isBrowser) {
203
203
  /**
204
204
  * Start the sync link from the browser to the server
205
205
  *
206
- * @author Jelle De Loecker <jelle@elevenways.be>
206
+ * @author Jelle De Loecker <jelle@elevenways.be>
207
207
  * @since 1.3.10
208
208
  * @version 1.3.10
209
209
  */
@@ -241,13 +241,13 @@ if (Blast.isBrowser) {
241
241
  * Add a syncable method.
242
242
  * The method itself should probably NOT trigger changes
243
243
  *
244
- * @author Jelle De Loecker <jelle@elevenways.be>
244
+ * @author Jelle De Loecker <jelle@elevenways.be>
245
245
  * @since 1.3.10
246
246
  * @version 1.3.10
247
247
  *
248
- * @param {Object} data
248
+ * @param {Object} data
249
249
  *
250
- * @return {Syncable}
250
+ * @return {Syncable}
251
251
  */
252
252
  Syncable.setStatic(function setSyncMethod(types, method) {
253
253
  return this.setHandledMethod(types, method, function handler(method, args) {
@@ -266,13 +266,13 @@ Syncable.setStatic(function setSyncMethod(types, method) {
266
266
  * Add a method that will only be called on the client.
267
267
  * No response will be returned, since it is sent to multiple clients.
268
268
  *
269
- * @author Jelle De Loecker <jelle@elevenways.be>
269
+ * @author Jelle De Loecker <jelle@elevenways.be>
270
270
  * @since 1.3.22
271
271
  * @version 1.3.22
272
272
  *
273
- * @param {Object} data
273
+ * @param {Object} data
274
274
  *
275
- * @return {Syncable}
275
+ * @return {Syncable}
276
276
  */
277
277
  Syncable.setStatic(function setClientMethod(types, method) {
278
278
  return this.setHandledMethod(types, method, function handler(method, args) {
@@ -291,13 +291,13 @@ Syncable.setStatic(function setClientMethod(types, method) {
291
291
  * Add a method that fetches info from the server.
292
292
  * The response is always a promise.
293
293
  *
294
- * @author Jelle De Loecker <jelle@elevenways.be>
294
+ * @author Jelle De Loecker <jelle@elevenways.be>
295
295
  * @since 1.3.10
296
296
  * @version 1.3.10
297
297
  *
298
- * @param {Object} data
298
+ * @param {Object} data
299
299
  *
300
- * @return {Syncable}
300
+ * @return {Syncable}
301
301
  */
302
302
  Syncable.setStatic(function setUpstreamMethod(types, method) {
303
303
  let result = this.setHandledMethod(types, method, function handler(method, args) {
@@ -339,15 +339,15 @@ Syncable.setStatic(function setUpstreamMethod(types, method) {
339
339
  /**
340
340
  * Add a method that may or may not use types
341
341
  *
342
- * @author Jelle De Loecker <jelle@elevenways.be>
342
+ * @author Jelle De Loecker <jelle@elevenways.be>
343
343
  * @since 1.3.10
344
344
  * @version 1.3.10
345
345
  *
346
- * @param {Array} types The optional types of the method
347
- * @param {Function} method The main method implementation
348
- * @param {Function} handler The handler
346
+ * @param {Array} types The optional types of the method
347
+ * @param {Function} method The main method implementation
348
+ * @param {Function} handler The handler
349
349
  *
350
- * @return {Syncable}
350
+ * @return {Syncable}
351
351
  */
352
352
  Syncable.setStatic(function setHandledMethod(types, method, handler) {
353
353
 
@@ -374,12 +374,12 @@ Syncable.setStatic(function setHandledMethod(types, method, handler) {
374
374
  /**
375
375
  * Add a property
376
376
  *
377
- * @author Jelle De Loecker <jelle@elevenways.be>
377
+ * @author Jelle De Loecker <jelle@elevenways.be>
378
378
  * @since 1.3.10
379
379
  * @version 1.3.10
380
380
  *
381
- * @param {String} name
382
- * @param {Object} options
381
+ * @param {string} name
382
+ * @param {Object} options
383
383
  */
384
384
  Syncable.setStatic(function setStateProperty(name, options) {
385
385
 
@@ -447,13 +447,13 @@ Syncable.setStatic(function setStateProperty(name, options) {
447
447
  /**
448
448
  * Undry this value
449
449
  *
450
- * @author Jelle De Loecker <jelle@elevenways.be>
450
+ * @author Jelle De Loecker <jelle@elevenways.be>
451
451
  * @since 1.3.10
452
452
  * @version 1.3.10
453
453
  *
454
- * @param {Object} data
454
+ * @param {Object} data
455
455
  *
456
- * @return {Syncable}
456
+ * @return {Syncable}
457
457
  */
458
458
  Syncable.setStatic(function unDry(data) {
459
459
 
@@ -487,7 +487,7 @@ Syncable.setStatic(function unDry(data) {
487
487
  /**
488
488
  * Is this the server instance?
489
489
  *
490
- * @author Jelle De Loecker <jelle@elevenways.be>
490
+ * @author Jelle De Loecker <jelle@elevenways.be>
491
491
  * @since 1.3.10
492
492
  * @version 1.3.10
493
493
  *
@@ -500,11 +500,11 @@ Syncable.setProperty(function is_server() {
500
500
  /**
501
501
  * Enforce the ID property
502
502
  *
503
- * @author Jelle De Loecker <jelle@elevenways.be>
503
+ * @author Jelle De Loecker <jelle@elevenways.be>
504
504
  * @since 1.3.10
505
505
  * @version 1.3.10
506
506
  *
507
- * @type {String}
507
+ * @type {string}
508
508
  */
509
509
  Syncable.enforceProperty(function id(new_value) {
510
510
 
@@ -523,7 +523,7 @@ Syncable.enforceProperty(function id(new_value) {
523
523
  /**
524
524
  * Enforce the queues property
525
525
  *
526
- * @author Jelle De Loecker <jelle@elevenways.be>
526
+ * @author Jelle De Loecker <jelle@elevenways.be>
527
527
  * @since 1.3.10
528
528
  * @version 1.3.10
529
529
  *
@@ -558,11 +558,11 @@ Syncable.enforceProperty(function queues(new_value) {
558
558
  /**
559
559
  * Enforce the state property
560
560
  *
561
- * @author Jelle De Loecker <jelle@elevenways.be>
561
+ * @author Jelle De Loecker <jelle@elevenways.be>
562
562
  * @since 1.3.10
563
563
  * @version 1.3.10
564
564
  *
565
- * @type {String}
565
+ * @type {string}
566
566
  */
567
567
  Syncable.enforceProperty(function state(new_value) {
568
568
 
@@ -576,11 +576,11 @@ Syncable.enforceProperty(function state(new_value) {
576
576
  /**
577
577
  * Enforce the version property
578
578
  *
579
- * @author Jelle De Loecker <jelle@elevenways.be>
579
+ * @author Jelle De Loecker <jelle@elevenways.be>
580
580
  * @since 1.3.10
581
581
  * @version 1.3.10
582
582
  *
583
- * @type {String}
583
+ * @type {string}
584
584
  */
585
585
  Syncable.enforceProperty(function version(new_value) {
586
586
 
@@ -594,7 +594,7 @@ Syncable.enforceProperty(function version(new_value) {
594
594
  /**
595
595
  * Clone for hawkejs
596
596
  *
597
- * @author Jelle De Loecker <jelle@elevenways.be>
597
+ * @author Jelle De Loecker <jelle@elevenways.be>
598
598
  * @since 1.3.10
599
599
  * @version 1.3.10
600
600
  */
@@ -605,7 +605,7 @@ Syncable.setMethod(function toHawkejs() {
605
605
  /**
606
606
  * Serialize this syncable
607
607
  *
608
- * @author Jelle De Loecker <jelle@elevenways.be>
608
+ * @author Jelle De Loecker <jelle@elevenways.be>
609
609
  * @since 1.3.10
610
610
  * @version 1.3.10
611
611
  */
@@ -639,7 +639,7 @@ Syncable.setMethod(function toDry() {
639
639
  /**
640
640
  * Process an update
641
641
  *
642
- * @author Jelle De Loecker <jelle@elevenways.be>
642
+ * @author Jelle De Loecker <jelle@elevenways.be>
643
643
  * @since 1.3.10
644
644
  * @version 1.3.10
645
645
  */
@@ -671,7 +671,7 @@ Syncable.setMethod(function processUpdate(update) {
671
671
  /**
672
672
  * Send the actual update
673
673
  *
674
- * @author Jelle De Loecker <jelle@elevenways.be>
674
+ * @author Jelle De Loecker <jelle@elevenways.be>
675
675
  * @since 1.3.10
676
676
  * @version 1.3.10
677
677
  */
@@ -690,11 +690,11 @@ Syncable.setMethod(function sendUpdates() {
690
690
  /**
691
691
  * Emit a change event for a certain property
692
692
  *
693
- * @author Jelle De Loecker <jelle@elevenways.be>
693
+ * @author Jelle De Loecker <jelle@elevenways.be>
694
694
  * @since 1.3.10
695
695
  * @version 1.3.10
696
696
  *
697
- * @param {String} property
697
+ * @param {string} property
698
698
  */
699
699
  Syncable.setMethod(function emitPropertyChange(property) {
700
700
  let value = this[property];
@@ -704,11 +704,11 @@ Syncable.setMethod(function emitPropertyChange(property) {
704
704
  /**
705
705
  * Listen for a change event for a certain property
706
706
  *
707
- * @author Jelle De Loecker <jelle@elevenways.be>
707
+ * @author Jelle De Loecker <jelle@elevenways.be>
708
708
  * @since 1.3.10
709
709
  * @version 1.3.10
710
710
  *
711
- * @param {String} property
711
+ * @param {string} property
712
712
  * @param {Function} callback
713
713
  */
714
714
  Syncable.setMethod(function watchProperty(property, callback) {
@@ -720,11 +720,11 @@ Syncable.setMethod(function watchProperty(property, callback) {
720
720
  /**
721
721
  * Watch a queue for changes
722
722
  *
723
- * @author Jelle De Loecker <jelle@elevenways.be>
723
+ * @author Jelle De Loecker <jelle@elevenways.be>
724
724
  * @since 1.3.10
725
725
  * @version 1.3.10
726
726
  *
727
- * @param {String} name
727
+ * @param {string} name
728
728
  * @param {Function} callback
729
729
  */
730
730
  Syncable.setMethod(function watchQueue(name, callback) {
@@ -752,11 +752,11 @@ Syncable.setMethod(function watchQueue(name, callback) {
752
752
  /**
753
753
  * Clear all the entries in a queue
754
754
  *
755
- * @author Jelle De Loecker <jelle@elevenways.be>
755
+ * @author Jelle De Loecker <jelle@elevenways.be>
756
756
  * @since 1.3.10
757
757
  * @version 1.3.10
758
758
  *
759
- * @param {String} name
759
+ * @param {string} name
760
760
  */
761
761
  Syncable.setAfterMethod('ready', function clearQueue(name) {
762
762
 
@@ -775,7 +775,7 @@ Syncable.setAfterMethod('ready', function clearQueue(name) {
775
775
  * Schedule a queue callback
776
776
  * (This tries to keep events in different queues still use the same order)
777
777
  *
778
- * @author Jelle De Loecker <jelle@elevenways.be>
778
+ * @author Jelle De Loecker <jelle@elevenways.be>
779
779
  * @since 1.3.10
780
780
  * @version 1.3.10
781
781
  */
@@ -803,7 +803,7 @@ Syncable.setAfterMethod('ready', function scheduleQueueCallback(config, callback
803
803
  /**
804
804
  * Actually do the queued callbacks
805
805
  *
806
- * @author Jelle De Loecker <jelle@elevenways.be>
806
+ * @author Jelle De Loecker <jelle@elevenways.be>
807
807
  * @since 1.3.10
808
808
  * @version 1.3.10
809
809
  */
@@ -830,11 +830,11 @@ Syncable.setAfterMethod('ready', function processQueueCallbacks() {
830
830
  * Push something to a queue.
831
831
  * If there are listeners, they will be called immediately.
832
832
  *
833
- * @author Jelle De Loecker <jelle@elevenways.be>
833
+ * @author Jelle De Loecker <jelle@elevenways.be>
834
834
  * @since 1.3.10
835
835
  * @version 1.3.10
836
836
  *
837
- * @param {String} name
837
+ * @param {string} name
838
838
  */
839
839
  Syncable.setAfterMethod('ready', function pushQueue(name, ...args) {
840
840
 
@@ -869,7 +869,7 @@ Syncable.setAfterMethod('ready', function pushQueue(name, ...args) {
869
869
  /**
870
870
  * Send an update to the given link
871
871
  *
872
- * @author Jelle De Loecker <jelle@elevenways.be>
872
+ * @author Jelle De Loecker <jelle@elevenways.be>
873
873
  * @since 1.3.10
874
874
  * @version 1.3.10
875
875
  */
@@ -904,7 +904,7 @@ Syncable.setMethod(function sendUpdateToLink(link) {
904
904
  /**
905
905
  * Queue an update to all the listeners
906
906
  *
907
- * @author Jelle De Loecker <jelle@elevenways.be>
907
+ * @author Jelle De Loecker <jelle@elevenways.be>
908
908
  * @since 1.3.10
909
909
  * @version 1.3.10
910
910
  */
@@ -922,7 +922,7 @@ Syncable.setMethod(function queueUpdate() {
922
922
  /**
923
923
  * Add something to the log
924
924
  *
925
- * @author Jelle De Loecker <jelle@elevenways.be>
925
+ * @author Jelle De Loecker <jelle@elevenways.be>
926
926
  * @since 1.3.10
927
927
  * @version 1.3.10
928
928
  */
@@ -941,7 +941,7 @@ Syncable.setMethod(function _addLog(type, args) {
941
941
  /**
942
942
  * Add something to the log and increase the version
943
943
  *
944
- * @author Jelle De Loecker <jelle@elevenways.be>
944
+ * @author Jelle De Loecker <jelle@elevenways.be>
945
945
  * @since 1.3.10
946
946
  * @version 1.3.10
947
947
  */
@@ -953,7 +953,7 @@ Syncable.setMethod(function addLog(type, args) {
953
953
  /**
954
954
  * Set a property to a specific value
955
955
  *
956
- * @author Jelle De Loecker <jelle@elevenways.be>
956
+ * @author Jelle De Loecker <jelle@elevenways.be>
957
957
  * @since 1.3.10
958
958
  * @version 1.3.10
959
959
  */
@@ -973,7 +973,7 @@ Syncable.setMethod(function setProperty(key, value) {
973
973
  * Release the syncable
974
974
  * (On your own side)
975
975
  *
976
- * @author Jelle De Loecker <jelle@elevenways.be>
976
+ * @author Jelle De Loecker <jelle@elevenways.be>
977
977
  * @since 1.3.10
978
978
  * @version 1.3.10
979
979
  */
@@ -4,23 +4,23 @@
4
4
  * @constructor
5
5
  * @extends Alchemy.Component
6
6
  *
7
- * @author Jelle De Loecker <jelle@develry.be>
8
- * @since 0.0.1
9
- * @version 1.0.0
7
+ * @author Jelle De Loecker <jelle@elevenways.be>
8
+ * @since 0.0.1
9
+ * @version 1.0.0
10
10
  */
11
11
  const Paginate = Function.inherits('Alchemy.Client.Component', 'Paginate');
12
12
 
13
13
  /**
14
14
  * Perform a query
15
15
  *
16
- * @author Jelle De Loecker <jelle@elevenways.be>
16
+ * @author Jelle De Loecker <jelle@elevenways.be>
17
17
  * @since 0.0.1
18
- * @version 1.3.4
18
+ * @version 1.4.0
19
19
  *
20
- * @param {Model} model
21
- * @param {Criteria} criteria
20
+ * @param {Model} model
21
+ * @param {Criteria} criteria
22
22
  *
23
- * @return {Pledge}
23
+ * @return {Pledge}
24
24
  */
25
25
  Paginate.setMethod(function find(model, criteria) {
26
26
 
@@ -31,7 +31,7 @@ Paginate.setMethod(function find(model, criteria) {
31
31
  model = this.getModel(model);
32
32
  }
33
33
 
34
- criteria = Blast.Classes.Alchemy.Criteria.Criteria.cast(criteria, model);
34
+ criteria = Classes.Alchemy.Criteria.Model.cast(criteria, model);
35
35
 
36
36
  let page_size = criteria.options.page_size || 10,
37
37
  skipless = criteria.options.skipless,
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @constructor
5
5
  *
6
- * @author Jelle De Loecker <jelle@develry.be>
6
+ * @author Jelle De Loecker <jelle@elevenways.be>
7
7
  * @since 1.0.0
8
8
  * @version 1.0.0
9
9
  *