@muze-nl/simplystore 0.3.6 → 0.4.1

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 (353) hide show
  1. package/package.json +2 -2
  2. package/src/commands.mjs +2 -2
  3. package/src/server.mjs +68 -61
  4. package/src/share.mjs +22 -39
  5. package/.eslintrc.cjs +0 -15
  6. package/test/produce.mjs +0 -79
  7. package/test/share.mjs +0 -18
  8. package/test/test.jsontag +0 -20
  9. package/www/assets/css/style.css +0 -2296
  10. package/www/assets/feather-sprite.svg +0 -1
  11. package/www/assets/img/simplystore-narrow-white.svg +0 -138
  12. package/www/assets/img/simplystore-narrow.svg +0 -138
  13. package/www/assets/img/simplystore-white.svg +0 -153
  14. package/www/assets/img/simplystore.svg +0 -153
  15. package/www/codemirror/AUTHORS +0 -979
  16. package/www/codemirror/CHANGELOG.md +0 -2208
  17. package/www/codemirror/CONTRIBUTING.md +0 -92
  18. package/www/codemirror/LICENSE +0 -21
  19. package/www/codemirror/README.md +0 -47
  20. package/www/codemirror/addon/comment/comment.js +0 -211
  21. package/www/codemirror/addon/comment/continuecomment.js +0 -114
  22. package/www/codemirror/addon/dialog/dialog.css +0 -32
  23. package/www/codemirror/addon/dialog/dialog.js +0 -163
  24. package/www/codemirror/addon/display/autorefresh.js +0 -47
  25. package/www/codemirror/addon/display/fullscreen.css +0 -6
  26. package/www/codemirror/addon/display/fullscreen.js +0 -41
  27. package/www/codemirror/addon/display/panel.js +0 -133
  28. package/www/codemirror/addon/display/placeholder.js +0 -78
  29. package/www/codemirror/addon/display/rulers.js +0 -51
  30. package/www/codemirror/addon/edit/closebrackets.js +0 -201
  31. package/www/codemirror/addon/edit/closetag.js +0 -185
  32. package/www/codemirror/addon/edit/continuelist.js +0 -101
  33. package/www/codemirror/addon/edit/matchbrackets.js +0 -160
  34. package/www/codemirror/addon/edit/matchtags.js +0 -66
  35. package/www/codemirror/addon/edit/trailingspace.js +0 -27
  36. package/www/codemirror/addon/fold/brace-fold.js +0 -119
  37. package/www/codemirror/addon/fold/comment-fold.js +0 -59
  38. package/www/codemirror/addon/fold/foldcode.js +0 -159
  39. package/www/codemirror/addon/fold/foldgutter.css +0 -20
  40. package/www/codemirror/addon/fold/foldgutter.js +0 -169
  41. package/www/codemirror/addon/fold/indent-fold.js +0 -48
  42. package/www/codemirror/addon/fold/markdown-fold.js +0 -49
  43. package/www/codemirror/addon/fold/xml-fold.js +0 -184
  44. package/www/codemirror/addon/hint/anyword-hint.js +0 -41
  45. package/www/codemirror/addon/hint/css-hint.js +0 -66
  46. package/www/codemirror/addon/hint/html-hint.js +0 -351
  47. package/www/codemirror/addon/hint/javascript-hint.js +0 -162
  48. package/www/codemirror/addon/hint/show-hint.css +0 -37
  49. package/www/codemirror/addon/hint/show-hint.js +0 -523
  50. package/www/codemirror/addon/hint/sql-hint.js +0 -304
  51. package/www/codemirror/addon/hint/xml-hint.js +0 -132
  52. package/www/codemirror/addon/lint/coffeescript-lint.js +0 -47
  53. package/www/codemirror/addon/lint/css-lint.js +0 -40
  54. package/www/codemirror/addon/lint/html-lint.js +0 -59
  55. package/www/codemirror/addon/lint/javascript-lint.js +0 -65
  56. package/www/codemirror/addon/lint/json-lint.js +0 -40
  57. package/www/codemirror/addon/lint/lint.css +0 -79
  58. package/www/codemirror/addon/lint/lint.js +0 -291
  59. package/www/codemirror/addon/lint/yaml-lint.js +0 -41
  60. package/www/codemirror/addon/merge/merge.css +0 -119
  61. package/www/codemirror/addon/merge/merge.js +0 -1018
  62. package/www/codemirror/addon/mode/loadmode.js +0 -66
  63. package/www/codemirror/addon/mode/multiplex.js +0 -136
  64. package/www/codemirror/addon/mode/multiplex_test.js +0 -49
  65. package/www/codemirror/addon/mode/overlay.js +0 -90
  66. package/www/codemirror/addon/mode/simple.js +0 -216
  67. package/www/codemirror/addon/runmode/colorize.js +0 -40
  68. package/www/codemirror/addon/runmode/runmode-standalone.js +0 -334
  69. package/www/codemirror/addon/runmode/runmode.js +0 -76
  70. package/www/codemirror/addon/runmode/runmode.node.js +0 -329
  71. package/www/codemirror/addon/scroll/annotatescrollbar.js +0 -128
  72. package/www/codemirror/addon/scroll/scrollpastend.js +0 -48
  73. package/www/codemirror/addon/scroll/simplescrollbars.css +0 -66
  74. package/www/codemirror/addon/scroll/simplescrollbars.js +0 -152
  75. package/www/codemirror/addon/search/jump-to-line.js +0 -53
  76. package/www/codemirror/addon/search/match-highlighter.js +0 -167
  77. package/www/codemirror/addon/search/matchesonscrollbar.css +0 -8
  78. package/www/codemirror/addon/search/matchesonscrollbar.js +0 -97
  79. package/www/codemirror/addon/search/search.js +0 -295
  80. package/www/codemirror/addon/search/searchcursor.js +0 -305
  81. package/www/codemirror/addon/selection/active-line.js +0 -72
  82. package/www/codemirror/addon/selection/mark-selection.js +0 -119
  83. package/www/codemirror/addon/selection/selection-pointer.js +0 -98
  84. package/www/codemirror/addon/tern/tern.css +0 -87
  85. package/www/codemirror/addon/tern/tern.js +0 -756
  86. package/www/codemirror/addon/tern/worker.js +0 -44
  87. package/www/codemirror/addon/wrap/hardwrap.js +0 -160
  88. package/www/codemirror/bin/source-highlight +0 -48
  89. package/www/codemirror/keymap/emacs.js +0 -545
  90. package/www/codemirror/keymap/sublime.js +0 -720
  91. package/www/codemirror/keymap/vim.js +0 -5978
  92. package/www/codemirror/lib/codemirror.css +0 -344
  93. package/www/codemirror/lib/codemirror.js +0 -9874
  94. package/www/codemirror/mode/apl/apl.js +0 -174
  95. package/www/codemirror/mode/asciiarmor/asciiarmor.js +0 -74
  96. package/www/codemirror/mode/asn.1/asn.1.js +0 -204
  97. package/www/codemirror/mode/asterisk/asterisk.js +0 -220
  98. package/www/codemirror/mode/brainfuck/brainfuck.js +0 -85
  99. package/www/codemirror/mode/clike/clike.js +0 -940
  100. package/www/codemirror/mode/clojure/clojure.js +0 -292
  101. package/www/codemirror/mode/cmake/cmake.js +0 -97
  102. package/www/codemirror/mode/cobol/cobol.js +0 -255
  103. package/www/codemirror/mode/coffeescript/coffeescript.js +0 -359
  104. package/www/codemirror/mode/commonlisp/commonlisp.js +0 -125
  105. package/www/codemirror/mode/crystal/crystal.js +0 -433
  106. package/www/codemirror/mode/css/css.js +0 -862
  107. package/www/codemirror/mode/cypher/cypher.js +0 -152
  108. package/www/codemirror/mode/d/d.js +0 -223
  109. package/www/codemirror/mode/dart/dart.js +0 -166
  110. package/www/codemirror/mode/diff/diff.js +0 -47
  111. package/www/codemirror/mode/django/django.js +0 -356
  112. package/www/codemirror/mode/dockerfile/dockerfile.js +0 -211
  113. package/www/codemirror/mode/dtd/dtd.js +0 -142
  114. package/www/codemirror/mode/dylan/dylan.js +0 -352
  115. package/www/codemirror/mode/ebnf/ebnf.js +0 -195
  116. package/www/codemirror/mode/ecl/ecl.js +0 -206
  117. package/www/codemirror/mode/eiffel/eiffel.js +0 -160
  118. package/www/codemirror/mode/elm/elm.js +0 -245
  119. package/www/codemirror/mode/erlang/erlang.js +0 -619
  120. package/www/codemirror/mode/factor/factor.js +0 -85
  121. package/www/codemirror/mode/fcl/fcl.js +0 -173
  122. package/www/codemirror/mode/forth/forth.js +0 -180
  123. package/www/codemirror/mode/fortran/fortran.js +0 -188
  124. package/www/codemirror/mode/gas/gas.js +0 -353
  125. package/www/codemirror/mode/gfm/gfm.js +0 -129
  126. package/www/codemirror/mode/gherkin/gherkin.js +0 -178
  127. package/www/codemirror/mode/go/go.js +0 -187
  128. package/www/codemirror/mode/groovy/groovy.js +0 -247
  129. package/www/codemirror/mode/haml/haml.js +0 -161
  130. package/www/codemirror/mode/handlebars/handlebars.js +0 -70
  131. package/www/codemirror/mode/haskell/haskell.js +0 -268
  132. package/www/codemirror/mode/haskell-literate/haskell-literate.js +0 -43
  133. package/www/codemirror/mode/haxe/haxe.js +0 -515
  134. package/www/codemirror/mode/htmlembedded/htmlembedded.js +0 -37
  135. package/www/codemirror/mode/htmlmixed/htmlmixed.js +0 -153
  136. package/www/codemirror/mode/http/http.js +0 -113
  137. package/www/codemirror/mode/idl/idl.js +0 -290
  138. package/www/codemirror/mode/javascript/javascript.js +0 -960
  139. package/www/codemirror/mode/jinja2/jinja2.js +0 -193
  140. package/www/codemirror/mode/jsx/jsx.js +0 -148
  141. package/www/codemirror/mode/julia/julia.js +0 -390
  142. package/www/codemirror/mode/livescript/livescript.js +0 -280
  143. package/www/codemirror/mode/lua/lua.js +0 -160
  144. package/www/codemirror/mode/markdown/markdown.js +0 -886
  145. package/www/codemirror/mode/mathematica/mathematica.js +0 -176
  146. package/www/codemirror/mode/mbox/mbox.js +0 -129
  147. package/www/codemirror/mode/meta.js +0 -221
  148. package/www/codemirror/mode/mirc/mirc.js +0 -193
  149. package/www/codemirror/mode/mllike/mllike.js +0 -359
  150. package/www/codemirror/mode/modelica/modelica.js +0 -245
  151. package/www/codemirror/mode/mscgen/mscgen.js +0 -175
  152. package/www/codemirror/mode/mumps/mumps.js +0 -148
  153. package/www/codemirror/mode/nginx/nginx.js +0 -178
  154. package/www/codemirror/mode/nsis/nsis.js +0 -95
  155. package/www/codemirror/mode/ntriples/ntriples.js +0 -195
  156. package/www/codemirror/mode/octave/octave.js +0 -139
  157. package/www/codemirror/mode/oz/oz.js +0 -252
  158. package/www/codemirror/mode/pascal/pascal.js +0 -136
  159. package/www/codemirror/mode/pegjs/pegjs.js +0 -111
  160. package/www/codemirror/mode/perl/perl.js +0 -836
  161. package/www/codemirror/mode/php/php.js +0 -234
  162. package/www/codemirror/mode/pig/pig.js +0 -178
  163. package/www/codemirror/mode/powershell/powershell.js +0 -398
  164. package/www/codemirror/mode/properties/properties.js +0 -78
  165. package/www/codemirror/mode/protobuf/protobuf.js +0 -72
  166. package/www/codemirror/mode/pug/pug.js +0 -591
  167. package/www/codemirror/mode/puppet/puppet.js +0 -220
  168. package/www/codemirror/mode/python/python.js +0 -402
  169. package/www/codemirror/mode/q/q.js +0 -139
  170. package/www/codemirror/mode/r/r.js +0 -190
  171. package/www/codemirror/mode/rpm/changes/index.html +0 -66
  172. package/www/codemirror/mode/rpm/rpm.js +0 -109
  173. package/www/codemirror/mode/rst/rst.js +0 -557
  174. package/www/codemirror/mode/ruby/ruby.js +0 -303
  175. package/www/codemirror/mode/rust/rust.js +0 -72
  176. package/www/codemirror/mode/sas/sas.js +0 -303
  177. package/www/codemirror/mode/sass/sass.js +0 -459
  178. package/www/codemirror/mode/scheme/scheme.js +0 -284
  179. package/www/codemirror/mode/shell/shell.js +0 -168
  180. package/www/codemirror/mode/sieve/sieve.js +0 -193
  181. package/www/codemirror/mode/slim/slim.js +0 -575
  182. package/www/codemirror/mode/smalltalk/smalltalk.js +0 -168
  183. package/www/codemirror/mode/smarty/smarty.js +0 -225
  184. package/www/codemirror/mode/solr/solr.js +0 -104
  185. package/www/codemirror/mode/soy/soy.js +0 -665
  186. package/www/codemirror/mode/sparql/sparql.js +0 -184
  187. package/www/codemirror/mode/spreadsheet/spreadsheet.js +0 -112
  188. package/www/codemirror/mode/sql/sql.js +0 -525
  189. package/www/codemirror/mode/stex/stex.js +0 -264
  190. package/www/codemirror/mode/stylus/stylus.js +0 -775
  191. package/www/codemirror/mode/swift/swift.js +0 -221
  192. package/www/codemirror/mode/tcl/tcl.js +0 -140
  193. package/www/codemirror/mode/textile/textile.js +0 -469
  194. package/www/codemirror/mode/tiddlywiki/tiddlywiki.css +0 -14
  195. package/www/codemirror/mode/tiddlywiki/tiddlywiki.js +0 -308
  196. package/www/codemirror/mode/tiki/tiki.css +0 -26
  197. package/www/codemirror/mode/tiki/tiki.js +0 -312
  198. package/www/codemirror/mode/toml/toml.js +0 -88
  199. package/www/codemirror/mode/tornado/tornado.js +0 -68
  200. package/www/codemirror/mode/troff/troff.js +0 -84
  201. package/www/codemirror/mode/ttcn/ttcn.js +0 -283
  202. package/www/codemirror/mode/ttcn-cfg/ttcn-cfg.js +0 -214
  203. package/www/codemirror/mode/turtle/turtle.js +0 -162
  204. package/www/codemirror/mode/twig/twig.js +0 -141
  205. package/www/codemirror/mode/vb/vb.js +0 -275
  206. package/www/codemirror/mode/vbscript/vbscript.js +0 -350
  207. package/www/codemirror/mode/velocity/velocity.js +0 -202
  208. package/www/codemirror/mode/verilog/verilog.js +0 -781
  209. package/www/codemirror/mode/vhdl/vhdl.js +0 -189
  210. package/www/codemirror/mode/vue/vue.js +0 -77
  211. package/www/codemirror/mode/wast/wast.js +0 -132
  212. package/www/codemirror/mode/webidl/webidl.js +0 -195
  213. package/www/codemirror/mode/xml/xml.js +0 -417
  214. package/www/codemirror/mode/xquery/xquery.js +0 -448
  215. package/www/codemirror/mode/yacas/yacas.js +0 -204
  216. package/www/codemirror/mode/yaml/yaml.js +0 -120
  217. package/www/codemirror/mode/yaml-frontmatter/yaml-frontmatter.js +0 -72
  218. package/www/codemirror/mode/z80/z80.js +0 -116
  219. package/www/codemirror/package.json +0 -52
  220. package/www/codemirror/rollup.config.js +0 -52
  221. package/www/codemirror/src/addon/runmode/codemirror-standalone.js +0 -24
  222. package/www/codemirror/src/addon/runmode/codemirror.node.js +0 -21
  223. package/www/codemirror/src/addon/runmode/runmode-standalone.js +0 -2
  224. package/www/codemirror/src/addon/runmode/runmode.node.js +0 -2
  225. package/www/codemirror/src/codemirror.js +0 -3
  226. package/www/codemirror/src/display/Display.js +0 -116
  227. package/www/codemirror/src/display/focus.js +0 -50
  228. package/www/codemirror/src/display/gutters.js +0 -44
  229. package/www/codemirror/src/display/highlight_worker.js +0 -55
  230. package/www/codemirror/src/display/line_numbers.js +0 -48
  231. package/www/codemirror/src/display/mode_state.js +0 -22
  232. package/www/codemirror/src/display/operations.js +0 -206
  233. package/www/codemirror/src/display/scroll_events.js +0 -132
  234. package/www/codemirror/src/display/scrollbars.js +0 -194
  235. package/www/codemirror/src/display/scrolling.js +0 -186
  236. package/www/codemirror/src/display/selection.js +0 -173
  237. package/www/codemirror/src/display/update_display.js +0 -267
  238. package/www/codemirror/src/display/update_line.js +0 -189
  239. package/www/codemirror/src/display/update_lines.js +0 -82
  240. package/www/codemirror/src/display/view_tracking.js +0 -153
  241. package/www/codemirror/src/edit/CodeMirror.js +0 -217
  242. package/www/codemirror/src/edit/commands.js +0 -178
  243. package/www/codemirror/src/edit/deleteNearSelection.js +0 -30
  244. package/www/codemirror/src/edit/drop_events.js +0 -130
  245. package/www/codemirror/src/edit/fromTextArea.js +0 -61
  246. package/www/codemirror/src/edit/global_events.js +0 -45
  247. package/www/codemirror/src/edit/key_events.js +0 -163
  248. package/www/codemirror/src/edit/legacy.js +0 -62
  249. package/www/codemirror/src/edit/main.js +0 -69
  250. package/www/codemirror/src/edit/methods.js +0 -555
  251. package/www/codemirror/src/edit/mouse_events.js +0 -417
  252. package/www/codemirror/src/edit/options.js +0 -194
  253. package/www/codemirror/src/edit/utils.js +0 -7
  254. package/www/codemirror/src/input/ContentEditableInput.js +0 -546
  255. package/www/codemirror/src/input/TextareaInput.js +0 -380
  256. package/www/codemirror/src/input/indent.js +0 -71
  257. package/www/codemirror/src/input/input.js +0 -134
  258. package/www/codemirror/src/input/keymap.js +0 -147
  259. package/www/codemirror/src/input/keynames.js +0 -17
  260. package/www/codemirror/src/input/movement.js +0 -111
  261. package/www/codemirror/src/line/highlight.js +0 -284
  262. package/www/codemirror/src/line/line_data.js +0 -349
  263. package/www/codemirror/src/line/pos.js +0 -40
  264. package/www/codemirror/src/line/saw_special_spans.js +0 -10
  265. package/www/codemirror/src/line/spans.js +0 -390
  266. package/www/codemirror/src/line/utils_line.js +0 -85
  267. package/www/codemirror/src/measurement/position_measurement.js +0 -702
  268. package/www/codemirror/src/measurement/widgets.js +0 -26
  269. package/www/codemirror/src/model/Doc.js +0 -436
  270. package/www/codemirror/src/model/change_measurement.js +0 -61
  271. package/www/codemirror/src/model/changes.js +0 -339
  272. package/www/codemirror/src/model/chunk.js +0 -167
  273. package/www/codemirror/src/model/document_data.js +0 -112
  274. package/www/codemirror/src/model/history.js +0 -228
  275. package/www/codemirror/src/model/line_widget.js +0 -78
  276. package/www/codemirror/src/model/mark_text.js +0 -293
  277. package/www/codemirror/src/model/selection.js +0 -84
  278. package/www/codemirror/src/model/selection_updates.js +0 -216
  279. package/www/codemirror/src/modes.js +0 -96
  280. package/www/codemirror/src/util/StringStream.js +0 -90
  281. package/www/codemirror/src/util/bidi.js +0 -215
  282. package/www/codemirror/src/util/browser.js +0 -34
  283. package/www/codemirror/src/util/dom.js +0 -101
  284. package/www/codemirror/src/util/event.js +0 -103
  285. package/www/codemirror/src/util/feature_detection.js +0 -84
  286. package/www/codemirror/src/util/misc.js +0 -168
  287. package/www/codemirror/src/util/operation_group.js +0 -72
  288. package/www/codemirror/theme/3024-day.css +0 -41
  289. package/www/codemirror/theme/3024-night.css +0 -39
  290. package/www/codemirror/theme/abbott.css +0 -268
  291. package/www/codemirror/theme/abcdef.css +0 -32
  292. package/www/codemirror/theme/ambiance-mobile.css +0 -5
  293. package/www/codemirror/theme/ambiance.css +0 -74
  294. package/www/codemirror/theme/ayu-dark.css +0 -44
  295. package/www/codemirror/theme/ayu-mirage.css +0 -45
  296. package/www/codemirror/theme/base16-dark.css +0 -40
  297. package/www/codemirror/theme/base16-light.css +0 -38
  298. package/www/codemirror/theme/bespin.css +0 -34
  299. package/www/codemirror/theme/blackboard.css +0 -32
  300. package/www/codemirror/theme/cobalt.css +0 -25
  301. package/www/codemirror/theme/colorforth.css +0 -33
  302. package/www/codemirror/theme/darcula.css +0 -53
  303. package/www/codemirror/theme/dracula.css +0 -40
  304. package/www/codemirror/theme/duotone-dark.css +0 -35
  305. package/www/codemirror/theme/duotone-light.css +0 -36
  306. package/www/codemirror/theme/eclipse.css +0 -23
  307. package/www/codemirror/theme/elegant.css +0 -13
  308. package/www/codemirror/theme/erlang-dark.css +0 -34
  309. package/www/codemirror/theme/gruvbox-dark.css +0 -39
  310. package/www/codemirror/theme/hopscotch.css +0 -34
  311. package/www/codemirror/theme/icecoder.css +0 -43
  312. package/www/codemirror/theme/idea.css +0 -42
  313. package/www/codemirror/theme/isotope.css +0 -34
  314. package/www/codemirror/theme/juejin.css +0 -30
  315. package/www/codemirror/theme/lesser-dark.css +0 -47
  316. package/www/codemirror/theme/liquibyte.css +0 -95
  317. package/www/codemirror/theme/lucario.css +0 -37
  318. package/www/codemirror/theme/material-darker.css +0 -135
  319. package/www/codemirror/theme/material-ocean.css +0 -141
  320. package/www/codemirror/theme/material-palenight.css +0 -141
  321. package/www/codemirror/theme/material.css +0 -141
  322. package/www/codemirror/theme/mbo.css +0 -37
  323. package/www/codemirror/theme/mdn-like.css +0 -46
  324. package/www/codemirror/theme/midnight.css +0 -39
  325. package/www/codemirror/theme/monokai.css +0 -41
  326. package/www/codemirror/theme/moxer.css +0 -143
  327. package/www/codemirror/theme/neat.css +0 -12
  328. package/www/codemirror/theme/neo.css +0 -43
  329. package/www/codemirror/theme/night.css +0 -27
  330. package/www/codemirror/theme/nord.css +0 -42
  331. package/www/codemirror/theme/oceanic-next.css +0 -46
  332. package/www/codemirror/theme/panda-syntax.css +0 -85
  333. package/www/codemirror/theme/paraiso-dark.css +0 -38
  334. package/www/codemirror/theme/paraiso-light.css +0 -38
  335. package/www/codemirror/theme/pastel-on-dark.css +0 -52
  336. package/www/codemirror/theme/railscasts.css +0 -34
  337. package/www/codemirror/theme/rubyblue.css +0 -25
  338. package/www/codemirror/theme/seti.css +0 -44
  339. package/www/codemirror/theme/shadowfox.css +0 -52
  340. package/www/codemirror/theme/solarized.css +0 -165
  341. package/www/codemirror/theme/ssms.css +0 -16
  342. package/www/codemirror/theme/the-matrix.css +0 -30
  343. package/www/codemirror/theme/tomorrow-night-bright.css +0 -35
  344. package/www/codemirror/theme/tomorrow-night-eighties.css +0 -38
  345. package/www/codemirror/theme/ttcn.css +0 -64
  346. package/www/codemirror/theme/twilight.css +0 -32
  347. package/www/codemirror/theme/vibrant-ink.css +0 -34
  348. package/www/codemirror/theme/xq-dark.css +0 -53
  349. package/www/codemirror/theme/xq-light.css +0 -43
  350. package/www/codemirror/theme/yeti.css +0 -44
  351. package/www/codemirror/theme/yonce.css +0 -59
  352. package/www/codemirror/theme/zenburn.css +0 -37
  353. package/www/index.html +0 -359
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@muze-nl/simplystore",
3
- "version": "0.3.6",
3
+ "version": "0.4.1",
4
4
  "main": "src/server.mjs",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -17,7 +17,7 @@
