tinybase 1.2.2 → 1.2.3

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.
@@ -566,6 +566,10 @@ export type StoreListenerStats = {
566
566
  * The number of CellListeners registered with the Store.
567
567
  */
568
568
  cell?: number;
569
+ /**
570
+ * The number of InvalidCellListeners registered with the Store.
571
+ */
572
+ invalidCell?: number;
569
573
  };
570
574
 
571
575
  /**
@@ -770,6 +770,7 @@ const createStore = () => {
770
770
  row: collPairSize(rowListeners, collSize3),
771
771
  cellIds: collPairSize(cellIdsListeners, collSize3),
772
772
  cell: collPairSize(cellListeners, collSize4),
773
+ invalidCell: collPairSize(invalidCellListeners, collSize4),
773
774
  });
774
775
  const store = {
775
776
  getTables,
@@ -1791,6 +1791,7 @@ const createStore = () => {
1791
1791
  row: collPairSize(rowListeners, collSize3),
1792
1792
  cellIds: collPairSize(cellIdsListeners, collSize3),
1793
1793
  cell: collPairSize(cellListeners, collSize4),
1794
+ invalidCell: collPairSize(invalidCellListeners, collSize4),
1794
1795
  });
1795
1796
  const store = {
1796
1797
  getTables,
package/lib/store.d.ts CHANGED
@@ -566,6 +566,10 @@ export type StoreListenerStats = {
566
566
  * The number of CellListeners registered with the Store.
567
567
  */
568
568
  cell?: number;
569
+ /**
570
+ * The number of InvalidCellListeners registered with the Store.
571
+ */
572
+ invalidCell?: number;
569
573
  };
570
574
 
571
575
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tinybase",
3
- "version": "1.2.2",
3
+ "version": "1.2.3",
4
4
  "author": "jamesgpearce",
5
5
  "repository": "github:tinyplex/tinybase",
6
6
  "license": "MIT",
@@ -57,7 +57,7 @@
57
57
  },
