@firestitch/common 15.0.0 → 17.0.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.
Files changed (152) hide show
  1. package/app/directives/auto-focus.directive.d.ts +1 -1
  2. package/app/directives/auto-select.directive.d.ts +1 -1
  3. package/app/directives/model-change.directive.d.ts +1 -1
  4. package/esm2022/app/directives/auto-focus.directive.mjs +61 -0
  5. package/esm2022/app/directives/auto-select.directive.mjs +32 -0
  6. package/esm2022/app/directives/model-change.directive.mjs +39 -0
  7. package/{esm2020 → esm2022}/app/directives/prevent-default.directive.mjs +4 -4
  8. package/{esm2020 → esm2022}/app/directives/stop-propagation.directive.mjs +4 -4
  9. package/{esm2020 → esm2022}/app/fs-common.module.mjs +31 -31
  10. package/{esm2020 → esm2022}/app/pipes/bytes.pipe.mjs +4 -4
  11. package/esm2022/app/pipes/currency.pipe.mjs +24 -0
  12. package/{esm2020 → esm2022}/app/pipes/number.pipe.mjs +4 -4
  13. package/{esm2020 → esm2022}/app/pipes/ordinal-number.pipe.mjs +4 -4
  14. package/{esm2020 → esm2022}/app/pipes/truncate.pipe.mjs +5 -5
  15. package/{esm2020 → esm2022}/app/pipes/util.pipe.mjs +15 -15
  16. package/esm2022/app/services/array.service.mjs +225 -0
  17. package/{esm2020 → esm2022}/app/services/math.service.mjs +4 -4
  18. package/esm2022/app/services/util.service.mjs +249 -0
  19. package/esm2022/app/services/vaildate.service.mjs +29 -0
  20. package/{esm2020 → esm2022}/libs/array/compare/compare.mjs +1 -1
  21. package/esm2022/libs/array/filter/filter.mjs +27 -0
  22. package/esm2022/libs/array/inArray/inArray.mjs +12 -0
  23. package/esm2022/libs/array/indexOf/indexOf.mjs +16 -0
  24. package/{esm2020 → esm2022}/libs/array/list/list.mjs +1 -1
  25. package/esm2022/libs/array/nameValue/nameValue.mjs +21 -0
  26. package/{esm2020 → esm2022}/libs/array/remove/remove.mjs +1 -1
  27. package/esm2022/libs/array/sort/sort.mjs +27 -0
  28. package/esm2022/libs/format/acronym/acronym.mjs +22 -0
  29. package/esm2022/libs/format/bytes/bytes.mjs +18 -0
  30. package/{esm2020 → esm2022}/libs/format/number/number.mjs +1 -1
  31. package/esm2022/libs/format/truncate/truncate.mjs +12 -0
  32. package/esm2022/libs/rxjs/delayedRetry.mjs +20 -0
  33. package/esm2022/libs/util/clone/clone.mjs +21 -0
  34. package/esm2022/libs/util/guid/guid.mjs +19 -0
  35. package/esm2022/libs/util/is-array-equal/is-array-equal.mjs +22 -0
  36. package/esm2022/libs/util/is-class/is-class.mjs +18 -0
  37. package/esm2022/libs/util/length/length.mjs +10 -0
  38. package/esm2022/libs/util/queue/operation.mjs +17 -0
  39. package/esm2022/libs/util/queue/queue.mjs +166 -0
  40. package/esm2022/libs/util/source-loader/source-loader.mjs +155 -0
  41. package/esm2022/libs/util/throttle/throttle.mjs +13 -0
  42. package/{esm2020 → esm2022}/libs/util/to-string/to-string.mjs +1 -1
  43. package/esm2022/libs/util/value/value.mjs +9 -0
  44. package/{fesm2020 → fesm2022}/firestitch-common.mjs +136 -128
  45. package/fesm2022/firestitch-common.mjs.map +1 -0
  46. package/package.json +5 -11
  47. package/esm2020/app/directives/auto-focus.directive.mjs +0 -59
  48. package/esm2020/app/directives/auto-select.directive.mjs +0 -31
  49. package/esm2020/app/directives/model-change.directive.mjs +0 -37
  50. package/esm2020/app/pipes/currency.pipe.mjs +0 -23
  51. package/esm2020/app/services/array.service.mjs +0 -225
  52. package/esm2020/app/services/util.service.mjs +0 -251
  53. package/esm2020/app/services/vaildate.service.mjs +0 -28
  54. package/esm2020/libs/array/filter/filter.mjs +0 -27
  55. package/esm2020/libs/array/inArray/inArray.mjs +0 -12
  56. package/esm2020/libs/array/indexOf/indexOf.mjs +0 -16
  57. package/esm2020/libs/array/nameValue/nameValue.mjs +0 -21
  58. package/esm2020/libs/array/sort/sort.mjs +0 -27
  59. package/esm2020/libs/format/acronym/acronym.mjs +0 -22
  60. package/esm2020/libs/format/bytes/bytes.mjs +0 -18
  61. package/esm2020/libs/format/truncate/truncate.mjs +0 -12
  62. package/esm2020/libs/rxjs/delayedRetry.mjs +0 -20
  63. package/esm2020/libs/util/clone/clone.mjs +0 -21
  64. package/esm2020/libs/util/guid/guid.mjs +0 -19
  65. package/esm2020/libs/util/is-array-equal/is-array-equal.mjs +0 -22
  66. package/esm2020/libs/util/is-class/is-class.mjs +0 -18
  67. package/esm2020/libs/util/length/length.mjs +0 -10
  68. package/esm2020/libs/util/queue/operation.mjs +0 -15
  69. package/esm2020/libs/util/queue/queue.mjs +0 -165
  70. package/esm2020/libs/util/source-loader/source-loader.mjs +0 -155
  71. package/esm2020/libs/util/throttle/throttle.mjs +0 -13
  72. package/esm2020/libs/util/value/value.mjs +0 -9
  73. package/fesm2015/firestitch-common.mjs +0 -1754
  74. package/fesm2015/firestitch-common.mjs.map +0 -1
  75. package/fesm2020/firestitch-common.mjs.map +0 -1
  76. /package/{esm2020 → esm2022}/app/directives/index.mjs +0 -0
  77. /package/{esm2020 → esm2022}/app/pipes/index.mjs +0 -0
  78. /package/{esm2020 → esm2022}/firestitch-common.mjs +0 -0
  79. /package/{esm2020 → esm2022}/libs/array/compare/index.mjs +0 -0
  80. /package/{esm2020 → esm2022}/libs/array/filter/index.mjs +0 -0
  81. /package/{esm2020 → esm2022}/libs/array/find/find.mjs +0 -0
  82. /package/{esm2020 → esm2022}/libs/array/find/index.mjs +0 -0
  83. /package/{esm2020 → esm2022}/libs/array/inArray/index.mjs +0 -0
  84. /package/{esm2020 → esm2022}/libs/array/index/index.mjs +0 -0
  85. /package/{esm2020 → esm2022}/libs/array/index.mjs +0 -0
  86. /package/{esm2020 → esm2022}/libs/array/indexOf/index.mjs +0 -0
  87. /package/{esm2020 → esm2022}/libs/array/keyExists/index.mjs +0 -0
  88. /package/{esm2020 → esm2022}/libs/array/keyExists/keyExists.mjs +0 -0
  89. /package/{esm2020 → esm2022}/libs/array/ksort/index.mjs +0 -0
  90. /package/{esm2020 → esm2022}/libs/array/ksort/ksort.mjs +0 -0
  91. /package/{esm2020 → esm2022}/libs/array/list/index.mjs +0 -0
  92. /package/{esm2020 → esm2022}/libs/array/nameValue/index.mjs +0 -0
  93. /package/{esm2020 → esm2022}/libs/array/remove/index.mjs +0 -0
  94. /package/{esm2020 → esm2022}/libs/array/rsort/index.mjs +0 -0
  95. /package/{esm2020 → esm2022}/libs/array/rsort/rsort.mjs +0 -0
  96. /package/{esm2020 → esm2022}/libs/array/sort/index.mjs +0 -0
  97. /package/{esm2020 → esm2022}/libs/format/acronym/index.mjs +0 -0
  98. /package/{esm2020 → esm2022}/libs/format/bytes/index.mjs +0 -0
  99. /package/{esm2020 → esm2022}/libs/format/currency/currency.mjs +0 -0
  100. /package/{esm2020 → esm2022}/libs/format/currency/index.mjs +0 -0
  101. /package/{esm2020 → esm2022}/libs/format/index.mjs +0 -0
  102. /package/{esm2020 → esm2022}/libs/format/number/index.mjs +0 -0
  103. /package/{esm2020 → esm2022}/libs/format/truncate/index.mjs +0 -0
  104. /package/{esm2020 → esm2022}/libs/index.mjs +0 -0
  105. /package/{esm2020 → esm2022}/libs/rxjs/keyboard-shortcut.mjs +0 -0
  106. /package/{esm2020 → esm2022}/libs/util/boolean/boolean.mjs +0 -0
  107. /package/{esm2020 → esm2022}/libs/util/boolean/index.mjs +0 -0
  108. /package/{esm2020 → esm2022}/libs/util/clone/index.mjs +0 -0
  109. /package/{esm2020 → esm2022}/libs/util/debounce/debounce.mjs +0 -0
  110. /package/{esm2020 → esm2022}/libs/util/debounce/index.mjs +0 -0
  111. /package/{esm2020 → esm2022}/libs/util/get-normalized-path/get-normalized-path.mjs +0 -0
  112. /package/{esm2020 → esm2022}/libs/util/get-normalized-path/index.mjs +0 -0
  113. /package/{esm2020 → esm2022}/libs/util/guid/index.mjs +0 -0
  114. /package/{esm2020 → esm2022}/libs/util/index.mjs +0 -0
  115. /package/{esm2020 → esm2022}/libs/util/is-array-equal/index.mjs +0 -0
  116. /package/{esm2020 → esm2022}/libs/util/is-class/index.mjs +0 -0
  117. /package/{esm2020 → esm2022}/libs/util/is-empty/index.mjs +0 -0
  118. /package/{esm2020 → esm2022}/libs/util/is-empty/is-empty.mjs +0 -0
  119. /package/{esm2020 → esm2022}/libs/util/is-numeric/index.mjs +0 -0
  120. /package/{esm2020 → esm2022}/libs/util/is-numeric/is-numeric.mjs +0 -0
  121. /package/{esm2020 → esm2022}/libs/util/is-object/index.mjs +0 -0
  122. /package/{esm2020 → esm2022}/libs/util/is-object/is-object.mjs +0 -0
  123. /package/{esm2020 → esm2022}/libs/util/keys/index.mjs +0 -0
  124. /package/{esm2020 → esm2022}/libs/util/keys/keys.mjs +0 -0
  125. /package/{esm2020 → esm2022}/libs/util/length/index.mjs +0 -0
  126. /package/{esm2020 → esm2022}/libs/util/ordinal-number/index.mjs +0 -0
  127. /package/{esm2020 → esm2022}/libs/util/ordinal-number/ordinal-number.mjs +0 -0
  128. /package/{esm2020 → esm2022}/libs/util/queue/index.mjs +0 -0
  129. /package/{esm2020 → esm2022}/libs/util/queue/queue-stats.mjs +0 -0
  130. /package/{esm2020 → esm2022}/libs/util/queue/queue.enum.mjs +0 -0
  131. /package/{esm2020 → esm2022}/libs/util/remove-query-params/index.mjs +0 -0
  132. /package/{esm2020 → esm2022}/libs/util/remove-query-params/remove-query-params.mjs +0 -0
  133. /package/{esm2020 → esm2022}/libs/util/resolve/index.mjs +0 -0
  134. /package/{esm2020 → esm2022}/libs/util/resolve/resolve.mjs +0 -0
  135. /package/{esm2020 → esm2022}/libs/util/round/index.mjs +0 -0
  136. /package/{esm2020 → esm2022}/libs/util/round/round.mjs +0 -0
  137. /package/{esm2020 → esm2022}/libs/util/source-loader/index.mjs +0 -0
  138. /package/{esm2020 → esm2022}/libs/util/stringify/index.mjs +0 -0
  139. /package/{esm2020 → esm2022}/libs/util/stringify/stringify.mjs +0 -0
  140. /package/{esm2020 → esm2022}/libs/util/throttle/index.mjs +0 -0
  141. /package/{esm2020 → esm2022}/libs/util/to-string/index.mjs +0 -0
  142. /package/{esm2020 → esm2022}/libs/util/uuid/index.mjs +0 -0
  143. /package/{esm2020 → esm2022}/libs/util/uuid/uuid.mjs +0 -0
  144. /package/{esm2020 → esm2022}/libs/util/value/index.mjs +0 -0
  145. /package/{esm2020 → esm2022}/libs/validate/email/email.mjs +0 -0
  146. /package/{esm2020 → esm2022}/libs/validate/email/index.mjs +0 -0
  147. /package/{esm2020 → esm2022}/libs/validate/index.mjs +0 -0
  148. /package/{esm2020 → esm2022}/libs/validate/phone/index.mjs +0 -0
  149. /package/{esm2020 → esm2022}/libs/validate/phone/phone.mjs +0 -0
  150. /package/{esm2020 → esm2022}/libs/validate/url/index.mjs +0 -0
  151. /package/{esm2020 → esm2022}/libs/validate/url/url.mjs +0 -0
  152. /package/{esm2020 → esm2022}/public_api.mjs +0 -0