17
17
  "homepage": "https://github.com/simplyedit/simplystore#readme",
18
18
  "dependencies": {
19
19
  "@muze-nl/jsontag": "^0.8.5",
20
- "array-where-select": "^0.3.1",
20
+ "array-where-select": "^0.4.0",
21
21
  "codemirror": "^6.0.1",
22
22
  "express": "^4.18.1",
23
23
  "json-pointer": "^0.6.2",
package/src/commands.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  export default {
2
+ /*
2
3
  addPerson: (dataspace, command) => {
3
- console.log('dataspace',dataspace)
4
4
  dataspace.persons.push(command.value)
5
- // dataspace.persons[0].name = 'Jan';
6
5
  return 'foo'
7
6
  }
7
+ */
8
8
  }
package/src/server.mjs CHANGED
@@ -90,7 +90,6 @@ async function main(options) {
90
90
 
91
91
  server.get('/query/*', (req, res, next) =>
92
92
  {
93
- console.log('express query')
94
93
  let start = Date.now()
95
94
 
96
95
  if ( !accept(req,res,
@@ -172,73 +171,81 @@ async function main(options) {
172
171
  })
173
172
 
174
173
  server.post('/command', async (req, res) => {
175
- let start = Date.now()
176
- if ( !accept(req,res,
177
- ['application/jsontag','application/json'])
178
- ) {
179
- return
180
- }
181
- let error, result
174
+ try {
175
+ let start = Date.now()
176
+ if ( !accept(req,res,
177
+ ['application/jsontag','application/json'])
178
+ ) {
179
+ return
180
+ }
181
+ let error, result
182
182
 
183
- let commandStr = req.body.toString() // raw body through express.raw()
184
- let command = JSONTag.parse(commandStr)
185
- if (!command.id) {
186
- error = {
187
- code: 422,
188
- message: "Command has no id"
183
+ let commandStr = req.body.toString() // raw body through express.raw()
184
+ let command = JSONTag.parse(commandStr)
185
+ console.log('command',command)
186
+ if (!command || !command.id) {
187
+ error = {
188
+ code: 422,
189
+ message: "Command has no id"
190
+ }
191
+ sendCommandResponse(error, req, res)
192
+ return
193
+ } else if (status.has(command.id)) {
194
+ result = "OK"
195
+ sendCommandResponse(result, req, res)
196
+ return
197
+ } else if (!command.name || !commands[command.name]) {
198
+ error = {
199
+ code: 422,
200
+ message: "Command has no name or is unknown"
201
+ }
202
+ sendCommandResponse(error, req, res)
203
+ return
189
204
  }
190
- sendCommandResponse(error, req, res)
191
- return
192
- } else if (status.has(command.id)) {
205
+ // catch appendFile errors?
206
+ await appendFile(commandLog, JSONTag.stringify(command))
207
+
208
+ status.set(command.id, 'queued')
209
+ console.log('command',command)
210
+
193
211
  result = "OK"
194
212
  sendCommandResponse(result, req, res)
195
- return
196
- } else if (!command.name || !commands[command.name]) {
197
- error = {
198
- code: 422,
199
- message: "Command has no name or is unknown"
213
+ let request = {
214
+ method: req.method,
215
+ url: req.originalUrl,
216
+ query: req.query,
217
+ jsontag: req.accepts('application/jsontag')
200
218
  }
201
- sendCommandResponse(error, req, res)
202
- return
203
- }
204
- await appendFile(commandLog, JSONTag.stringify(command))
205
219
 
206
- status.set(command.id, 'queued')
207
- console.log('command',command)
208
-
209
- result = "OK"
210
- sendCommandResponse(result, req, res)
211
- let request = {
212
- method: req.method,
213
- url: req.originalUrl,
214
- query: req.query,
215
- jsontag: req.accepts('application/jsontag')
216
- }
217
-
218
- commandWorkerpool
219
- .run({request, commandStr})
220
- .then(response => {
221
- //@TODO store response status, if response.code => error
222
- if (!response.code) {
223
- jsontag = response.body // global jsontag
224
- let dataspace = JSONTag.parse(jsontag)
225
- //@TODO: make sure queryWorkerpool is only replaced after
226
- //workers are initialized, to prevent hickups if initialization takes a long time
227
- let newQueryWorkerpool = initWorkerPool(queryWorker)
228
- queryWorkerpool.destroy() // gracefully
229
- queryWorkerpool = newQueryWorkerpool
230
- //@TODO: write dataspace to disk
231
- status.set(command.id, 'done')
232
- let end = Date.now()
233
- console.log(command.name, (end-start), process.memoryUsage())
234
- }
235
- })
236
- .catch(err => {
220
+ commandWorkerpool
221
+ .run({request, commandStr})
222
+ .then(response => {
223
+ //@TODO: add try/catch here as well
224
+ //@TODO store response status, if response.code => error
225
+ if (!response.code) {
226
+ jsontag = response.body // global jsontag
227
+ let dataspace = JSONTag.parse(jsontag)
228
+ //@TODO: make sure queryWorkerpool is only replaced after
229
+ //workers are initialized, to prevent hickups if initialization takes a long time
230
+ let newQueryWorkerpool = initWorkerPool(queryWorker)
231
+ queryWorkerpool.destroy() // gracefully
232
+ queryWorkerpool = newQueryWorkerpool
233
+ //@TODO: write dataspace to disk
234
+ status.set(command.id, 'done')
235
+ let end = Date.now()
236
+ console.log(command.name, (end-start), process.memoryUsage())
237
+ }
238
+ })
239
+ .catch(err => {
240
+ console.error(err)
241
+ //@TODO: set status for this command to error with this err
242
+ status.set(command.id, err)
243
+ })
244
+ } catch(err) {
237
245
  console.error(err)
238
- //@TODO: set status for this command to error with this err
239
- status.set(command.id, err)
240
- })
241
-
246
+ res.status(500)
247
+ res.send(err)
248
+ }
242
249
  })
243
250
 
244
251
  function handleWebRequest(req,res,options)
package/src/share.mjs CHANGED
@@ -5,34 +5,24 @@ const handler = function(root, index, buffer)
5
5
  return {
6
6
  get(target, key, receiver)
7
7
  {
8
- //@FIXME: array.length needs to be handled
9
- //@FIXME: array functions need to be handled
10
8
  let keyNumber = index.key[key]
11
9
  if (root[keyNumber]) {
12
10
  let keyStart = root[keyNumber].s + root.s
13
11
  let keyEnd = root[keyNumber].e + root.s
14
- // subobjecten hoeven niet geparsed...
12
+ subobjecten hoeven niet geparsed...
15
13
  if (root[keyNumber].c) {
16
14
  // object
17
15
  return new jsontagProxy(root[keyNumber], index, buffer)
18
16
  }
19
17
  return JSON.parse(buffer.slice(keyStart,keyEnd))
20
18
  }
21
- },
22
-
23
- set() {
24
- throw new Error('This data is immutable')
25
- },
26
-
27
- deleteProperty() {
28
- throw new Error('This data is immutable')
29
- },
19
+ }
30
20
 
31
21
  has(target, key)
32
22
  {
33
23
  let keyNumber = index.key[key]
34
24
  return typeof root[keyNumber] !== 'undefined'
35
- },
25
+ }
36
26
 
37
27
  ownKeys(target)
38
28
  {
@@ -41,16 +31,21 @@ const handler = function(root, index, buffer)
41
31
  }
42
32
  }
43
33
 
44
- export function getJsontagProxy(root, index, buffer) {
45
- return new Proxy({}, handler(root, index, buffer))
34
+ export class jsontagProxy extends proxy
35
+ {
36
+ constructor(root, index, buffer)
37
+ {
38
+ super({}, handler(root, index, buffer))
39
+ }
40
+
46
41
  }
47
42
 
48
- export function share(data)
43
+ export default function share(data)
49
44
  {
50
45
  let jsontag = JSONTag.stringify(data)
51
46
  let buffer = new SharedArrayBuffer(jsontag.length)
52
47
  let dv = new DataView(buffer)
53
- let encoder = new TextEncoder('utf-8')
48
+ let encode = new TextEncoder('utf-8')
54
49
  let root = {}
55
50
  let index = {
56
51
  key: {},
@@ -58,12 +53,11 @@ export function share(data)
58
53
  types: {}
59
54
  }
60
55
  let current = 0
61
- let seen = new Map()
62
56
 
63
57
  function getKey(key) {
64
58
  let l;
65
59
  if (typeof index.key[key] == 'undefined') {
66
- l = Object.keys(index.key).length
60
+ l = Object.keys(index.key)
67
61
  index.key[key] = l
68
62
  index.reverse[l] = key
69
63
  }
@@ -72,7 +66,7 @@ export function share(data)
72
66
 
73
67
  function getType(type) {
74
68
  if (typeof index.types[type] == 'undefined') {
75
- let l = Object.keys(index.types).length;
69
+ l = Object.keys(index.types);
76
70
  index.types[type] = l
77
71
  }
78
72
 
@@ -80,10 +74,6 @@ export function share(data)
80
74
 
81
75
  function store(container, key, value) {
82
76
  let l = getKey(key)
83
- if (seen.has(value)) {
84
- container[l] = seen.get(value)
85
- return
86
- }
87
77
  container[l] = {
88
78
  s: current
89
79
  }
@@ -94,25 +84,24 @@ export function share(data)
94
84
  s: current,
95
85
  c: {}
96
86
  }
97
- Object.entries(attributes).forEach(([k,v]) => {
87
+ attributes.forEach((v,k) => {
98
88
  let l = getKey(k)
99
89
  let t = getType('string')
100
90
  container.a.c[k] = {
101
91
  s: current,
102
92
  t
103
93
  }
104
- v = JSON.stringify(v)
105
- let {r,w} = encoder.encodeInto(v, dv, current)
94
+ let v = JSON.stringify(value)
95
+ let (r,w) = encoder.encodeInto(v, dv, current)
106
96
  current += w
107
97
  container.a.c[k].e = current
108
98
  })
109
99
  }
110
- let type = JSONTag.getType(value)
100
+ let type = JSONTag.getType(node)
111
101
  let t = getType(type)
112
102
  container.t = t
113
103
  let v = JSON.stringify(value)
114
- let uint8buffer = new Uint8Array(buffer)
115
- let {r,w} = encoder.encodeInto(v, uint8buffer, current)
104
+ let (r,w) = encoder.encodeInto(v, dv, current)
116
105
  current+= w
117
106
  container.e = current
118
107
  }
@@ -120,15 +109,10 @@ export function share(data)
120
109
 
121
110
  function walk(node, parentKey, parent, save)
122
111
  {
123
- if (seen.has(node)) {
124
- Object.assign(save, seen.get(node))
125
- return
126
- }
127
112
  let type = JSONTag.getType(node)
128
113
  let t = getType(type)
129
114
  switch (type) {
130
115
  case 'array':
131
- seen.set(node,save)
132
116
  save.s = current
133
117
  save.t = t
134
118
  save.c = []
@@ -136,11 +120,10 @@ export function share(data)
136
120
  save.e = current
137
121
  break
138
122
  case 'object':
139
- seen.set(node, save)
140
123
  save.s = current
141
124
  save.c = []
142
125
  save.t = t
143
- Object.entries(node).forEach(([k,v]) => walk(v, k, node, save.c))
126
+ Object.entries(node).forEach((k,v) => walk(v, k, node, save.c))
144
127
  save.e = current
145
128
  break
146
129
  default:
@@ -150,9 +133,9 @@ export function share(data)
150
133
  }
151
134
 
152
135
  walk(data, null, null, root)
153
- console.log(root)
136
+
154
137
  return {
155
- root: getJsontagProxy(root, index, buffer),
138
+ root: new jsontagProxy(root, index, buffer),
156
139
  index,
157
140
  buffer
158
141
  }
package/.eslintrc.cjs DELETED
@@ -1,15 +0,0 @@
1
- module.exports = {
2
- "env": {
3
- "browser": true,
4
- "es2021": true
5
- },
6
- "extends": "eslint:recommended",
7
- "overrides": [
8
- ],
9
- "parserOptions": {
10
- "ecmaVersion": "latest",
11
- "sourceType": "module"
12
- },
13
- "rules": {
14
- }
15
- }
package/test/produce.mjs DELETED
@@ -1,79 +0,0 @@
1
- import tap from 'tap'
2
- import fs from 'fs'
3
- import JSONTag from '@muze-nl/jsontag'
4
- import {produce,index} from '../src/produce.mjs'
5
- import {deepFreeze} from '../src/util.mjs'
6
-
7
- let data = deepFreeze(JSONTag.parse(fs.readFileSync('./test/test.jsontag','utf-8')))
8
-
9
- tap.test('data is frozen', t => {
10
- t.throws(() => {
11
- data.persons.foo = 'bar'
12
- })
13
- t.notHas(data.persons, {foo:'bar'})
14
- t.end()
15
- })
16
-
17
- tap.test('produce can create new data', t => {
18
- let newData = produce(data, (draft) => {
19
- draft.persons.foo = 'bar'
20
- })
21
- t.has(newData.persons, {foo:'bar'})
22
- t.end()
23
- })
24
-
25
- tap.test('produce does not change base data', t => {
26
- let newData = produce(data, (draft) => {
27
- console.log('Persons draft',draft.persons, Object.isFrozen(draft.persons))
28
- draft.persons.foo = 'bar'
29
- })
30
- t.notHas(data.persons, {foo:'bar'})
31
- t.end()
32
- })
33
-
34
- tap.test('produce handles array access', t => {
35
- let newData = produce(data, (draft) => {
36
- draft.persons[0].name = 'Jan'
37
- })
38
- t.equal(newData.persons[0].name, 'Jan')
39
- t.end()
40
- })
41
-
42
- tap.test('produce handles array functions', t => {
43
- let newData = produce(data, (draft) => {
44
- draft.persons.push({
45
- name: 'Jan'
46
- })
47
- })
48
- t.equal(newData.persons[2].name, 'Jan')
49
- t.same(data.persons[2],null)
50
- t.end()
51
- })
52
-
53
- tap.test('produce can use array.indexOf inside', t => {
54
- let newData = produce(data, (draft) => {
55
- let p = draft.persons[1] // this returns a proxy
56
- let i = draft.persons.indexOf(p) // this is passed on to the baseState/clone, which has values without proxy
57
- t.equal(i,1) // so this no longer fails, as indexOf automatically calls getRealValue on all params
58
- })
59
- t.end()
60
- })
61
-
62
- tap.test('produce does not alter unaccessed objects', t => {
63
- let newData = produce(data, (draft) => {
64
- draft.persons.foo = 'bar'
65
- })
66
- t.equal(data.persons[0],newData.persons[0])
67
- t.equal(data.persons[1],newData.persons[1])
68
- t.notEqual(data.persons,newData.persons)
69
- t.end()
70
- })
71
-
72
- tap.test('proxies get re-used', t => {
73
- let newData = produce(data, (draft) => {
74
- let p1 = draft.persons[0]
75
- let p2 = draft.persons[0]
76
- t.equal(p1,p2)
77
- })
78
- t.end()
79
- })
package/test/share.mjs DELETED
@@ -1,18 +0,0 @@
1
- import tap from 'tap'
2
- import {share} from '../src/share.mjs'
3
- import JSONTag from '@muze-nl/jsontag'
4
- import fs from 'fs'
5
-
6
- let data = JSONTag.parse(fs.readFileSync('./test/test.jsontag','utf-8'))
7
-
8
- tap.test('create shared array buffer', t => {
9
- let shared = share(data)
10
- console.log(shared)
11
- let decoder = new TextDecoder()
12
- let uint8buffer = new Uint8Array(shared.buffer)
13
- let str = decoder.decode(uint8buffer)
14
- console.log('string',str)
15
-
16
- t.end()
17
- })
18
-
package/test/test.jsontag DELETED
@@ -1,20 +0,0 @@
1
- {
2
- "persons": [
3
- <object id="john" class="Person">{
4
- "name": "John",
5
- "lastName": "Doe",
6
- "dob": <date>"1972-09-20",
7
- "foaf": [
8
- <link>"jane"
9
- ]
10
- },
11
- <object id="jane" class="Person">{
12
- "name": "Jane",
13
- "lastName": "Doe",
14
- "dob": <date>"1986-01-01",
15
- "foaf": [
16
- <link>"john"
17
- ]
18
- }
19
- ]
20
- }