58
58
  "devDependencies": {
59
59
  "@babel/cli": "^7.17.6",
60
- "@babel/core": "^7.17.5",
60
+ "@babel/core": "^7.17.8",
61
61
  "@babel/preset-env": "^7.16.11",
62
62
  "@babel/preset-react": "^7.16.7",
63
63
  "@babel/preset-typescript": "^7.16.7",
@@ -69,24 +69,24 @@
69
69
  "@types/jest-environment-puppeteer": "^5.0.0",
70
70
  "@types/less": "^3.0.3",
71
71
  "@types/puppeteer": "^5.4.5",
72
- "@types/react": "^17.0.39",
72
+ "@types/react": "^17.0.40",
73
73
  "@types/react-dom": "^17.0.13",
74
74
  "@types/react-test-renderer": "^17.0.1",
75
75
  "@types/tmp": "^0.2.3",
76
- "@typescript-eslint/eslint-plugin": "^5.14.0",
77
- "@typescript-eslint/parser": "^5.14.0",
76
+ "@typescript-eslint/eslint-plugin": "^5.15.0",
77
+ "@typescript-eslint/parser": "^5.15.0",
78
78
  "asciichart": "^1.5.25",
79
79
  "babel-eslint": "^10.1.0",
80
80
  "babel-jest": "^27.5.1",
81
81
  "babel-preset-minify": "^0.5.1",
82
82
  "country-flag-emoji-json": "^2.0.0",
83
- "cspell": "^5.18.5",
84
- "esbuild": "^0.14.25",
85
- "eslint": "^8.10.0",
83
+ "cspell": "^5.19.2",
84
+ "esbuild": "^0.14.27",
85
+ "eslint": "^8.11.0",
86
86
  "eslint-config-prettier": "^8.5.0",
87
87
  "eslint-plugin-jest": "^26.1.1",
88
- "eslint-plugin-jsdoc": "^37.9.7",
89
- "eslint-plugin-react": "^7.29.3",
88
+ "eslint-plugin-jsdoc": "^38.0.4",
89
+ "eslint-plugin-react": "^7.29.4",
90
90
  "eslint-plugin-react-hooks": "^4.3.0",
91
91
  "gulp": "^4.0.2",
92
92
  "gulp-gzip": "^1.4.2",
@@ -95,12 +95,12 @@
95
95
  "jest-fetch-mock": "^3.0.3",
96
96
  "jest-puppeteer": "^6.1.0",
97
97
  "less": "^4.1.2",
98
- "prettier": "^2.5.1",
99
- "puppeteer": "^13.5.0",
98
+ "prettier": "^2.6.0",
99
+ "puppeteer": "^13.5.1",
100
100
  "react": "^17.0.2",
101
101
  "react-dom": "^17.0.2",
102
102
  "react-test-renderer": "^17.0.2",
103
- "rollup": "^2.70.0",
103
+ "rollup": "^2.70.1",
104
104
  "rollup-plugin-esbuild": "^4.8.2",
105
105
  "rollup-plugin-gzip": "^3.0.0",
106
106
  "rollup-plugin-prettier": "^2.2.2",
package/readme.md CHANGED
@@ -192,4 +192,4 @@ console.log(store.getCell('pets', 'felix', 'sold'));
192
192
  // -> false
193
193
  ```
194
194
 
195
- <section><h2 id="did-we-say-tiny">Did we say tiny?</h2><p>If you use the basic <a href="https://tinybase.org/api/store"><code>store</code></a> module alone, you&#x27;ll only add a gzipped <em>2.9kB</em> to your app. You can incrementally add the other modules as you need more functionality, or get it all for <em>5.9kB</em>. The <code>ui-react</code> adaptor is just another <em>2.6kB</em>, and everything is fast.</p><p>Life&#x27;s easy when you have zero dependencies.</p><p>Read more about how TinyBase is structured in the <a href="https://tinybase.org/guides/how-tinybase-is-built/architecture">Architecture</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>.js.gz</th><th>.js</th><th>debug.js</th><th>.d.ts</th></tr><tr><th class="right"><a href="https://tinybase.org/api/store">store</a></th><td>2.9kB</td><td>6.5kB</td><td>27.4kB</td><td>102.0kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/indexes">indexes</a></th><td>1.6kB</td><td>3.2kB</td><td>14.1kB</td><td>32.9kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/metrics">metrics</a></th><td>1.5kB</td><td>3.1kB</td><td>12.6kB</td><td>29.1kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/relationships">relationships</a></th><td>1.6kB</td><td>3.2kB</td><td>14.8kB</td><td>42.1kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/checkpoints">checkpoints</a></th><td>1.3kB</td><td>2.5kB</td><td>10.3kB</td><td>33.0kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/persisters">persisters</a></th><td>0.8kB</td><td>1.6kB</td><td>4.9kB</td><td>26.7kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/common">common</a></th><td>0.1kB</td><td>0.1kB</td><td>0.1kB</td><td>3.5kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/tinybase">tinybase</a></th><td>5.9kB</td><td>14.0kB</td><td>59.0kB</td><td>0.3kB</td></tr></tbody></table></div><section><h2 id="well-tested-and-documented">Well tested and documented.</h2><p>TinyBase has <em>100.0%</em> test coverage, including the code throughout the documentation - even on this page! The guides, demos, and API examples are designed to make it as easy as possible to get up and running.</p><p>Read more about how TinyBase is tested in the Unit <a href="https://tinybase.org/guides/how-tinybase-is-built/testing">Testing</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>Total</th><th>Tested</th><th>Coverage</th></tr><tr><th class="right">Lines</th><td>987</td><td>987</td><td>100.0%</td></tr><tr><th class="right">Statements</th><td>1,077</td><td>1,077</td><td>100.0%</td></tr><tr><th class="right">Functions</th><td>413</td><td>413</td><td>100.0%</td></tr><tr><th class="right">Branches</th><td>359</td><td>359</td><td>100.0%</td></tr><tr><th class="right">Tests</th><td colspan="3">1,776</td></tr><tr><th class="right">Assertions</th><td colspan="3">8,848</td></tr></tbody></table></div><hr><p><a id="start" href="https://tinybase.org/guides/the-basics/getting-started">Get started</a></p><p><a href="https://tinybase.org/demos">Try the demos</a></p><p><a href="https://tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section><h2 id="follow">Follow</h2><ul><li>News and updates on <a href="https://twitter.com/tinybasejs">Twitter</a> and <a href="https://facebook.com/tinybasejs">Facebook</a>.</li><li><a href="https://github.com/tinyplex/tinybase/issues">Issues</a> and <a href="https://github.com/tinyplex/tinybase/releases">release notes</a> on <a href="https://github.com/tinyplex/tinybase">GitHub</a></li><li>Packages on <a href="https://www.npmjs.com/package/tinybase/v/1.2.2">NPM</a>.</li></ul></section><section><h2 id="about">About</h2><p>Building TinyBase was an interesting exercise in API design, minification, and documentation. It&#x27;s not <a href="https://www.linkedin.com/in/jamespearce">my day job</a>, but I do intend to maintain it, so please provide feedback. I could not have done this without these great <a href="https://tinybase.org/guides/how-tinybase-is-built/credits/#giants">projects</a> and <a href="https://tinybase.org/guides/how-tinybase-is-built/credits/#and-friends">friends</a>, and I hope you enjoy using it!</p></section>
195
+ <section><h2 id="did-we-say-tiny">Did we say tiny?</h2><p>If you use the basic <a href="https://tinybase.org/api/store"><code>store</code></a> module alone, you&#x27;ll only add a gzipped <em>2.9kB</em> to your app. You can incrementally add the other modules as you need more functionality, or get it all for <em>5.9kB</em>. The <code>ui-react</code> adaptor is just another <em>2.6kB</em>, and everything is fast.</p><p>Life&#x27;s easy when you have zero dependencies.</p><p>Read more about how TinyBase is structured in the <a href="https://tinybase.org/guides/how-tinybase-is-built/architecture">Architecture</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>.js.gz</th><th>.js</th><th>debug.js</th><th>.d.ts</th></tr><tr><th class="right"><a href="https://tinybase.org/api/store">store</a></th><td>2.9kB</td><td>6.5kB</td><td>27.4kB</td><td>102.2kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/indexes">indexes</a></th><td>1.6kB</td><td>3.2kB</td><td>14.1kB</td><td>32.9kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/metrics">metrics</a></th><td>1.5kB</td><td>3.1kB</td><td>12.6kB</td><td>29.1kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/relationships">relationships</a></th><td>1.6kB</td><td>3.2kB</td><td>14.8kB</td><td>42.1kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/checkpoints">checkpoints</a></th><td>1.3kB</td><td>2.5kB</td><td>10.3kB</td><td>33.0kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/persisters">persisters</a></th><td>0.8kB</td><td>1.6kB</td><td>4.9kB</td><td>26.7kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/common">common</a></th><td>0.1kB</td><td>0.1kB</td><td>0.1kB</td><td>3.5kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/tinybase">tinybase</a></th><td>5.9kB</td><td>14.0kB</td><td>59.0kB</td><td>0.3kB</td></tr></tbody></table></div><section><h2 id="well-tested-and-documented">Well tested and documented.</h2><p>TinyBase has <em>100.0%</em> test coverage, including the code throughout the documentation - even on this page! The guides, demos, and API examples are designed to make it as easy as possible to get up and running.</p><p>Read more about how TinyBase is tested in the Unit <a href="https://tinybase.org/guides/how-tinybase-is-built/testing">Testing</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>Total</th><th>Tested</th><th>Coverage</th></tr><tr><th class="right">Lines</th><td>987</td><td>987</td><td>100.0%</td></tr><tr><th class="right">Statements</th><td>1,077</td><td>1,077</td><td>100.0%</td></tr><tr><th class="right">Functions</th><td>413</td><td>413</td><td>100.0%</td></tr><tr><th class="right">Branches</th><td>359</td><td>359</td><td>100.0%</td></tr><tr><th class="right">Tests</th><td colspan="3">1,777</td></tr><tr><th class="right">Assertions</th><td colspan="3">8,851</td></tr></tbody></table></div><hr><p><a id="start" href="https://tinybase.org/guides/the-basics/getting-started">Get started</a></p><p><a href="https://tinybase.org/demos">Try the demos</a></p><p><a href="https://tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section><h2 id="follow">Follow</h2><ul><li>News and updates on <a href="https://twitter.com/tinybasejs">Twitter</a> and <a href="https://facebook.com/tinybasejs">Facebook</a>.</li><li><a href="https://github.com/tinyplex/tinybase/issues">Issues</a> and <a href="https://github.com/tinyplex/tinybase/releases">release notes</a> on <a href="https://github.com/tinyplex/tinybase">GitHub</a></li><li>Packages on <a href="https://www.npmjs.com/package/tinybase/v/1.2.3">NPM</a>.</li></ul></section><section><h2 id="about">About</h2><p>Building TinyBase was an interesting exercise in API design, minification, and documentation. It&#x27;s not <a href="https://www.linkedin.com/in/jamespearce">my day job</a>, but I do intend to maintain it, so please provide feedback. I could not have done this without these great <a href="https://tinybase.org/guides/how-tinybase-is-built/credits/#giants">projects</a> and <a href="https://tinybase.org/guides/how-tinybase-is-built/credits/#and-friends">friends</a>, and I hope you enjoy using it!</p></section>