@gorgonjs/gorgon 1.5.0 → 1.6.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.
- package/CHANGELOG.md +23 -0
- package/README.md +2 -2
- package/coverage/clover.xml +2 -2
- package/coverage/coverage-final.json +1 -1
- package/coverage/index.html +1 -1
- package/coverage/library/index.html +1 -1
- package/coverage/library/index.ts.html +5 -5
- package/coverage/library/provider/index.html +1 -1
- package/coverage/library/provider/memory.ts.html +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.es.js +40 -40
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +1 -1
- package/dist/index.umd.js.map +1 -1
- package/index.ts +4 -4
- package/package.json +9 -3
package/CHANGELOG.md
CHANGED
|
@@ -7,16 +7,38 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [1.6.0] - 2026-03-22
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- Added nested types exports for newer versions of TypeScript (moduleResolution: bundler/node16/nodenext)
|
|
15
|
+
|
|
16
|
+
## [1.5.1] - 2024-01-15
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- Updated the gorgon website for 1.5.1
|
|
21
|
+
|
|
22
|
+
## [1.5.0] - 2023-09-11
|
|
23
|
+
|
|
24
|
+
### Added
|
|
25
|
+
|
|
26
|
+
- Added a hook system to the cache
|
|
27
|
+
|
|
10
28
|
## [1.4.0] - 2022-11-19
|
|
11
29
|
|
|
12
30
|
### Added
|
|
31
|
+
|
|
13
32
|
- added a file provider at @gorgon/file-provider
|
|
33
|
+
|
|
14
34
|
### Fixed
|
|
35
|
+
|
|
15
36
|
- fixed a bug where when you cached something permanently (false) with the non default cache it would use the default provider
|
|
16
37
|
|
|
17
38
|
## [1.3.1] - 2022-11-14
|
|
18
39
|
|
|
19
40
|
### Added
|
|
41
|
+
|
|
20
42
|
- added more library type support for older require syntax
|
|
21
43
|
|
|
22
44
|
## [1.3.0] - 2022-11-13
|
|
@@ -34,5 +56,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
34
56
|
## [1.2.0] - 2022-11-12
|
|
35
57
|
|
|
36
58
|
### Added
|
|
59
|
+
|
|
37
60
|
- initial release to the public; migrated from @mikevalstar/gorgon
|
|
38
61
|
- code is based off of medusa.js
|
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Gorgon
|
|
2
2
|

|
|
3
|
-

|
|
4
|
+

|
|
5
5
|

