@startinblox/core 0.17.21-beta.9 → 0.17.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. package/package.json +2 -2
  2. package/dist/_snowpack/env.js +0 -3
  3. package/dist/_snowpack/pkg/autolinker.js +0 -4281
  4. package/dist/_snowpack/pkg/autolinker.js.map +0 -1
  5. package/dist/_snowpack/pkg/autolinker.js.map.proxy.js +0 -1
  6. package/dist/_snowpack/pkg/common/_baseUnary-217dffb2.js +0 -377
  7. package/dist/_snowpack/pkg/common/_baseUnary-217dffb2.js.map +0 -1
  8. package/dist/_snowpack/pkg/common/_baseUnary-217dffb2.js.map.proxy.js +0 -1
  9. package/dist/_snowpack/pkg/common/_commonjsHelpers-8c19dec8.js +0 -22
  10. package/dist/_snowpack/pkg/common/_commonjsHelpers-8c19dec8.js.map +0 -1
  11. package/dist/_snowpack/pkg/common/_commonjsHelpers-8c19dec8.js.map.proxy.js +0 -1
  12. package/dist/_snowpack/pkg/common/decode-a4c334cf.js +0 -216
  13. package/dist/_snowpack/pkg/common/decode-a4c334cf.js.map +0 -1
  14. package/dist/_snowpack/pkg/common/decode-a4c334cf.js.map.proxy.js +0 -1
  15. package/dist/_snowpack/pkg/common/lit-html-babd44cd.js +0 -1119
  16. package/dist/_snowpack/pkg/common/lit-html-babd44cd.js.map +0 -1
  17. package/dist/_snowpack/pkg/common/lit-html-babd44cd.js.map.proxy.js +0 -1
  18. package/dist/_snowpack/pkg/delta-markdown-for-quill.js +0 -25677
  19. package/dist/_snowpack/pkg/delta-markdown-for-quill.js.map +0 -1
  20. package/dist/_snowpack/pkg/delta-markdown-for-quill.js.map.proxy.js +0 -1
  21. package/dist/_snowpack/pkg/dialog-polyfill.js +0 -859
  22. package/dist/_snowpack/pkg/dialog-polyfill.js.map +0 -1
  23. package/dist/_snowpack/pkg/dialog-polyfill.js.map.proxy.js +0 -1
  24. package/dist/_snowpack/pkg/fusejs.js +0 -1783
  25. package/dist/_snowpack/pkg/fusejs.js.map +0 -1
  26. package/dist/_snowpack/pkg/fusejs.js.map.proxy.js +0 -1
  27. package/dist/_snowpack/pkg/import-map.json +0 -23
  28. package/dist/_snowpack/pkg/jsonld-context-parser.js +0 -804
  29. package/dist/_snowpack/pkg/jsonld-context-parser.js.map +0 -1
  30. package/dist/_snowpack/pkg/jsonld-context-parser.js.map.proxy.js +0 -1
  31. package/dist/_snowpack/pkg/leaflet/dist/leaflet.css +0 -640
  32. package/dist/_snowpack/pkg/leaflet/dist/leaflet.css.proxy.js +0 -10
  33. package/dist/_snowpack/pkg/leaflet.markercluster/dist/MarkerCluster.Default.css +0 -60
  34. package/dist/_snowpack/pkg/leaflet.markercluster/dist/MarkerCluster.Default.css.proxy.js +0 -10
  35. package/dist/_snowpack/pkg/leaflet.markercluster/dist/MarkerCluster.css +0 -14
  36. package/dist/_snowpack/pkg/leaflet.markercluster/dist/MarkerCluster.css.proxy.js +0 -10
  37. package/dist/_snowpack/pkg/lit-html/directives/if-defined.js +0 -40
  38. package/dist/_snowpack/pkg/lit-html/directives/if-defined.js.map +0 -1
  39. package/dist/_snowpack/pkg/lit-html/directives/if-defined.js.map.proxy.js +0 -1
  40. package/dist/_snowpack/pkg/lit-html/directives/unsafe-html.js +0 -46
  41. package/dist/_snowpack/pkg/lit-html/directives/unsafe-html.js.map +0 -1
  42. package/dist/_snowpack/pkg/lit-html/directives/unsafe-html.js.map.proxy.js +0 -1
  43. package/dist/_snowpack/pkg/lit-html/directives/until.js +0 -88
  44. package/dist/_snowpack/pkg/lit-html/directives/until.js.map +0 -1
  45. package/dist/_snowpack/pkg/lit-html/directives/until.js.map.proxy.js +0 -1
  46. package/dist/_snowpack/pkg/lit-html.js +0 -92
  47. package/dist/_snowpack/pkg/lit-html.js.map +0 -1
  48. package/dist/_snowpack/pkg/lit-html.js.map.proxy.js +0 -1
  49. package/dist/_snowpack/pkg/markdown-it.js +0 -11860
  50. package/dist/_snowpack/pkg/markdown-it.js.map +0 -1
  51. package/dist/_snowpack/pkg/markdown-it.js.map.proxy.js +0 -1
  52. package/dist/_snowpack/pkg/quill/dist/quill.snow.css +0 -945
  53. package/dist/_snowpack/pkg/quill/dist/quill.snow.css.proxy.js +0 -10
  54. package/dist/_snowpack/pkg/quill-delta-to-markdown.js +0 -1029
  55. package/dist/_snowpack/pkg/quill-delta-to-markdown.js.map +0 -1
  56. package/dist/_snowpack/pkg/quill-delta-to-markdown.js.map.proxy.js +0 -1
  57. package/dist/_snowpack/pkg/quill.js +0 -13382
  58. package/dist/_snowpack/pkg/quill.js.map +0 -1
  59. package/dist/_snowpack/pkg/quill.js.map.proxy.js +0 -1
  60. package/dist/_snowpack/pkg/slim-select.js +0 -4
  61. package/dist/_snowpack/pkg/slim-select.js.map +0 -1
  62. package/dist/_snowpack/pkg/slim-select.js.map.proxy.js +0 -1
  63. package/dist/_snowpack/pkg/tui-calendar/dist/tui-calendar.css +0 -1164
  64. package/dist/_snowpack/pkg/tui-calendar/dist/tui-calendar.css.proxy.js +0 -10
  65. package/dist/_snowpack/pkg/tui-calendar.js +0 -42285
  66. package/dist/_snowpack/pkg/tui-calendar.js.map +0 -1
  67. package/dist/_snowpack/pkg/tui-calendar.js.map.proxy.js +0 -1
  68. package/dist/components/solid-ac-checker.js +0 -51
  69. package/dist/components/solid-ac-checker.js.map +0 -1
  70. package/dist/components/solid-calendar.js +0 -87
  71. package/dist/components/solid-calendar.js.map +0 -1
  72. package/dist/components/solid-delete.js +0 -111
  73. package/dist/components/solid-delete.js.map +0 -1
  74. package/dist/components/solid-display.js +0 -194
  75. package/dist/components/solid-display.js.map +0 -1
  76. package/dist/components/solid-form-search.js +0 -226
  77. package/dist/components/solid-form-search.js.map +0 -1
  78. package/dist/components/solid-form.js +0 -354
  79. package/dist/components/solid-form.js.map +0 -1
  80. package/dist/components/solid-lang.js +0 -46
  81. package/dist/components/solid-lang.js.map +0 -1
  82. package/dist/components/solid-map.js +0 -242
  83. package/dist/components/solid-map.js.map +0 -1
  84. package/dist/components/solid-table.js +0 -263
  85. package/dist/components/solid-table.js.map +0 -1
  86. package/dist/components/solid-widget.js +0 -94
  87. package/dist/components/solid-widget.js.map +0 -1
  88. package/dist/import.css +0 -4
  89. package/dist/index.js +0 -43
  90. package/dist/index.js.map +0 -1
  91. package/dist/libs/Component.js +0 -19
  92. package/dist/libs/Component.js.map +0 -1
  93. package/dist/libs/ComponentFactory.js +0 -196
  94. package/dist/libs/ComponentFactory.js.map +0 -1
  95. package/dist/libs/Compositor.js +0 -103
  96. package/dist/libs/Compositor.js.map +0 -1
  97. package/dist/libs/Sib.js +0 -58
  98. package/dist/libs/Sib.js.map +0 -1
  99. package/dist/libs/filter.js +0 -214
  100. package/dist/libs/filter.js.map +0 -1
  101. package/dist/libs/helpers.js +0 -219
  102. package/dist/libs/helpers.js.map +0 -1
  103. package/dist/libs/interfaces.js +0 -6
  104. package/dist/libs/interfaces.js.map +0 -1
  105. package/dist/libs/lit-helpers.js +0 -169
  106. package/dist/libs/lit-helpers.js.map +0 -1
  107. package/dist/libs/polyfills.js +0 -40
  108. package/dist/libs/polyfills.js.map +0 -1
  109. package/dist/libs/store/store.js +0 -863
  110. package/dist/libs/store/store.js.map +0 -1
  111. package/dist/locales/en.json +0 -10
  112. package/dist/locales/en.json.proxy.js +0 -2
  113. package/dist/locales/fr.json +0 -10
  114. package/dist/locales/fr.json.proxy.js +0 -2
  115. package/dist/mixins/attributeBinderMixin.js +0 -124
  116. package/dist/mixins/attributeBinderMixin.js.map +0 -1
  117. package/dist/mixins/contextMixin.js +0 -28
  118. package/dist/mixins/contextMixin.js.map +0 -1
  119. package/dist/mixins/counterMixin.js +0 -75
  120. package/dist/mixins/counterMixin.js.map +0 -1
  121. package/dist/mixins/federationMixin.js +0 -63
  122. package/dist/mixins/federationMixin.js.map +0 -1
  123. package/dist/mixins/filterMixin.js +0 -136
  124. package/dist/mixins/filterMixin.js.map +0 -1
  125. package/dist/mixins/grouperMixin.js +0 -80
  126. package/dist/mixins/grouperMixin.js.map +0 -1
  127. package/dist/mixins/highlighterMixin.js +0 -42
  128. package/dist/mixins/highlighterMixin.js.map +0 -1
  129. package/dist/mixins/interfaces.js +0 -8
  130. package/dist/mixins/interfaces.js.map +0 -1
  131. package/dist/mixins/listMixin.js +0 -136
  132. package/dist/mixins/listMixin.js.map +0 -1
  133. package/dist/mixins/nextMixin.js +0 -26
  134. package/dist/mixins/nextMixin.js.map +0 -1
  135. package/dist/mixins/paginateMixin.js +0 -110
  136. package/dist/mixins/paginateMixin.js.map +0 -1
  137. package/dist/mixins/requiredMixin.js +0 -34
  138. package/dist/mixins/requiredMixin.js.map +0 -1
  139. package/dist/mixins/sorterMixin.js +0 -149
  140. package/dist/mixins/sorterMixin.js.map +0 -1
  141. package/dist/mixins/storeMixin.js +0 -102
  142. package/dist/mixins/storeMixin.js.map +0 -1
  143. package/dist/mixins/translationMixin.js +0 -68
  144. package/dist/mixins/translationMixin.js.map +0 -1
  145. package/dist/mixins/validationMixin.js +0 -113
  146. package/dist/mixins/validationMixin.js.map +0 -1
  147. package/dist/mixins/widgetMixin.js +0 -447
  148. package/dist/mixins/widgetMixin.js.map +0 -1
  149. package/dist/new-widgets/attributeMixins/actionMixin.js +0 -14
  150. package/dist/new-widgets/attributeMixins/actionMixin.js.map +0 -1
  151. package/dist/new-widgets/attributeMixins/blankMixin.js +0 -10
  152. package/dist/new-widgets/attributeMixins/blankMixin.js.map +0 -1
  153. package/dist/new-widgets/attributeMixins/booleanMixin.js +0 -10
  154. package/dist/new-widgets/attributeMixins/booleanMixin.js.map +0 -1
  155. package/dist/new-widgets/attributeMixins/index.js +0 -20
  156. package/dist/new-widgets/attributeMixins/index.js.map +0 -1
  157. package/dist/new-widgets/attributeMixins/mailtoMixin.js +0 -10
  158. package/dist/new-widgets/attributeMixins/mailtoMixin.js.map +0 -1
  159. package/dist/new-widgets/attributeMixins/multipleMixin.js +0 -28
  160. package/dist/new-widgets/attributeMixins/multipleMixin.js.map +0 -1
  161. package/dist/new-widgets/attributeMixins/numberMixin.js +0 -10
  162. package/dist/new-widgets/attributeMixins/numberMixin.js.map +0 -1
  163. package/dist/new-widgets/attributeMixins/placeholderMixin.js +0 -19
  164. package/dist/new-widgets/attributeMixins/placeholderMixin.js.map +0 -1
  165. package/dist/new-widgets/attributeMixins/telMixin.js +0 -10
  166. package/dist/new-widgets/attributeMixins/telMixin.js.map +0 -1
  167. package/dist/new-widgets/baseWidgetMixin.js +0 -122
  168. package/dist/new-widgets/baseWidgetMixin.js.map +0 -1
  169. package/dist/new-widgets/callbackMixins/autocompletionMixin.js +0 -104
  170. package/dist/new-widgets/callbackMixins/autocompletionMixin.js.map +0 -1
  171. package/dist/new-widgets/callbackMixins/index.js +0 -8
  172. package/dist/new-widgets/callbackMixins/index.js.map +0 -1
  173. package/dist/new-widgets/callbackMixins/richtextMixin.js +0 -42
  174. package/dist/new-widgets/callbackMixins/richtextMixin.js.map +0 -1
  175. package/dist/new-widgets/callbackMixins/slimselect.css +0 -2
  176. package/dist/new-widgets/callbackMixins/slimselect.css.proxy.js +0 -10
  177. package/dist/new-widgets/new-widget-factory.js +0 -96
  178. package/dist/new-widgets/new-widget-factory.js.map +0 -1
  179. package/dist/new-widgets/templateAdditionMixins/addableMixin.js +0 -41
  180. package/dist/new-widgets/templateAdditionMixins/addableMixin.js.map +0 -1
  181. package/dist/new-widgets/templateAdditionMixins/index.js +0 -14
  182. package/dist/new-widgets/templateAdditionMixins/index.js.map +0 -1
  183. package/dist/new-widgets/templateAdditionMixins/labelLastMixin.js +0 -29
  184. package/dist/new-widgets/templateAdditionMixins/labelLastMixin.js.map +0 -1
  185. package/dist/new-widgets/templateAdditionMixins/labelMixin.js +0 -31
  186. package/dist/new-widgets/templateAdditionMixins/labelMixin.js.map +0 -1
  187. package/dist/new-widgets/templates/defaultTemplatesDirectory.js +0 -36
  188. package/dist/new-widgets/templates/defaultTemplatesDirectory.js.map +0 -1
  189. package/dist/new-widgets/templates/displayTemplatesDirectory.js +0 -90
  190. package/dist/new-widgets/templates/displayTemplatesDirectory.js.map +0 -1
  191. package/dist/new-widgets/templates/formTemplatesDirectory.js +0 -397
  192. package/dist/new-widgets/templates/formTemplatesDirectory.js.map +0 -1
  193. package/dist/new-widgets/templates/groupTemplatesDirectory.js +0 -21
  194. package/dist/new-widgets/templates/groupTemplatesDirectory.js.map +0 -1
  195. package/dist/new-widgets/templates/index.js +0 -7
  196. package/dist/new-widgets/templates/index.js.map +0 -1
  197. package/dist/new-widgets/templates/setTemplatesDirectory.js +0 -49
  198. package/dist/new-widgets/templates/setTemplatesDirectory.js.map +0 -1
  199. package/dist/new-widgets/templatesDependencies/altMixin.js +0 -13
  200. package/dist/new-widgets/templatesDependencies/altMixin.js.map +0 -1
  201. package/dist/new-widgets/templatesDependencies/editableMixin.js +0 -77
  202. package/dist/new-widgets/templatesDependencies/editableMixin.js.map +0 -1
  203. package/dist/new-widgets/templatesDependencies/filterRangeFormMixin.js +0 -38
  204. package/dist/new-widgets/templatesDependencies/filterRangeFormMixin.js.map +0 -1
  205. package/dist/new-widgets/templatesDependencies/formCheckboxMixin.js +0 -14
  206. package/dist/new-widgets/templatesDependencies/formCheckboxMixin.js.map +0 -1
  207. package/dist/new-widgets/templatesDependencies/formCheckboxesMixin.js +0 -51
  208. package/dist/new-widgets/templatesDependencies/formCheckboxesMixin.js.map +0 -1
  209. package/dist/new-widgets/templatesDependencies/formDropdownMixin.js +0 -66
  210. package/dist/new-widgets/templatesDependencies/formDropdownMixin.js.map +0 -1
  211. package/dist/new-widgets/templatesDependencies/formFileMixin.js +0 -81
  212. package/dist/new-widgets/templatesDependencies/formFileMixin.js.map +0 -1
  213. package/dist/new-widgets/templatesDependencies/formLengthMixin.js +0 -19
  214. package/dist/new-widgets/templatesDependencies/formLengthMixin.js.map +0 -1
  215. package/dist/new-widgets/templatesDependencies/formMinMaxMixin.js +0 -19
  216. package/dist/new-widgets/templatesDependencies/formMinMaxMixin.js.map +0 -1
  217. package/dist/new-widgets/templatesDependencies/formMixin.js +0 -66
  218. package/dist/new-widgets/templatesDependencies/formMixin.js.map +0 -1
  219. package/dist/new-widgets/templatesDependencies/formNumberMixin.js +0 -14
  220. package/dist/new-widgets/templatesDependencies/formNumberMixin.js.map +0 -1
  221. package/dist/new-widgets/templatesDependencies/formRadioMixin.js +0 -16
  222. package/dist/new-widgets/templatesDependencies/formRadioMixin.js.map +0 -1
  223. package/dist/new-widgets/templatesDependencies/formStepMixin.js +0 -13
  224. package/dist/new-widgets/templatesDependencies/formStepMixin.js.map +0 -1
  225. package/dist/new-widgets/templatesDependencies/linkTextMixin.js +0 -14
  226. package/dist/new-widgets/templatesDependencies/linkTextMixin.js.map +0 -1
  227. package/dist/new-widgets/templatesDependencies/multipleFormMixin.js +0 -125
  228. package/dist/new-widgets/templatesDependencies/multipleFormMixin.js.map +0 -1
  229. package/dist/new-widgets/templatesDependencies/multipleselectFormMixin.js +0 -74
  230. package/dist/new-widgets/templatesDependencies/multipleselectFormMixin.js.map +0 -1
  231. package/dist/new-widgets/templatesDependencies/patternMixin.js +0 -19
  232. package/dist/new-widgets/templatesDependencies/patternMixin.js.map +0 -1
  233. package/dist/new-widgets/templatesDependencies/rangeMixin.js +0 -110
  234. package/dist/new-widgets/templatesDependencies/rangeMixin.js.map +0 -1
  235. package/dist/new-widgets/templatesDependencies/setMixin.js +0 -12
  236. package/dist/new-widgets/templatesDependencies/setMixin.js.map +0 -1
  237. package/dist/new-widgets/templatesDependencies/valueRichtextMixin.js +0 -12
  238. package/dist/new-widgets/templatesDependencies/valueRichtextMixin.js.map +0 -1
  239. package/dist/new-widgets/valueTransformationMixins/autolinkMixin.js +0 -18
  240. package/dist/new-widgets/valueTransformationMixins/autolinkMixin.js.map +0 -1
  241. package/dist/new-widgets/valueTransformationMixins/dateMixin.js +0 -35
  242. package/dist/new-widgets/valueTransformationMixins/dateMixin.js.map +0 -1
  243. package/dist/new-widgets/valueTransformationMixins/dateTimeMixin.js +0 -16
  244. package/dist/new-widgets/valueTransformationMixins/dateTimeMixin.js.map +0 -1
  245. package/dist/new-widgets/valueTransformationMixins/index.js +0 -16
  246. package/dist/new-widgets/valueTransformationMixins/index.js.map +0 -1
  247. package/dist/new-widgets/valueTransformationMixins/markdownMixin.js +0 -25
  248. package/dist/new-widgets/valueTransformationMixins/markdownMixin.js.map +0 -1
  249. package/dist/new-widgets/valueTransformationMixins/multilineMixin.js +0 -17
  250. package/dist/new-widgets/valueTransformationMixins/multilineMixin.js.map +0 -1
  251. package/dist/new-widgets/valueTransformationMixins/oembedMixin.js +0 -27
  252. package/dist/new-widgets/valueTransformationMixins/oembedMixin.js.map +0 -1
  253. package/dist/solid-template-element.js +0 -164
  254. package/dist/solid-template-element.js.map +0 -1
  255. package/dist/style/default-theme.css +0 -24
  256. package/dist/style/default-theme.css.proxy.js +0 -10
  257. package/dist/widgets/baseWidget.js +0 -332
  258. package/dist/widgets/baseWidget.js.map +0 -1
  259. package/dist/widgets/widget-factory.js +0 -24
  260. package/dist/widgets/widget-factory.js.map +0 -1
