@dusted/anqst 1.0.0 → 1.5.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 (76) hide show
  1. package/README.md +15 -0
  2. package/dist/src/app.js +103 -77
  3. package/dist/src/base93.js +124 -0
  4. package/dist/src/build-stamp.js +1 -1
  5. package/dist/src/codecgenerators/basecodecemitters/bigint-qint64/decoder.js +35 -0
  6. package/dist/src/codecgenerators/basecodecemitters/bigint-qint64/encoder.js +36 -0
  7. package/dist/src/codecgenerators/basecodecemitters/bigint-quint64/decoder.js +26 -0
  8. package/dist/src/codecgenerators/basecodecemitters/bigint-quint64/encoder.js +38 -0
  9. package/dist/src/codecgenerators/basecodecemitters/binary-blob/decoder.js +28 -0
  10. package/dist/src/codecgenerators/basecodecemitters/binary-blob/encoder.js +34 -0
  11. package/dist/src/codecgenerators/basecodecemitters/binary-buffer/decoder.js +29 -0
  12. package/dist/src/codecgenerators/basecodecemitters/binary-buffer/encoder.js +36 -0
  13. package/dist/src/codecgenerators/basecodecemitters/binary-float32Array/decoder.js +46 -0
  14. package/dist/src/codecgenerators/basecodecemitters/binary-float32Array/encoder.js +49 -0
  15. package/dist/src/codecgenerators/basecodecemitters/binary-float64Array/decoder.js +46 -0
  16. package/dist/src/codecgenerators/basecodecemitters/binary-float64Array/encoder.js +47 -0
  17. package/dist/src/codecgenerators/basecodecemitters/binary-int16Array/decoder.js +46 -0
  18. package/dist/src/codecgenerators/basecodecemitters/binary-int16Array/encoder.js +49 -0
  19. package/dist/src/codecgenerators/basecodecemitters/binary-int32Array/decoder.js +50 -0
  20. package/dist/src/codecgenerators/basecodecemitters/binary-int32Array/encoder.js +52 -0
  21. package/dist/src/codecgenerators/basecodecemitters/binary-int8Array/decoder.js +38 -0
  22. package/dist/src/codecgenerators/basecodecemitters/binary-int8Array/encoder.js +44 -0
  23. package/dist/src/codecgenerators/basecodecemitters/binary-typedArray/decoder.js +33 -0
  24. package/dist/src/codecgenerators/basecodecemitters/binary-typedArray/encoder.js +34 -0
  25. package/dist/src/codecgenerators/basecodecemitters/binary-uint16Array/decoder.js +46 -0
  26. package/dist/src/codecgenerators/basecodecemitters/binary-uint16Array/encoder.js +49 -0
  27. package/dist/src/codecgenerators/basecodecemitters/binary-uint32Array/decoder.js +46 -0
  28. package/dist/src/codecgenerators/basecodecemitters/binary-uint32Array/encoder.js +49 -0
  29. package/dist/src/codecgenerators/basecodecemitters/binary-uint8Array/decoder.js +28 -0
  30. package/dist/src/codecgenerators/basecodecemitters/binary-uint8Array/encoder.js +34 -0
  31. package/dist/src/codecgenerators/basecodecemitters/boolean/decoder.js +34 -0
  32. package/dist/src/codecgenerators/basecodecemitters/boolean/encoder.js +40 -0
  33. package/dist/src/codecgenerators/basecodecemitters/dynamic-json/decoder.js +43 -0
  34. package/dist/src/codecgenerators/basecodecemitters/dynamic-json/encoder.js +45 -0
  35. package/dist/src/codecgenerators/basecodecemitters/dynamic-object/decoder.js +44 -0
  36. package/dist/src/codecgenerators/basecodecemitters/dynamic-object/encoder.js +46 -0
  37. package/dist/src/codecgenerators/basecodecemitters/integer-int16/decoder.js +32 -0
  38. package/dist/src/codecgenerators/basecodecemitters/integer-int16/encoder.js +43 -0
  39. package/dist/src/codecgenerators/basecodecemitters/integer-int32/decoder.js +26 -0
  40. package/dist/src/codecgenerators/basecodecemitters/integer-int32/encoder.js +37 -0
  41. package/dist/src/codecgenerators/basecodecemitters/integer-int8/decoder.js +26 -0
  42. package/dist/src/codecgenerators/basecodecemitters/integer-int8/encoder.js +37 -0
  43. package/dist/src/codecgenerators/basecodecemitters/integer-qint16/decoder.js +36 -0
  44. package/dist/src/codecgenerators/basecodecemitters/integer-qint16/encoder.js +36 -0
  45. package/dist/src/codecgenerators/basecodecemitters/integer-qint32/decoder.js +25 -0
  46. package/dist/src/codecgenerators/basecodecemitters/integer-qint32/encoder.js +36 -0
  47. package/dist/src/codecgenerators/basecodecemitters/integer-qint8/decoder.js +36 -0
  48. package/dist/src/codecgenerators/basecodecemitters/integer-qint8/encoder.js +36 -0
  49. package/dist/src/codecgenerators/basecodecemitters/integer-quint16/decoder.js +26 -0
  50. package/dist/src/codecgenerators/basecodecemitters/integer-quint16/encoder.js +38 -0
  51. package/dist/src/codecgenerators/basecodecemitters/integer-quint32/decoder.js +27 -0
  52. package/dist/src/codecgenerators/basecodecemitters/integer-quint32/encoder.js +39 -0
  53. package/dist/src/codecgenerators/basecodecemitters/integer-quint8/decoder.js +26 -0
  54. package/dist/src/codecgenerators/basecodecemitters/integer-quint8/encoder.js +38 -0
  55. package/dist/src/codecgenerators/basecodecemitters/integer-uint16/decoder.js +30 -0
  56. package/dist/src/codecgenerators/basecodecemitters/integer-uint16/encoder.js +42 -0
  57. package/dist/src/codecgenerators/basecodecemitters/integer-uint32/decoder.js +31 -0
  58. package/dist/src/codecgenerators/basecodecemitters/integer-uint32/encoder.js +43 -0
  59. package/dist/src/codecgenerators/basecodecemitters/integer-uint8/decoder.js +30 -0
  60. package/dist/src/codecgenerators/basecodecemitters/integer-uint8/encoder.js +40 -0
  61. package/dist/src/codecgenerators/basecodecemitters/number/decoder.js +26 -0
  62. package/dist/src/codecgenerators/basecodecemitters/number/encoder.js +38 -0
  63. package/dist/src/codecgenerators/basecodecemitters/shared/comments.js +13 -0
  64. package/dist/src/codecgenerators/basecodecemitters/shared/contracts.js +2 -0
  65. package/dist/src/codecgenerators/basecodecemitters/shared/fixedwidth.js +53 -0
  66. package/dist/src/codecgenerators/basecodecemitters/shared/index.js +21 -0
  67. package/dist/src/codecgenerators/basecodecemitters/shared/positionalBase93.js +48 -0
  68. package/dist/src/codecgenerators/basecodecemitters/shared/rawbytes.js +30 -0
  69. package/dist/src/codecgenerators/basecodecemitters/string/decoder.js +43 -0
  70. package/dist/src/codecgenerators/basecodecemitters/string/encoder.js +43 -0
  71. package/dist/src/codecgenerators/basecodecemitters/stringArray/decoder.js +80 -0
  72. package/dist/src/codecgenerators/basecodecemitters/stringArray/encoder.js +57 -0
  73. package/dist/src/emit.js +760 -120
  74. package/dist/src/structured-top-level-codecs.js +1305 -0
  75. package/package.json +2 -3
  76. package/spec/AnQst-Spec-DSL.d.ts +15 -8