@@ -0,0 +1,155 @@
1
+ import { combineLatest, Observable } from 'rxjs';
2
+ import { shareReplay } from 'rxjs/operators';
3
+ export const fsSourceLoader = (function () {
4
+ let _document;
5
+ let _headElement;
6
+ const _sources = new Map();
7
+ const _loadedResources = new Map();
8
+ // bad way but don't want to bother developer
9
+ setDocument(document);
10
+ // but developer can set document at any time
11
+ function setDocument(document) {
12
+ _document = document;
13
+ _headElement = _document?.head;
14
+ }
15
+ /**
16
+ * register a list of the resources for future loading
17
+ *
18
+ * example:
19
+ * sourceLoader.registerResources({
20
+ * froala: [
21
+ * '/assets/js/froala/froala_editor.min.js',
22
+ * '/assets/css/froala_editor.pkgd.min.css',
23
+ * ],
24
+ * froala_align: '/assets/js/froala/plugins/align.min.js',
25
+ * froala_colors: '/assets/js/froala/plugins/colors.min.js',
26
+ * froala_image: '/assets/js/froala/plugins/image.min.js',
27
+ * });
28
+ *
29
+ */
30
+ function registerResources(resources) {
31
+ Object.entries(resources)
32
+ .forEach(([name, path]) => {
33
+ if (typeof path === 'string') {
34
+ path = [path];
35
+ }
36
+ if (!_sources.has(name)) {
37
+ _sources.set(name, new Set());
38
+ }
39
+ const resourcesList = _sources.get(name);
40
+ path.forEach((p) => {
41
+ resourcesList.add(p);
42
+ });
43
+ });
44
+ }
45
+ /**
46
+ * load any resource previously registered
47
+ *
48
+ * sourceLoader.loadResource('froala')
49
+ *
50
+ * or load any js/css file
51
+ *
52
+ * sourceLoader.loadResource('/assets/my-source.js')
53
+ *
54
+ */
55
+ function loadResource(name) {
56
+ if (_loadedResources.has(name)) {
57
+ return _loadedResources.get(name);
58
+ }
59
+ if (_sources.has(name)) {
60
+ const sourcesForLoading = [..._sources.get(name)]
61
+ .map((path) => {
62
+ return _loadResource(path);
63
+ })
64
+ .filter((v) => !!v);
65
+ return combineLatest(sourcesForLoading);
66
+ }
67
+ return _loadResource(name);
68
+ }
69
+ /**
70
+ * the same as `loadResource` but you can pass list of the resources for loading
71
+ */
72
+ function loadResources(listOfResources) {
73
+ const resourcesToLoad = listOfResources
74
+ .reduce((acc, name) => {
75
+ const loading$ = loadResource(name);
76
+ if (loading$) {
77
+ acc.push(loading$);
78
+ }
79
+ return acc;
80
+ }, []);
81
+ return combineLatest(resourcesToLoad);
82
+ }
83
+ ///
84
+ function _loadResource(path) {
85
+ if (_isStylesUrl(path)) {
86
+ return _loadStyles(path);
87
+ }
88
+ if (_isJavascriptUrl(path)) {
89
+ return _loadJs(path);
90
+ }
91
+ console.warn(`Resource ${path} can not be identified and loaded`);
92
+ return null;
93
+ }
94
+ function _loadJs(scriptPath) {
95
+ if (!_loadedResources.has(scriptPath)) {
96
+ const obs$ = new Observable((obs) => {
97
+ const script = document.createElement('script');
98
+ script.src = scriptPath;
99
+ _headElement.appendChild(script);
100
+ script.onload = () => {
101
+ obs.next(null);
102
+ obs.complete();
103
+ };
104
+ script.onerror = (err) => {
105
+ obs.error(err);
106
+ };
107
+ }).pipe(shareReplay(1));
108
+ _loadedResources.set(scriptPath, obs$);
109
+ }
110
+ return _loadedResources.get(scriptPath);
111
+ }
112
+ function _loadStyles(stylePath) {
113
+ if (!_loadedResources.has(stylePath)) {
114
+ const obs$ = new Observable((obs) => {
115
+ const style = document.createElement('link');
116
+ style.id = stylePath;
117
+ style.rel = 'stylesheet';
118
+ style.href = `${stylePath}`;
119
+ _headElement.appendChild(style);
120
+ style.onload = () => {
121
+ obs.next(null);
122
+ obs.complete();
123
+ };
124
+ style.onerror = (err) => {
125
+ obs.error(err);
126
+ };
127
+ });
128
+ _loadedResources.set(stylePath, obs$);
129
+ }
130
+ return _loadedResources.get(stylePath);
131
+ }
132
+ function _isJavascriptUrl(url) {
133
+ return url.endsWith('.js');
134
+ }
135
+ function _isStylesUrl(url) {
136
+ return url.endsWith('.css');
137
+ }
138
+ return {
139
+ setDocument,
140
+ registerResources,
141
+ loadResource,
142
+ loadResources,
143
+ loadJs: _loadJs,
144
+ loadStyles: _loadStyles,
145
+ };
146
+ })();
147
+ export function loadStyles(path) {
148
+ return fsSourceLoader.loadStyles(path);
149
+ }
150
+ ;
151
+ export function loadJs(path) {
152
+ return fsSourceLoader.loadJs(path);
153
+ }
154
+ ;
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLWxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL3V0aWwvc291cmNlLWxvYWRlci9zb3VyY2UtbG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQztJQUU3QixJQUFJLFNBQW1CLENBQUM7SUFDeEIsSUFBSSxZQUE2QixDQUFDO0lBRWxDLE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxFQUF1QixDQUFDO0lBQ2hELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxHQUFHLEVBQStCLENBQUM7SUFFaEUsNkNBQTZDO0lBQzdDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV0Qiw2Q0FBNkM7SUFDN0MsU0FBUyxXQUFXLENBQUMsUUFBa0I7UUFDckMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUNyQixZQUFZLEdBQUcsU0FBUyxFQUFFLElBQUksQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7O09BY0c7SUFDSCxTQUFTLGlCQUFpQixDQUFDLFNBQTRDO1FBQ3JFLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO2FBQ3RCLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDeEIsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDN0IsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEIsQ0FBQztZQUVELElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3hCLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksR0FB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UyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFFRCxPQUFPLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxHQUFXO1FBQ25DLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsU0FBUyxZQUFZLENBQUMsR0FBVztRQUMvQixPQUFPLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELE9BQU87UUFDTCxXQUFXO1FBQ1gsaUJBQWlCO1FBQ2pCLFlBQVk7UUFDWixhQUFhO1FBQ2IsTUFBTSxFQUFFLE9BQU87UUFDZixVQUFVLEVBQUUsV0FBVztLQUN4QixDQUFDO0FBQ0osQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUVMLE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBSTtJQUM3QixPQUFPLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDekMsQ0FBQztBQUFBLENBQUM7QUFFRixNQUFNLFVBQVUsTUFBTSxDQUFDLElBQUk7SUFDekIsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3JDLENBQUM7QUFBQSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBjb25zdCBmc1NvdXJjZUxvYWRlciA9IChmdW5jdGlvbigpIHtcblxuICBsZXQgX2RvY3VtZW50OiBEb2N1bWVudDtcbiAgbGV0IF9oZWFkRWxlbWVudDogSFRNTEhlYWRFbGVtZW50O1xuXG4gIGNvbnN0IF9zb3VyY2VzID0gbmV3IE1hcDxzdHJpbmcsIFNldDxzdHJpbmc+PigpO1xuICBjb25zdCBfbG9hZGVkUmVzb3VyY2VzID0gbmV3IE1hcDxzdHJpbmcsIE9ic2VydmFibGU8dW5rbm93bj4+KCk7XG5cbiAgLy8gYmFkIHdheSBidXQgZG9uJ3Qgd2FudCB0byBib3RoZXIgZGV2ZWxvcGVyXG4gIHNldERvY3VtZW50KGRvY3VtZW50KTtcblxuICAvLyBidXQgZGV2ZWxvcGVyIGNhbiBzZXQgZG9jdW1lbnQgYXQgYW55IHRpbWVcbiAgZnVuY3Rpb24gc2V0RG9jdW1lbnQoZG9jdW1lbnQ6IERvY3VtZW50KTogdm9pZCB7XG4gICAgX2RvY3VtZW50ID0gZG9jdW1lbnQ7XG4gICAgX2hlYWRFbGVtZW50ID0gX2RvY3VtZW50Py5oZWFkO1xuICB9XG5cbiAgLyoqXG4gICAqIHJlZ2lzdGVyIGEgbGlzdCBvZiB0aGUgcmVzb3VyY2VzIGZvciBmdXR1cmUgbG9hZGluZ1xuICAgKlxuICAgKiBleGFtcGxlOlxuICAgKiAgIHNvdXJjZUxvYWRlci5yZWdpc3RlclJlc291cmNlcyh7XG4gICAqICAgICBmcm9hbGE6IFtcbiAgICogICAgICAgJy9hc3NldHMvanMvZnJvYWxhL2Zyb2FsYV9lZGl0b3IubWluLmpzJyxcbiAgICogICAgICAgJy9hc3NldHMvY3NzL2Zyb2FsYV9lZGl0b3IucGtnZC5taW4uY3NzJyxcbiAgICogICAgIF0sXG4gICAqICAgICBmcm9hbGFfYWxpZ246ICcvYXNzZXRzL2pzL2Zyb2FsYS9wbHVnaW5zL2FsaWduLm1pbi5qcycsXG4gICAqICAgICBmcm9hbGFfY29sb3JzOiAnL2Fzc2V0cy9qcy9mcm9hbGEvcGx1Z2lucy9jb2xvcnMubWluLmpzJyxcbiAgICogICAgIGZyb2FsYV9pbWFnZTogJy9hc3NldHMvanMvZnJvYWxhL3BsdWdpbnMvaW1hZ2UubWluLmpzJyxcbiAgICogICB9KTtcbiAgICpcbiAgICovXG4gIGZ1bmN0aW9uIHJlZ2lzdGVyUmVzb3VyY2VzKHJlc291cmNlczogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgc3RyaW5nW10+KSB7XG4gICAgT2JqZWN0LmVudHJpZXMocmVzb3VyY2VzKVxuICAgICAgLmZvckVhY2goKFtuYW1lLCBwYXRoXSkgPT4ge1xuICAgICAgICBpZiAodHlwZW9mIHBhdGggPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgcGF0aCA9IFtwYXRoXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghX3NvdXJjZXMuaGFzKG5hbWUpKSB7XG4gICAgICAgICAgX3NvdXJjZXMuc2V0KG5hbWUsIG5ldyBTZXQoKSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXNvdXJjZXNMaXN0ID0gX3NvdXJjZXMuZ2V0KG5hbWUpO1xuXG4gICAgICAgIHBhdGguZm9yRWFjaCgocCkgPT4ge1xuICAgICAgICAgIHJlc291cmNlc0xpc3QuYWRkKHApO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIGxvYWQgYW55IHJlc291cmNlIHByZXZpb3VzbHkgcmVnaXN0ZXJlZFxuICAgKlxuICAgKiBzb3VyY2VMb2FkZXIubG9hZFJlc291cmNlKCdmcm9hbGEnKVxuICAgKlxuICAgKiBvciBsb2FkIGFueSBqcy9jc3MgZmlsZVxuICAgKlxuICAgKiBzb3VyY2VMb2FkZXIubG9hZFJlc291cmNlKCcvYXNzZXRzL215LXNvdXJjZS5qcycpXG4gICAqXG4gICAqL1xuICBmdW5jdGlvbiBsb2FkUmVzb3VyY2UobmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTx1bmtub3duPiB8IG51bGwge1xuICAgIGlmIChfbG9hZGVkUmVzb3VyY2VzLmhhcyhuYW1lKSkge1xuICAgICAgcmV0dXJuIF9sb2FkZWRSZXNvdXJjZXMuZ2V0KG5hbWUpO1xuICAgIH1cblxuICAgIGlmIChfc291cmNlcy5oYXMobmFtZSkpIHtcbiAgICAgIGNvbnN0IHNvdXJjZXNGb3JMb2FkaW5nID0gWy4uLl9zb3VyY2VzLmdldChuYW1lKV1cbiAgICAgICAgLm1hcCgocGF0aCkgPT4ge1xuICAgICAgICAgIHJldHVybiBfbG9hZFJlc291cmNlKHBhdGgpO1xuICAgICAgICB9KVxuICAgICAgICAuZmlsdGVyKCh2KSA9PiAhIXYpO1xuXG4gICAgICByZXR1cm4gY29tYmluZUxhdGVzdChzb3VyY2VzRm9yTG9hZGluZyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIF9sb2FkUmVzb3VyY2UobmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogdGhlIHNhbWUgYXMgYGxvYWRSZXNvdXJjZWAgYnV0IHlvdSBjYW4gcGFzcyBsaXN0IG9mIHRoZSByZXNvdXJjZXMgZm9yIGxvYWRpbmdcbiAgICovXG4gIGZ1bmN0aW9uIGxvYWRSZXNvdXJjZXMobGlzdE9mUmVzb3VyY2VzOiBzdHJpbmdbXSk6IE9ic2VydmFibGU8dW5rbm93bj4ge1xuICAgIGNvbnN0IHJlc291cmNlc1RvTG9hZCA9IGxpc3RPZlJlc291cmNlc1xuICAgICAgLnJlZHVjZSgoYWNjLCBuYW1lKSA9PiB7XG5cbiAgICAgICAgY29uc3QgbG9hZGluZyQgPSBsb2FkUmVzb3VyY2UobmFtZSk7XG5cbiAgICAgICAgaWYgKGxvYWRpbmckKSB7XG4gICAgICAgICAgYWNjLnB1c2gobG9hZGluZyQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIFtdKTtcblxuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHJlc291cmNlc1RvTG9hZCk7XG4gIH1cblxuICAvLy9cblxuICBmdW5jdGlvbiBfbG9hZFJlc291cmNlKHBhdGgpOiBPYnNlcnZhYmxlPHVua25vd24+IHwgbnVsbCB7XG4gICAgaWYgKF9pc1N0eWxlc1VybChwYXRoKSkge1xuICAgICAgcmV0dXJuIF9sb2FkU3R5bGVzKHBhdGgpO1xuICAgIH1cblxuICAgIGlmIChfaXNKYXZhc2NyaXB0VXJsKHBhdGgpKSB7XG4gICAgICByZXR1cm4gX2xvYWRKcyhwYXRoKTtcbiAgICB9XG5cbiAgICBjb25zb2xlLndhcm4oYFJlc291cmNlICR7cGF0aH0gY2FuIG5vdCBiZSBpZGVudGlmaWVkIGFuZCBsb2FkZWRgKTtcblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZnVuY3Rpb24gX2xvYWRKcyhzY3JpcHRQYXRoOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICBpZiAoIV9sb2FkZWRSZXNvdXJjZXMuaGFzKHNjcmlwdFBhdGgpKSB7XG4gICAgICBjb25zdCBvYnMkID0gbmV3IE9ic2VydmFibGUoKG9icykgPT4ge1xuICAgICAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgc2NyaXB0LnNyYyA9IHNjcmlwdFBhdGg7XG5cbiAgICAgICAgX2hlYWRFbGVtZW50LmFwcGVuZENoaWxkKHNjcmlwdCk7XG5cbiAgICAgICAgc2NyaXB0Lm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgICBvYnMubmV4dChudWxsKTtcbiAgICAgICAgICBvYnMuY29tcGxldGUoKTtcbiAgICAgICAgfTtcblxuICAgICAgICBzY3JpcHQub25lcnJvciA9IChlcnIpID0+IHtcbiAgICAgICAgICBvYnMuZXJyb3IoZXJyKTtcbiAgICAgICAgfTtcbiAgICAgIH0pLnBpcGUoXG4gICAgICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgICAgKTtcblxuICAgICAgX2xvYWRlZFJlc291cmNlcy5zZXQoc2NyaXB0UGF0aCwgb2JzJCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIF9sb2FkZWRSZXNvdXJjZXMuZ2V0KHNjcmlwdFBhdGgpO1xuICB9XG5cbiAgZnVuY3Rpb24gX2xvYWRTdHlsZXMoc3R5bGVQYXRoOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICBpZiAoIV9sb2FkZWRSZXNvdXJjZXMuaGFzKHN0eWxlUGF0aCkpIHtcbiAgICAgIGNvbnN0IG9icyQgPSBuZXcgT2JzZXJ2YWJsZSgob2JzKSA9PiB7XG4gICAgICAgIGNvbnN0IHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xuICAgICAgICBzdHlsZS5pZCA9IHN0eWxlUGF0aDtcbiAgICAgICAgc3R5bGUucmVsID0gJ3N0eWxlc2hlZXQnO1xuICAgICAgICBzdHlsZS5ocmVmID0gYCR7c3R5bGVQYXRofWA7XG5cbiAgICAgICAgX2hlYWRFbGVtZW50LmFwcGVuZENoaWxkKHN0eWxlKTtcblxuICAgICAgICBzdHlsZS5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgb2JzLm5leHQobnVsbCk7XG4gICAgICAgICAgb2JzLmNvbXBsZXRlKCk7XG4gICAgICAgIH07XG5cbiAgICAgICAgc3R5bGUub25lcnJvciA9IChlcnIpID0+IHtcbiAgICAgICAgICBvYnMuZXJyb3IoZXJyKTtcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuXG4gICAgICBfbG9hZGVkUmVzb3VyY2VzLnNldChzdHlsZVBhdGgsIG9icyQpO1xuICAgIH1cblxuICAgIHJldHVybiBfbG9hZGVkUmVzb3VyY2VzLmdldChzdHlsZVBhdGgpO1xuICB9XG5cbiAgZnVuY3Rpb24gX2lzSmF2YXNjcmlwdFVybCh1cmw6IHN0cmluZykge1xuICAgIHJldHVybiB1cmwuZW5kc1dpdGgoJy5qcycpO1xuICB9XG5cbiAgZnVuY3Rpb24gX2lzU3R5bGVzVXJsKHVybDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHVybC5lbmRzV2l0aCgnLmNzcycpO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBzZXREb2N1bWVudCxcbiAgICByZWdpc3RlclJlc291cmNlcyxcbiAgICBsb2FkUmVzb3VyY2UsXG4gICAgbG9hZFJlc291cmNlcyxcbiAgICBsb2FkSnM6IF9sb2FkSnMsXG4gICAgbG9hZFN0eWxlczogX2xvYWRTdHlsZXMsXG4gIH07XG59KSgpO1xuXG5leHBvcnQgZnVuY3Rpb24gbG9hZFN0eWxlcyhwYXRoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgcmV0dXJuIGZzU291cmNlTG9hZGVyLmxvYWRTdHlsZXMocGF0aCk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gbG9hZEpzKHBhdGgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICByZXR1cm4gZnNTb3VyY2VMb2FkZXIubG9hZEpzKHBhdGgpO1xufTtcbiJdfQ==
@@ -0,0 +1,13 @@
1
+ export function throttle(func, wait) {
2
+ let waiting = false; // Initially, we're not waiting
3
+ return function () {
4
+ if (!waiting) { // If we're not waiting
5
+ func.apply(null, arguments); // Execute users function
6
+ waiting = true; // Prevent future invocations
7
+ setTimeout(function () {
8
+ waiting = false; // And allow future invocations
9
+ }, wait);
10
+ }
11
+ };
12
+ }
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyb3R0bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGlicy91dGlsL3Rocm90dGxlL3Rocm90dGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUk7SUFDakMsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQW1CLCtCQUErQjtJQUN0RSxPQUFPO1FBQ0wsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQW9CLHVCQUF1QjtZQUN4RCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFLLHlCQUF5QjtZQUMxRCxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQWdCLDZCQUE2QjtZQUM1RCxVQUFVLENBQUM7Z0JBQ1QsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFXLCtCQUErQjtZQUM1RCxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDWCxDQUFDO0lBQ0gsQ0FBQyxDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiB0aHJvdHRsZShmdW5jLCB3YWl0KSB7XG4gIGxldCB3YWl0aW5nID0gZmFsc2U7ICAgICAgICAgICAgICAgICAgXHQvLyBJbml0aWFsbHksIHdlJ3JlIG5vdCB3YWl0aW5nXG4gIHJldHVybiBmdW5jdGlvbiAoKSB7ICAgICAgICAgICAgICAgXHRcdC8vIFdlIHJldHVybiBhIHRocm90dGxlZCBmdW5jdGlvblxuICAgIGlmICghd2FpdGluZykgeyAgICAgICAgICAgICAgICAgICBcdC8vIElmIHdlJ3JlIG5vdCB3YWl0aW5nXG4gICAgICBmdW5jLmFwcGx5KG51bGwsIGFyZ3VtZW50cyk7ICAgICAvLyBFeGVjdXRlIHVzZXJzIGZ1bmN0aW9uXG4gICAgICB3YWl0aW5nID0gdHJ1ZTsgICAgICAgICAgICAgICBcdC8vIFByZXZlbnQgZnV0dXJlIGludm9jYXRpb25zXG4gICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsgICBcdFx0Ly8gQWZ0ZXIgYSBwZXJpb2Qgb2YgdGltZVxuICAgICAgICB3YWl0aW5nID0gZmFsc2U7ICAgICAgICAgIFx0Ly8gQW5kIGFsbG93IGZ1dHVyZSBpbnZvY2F0aW9uc1xuICAgICAgfSwgd2FpdCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -4,4 +4,4 @@ export function toString(value) {
4
4
  }