@@ -1,863 +0,0 @@
1
- let _Symbol$toPrimitive;
2
-
3
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
-
5
- import JSONLDContextParser from '../../_snowpack/pkg/jsonld-context-parser.js'; //@ts-ignore
6
-
7
- import PubSub from 'https://cdn.skypack.dev/pubsub-js';
8
- const ContextParser = JSONLDContextParser.ContextParser;
9
- const myParser = new ContextParser();
10
- export const base_context = {
11
- '@vocab': 'http://happy-dev.fr/owl/#',
12
- rdf: 'http://www.w3.org/1999/02/22-rdf-syntax-ns#',
13
- rdfs: 'http://www.w3.org/2000/01/rdf-schema#',
14
- ldp: 'http://www.w3.org/ns/ldp#',
15
- foaf: 'http://xmlns.com/foaf/0.1/',
16
- name: 'rdfs:label',
17
- acl: 'http://www.w3.org/ns/auth/acl#',
18
- permissions: 'acl:accessControl',
19
- mode: 'acl:mode',
20
- geo: "http://www.w3.org/2003/01/geo/wgs84_pos#",
21
- lat: "geo:lat",
22
- lng: "geo:long"
23
- };
24
-
25
- class Store {
26
- // index of all the containers per resource
27
- // index of all the containers per resource
28
- constructor(storeOptions) {
29
- this.storeOptions = storeOptions;
30
-
31
- _defineProperty(this, "cache", void 0);
32
-
33
- _defineProperty(this, "subscriptionIndex", void 0);
34
-
35
- _defineProperty(this, "subscriptionVirtualContainersIndex", void 0);
36
-
37
- _defineProperty(this, "loadingList", void 0);
38
-
39
- _defineProperty(this, "headers", void 0);
40
-
41
- _defineProperty(this, "fetch", void 0);
42
-
43
- _defineProperty(this, "session", void 0);
44
-
45
- _defineProperty(this, "resolveResource", function (id, resolve) {
46
- const handler = function (event) {
47
- if (event.detail.id === id) {
48
- resolve(event.detail.resource); // TODO : callback
49
-
50
- document.removeEventListener('resourceReady', handler);
51
- }
52
- };
53
-
54
- return handler;
55
- });
56
-
57
- this.cache = new Map();
58
- this.subscriptionIndex = new Map();
59
- this.subscriptionVirtualContainersIndex = new Map();
60
- this.loadingList = new Set();
61
- this.headers = {
62
- 'Content-Type': 'application/ld+json',
63
- 'Cache-Control': 'must-revalidate'
64
- };
65
- this.fetch = this.storeOptions.fetchMethod;
66
- this.session = this.storeOptions.session;
67
- }
68
- /**
69
- * Fetch data and cache it
70
- * @param id - uri of the resource to fetch
71
- * @param context - context used to expand id and predicates when accessing the resource
72
- * @param idParent - uri of the parent caller used to expand uri for local files
73
- * @param localData - data to put in cache
74
- * @param forceFetch - force the fetch of data
75
- *
76
- * @returns The fetched resource
77
- *
78
- * @async
79
- */
80
-
81
-
82
- async getData(id, context = {}, idParent = "", localData, forceFetch = false) {
83
- if (localData == null && this.cache.has(id) && !this.loadingList.has(id)) {
84
- const resource = this.get(id);
85
- if (resource && resource.isFullResource() && !forceFetch) return resource; // if resource is not complete, re-fetch it
86
- }
87
-
88
- return new Promise(async resolve => {
89
- document.addEventListener('resourceReady', this.resolveResource(id, resolve));
90
- if (this.loadingList.has(id)) return;
91
- this.loadingList.add(id); // Generate proxy
92
-
93
- const clientContext = await myParser.parse(context);
94
- let resource = null;
95
-
96
- if (this._isLocalId(id)) {
97
- if (localData == null) localData = {};
98
- localData["@id"] = id;
99
- resource = localData;
100
- } else try {
101
- resource = localData || (await this.fetchData(id, clientContext, idParent));
102
- } catch (error) {
103
- console.error(error);
104
- }
105
-
106
- if (!resource) {
107
- this.loadingList.delete(id);
108
- resolve(null);
109
- return;
110
- }
111
-
112
- const serverContext = await myParser.parse([resource['@context'] || {}]);
113
- const resourceProxy = new CustomGetter(id, resource, clientContext, serverContext, idParent).getProxy(); // Cache proxy
114
-
115
- await this.cacheGraph(id, resourceProxy, clientContext, serverContext, idParent || id);
116
- this.loadingList.delete(id);
117
- document.dispatchEvent(new CustomEvent('resourceReady', {
118
- detail: {
119
- id: id,
120
- resource: this.get(id)
121
- }
122
- }));
123
- });
124
- }
125
-
126
- async fetchAuthn(iri, options) {
127
- let authenticated = false;
128
- if (this.session) authenticated = await this.session;
129
-
130
- if (this.fetch && authenticated) {
131
- // authenticated
132
- return this.fetch.then(fn => fn(iri, options));
133
- } else {
134
- // anonymous
135
- if (options.headers) options.headers = this._convertHeaders(options.headers);
136
- return fetch(iri, options).then(function (response) {
137
- if (options.method === "PURGE" && !response.ok && response.status === 404) {
138
- const err = new Error("PURGE call is returning 404");
139
- throw err;
140
- }
141
-
142
- return response;
143
- });
144
- }
145
- }
146
-
147
- async fetchData(id, context = {}, idParent = "") {
148
- const iri = this._getAbsoluteIri(id, context, idParent);
149
-
150
- const headers = { ...this.headers,
151
- 'accept-language': this._getLanguage()
152
- };
153
- console.log("Request Headers:", headers);
154
- return this.fetchAuthn(iri, {
155
- method: 'GET',
156
- headers: headers,
157
- credentials: 'include'
158
- }).then(response => {
159
- if (!response.ok) return;
160
- return response.json();
161
- });
162
- }
163
-
164
- async cacheGraph(key, resource, clientContext, parentContext, parentId) {
165
- if (resource.properties) {
166
- // if proxy, cache it
167
- if (this.get(key)) {
168
- // if already cached, merge data
169
- this.cache.get(key).merge(resource);
170
- } else {
171
- // else, put in cache
172
- this.cache.set(key, resource);
173
- }
174
- } // Cache nested resources
175
-
176
-
177
- if (resource.getSubObjects) {
178
- for (let res of resource.getSubObjects()) {
179
- let newParentContext = parentContext; // If additional context in resource, use it to expand properties
180
-
181
- if (res['@context']) newParentContext = await myParser.parse({ ...parentContext,
182
- ...res['@context']
183
- });
184
- const resourceProxy = new CustomGetter(res['@id'], res, clientContext, newParentContext, parentId).getProxy(); // this.subscribeResourceTo(resource['@id'], res['@id']); // removed to prevent useless updates
185
-
186
- await this.cacheGraph(res['@id'], resourceProxy, clientContext, parentContext, parentId);
187
- }
188
- } // Cache children of container
189
-
190
-
191
- if (resource['@type'] == "ldp:Container" && resource.getChildren) {
192
- const cacheChildrenPromises = [];
193
-
194
- for (let res of resource.getChildren()) {
195
- this.subscribeResourceTo(resource['@id'], res['@id']);
196
- cacheChildrenPromises.push(this.cacheGraph(res['@id'], res, clientContext, parentContext, parentId));
197
- }
198
-
199
- await Promise.all(cacheChildrenPromises);
200
- return;
201
- } // Create proxy, (fetch data) and cache resource
202
-
203
-
204
- if (resource['@id'] && !resource.properties) {
205
- if (resource['@id'].match(/^b\d+$/)) return; // not anonymous node
206
- // Fetch data if
207
-
208
- if (resource['@type'] === "sib:federatedContainer" && resource['@cache'] !== 'false') {
209
- // if object is federated container
210
- await this.getData(resource['@id'], clientContext, parentId); // then init graph
211
-
212
- return;
213
- }
214
-
215
- const resourceProxy = new CustomGetter(resource['@id'], resource, clientContext, parentContext, parentId).getProxy();
216
- await this.cacheGraph(key, resourceProxy, clientContext, parentContext, parentId);
217
- }
218
- }
219
- /**
220
- * Update fetch
221
- * @param method - 'POST', 'PATCH', 'PUT', '_LOCAL'
222
- * @param resource - resource to send
223
- * @param id - uri to update
224
- * @returns - object
225
- */
226
-
227
-
228
- async _fetch(method, resource, id) {
229
- if (method !== '_LOCAL') return this.fetchAuthn(id, {
230
- method: method,
231
- headers: this.headers,
232
- body: JSON.stringify(resource),
233
- credentials: 'include'
234
- });
235
- const resourceProxy = store.get(id);
236
- const clientContext = resourceProxy ? resourceProxy.clientContext : resource['@context'];
237
- this.clearCache(id);
238
- await this.getData(id, clientContext, '', resource);
239
- return {
240
- ok: true
241
- };
242
- }
243
-
244
- async _updateResource(method, resource, id) {
245
- if (!['POST', 'PUT', 'PATCH', '_LOCAL'].includes(method)) throw new Error('Error: method not allowed');
246
- const context = await myParser.parse([resource['@context'] || {}]); // parse context before expandTerm
247
-
248
- const expandedId = this._getExpandedId(id, context);
249
-
250
- return this._fetch(method, resource, id).then(async response => {
251
- if (response.ok) {
252
- var _response$headers;
253
-
254
- if (method !== '_LOCAL') {
255
- await this.purge(id);
256
- this.clearCache(expandedId);
257
- } // clear cache
258
-
259
-
260
- this.getData(expandedId, resource['@context']).then(async () => {
261
- // re-fetch data
262
- const nestedResources = await this.getNestedResources(resource, id);
263
- const resourcesToRefresh = this.subscriptionVirtualContainersIndex.get(expandedId) || [];
264
- const resourcesToNotify = this.subscriptionIndex.get(expandedId) || [];
265
- return this.refreshResources([...nestedResources, ...resourcesToRefresh]) // refresh related resources
266
- .then(resourceIds => this.notifyResources([expandedId, ...resourceIds, ...resourcesToNotify])); // notify components
267
- });
268
- return ((_response$headers = response.headers) === null || _response$headers === void 0 ? void 0 : _response$headers.get('Location')) || null;
269
- } else {
270
- throw response;
271
- }
272
- });
273
- }
274
- /**
275
- * Clear cache and refetch data for a list of ids
276
- * @param resourceIds -
277
- * @returns - all the resource ids
278
- */
279
-
280
-
281
- async refreshResources(resourceIds) {
282
- resourceIds = [...new Set(resourceIds.filter(id => this.cache.has(id)))]; // remove duplicates and not cached resources
283
-
284
- const resourceWithContexts = resourceIds.map(resourceId => {
285
- var _store$get;
286
-
287
- return {
288
- "id": resourceId,
289
- "context": (_store$get = store.get(resourceId)) === null || _store$get === void 0 ? void 0 : _store$get.clientContext
290
- };
291
- });
292
-
293
- for (const resource of resourceWithContexts) {
294
- if (!this._isLocalId(resource.id)) this.clearCache(resource.id);
295
- }
296
-
297
- await Promise.all(resourceWithContexts.map(({
298
- id,
299
- context
300
- }) => this.getData(id, context || base_context)));
301
- return resourceIds;
302
- }
303
- /**
304
- * Notifies all components for a list of ids
305
- * @param resourceIds -
306
- */
307
-
308
-
309
- async notifyResources(resourceIds) {
310
- resourceIds = [...new Set(resourceIds)]; // remove duplicates
311
-
312
- for (const id of resourceIds) PubSub.publish(id);
313
- }
314
- /**
315
- * Return id of nested properties of a resource
316
- * @param resource - object
317
- * @param id - string
318
- */
319
-
320
-
321
- async getNestedResources(resource, id) {
322
- const cachedResource = store.get(id);
323
- if (!cachedResource || cachedResource.isContainer()) return [];
324
- let nestedProperties = [];
325
- const excludeKeys = ['@context'];
326
-
327
- for (let p of Object.keys(resource)) {
328
- if (resource[p] && typeof resource[p] === 'object' && !excludeKeys.includes(p) && resource[p]['@id']) {
329
- nestedProperties.push(resource[p]['@id']);
330
- }
331
- }
332
-
333
- return nestedProperties;
334
- }
335
- /**
336
- * Returns the resource with id from the cache
337
- * @param id - id of the resource to retrieve
338
- *
339
- * @returns Resource (Proxy) if in the cache, null otherwise
340
- */
341
-
342
-
343
- get(id) {
344
- return this.cache.get(id) || null;
345
- }
346
- /**
347
- * Removes a resource from the cache
348
- * @param id - id of the resource to remove from the cache
349
- */
350
-
351
-
352
- clearCache(id) {
353
- if (this.cache.has(id)) {
354
- // For federation, clear each source
355
- const resource = this.cache.get(id);
356
-
357
- if (resource['@type'] === 'ldp:Container') {
358
- resource['ldp:contains'].forEach(child => {
359
- if (child && child['@type'] === 'ldp:Container') this.cache.delete(child['@id']);
360
- });
361
- }
362
-
363
- this.cache.delete(id);
364
- }
365
- }
366
- /**
367
- * Send data to create a local resource in a container
368
- * @param resource - resource to create
369
- * @param id - uri of the container to add resource. should start with ``
370
- *
371
- * @returns id of the posted resource
372
- */
373
-
374
-
375
- async setLocalData(resource, id) {
376
- return this._updateResource('_LOCAL', resource, id);
377
- }
378
- /**
379
- * Send a POST request to create a resource in a container
380
- * @param resource - resource to create
381
- * @param id - uri of the container to add resource
382
- *
383
- * @returns id of the posted resource
384
- */
385
-
386
-
387
- async post(resource, id) {
388
- return this._updateResource('POST', resource, id);
389
- }
390
- /**
391
- * Send a PUT request to edit a resource
392
- * @param resource - resource data to send
393
- * @param id - uri of the resource to edit
394
- *
395
- * @returns id of the edited resource
396
- */
397
-
398
-
399
- async put(resource, id) {
400
- return this._updateResource('PUT', resource, id);
401
- }
402
- /**
403
- * Send a PATCH request to edit a resource
404
- * @param resource - resource data to send
405
- * @param id - uri of the resource to patch
406
- *
407
- * @returns id of the edited resource
408
- */
409
-
410
-
411
- async patch(resource, id) {
412
- return this._updateResource('PATCH', resource, id);
413
- }
414
- /**
415
- * Send a PURGE request to remove a resource from REDIS AD cache
416
- * @param id - uri of the resource to patch
417
- *
418
- * @returns id of the edited resource
419
- */
420
-
421
-
422
- async purge(id) {
423
- console.log('Purging resource ' + id);
424
- await this.fetchAuthn(id, {
425
- method: "PURGE",
426
- headers: this.headers
427
- }).catch(function (error) {
428
- console.warn('No purge method allowed: ' + error);
429
- });
430
-
431
- try {
432
- const fullURL = new URL(id);
433
- var pathArray = fullURL.pathname.split('/');
434
- var containerUrl = fullURL.origin + '/' + pathArray[1] + '/';
435
- const headers = { ...this.headers,
436
- 'X-Cache-Purge-Match': 'startswith'
437
- };
438
- await this.fetchAuthn(containerUrl, {
439
- method: "PURGE",
440
- headers: headers
441
- }).catch(function (error) {
442
- console.warn('No purge method allowed: ' + error);
443
- });
444
- } catch (error) {
445
- console.warn('The resource ID is not a complete URL: ' + error);
446
- return;
447
- }
448
- }
449
- /**
450
- * Send a DELETE request to delete a resource
451
- * @param id - uri of the resource to delete
452
- * @param context - can be used to expand id
453
- *
454
- * @returns id of the deleted resource
455
- */
456
-
457
-
458
- async delete(id, context = {}) {
459
- const expandedId = this._getExpandedId(id, context);
460
-
461
- const deleted = await this.fetchAuthn(expandedId, {
462
- method: 'DELETE',
463
- headers: this.headers,
464
- credentials: 'include'
465
- });
466
- await this.purge(id);
467
- const resourcesToNotify = this.subscriptionIndex.get(expandedId) || [];
468
- const resourcesToRefresh = this.subscriptionVirtualContainersIndex.get(expandedId) || [];
469
- this.refreshResources([...resourcesToNotify, ...resourcesToRefresh]).then(resourceIds => this.notifyResources(resourceIds));
470
- return deleted;
471
- }
472
- /**
473
- * Convert headers object to Headers
474
- * @param headersObject - object
475
- * @returns {Headers}
476
- */
477
-
478
-
479
- _convertHeaders(headersObject) {
480
- const headers = new Headers();
481
-
482
- for (const [key, value] of Object.entries(headersObject)) {
483
- headers.set(key, value);
484
- }
485
-
486
- return headers;
487
- }
488
-
489
- _getExpandedId(id, context) {
490
- return context && Object.keys(context) ? ContextParser.expandTerm(id, context) : id;
491
- }
492
-
493
- _isLocalId(id) {
494
- return id.startsWith('store://local.');
495
- }
496
- /**
497
- * Make a resource listen changes of another one
498
- * @param resourceId - id of the resource which needs to be updated
499
- * @param nestedResourceId - id of the resource which will change
500
- */
501
-
502
-
503
- subscribeResourceTo(resourceId, nestedResourceId) {
504
- const existingSubscriptions = this.subscriptionIndex.get(nestedResourceId) || [];
505
- this.subscriptionIndex.set(nestedResourceId, [...new Set([...existingSubscriptions, resourceId])]);
506
- }
507
- /**
508
- * Make a virtual container listen for changes of a resource
509
- * @param virtualContainerId - id of the container which needs to be updated
510
- * @param nestedResourceId - id of the resource which will change
511
- */
512
-
513
-
514
- subscribeVirtualContainerTo(virtualContainerId, nestedResourceId) {
515
- const existingSubscriptions = this.subscriptionVirtualContainersIndex.get(nestedResourceId) || [];
516
- this.subscriptionVirtualContainersIndex.set(nestedResourceId, [...new Set([...existingSubscriptions, virtualContainerId])]);
517
- }
518
- /**
519
- * Return absolute IRI of the resource
520
- * @param id
521
- * @param context
522
- * @param parentId
523
- */
524
-
525
-
526
- _getAbsoluteIri(id, context, parentId) {
527
- let iri = ContextParser.expandTerm(id, context); // expand if reduced ids
528
-
529
- if (parentId) {
530
- // and get full URL from parent caller for local files
531
- let parentIri = new URL(parentId, document.location.href).href;
532
- iri = new URL(iri, parentIri).href;
533
- } else {
534
- iri = new URL(iri, document.location.href).href;
535
- }
536
-
537
- return iri;
538
- }
539
- /**
540
- * Check if object is a full resource
541
- * @param resource
542
- */
543
-
544
-
545
- _resourceIsComplete(resource) {
546
- return !!(Object.keys(resource).filter(p => !p.startsWith('@')).length > 0 && resource['@id']);
547
- }
548
- /**
549
- * Return language of the users
550
- */
551
-
552
-
553
- _getLanguage() {
554
- return localStorage.getItem('language') || window.navigator.language.slice(0, 2);
555
- }
556
- /**
557
- * Save the preferred language of the user
558
- * @param selectedLanguageCode
559
- */
560
-
561
-
562
- selectLanguage(selectedLanguageCode) {
563
- localStorage.setItem('language', selectedLanguageCode);
564
- }
565
-
566
- }
567
-
568
- let store;
569
-
570
- if (window.sibStore) {
571
- store = window.sibStore;
572
- } else {
573
- const sibAuth = document.querySelector('sib-auth');
574
- const storeOptions = {};
575
-
576
- if (sibAuth) {
577
- const sibAuthDefined = customElements.whenDefined(sibAuth.localName);
578
- storeOptions.session = sibAuthDefined.then(() => sibAuth.session);
579
- storeOptions.fetchMethod = sibAuthDefined.then(() => sibAuth.getFetch());
580
- }
581
-
582
- store = new Store(storeOptions);
583
- window.sibStore = store;
584
- }
585
-
586
- export { store };
587
- _Symbol$toPrimitive = Symbol.toPrimitive;
588
-
589
- class CustomGetter {
590
- // content of the requested resource
591
- // context given by the app
592
- // context given by the server
593
- // id of the parent resource, used to get the absolute url of the current resource
594
- constructor(resourceId, resource, clientContext, serverContext = {}, parentId = "") {
595
- _defineProperty(this, "resource", void 0);
596
-
597
- _defineProperty(this, "resourceId", void 0);
598
-
599
- _defineProperty(this, "clientContext", void 0);
600
-
601
- _defineProperty(this, "serverContext", void 0);
602
-
603
- _defineProperty(this, "parentId", void 0);
604
-
605
- this.clientContext = clientContext;
606
- this.serverContext = serverContext;
607
- this.parentId = parentId;
608
- this.resource = this.expandProperties({ ...resource
609
- }, serverContext);
610
- this.resourceId = resourceId;
611
- }
612
- /**
613
- * Expand all predicates of a resource with a given context
614
- * @param resource: object
615
- * @param context: object
616
- */
617
-
618
-
619
- expandProperties(resource, context) {
620
- for (let prop of Object.keys(resource)) {
621
- if (!prop) continue;
622
- this.objectReplaceProperty(resource, prop, ContextParser.expandTerm(prop, context, true));
623
- }
624
-
625
- return resource;
626
- }
627
- /**
628
- * Change the key of an object
629
- * @param object: object
630
- * @param oldProp: string - current key
631
- * @param newProp: string - new key to set
632
- */
633
-
634
-
635
- objectReplaceProperty(object, oldProp, newProp) {
636
- if (newProp !== oldProp) {
637
- Object.defineProperty(object, newProp, Object.getOwnPropertyDescriptor(object, oldProp) || '');
638
- delete object[oldProp];
639
- }
640
- }
641
- /**
642
- * Get the property of a resource for a given path
643
- * @param path: string
644
- */
645
-
646
-
647
- async get(path) {
648
- if (!path) return;
649
- const path1 = path.split('.');
650
- const path2 = [];
651
- let value;
652
-
653
- if (!this.isFullResource()) {
654
- // if resource is not complete, fetch it first
655
- await this.getResource(this.resourceId, this.clientContext, this.parentId);
656
- }
657
-
658
- while (true) {
659
- try {
660
- value = this.resource[this.getExpandedPredicate(path1[0])];
661
- } catch (e) {
662
- break;
663
- }
664
-
665
- if (path1.length <= 1) break; // no dot path
666
-
667
- const lastPath1El = path1.pop();
668
- if (lastPath1El) path2.unshift(lastPath1El);
669
- }
670
-
671
- if (path2.length === 0) {
672
- // end of the path
673
- if (!value || !value['@id']) return value; // no value or not a resource
674
-
675
- return await this.getResource(value['@id'], this.clientContext, this.parentId || this.resourceId); // return complete resource
676
- }
677
-
678
- if (!value) return undefined;
679
- let resource = await this.getResource(value['@id'], this.clientContext, this.parentId || this.resourceId);
680
- store.subscribeResourceTo(this.resourceId, value['@id']);
681
- return resource ? await resource[path2.join('.')] : undefined; // return value
682
- }
683
- /**
684
- * Cache resource in the store, and return the created proxy
685
- * @param id
686
- * @param context
687
- * @param iriParent
688
- * @param forceFetch
689
- */
690
-
691
-
692
- async getResource(id, context, iriParent, forceFetch = false) {
693
- return store.getData(id, context, iriParent, undefined, forceFetch);
694
- }
695
- /**
696
- * Return true if the resource is a container
697
- */
698
-
699
-
700
- isContainer() {
701
- return this.resource["@type"] == "ldp:Container" || this.resource["@type"] == "sib:federatedContainer";
702
- }
703
- /**
704
- * Get all properties of a resource
705
- */
706
-
707
-
708
- getProperties() {
709
- return Object.keys(this.resource).map(prop => this.getCompactedPredicate(prop));
710
- }
711
- /**
712
- * Get children of container as objects
713
- */
714
-
715
-
716
- getChildren() {
717
- return this.resource[this.getExpandedPredicate("ldp:contains")] || [];
718
- }
719
- /**
720
- * Get children of container as Proxys
721
- */
722
-
723
-
724
- getLdpContains() {
725
- const children = this.resource[this.getExpandedPredicate("ldp:contains")];
726
- return children ? children.map(res => store.get(res['@id'])) : [];
727
- }
728
- /**
729
- * Get all nested resource or containers which contains datas
730
- */
731
-
732
-
733
- getSubObjects() {
734
- let subObjects = [];
735
-
736
- for (let p of Object.keys(this.resource)) {
737
- let property = this.resource[p];
738
- if (!this.isFullNestedResource(property)) continue; // if not a resource, stop
739
-
740
- if (property['@type'] == "ldp:Container" && (property['ldp:contains'] == undefined || property['ldp:contains'].length >= 1 && !this.isFullNestedResource(property['ldp:contains'][0]))) continue; // if not a full container
741
-
742
- subObjects.push(property);
743
- }
744
-
745
- return subObjects;
746
- }
747
-
748
- merge(resource) {
749
- this.resource = { ...this.getResourceData(),
750
- ...resource.getResourceData()
751
- };
752
- }
753
-
754
- getResourceData() {
755
- return this.resource;
756
- }
757
- /**
758
- * return true if prop is a resource with an @id and some properties
759
- * @param prop
760
- */
761
-
762
-
763
- isFullNestedResource(prop) {
764
- return prop && typeof prop == "object" && prop['@id'] != undefined && Object.keys(prop).filter(p => !p.startsWith('@')).length > 0;
765
- }
766
- /**
767
- * return true resource seems complete
768
- * @param prop
769
- */
770
-
771
-
772
- isFullResource() {
773
- return Object.keys(this.resource).filter(p => !p.startsWith('@')).length > 0;
774
- }
775
-
776
- async getPermissions() {
777
- const permissionPredicate = this.getExpandedPredicate("permissions");
778
- let permissions = this.resource[permissionPredicate];
779
-
780
- if (!permissions) {
781
- // if no permission, re-fetch data
782
- await this.getResource(this.resourceId, this.clientContext, this.parentId, true);
783
- permissions = this.resource[permissionPredicate];
784
- }
785
-
786
- return permissions ? permissions.map(perm => ContextParser.expandTerm(perm.mode['@type'], this.serverContext, true)) : [];
787
- }
788
- /**
789
- * Remove the resource from the cache
790
- */
791
-
792
-
793
- clearCache() {
794
- store.clearCache(this.resourceId);
795
- }
796
-
797
- getExpandedPredicate(property) {
798
- return ContextParser.expandTerm(property, this.clientContext, true);
799
- }
800
-
801
- getCompactedPredicate(property) {
802
- return ContextParser.compactIri(property, this.clientContext, true);
803
- }
804
-
805
- getCompactedIri(id) {
806
- return ContextParser.compactIri(id, this.clientContext);
807
- }
808
-
809
- toString() {
810
- return this.getCompactedIri(this.resource['@id']);
811
- }
812
-
813
- [_Symbol$toPrimitive]() {
814
- return this.getCompactedIri(this.resource['@id']);
815
- }
816
- /**
817
- * Returns a Proxy which handles the different get requests
818
- */
819
-
820
-
821
- getProxy() {
822
- return new Proxy(this, {
823
- get: (resource, property) => {
824
- if (!this.resource) return undefined;
825
- if (typeof resource[property] === 'function') return resource[property].bind(resource);
826
-
827
- switch (property) {
828
- case '@id':
829
- if (this.resource['@id']) return this.getCompactedIri(this.resource['@id']); // Compact @id if possible
830
- else console.log(this.resource, this.resource['@id']);
831
- return;
832
-
833
- case '@type':
834
- return this.resource['@type'];
835
- // return synchronously
836
-
837
- case 'properties':
838
- return this.getProperties();
839
-
840
- case 'ldp:contains':
841
- return this.getLdpContains();
842
- // returns standard arrays synchronously
843
-
844
- case 'permissions':
845
- return this.getPermissions();
846
- // get expanded permissions
847
-
848
- case 'clientContext':
849
- return this.clientContext;
850
- // get saved client context to re-fetch easily a resource
851
-
852
- case 'then':
853
- return;
854
-
855
- default:
856
- return resource.get(property);
857
- }
858
- }
859
- });
860
- }
861
-
862
- }
863
- //# sourceMappingURL=store.js.map