package/package.json CHANGED
@@ -1,13 +1,12 @@
1
1
  {
2
2
  "name": "@dusted/anqst",
3
- "version": "1.0.0",
3
+ "version": "1.5.0",
4
4
  "description": "Opinionated backend generator for webapps.",
5
5
  "keywords": [
6
6
  "nodejs",
7
7
  "qt",
8
8
  "angular",
9
- "webapp",
10
- "apigenerator"
9
+ "webapp"
11
10
  ],
12
11
  "homepage": "https://github.com/DusteDdk/AnQst#readme",
13
12
  "bugs": {
@@ -18,12 +18,12 @@ export namespace AnQst {
18
18
 
19
19
  /**
20
20
  * Declare service `InterfaceName`
21
- *
21
+ *
22
22
  * @remarks
23
23
  * Multiple allowed.
24
24
  * Affords developers of advanced widgets the ability to create domain-informed categories.
25
25
  * - Duplicate method declarations with identical parameter lists are invalid in normative AnQst-Spec input.
26
- *
26
+ *
27
27
  * @example
28
28
  * export interface UserService extends Widget.Service { }
29
29
  * // Generates UserService.
@@ -83,6 +83,7 @@ export namespace AnQst {
83
83
  * - throw -> failure
84
84
  * - rejected promise -> failure
85
85
  * - Parent: `MethodName` call returns with result.
86
+ * - Generated C++ Slot methods do not expose `ok/error` out parameters.
86
87
  * - Default Slot timeout is 1000ms.
87
88
  * Note: One active handler, calling will replace existing and is valid and allowed.
88
89
  * @example
@@ -164,12 +165,15 @@ export namespace AnQst {
164
165
  * - External: A Qt widget initiates a QDrag carrying QMimeData.
165
166
  * - Parent: AnQstWebHostBase intercepts the drop via event filter on the
166
167
  * embedded QWebEngineView's rendering surface.
167
- * - Parent: QMimeData for the accepted format is deserialized (JSON) into
168
- * the generated C++ struct and forwarded through the bridge.
168
+ * - Parent: QMimeData for the accepted format is deserialized from a JSON
169
+ * array of normalized AnQst wire items and forwarded through the bridge.
169
170
  * - Widget: Service updates signal `PropertyName` with the deserialized
170
171
  * payload and drop coordinates. Angular components react via effect() / template binding.
171
172
  * - MIME type is convention-derived: `application/anqst-dragdropevent_<ServiceName>-<TypeName>`.
172
- * - The source QWidget must serialize the drag payload as JSON under the same MIME type.
173
+ * - The source QWidget must serialize the generated AnQst wire payload as a
174
+ * JSON array under the same MIME type. Generated Qt widgets expose helper
175
+ * functions for this and source widgets should use them instead of
176
+ * hand-written JSON mapping.
173
177
  * - Multiple DropTarget members per service are allowed (each accepting a different type).
174
178
  * @example
175
179
  * // AnQst spec:
@@ -192,8 +196,9 @@ export namespace AnQst {
192
196
  * - External: A Qt widget initiates a QDrag carrying QMimeData.
193
197
  * - Parent: AnQstWebHostBase intercepts drag-move events via event filter on the
194
198
  * embedded QWebEngineView's rendering surface. Events are throttled (trailing edge).
195
- * - Parent: Payload is deserialized once on DragEnter; subsequent DragMove events
196
- * forward only the updated position.
199
+ * - Parent: Payload is deserialized once on DragEnter from a JSON array of
200
+ * normalized AnQst wire items; subsequent DragMove events forward only
201
+ * the updated position.
197
202
  * - Widget: Service updates signal `PropertyName` with the payload and current
198
203
  * coordinates. Signal becomes null on DragLeave.
199
204
  * - Shares the same MIME type convention as DropTarget: `application/anqst-dragdropevent_<ServiceName>-<TypeName>`.
@@ -302,6 +307,9 @@ export namespace AnQst {
302
307
  Promise = "Passing Promises across the boundary is not allowed",
303
308
  Callable = "Passing Callable objects across the boundary is not allowed",
304
309
  any = "Passing 'any' type across the boundary is not allowed",
310
+ symbol = "Passing 'symbol' type across the boundary is not allowed",
311
+ unknown = "Passing 'unknown' type across the boundary is not allowed",
312
+ never = "Passing 'never' type across the boundary is not allowed",
305
313
  }
306
314
 
307
315
  /**
@@ -324,4 +332,3 @@ export namespace AnQst {
324
332
  }
325
333
 
326
334
  }
327
-