5
5
  return `${value}`;
6
6
  }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG8tc3RyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYnMvdXRpbC90by1zdHJpbmcvdG8tc3RyaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBSztJQUM1QixJQUFHLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRTtRQUN4QyxPQUFPLEVBQUUsQ0FBQztLQUNYO0lBRUQsT0FBTyxHQUFHLEtBQUssRUFBRSxDQUFDO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gdG9TdHJpbmcodmFsdWUpOiBzdHJpbmcge1xuICBpZih2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcmV0dXJuIGAke3ZhbHVlfWA7XG59XG4iXX0=
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG8tc3RyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYnMvdXRpbC90by1zdHJpbmcvdG8tc3RyaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBSztJQUM1QixJQUFHLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3pDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU8sR0FBRyxLQUFLLEVBQUUsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIHRvU3RyaW5nKHZhbHVlKTogc3RyaW5nIHtcbiAgaWYodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHJldHVybiBgJHt2YWx1ZX1gO1xufVxuIl19
@@ -0,0 +1,9 @@
1
+ export function value(object, key, def) {
2
+ if (typeof object === 'object' || Array.isArray(object)) {
3
+ if (object.hasOwnProperty(key)) {
4
+ return object[key];
5
+ }
6
+ }
7
+ return def;
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGlicy91dGlsL3ZhbHVlL3ZhbHVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxLQUFLLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHO0lBRXBDLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUV4RCxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUMvQixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiB2YWx1ZShvYmplY3QsIGtleSwgZGVmKSB7XG5cbiAgaWYgKHR5cGVvZiBvYmplY3QgPT09ICdvYmplY3QnIHx8IEFycmF5LmlzQXJyYXkob2JqZWN0KSkge1xuXG4gICAgaWYgKG9iamVjdC5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICByZXR1cm4gb2JqZWN0W2tleV07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRlZjtcbn1cbiJdfQ==