statebus 7.0.23 → 7.0.24

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.
package/client-library.js CHANGED
@@ -575,7 +575,18 @@
575
575
  // ================================================================
576
576
  // React v12 Support
577
577
 
578
- bus.libs.react12.improve_react = () => {
578
+ bus.libs.react12.reactive_dom = () => {
579
+
580
+ // The window.dom object lets the user define new react components as
581
+ // functions
582
+ window.dom = window.dom || new Proxy({}, {
583
+ get: function (o, k) { return o[k] },
584
+ set: function (o, k, v) {
585
+ o[k] = v
586
+ window[k] = make_component(k, v)
587
+ return true
588
+ }
589
+ })
579
590
 
580
591
  function better_element(el) {
581
592
  // To do:
@@ -661,7 +672,7 @@
661
672
 
662
673
  make_better_input("INPUT", window.INPUT)
663
674
  make_better_input("TEXTAREA", window.TEXTAREA)
664
- make_syncarea()
675
+ // make_syncarea()
665
676
 
666
677
  // Make IMG accept data from state:
667
678
  var og_img = window.IMG
@@ -691,6 +702,23 @@
691
702
  }
692
703
  }
693
704
 
705
+ bus.libs.react12.coffreact = () => {
706
+ bus.libs.react12.reactive_dom()
707
+ load_coffee()
708
+ if (dom.BODY)
709
+ document.addEventListener(
710
+ 'DOMContentLoaded',
711
+ () => {
712
+ React.render((window.Body || window.body || window.BODY)(), document.body)
713
+ },
714
+ false
715
+ )
716
+ }
717
+
718
+
719
+ // ================================================================
720
+ // React v17 Support
721
+
694
722
  bus.libs.react17.reactive_dom = () => {
695
723
  // The window.dom object lets the user define new react components as
696
724
  // functions
package/extras/tests.js CHANGED
@@ -325,7 +325,7 @@ test(function translate_fields (done) {
325
325
  // Test 1
326
326
  var tests = tests1
327
327
  for (var i=0; i<tests.length; i++) {
328
- var trans = bus.translate_fields(tests[i][0], bus.unescape_from_bus)
328
+ var trans = bus.unescape_from_bus(tests[i][0])
329
329
  assert(bus.deep_equals(trans, tests[i][1]),
330
330
  'Bad translation1: ' + i + ' ' + JSON.stringify(trans))
331
331
  }
@@ -333,7 +333,7 @@ test(function translate_fields (done) {
333
333
  // Test 2
334
334
  tests = tests2
335
335
  for (var i=0; i<tests2.length; i++) {
336
- var trans = bus.translate_fields(tests[i][0], bus.escape_to_bus)
336
+ var trans = bus.escape_to_bus(tests[i][0])
337
337
  assert(bus.deep_equals(trans, tests[i][1]),
338
338
  'Bad translation2: ' + i + ' ' + JSON.stringify(trans))
339
339
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "statebus",
3
- "version": "7.0.23",
3
+ "version": "7.0.24",
4
4
  "description": "Synchronize state.",
5
5
  "main": "statebus.js",
6
6
  "scripts": {
package/statebus.js CHANGED
@@ -1343,11 +1343,11 @@
1343
1343
 
1344
1344
  // Compute the new path
1345
1345
  var new_path = path + '[' + JSON.stringify(k) + ']'
1346
- return item_proxy(base, new_path, o[escape_to_bus(k)])
1346
+ return item_proxy(base, new_path, o[escape_field_to_bus(k)])
1347
1347
  },
1348
1348
  set: function set(o, k, v) {
1349
- var value = translate_fields(v, field => escape_to_bus(escape_to_nelson(field)))
1350
- o[escape_to_bus(k)] = value
1349
+ var value = translate_fields(v, field => escape_field_to_bus(escape_field_to_nelson(field)))
1350
+ o[escape_field_to_bus(k)] = value
1351
1351
  var new_path = path + '[' + JSON.stringify(k) + ']'
1352
1352
  bus.set(
1353
1353
  base,
@@ -1357,11 +1357,11 @@
1357
1357
  return true
1358
1358
  },
1359
1359
  has: function has(o, k) {
1360
- return o.hasOwnProperty(escape_to_bus(k))
1360
+ return o.hasOwnProperty(escape_field_to_bus(k))
1361
1361
  },
1362
1362
  deleteProperty: function del (o, k) {
1363
1363
  var new_path = path + '[' + JSON.stringify(k) + ']'
1364
- delete o[escape_to_bus(k)]
1364
+ delete o[escape_field_to_bus(k)]
1365
1365
  bus.set(
1366
1366
  base,
1367
1367
  // Forward the patch too
@@ -1372,7 +1372,7 @@
1372
1372
  // For function proxies:
1373
1373
  //
1374
1374
  // apply: function apply (o, This, args) {
1375
- // return translate_fields(o, unescape_from_bus)
1375
+ // return translate_fields(o, unescape_field_from_bus)
1376
1376
  // }
1377
1377
  })}
1378
1378
 
@@ -1394,12 +1394,12 @@
1394
1394
  set: function set(o, key, val) {
1395
1395
  bus.set({
1396
1396
  key: key,
1397
- val: translate_fields(val, field => escape_to_bus(escape_to_nelson(field)))
1397
+ val: translate_fields(val, field => escape_field_to_bus(escape_field_to_nelson(field)))
1398
1398
  })
1399
1399
  return true
1400
1400
  },
1401
1401
  deleteProperty: function del (o, k) {
1402
- bus.delete(escape_to_bus(k))
1402
+ bus.delete(escape_field_to_bus(k))
1403
1403
  return true // Report success to Proxy
1404
1404
  },
1405
1405
  // For function proxies:
@@ -1755,11 +1755,15 @@
1755
1755
  // - nelSON escapes link -> _link
1756
1756
  // - JSON
1757
1757
  //
1758
- var escape_to_bus = (field) => field.replace(/^(_*)key$/, '$1_key'),
1759
- unescape_from_bus = (field) => field.replace(/^(_*)_key$/, '$1key'),
1760
- escape_to_nelson = (field) => field.replace(/^(_*)link$/, '$1_key'),
1761
- unescape_from_nelson = (field) => field.replace(/^(_*)link$/, '$1_key')
1762
-
1758
+ var escape_field_to_bus = (field) => field.replace(/^(_*)key$/, '$1_key'),
1759
+ unescape_field_from_bus = (field) => field.replace(/^(_*)_key$/, '$1key'),
1760
+ escape_field_to_nelson = (field) => field.replace(/^(_*)link$/, '$1_key'),
1761
+ unescape_field_from_nelson = (field) => field.replace(/^(_*)link$/, '$1_key')
1762
+
1763
+ var escape_to_bus = (obj) => translate_fields(obj, escape_field_to_bus)
1764
+ unescape_from_bus = (obj) => translate_fields(obj, unescape_field_from_bus)
1765
+ escape_to_nelson = (obj) => translate_fields(obj, escape_field_to_nelson)
1766
+ unescape_from_nelson = (obj) => translate_fields(obj, unescape_field_from_nelson)
1763
1767
 
1764
1768
  function key_id(string) { return string.match(/\/?[^\/]+\/(\d+)/)[1] }
1765
1769
  function key_name(string) { return string.match(/\/?([^\/]+).*/)[1] }