|
|
6
6
|
|
|
7
7
|
A typescript async based caching library for node or the browser.
|
package/coverage/clover.xml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<coverage generated="
|
|
3
|
-
<project timestamp="
|
|
2
|
+
<coverage generated="1774200116869" clover="3.2.0">
|
|
3
|
+
<project timestamp="1774200116869" name="All files">
|
|
4
4
|
<metrics statements="415" coveredstatements="408" conditionals="86" coveredconditionals="80" methods="17" coveredmethods="17" elements="518" coveredelements="505" complexity="0" loc="415" ncloc="415" packages="2" files="2" classes="2"/>
|
|
5
5
|
<package name="library">
|
|
6
6
|
<metrics statements="317" coveredstatements="310" conditionals="66" coveredconditionals="60" methods="10" coveredmethods="10"/>
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
{"/Users/mikevalstar/projects/gorgon/library/index.ts": {"path":"/Users/mikevalstar/projects/gorgon/library/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":44}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":0}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":61}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":27}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":14}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":17}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":9}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":11}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":14}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":15}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":9}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":17}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":81}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":30}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":17}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":26}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":16}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":2}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":35}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":18}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":27}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":17}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":2}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":28}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":32}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":19}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":2}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":61}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":37}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":25}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":19}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":2}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":36}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":12}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":12}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":15}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":3}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":39}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":28}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":37}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":79}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":44}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":32}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":1}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":0}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":23}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":70}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":42}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":0}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":20}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":17}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":30}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":16}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":22}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":0}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":64}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":23}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":20}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":41}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":31}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":0}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":60}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":21}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":23}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":5}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":0}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":35}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":36}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":25}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":0}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":79}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":67}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":45}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":88}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":14}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":44}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":7}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":68}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":47}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":68}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":47}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":35}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":5}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":0}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":52}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":91}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":0}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":21}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":4}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":0}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":22}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":34}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":61}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":0}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":12}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":54}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":0}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":68}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":44}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":46}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":63}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":17}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":59}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":25}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":71}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":13}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":11}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":9}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":7}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":6}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":0}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":46}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":54}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":25}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":24}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":7}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":0}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":99}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":0}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":63}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":0}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":22}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":6}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":0}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":35}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":76}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":45}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":35}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":7}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":0}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":32}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":67}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":14}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":41}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":7}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":6}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":0}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":21}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":68}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":96}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":44}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":0}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":63}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":6}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":0}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":35}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":86}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":35}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":55}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":0}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":66}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":0}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":55}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":6}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":0}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":42}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":54}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":76}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":0}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":56}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":0}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":43}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":41}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":49}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":59}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":79}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":13}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":0}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":61}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":87}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":0}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":46}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":44}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":11}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":7}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":0}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":28}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":29}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":6}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":0}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":41}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":44}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":76}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":0}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":54}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":0}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":26}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":6}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":0}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":54}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":93}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":11}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":47}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":0}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":81}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":0}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":76}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":0}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":19}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":19}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":16}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":7}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":6}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":0}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":64}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":96}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":35}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":57}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":0}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":117}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":0}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":59}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":37}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":29}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":73}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":9}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":0}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":108}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":0}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":26}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":7}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":0}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":58}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":108}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":91}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":29}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":0}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":42}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":84}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":28}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":11}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":9}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":0}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":35}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":24}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":31}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":102}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":11}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":0}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":86}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":36}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":27}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":26}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":33}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":15}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":13}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":0}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":109}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":0}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":27}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":9}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":14}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":73}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":53}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":7}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":0}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":11}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":29}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":74}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":9}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":0}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":35}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":37}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":0}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":107}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":0}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":49}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":44}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":0}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":29}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":91}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":9}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":0}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":81}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":0}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":42}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":44}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":43}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":35}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":88}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":15}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":0}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":44}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":13}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":11}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":0}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":33}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":35}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":9}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":0}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":19}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":19}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":42}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":44}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":43}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":42}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":13}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":11}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":0}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":109}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":0}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":33}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":35}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":9}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":0}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":16}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":7}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":6}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":4}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":0}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":95}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":0}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":20}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":5}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":0}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":23}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":22}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":6,"47":6,"48":6,"49":6,"50":6,"51":6,"52":6,"53":6,"54":6,"55":6,"56":112,"57":112,"58":112,"59":112,"60":112,"61":112,"62":112,"63":5,"64":5,"65":107,"66":107,"67":112,"68":1,"69":1,"70":1,"71":112,"72":62,"73":0,"74":62,"75":62,"76":62,"77":62,"78":106,"79":18,"80":44,"81":26,"82":26,"83":107,"84":107,"85":112,"86":112,"87":112,"88":112,"89":6,"90":6,"91":6,"92":6,"93":6,"94":6,"95":6,"96":6,"97":6,"98":86,"99":13,"100":16,"101":16,"102":16,"103":16,"104":1,"105":1,"106":16,"107":16,"108":13,"109":86,"110":6,"111":6,"112":6,"113":9,"114":1,"115":1,"116":8,"117":8,"118":8,"119":8,"120":8,"121":8,"122":9,"123":6,"124":6,"125":6,"126":10,"127":8,"128":8,"129":10,"130":10,"131":1,"132":10,"133":9,"134":9,"135":10,"136":6,"137":6,"138":6,"139":7,"140":7,"141":7,"142":7,"143":7,"144":6,"145":6,"146":6,"147":27,"148":27,"149":27,"150":27,"151":27,"152":27,"153":27,"154":6,"155":6,"156":6,"157":4,"158":4,"159":4,"160":4,"161":4,"162":4,"163":1,"164":1,"165":2,"166":1,"167":1,"168":1,"169":1,"170":1,"171":1,"172":1,"173":1,"174":1,"175":3,"176":3,"177":3,"178":4,"179":6,"180":6,"181":6,"182":3,"183":3,"184":3,"185":3,"186":3,"187":3,"188":6,"189":6,"190":6,"191":2,"192":2,"193":2,"194":2,"195":2,"196":2,"197":2,"198":2,"199":2,"200":0,"201":0,"202":2,"203":6,"204":6,"205":6,"206":32,"207":32,"208":32,"209":32,"210":32,"211":32,"212":32,"213":2,"214":0,"215":0,"216":2,"217":2,"218":2,"219":2,"220":2,"221":30,"222":30,"223":32,"224":3,"225":3,"226":3,"227":3,"228":3,"229":0,"230":0,"231":3,"232":3,"233":3,"234":3,"235":3,"236":1,"237":1,"238":3,"239":3,"240":3,"241":3,"242":3,"243":3,"244":3,"245":3,"246":3,"247":3,"248":3,"249":3,"250":3,"251":32,"252":27,"253":27,"254":27,"255":27,"256":27,"257":31,"258":4,"259":4,"260":27,"261":27,"262":27,"263":27,"264":27,"265":27,"266":27,"267":27,"268":24,"269":30,"270":3,"271":3,"272":24,"273":24,"274":24,"275":24,"276":24,"277":26,"278":2,"279":1,"280":1,"281":2,"282":2,"283":2,"284":26,"285":24,"286":24,"287":24,"288":24,"289":24,"290":24,"291":28,"292":3,"293":3,"294":4,"295":1,"296":1,"297":4,"298":3,"299":3,"300":3,"301":3,"302":3,"303":3,"304":3,"305":3,"306":3,"307":32,"308":6,"309":6,"310":6,"311":6,"312":6,"313":1,"314":1,"315":1,"316":1},"branchMap":{"0":{"type":"branch","line":46,"loc":{"start":{"line":46,"column":16},"end":{"line":314,"column":3}},"locations":[{"start":{"line":46,"column":16},"end":{"line":314,"column":3}}]},"1":{"type":"branch","line":56,"loc":{"start":{"line":56,"column":22},"end":{"line":89,"column":4}},"locations":[{"start":{"line":56,"column":22},"end":{"line":89,"column":4}}]},"2":{"type":"branch","line":63,"loc":{"start":{"line":63,"column":20},"end":{"line":65,"column":5}},"locations":[{"start":{"line":63,"column":20},"end":{"line":65,"column":5}}]},"3":{"type":"branch","line":65,"loc":{"start":{"line":65,"column":4},"end":{"line":68,"column":35}},"locations":[{"start":{"line":65,"column":4},"end":{"line":68,"column":35}}]},"4":{"type":"branch","line":68,"loc":{"start":{"line":68,"column":35},"end":{"line":72,"column":15}},"locations":[{"start":{"line":68,"column":35},"end":{"line":72,"column":15}}]},"5":{"type":"branch","line":72,"loc":{"start":{"line":72,"column":4},"end":{"line":83,"column":5}},"locations":[{"start":{"line":72,"column":4},"end":{"line":83,"column":5}}]},"6":{"type":"branch","line":72,"loc":{"start":{"line":72,"column":36},"end":{"line":72,"column":66}},"locations":[{"start":{"line":72,"column":36},"end":{"line":72,"column":66}}]},"7":{"type":"branch","line":72,"loc":{"start":{"line":72,"column":66},"end":{"line":79,"column":15}},"locations":[{"start":{"line":72,"column":66},"end":{"line":79,"column":15}}]},"8":{"type":"branch","line":73,"loc":{"start":{"line":73,"column":44},"end":{"line":75,"column":13}},"locations":[{"start":{"line":73,"column":44},"end":{"line":75,"column":13}}]},"9":{"type":"branch","line":78,"loc":{"start":{"line":78,"column":37},"end":{"line":78,"column":68}},"locations":[{"start":{"line":78,"column":37},"end":{"line":78,"column":68}}]},"10":{"type":"branch","line":79,"loc":{"start":{"line":79,"column":4},"end":{"line":83,"column":5}},"locations":[{"start":{"line":79,"column":4},"end":{"line":83,"column":5}}]},"11":{"type":"branch","line":79,"loc":{"start":{"line":79,"column":46},"end":{"line":81,"column":15}},"locations":[{"start":{"line":79,"column":46},"end":{"line":81,"column":15}}]},"12":{"type":"branch","line":80,"loc":{"start":{"line":80,"column":37},"end":{"line":80,"column":68}},"locations":[{"start":{"line":80,"column":37},"end":{"line":80,"column":68}}]},"13":{"type":"branch","line":81,"loc":{"start":{"line":81,"column":4},"end":{"line":83,"column":5}},"locations":[{"start":{"line":81,"column":4},"end":{"line":83,"column":5}}]},"14":{"type":"branch","line":83,"loc":{"start":{"line":83,"column":4},"end":{"line":86,"column":43}},"locations":[{"start":{"line":83,"column":4},"end":{"line":86,"column":43}}]},"15":{"type":"branch","line":86,"loc":{"start":{"line":86,"column":33},"end":{"line":86,"column":66}},"locations":[{"start":{"line":86,"column":33},"end":{"line":86,"column":66}}]},"16":{"type":"branch","line":86,"loc":{"start":{"line":86,"column":62},"end":{"line":86,"column":85}},"locations":[{"start":{"line":86,"column":62},"end":{"line":86,"column":85}}]},"17":{"type":"branch","line":86,"loc":{"start":{"line":86,"column":76},"end":{"line":86,"column":91}},"locations":[{"start":{"line":86,"column":76},"end":{"line":86,"column":91}}]},"18":{"type":"branch","line":98,"loc":{"start":{"line":98,"column":16},"end":{"line":110,"column":6}},"locations":[{"start":{"line":98,"column":16},"end":{"line":110,"column":6}}]},"19":{"type":"branch","line":99,"loc":{"start":{"line":99,"column":43},"end":{"line":109,"column":7}},"locations":[{"start":{"line":99,"column":43},"end":{"line":109,"column":7}}]},"20":{"type":"branch","line":100,"loc":{"start":{"line":100,"column":45},"end":{"line":108,"column":9}},"locations":[{"start":{"line":100,"column":45},"end":{"line":108,"column":9}}]},"21":{"type":"branch","line":104,"loc":{"start":{"line":104,"column":12},"end":{"line":106,"column":13}},"locations":[{"start":{"line":104,"column":12},"end":{"line":106,"column":13}}]},"22":{"type":"branch","line":113,"loc":{"start":{"line":113,"column":14},"end":{"line":123,"column":6}},"locations":[{"start":{"line":113,"column":14},"end":{"line":123,"column":6}}]},"23":{"type":"branch","line":114,"loc":{"start":{"line":114,"column":24},"end":{"line":116,"column":7}},"locations":[{"start":{"line":114,"column":24},"end":{"line":116,"column":7}}]},"24":{"type":"branch","line":116,"loc":{"start":{"line":116,"column":6},"end":{"line":122,"column":22}},"locations":[{"start":{"line":116,"column":6},"end":{"line":122,"column":22}}]},"25":{"type":"branch","line":126,"loc":{"start":{"line":126,"column":13},"end":{"line":136,"column":6}},"locations":[{"start":{"line":126,"column":13},"end":{"line":136,"column":6}}]},"26":{"type":"branch","line":127,"loc":{"start":{"line":127,"column":44},"end":{"line":129,"column":7}},"locations":[{"start":{"line":127,"column":44},"end":{"line":129,"column":7}}]},"27":{"type":"branch","line":131,"loc":{"start":{"line":131,"column":31},"end":{"line":133,"column":13}},"locations":[{"start":{"line":131,"column":31},"end":{"line":133,"column":13}}]},"28":{"type":"branch","line":133,"loc":{"start":{"line":133,"column":6},"end":{"line":135,"column":7}},"locations":[{"start":{"line":133,"column":6},"end":{"line":135,"column":7}}]},"29":{"type":"branch","line":139,"loc":{"start":{"line":139,"column":17},"end":{"line":144,"column":6}},"locations":[{"start":{"line":139,"column":17},"end":{"line":144,"column":6}}]},"30":{"type":"branch","line":147,"loc":{"start":{"line":147,"column":9},"end":{"line":154,"column":6}},"locations":[{"start":{"line":147,"column":9},"end":{"line":154,"column":6}}]},"31":{"type":"branch","line":157,"loc":{"start":{"line":157,"column":11},"end":{"line":179,"column":6}},"locations":[{"start":{"line":157,"column":11},"end":{"line":179,"column":6}}]},"32":{"type":"branch","line":163,"loc":{"start":{"line":163,"column":10},"end":{"line":163,"column":40}},"locations":[{"start":{"line":163,"column":10},"end":{"line":163,"column":40}}]},"33":{"type":"branch","line":163,"loc":{"start":{"line":163,"column":40},"end":{"line":175,"column":7}},"locations":[{"start":{"line":163,"column":40},"end":{"line":175,"column":7}}]},"34":{"type":"branch","line":175,"loc":{"start":{"line":175,"column":6},"end":{"line":178,"column":29}},"locations":[{"start":{"line":175,"column":6},"end":{"line":178,"column":29}}]},"35":{"type":"branch","line":164,"loc":{"start":{"line":164,"column":32},"end":{"line":174,"column":9}},"locations":[{"start":{"line":164,"column":32},"end":{"line":174,"column":9}}]},"36":{"type":"branch","line":165,"loc":{"start":{"line":165,"column":43},"end":{"line":167,"column":11}},"locations":[{"start":{"line":165,"column":43},"end":{"line":167,"column":11}}]},"37":{"type":"branch","line":182,"loc":{"start":{"line":182,"column":14},"end":{"line":188,"column":6}},"locations":[{"start":{"line":182,"column":14},"end":{"line":188,"column":6}}]},"38":{"type":"branch","line":191,"loc":{"start":{"line":191,"column":15},"end":{"line":203,"column":6}},"locations":[{"start":{"line":191,"column":15},"end":{"line":203,"column":6}}]},"39":{"type":"branch","line":200,"loc":{"start":{"line":200,"column":6},"end":{"line":202,"column":7}},"locations":[{"start":{"line":200,"column":6},"end":{"line":202,"column":7}}]},"40":{"type":"branch","line":206,"loc":{"start":{"line":206,"column":9},"end":{"line":308,"column":6}},"locations":[{"start":{"line":206,"column":9},"end":{"line":308,"column":6}}]},"41":{"type":"branch","line":213,"loc":{"start":{"line":213,"column":36},"end":{"line":221,"column":7}},"locations":[{"start":{"line":213,"column":36},"end":{"line":221,"column":7}}]},"42":{"type":"branch","line":214,"loc":{"start":{"line":214,"column":28},"end":{"line":216,"column":9}},"locations":[{"start":{"line":214,"column":28},"end":{"line":216,"column":9}}]},"43":{"type":"branch","line":221,"loc":{"start":{"line":221,"column":6},"end":{"line":224,"column":41}},"locations":[{"start":{"line":221,"column":6},"end":{"line":224,"column":41}}]},"44":{"type":"branch","line":224,"loc":{"start":{"line":224,"column":36},"end":{"line":224,"column":77}},"locations":[{"start":{"line":224,"column":36},"end":{"line":224,"column":77}}]},"45":{"type":"branch","line":224,"loc":{"start":{"line":224,"column":72},"end":{"line":224,"column":107}},"locations":[{"start":{"line":224,"column":72},"end":{"line":224,"column":107}}]},"46":{"type":"branch","line":224,"loc":{"start":{"line":224,"column":107},"end":{"line":252,"column":13}},"locations":[{"start":{"line":224,"column":107},"end":{"line":252,"column":13}}]},"47":{"type":"branch","line":229,"loc":{"start":{"line":229,"column":83},"end":{"line":231,"column":11}},"locations":[{"start":{"line":229,"column":83},"end":{"line":231,"column":11}}]},"48":{"type":"branch","line":236,"loc":{"start":{"line":236,"column":30},"end":{"line":238,"column":11}},"locations":[{"start":{"line":236,"column":30},"end":{"line":238,"column":11}}]},"49":{"type":"branch","line":252,"loc":{"start":{"line":252,"column":6},"end":{"line":289,"column":9}},"locations":[{"start":{"line":252,"column":6},"end":{"line":289,"column":9}}]},"50":{"type":"branch","line":252,"loc":{"start":{"line":252,"column":6},"end":{"line":258,"column":28}},"locations":[{"start":{"line":252,"column":6},"end":{"line":258,"column":28}}]},"51":{"type":"branch","line":258,"loc":{"start":{"line":258,"column":28},"end":{"line":260,"column":9}},"locations":[{"start":{"line":258,"column":28},"end":{"line":260,"column":9}}]},"52":{"type":"branch","line":260,"loc":{"start":{"line":260,"column":8},"end":{"line":268,"column":44}},"locations":[{"start":{"line":260,"column":8},"end":{"line":268,"column":44}}]},"53":{"type":"branch","line":268,"loc":{"start":{"line":268,"column":35},"end":{"line":289,"column":9}},"locations":[{"start":{"line":268,"column":35},"end":{"line":289,"column":9}}]},"54":{"type":"branch","line":268,"loc":{"start":{"line":268,"column":35},"end":{"line":270,"column":28}},"locations":[{"start":{"line":268,"column":35},"end":{"line":270,"column":28}}]},"55":{"type":"branch","line":270,"loc":{"start":{"line":270,"column":28},"end":{"line":272,"column":9}},"locations":[{"start":{"line":270,"column":28},"end":{"line":272,"column":9}}]},"56":{"type":"branch","line":272,"loc":{"start":{"line":272,"column":8},"end":{"line":289,"column":9}},"locations":[{"start":{"line":272,"column":8},"end":{"line":289,"column":9}}]},"57":{"type":"branch","line":277,"loc":{"start":{"line":277,"column":43},"end":{"line":285,"column":11}},"locations":[{"start":{"line":277,"column":43},"end":{"line":285,"column":11}}]},"58":{"type":"branch","line":278,"loc":{"start":{"line":278,"column":42},"end":{"line":284,"column":13}},"locations":[{"start":{"line":278,"column":42},"end":{"line":284,"column":13}}]},"59":{"type":"branch","line":279,"loc":{"start":{"line":279,"column":34},"end":{"line":281,"column":15}},"locations":[{"start":{"line":279,"column":34},"end":{"line":281,"column":15}}]},"60":{"type":"branch","line":289,"loc":{"start":{"line":289,"column":8},"end":{"line":307,"column":7}},"locations":[{"start":{"line":289,"column":8},"end":{"line":307,"column":7}}]},"61":{"type":"branch","line":289,"loc":{"start":{"line":289,"column":8},"end":{"line":292,"column":15}},"locations":[{"start":{"line":289,"column":8},"end":{"line":292,"column":15}}]},"62":{"type":"branch","line":292,"loc":{"start":{"line":292,"column":6},"end":{"line":307,"column":7}},"locations":[{"start":{"line":292,"column":6},"end":{"line":307,"column":7}}]},"63":{"type":"branch","line":294,"loc":{"start":{"line":294,"column":43},"end":{"line":298,"column":11}},"locations":[{"start":{"line":294,"column":43},"end":{"line":298,"column":11}}]},"64":{"type":"branch","line":295,"loc":{"start":{"line":295,"column":42},"end":{"line":297,"column":13}},"locations":[{"start":{"line":295,"column":42},"end":{"line":297,"column":13}}]},"65":{"type":"branch","line":240,"loc":{"start":{"line":240,"column":38},"end":{"line":246,"column":11}},"locations":[{"start":{"line":240,"column":38},"end":{"line":246,"column":11}}]}},"b":{"0":[6],"1":[112],"2":[5],"3":[107],"4":[1],"5":[106],"6":[80],"7":[62],"8":[0],"9":[0],"10":[44],"11":[18],"12":[0],"13":[26],"14":[107],"15":[89],"16":[89],"17":[18],"18":[86],"19":[13],"20":[16],"21":[1],"22":[9],"23":[1],"24":[8],"25":[10],"26":[8],"27":[1],"28":[9],"29":[7],"30":[27],"31":[4],"32":[3],"33":[1],"34":[3],"35":[1],"36":[2],"37":[3],"38":[2],"39":[0],"40":[32],"41":[2],"42":[0],"43":[30],"44":[3],"45":[3],"46":[3],"47":[0],"48":[1],"49":[31],"50":[27],"51":[4],"52":[27],"53":[30],"54":[24],"55":[3],"56":[24],"57":[26],"58":[2],"59":[1],"60":[28],"61":[24],"62":[3],"63":[4],"64":[1],"65":[3]},"fnMap":{"0":{"name":"policyMaker","decl":{"start":{"line":56,"column":22},"end":{"line":89,"column":4}},"loc":{"start":{"line":56,"column":22},"end":{"line":89,"column":4}},"line":56},"1":{"name":"_callHooks","decl":{"start":{"line":98,"column":16},"end":{"line":110,"column":6}},"loc":{"start":{"line":98,"column":16},"end":{"line":110,"column":6}},"line":98},"2":{"name":"settings","decl":{"start":{"line":113,"column":14},"end":{"line":123,"column":6}},"loc":{"start":{"line":113,"column":14},"end":{"line":123,"column":6}},"line":113},"3":{"name":"addHook","decl":{"start":{"line":126,"column":13},"end":{"line":136,"column":6}},"loc":{"start":{"line":126,"column":13},"end":{"line":136,"column":6}},"line":126},"4":{"name":"addProvider","decl":{"start":{"line":139,"column":17},"end":{"line":144,"column":6}},"loc":{"start":{"line":139,"column":17},"end":{"line":144,"column":6}},"line":139},"5":{"name":"put","decl":{"start":{"line":147,"column":9},"end":{"line":154,"column":6}},"loc":{"start":{"line":147,"column":9},"end":{"line":154,"column":6}},"line":147},"6":{"name":"clear","decl":{"start":{"line":157,"column":11},"end":{"line":179,"column":6}},"loc":{"start":{"line":157,"column":11},"end":{"line":179,"column":6}},"line":157},"7":{"name":"clearAll","decl":{"start":{"line":182,"column":14},"end":{"line":188,"column":6}},"loc":{"start":{"line":182,"column":14},"end":{"line":188,"column":6}},"line":182},"8":{"name":"overwrite","decl":{"start":{"line":191,"column":15},"end":{"line":203,"column":6}},"loc":{"start":{"line":191,"column":15},"end":{"line":203,"column":6}},"line":191},"9":{"name":"get","decl":{"start":{"line":206,"column":9},"end":{"line":308,"column":6}},"loc":{"start":{"line":206,"column":9},"end":{"line":308,"column":6}},"line":206}},"f":{"0":112,"1":86,"2":9,"3":10,"4":7,"5":27,"6":4,"7":3,"8":2,"9":32}}
|
|
1
|
+
{"/Users/mikevalstar/projects/gorgon/library/index.ts": {"path":"/Users/mikevalstar/projects/gorgon/library/index.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":44}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":0}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":61}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":27}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":14}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":17}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":9}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":11}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":14}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":15}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":9}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":17}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":81}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":30}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":17}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":26}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":16}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":2}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":35}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":18}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":27}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":17}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":2}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":28}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":32}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":19}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":2}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":61}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":37}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":25}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":19}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":2}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":36}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":12}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":12}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":15}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":3}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":39}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":28}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":37}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":79}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":44}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":32}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":1}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":0}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":23}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":70}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":42}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":0}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":20}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":17}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":30}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":16}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":22}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":0}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":64}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":23}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":20}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":41}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":31}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":0}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":60}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":21}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":23}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":5}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":0}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":35}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":36}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":25}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":0}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":79}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":67}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":45}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":88}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":14}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":44}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":7}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":68}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":47}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":68}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":47}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":35}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":5}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":0}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":52}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":91}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":0}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":21}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":4}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":0}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":22}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":34}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":61}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":0}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":12}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":54}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":0}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":68}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":44}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":46}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":63}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":17}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":59}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":25}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":71}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":13}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":11}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":9}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":7}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":6}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":0}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":46}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":54}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":25}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":24}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":7}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":0}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":99}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":0}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":63}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":0}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":22}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":6}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":0}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":35}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":76}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":45}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":35}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":7}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":0}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":32}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":67}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":14}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":41}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":7}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":6}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":0}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":21}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":68}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":96}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":44}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":0}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":63}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":6}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":0}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":35}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":86}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":35}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":55}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":0}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":66}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":0}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":55}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":6}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":0}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":42}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":79}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":76}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":0}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":84}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":0}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":43}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":41}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":49}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":59}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":79}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":13}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":0}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":61}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":87}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":0}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":46}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":44}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":11}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":7}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":0}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":28}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":29}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":6}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":0}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":41}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":69}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":76}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":0}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":82}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":0}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":26}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":6}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":0}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":54}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":93}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":11}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":47}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":0}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":81}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":0}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":76}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":0}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":19}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":19}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":16}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":7}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":6}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":0}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":64}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":96}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":35}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":57}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":0}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":117}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":0}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":59}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":37}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":29}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":73}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":9}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":0}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":108}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":0}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":26}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":7}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":0}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":58}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":108}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":91}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":29}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":0}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":42}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":84}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":28}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":11}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":9}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":0}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":35}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":24}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":31}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":102}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":11}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":0}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":86}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":36}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":27}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":26}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":33}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":15}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":13}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":0}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":109}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":0}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":27}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":9}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":14}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":73}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":53}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":7}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":0}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":11}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":29}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":74}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":9}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":0}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":35}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":37}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":0}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":107}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":0}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":49}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":44}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":0}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":29}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":91}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":9}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":0}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":81}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":0}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":42}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":44}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":43}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":35}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":88}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":15}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":0}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":44}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":13}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":11}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":0}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":33}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":35}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":9}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":0}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":19}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":19}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":42}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":44}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":43}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":42}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":13}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":11}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":0}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":109}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":0}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":33}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":35}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":9}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":0}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":16}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":7}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":6}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":4}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":0}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":95}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":0}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":20}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":5}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":0}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":23}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":22}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":1,"19":1,"20":1,"21":1,"22":1,"23":1,"24":1,"25":1,"26":1,"27":1,"28":1,"29":1,"30":1,"31":1,"32":1,"33":1,"34":1,"35":1,"36":1,"37":1,"38":1,"39":1,"40":1,"41":1,"42":1,"43":1,"44":1,"45":1,"46":6,"47":6,"48":6,"49":6,"50":6,"51":6,"52":6,"53":6,"54":6,"55":6,"56":112,"57":112,"58":112,"59":112,"60":112,"61":112,"62":112,"63":5,"64":5,"65":107,"66":107,"67":112,"68":1,"69":1,"70":1,"71":112,"72":62,"73":0,"74":62,"75":62,"76":62,"77":62,"78":106,"79":18,"80":44,"81":26,"82":26,"83":107,"84":107,"85":112,"86":112,"87":112,"88":112,"89":6,"90":6,"91":6,"92":6,"93":6,"94":6,"95":6,"96":6,"97":6,"98":86,"99":13,"100":16,"101":16,"102":16,"103":16,"104":1,"105":1,"106":16,"107":16,"108":13,"109":86,"110":6,"111":6,"112":6,"113":9,"114":1,"115":1,"116":8,"117":8,"118":8,"119":8,"120":8,"121":8,"122":9,"123":6,"124":6,"125":6,"126":10,"127":8,"128":8,"129":10,"130":10,"131":1,"132":10,"133":9,"134":9,"135":10,"136":6,"137":6,"138":6,"139":7,"140":7,"141":7,"142":7,"143":7,"144":6,"145":6,"146":6,"147":27,"148":27,"149":27,"150":27,"151":27,"152":27,"153":27,"154":6,"155":6,"156":6,"157":4,"158":4,"159":4,"160":4,"161":4,"162":4,"163":1,"164":1,"165":2,"166":1,"167":1,"168":1,"169":1,"170":1,"171":1,"172":1,"173":1,"174":1,"175":3,"176":3,"177":3,"178":4,"179":6,"180":6,"181":6,"182":3,"183":3,"184":3,"185":3,"186":3,"187":3,"188":6,"189":6,"190":6,"191":2,"192":2,"193":2,"194":2,"195":2,"196":2,"197":2,"198":2,"199":2,"200":0,"201":0,"202":2,"203":6,"204":6,"205":6,"206":32,"207":32,"208":32,"209":32,"210":32,"211":32,"212":32,"213":2,"214":0,"215":0,"216":2,"217":2,"218":2,"219":2,"220":2,"221":30,"222":30,"223":32,"224":3,"225":3,"226":3,"227":3,"228":3,"229":0,"230":0,"231":3,"232":3,"233":3,"234":3,"235":3,"236":1,"237":1,"238":3,"239":3,"240":3,"241":3,"242":3,"243":3,"244":3,"245":3,"246":3,"247":3,"248":3,"249":3,"250":3,"251":32,"252":27,"253":27,"254":27,"255":27,"256":27,"257":31,"258":4,"259":4,"260":27,"261":27,"262":27,"263":27,"264":27,"265":27,"266":27,"267":27,"268":24,"269":30,"270":3,"271":3,"272":24,"273":24,"274":24,"275":24,"276":24,"277":26,"278":2,"279":1,"280":1,"281":2,"282":2,"283":2,"284":26,"285":24,"286":24,"287":24,"288":24,"289":24,"290":24,"291":28,"292":3,"293":3,"294":4,"295":1,"296":1,"297":4,"298":3,"299":3,"300":3,"301":3,"302":3,"303":3,"304":3,"305":3,"306":3,"307":32,"308":6,"309":6,"310":6,"311":6,"312":6,"313":1,"314":1,"315":1,"316":1},"branchMap":{"0":{"type":"branch","line":46,"loc":{"start":{"line":46,"column":16},"end":{"line":314,"column":3}},"locations":[{"start":{"line":46,"column":16},"end":{"line":314,"column":3}}]},"1":{"type":"branch","line":56,"loc":{"start":{"line":56,"column":22},"end":{"line":89,"column":4}},"locations":[{"start":{"line":56,"column":22},"end":{"line":89,"column":4}}]},"2":{"type":"branch","line":63,"loc":{"start":{"line":63,"column":20},"end":{"line":65,"column":5}},"locations":[{"start":{"line":63,"column":20},"end":{"line":65,"column":5}}]},"3":{"type":"branch","line":65,"loc":{"start":{"line":65,"column":4},"end":{"line":68,"column":35}},"locations":[{"start":{"line":65,"column":4},"end":{"line":68,"column":35}}]},"4":{"type":"branch","line":68,"loc":{"start":{"line":68,"column":35},"end":{"line":72,"column":15}},"locations":[{"start":{"line":68,"column":35},"end":{"line":72,"column":15}}]},"5":{"type":"branch","line":72,"loc":{"start":{"line":72,"column":4},"end":{"line":83,"column":5}},"locations":[{"start":{"line":72,"column":4},"end":{"line":83,"column":5}}]},"6":{"type":"branch","line":72,"loc":{"start":{"line":72,"column":36},"end":{"line":72,"column":66}},"locations":[{"start":{"line":72,"column":36},"end":{"line":72,"column":66}}]},"7":{"type":"branch","line":72,"loc":{"start":{"line":72,"column":66},"end":{"line":79,"column":15}},"locations":[{"start":{"line":72,"column":66},"end":{"line":79,"column":15}}]},"8":{"type":"branch","line":73,"loc":{"start":{"line":73,"column":44},"end":{"line":75,"column":13}},"locations":[{"start":{"line":73,"column":44},"end":{"line":75,"column":13}}]},"9":{"type":"branch","line":78,"loc":{"start":{"line":78,"column":37},"end":{"line":78,"column":68}},"locations":[{"start":{"line":78,"column":37},"end":{"line":78,"column":68}}]},"10":{"type":"branch","line":79,"loc":{"start":{"line":79,"column":4},"end":{"line":83,"column":5}},"locations":[{"start":{"line":79,"column":4},"end":{"line":83,"column":5}}]},"11":{"type":"branch","line":79,"loc":{"start":{"line":79,"column":46},"end":{"line":81,"column":15}},"locations":[{"start":{"line":79,"column":46},"end":{"line":81,"column":15}}]},"12":{"type":"branch","line":80,"loc":{"start":{"line":80,"column":37},"end":{"line":80,"column":68}},"locations":[{"start":{"line":80,"column":37},"end":{"line":80,"column":68}}]},"13":{"type":"branch","line":81,"loc":{"start":{"line":81,"column":4},"end":{"line":83,"column":5}},"locations":[{"start":{"line":81,"column":4},"end":{"line":83,"column":5}}]},"14":{"type":"branch","line":83,"loc":{"start":{"line":83,"column":4},"end":{"line":86,"column":43}},"locations":[{"start":{"line":83,"column":4},"end":{"line":86,"column":43}}]},"15":{"type":"branch","line":86,"loc":{"start":{"line":86,"column":33},"end":{"line":86,"column":66}},"locations":[{"start":{"line":86,"column":33},"end":{"line":86,"column":66}}]},"16":{"type":"branch","line":86,"loc":{"start":{"line":86,"column":62},"end":{"line":86,"column":85}},"locations":[{"start":{"line":86,"column":62},"end":{"line":86,"column":85}}]},"17":{"type":"branch","line":86,"loc":{"start":{"line":86,"column":76},"end":{"line":86,"column":91}},"locations":[{"start":{"line":86,"column":76},"end":{"line":86,"column":91}}]},"18":{"type":"branch","line":98,"loc":{"start":{"line":98,"column":16},"end":{"line":110,"column":6}},"locations":[{"start":{"line":98,"column":16},"end":{"line":110,"column":6}}]},"19":{"type":"branch","line":99,"loc":{"start":{"line":99,"column":43},"end":{"line":109,"column":7}},"locations":[{"start":{"line":99,"column":43},"end":{"line":109,"column":7}}]},"20":{"type":"branch","line":100,"loc":{"start":{"line":100,"column":45},"end":{"line":108,"column":9}},"locations":[{"start":{"line":100,"column":45},"end":{"line":108,"column":9}}]},"21":{"type":"branch","line":104,"loc":{"start":{"line":104,"column":12},"end":{"line":106,"column":13}},"locations":[{"start":{"line":104,"column":12},"end":{"line":106,"column":13}}]},"22":{"type":"branch","line":113,"loc":{"start":{"line":113,"column":14},"end":{"line":123,"column":6}},"locations":[{"start":{"line":113,"column":14},"end":{"line":123,"column":6}}]},"23":{"type":"branch","line":114,"loc":{"start":{"line":114,"column":24},"end":{"line":116,"column":7}},"locations":[{"start":{"line":114,"column":24},"end":{"line":116,"column":7}}]},"24":{"type":"branch","line":116,"loc":{"start":{"line":116,"column":6},"end":{"line":122,"column":22}},"locations":[{"start":{"line":116,"column":6},"end":{"line":122,"column":22}}]},"25":{"type":"branch","line":126,"loc":{"start":{"line":126,"column":13},"end":{"line":136,"column":6}},"locations":[{"start":{"line":126,"column":13},"end":{"line":136,"column":6}}]},"26":{"type":"branch","line":127,"loc":{"start":{"line":127,"column":44},"end":{"line":129,"column":7}},"locations":[{"start":{"line":127,"column":44},"end":{"line":129,"column":7}}]},"27":{"type":"branch","line":131,"loc":{"start":{"line":131,"column":31},"end":{"line":133,"column":13}},"locations":[{"start":{"line":131,"column":31},"end":{"line":133,"column":13}}]},"28":{"type":"branch","line":133,"loc":{"start":{"line":133,"column":6},"end":{"line":135,"column":7}},"locations":[{"start":{"line":133,"column":6},"end":{"line":135,"column":7}}]},"29":{"type":"branch","line":139,"loc":{"start":{"line":139,"column":17},"end":{"line":144,"column":6}},"locations":[{"start":{"line":139,"column":17},"end":{"line":144,"column":6}}]},"30":{"type":"branch","line":147,"loc":{"start":{"line":147,"column":9},"end":{"line":154,"column":6}},"locations":[{"start":{"line":147,"column":9},"end":{"line":154,"column":6}}]},"31":{"type":"branch","line":157,"loc":{"start":{"line":157,"column":11},"end":{"line":179,"column":6}},"locations":[{"start":{"line":157,"column":11},"end":{"line":179,"column":6}}]},"32":{"type":"branch","line":163,"loc":{"start":{"line":163,"column":10},"end":{"line":163,"column":40}},"locations":[{"start":{"line":163,"column":10},"end":{"line":163,"column":40}}]},"33":{"type":"branch","line":163,"loc":{"start":{"line":163,"column":40},"end":{"line":175,"column":7}},"locations":[{"start":{"line":163,"column":40},"end":{"line":175,"column":7}}]},"34":{"type":"branch","line":175,"loc":{"start":{"line":175,"column":6},"end":{"line":178,"column":29}},"locations":[{"start":{"line":175,"column":6},"end":{"line":178,"column":29}}]},"35":{"type":"branch","line":164,"loc":{"start":{"line":164,"column":32},"end":{"line":174,"column":9}},"locations":[{"start":{"line":164,"column":32},"end":{"line":174,"column":9}}]},"36":{"type":"branch","line":165,"loc":{"start":{"line":165,"column":43},"end":{"line":167,"column":11}},"locations":[{"start":{"line":165,"column":43},"end":{"line":167,"column":11}}]},"37":{"type":"branch","line":182,"loc":{"start":{"line":182,"column":14},"end":{"line":188,"column":6}},"locations":[{"start":{"line":182,"column":14},"end":{"line":188,"column":6}}]},"38":{"type":"branch","line":191,"loc":{"start":{"line":191,"column":15},"end":{"line":203,"column":6}},"locations":[{"start":{"line":191,"column":15},"end":{"line":203,"column":6}}]},"39":{"type":"branch","line":200,"loc":{"start":{"line":200,"column":6},"end":{"line":202,"column":7}},"locations":[{"start":{"line":200,"column":6},"end":{"line":202,"column":7}}]},"40":{"type":"branch","line":206,"loc":{"start":{"line":206,"column":9},"end":{"line":308,"column":6}},"locations":[{"start":{"line":206,"column":9},"end":{"line":308,"column":6}}]},"41":{"type":"branch","line":213,"loc":{"start":{"line":213,"column":36},"end":{"line":221,"column":7}},"locations":[{"start":{"line":213,"column":36},"end":{"line":221,"column":7}}]},"42":{"type":"branch","line":214,"loc":{"start":{"line":214,"column":28},"end":{"line":216,"column":9}},"locations":[{"start":{"line":214,"column":28},"end":{"line":216,"column":9}}]},"43":{"type":"branch","line":221,"loc":{"start":{"line":221,"column":6},"end":{"line":224,"column":41}},"locations":[{"start":{"line":221,"column":6},"end":{"line":224,"column":41}}]},"44":{"type":"branch","line":224,"loc":{"start":{"line":224,"column":36},"end":{"line":224,"column":77}},"locations":[{"start":{"line":224,"column":36},"end":{"line":224,"column":77}}]},"45":{"type":"branch","line":224,"loc":{"start":{"line":224,"column":72},"end":{"line":224,"column":107}},"locations":[{"start":{"line":224,"column":72},"end":{"line":224,"column":107}}]},"46":{"type":"branch","line":224,"loc":{"start":{"line":224,"column":107},"end":{"line":252,"column":13}},"locations":[{"start":{"line":224,"column":107},"end":{"line":252,"column":13}}]},"47":{"type":"branch","line":229,"loc":{"start":{"line":229,"column":83},"end":{"line":231,"column":11}},"locations":[{"start":{"line":229,"column":83},"end":{"line":231,"column":11}}]},"48":{"type":"branch","line":236,"loc":{"start":{"line":236,"column":30},"end":{"line":238,"column":11}},"locations":[{"start":{"line":236,"column":30},"end":{"line":238,"column":11}}]},"49":{"type":"branch","line":252,"loc":{"start":{"line":252,"column":6},"end":{"line":289,"column":9}},"locations":[{"start":{"line":252,"column":6},"end":{"line":289,"column":9}}]},"50":{"type":"branch","line":252,"loc":{"start":{"line":252,"column":6},"end":{"line":258,"column":28}},"locations":[{"start":{"line":252,"column":6},"end":{"line":258,"column":28}}]},"51":{"type":"branch","line":258,"loc":{"start":{"line":258,"column":28},"end":{"line":260,"column":9}},"locations":[{"start":{"line":258,"column":28},"end":{"line":260,"column":9}}]},"52":{"type":"branch","line":260,"loc":{"start":{"line":260,"column":8},"end":{"line":268,"column":44}},"locations":[{"start":{"line":260,"column":8},"end":{"line":268,"column":44}}]},"53":{"type":"branch","line":268,"loc":{"start":{"line":268,"column":35},"end":{"line":289,"column":9}},"locations":[{"start":{"line":268,"column":35},"end":{"line":289,"column":9}}]},"54":{"type":"branch","line":268,"loc":{"start":{"line":268,"column":35},"end":{"line":270,"column":28}},"locations":[{"start":{"line":268,"column":35},"end":{"line":270,"column":28}}]},"55":{"type":"branch","line":270,"loc":{"start":{"line":270,"column":28},"end":{"line":272,"column":9}},"locations":[{"start":{"line":270,"column":28},"end":{"line":272,"column":9}}]},"56":{"type":"branch","line":272,"loc":{"start":{"line":272,"column":8},"end":{"line":289,"column":9}},"locations":[{"start":{"line":272,"column":8},"end":{"line":289,"column":9}}]},"57":{"type":"branch","line":277,"loc":{"start":{"line":277,"column":43},"end":{"line":285,"column":11}},"locations":[{"start":{"line":277,"column":43},"end":{"line":285,"column":11}}]},"58":{"type":"branch","line":278,"loc":{"start":{"line":278,"column":42},"end":{"line":284,"column":13}},"locations":[{"start":{"line":278,"column":42},"end":{"line":284,"column":13}}]},"59":{"type":"branch","line":279,"loc":{"start":{"line":279,"column":34},"end":{"line":281,"column":15}},"locations":[{"start":{"line":279,"column":34},"end":{"line":281,"column":15}}]},"60":{"type":"branch","line":289,"loc":{"start":{"line":289,"column":8},"end":{"line":307,"column":7}},"locations":[{"start":{"line":289,"column":8},"end":{"line":307,"column":7}}]},"61":{"type":"branch","line":289,"loc":{"start":{"line":289,"column":8},"end":{"line":292,"column":15}},"locations":[{"start":{"line":289,"column":8},"end":{"line":292,"column":15}}]},"62":{"type":"branch","line":292,"loc":{"start":{"line":292,"column":6},"end":{"line":307,"column":7}},"locations":[{"start":{"line":292,"column":6},"end":{"line":307,"column":7}}]},"63":{"type":"branch","line":294,"loc":{"start":{"line":294,"column":43},"end":{"line":298,"column":11}},"locations":[{"start":{"line":294,"column":43},"end":{"line":298,"column":11}}]},"64":{"type":"branch","line":295,"loc":{"start":{"line":295,"column":42},"end":{"line":297,"column":13}},"locations":[{"start":{"line":295,"column":42},"end":{"line":297,"column":13}}]},"65":{"type":"branch","line":240,"loc":{"start":{"line":240,"column":38},"end":{"line":246,"column":11}},"locations":[{"start":{"line":240,"column":38},"end":{"line":246,"column":11}}]}},"b":{"0":[6],"1":[112],"2":[5],"3":[107],"4":[1],"5":[106],"6":[80],"7":[62],"8":[0],"9":[0],"10":[44],"11":[18],"12":[0],"13":[26],"14":[107],"15":[89],"16":[89],"17":[18],"18":[86],"19":[13],"20":[16],"21":[1],"22":[9],"23":[1],"24":[8],"25":[10],"26":[8],"27":[1],"28":[9],"29":[7],"30":[27],"31":[4],"32":[3],"33":[1],"34":[3],"35":[1],"36":[2],"37":[3],"38":[2],"39":[0],"40":[32],"41":[2],"42":[0],"43":[30],"44":[3],"45":[3],"46":[3],"47":[0],"48":[1],"49":[31],"50":[27],"51":[4],"52":[27],"53":[30],"54":[24],"55":[3],"56":[24],"57":[26],"58":[2],"59":[1],"60":[28],"61":[24],"62":[3],"63":[4],"64":[1],"65":[3]},"fnMap":{"0":{"name":"policyMaker","decl":{"start":{"line":56,"column":22},"end":{"line":89,"column":4}},"loc":{"start":{"line":56,"column":22},"end":{"line":89,"column":4}},"line":56},"1":{"name":"_callHooks","decl":{"start":{"line":98,"column":16},"end":{"line":110,"column":6}},"loc":{"start":{"line":98,"column":16},"end":{"line":110,"column":6}},"line":98},"2":{"name":"settings","decl":{"start":{"line":113,"column":14},"end":{"line":123,"column":6}},"loc":{"start":{"line":113,"column":14},"end":{"line":123,"column":6}},"line":113},"3":{"name":"addHook","decl":{"start":{"line":126,"column":13},"end":{"line":136,"column":6}},"loc":{"start":{"line":126,"column":13},"end":{"line":136,"column":6}},"line":126},"4":{"name":"addProvider","decl":{"start":{"line":139,"column":17},"end":{"line":144,"column":6}},"loc":{"start":{"line":139,"column":17},"end":{"line":144,"column":6}},"line":139},"5":{"name":"put","decl":{"start":{"line":147,"column":9},"end":{"line":154,"column":6}},"loc":{"start":{"line":147,"column":9},"end":{"line":154,"column":6}},"line":147},"6":{"name":"clear","decl":{"start":{"line":157,"column":11},"end":{"line":179,"column":6}},"loc":{"start":{"line":157,"column":11},"end":{"line":179,"column":6}},"line":157},"7":{"name":"clearAll","decl":{"start":{"line":182,"column":14},"end":{"line":188,"column":6}},"loc":{"start":{"line":182,"column":14},"end":{"line":188,"column":6}},"line":182},"8":{"name":"overwrite","decl":{"start":{"line":191,"column":15},"end":{"line":203,"column":6}},"loc":{"start":{"line":191,"column":15},"end":{"line":203,"column":6}},"line":191},"9":{"name":"get","decl":{"start":{"line":206,"column":9},"end":{"line":308,"column":6}},"loc":{"start":{"line":206,"column":9},"end":{"line":308,"column":6}},"line":206}},"f":{"0":112,"1":86,"2":9,"3":10,"4":7,"5":27,"6":4,"7":3,"8":2,"9":32}}
|
|
2
2
|
,"/Users/mikevalstar/projects/gorgon/library/provider/memory.ts": {"path":"/Users/mikevalstar/projects/gorgon/library/provider/memory.ts","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":69}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":0}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":67}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":34}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":1}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":0}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":87}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":60}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":0}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":19}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":35}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":0}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":74}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":23}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":0}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":22}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":55}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":52}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":13}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":6}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":0}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":31}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":0}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":51}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":42}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":30}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":14}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":46}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":25}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":7}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":0}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":6}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":0}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":73}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":0}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":30}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":36}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":0}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":64}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":41}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":0}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":57}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":36}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":33}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":26}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":7}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":0}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":28}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":20}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":23}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":19}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":15}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":8}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":0}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":19}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":0}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":6}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":0}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":22}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":32}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":6}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":0}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":34}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":0}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":53}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":35}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":17}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":30}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":32}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":9}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":20}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":7}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":0}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":37}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":6}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":0}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":29}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":67}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":33}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":28}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":38}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":9}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":0}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":26}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":26}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":20}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":7}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":0}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":19}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":6}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":0}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":4}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":0}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":21}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":0}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":1}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":0}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":34}}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":6,"9":6,"10":6,"11":6,"12":6,"13":6,"14":6,"15":6,"16":6,"17":6,"18":6,"19":6,"20":6,"21":6,"22":32,"23":32,"24":2,"25":2,"26":32,"27":30,"28":30,"29":30,"30":32,"31":32,"32":6,"33":6,"34":27,"35":27,"36":27,"37":27,"38":27,"39":27,"40":27,"41":27,"42":21,"43":6,"44":21,"45":21,"46":27,"47":27,"48":27,"49":27,"50":27,"51":27,"52":27,"53":27,"54":27,"55":27,"56":27,"57":6,"58":6,"59":2,"60":2,"61":6,"62":6,"63":42,"64":42,"65":42,"66":42,"67":4,"68":9,"69":9,"70":4,"71":4,"72":38,"73":38,"74":42,"75":6,"76":6,"77":47,"78":47,"79":20,"80":18,"81":18,"82":20,"83":20,"84":20,"85":20,"86":20,"87":27,"88":27,"89":47,"90":6,"91":6,"92":6,"93":6,"94":6,"95":6,"96":1,"97":1},"branchMap":{"0":{"type":"branch","line":8,"loc":{"start":{"line":8,"column":27},"end":{"line":96,"column":1}},"locations":[{"start":{"line":8,"column":27},"end":{"line":96,"column":1}}]},"1":{"type":"branch","line":16,"loc":{"start":{"line":16,"column":10},"end":{"line":20,"column":6}},"locations":[{"start":{"line":16,"column":10},"end":{"line":20,"column":6}}]},"2":{"type":"branch","line":22,"loc":{"start":{"line":22,"column":9},"end":{"line":32,"column":6}},"locations":[{"start":{"line":22,"column":9},"end":{"line":32,"column":6}}]},"3":{"type":"branch","line":24,"loc":{"start":{"line":24,"column":29},"end":{"line":24,"column":50}},"locations":[{"start":{"line":24,"column":29},"end":{"line":24,"column":50}}]},"4":{"type":"branch","line":24,"loc":{"start":{"line":24,"column":50},"end":{"line":27,"column":13}},"locations":[{"start":{"line":24,"column":50},"end":{"line":27,"column":13}}]},"5":{"type":"branch","line":27,"loc":{"start":{"line":27,"column":6},"end":{"line":30,"column":7}},"locations":[{"start":{"line":27,"column":6},"end":{"line":30,"column":7}}]},"6":{"type":"branch","line":34,"loc":{"start":{"line":34,"column":9},"end":{"line":57,"column":6}},"locations":[{"start":{"line":34,"column":9},"end":{"line":57,"column":6}}]},"7":{"type":"branch","line":42,"loc":{"start":{"line":42,"column":27},"end":{"line":42,"column":56}},"locations":[{"start":{"line":42,"column":27},"end":{"line":42,"column":56}}]},"8":{"type":"branch","line":42,"loc":{"start":{"line":42,"column":56},"end":{"line":46,"column":7}},"locations":[{"start":{"line":42,"column":56},"end":{"line":46,"column":7}}]},"9":{"type":"branch","line":43,"loc":{"start":{"line":43,"column":24},"end":{"line":45,"column":11}},"locations":[{"start":{"line":43,"column":24},"end":{"line":45,"column":11}}]},"10":{"type":"branch","line":59,"loc":{"start":{"line":59,"column":10},"end":{"line":61,"column":6}},"locations":[{"start":{"line":59,"column":10},"end":{"line":61,"column":6}}]},"11":{"type":"branch","line":63,"loc":{"start":{"line":63,"column":11},"end":{"line":75,"column":6}},"locations":[{"start":{"line":63,"column":11},"end":{"line":75,"column":6}}]},"12":{"type":"branch","line":67,"loc":{"start":{"line":67,"column":16},"end":{"line":72,"column":7}},"locations":[{"start":{"line":67,"column":16},"end":{"line":72,"column":7}}]},"13":{"type":"branch","line":68,"loc":{"start":{"line":68,"column":29},"end":{"line":70,"column":9}},"locations":[{"start":{"line":68,"column":29},"end":{"line":70,"column":9}}]},"14":{"type":"branch","line":72,"loc":{"start":{"line":72,"column":6},"end":{"line":74,"column":37}},"locations":[{"start":{"line":72,"column":6},"end":{"line":74,"column":37}}]},"15":{"type":"branch","line":77,"loc":{"start":{"line":77,"column":12},"end":{"line":90,"column":6}},"locations":[{"start":{"line":77,"column":12},"end":{"line":90,"column":6}}]},"16":{"type":"branch","line":79,"loc":{"start":{"line":79,"column":32},"end":{"line":89,"column":19}},"locations":[{"start":{"line":79,"column":32},"end":{"line":89,"column":19}}]},"17":{"type":"branch","line":79,"loc":{"start":{"line":79,"column":32},"end":{"line":87,"column":7}},"locations":[{"start":{"line":79,"column":32},"end":{"line":87,"column":7}}]},"18":{"type":"branch","line":80,"loc":{"start":{"line":80,"column":27},"end":{"line":82,"column":9}},"locations":[{"start":{"line":80,"column":27},"end":{"line":82,"column":9}}]},"19":{"type":"branch","line":87,"loc":{"start":{"line":87,"column":6},"end":{"line":89,"column":19}},"locations":[{"start":{"line":87,"column":6},"end":{"line":89,"column":19}}]}},"b":{"0":[6],"1":[6],"2":[32],"3":[2],"4":[2],"5":[30],"6":[27],"7":[21],"8":[21],"9":[6],"10":[2],"11":[42],"12":[4],"13":[9],"14":[38],"15":[47],"16":[46],"17":[20],"18":[18],"19":[27]},"fnMap":{"0":{"name":"MemoryCacheCreator","decl":{"start":{"line":8,"column":27},"end":{"line":96,"column":1}},"loc":{"start":{"line":8,"column":27},"end":{"line":96,"column":1}},"line":8},"1":{"name":"init","decl":{"start":{"line":16,"column":10},"end":{"line":20,"column":6}},"loc":{"start":{"line":16,"column":10},"end":{"line":20,"column":6}},"line":16},"2":{"name":"get","decl":{"start":{"line":22,"column":9},"end":{"line":32,"column":6}},"loc":{"start":{"line":22,"column":9},"end":{"line":32,"column":6}},"line":22},"3":{"name":"set","decl":{"start":{"line":34,"column":9},"end":{"line":57,"column":6}},"loc":{"start":{"line":34,"column":9},"end":{"line":57,"column":6}},"line":34},"4":{"name":"keys","decl":{"start":{"line":59,"column":10},"end":{"line":61,"column":6}},"loc":{"start":{"line":59,"column":10},"end":{"line":61,"column":6}},"line":59},"5":{"name":"clear","decl":{"start":{"line":63,"column":11},"end":{"line":75,"column":6}},"loc":{"start":{"line":63,"column":11},"end":{"line":75,"column":6}},"line":63},"6":{"name":"_clear","decl":{"start":{"line":77,"column":12},"end":{"line":90,"column":6}},"loc":{"start":{"line":77,"column":12},"end":{"line":90,"column":6}},"line":77}},"f":{"0":6,"1":6,"2":32,"3":27,"4":2,"5":42,"6":47}}
|
|
3
3
|
}
|
package/coverage/index.html
CHANGED
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
117
117
|
Code coverage generated by
|
|
118
118
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
119
|
-
at
|
|
119
|
+
at 2026-03-22T17:21:56.863Z
|
|
120
120
|
</div>
|
|
121
121
|
<script src="prettify.js"></script>
|
|
122
122
|
<script>
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
102
|
Code coverage generated by
|
|
103
103
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
-
at
|
|
104
|
+
at 2026-03-22T17:21:56.863Z
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../prettify.js"></script>
|
|
107
107
|
<script>
|
|
@@ -853,10 +853,10 @@ const Gorgon = (() => {
|
|
|
853
853
|
},
|
|
854
854
|
|
|
855
855
|
// Clear one or all items in the cache
|
|
856
|
-
clear: async (key: string, provider?: string) => {
|
|
856
|
+
clear: async (key: string, provider?: string, hookIdentifier?: string) => {
|
|
857
857
|
var prov = gorgonCore.providers[provider || settings.defaultProvider];
|
|
858
858
|
|
|
859
|
-
gorgonCore._callHooks('clear', { key, provider });
|
|
859
|
+
gorgonCore._callHooks('clear', { key, provider, identifier: hookIdentifier });
|
|
860
860
|
|
|
861
861
|
// Clear a wildcard search of objects
|
|
862
862
|
if (key && key.indexOf('*') > -1) {
|
|
@@ -878,10 +878,10 @@ const Gorgon = (() => {
|
|
|
878
878
|
},
|
|
879
879
|
|
|
880
880
|
// Clear all keys/values in the cache
|
|
881
|
-
clearAll: async (provider?: string) => {
|
|
881
|
+
clearAll: async (provider?: string, hookIdentifier?: string) => {
|
|
882
882
|
var prov = gorgonCore.providers[provider || settings.defaultProvider];
|
|
883
883
|
|
|
884
|
-
gorgonCore._callHooks('clearAll', { provider });
|
|
884
|
+
gorgonCore._callHooks('clearAll', { provider, identifier: hookIdentifier });
|
|
885
885
|
|
|
886
886
|
return prov.clear();
|
|
887
887
|
},
|
|
@@ -1021,7 +1021,7 @@ export default Gorgon;
|
|
|
1021
1021
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1022
1022
|
Code coverage generated by
|
|
1023
1023
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1024
|
-
at
|
|
1024
|
+
at 2026-03-22T17:21:56.863Z
|
|
1025
1025
|
</div>
|
|
1026
1026
|
<script src="../prettify.js"></script>
|
|
1027
1027
|
<script>
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
102
102
|
Code coverage generated by
|
|
103
103
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
104
|
-
at
|
|
104
|
+
at 2026-03-22T17:21:56.863Z
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../../prettify.js"></script>
|
|
107
107
|
<script>
|
|
@@ -364,7 +364,7 @@ export default MemoryCacheCreator;
|
|
|
364
364
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
365
365
|
Code coverage generated by
|
|
366
366
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
367
|
-
at
|
|
367
|
+
at 2026-03-22T17:21:56.863Z
|
|
368
368
|
</div>
|
|
369
369
|
<script src="../../prettify.js"></script>
|
|
370
370
|
<script>
|
package/dist/index.d.ts
CHANGED
|
@@ -40,8 +40,8 @@ declare const Gorgon: {
|
|
|
40
40
|
addHook: (key: GorgonHookKey, hook: GorgonHook | Array<GorgonHook>) => void;
|
|
41
41
|
addProvider: (name: string, provider: IGorgonCacheProvider) => void;
|
|
42
42
|
put: <R>(key: string, value: R, policy?: GorgonPolicyInput) => Promise<R>;
|
|
43
|
-
clear: (key: string, provider?: string) => Promise<boolean | boolean[]>;
|
|
44
|
-
clearAll: (provider?: string) => Promise<boolean>;
|
|
43
|
+
clear: (key: string, provider?: string, hookIdentifier?: string) => Promise<boolean | boolean[]>;
|
|
44
|
+
clearAll: (provider?: string, hookIdentifier?: string) => Promise<boolean>;
|
|
45
45
|
overwrite: (key: string, asyncFunc: asyncFunction, policy?: GorgonPolicyInput) => Promise<any>;
|
|
46
46
|
get: <R_1>(key: string, asyncFunc: () => R_1, policy?: GorgonPolicyInput) => Promise<R_1>;
|
|
47
47
|
};
|
package/dist/index.es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const g = () => {
|
|
2
|
-
const o = {}, u = o.hasOwnProperty,
|
|
2
|
+
const o = {}, u = o.hasOwnProperty, i = {
|
|
3
3
|
init: async () => {
|
|
4
4
|
},
|
|
5
5
|
get: async (s) => {
|
|
@@ -7,10 +7,10 @@ const g = () => {
|
|
|
7
7
|
return o[s].val;
|
|
8
8
|
},
|
|
9
9
|
set: async (s, t, r) => {
|
|
10
|
-
await
|
|
10
|
+
await i.clear(s);
|
|
11
11
|
var e = !1;
|
|
12
12
|
return r && r.expiry && r.expiry > 0 && (e = setTimeout(function() {
|
|
13
|
-
|
|
13
|
+
i.clear(s);
|
|
14
14
|
}, r.expiry)), o[s] = {
|
|
15
15
|
policy: r,
|
|
16
16
|
val: t,
|
|
@@ -21,23 +21,23 @@ const g = () => {
|
|
|
21
21
|
clear: async (s) => {
|
|
22
22
|
if (!s) {
|
|
23
23
|
for (var t in o)
|
|
24
|
-
|
|
24
|
+
i._clear(t);
|
|
25
25
|
return !0;
|
|
26
26
|
}
|
|
27
|
-
return
|
|
27
|
+
return i._clear(s);
|
|
28
28
|
},
|
|
29
29
|
_clear: (s) => u.call(o, s) ? (o[s].to && clearTimeout(o[s].to), o[s] = null, delete o[s], !0) : !1
|
|
30
30
|
};
|
|
31
|
-
return
|
|
31
|
+
return i;
|
|
32
32
|
}, m = (() => {
|
|
33
|
-
const o = {}, u = o.hasOwnProperty,
|
|
33
|
+
const o = {}, u = o.hasOwnProperty, i = {
|
|
34
34
|
debug: !1,
|
|
35
35
|
defaultProvider: "memory",
|
|
36
36
|
retry: 5e3
|
|
37
37
|
}, s = function(r) {
|
|
38
38
|
const e = {
|
|
39
39
|
expiry: !1,
|
|
40
|
-
provider:
|
|
40
|
+
provider: i.defaultProvider
|
|
41
41
|
};
|
|
42
42
|
if (!r)
|
|
43
43
|
return e;
|
|
@@ -54,17 +54,17 @@ const g = () => {
|
|
|
54
54
|
hooks: {},
|
|
55
55
|
_callHooks: (r, e, a) => {
|
|
56
56
|
if (u.call(t.hooks, r)) {
|
|
57
|
-
for (var
|
|
58
|
-
if (typeof t.hooks[r][
|
|
57
|
+
for (var n in t.hooks[r])
|
|
58
|
+
if (typeof t.hooks[r][n] == "function")
|
|
59
59
|
try {
|
|
60
|
-
t.hooks[r][
|
|
60
|
+
t.hooks[r][n](r, e, a);
|
|
61
61
|
} catch (l) {
|
|
62
62
|
console.error("[Gorgon] Hook error for hook: " + r, l);
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
},
|
|
66
66
|
// Allows for settings on the gorgon cache
|
|
67
|
-
settings: (r) => (r && (Object.assign(
|
|
67
|
+
settings: (r) => (r && (Object.assign(i, r), t._callHooks("settings", r, i)), i),
|
|
68
68
|
// add a hook or array of hooks
|
|
69
69
|
addHook: (r, e) => {
|
|
70
70
|
u.call(t.hooks, r) || (t.hooks[r] = []), Array.isArray(e) ? t.hooks[r] = t.hooks[r].concat(e) : t.hooks[r].push(e);
|
|
@@ -76,31 +76,31 @@ const g = () => {
|
|
|
76
76
|
// Place an item into the cache
|
|
77
77
|
put: async (r, e, a) => {
|
|
78
78
|
a = s(a);
|
|
79
|
-
var
|
|
80
|
-
return t._callHooks("put", { key: r, value: e, policy: a }, e),
|
|
79
|
+
var n = t.providers[a.provider];
|
|
80
|
+
return t._callHooks("put", { key: r, value: e, policy: a }, e), n.set(r, e, s(a));
|
|
81
81
|
},
|
|
82
82
|
// Clear one or all items in the cache
|
|
83
|
-
clear: async (r, e) => {
|
|
84
|
-
var
|
|
85
|
-
return t._callHooks("clear", { key: r, provider: e }), r && r.indexOf("*") > -1 ?
|
|
86
|
-
var
|
|
87
|
-
return new RegExp("^" + r.split("*").join(".*") + "$").test(
|
|
88
|
-
}),
|
|
89
|
-
return
|
|
90
|
-
}) :
|
|
83
|
+
clear: async (r, e, a) => {
|
|
84
|
+
var n = t.providers[e || i.defaultProvider];
|
|
85
|
+
return t._callHooks("clear", { key: r, provider: e, identifier: a }), r && r.indexOf("*") > -1 ? n.keys().then(function(l) {
|
|
86
|
+
var v = l.filter(function(h) {
|
|
87
|
+
return new RegExp("^" + r.split("*").join(".*") + "$").test(h);
|
|
88
|
+
}), f = v.map(n.clear);
|
|
89
|
+
return f.push(n.clear(r)), Promise.all(f);
|
|
90
|
+
}) : n.clear(r);
|
|
91
91
|
},
|
|
92
92
|
// Clear all keys/values in the cache
|
|
93
|
-
clearAll: async (r) => {
|
|
94
|
-
var
|
|
95
|
-
return t._callHooks("clearAll", { provider: r }),
|
|
93
|
+
clearAll: async (r, e) => {
|
|
94
|
+
var a = t.providers[r || i.defaultProvider];
|
|
95
|
+
return t._callHooks("clearAll", { provider: r, identifier: e }), a.clear();
|
|
96
96
|
},
|
|
97
97
|
// Allows you to instantly overwite a cache object
|
|
98
98
|
overwrite: async (r, e, a) => {
|
|
99
99
|
try {
|
|
100
|
-
const
|
|
100
|
+
const n = await e(), l = await t.put(r, n, s(a));
|
|
101
101
|
return t._callHooks("overwrite", { key: r, asyncFunc: e, policy: a }, l), l;
|
|
102
|
-
} catch (
|
|
103
|
-
throw
|
|
102
|
+
} catch (n) {
|
|
103
|
+
throw n;
|
|
104
104
|
}
|
|
105
105
|
},
|
|
106
106
|
// Allows you to get from the cache or pull from the promise
|
|
@@ -108,17 +108,17 @@ const g = () => {
|
|
|
108
108
|
a = s(a);
|
|
109
109
|
const l = await t.providers[a.provider].get(r);
|
|
110
110
|
if (l !== void 0)
|
|
111
|
-
return
|
|
111
|
+
return i.debug && console.info("[Gorgon] Cache hit for key: " + r, l), t._callHooks("get", { key: r, asyncFunc: e, policy: a, cacheHit: !0, queued: !1 }, l), l;
|
|
112
112
|
if (u.call(o, r) && Array.isArray(o[r]) && o[r].length > 0) {
|
|
113
|
-
var
|
|
113
|
+
var v = !1;
|
|
114
114
|
for (var f in o[r])
|
|
115
|
-
o[r][f].queued < new Date(Date.now() -
|
|
116
|
-
if (!
|
|
117
|
-
|
|
118
|
-
var h = new Promise(function(c,
|
|
115
|
+
o[r][f].queued < new Date(Date.now() - i.retry) && (v = !0);
|
|
116
|
+
if (!v) {
|
|
117
|
+
i.debug && console.info("[Gorgon] Cache miss, in progress, adding to current queue for key: " + r);
|
|
118
|
+
var h = new Promise(function(c, d) {
|
|
119
119
|
o[r].push({
|
|
120
120
|
res: c,
|
|
121
|
-
rej:
|
|
121
|
+
rej: d,
|
|
122
122
|
queued: /* @__PURE__ */ new Date()
|
|
123
123
|
});
|
|
124
124
|
});
|
|
@@ -127,15 +127,15 @@ const g = () => {
|
|
|
127
127
|
} else
|
|
128
128
|
o[r] = [{ queued: /* @__PURE__ */ new Date() }];
|
|
129
129
|
try {
|
|
130
|
-
|
|
130
|
+
i.debug && console.info("[Gorgon] Cache miss, resolving item for: " + r);
|
|
131
131
|
const c = e();
|
|
132
132
|
t._callHooks("get", { key: r, asyncFunc: e, policy: a, cacheHit: !1, queued: !1 }, c);
|
|
133
|
-
const
|
|
134
|
-
|
|
135
|
-
const p = await t.put(r,
|
|
133
|
+
const d = await c;
|
|
134
|
+
i.debug && console.info("[Gorgon] Cache resolved, resolved item for: " + r, d);
|
|
135
|
+
const p = await t.put(r, d, s(a));
|
|
136
136
|
if (u.call(o, r)) {
|
|
137
137
|
for (var f in o[r])
|
|
138
|
-
o[r][f].res && (
|
|
138
|
+
o[r][f].res && (i.debug && console.info("[Gorgon] Cache queue resolved for: " + r, d), o[r][f].res(p));
|
|
139
139
|
o[r] = [], delete o[r];
|
|
140
140
|
}
|
|
141
141
|
return p;
|
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../provider/memory.ts","../index.ts"],"sourcesContent":["import {IGorgonCacheProvider, GorgonPolicySanitized} from '../index';\n\ninterface IGorgonMemoryCacheProvider extends IGorgonCacheProvider {\n _clear: (key:string) => boolean;\n}\n\n// Created as a function to allow for multiple instances of the memory cache, if needed\nconst MemoryCacheCreator = ():IGorgonMemoryCacheProvider =>{\n\n const cache = {};\n const hOP = cache.hasOwnProperty;\n\n// Memory cache is about the simplist cache possible, use it as an example\n const memoryCache = {\n\n init: async() => {\n // This should be used to update the cache on boot,\n // memory cache will be blank on boot by default\n return;\n },\n\n get: async(key:string) => {\n\n if (hOP.call(cache, key) && cache[key].val) {\n // The cached item exists, return it\n return cache[key].val;\n } else {\n // The cached item does not exist reject\n return undefined;\n }\n\n },\n\n set: async(key:string, value:any, policy: GorgonPolicySanitized) => {\n\n // Clear in case it exists\n await memoryCache.clear(key);\n\n // Set a timemout to self-remove from the cache if in policy\n var to = false as boolean | number;\n\n if (policy && policy.expiry && policy.expiry > 0) {\n to = setTimeout(function() {\n memoryCache.clear(key);\n }, policy.expiry);\n }\n\n // Store the cached item\n cache[key] = {\n policy: policy,\n val: value,\n to: to,\n };\n\n return value;\n\n },\n\n keys: async() => {\n return Object.keys(cache);\n },\n\n clear: async(key?:string) => {\n\n // Clears a single key or complete clear on empty\n // Clear all items in the cache\n if (!key) {\n for (var i in cache) {\n memoryCache._clear(i);\n }\n return true;\n }\n\n return memoryCache._clear(key);\n },\n\n _clear: (key:string) => {\n // Clear a single item, making sure to remove the extra timeout\n if (hOP.call(cache, key)) {\n if (cache[key].to) {\n clearTimeout(cache[key].to);\n }\n\n cache[key] = null;\n delete cache[key];\n return true;\n }\n\n return false;\n },\n\n };\n\n return memoryCache;\n\n}\n\nexport default MemoryCacheCreator;\n","import MemoryCache from './provider/memory';\n\nexport type asyncFunction = () => Promise<any> | (() => any);\nexport type GorgonHookKey =\n | 'settings'\n | 'addProvider'\n | 'put'\n | 'clear'\n | 'clearAll'\n | 'overwrite'\n | 'get'\n | 'valueError';\nexport type GorgonHook = (key: GorgonHookKey, input?: any, output?: any) => void;\nexport type GorgonSettings = {\n debug: boolean;\n defaultProvider: string;\n retry: number;\n};\nexport type GorgonSettingsInput = {\n debug?: boolean;\n defaultProvider?: string;\n retry?: number;\n};\nexport type GorgonPolicy = {\n expiry: number | Date | false;\n provider: string;\n};\nexport type GorgonPolicyInput = GorgonPolicy | number | Date;\nexport type GorgonPolicySanitized = {\n expiry: number | false;\n provider: string;\n};\ntype GorgonCurrentTaskItem = Array<{\n res?: any;\n rej?: any;\n queued: Date;\n}>;\nexport interface IGorgonCacheProvider {\n init: () => Promise<void>;\n get: (key: string) => Promise<any>;\n set: <R>(key: string, value: R, policy: GorgonPolicySanitized) => Promise<R>;\n clear: (key?: string) => Promise<boolean>;\n keys: () => Promise<string[]>;\n}\n\nconst Gorgon = (() => {\n const currentTasks = {} as { [key: string]: GorgonCurrentTaskItem };\n const hOP = currentTasks.hasOwnProperty;\n\n const settings = {\n debug: false,\n defaultProvider: 'memory',\n retry: 5000,\n } as GorgonSettings;\n\n const policyMaker = function (incPolicy?: GorgonPolicyInput) {\n const outPolicy = {\n expiry: false,\n provider: settings.defaultProvider,\n } as GorgonPolicySanitized;\n\n // Blank policy, false, or no policy. lets store forever\n if (!incPolicy) {\n return outPolicy;\n }\n\n // Type is a full policy object\n if (incPolicy instanceof Date) {\n var d = new Date();\n\n outPolicy.expiry = Math.ceil((incPolicy.getTime() - d.getTime()) / 1000);\n } else if (typeof incPolicy === 'object' && incPolicy.expiry) {\n if (incPolicy.expiry instanceof Date) {\n outPolicy.expiry = Math.ceil((incPolicy.expiry.getTime() - d.getTime()) / 1000);\n } else {\n outPolicy.expiry = incPolicy.expiry;\n }\n outPolicy.provider = incPolicy.provider || outPolicy.provider;\n } else if (typeof incPolicy === 'object') {\n outPolicy.provider = incPolicy.provider || outPolicy.provider;\n } else if (typeof incPolicy === 'number') {\n outPolicy.expiry = incPolicy;\n }\n\n // Number is too small, negative or not a number\n outPolicy.expiry = outPolicy.expiry && outPolicy.expiry > 0 ? outPolicy.expiry : false;\n\n return outPolicy;\n };\n\n const gorgonCore = {\n // Providers available for use\n providers: {} as { [key: string]: IGorgonCacheProvider },\n\n // Hooks\n hooks: {} as { [key: string]: Array<GorgonHook> },\n\n _callHooks: (key: GorgonHookKey, input?: any, output?: any) => {\n if (hOP.call(gorgonCore.hooks, key)) {\n for (var i in gorgonCore.hooks[key]) {\n if (typeof gorgonCore.hooks[key][i] === 'function') {\n try {\n gorgonCore.hooks[key][i](key, input, output);\n } catch (e) {\n console.error('[Gorgon] Hook error for hook: ' + key, e);\n }\n }\n }\n }\n },\n\n // Allows for settings on the gorgon cache\n settings: (newSettings?: GorgonSettingsInput) => {\n if (!newSettings) {\n return settings;\n }\n\n Object.assign(settings, newSettings); // only overwrite ones sent in; keep others at existing\n\n gorgonCore._callHooks('settings', newSettings, settings);\n\n return settings;\n },\n\n // add a hook or array of hooks\n addHook: (key: GorgonHookKey, hook: GorgonHook | Array<GorgonHook>) => {\n if (!hOP.call(gorgonCore.hooks, key)) {\n gorgonCore.hooks[key] = [];\n }\n\n if (Array.isArray(hook)) {\n gorgonCore.hooks[key] = gorgonCore.hooks[key].concat(hook);\n } else {\n gorgonCore.hooks[key].push(hook);\n }\n },\n\n // Add a provider\n addProvider: (name: string, provider: IGorgonCacheProvider) => {\n provider.init(); // Trigger for provider to clear any old cache items or any other cleanup\n gorgonCore.providers[name] = provider;\n\n gorgonCore._callHooks('addProvider', { name, provider });\n },\n\n // Place an item into the cache\n put: async <R>(key: string, value: R, policy?: GorgonPolicyInput): Promise<R> => {\n policy = policyMaker(policy);\n var prov = gorgonCore.providers[policy.provider];\n\n gorgonCore._callHooks('put', { key, value, policy }, value);\n\n return prov.set(key, value, policyMaker(policy));\n },\n\n // Clear one or all items in the cache\n clear: async (key: string, provider?: string) => {\n var prov = gorgonCore.providers[provider || settings.defaultProvider];\n\n gorgonCore._callHooks('clear', { key, provider });\n\n // Clear a wildcard search of objects\n if (key && key.indexOf('*') > -1) {\n return prov.keys().then(function (keys) {\n var cacheMatchKeys = keys.filter(function (str) {\n return new RegExp('^' + key.split('*').join('.*') + '$').test(str);\n });\n\n var clearPromises = cacheMatchKeys.map(prov.clear);\n // Incase someone somehow used a wildcard in their cached key (don't do this)\n\n clearPromises.push(prov.clear(key));\n return Promise.all(clearPromises);\n });\n }\n\n // Not a special clear\n return prov.clear(key);\n },\n\n // Clear all keys/values in the cache\n clearAll: async (provider?: string) => {\n var prov = gorgonCore.providers[provider || settings.defaultProvider];\n\n gorgonCore._callHooks('clearAll', { provider });\n\n return prov.clear();\n },\n\n // Allows you to instantly overwite a cache object\n overwrite: async (key: string, asyncFunc: asyncFunction, policy?: GorgonPolicyInput) => {\n try {\n const resolvedData = await asyncFunc();\n\n const val = await gorgonCore.put(key, resolvedData, policyMaker(policy));\n\n gorgonCore._callHooks('overwrite', { key, asyncFunc, policy }, val);\n\n return val;\n } catch (e) {\n throw e;\n }\n },\n\n // Allows you to get from the cache or pull from the promise\n get: async <R>(key: string, asyncFunc: () => R, policy?: GorgonPolicyInput): Promise<R> => {\n policy = policyMaker(policy);\n const prov = gorgonCore.providers[policy.provider];\n\n const currentVal = await prov.get(key); // Most providers will only lookup by key and return false on not found\n\n // If we have a current value sent it out; cache hit!\n if (currentVal !== undefined) {\n if (settings.debug) {\n console.info('[Gorgon] Cache hit for key: ' + key, currentVal);\n }\n\n gorgonCore._callHooks('get', { key, asyncFunc, policy, cacheHit: true, queued: false }, currentVal);\n\n return currentVal;\n }\n\n // Are we currently already running this cache item?\n if (hOP.call(currentTasks, key) && Array.isArray(currentTasks[key]) && currentTasks[key].length > 0) {\n // Add to the current task, but ignore if any items is below retry anyway threshold\n var oldQueue = false;\n\n for (var i in currentTasks[key]) {\n if (currentTasks[key][i].queued < new Date(Date.now() - settings.retry)) {\n oldQueue = true;\n }\n }\n\n // Add to the current queue\n if (!oldQueue) {\n if (settings.debug) {\n console.info('[Gorgon] Cache miss, in progress, adding to current queue for key: ' + key);\n }\n\n var concurent = new Promise(function (resolve: (value: R) => void, reject) {\n currentTasks[key].push({\n res: resolve,\n rej: reject,\n queued: new Date(),\n });\n });\n\n gorgonCore._callHooks('get', { key, asyncFunc, policy, cacheHit: false, queued: true }, concurent);\n\n return concurent;\n }\n } else {\n // Add current task to list, this is the first one so the primary\n currentTasks[key] = [{ queued: new Date() }];\n }\n\n try {\n if (settings.debug) {\n console.info('[Gorgon] Cache miss, resolving item for: ' + key);\n }\n\n // This is the primary item\n const resolver = asyncFunc();\n\n gorgonCore._callHooks('get', { key, asyncFunc, policy, cacheHit: false, queued: false }, resolver);\n\n // wait for it to finish then push it out\n const resolvedData = await resolver;\n\n if (settings.debug) {\n console.info('[Gorgon] Cache resolved, resolved item for: ' + key, resolvedData);\n }\n\n const val = await gorgonCore.put(key, resolvedData, policyMaker(policy));\n\n if (hOP.call(currentTasks, key)) {\n for (var i in currentTasks[key]) {\n if (currentTasks[key][i].res) {\n if (settings.debug) {\n console.info('[Gorgon] Cache queue resolved for: ' + key, resolvedData);\n }\n\n currentTasks[key][i].res(val);\n }\n }\n\n currentTasks[key] = [];\n delete currentTasks[key];\n }\n\n return val;\n } catch (e) {\n if (hOP.call(currentTasks, key)) {\n for (var i in currentTasks[key]) {\n if (currentTasks[key][i].rej) {\n currentTasks[key][i].rej(e);\n }\n }\n\n gorgonCore._callHooks('valueError', { key, asyncFunc, policy, cacheHit: false, queued: false }, e);\n\n currentTasks[key] = [];\n delete currentTasks[key];\n }\n\n throw e;\n }\n },\n };\n\n gorgonCore.addProvider('memory', MemoryCache()); // Default provider, light weight and simple\n\n return gorgonCore;\n})();\n\nexport { MemoryCache };\nexport default Gorgon;\n"],"names":["MemoryCacheCreator","cache","hOP","memoryCache","key","value","policy","to","i","Gorgon","currentTasks","settings","policyMaker","incPolicy","outPolicy","d","gorgonCore","input","output","e","newSettings","hook","name","provider","prov","keys","cacheMatchKeys","str","clearPromises","asyncFunc","resolvedData","val","currentVal","oldQueue","concurent","resolve","reject","resolver","MemoryCache"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../provider/memory.ts","../index.ts"],"sourcesContent":["import {IGorgonCacheProvider, GorgonPolicySanitized} from '../index';\n\ninterface IGorgonMemoryCacheProvider extends IGorgonCacheProvider {\n _clear: (key:string) => boolean;\n}\n\n// Created as a function to allow for multiple instances of the memory cache, if needed\nconst MemoryCacheCreator = ():IGorgonMemoryCacheProvider =>{\n\n const cache = {};\n const hOP = cache.hasOwnProperty;\n\n// Memory cache is about the simplist cache possible, use it as an example\n const memoryCache = {\n\n init: async() => {\n // This should be used to update the cache on boot,\n // memory cache will be blank on boot by default\n return;\n },\n\n get: async(key:string) => {\n\n if (hOP.call(cache, key) && cache[key].val) {\n // The cached item exists, return it\n return cache[key].val;\n } else {\n // The cached item does not exist reject\n return undefined;\n }\n\n },\n\n set: async(key:string, value:any, policy: GorgonPolicySanitized) => {\n\n // Clear in case it exists\n await memoryCache.clear(key);\n\n // Set a timemout to self-remove from the cache if in policy\n var to = false as boolean | number;\n\n if (policy && policy.expiry && policy.expiry > 0) {\n to = setTimeout(function() {\n memoryCache.clear(key);\n }, policy.expiry);\n }\n\n // Store the cached item\n cache[key] = {\n policy: policy,\n val: value,\n to: to,\n };\n\n return value;\n\n },\n\n keys: async() => {\n return Object.keys(cache);\n },\n\n clear: async(key?:string) => {\n\n // Clears a single key or complete clear on empty\n // Clear all items in the cache\n if (!key) {\n for (var i in cache) {\n memoryCache._clear(i);\n }\n return true;\n }\n\n return memoryCache._clear(key);\n },\n\n _clear: (key:string) => {\n // Clear a single item, making sure to remove the extra timeout\n if (hOP.call(cache, key)) {\n if (cache[key].to) {\n clearTimeout(cache[key].to);\n }\n\n cache[key] = null;\n delete cache[key];\n return true;\n }\n\n return false;\n },\n\n };\n\n return memoryCache;\n\n}\n\nexport default MemoryCacheCreator;\n","import MemoryCache from './provider/memory';\n\nexport type asyncFunction = () => Promise<any> | (() => any);\nexport type GorgonHookKey =\n | 'settings'\n | 'addProvider'\n | 'put'\n | 'clear'\n | 'clearAll'\n | 'overwrite'\n | 'get'\n | 'valueError';\nexport type GorgonHook = (key: GorgonHookKey, input?: any, output?: any) => void;\nexport type GorgonSettings = {\n debug: boolean;\n defaultProvider: string;\n retry: number;\n};\nexport type GorgonSettingsInput = {\n debug?: boolean;\n defaultProvider?: string;\n retry?: number;\n};\nexport type GorgonPolicy = {\n expiry: number | Date | false;\n provider: string;\n};\nexport type GorgonPolicyInput = GorgonPolicy | number | Date;\nexport type GorgonPolicySanitized = {\n expiry: number | false;\n provider: string;\n};\ntype GorgonCurrentTaskItem = Array<{\n res?: any;\n rej?: any;\n queued: Date;\n}>;\nexport interface IGorgonCacheProvider {\n init: () => Promise<void>;\n get: (key: string) => Promise<any>;\n set: <R>(key: string, value: R, policy: GorgonPolicySanitized) => Promise<R>;\n clear: (key?: string) => Promise<boolean>;\n keys: () => Promise<string[]>;\n}\n\nconst Gorgon = (() => {\n const currentTasks = {} as { [key: string]: GorgonCurrentTaskItem };\n const hOP = currentTasks.hasOwnProperty;\n\n const settings = {\n debug: false,\n defaultProvider: 'memory',\n retry: 5000,\n } as GorgonSettings;\n\n const policyMaker = function (incPolicy?: GorgonPolicyInput) {\n const outPolicy = {\n expiry: false,\n provider: settings.defaultProvider,\n } as GorgonPolicySanitized;\n\n // Blank policy, false, or no policy. lets store forever\n if (!incPolicy) {\n return outPolicy;\n }\n\n // Type is a full policy object\n if (incPolicy instanceof Date) {\n var d = new Date();\n\n outPolicy.expiry = Math.ceil((incPolicy.getTime() - d.getTime()) / 1000);\n } else if (typeof incPolicy === 'object' && incPolicy.expiry) {\n if (incPolicy.expiry instanceof Date) {\n outPolicy.expiry = Math.ceil((incPolicy.expiry.getTime() - d.getTime()) / 1000);\n } else {\n outPolicy.expiry = incPolicy.expiry;\n }\n outPolicy.provider = incPolicy.provider || outPolicy.provider;\n } else if (typeof incPolicy === 'object') {\n outPolicy.provider = incPolicy.provider || outPolicy.provider;\n } else if (typeof incPolicy === 'number') {\n outPolicy.expiry = incPolicy;\n }\n\n // Number is too small, negative or not a number\n outPolicy.expiry = outPolicy.expiry && outPolicy.expiry > 0 ? outPolicy.expiry : false;\n\n return outPolicy;\n };\n\n const gorgonCore = {\n // Providers available for use\n providers: {} as { [key: string]: IGorgonCacheProvider },\n\n // Hooks\n hooks: {} as { [key: string]: Array<GorgonHook> },\n\n _callHooks: (key: GorgonHookKey, input?: any, output?: any) => {\n if (hOP.call(gorgonCore.hooks, key)) {\n for (var i in gorgonCore.hooks[key]) {\n if (typeof gorgonCore.hooks[key][i] === 'function') {\n try {\n gorgonCore.hooks[key][i](key, input, output);\n } catch (e) {\n console.error('[Gorgon] Hook error for hook: ' + key, e);\n }\n }\n }\n }\n },\n\n // Allows for settings on the gorgon cache\n settings: (newSettings?: GorgonSettingsInput) => {\n if (!newSettings) {\n return settings;\n }\n\n Object.assign(settings, newSettings); // only overwrite ones sent in; keep others at existing\n\n gorgonCore._callHooks('settings', newSettings, settings);\n\n return settings;\n },\n\n // add a hook or array of hooks\n addHook: (key: GorgonHookKey, hook: GorgonHook | Array<GorgonHook>) => {\n if (!hOP.call(gorgonCore.hooks, key)) {\n gorgonCore.hooks[key] = [];\n }\n\n if (Array.isArray(hook)) {\n gorgonCore.hooks[key] = gorgonCore.hooks[key].concat(hook);\n } else {\n gorgonCore.hooks[key].push(hook);\n }\n },\n\n // Add a provider\n addProvider: (name: string, provider: IGorgonCacheProvider) => {\n provider.init(); // Trigger for provider to clear any old cache items or any other cleanup\n gorgonCore.providers[name] = provider;\n\n gorgonCore._callHooks('addProvider', { name, provider });\n },\n\n // Place an item into the cache\n put: async <R>(key: string, value: R, policy?: GorgonPolicyInput): Promise<R> => {\n policy = policyMaker(policy);\n var prov = gorgonCore.providers[policy.provider];\n\n gorgonCore._callHooks('put', { key, value, policy }, value);\n\n return prov.set(key, value, policyMaker(policy));\n },\n\n // Clear one or all items in the cache\n clear: async (key: string, provider?: string, hookIdentifier?: string) => {\n var prov = gorgonCore.providers[provider || settings.defaultProvider];\n\n gorgonCore._callHooks('clear', { key, provider, identifier: hookIdentifier });\n\n // Clear a wildcard search of objects\n if (key && key.indexOf('*') > -1) {\n return prov.keys().then(function (keys) {\n var cacheMatchKeys = keys.filter(function (str) {\n return new RegExp('^' + key.split('*').join('.*') + '$').test(str);\n });\n\n var clearPromises = cacheMatchKeys.map(prov.clear);\n // Incase someone somehow used a wildcard in their cached key (don't do this)\n\n clearPromises.push(prov.clear(key));\n return Promise.all(clearPromises);\n });\n }\n\n // Not a special clear\n return prov.clear(key);\n },\n\n // Clear all keys/values in the cache\n clearAll: async (provider?: string, hookIdentifier?: string) => {\n var prov = gorgonCore.providers[provider || settings.defaultProvider];\n\n gorgonCore._callHooks('clearAll', { provider, identifier: hookIdentifier });\n\n return prov.clear();\n },\n\n // Allows you to instantly overwite a cache object\n overwrite: async (key: string, asyncFunc: asyncFunction, policy?: GorgonPolicyInput) => {\n try {\n const resolvedData = await asyncFunc();\n\n const val = await gorgonCore.put(key, resolvedData, policyMaker(policy));\n\n gorgonCore._callHooks('overwrite', { key, asyncFunc, policy }, val);\n\n return val;\n } catch (e) {\n throw e;\n }\n },\n\n // Allows you to get from the cache or pull from the promise\n get: async <R>(key: string, asyncFunc: () => R, policy?: GorgonPolicyInput): Promise<R> => {\n policy = policyMaker(policy);\n const prov = gorgonCore.providers[policy.provider];\n\n const currentVal = await prov.get(key); // Most providers will only lookup by key and return false on not found\n\n // If we have a current value sent it out; cache hit!\n if (currentVal !== undefined) {\n if (settings.debug) {\n console.info('[Gorgon] Cache hit for key: ' + key, currentVal);\n }\n\n gorgonCore._callHooks('get', { key, asyncFunc, policy, cacheHit: true, queued: false }, currentVal);\n\n return currentVal;\n }\n\n // Are we currently already running this cache item?\n if (hOP.call(currentTasks, key) && Array.isArray(currentTasks[key]) && currentTasks[key].length > 0) {\n // Add to the current task, but ignore if any items is below retry anyway threshold\n var oldQueue = false;\n\n for (var i in currentTasks[key]) {\n if (currentTasks[key][i].queued < new Date(Date.now() - settings.retry)) {\n oldQueue = true;\n }\n }\n\n // Add to the current queue\n if (!oldQueue) {\n if (settings.debug) {\n console.info('[Gorgon] Cache miss, in progress, adding to current queue for key: ' + key);\n }\n\n var concurent = new Promise(function (resolve: (value: R) => void, reject) {\n currentTasks[key].push({\n res: resolve,\n rej: reject,\n queued: new Date(),\n });\n });\n\n gorgonCore._callHooks('get', { key, asyncFunc, policy, cacheHit: false, queued: true }, concurent);\n\n return concurent;\n }\n } else {\n // Add current task to list, this is the first one so the primary\n currentTasks[key] = [{ queued: new Date() }];\n }\n\n try {\n if (settings.debug) {\n console.info('[Gorgon] Cache miss, resolving item for: ' + key);\n }\n\n // This is the primary item\n const resolver = asyncFunc();\n\n gorgonCore._callHooks('get', { key, asyncFunc, policy, cacheHit: false, queued: false }, resolver);\n\n // wait for it to finish then push it out\n const resolvedData = await resolver;\n\n if (settings.debug) {\n console.info('[Gorgon] Cache resolved, resolved item for: ' + key, resolvedData);\n }\n\n const val = await gorgonCore.put(key, resolvedData, policyMaker(policy));\n\n if (hOP.call(currentTasks, key)) {\n for (var i in currentTasks[key]) {\n if (currentTasks[key][i].res) {\n if (settings.debug) {\n console.info('[Gorgon] Cache queue resolved for: ' + key, resolvedData);\n }\n\n currentTasks[key][i].res(val);\n }\n }\n\n currentTasks[key] = [];\n delete currentTasks[key];\n }\n\n return val;\n } catch (e) {\n if (hOP.call(currentTasks, key)) {\n for (var i in currentTasks[key]) {\n if (currentTasks[key][i].rej) {\n currentTasks[key][i].rej(e);\n }\n }\n\n gorgonCore._callHooks('valueError', { key, asyncFunc, policy, cacheHit: false, queued: false }, e);\n\n currentTasks[key] = [];\n delete currentTasks[key];\n }\n\n throw e;\n }\n },\n };\n\n gorgonCore.addProvider('memory', MemoryCache()); // Default provider, light weight and simple\n\n return gorgonCore;\n})();\n\nexport { MemoryCache };\nexport default Gorgon;\n"],"names":["MemoryCacheCreator","cache","hOP","memoryCache","key","value","policy","to","i","Gorgon","currentTasks","settings","policyMaker","incPolicy","outPolicy","d","gorgonCore","input","output","e","newSettings","hook","name","provider","prov","hookIdentifier","keys","cacheMatchKeys","str","clearPromises","asyncFunc","resolvedData","val","currentVal","oldQueue","concurent","resolve","reject","resolver","MemoryCache"],"mappings":"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"}
|
package/dist/index.umd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(c,v){typeof exports=="object"&&typeof module<"u"?v(exports):typeof define=="function"&&define.amd?define(["exports"],v):(c=typeof globalThis<"u"?globalThis:c||self,v(c.Gorgon={}))})(this,function(c){"use strict";const v=()=>{const o={},u=o.hasOwnProperty,i={init:async()=>{},get:async s=>{if(u.call(o,s)&&o[s].val)return o[s].val},set:async(s,t,e)=>{await i.clear(s);var r=!1;return e&&e.expiry&&e.expiry>0&&(r=setTimeout(function(){i.clear(s)},e.expiry)),o[s]={policy:e,val:t,to:r},t},keys:async()=>Object.keys(o),clear:async s=>{if(!s){for(var t in o)i._clear(t);return!0}return i._clear(s)},_clear:s=>u.call(o,s)?(o[s].to&&clearTimeout(o[s].to),o[s]=null,delete o[s],!0):!1};return i},x=(()=>{const o={},u=o.hasOwnProperty,i={debug:!1,defaultProvider:"memory",retry:5e3},s=function(e){const r={expiry:!1,provider:i.defaultProvider};if(!e)return r;if(e instanceof Date){var a=new Date;r.expiry=Math.ceil((e.getTime()-a.getTime())/1e3)}else typeof e=="object"&&e.expiry?(e.expiry instanceof Date?r.expiry=Math.ceil((e.expiry.getTime()-a.getTime())/1e3):r.expiry=e.expiry,r.provider=e.provider||r.provider):typeof e=="object"?r.provider=e.provider||r.provider:typeof e=="number"&&(r.expiry=e);return r.expiry=r.expiry&&r.expiry>0?r.expiry:!1,r},t={providers:{},hooks:{},_callHooks:(e,r,a)=>{if(u.call(t.hooks,e)){for(var n in t.hooks[e])if(typeof t.hooks[e][n]=="function")try{t.hooks[e][n](e,r,a)}catch(f){console.error("[Gorgon] Hook error for hook: "+e,f)}}},settings:e=>(e&&(Object.assign(i,e),t._callHooks("settings",e,i)),i),addHook:(e,r)=>{u.call(t.hooks,e)||(t.hooks[e]=[]),Array.isArray(r)?t.hooks[e]=t.hooks[e].concat(r):t.hooks[e].push(r)},addProvider:(e,r)=>{r.init(),t.providers[e]=r,t._callHooks("addProvider",{name:e,provider:r})},put:async(e,r,a)=>{a=s(a);var n=t.providers[a.provider];return t._callHooks("put",{key:e,value:r,policy:a},r),n.set(e,r,s(a))},clear:async(e,r,a)=>{var n=t.providers[r||i.defaultProvider];return t._callHooks("clear",{key:e,provider:r,identifier:a}),e&&e.indexOf("*")>-1?n.keys().then(function(f){var p=f.filter(function(g){return new RegExp("^"+e.split("*").join(".*")+"$").test(g)}),l=p.map(n.clear);return l.push(n.clear(e)),Promise.all(l)}):n.clear(e)},clearAll:async(e,r)=>{var a=t.providers[e||i.defaultProvider];return t._callHooks("clearAll",{provider:e,identifier:r}),a.clear()},overwrite:async(e,r,a)=>{try{const n=await r(),f=await t.put(e,n,s(a));return t._callHooks("overwrite",{key:e,asyncFunc:r,policy:a},f),f}catch(n){throw n}},get:async(e,r,a)=>{a=s(a);const f=await t.providers[a.provider].get(e);if(f!==void 0)return i.debug&&console.info("[Gorgon] Cache hit for key: "+e,f),t._callHooks("get",{key:e,asyncFunc:r,policy:a,cacheHit:!0,queued:!1},f),f;if(u.call(o,e)&&Array.isArray(o[e])&&o[e].length>0){var p=!1;for(var l in o[e])o[e][l].queued<new Date(Date.now()-i.retry)&&(p=!0);if(!p){i.debug&&console.info("[Gorgon] Cache miss, in progress, adding to current queue for key: "+e);var g=new Promise(function(d,h){o[e].push({res:d,rej:h,queued:new Date})});return t._callHooks("get",{key:e,asyncFunc:r,policy:a,cacheHit:!1,queued:!0},g),g}}else o[e]=[{queued:new Date}];try{i.debug&&console.info("[Gorgon] Cache miss, resolving item for: "+e);const d=r();t._callHooks("get",{key:e,asyncFunc:r,policy:a,cacheHit:!1,queued:!1},d);const h=await d;i.debug&&console.info("[Gorgon] Cache resolved, resolved item for: "+e,h);const m=await t.put(e,h,s(a));if(u.call(o,e)){for(var l in o[e])o[e][l].res&&(i.debug&&console.info("[Gorgon] Cache queue resolved for: "+e,h),o[e][l].res(m));o[e]=[],delete o[e]}return m}catch(d){if(u.call(o,e)){for(var l in o[e])o[e][l].rej&&o[e][l].rej(d);t._callHooks("valueError",{key:e,asyncFunc:r,policy:a,cacheHit:!1,queued:!1},d),o[e]=[],delete o[e]}throw d}}};return t.addProvider("memory",v()),t})();c.MemoryCache=v,c.default=x,Object.defineProperties(c,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
|
|
2
2
|
//# sourceMappingURL=index.umd.js.map
|
package/dist/index.umd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.umd.js","sources":["../provider/memory.ts","../index.ts"],"sourcesContent":["import {IGorgonCacheProvider, GorgonPolicySanitized} from '../index';\n\ninterface IGorgonMemoryCacheProvider extends IGorgonCacheProvider {\n _clear: (key:string) => boolean;\n}\n\n// Created as a function to allow for multiple instances of the memory cache, if needed\nconst MemoryCacheCreator = ():IGorgonMemoryCacheProvider =>{\n\n const cache = {};\n const hOP = cache.hasOwnProperty;\n\n// Memory cache is about the simplist cache possible, use it as an example\n const memoryCache = {\n\n init: async() => {\n // This should be used to update the cache on boot,\n // memory cache will be blank on boot by default\n return;\n },\n\n get: async(key:string) => {\n\n if (hOP.call(cache, key) && cache[key].val) {\n // The cached item exists, return it\n return cache[key].val;\n } else {\n // The cached item does not exist reject\n return undefined;\n }\n\n },\n\n set: async(key:string, value:any, policy: GorgonPolicySanitized) => {\n\n // Clear in case it exists\n await memoryCache.clear(key);\n\n // Set a timemout to self-remove from the cache if in policy\n var to = false as boolean | number;\n\n if (policy && policy.expiry && policy.expiry > 0) {\n to = setTimeout(function() {\n memoryCache.clear(key);\n }, policy.expiry);\n }\n\n // Store the cached item\n cache[key] = {\n policy: policy,\n val: value,\n to: to,\n };\n\n return value;\n\n },\n\n keys: async() => {\n return Object.keys(cache);\n },\n\n clear: async(key?:string) => {\n\n // Clears a single key or complete clear on empty\n // Clear all items in the cache\n if (!key) {\n for (var i in cache) {\n memoryCache._clear(i);\n }\n return true;\n }\n\n return memoryCache._clear(key);\n },\n\n _clear: (key:string) => {\n // Clear a single item, making sure to remove the extra timeout\n if (hOP.call(cache, key)) {\n if (cache[key].to) {\n clearTimeout(cache[key].to);\n }\n\n cache[key] = null;\n delete cache[key];\n return true;\n }\n\n return false;\n },\n\n };\n\n return memoryCache;\n\n}\n\nexport default MemoryCacheCreator;\n","import MemoryCache from './provider/memory';\n\nexport type asyncFunction = () => Promise<any> | (() => any);\nexport type GorgonHookKey =\n | 'settings'\n | 'addProvider'\n | 'put'\n | 'clear'\n | 'clearAll'\n | 'overwrite'\n | 'get'\n | 'valueError';\nexport type GorgonHook = (key: GorgonHookKey, input?: any, output?: any) => void;\nexport type GorgonSettings = {\n debug: boolean;\n defaultProvider: string;\n retry: number;\n};\nexport type GorgonSettingsInput = {\n debug?: boolean;\n defaultProvider?: string;\n retry?: number;\n};\nexport type GorgonPolicy = {\n expiry: number | Date | false;\n provider: string;\n};\nexport type GorgonPolicyInput = GorgonPolicy | number | Date;\nexport type GorgonPolicySanitized = {\n expiry: number | false;\n provider: string;\n};\ntype GorgonCurrentTaskItem = Array<{\n res?: any;\n rej?: any;\n queued: Date;\n}>;\nexport interface IGorgonCacheProvider {\n init: () => Promise<void>;\n get: (key: string) => Promise<any>;\n set: <R>(key: string, value: R, policy: GorgonPolicySanitized) => Promise<R>;\n clear: (key?: string) => Promise<boolean>;\n keys: () => Promise<string[]>;\n}\n\nconst Gorgon = (() => {\n const currentTasks = {} as { [key: string]: GorgonCurrentTaskItem };\n const hOP = currentTasks.hasOwnProperty;\n\n const settings = {\n debug: false,\n defaultProvider: 'memory',\n retry: 5000,\n } as GorgonSettings;\n\n const policyMaker = function (incPolicy?: GorgonPolicyInput) {\n const outPolicy = {\n expiry: false,\n provider: settings.defaultProvider,\n } as GorgonPolicySanitized;\n\n // Blank policy, false, or no policy. lets store forever\n if (!incPolicy) {\n return outPolicy;\n }\n\n // Type is a full policy object\n if (incPolicy instanceof Date) {\n var d = new Date();\n\n outPolicy.expiry = Math.ceil((incPolicy.getTime() - d.getTime()) / 1000);\n } else if (typeof incPolicy === 'object' && incPolicy.expiry) {\n if (incPolicy.expiry instanceof Date) {\n outPolicy.expiry = Math.ceil((incPolicy.expiry.getTime() - d.getTime()) / 1000);\n } else {\n outPolicy.expiry = incPolicy.expiry;\n }\n outPolicy.provider = incPolicy.provider || outPolicy.provider;\n } else if (typeof incPolicy === 'object') {\n outPolicy.provider = incPolicy.provider || outPolicy.provider;\n } else if (typeof incPolicy === 'number') {\n outPolicy.expiry = incPolicy;\n }\n\n // Number is too small, negative or not a number\n outPolicy.expiry = outPolicy.expiry && outPolicy.expiry > 0 ? outPolicy.expiry : false;\n\n return outPolicy;\n };\n\n const gorgonCore = {\n // Providers available for use\n providers: {} as { [key: string]: IGorgonCacheProvider },\n\n // Hooks\n hooks: {} as { [key: string]: Array<GorgonHook> },\n\n _callHooks: (key: GorgonHookKey, input?: any, output?: any) => {\n if (hOP.call(gorgonCore.hooks, key)) {\n for (var i in gorgonCore.hooks[key]) {\n if (typeof gorgonCore.hooks[key][i] === 'function') {\n try {\n gorgonCore.hooks[key][i](key, input, output);\n } catch (e) {\n console.error('[Gorgon] Hook error for hook: ' + key, e);\n }\n }\n }\n }\n },\n\n // Allows for settings on the gorgon cache\n settings: (newSettings?: GorgonSettingsInput) => {\n if (!newSettings) {\n return settings;\n }\n\n Object.assign(settings, newSettings); // only overwrite ones sent in; keep others at existing\n\n gorgonCore._callHooks('settings', newSettings, settings);\n\n return settings;\n },\n\n // add a hook or array of hooks\n addHook: (key: GorgonHookKey, hook: GorgonHook | Array<GorgonHook>) => {\n if (!hOP.call(gorgonCore.hooks, key)) {\n gorgonCore.hooks[key] = [];\n }\n\n if (Array.isArray(hook)) {\n gorgonCore.hooks[key] = gorgonCore.hooks[key].concat(hook);\n } else {\n gorgonCore.hooks[key].push(hook);\n }\n },\n\n // Add a provider\n addProvider: (name: string, provider: IGorgonCacheProvider) => {\n provider.init(); // Trigger for provider to clear any old cache items or any other cleanup\n gorgonCore.providers[name] = provider;\n\n gorgonCore._callHooks('addProvider', { name, provider });\n },\n\n // Place an item into the cache\n put: async <R>(key: string, value: R, policy?: GorgonPolicyInput): Promise<R> => {\n policy = policyMaker(policy);\n var prov = gorgonCore.providers[policy.provider];\n\n gorgonCore._callHooks('put', { key, value, policy }, value);\n\n return prov.set(key, value, policyMaker(policy));\n },\n\n // Clear one or all items in the cache\n clear: async (key: string, provider?: string) => {\n var prov = gorgonCore.providers[provider || settings.defaultProvider];\n\n gorgonCore._callHooks('clear', { key, provider });\n\n // Clear a wildcard search of objects\n if (key && key.indexOf('*') > -1) {\n return prov.keys().then(function (keys) {\n var cacheMatchKeys = keys.filter(function (str) {\n return new RegExp('^' + key.split('*').join('.*') + '$').test(str);\n });\n\n var clearPromises = cacheMatchKeys.map(prov.clear);\n // Incase someone somehow used a wildcard in their cached key (don't do this)\n\n clearPromises.push(prov.clear(key));\n return Promise.all(clearPromises);\n });\n }\n\n // Not a special clear\n return prov.clear(key);\n },\n\n // Clear all keys/values in the cache\n clearAll: async (provider?: string) => {\n var prov = gorgonCore.providers[provider || settings.defaultProvider];\n\n gorgonCore._callHooks('clearAll', { provider });\n\n return prov.clear();\n },\n\n // Allows you to instantly overwite a cache object\n overwrite: async (key: string, asyncFunc: asyncFunction, policy?: GorgonPolicyInput) => {\n try {\n const resolvedData = await asyncFunc();\n\n const val = await gorgonCore.put(key, resolvedData, policyMaker(policy));\n\n gorgonCore._callHooks('overwrite', { key, asyncFunc, policy }, val);\n\n return val;\n } catch (e) {\n throw e;\n }\n },\n\n // Allows you to get from the cache or pull from the promise\n get: async <R>(key: string, asyncFunc: () => R, policy?: GorgonPolicyInput): Promise<R> => {\n policy = policyMaker(policy);\n const prov = gorgonCore.providers[policy.provider];\n\n const currentVal = await prov.get(key); // Most providers will only lookup by key and return false on not found\n\n // If we have a current value sent it out; cache hit!\n if (currentVal !== undefined) {\n if (settings.debug) {\n console.info('[Gorgon] Cache hit for key: ' + key, currentVal);\n }\n\n gorgonCore._callHooks('get', { key, asyncFunc, policy, cacheHit: true, queued: false }, currentVal);\n\n return currentVal;\n }\n\n // Are we currently already running this cache item?\n if (hOP.call(currentTasks, key) && Array.isArray(currentTasks[key]) && currentTasks[key].length > 0) {\n // Add to the current task, but ignore if any items is below retry anyway threshold\n var oldQueue = false;\n\n for (var i in currentTasks[key]) {\n if (currentTasks[key][i].queued < new Date(Date.now() - settings.retry)) {\n oldQueue = true;\n }\n }\n\n // Add to the current queue\n if (!oldQueue) {\n if (settings.debug) {\n console.info('[Gorgon] Cache miss, in progress, adding to current queue for key: ' + key);\n }\n\n var concurent = new Promise(function (resolve: (value: R) => void, reject) {\n currentTasks[key].push({\n res: resolve,\n rej: reject,\n queued: new Date(),\n });\n });\n\n gorgonCore._callHooks('get', { key, asyncFunc, policy, cacheHit: false, queued: true }, concurent);\n\n return concurent;\n }\n } else {\n // Add current task to list, this is the first one so the primary\n currentTasks[key] = [{ queued: new Date() }];\n }\n\n try {\n if (settings.debug) {\n console.info('[Gorgon] Cache miss, resolving item for: ' + key);\n }\n\n // This is the primary item\n const resolver = asyncFunc();\n\n gorgonCore._callHooks('get', { key, asyncFunc, policy, cacheHit: false, queued: false }, resolver);\n\n // wait for it to finish then push it out\n const resolvedData = await resolver;\n\n if (settings.debug) {\n console.info('[Gorgon] Cache resolved, resolved item for: ' + key, resolvedData);\n }\n\n const val = await gorgonCore.put(key, resolvedData, policyMaker(policy));\n\n if (hOP.call(currentTasks, key)) {\n for (var i in currentTasks[key]) {\n if (currentTasks[key][i].res) {\n if (settings.debug) {\n console.info('[Gorgon] Cache queue resolved for: ' + key, resolvedData);\n }\n\n currentTasks[key][i].res(val);\n }\n }\n\n currentTasks[key] = [];\n delete currentTasks[key];\n }\n\n return val;\n } catch (e) {\n if (hOP.call(currentTasks, key)) {\n for (var i in currentTasks[key]) {\n if (currentTasks[key][i].rej) {\n currentTasks[key][i].rej(e);\n }\n }\n\n gorgonCore._callHooks('valueError', { key, asyncFunc, policy, cacheHit: false, queued: false }, e);\n\n currentTasks[key] = [];\n delete currentTasks[key];\n }\n\n throw e;\n }\n },\n };\n\n gorgonCore.addProvider('memory', MemoryCache()); // Default provider, light weight and simple\n\n return gorgonCore;\n})();\n\nexport { MemoryCache };\nexport default Gorgon;\n"],"names":["MemoryCacheCreator","cache","hOP","memoryCache","key","value","policy","to","i","Gorgon","currentTasks","settings","policyMaker","incPolicy","outPolicy","d","gorgonCore","input","output","e","newSettings","hook","name","provider","prov","keys","cacheMatchKeys","str","clearPromises","asyncFunc","resolvedData","val","currentVal","oldQueue","concurent","resolve","reject","resolver","MemoryCache"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.umd.js","sources":["../provider/memory.ts","../index.ts"],"sourcesContent":["import {IGorgonCacheProvider, GorgonPolicySanitized} from '../index';\n\ninterface IGorgonMemoryCacheProvider extends IGorgonCacheProvider {\n _clear: (key:string) => boolean;\n}\n\n// Created as a function to allow for multiple instances of the memory cache, if needed\nconst MemoryCacheCreator = ():IGorgonMemoryCacheProvider =>{\n\n const cache = {};\n const hOP = cache.hasOwnProperty;\n\n// Memory cache is about the simplist cache possible, use it as an example\n const memoryCache = {\n\n init: async() => {\n // This should be used to update the cache on boot,\n // memory cache will be blank on boot by default\n return;\n },\n\n get: async(key:string) => {\n\n if (hOP.call(cache, key) && cache[key].val) {\n // The cached item exists, return it\n return cache[key].val;\n } else {\n // The cached item does not exist reject\n return undefined;\n }\n\n },\n\n set: async(key:string, value:any, policy: GorgonPolicySanitized) => {\n\n // Clear in case it exists\n await memoryCache.clear(key);\n\n // Set a timemout to self-remove from the cache if in policy\n var to = false as boolean | number;\n\n if (policy && policy.expiry && policy.expiry > 0) {\n to = setTimeout(function() {\n memoryCache.clear(key);\n }, policy.expiry);\n }\n\n // Store the cached item\n cache[key] = {\n policy: policy,\n val: value,\n to: to,\n };\n\n return value;\n\n },\n\n keys: async() => {\n return Object.keys(cache);\n },\n\n clear: async(key?:string) => {\n\n // Clears a single key or complete clear on empty\n // Clear all items in the cache\n if (!key) {\n for (var i in cache) {\n memoryCache._clear(i);\n }\n return true;\n }\n\n return memoryCache._clear(key);\n },\n\n _clear: (key:string) => {\n // Clear a single item, making sure to remove the extra timeout\n if (hOP.call(cache, key)) {\n if (cache[key].to) {\n clearTimeout(cache[key].to);\n }\n\n cache[key] = null;\n delete cache[key];\n return true;\n }\n\n return false;\n },\n\n };\n\n return memoryCache;\n\n}\n\nexport default MemoryCacheCreator;\n","import MemoryCache from './provider/memory';\n\nexport type asyncFunction = () => Promise<any> | (() => any);\nexport type GorgonHookKey =\n | 'settings'\n | 'addProvider'\n | 'put'\n | 'clear'\n | 'clearAll'\n | 'overwrite'\n | 'get'\n | 'valueError';\nexport type GorgonHook = (key: GorgonHookKey, input?: any, output?: any) => void;\nexport type GorgonSettings = {\n debug: boolean;\n defaultProvider: string;\n retry: number;\n};\nexport type GorgonSettingsInput = {\n debug?: boolean;\n defaultProvider?: string;\n retry?: number;\n};\nexport type GorgonPolicy = {\n expiry: number | Date | false;\n provider: string;\n};\nexport type GorgonPolicyInput = GorgonPolicy | number | Date;\nexport type GorgonPolicySanitized = {\n expiry: number | false;\n provider: string;\n};\ntype GorgonCurrentTaskItem = Array<{\n res?: any;\n rej?: any;\n queued: Date;\n}>;\nexport interface IGorgonCacheProvider {\n init: () => Promise<void>;\n get: (key: string) => Promise<any>;\n set: <R>(key: string, value: R, policy: GorgonPolicySanitized) => Promise<R>;\n clear: (key?: string) => Promise<boolean>;\n keys: () => Promise<string[]>;\n}\n\nconst Gorgon = (() => {\n const currentTasks = {} as { [key: string]: GorgonCurrentTaskItem };\n const hOP = currentTasks.hasOwnProperty;\n\n const settings = {\n debug: false,\n defaultProvider: 'memory',\n retry: 5000,\n } as GorgonSettings;\n\n const policyMaker = function (incPolicy?: GorgonPolicyInput) {\n const outPolicy = {\n expiry: false,\n provider: settings.defaultProvider,\n } as GorgonPolicySanitized;\n\n // Blank policy, false, or no policy. lets store forever\n if (!incPolicy) {\n return outPolicy;\n }\n\n // Type is a full policy object\n if (incPolicy instanceof Date) {\n var d = new Date();\n\n outPolicy.expiry = Math.ceil((incPolicy.getTime() - d.getTime()) / 1000);\n } else if (typeof incPolicy === 'object' && incPolicy.expiry) {\n if (incPolicy.expiry instanceof Date) {\n outPolicy.expiry = Math.ceil((incPolicy.expiry.getTime() - d.getTime()) / 1000);\n } else {\n outPolicy.expiry = incPolicy.expiry;\n }\n outPolicy.provider = incPolicy.provider || outPolicy.provider;\n } else if (typeof incPolicy === 'object') {\n outPolicy.provider = incPolicy.provider || outPolicy.provider;\n } else if (typeof incPolicy === 'number') {\n outPolicy.expiry = incPolicy;\n }\n\n // Number is too small, negative or not a number\n outPolicy.expiry = outPolicy.expiry && outPolicy.expiry > 0 ? outPolicy.expiry : false;\n\n return outPolicy;\n };\n\n const gorgonCore = {\n // Providers available for use\n providers: {} as { [key: string]: IGorgonCacheProvider },\n\n // Hooks\n hooks: {} as { [key: string]: Array<GorgonHook> },\n\n _callHooks: (key: GorgonHookKey, input?: any, output?: any) => {\n if (hOP.call(gorgonCore.hooks, key)) {\n for (var i in gorgonCore.hooks[key]) {\n if (typeof gorgonCore.hooks[key][i] === 'function') {\n try {\n gorgonCore.hooks[key][i](key, input, output);\n } catch (e) {\n console.error('[Gorgon] Hook error for hook: ' + key, e);\n }\n }\n }\n }\n },\n\n // Allows for settings on the gorgon cache\n settings: (newSettings?: GorgonSettingsInput) => {\n if (!newSettings) {\n return settings;\n }\n\n Object.assign(settings, newSettings); // only overwrite ones sent in; keep others at existing\n\n gorgonCore._callHooks('settings', newSettings, settings);\n\n return settings;\n },\n\n // add a hook or array of hooks\n addHook: (key: GorgonHookKey, hook: GorgonHook | Array<GorgonHook>) => {\n if (!hOP.call(gorgonCore.hooks, key)) {\n gorgonCore.hooks[key] = [];\n }\n\n if (Array.isArray(hook)) {\n gorgonCore.hooks[key] = gorgonCore.hooks[key].concat(hook);\n } else {\n gorgonCore.hooks[key].push(hook);\n }\n },\n\n // Add a provider\n addProvider: (name: string, provider: IGorgonCacheProvider) => {\n provider.init(); // Trigger for provider to clear any old cache items or any other cleanup\n gorgonCore.providers[name] = provider;\n\n gorgonCore._callHooks('addProvider', { name, provider });\n },\n\n // Place an item into the cache\n put: async <R>(key: string, value: R, policy?: GorgonPolicyInput): Promise<R> => {\n policy = policyMaker(policy);\n var prov = gorgonCore.providers[policy.provider];\n\n gorgonCore._callHooks('put', { key, value, policy }, value);\n\n return prov.set(key, value, policyMaker(policy));\n },\n\n // Clear one or all items in the cache\n clear: async (key: string, provider?: string, hookIdentifier?: string) => {\n var prov = gorgonCore.providers[provider || settings.defaultProvider];\n\n gorgonCore._callHooks('clear', { key, provider, identifier: hookIdentifier });\n\n // Clear a wildcard search of objects\n if (key && key.indexOf('*') > -1) {\n return prov.keys().then(function (keys) {\n var cacheMatchKeys = keys.filter(function (str) {\n return new RegExp('^' + key.split('*').join('.*') + '$').test(str);\n });\n\n var clearPromises = cacheMatchKeys.map(prov.clear);\n // Incase someone somehow used a wildcard in their cached key (don't do this)\n\n clearPromises.push(prov.clear(key));\n return Promise.all(clearPromises);\n });\n }\n\n // Not a special clear\n return prov.clear(key);\n },\n\n // Clear all keys/values in the cache\n clearAll: async (provider?: string, hookIdentifier?: string) => {\n var prov = gorgonCore.providers[provider || settings.defaultProvider];\n\n gorgonCore._callHooks('clearAll', { provider, identifier: hookIdentifier });\n\n return prov.clear();\n },\n\n // Allows you to instantly overwite a cache object\n overwrite: async (key: string, asyncFunc: asyncFunction, policy?: GorgonPolicyInput) => {\n try {\n const resolvedData = await asyncFunc();\n\n const val = await gorgonCore.put(key, resolvedData, policyMaker(policy));\n\n gorgonCore._callHooks('overwrite', { key, asyncFunc, policy }, val);\n\n return val;\n } catch (e) {\n throw e;\n }\n },\n\n // Allows you to get from the cache or pull from the promise\n get: async <R>(key: string, asyncFunc: () => R, policy?: GorgonPolicyInput): Promise<R> => {\n policy = policyMaker(policy);\n const prov = gorgonCore.providers[policy.provider];\n\n const currentVal = await prov.get(key); // Most providers will only lookup by key and return false on not found\n\n // If we have a current value sent it out; cache hit!\n if (currentVal !== undefined) {\n if (settings.debug) {\n console.info('[Gorgon] Cache hit for key: ' + key, currentVal);\n }\n\n gorgonCore._callHooks('get', { key, asyncFunc, policy, cacheHit: true, queued: false }, currentVal);\n\n return currentVal;\n }\n\n // Are we currently already running this cache item?\n if (hOP.call(currentTasks, key) && Array.isArray(currentTasks[key]) && currentTasks[key].length > 0) {\n // Add to the current task, but ignore if any items is below retry anyway threshold\n var oldQueue = false;\n\n for (var i in currentTasks[key]) {\n if (currentTasks[key][i].queued < new Date(Date.now() - settings.retry)) {\n oldQueue = true;\n }\n }\n\n // Add to the current queue\n if (!oldQueue) {\n if (settings.debug) {\n console.info('[Gorgon] Cache miss, in progress, adding to current queue for key: ' + key);\n }\n\n var concurent = new Promise(function (resolve: (value: R) => void, reject) {\n currentTasks[key].push({\n res: resolve,\n rej: reject,\n queued: new Date(),\n });\n });\n\n gorgonCore._callHooks('get', { key, asyncFunc, policy, cacheHit: false, queued: true }, concurent);\n\n return concurent;\n }\n } else {\n // Add current task to list, this is the first one so the primary\n currentTasks[key] = [{ queued: new Date() }];\n }\n\n try {\n if (settings.debug) {\n console.info('[Gorgon] Cache miss, resolving item for: ' + key);\n }\n\n // This is the primary item\n const resolver = asyncFunc();\n\n gorgonCore._callHooks('get', { key, asyncFunc, policy, cacheHit: false, queued: false }, resolver);\n\n // wait for it to finish then push it out\n const resolvedData = await resolver;\n\n if (settings.debug) {\n console.info('[Gorgon] Cache resolved, resolved item for: ' + key, resolvedData);\n }\n\n const val = await gorgonCore.put(key, resolvedData, policyMaker(policy));\n\n if (hOP.call(currentTasks, key)) {\n for (var i in currentTasks[key]) {\n if (currentTasks[key][i].res) {\n if (settings.debug) {\n console.info('[Gorgon] Cache queue resolved for: ' + key, resolvedData);\n }\n\n currentTasks[key][i].res(val);\n }\n }\n\n currentTasks[key] = [];\n delete currentTasks[key];\n }\n\n return val;\n } catch (e) {\n if (hOP.call(currentTasks, key)) {\n for (var i in currentTasks[key]) {\n if (currentTasks[key][i].rej) {\n currentTasks[key][i].rej(e);\n }\n }\n\n gorgonCore._callHooks('valueError', { key, asyncFunc, policy, cacheHit: false, queued: false }, e);\n\n currentTasks[key] = [];\n delete currentTasks[key];\n }\n\n throw e;\n }\n },\n };\n\n gorgonCore.addProvider('memory', MemoryCache()); // Default provider, light weight and simple\n\n return gorgonCore;\n})();\n\nexport { MemoryCache };\nexport default Gorgon;\n"],"names":["MemoryCacheCreator","cache","hOP","memoryCache","key","value","policy","to","i","Gorgon","currentTasks","settings","policyMaker","incPolicy","outPolicy","d","gorgonCore","input","output","e","newSettings","hook","name","provider","prov","hookIdentifier","keys","cacheMatchKeys","str","clearPromises","asyncFunc","resolvedData","val","currentVal","oldQueue","concurent","resolve","reject","resolver","MemoryCache"],"mappings":"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"}
|
package/index.ts
CHANGED
|
@@ -154,10 +154,10 @@ const Gorgon = (() => {
|
|
|
154
154
|
},
|
|
155
155
|
|
|
156
156
|
// Clear one or all items in the cache
|
|
157
|
-
clear: async (key: string, provider?: string) => {
|
|
157
|
+
clear: async (key: string, provider?: string, hookIdentifier?: string) => {
|
|
158
158
|
var prov = gorgonCore.providers[provider || settings.defaultProvider];
|
|
159
159
|
|
|
160
|
-
gorgonCore._callHooks('clear', { key, provider });
|
|
160
|
+
gorgonCore._callHooks('clear', { key, provider, identifier: hookIdentifier });
|
|
161
161
|
|
|
162
162
|
// Clear a wildcard search of objects
|
|
163
163
|
if (key && key.indexOf('*') > -1) {
|
|
@@ -179,10 +179,10 @@ const Gorgon = (() => {
|
|
|
179
179
|
},
|
|
180
180
|
|
|
181
181
|
// Clear all keys/values in the cache
|
|
182
|
-
clearAll: async (provider?: string) => {
|
|
182
|
+
clearAll: async (provider?: string, hookIdentifier?: string) => {
|
|
183
183
|
var prov = gorgonCore.providers[provider || settings.defaultProvider];
|
|
184
184
|
|
|
185
|
-
gorgonCore._callHooks('clearAll', { provider });
|
|
185
|
+
gorgonCore._callHooks('clearAll', { provider, identifier: hookIdentifier });
|
|
186
186
|
|
|
187
187
|
return prov.clear();
|
|
188
188
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gorgonjs/gorgon",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.0",
|
|
4
4
|
"description": "A simple caching library for async functions",
|
|
5
5
|
"homepage": "https://gorgonjs.dev",
|
|
6
6
|
"main": "./dist/index.umd.js",
|
|
@@ -8,8 +8,14 @@
|
|
|
8
8
|
"types": "./dist/index.d.ts",
|
|
9
9
|
"exports": {
|
|
10
10
|
".": {
|
|
11
|
-
"import":
|
|
12
|
-
|
|
11
|
+
"import": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"default": "./dist/index.es.js"
|
|
14
|
+
},
|
|
15
|
+
"require": {
|
|
16
|
+
"types": "./dist/index.d.ts",
|
|
17
|
+
"default": "./dist/index.umd.js"
|
|
18
|
+
}
|
|
13
19
|
}
|
|
14
20
|
},
|
|
15
21
|
"scripts": {
|