@operato/utils 1.0.0-alpha.9 → 1.0.0-beta.2

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 CHANGED
@@ -3,6 +3,384 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.0.0-beta.2](https://github.com/hatiolab/operato/compare/v1.0.0-beta.1...v1.0.0-beta.2) (2022-04-12)
7
+
8
+ **Note:** Version bump only for package @operato/utils
9
+
10
+
11
+
12
+
13
+
14
+ ## [1.0.0-beta.1](https://github.com/hatiolab/operato/compare/v1.0.0-beta.0...v1.0.0-beta.1) (2022-04-11)
15
+
16
+ **Note:** Version bump only for package @operato/utils
17
+
18
+
19
+
20
+
21
+
22
+ ## [1.0.0-beta.0](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.53...v1.0.0-beta.0) (2022-04-10)
23
+
24
+
25
+ ### :rocket: New Features
26
+
27
+ * support undo/redo for data-grist ([b7e6c1f](https://github.com/hatiolab/operato/commit/b7e6c1fb47910a3fc3acb0352472ad19cf4e13d2))
28
+
29
+
30
+
31
+ ## [1.0.0-alpha.53](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.52...v1.0.0-alpha.53) (2022-04-08)
32
+
33
+ **Note:** Version bump only for package @operato/utils
34
+
35
+
36
+
37
+
38
+
39
+ ## [1.0.0-alpha.52](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.51...v1.0.0-alpha.52) (2022-04-08)
40
+
41
+ **Note:** Version bump only for package @operato/utils
42
+
43
+
44
+
45
+
46
+
47
+ ## [1.0.0-alpha.51](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.50...v1.0.0-alpha.51) (2022-04-05)
48
+
49
+ **Note:** Version bump only for package @operato/utils
50
+
51
+
52
+
53
+
54
+
55
+ ## [1.0.0-alpha.50](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.49...v1.0.0-alpha.50) (2022-04-04)
56
+
57
+ **Note:** Version bump only for package @operato/utils
58
+
59
+
60
+
61
+
62
+
63
+ ## [1.0.0-alpha.49](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.48...v1.0.0-alpha.49) (2022-04-04)
64
+
65
+ **Note:** Version bump only for package @operato/utils
66
+
67
+
68
+
69
+
70
+
71
+ ## [1.0.0-alpha.48](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.47...v1.0.0-alpha.48) (2022-04-03)
72
+
73
+ **Note:** Version bump only for package @operato/utils
74
+
75
+
76
+
77
+
78
+
79
+ ## [1.0.0-alpha.47](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.46...v1.0.0-alpha.47) (2022-04-02)
80
+
81
+ **Note:** Version bump only for package @operato/utils
82
+
83
+
84
+
85
+
86
+
87
+ ## [1.0.0-alpha.46](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.45...v1.0.0-alpha.46) (2022-04-02)
88
+
89
+ **Note:** Version bump only for package @operato/utils
90
+
91
+
92
+
93
+
94
+
95
+ ## [1.0.0-alpha.45](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.44...v1.0.0-alpha.45) (2022-03-31)
96
+
97
+ **Note:** Version bump only for package @operato/utils
98
+
99
+
100
+
101
+
102
+
103
+ ## [1.0.0-alpha.44](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.43...v1.0.0-alpha.44) (2022-03-31)
104
+
105
+ **Note:** Version bump only for package @operato/utils
106
+
107
+
108
+
109
+
110
+
111
+ ## [1.0.0-alpha.43](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.42...v1.0.0-alpha.43) (2022-03-30)
112
+
113
+ **Note:** Version bump only for package @operato/utils
114
+
115
+
116
+
117
+
118
+
119
+ ## [1.0.0-alpha.42](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.41...v1.0.0-alpha.42) (2022-03-29)
120
+
121
+ **Note:** Version bump only for package @operato/utils
122
+
123
+
124
+
125
+
126
+
127
+ ## [1.0.0-alpha.41](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.40...v1.0.0-alpha.41) (2022-03-27)
128
+
129
+ **Note:** Version bump only for package @operato/utils
130
+
131
+
132
+
133
+
134
+
135
+ ## [1.0.0-alpha.40](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.39...v1.0.0-alpha.40) (2022-03-26)
136
+
137
+ **Note:** Version bump only for package @operato/utils
138
+
139
+
140
+
141
+
142
+
143
+ ## [1.0.0-alpha.39](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.38...v1.0.0-alpha.39) (2022-03-25)
144
+
145
+ **Note:** Version bump only for package @operato/utils
146
+
147
+
148
+
149
+
150
+
151
+ ## [1.0.0-alpha.38](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.37...v1.0.0-alpha.38) (2022-03-25)
152
+
153
+ **Note:** Version bump only for package @operato/utils
154
+
155
+
156
+
157
+
158
+
159
+ ## [1.0.0-alpha.37](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.36...v1.0.0-alpha.37) (2022-03-25)
160
+
161
+ **Note:** Version bump only for package @operato/utils
162
+
163
+
164
+
165
+
166
+
167
+ ## [1.0.0-alpha.36](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.35...v1.0.0-alpha.36) (2022-03-21)
168
+
169
+ **Note:** Version bump only for package @operato/utils
170
+
171
+
172
+
173
+
174
+
175
+ ## [1.0.0-alpha.35](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.34...v1.0.0-alpha.35) (2022-03-21)
176
+
177
+ **Note:** Version bump only for package @operato/utils
178
+
179
+
180
+
181
+
182
+
183
+ ## [1.0.0-alpha.34](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.33...v1.0.0-alpha.34) (2022-03-20)
184
+
185
+ **Note:** Version bump only for package @operato/utils
186
+
187
+
188
+
189
+
190
+
191
+ ## [1.0.0-alpha.33](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.32...v1.0.0-alpha.33) (2022-03-19)
192
+
193
+ **Note:** Version bump only for package @operato/utils
194
+
195
+
196
+
197
+
198
+
199
+ ## [1.0.0-alpha.32](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.31...v1.0.0-alpha.32) (2022-03-19)
200
+
201
+ **Note:** Version bump only for package @operato/utils
202
+
203
+
204
+
205
+
206
+
207
+ ## [1.0.0-alpha.31](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.30...v1.0.0-alpha.31) (2022-03-19)
208
+
209
+
210
+ ### :bug: Bug Fix
211
+
212
+ * ox-grist-renderer support class type renderer (refer ox-grist-renderer-progress) ([ad7c8e1](https://github.com/hatiolab/operato/commit/ad7c8e1b453d19af9daa13ae4eb7c2059d85dfbb))
213
+
214
+
215
+
216
+ ## [1.0.0-alpha.30](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.29...v1.0.0-alpha.30) (2022-03-18)
217
+
218
+ **Note:** Version bump only for package @operato/utils
219
+
220
+
221
+
222
+
223
+
224
+ ## [1.0.0-alpha.29](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.28...v1.0.0-alpha.29) (2022-03-17)
225
+
226
+ **Note:** Version bump only for package @operato/utils
227
+
228
+
229
+
230
+
231
+
232
+ ## [1.0.0-alpha.28](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.26...v1.0.0-alpha.28) (2022-03-17)
233
+
234
+ **Note:** Version bump only for package @operato/utils
235
+
236
+
237
+
238
+
239
+
240
+ ## [1.0.0-alpha.27](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.26...v1.0.0-alpha.27) (2022-03-17)
241
+
242
+ **Note:** Version bump only for package @operato/utils
243
+
244
+
245
+
246
+
247
+
248
+ ## [1.0.0-alpha.26](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.25...v1.0.0-alpha.26) (2022-03-17)
249
+
250
+ **Note:** Version bump only for package @operato/utils
251
+
252
+
253
+
254
+
255
+
256
+ ## [1.0.0-alpha.25](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.24...v1.0.0-alpha.25) (2022-03-17)
257
+
258
+ **Note:** Version bump only for package @operato/utils
259
+
260
+
261
+
262
+
263
+
264
+ ## [1.0.0-alpha.24](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.23...v1.0.0-alpha.24) (2022-03-17)
265
+
266
+ **Note:** Version bump only for package @operato/utils
267
+
268
+
269
+
270
+
271
+
272
+ ## [1.0.0-alpha.23](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.22...v1.0.0-alpha.23) (2022-03-17)
273
+
274
+ **Note:** Version bump only for package @operato/utils
275
+
276
+
277
+
278
+
279
+
280
+ ## [1.0.0-alpha.22](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.21...v1.0.0-alpha.22) (2022-03-17)
281
+
282
+ **Note:** Version bump only for package @operato/utils
283
+
284
+
285
+
286
+
287
+
288
+ ## [1.0.0-alpha.21](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.20...v1.0.0-alpha.21) (2022-03-16)
289
+
290
+ **Note:** Version bump only for package @operato/utils
291
+
292
+
293
+
294
+
295
+
296
+ ## [1.0.0-alpha.20](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.19...v1.0.0-alpha.20) (2022-03-15)
297
+
298
+ **Note:** Version bump only for package @operato/utils
299
+
300
+
301
+
302
+
303
+
304
+ ## [1.0.0-alpha.19](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.18...v1.0.0-alpha.19) (2022-03-14)
305
+
306
+ **Note:** Version bump only for package @operato/utils
307
+
308
+
309
+
310
+
311
+
312
+ ## [1.0.0-alpha.18](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.17...v1.0.0-alpha.18) (2022-03-14)
313
+
314
+ **Note:** Version bump only for package @operato/utils
315
+
316
+
317
+
318
+
319
+
320
+ ## [1.0.0-alpha.17](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.16...v1.0.0-alpha.17) (2022-03-13)
321
+
322
+ **Note:** Version bump only for package @operato/utils
323
+
324
+
325
+
326
+
327
+
328
+ ## [1.0.0-alpha.16](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.15...v1.0.0-alpha.16) (2022-03-13)
329
+
330
+ **Note:** Version bump only for package @operato/utils
331
+
332
+
333
+
334
+
335
+
336
+ ## [1.0.0-alpha.15](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.14...v1.0.0-alpha.15) (2022-03-13)
337
+
338
+ **Note:** Version bump only for package @operato/utils
339
+
340
+
341
+
342
+
343
+
344
+ ## [1.0.0-alpha.14](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.13...v1.0.0-alpha.14) (2022-03-13)
345
+
346
+ **Note:** Version bump only for package @operato/utils
347
+
348
+
349
+
350
+
351
+
352
+ ## [1.0.0-alpha.13](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.12...v1.0.0-alpha.13) (2022-03-13)
353
+
354
+ **Note:** Version bump only for package @operato/utils
355
+
356
+
357
+
358
+
359
+
360
+ ## [1.0.0-alpha.12](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.11...v1.0.0-alpha.12) (2022-03-13)
361
+
362
+ **Note:** Version bump only for package @operato/utils
363
+
364
+
365
+
366
+
367
+
368
+ ## [1.0.0-alpha.11](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.10...v1.0.0-alpha.11) (2022-03-12)
369
+
370
+ **Note:** Version bump only for package @operato/utils
371
+
372
+
373
+
374
+
375
+
376
+ ## [1.0.0-alpha.10](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.9...v1.0.0-alpha.10) (2022-03-12)
377
+
378
+ **Note:** Version bump only for package @operato/utils
379
+
380
+
381
+
382
+
383
+
6
384
  ## [1.0.0-alpha.9](https://github.com/hatiolab/operato/compare/v1.0.0-alpha.8...v1.0.0-alpha.9) (2022-03-12)
7
385
 
8
386
 
@@ -0,0 +1 @@
1
+ export declare function detectOverflow(el: HTMLElement): boolean;
@@ -0,0 +1,9 @@
1
+ export function detectOverflow(el) {
2
+ var styleOverflow = el.style.overflow;
3
+ if (!styleOverflow || styleOverflow === 'visible')
4
+ el.style.overflow = 'hidden';
5
+ var overflowed = el.clientWidth < el.scrollWidth || el.clientHeight < el.scrollHeight;
6
+ el.style.overflow = styleOverflow;
7
+ return overflowed;
8
+ }
9
+ //# sourceMappingURL=detect-overflow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect-overflow.js","sourceRoot":"","sources":["../../src/detect-overflow.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc,CAAC,EAAe;IAC5C,IAAI,aAAa,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAA;IAErC,IAAI,CAAC,aAAa,IAAI,aAAa,KAAK,SAAS;QAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAE/E,IAAI,UAAU,GAAG,EAAE,CAAC,WAAW,GAAG,EAAE,CAAC,WAAW,IAAI,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAA;IAErF,EAAE,CAAC,KAAK,CAAC,QAAQ,GAAG,aAAa,CAAA;IAEjC,OAAO,UAAU,CAAA;AACnB,CAAC","sourcesContent":["export function detectOverflow(el: HTMLElement) {\n var styleOverflow = el.style.overflow\n\n if (!styleOverflow || styleOverflow === 'visible') el.style.overflow = 'hidden'\n\n var overflowed = el.clientWidth < el.scrollWidth || el.clientHeight < el.scrollHeight\n\n el.style.overflow = styleOverflow\n\n return overflowed\n}\n"]}
@@ -6,4 +6,6 @@ export * from './swipe-listener.js';
6
6
  export * from './fullscreen.js';
7
7
  export * from './parse-jwt.js';
8
8
  export * from './password-pattern.js';
9
- export * from './closest-element';
9
+ export * from './closest-element.js';
10
+ export * from './detect-overflow.js';
11
+ export * from './timecapsule/index.js';
package/dist/src/index.js CHANGED
@@ -6,5 +6,7 @@ export * from './swipe-listener.js';
6
6
  export * from './fullscreen.js';
7
7
  export * from './parse-jwt.js';
8
8
  export * from './password-pattern.js';
9
- export * from './closest-element';
9
+ export * from './closest-element.js';
10
+ export * from './detect-overflow.js';
11
+ export * from './timecapsule/index.js';
10
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA;AACjC,cAAc,SAAS,CAAA;AACvB,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA","sourcesContent":["export * from './sleep.js'\nexport * from './file-drop-helper.js'\nexport * from './context-path.js'\nexport * from './os.js'\nexport * from './swipe-listener.js'\nexport * from './fullscreen.js'\nexport * from './parse-jwt.js'\nexport * from './password-pattern.js'\nexport * from './closest-element'\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,uBAAuB,CAAA;AACrC,cAAc,mBAAmB,CAAA;AACjC,cAAc,SAAS,CAAA;AACvB,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA","sourcesContent":["export * from './sleep.js'\nexport * from './file-drop-helper.js'\nexport * from './context-path.js'\nexport * from './os.js'\nexport * from './swipe-listener.js'\nexport * from './fullscreen.js'\nexport * from './parse-jwt.js'\nexport * from './password-pattern.js'\nexport * from './closest-element.js'\nexport * from './detect-overflow.js'\nexport * from './timecapsule/index.js'\n"]}
@@ -0,0 +1,3 @@
1
+ export declare var error: (...args: any[]) => void;
2
+ export declare var warn: (...args: any[]) => void;
3
+ export declare var debug: (...args: any[]) => void;
@@ -0,0 +1,18 @@
1
+ /*
2
+ * Copyright © HatioLab Inc. All rights reserved.
3
+ */
4
+ const ERROR = '[ERROR]';
5
+ const WARN = '[WARN]';
6
+ const DEBUG = '[DEBUG]';
7
+ export var error = (...args) => {
8
+ var trace = [];
9
+ args.forEach(arg => arg && arg.stack && trace.push(arg.stack));
10
+ console.error(ERROR, ...args, trace.join(' '));
11
+ };
12
+ export var warn = (...args) => {
13
+ var trace = [];
14
+ args.forEach(arg => arg && arg.stack && trace.push(arg.stack));
15
+ console.warn(WARN, ...args, trace.join(' '));
16
+ };
17
+ export var debug = (...args) => console.log(DEBUG, ...args);
18
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,KAAK,GAAG,SAAS,CAAA;AACvB,MAAM,IAAI,GAAG,QAAQ,CAAA;AACrB,MAAM,KAAK,GAAG,SAAS,CAAA;AAEvB,MAAM,CAAC,IAAI,KAAK,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;IACpC,IAAI,KAAK,GAAG,EAAc,CAAA;IAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9D,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAChD,CAAC,CAAA;AAED,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;IACnC,IAAI,KAAK,GAAG,EAAc,CAAA;IAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9D,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAC9C,CAAC,CAAA;AAED,MAAM,CAAC,IAAI,KAAK,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAA","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nconst ERROR = '[ERROR]'\nconst WARN = '[WARN]'\nconst DEBUG = '[DEBUG]'\n\nexport var error = (...args: any[]) => {\n var trace = [] as string[]\n args.forEach(arg => arg && arg.stack && trace.push(arg.stack))\n console.error(ERROR, ...args, trace.join(' '))\n}\n\nexport var warn = (...args: any[]) => {\n var trace = [] as string[]\n args.forEach(arg => arg && arg.stack && trace.push(arg.stack))\n console.warn(WARN, ...args, trace.join(' '))\n}\n\nexport var debug = (...args: any[]) => console.log(DEBUG, ...args)\n"]}
@@ -0,0 +1,2 @@
1
+ export * from './timecapsule.js';
2
+ export * from './snapshot-taker.js';
@@ -0,0 +1,3 @@
1
+ export * from './timecapsule.js';
2
+ export * from './snapshot-taker.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/timecapsule/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA","sourcesContent":["export * from './timecapsule.js'\nexport * from './snapshot-taker.js'\n"]}
@@ -0,0 +1,16 @@
1
+ import { TimeCapsule } from './timecapsule';
2
+ export declare type StateHolder = {
3
+ state: any;
4
+ };
5
+ export declare class SnapshotTaker {
6
+ private _brake;
7
+ dirty: boolean;
8
+ state_holder?: StateHolder;
9
+ timecapsule?: TimeCapsule;
10
+ constructor(state_holder: any, timecapsule: TimeCapsule);
11
+ dispose(): void;
12
+ touch(): void;
13
+ take(force?: boolean): void;
14
+ get brake(): boolean;
15
+ set brake(brake: boolean);
16
+ }
@@ -0,0 +1,48 @@
1
+ /*
2
+ * Copyright © HatioLab Inc. All rights reserved.
3
+ */
4
+ import debounce from 'lodash-es/debounce';
5
+ var debouncer = debounce(taker => {
6
+ if (!taker.brake) {
7
+ taker.take();
8
+ }
9
+ }, 1000, { leading: true, trailing: false });
10
+ function take_snapshot(taker) {
11
+ if (taker.brake || !taker.dirty)
12
+ return;
13
+ debouncer(taker);
14
+ }
15
+ export class SnapshotTaker {
16
+ constructor(state_holder, timecapsule) {
17
+ this._brake = false;
18
+ this.dirty = false;
19
+ this.state_holder = state_holder;
20
+ this.timecapsule = timecapsule;
21
+ this.timecapsule.snapshot_taker = this;
22
+ }
23
+ dispose() {
24
+ delete this.state_holder;
25
+ delete this.timecapsule;
26
+ }
27
+ touch() {
28
+ this.dirty = true;
29
+ take_snapshot(this);
30
+ }
31
+ /* 모든 조건에 관계없이 현재 상태를 snapshot으로 취한다. */
32
+ take(force = false) {
33
+ var _a, _b;
34
+ if (this.dirty || force) {
35
+ (_a = this.timecapsule) === null || _a === void 0 ? void 0 : _a.snapshot((_b = this.state_holder) === null || _b === void 0 ? void 0 : _b.state);
36
+ this.dirty = false;
37
+ }
38
+ }
39
+ get brake() {
40
+ return this._brake;
41
+ }
42
+ /* 마우스를 드래깅하는 동안, 보통 brake 를 ON 시킨다. */
43
+ set brake(brake) {
44
+ this._brake = !!brake;
45
+ take_snapshot(this);
46
+ }
47
+ }
48
+ //# sourceMappingURL=snapshot-taker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot-taker.js","sourceRoot":"","sources":["../../../src/timecapsule/snapshot-taker.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,QAAQ,MAAM,oBAAoB,CAAA;AAEzC,IAAI,SAAS,GAAG,QAAQ,CACtB,KAAK,CAAC,EAAE;IACN,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;QAChB,KAAK,CAAC,IAAI,EAAE,CAAA;KACb;AACH,CAAC,EACD,IAAI,EACJ,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CACnC,CAAA;AAED,SAAS,aAAa,CAAC,KAAoB;IACzC,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK;QAAE,OAAM;IACvC,SAAS,CAAC,KAAK,CAAC,CAAA;AAClB,CAAC;AAMD,MAAM,OAAO,aAAa;IAQxB,YAAY,YAAiB,EAAE,WAAwB;QAP/C,WAAM,GAAY,KAAK,CAAA;QAE/B,UAAK,GAAY,KAAK,CAAA;QAMpB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG,IAAI,CAAA;IACxC,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,YAAY,CAAA;QACxB,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,aAAa,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC;IAED,wCAAwC;IACxC,IAAI,CAAC,QAAiB,KAAK;;QACzB,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,EAAE;YACvB,MAAA,IAAI,CAAC,WAAW,0CAAE,QAAQ,CAAC,MAAA,IAAI,CAAC,YAAY,0CAAE,KAAK,CAAC,CAAA;YACpD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;SACnB;IACH,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,uCAAuC;IACvC,IAAI,KAAK,CAAC,KAAK;QACb,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAA;QACrB,aAAa,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC;CACF","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport { TimeCapsule } from './timecapsule'\nimport debounce from 'lodash-es/debounce'\n\nvar debouncer = debounce(\n taker => {\n if (!taker.brake) {\n taker.take()\n }\n },\n 1000,\n { leading: true, trailing: false }\n)\n\nfunction take_snapshot(taker: SnapshotTaker) {\n if (taker.brake || !taker.dirty) return\n debouncer(taker)\n}\n\nexport type StateHolder = {\n state: any\n}\n\nexport class SnapshotTaker {\n private _brake: boolean = false\n\n dirty: boolean = false\n\n state_holder?: StateHolder\n timecapsule?: TimeCapsule\n\n constructor(state_holder: any, timecapsule: TimeCapsule) {\n this.state_holder = state_holder\n this.timecapsule = timecapsule\n this.timecapsule.snapshot_taker = this\n }\n\n dispose() {\n delete this.state_holder\n delete this.timecapsule\n }\n\n touch() {\n this.dirty = true\n take_snapshot(this)\n }\n\n /* 모든 조건에 관계없이 현재 상태를 snapshot으로 취한다. */\n take(force: boolean = false) {\n if (this.dirty || force) {\n this.timecapsule?.snapshot(this.state_holder?.state)\n this.dirty = false\n }\n }\n\n get brake() {\n return this._brake\n }\n\n /* 마우스를 드래깅하는 동안, 보통 brake 를 ON 시킨다. */\n set brake(brake) {\n this._brake = !!brake\n take_snapshot(this)\n }\n}\n"]}
@@ -0,0 +1,19 @@
1
+ import { SnapshotTaker } from './snapshot-taker';
2
+ export declare class TimeCapsule {
3
+ private q;
4
+ private maxsize;
5
+ private pos;
6
+ private _snapshot_taker;
7
+ constructor(maxsize: number, start_state?: any);
8
+ dispose(): void;
9
+ snapshot(state: any): void;
10
+ forward(): any;
11
+ backward(): any;
12
+ get current(): any;
13
+ get length(): number;
14
+ get forwardable(): boolean;
15
+ get backwardable(): boolean;
16
+ get snapshot_taker(): SnapshotTaker | null;
17
+ set snapshot_taker(snapshot_taker: SnapshotTaker | null);
18
+ reset(): void;
19
+ }
@@ -0,0 +1,74 @@
1
+ /*
2
+ * Copyright © HatioLab Inc. All rights reserved.
3
+ */
4
+ import { error, warn } from '../logger';
5
+ export class TimeCapsule {
6
+ constructor(maxsize, start_state) {
7
+ this.q = [];
8
+ this.maxsize = 10;
9
+ this.pos = -1;
10
+ this._snapshot_taker = null;
11
+ maxsize = Number(maxsize);
12
+ if (!maxsize || maxsize <= 0) {
13
+ error('TimeCapsule maxsize should be greater than 0.', maxsize);
14
+ }
15
+ else {
16
+ this.maxsize = maxsize;
17
+ }
18
+ this.reset();
19
+ if (start_state) {
20
+ this.snapshot(start_state);
21
+ }
22
+ }
23
+ dispose() {
24
+ this.reset();
25
+ }
26
+ snapshot(state) {
27
+ this.q.splice(this.pos + 1, this.q.length - (this.pos + 1), state);
28
+ if (this.q.length > this.maxsize) {
29
+ this.q.splice(0, this.q.length - this.maxsize);
30
+ }
31
+ this.pos = this.q.length - 1;
32
+ }
33
+ forward() {
34
+ if (this.snapshot_taker)
35
+ this.snapshot_taker.take();
36
+ if (this.forwardable) {
37
+ return this.q[++this.pos];
38
+ }
39
+ warn('Not forwardable.');
40
+ }
41
+ backward() {
42
+ if (this.snapshot_taker)
43
+ this.snapshot_taker.take();
44
+ if (this.backwardable) {
45
+ return this.q[--this.pos];
46
+ }
47
+ warn('Not backwardable.');
48
+ }
49
+ get current() {
50
+ if (this.pos !== -1)
51
+ return this.q[this.pos];
52
+ warn('Non state has been recorded.');
53
+ }
54
+ get length() {
55
+ return this.q.length;
56
+ }
57
+ get forwardable() {
58
+ return this.pos < this.q.length - 1;
59
+ }
60
+ get backwardable() {
61
+ return this.pos > 0;
62
+ }
63
+ get snapshot_taker() {
64
+ return this._snapshot_taker;
65
+ }
66
+ set snapshot_taker(snapshot_taker) {
67
+ this._snapshot_taker = snapshot_taker;
68
+ }
69
+ reset() {
70
+ this.q = [];
71
+ this.pos = -1;
72
+ }
73
+ }
74
+ //# sourceMappingURL=timecapsule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timecapsule.js","sourceRoot":"","sources":["../../../src/timecapsule/timecapsule.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAS,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAI9C,MAAM,OAAO,WAAW;IAOtB,YAAY,OAAe,EAAE,WAAiB;QANtC,MAAC,GAAe,EAAE,CAAA;QAClB,YAAO,GAAG,EAAE,CAAA;QACZ,QAAG,GAAG,CAAC,CAAC,CAAA;QAER,oBAAe,GAAyB,IAAI,CAAA;QAGlD,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;QAEzB,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,EAAE;YAC5B,KAAK,CAAC,+CAA+C,EAAE,OAAO,CAAC,CAAA;SAChE;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;SACvB;QAED,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,IAAI,WAAW,EAAE;YACf,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;SAC3B;IACH,CAAC;IAED,OAAO;QACL,IAAI,CAAC,KAAK,EAAE,CAAA;IACd,CAAC;IAED,QAAQ,CAAC,KAAU;QACjB,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QAElE,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE;YAChC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAA;SAC/C;QAED,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IAC9B,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,cAAc;YAAE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;QAEnD,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;SAC1B;QACD,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAC1B,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,cAAc;YAAE,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;QAEnD,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;SAC1B;QACD,IAAI,CAAC,mBAAmB,CAAC,CAAA;IAC3B,CAAC;IAED,IAAI,OAAO;QACT,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAE5C,IAAI,CAAC,8BAA8B,CAAC,CAAA;IACtC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAA;IACtB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IACrC,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,GAAG,GAAG,CAAC,CAAA;IACrB,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAA;IAC7B,CAAC;IAED,IAAI,cAAc,CAAC,cAAoC;QACrD,IAAI,CAAC,eAAe,GAAG,cAAc,CAAA;IACvC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,CAAC,GAAG,EAAE,CAAA;QACX,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;IACf,CAAC;CACF","sourcesContent":["/*\n * Copyright © HatioLab Inc. All rights reserved.\n */\n\nimport { debug, error, warn } from '../logger'\n\nimport { SnapshotTaker } from './snapshot-taker'\n\nexport class TimeCapsule {\n private q: Array<any> = []\n private maxsize = 10\n private pos = -1\n\n private _snapshot_taker: SnapshotTaker | null = null\n\n constructor(maxsize: number, start_state?: any) {\n maxsize = Number(maxsize)\n\n if (!maxsize || maxsize <= 0) {\n error('TimeCapsule maxsize should be greater than 0.', maxsize)\n } else {\n this.maxsize = maxsize\n }\n\n this.reset()\n if (start_state) {\n this.snapshot(start_state)\n }\n }\n\n dispose() {\n this.reset()\n }\n\n snapshot(state: any) {\n this.q.splice(this.pos + 1, this.q.length - (this.pos + 1), state)\n\n if (this.q.length > this.maxsize) {\n this.q.splice(0, this.q.length - this.maxsize)\n }\n\n this.pos = this.q.length - 1\n }\n\n forward() {\n if (this.snapshot_taker) this.snapshot_taker.take()\n\n if (this.forwardable) {\n return this.q[++this.pos]\n }\n warn('Not forwardable.')\n }\n\n backward() {\n if (this.snapshot_taker) this.snapshot_taker.take()\n\n if (this.backwardable) {\n return this.q[--this.pos]\n }\n warn('Not backwardable.')\n }\n\n get current() {\n if (this.pos !== -1) return this.q[this.pos]\n\n warn('Non state has been recorded.')\n }\n\n get length() {\n return this.q.length\n }\n\n get forwardable() {\n return this.pos < this.q.length - 1\n }\n\n get backwardable() {\n return this.pos > 0\n }\n\n get snapshot_taker(): SnapshotTaker | null {\n return this._snapshot_taker\n }\n\n set snapshot_taker(snapshot_taker: SnapshotTaker | null) {\n this._snapshot_taker = snapshot_taker\n }\n\n reset() {\n this.q = []\n this.pos = -1\n }\n}\n"]}
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/tslib/tslib.d.ts","../src/closest-element.ts","../src/context-path.ts","../src/file-drop-helper.ts","../src/fullscreen.ts","../src/sleep.ts","../src/os.ts","../src/swipe-listener.ts","../src/parse-jwt.ts","../src/password-pattern.ts","../src/index.ts","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../../../node_modules/@types/lodash-es/debounce.d.ts","../src/mixins/infinite-scrollable.ts","../src/mixins/index.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/mocha/index.d.ts"],"fileInfos":[{"version":"3ac1b83264055b28c0165688fda6dfcc39001e9e7828f649299101c23ad0a0c3","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940",{"version":"72704b10d97777e15f1a581b73f88273037ef752d2e50b72287bd0a90af64fe6","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"5075b36ab861c8c0c45377cb8c96270d7c65f0eeaf105d53fac6850da61f1027","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"12f4cfe2fe60b810c3174537bc2ddb20c1067b7768643d12cb1266fd183afb75","85573ed05c22739025d15d9e1eedd0314063dd1ec16e9a566911f6db2791a01e","a84f74a36313258ea3bf2fa085568a35530a423035037be03ce67e02c768787f","69ef8de8a4e2551f1a0e21d82a04d233fb5d7d8a1f8db661a1a18e880b4e7545","b18b9acb5cff76a70fec4f1effd260b9f956bba6edb28c1e160979f0b9a51dd6","d9e51838c1aa2a91b7d2a495adb92ab70eb35c81fcd3b359c2509903958bf3f8","ed98b233e8585a584c2fa1dddb6dd6ec23bf886d7fc3b26d6524c61e97e25f46","d1d0e3e5bd9e070e932c938bd580da6fce3b6a9e230b7156584f7b38ce3a9c4e","f1f7164489347eacf6f1239bcae173a72047ee9be4ba8cd7f4f6af42e8155ce8","75c214d02f82e035a0dc7ca93601b3ddecd4a723d32d1d9f45bd429debbc36f9","c309418d59aa5a926ee2bac969b1c15bdc2301733161335a6af07d56a8a20a06","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","fe4a2042d087990ebfc7dc0142d5aaf5a152e4baea86b45f283f103ec1e871ea","d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","c24ad9be9adf28f0927e3d9d9e9cec1c677022356f241ccbbfb97bfe8fb3d1a1","0ec0998e2d085e8ea54266f547976ae152c9dd6cdb9ac4d8a520a230f5ebae84","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","ae9930989ed57478eb03b9b80ad3efa7a3eacdfeff0f78ecf7894c4963a64f93","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","6ac6f24aff52e62c3950461aa17eab26e3a156927858e6b654baef0058b4cd1e",{"version":"0714e2046df66c0e93c3330d30dbc0565b3e8cd3ee302cf99e4ede6220e5fec8","affectsGlobalScope":true},"30905c89260ca8da4e72345c72f8e80beb9cc39ee2ee48261e63f76ea1874d1e","dc984830a76f40e1dae38ef53b738123440b728674739ebf60c7284b6586ae27",{"version":"14fd84e1f3037c24aa5e5c9b6c4250e9effeea0fae526277c8ac4890310273c6","signature":"2045cb057c6163f5d5bb4d12655bb1449383952bcd3b7a7a62b2848e420245c1"},"0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"c2ab70bbc7a24c42a790890739dd8a0ba9d2e15038b40dff8163a97a5d148c00","affectsGlobalScope":true},"422dbb183fdced59425ca072c8bd09efaa77ce4e2ab928ec0d8a1ce062d2a45a",{"version":"712ba0d43b44d144dfd01593f61af6e2e21cfae83e834d297643e7973e55ed61","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","98a3ebfa494b46265634a73459050befba5da8fdc6ca0ef9b7269421780f4ff3","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","cc0b61316c4f37393f1f9595e93b673f4184e9d07f4c127165a490ec4a928668","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"7a5459efa09ea82088234e6533a203d528c594b01787fb90fba148885a36e8b6","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","ad41bb744149e92adb06eb953da195115620a3f2ad48e7d3ae04d10762dae197","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"5d0a9ea09d990b5788f867f1c79d4878f86f7384cb7dab38eecbf22f9efd063d","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","e383ff72aabf294913f8c346f5da1445ae6ad525836d28efd52cbadc01a361a6","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8",{"version":"5f186a758a616c107c70e8918db4630d063bd782f22e6e0b17573b125765b40b","affectsGlobalScope":true}],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"esModuleInterop":false,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":99,"noEmitOnError":true,"outDir":"./","rootDir":"..","sourceMap":true,"strict":true,"target":5,"useDefineForClassFields":false},"fileIdsList":[[63,110],[51,53,54,55,56,57,58,59,60,61,62,63,110],[51,52,54,55,56,57,58,59,60,61,62,63,110],[52,53,54,55,56,57,58,59,60,61,62,63,110],[51,52,53,55,56,57,58,59,60,61,62,63,110],[51,52,53,54,56,57,58,59,60,61,62,63,110],[51,52,53,54,55,57,58,59,60,61,62,63,110],[51,52,53,54,55,56,58,59,60,61,62,63,110],[51,52,53,54,55,56,57,59,60,61,62,63,110],[51,52,53,54,55,56,57,58,60,61,62,63,110],[51,52,53,54,55,56,57,58,59,61,62,63,110],[51,52,53,54,55,56,57,58,59,60,62,63,110],[51,52,53,54,55,56,57,58,59,60,61,63,110],[51,52,53,54,55,56,57,58,59,60,61,62,110],[110],[67,110],[70,110],[71,76,110],[72,82,83,90,99,109,110],[72,73,82,90,110],[74,110],[75,76,83,91,110],[76,99,106,110],[77,79,82,90,110],[78,110],[79,80,110],[81,82,110],[82,110],[82,83,84,99,109,110],[82,83,84,99,110],[85,90,99,109,110],[82,83,85,86,90,99,106,109,110],[85,87,99,106,109,110],[67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116],[82,88,110],[89,109,110],[79,82,90,99,110],[91,110],[92,110],[70,93,110],[94,108,110,114],[95,110],[96,110],[82,97,110],[97,98,110,112],[82,99,100,101,110],[99,101,110],[99,100,110],[102,110],[103,110],[82,104,105,110],[104,105,110],[76,90,99,106,110],[107,110],[90,108,110],[71,85,96,109,110],[76,110],[99,110,111],[110,112],[110,113],[71,76,82,84,93,99,109,110,112,114],[99,110,115],[40,110],[40,41,42,43,44,45,46,47,48,49,110],[40,65,110],[40,64,110],[65]],"referencedMap":[[64,1],[52,2],[53,3],[51,4],[54,5],[55,6],[56,7],[57,8],[58,9],[59,10],[60,11],[61,12],[62,13],[63,14],[118,15],[67,16],[68,16],[70,17],[71,18],[72,19],[73,20],[74,21],[75,22],[76,23],[77,24],[78,25],[79,26],[80,26],[81,27],[82,28],[83,29],[84,30],[69,15],[116,15],[85,31],[86,32],[87,33],[117,34],[88,35],[89,36],[90,37],[91,38],[92,39],[93,40],[94,41],[95,42],[96,43],[97,44],[98,45],[99,46],[101,47],[100,48],[102,49],[103,50],[104,51],[105,52],[106,53],[107,54],[108,55],[109,56],[110,57],[111,58],[112,59],[113,60],[114,61],[115,62],[40,15],[8,15],[10,15],[9,15],[2,15],[11,15],[12,15],[13,15],[14,15],[15,15],[16,15],[17,15],[18,15],[3,15],[4,15],[22,15],[19,15],[20,15],[21,15],[23,15],[24,15],[25,15],[5,15],[26,15],[27,15],[28,15],[29,15],[6,15],[30,15],[31,15],[32,15],[33,15],[7,15],[38,15],[34,15],[35,15],[36,15],[37,15],[1,15],[39,15],[41,63],[42,63],[43,63],[44,63],[50,64],[66,65],[65,66],[46,63],[48,63],[49,63],[45,63],[47,63]],"exportedModulesMap":[[64,1],[52,2],[53,3],[51,4],[54,5],[55,6],[56,7],[57,8],[58,9],[59,10],[60,11],[61,12],[62,13],[63,14],[118,15],[67,16],[68,16],[70,17],[71,18],[72,19],[73,20],[74,21],[75,22],[76,23],[77,24],[78,25],[79,26],[80,26],[81,27],[82,28],[83,29],[84,30],[69,15],[116,15],[85,31],[86,32],[87,33],[117,34],[88,35],[89,36],[90,37],[91,38],[92,39],[93,40],[94,41],[95,42],[96,43],[97,44],[98,45],[99,46],[101,47],[100,48],[102,49],[103,50],[104,51],[105,52],[106,53],[107,54],[108,55],[109,56],[110,57],[111,58],[112,59],[113,60],[114,61],[115,62],[40,15],[8,15],[10,15],[9,15],[2,15],[11,15],[12,15],[13,15],[14,15],[15,15],[16,15],[17,15],[18,15],[3,15],[4,15],[22,15],[19,15],[20,15],[21,15],[23,15],[24,15],[25,15],[5,15],[26,15],[27,15],[28,15],[29,15],[6,15],[30,15],[31,15],[32,15],[33,15],[7,15],[38,15],[34,15],[35,15],[36,15],[37,15],[1,15],[39,15],[41,63],[42,63],[43,63],[44,63],[50,64],[66,67],[65,66],[46,63],[48,63],[49,63],[45,63],[47,63]],"semanticDiagnosticsPerFile":[64,52,53,51,54,55,56,57,58,59,60,61,62,63,118,67,68,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,69,116,85,86,87,117,88,89,90,91,92,93,94,95,96,97,98,99,101,100,102,103,104,105,106,107,108,109,110,111,112,113,114,115,40,8,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,30,31,32,33,7,38,34,35,36,37,1,39,41,42,43,44,50,66,65,46,48,49,45,47]},"version":"4.6.2"}
1
+ {"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/tslib/tslib.d.ts","../src/closest-element.ts","../src/context-path.ts","../src/detect-overflow.ts","../src/file-drop-helper.ts","../src/fullscreen.ts","../src/sleep.ts","../src/os.ts","../src/swipe-listener.ts","../src/parse-jwt.ts","../src/password-pattern.ts","../src/logger.ts","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../../../node_modules/@types/lodash-es/debounce.d.ts","../src/timecapsule/snapshot-taker.ts","../src/timecapsule/timecapsule.ts","../src/timecapsule/index.ts","../src/index.ts","../src/mixins/infinite-scrollable.ts","../src/mixins/index.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/mocha/index.d.ts"],"fileInfos":[{"version":"3ac1b83264055b28c0165688fda6dfcc39001e9e7828f649299101c23ad0a0c3","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940",{"version":"72704b10d97777e15f1a581b73f88273037ef752d2e50b72287bd0a90af64fe6","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"5075b36ab861c8c0c45377cb8c96270d7c65f0eeaf105d53fac6850da61f1027","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"12f4cfe2fe60b810c3174537bc2ddb20c1067b7768643d12cb1266fd183afb75","85573ed05c22739025d15d9e1eedd0314063dd1ec16e9a566911f6db2791a01e","a84f74a36313258ea3bf2fa085568a35530a423035037be03ce67e02c768787f","0475cae2f2c18a258b1494822bd43f7051df50515385edd3b99c72b0e3301ed5","69ef8de8a4e2551f1a0e21d82a04d233fb5d7d8a1f8db661a1a18e880b4e7545","b18b9acb5cff76a70fec4f1effd260b9f956bba6edb28c1e160979f0b9a51dd6","d9e51838c1aa2a91b7d2a495adb92ab70eb35c81fcd3b359c2509903958bf3f8","ed98b233e8585a584c2fa1dddb6dd6ec23bf886d7fc3b26d6524c61e97e25f46","d1d0e3e5bd9e070e932c938bd580da6fce3b6a9e230b7156584f7b38ce3a9c4e","f1f7164489347eacf6f1239bcae173a72047ee9be4ba8cd7f4f6af42e8155ce8","75c214d02f82e035a0dc7ca93601b3ddecd4a723d32d1d9f45bd429debbc36f9","ea1aa58b3e54ef656be66b5615f8e3d8d076060e906937e4d9063a5bcd652137","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","fe4a2042d087990ebfc7dc0142d5aaf5a152e4baea86b45f283f103ec1e871ea","d70c026dd2eeaa974f430ea229230a1897fdb897dc74659deebe2afd4feeb08f","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","c24ad9be9adf28f0927e3d9d9e9cec1c677022356f241ccbbfb97bfe8fb3d1a1","ca59fe42b81228a317812e95a2e72ccc8c7f1911b5f0c2a032adf41a0161ec5d","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","ae9930989ed57478eb03b9b80ad3efa7a3eacdfeff0f78ecf7894c4963a64f93","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9",{"version":"0714e2046df66c0e93c3330d30dbc0565b3e8cd3ee302cf99e4ede6220e5fec8","affectsGlobalScope":true},"30905c89260ca8da4e72345c72f8e80beb9cc39ee2ee48261e63f76ea1874d1e","3a5b589a7d548d2cad6407a7c0d0b5710a4d0ba60ef3a98f52526dd46490ae31","48bae6e2098c745f770e2a65e559c350c8915d4ae6e0e878382d32c6fde4062e","b3725f31a113200e0a0266278f33e64ba879874b0acf6837054f9acd34719588","b539f6e70f20e12e9775ea01f3d8bf6d30c42ee69a81f696c37410a056684a4f","dc984830a76f40e1dae38ef53b738123440b728674739ebf60c7284b6586ae27","14fd84e1f3037c24aa5e5c9b6c4250e9effeea0fae526277c8ac4890310273c6","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"c2ab70bbc7a24c42a790890739dd8a0ba9d2e15038b40dff8163a97a5d148c00","affectsGlobalScope":true},"422dbb183fdced59425ca072c8bd09efaa77ce4e2ab928ec0d8a1ce062d2a45a",{"version":"712ba0d43b44d144dfd01593f61af6e2e21cfae83e834d297643e7973e55ed61","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","98a3ebfa494b46265634a73459050befba5da8fdc6ca0ef9b7269421780f4ff3","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","cc0b61316c4f37393f1f9595e93b673f4184e9d07f4c127165a490ec4a928668","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"7a5459efa09ea82088234e6533a203d528c594b01787fb90fba148885a36e8b6","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","ad41bb744149e92adb06eb953da195115620a3f2ad48e7d3ae04d10762dae197","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"5d0a9ea09d990b5788f867f1c79d4878f86f7384cb7dab38eecbf22f9efd063d","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","e383ff72aabf294913f8c346f5da1445ae6ad525836d28efd52cbadc01a361a6","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8",{"version":"5f186a758a616c107c70e8918db4630d063bd782f22e6e0b17573b125765b40b","affectsGlobalScope":true}],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"esModuleInterop":false,"experimentalDecorators":true,"importHelpers":true,"inlineSources":true,"module":99,"noEmitOnError":true,"outDir":"./","rootDir":"..","sourceMap":true,"strict":true,"target":5,"useDefineForClassFields":false},"fileIdsList":[[64,115],[52,54,55,56,57,58,59,60,61,62,63,64,115],[52,53,55,56,57,58,59,60,61,62,63,64,115],[53,54,55,56,57,58,59,60,61,62,63,64,115],[52,53,54,56,57,58,59,60,61,62,63,64,115],[52,53,54,55,57,58,59,60,61,62,63,64,115],[52,53,54,55,56,58,59,60,61,62,63,64,115],[52,53,54,55,56,57,59,60,61,62,63,64,115],[52,53,54,55,56,57,58,60,61,62,63,64,115],[52,53,54,55,56,57,58,59,61,62,63,64,115],[52,53,54,55,56,57,58,59,60,62,63,64,115],[52,53,54,55,56,57,58,59,60,61,63,64,115],[52,53,54,55,56,57,58,59,60,61,62,64,115],[52,53,54,55,56,57,58,59,60,61,62,63,115],[115],[72,115],[75,115],[76,81,115],[77,87,88,95,104,114,115],[77,78,87,95,115],[79,115],[80,81,88,96,115],[81,104,111,115],[82,84,87,95,115],[83,115],[84,85,115],[86,87,115],[87,115],[87,88,89,104,114,115],[87,88,89,104,115],[90,95,104,114,115],[87,88,90,91,95,104,111,114,115],[90,92,104,111,114,115],[72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121],[87,93,115],[94,114,115],[84,87,95,104,115],[96,115],[97,115],[75,98,115],[99,113,115,119],[100,115],[101,115],[87,102,115],[102,103,115,117],[87,104,105,106,115],[104,106,115],[104,105,115],[107,115],[108,115],[87,109,110,115],[109,110,115],[81,95,104,111,115],[112,115],[95,113,115],[76,90,101,114,115],[81,115],[104,115,116],[115,117],[115,118],[76,81,87,89,98,104,114,115,117,119],[104,115,120],[40,115],[40,41,42,43,44,45,46,47,48,49,50,68,115],[40,70,115],[40,65,115],[40,66,67,115],[40,65,67,115],[40,51,66,115]],"referencedMap":[[65,1],[53,2],[54,3],[52,4],[55,5],[56,6],[57,7],[58,8],[59,9],[60,10],[61,11],[62,12],[63,13],[64,14],[123,15],[72,16],[73,16],[75,17],[76,18],[77,19],[78,20],[79,21],[80,22],[81,23],[82,24],[83,25],[84,26],[85,26],[86,27],[87,28],[88,29],[89,30],[74,15],[121,15],[90,31],[91,32],[92,33],[122,34],[93,35],[94,36],[95,37],[96,38],[97,39],[98,40],[99,41],[100,42],[101,43],[102,44],[103,45],[104,46],[106,47],[105,48],[107,49],[108,50],[109,51],[110,52],[111,53],[112,54],[113,55],[114,56],[115,57],[116,58],[117,59],[118,60],[119,61],[120,62],[40,15],[8,15],[10,15],[9,15],[2,15],[11,15],[12,15],[13,15],[14,15],[15,15],[16,15],[17,15],[18,15],[3,15],[4,15],[22,15],[19,15],[20,15],[21,15],[23,15],[24,15],[25,15],[5,15],[26,15],[27,15],[28,15],[29,15],[6,15],[30,15],[31,15],[32,15],[33,15],[7,15],[38,15],[34,15],[35,15],[36,15],[37,15],[1,15],[39,15],[41,63],[42,63],[43,63],[44,63],[45,63],[69,64],[51,63],[71,65],[70,66],[47,63],[49,63],[50,63],[46,63],[48,63],[68,67],[66,68],[67,69]],"exportedModulesMap":[[65,1],[53,2],[54,3],[52,4],[55,5],[56,6],[57,7],[58,8],[59,9],[60,10],[61,11],[62,12],[63,13],[64,14],[123,15],[72,16],[73,16],[75,17],[76,18],[77,19],[78,20],[79,21],[80,22],[81,23],[82,24],[83,25],[84,26],[85,26],[86,27],[87,28],[88,29],[89,30],[74,15],[121,15],[90,31],[91,32],[92,33],[122,34],[93,35],[94,36],[95,37],[96,38],[97,39],[98,40],[99,41],[100,42],[101,43],[102,44],[103,45],[104,46],[106,47],[105,48],[107,49],[108,50],[109,51],[110,52],[111,53],[112,54],[113,55],[114,56],[115,57],[116,58],[117,59],[118,60],[119,61],[120,62],[40,15],[8,15],[10,15],[9,15],[2,15],[11,15],[12,15],[13,15],[14,15],[15,15],[16,15],[17,15],[18,15],[3,15],[4,15],[22,15],[19,15],[20,15],[21,15],[23,15],[24,15],[25,15],[5,15],[26,15],[27,15],[28,15],[29,15],[6,15],[30,15],[31,15],[32,15],[33,15],[7,15],[38,15],[34,15],[35,15],[36,15],[37,15],[1,15],[39,15],[41,63],[42,63],[43,63],[44,63],[45,63],[69,64],[51,63],[71,65],[70,66],[47,63],[49,63],[50,63],[46,63],[48,63],[68,67],[66,68],[67,69]],"semanticDiagnosticsPerFile":[65,53,54,52,55,56,57,58,59,60,61,62,63,64,123,72,73,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,74,121,90,91,92,122,93,94,95,96,97,98,99,100,101,102,103,104,106,105,107,108,109,110,111,112,113,114,115,116,117,118,119,120,40,8,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,30,31,32,33,7,38,34,35,36,37,1,39,41,42,43,44,45,69,51,71,70,47,49,50,46,48,68,66,67]},"version":"4.6.2"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Webcomponent utils following open-wc recommendations",
4
4
  "license": "MIT",
5
5
  "author": "heartyoh",
6
- "version": "1.0.0-alpha.9",
6
+ "version": "1.0.0-beta.2",
7
7
  "main": "dist/src/index.js",
8
8
  "module": "dist/src/index.js",
9
9
  "exports": {
@@ -74,5 +74,5 @@
74
74
  "dependencies": {
75
75
  "lodash-es": "^4.17.21"
76
76
  },
77
- "gitHead": "fb82c87ab8b869139076c4e74c46309460b67d35"
77
+ "gitHead": "514a836d3f5e959695701ba41913aee18a1efe66"
78
78
  }
@@ -0,0 +1,11 @@
1
+ export function detectOverflow(el: HTMLElement) {
2
+ var styleOverflow = el.style.overflow
3
+
4
+ if (!styleOverflow || styleOverflow === 'visible') el.style.overflow = 'hidden'
5
+
6
+ var overflowed = el.clientWidth < el.scrollWidth || el.clientHeight < el.scrollHeight
7
+
8
+ el.style.overflow = styleOverflow
9
+
10
+ return overflowed
11
+ }
package/src/index.ts CHANGED
@@ -6,4 +6,6 @@ export * from './swipe-listener.js'
6
6
  export * from './fullscreen.js'
7
7
  export * from './parse-jwt.js'
8
8
  export * from './password-pattern.js'
9
- export * from './closest-element'
9
+ export * from './closest-element.js'
10
+ export * from './detect-overflow.js'
11
+ export * from './timecapsule/index.js'
package/src/logger.ts ADDED
@@ -0,0 +1,21 @@
1
+ /*
2
+ * Copyright © HatioLab Inc. All rights reserved.
3
+ */
4
+
5
+ const ERROR = '[ERROR]'
6
+ const WARN = '[WARN]'
7
+ const DEBUG = '[DEBUG]'
8
+
9
+ export var error = (...args: any[]) => {
10
+ var trace = [] as string[]
11
+ args.forEach(arg => arg && arg.stack && trace.push(arg.stack))
12
+ console.error(ERROR, ...args, trace.join(' '))
13
+ }
14
+
15
+ export var warn = (...args: any[]) => {
16
+ var trace = [] as string[]
17
+ args.forEach(arg => arg && arg.stack && trace.push(arg.stack))
18
+ console.warn(WARN, ...args, trace.join(' '))
19
+ }
20
+
21
+ export var debug = (...args: any[]) => console.log(DEBUG, ...args)
@@ -0,0 +1,2 @@
1
+ export * from './timecapsule.js'
2
+ export * from './snapshot-taker.js'
@@ -0,0 +1,68 @@
1
+ /*
2
+ * Copyright © HatioLab Inc. All rights reserved.
3
+ */
4
+
5
+ import { TimeCapsule } from './timecapsule'
6
+ import debounce from 'lodash-es/debounce'
7
+
8
+ var debouncer = debounce(
9
+ taker => {
10
+ if (!taker.brake) {
11
+ taker.take()
12
+ }
13
+ },
14
+ 1000,
15
+ { leading: true, trailing: false }
16
+ )
17
+
18
+ function take_snapshot(taker: SnapshotTaker) {
19
+ if (taker.brake || !taker.dirty) return
20
+ debouncer(taker)
21
+ }
22
+
23
+ export type StateHolder = {
24
+ state: any
25
+ }
26
+
27
+ export class SnapshotTaker {
28
+ private _brake: boolean = false
29
+
30
+ dirty: boolean = false
31
+
32
+ state_holder?: StateHolder
33
+ timecapsule?: TimeCapsule
34
+
35
+ constructor(state_holder: any, timecapsule: TimeCapsule) {
36
+ this.state_holder = state_holder
37
+ this.timecapsule = timecapsule
38
+ this.timecapsule.snapshot_taker = this
39
+ }
40
+
41
+ dispose() {
42
+ delete this.state_holder
43
+ delete this.timecapsule
44
+ }
45
+
46
+ touch() {
47
+ this.dirty = true
48
+ take_snapshot(this)
49
+ }
50
+
51
+ /* 모든 조건에 관계없이 현재 상태를 snapshot으로 취한다. */
52
+ take(force: boolean = false) {
53
+ if (this.dirty || force) {
54
+ this.timecapsule?.snapshot(this.state_holder?.state)
55
+ this.dirty = false
56
+ }
57
+ }
58
+
59
+ get brake() {
60
+ return this._brake
61
+ }
62
+
63
+ /* 마우스를 드래깅하는 동안, 보통 brake 를 ON 시킨다. */
64
+ set brake(brake) {
65
+ this._brake = !!brake
66
+ take_snapshot(this)
67
+ }
68
+ }
@@ -0,0 +1,93 @@
1
+ /*
2
+ * Copyright © HatioLab Inc. All rights reserved.
3
+ */
4
+
5
+ import { debug, error, warn } from '../logger'
6
+
7
+ import { SnapshotTaker } from './snapshot-taker'
8
+
9
+ export class TimeCapsule {
10
+ private q: Array<any> = []
11
+ private maxsize = 10
12
+ private pos = -1
13
+
14
+ private _snapshot_taker: SnapshotTaker | null = null
15
+
16
+ constructor(maxsize: number, start_state?: any) {
17
+ maxsize = Number(maxsize)
18
+
19
+ if (!maxsize || maxsize <= 0) {
20
+ error('TimeCapsule maxsize should be greater than 0.', maxsize)
21
+ } else {
22
+ this.maxsize = maxsize
23
+ }
24
+
25
+ this.reset()
26
+ if (start_state) {
27
+ this.snapshot(start_state)
28
+ }
29
+ }
30
+
31
+ dispose() {
32
+ this.reset()
33
+ }
34
+
35
+ snapshot(state: any) {
36
+ this.q.splice(this.pos + 1, this.q.length - (this.pos + 1), state)
37
+
38
+ if (this.q.length > this.maxsize) {
39
+ this.q.splice(0, this.q.length - this.maxsize)
40
+ }
41
+
42
+ this.pos = this.q.length - 1
43
+ }
44
+
45
+ forward() {
46
+ if (this.snapshot_taker) this.snapshot_taker.take()
47
+
48
+ if (this.forwardable) {
49
+ return this.q[++this.pos]
50
+ }
51
+ warn('Not forwardable.')
52
+ }
53
+
54
+ backward() {
55
+ if (this.snapshot_taker) this.snapshot_taker.take()
56
+
57
+ if (this.backwardable) {
58
+ return this.q[--this.pos]
59
+ }
60
+ warn('Not backwardable.')
61
+ }
62
+
63
+ get current() {
64
+ if (this.pos !== -1) return this.q[this.pos]
65
+
66
+ warn('Non state has been recorded.')
67
+ }
68
+
69
+ get length() {
70
+ return this.q.length
71
+ }
72
+
73
+ get forwardable() {
74
+ return this.pos < this.q.length - 1
75
+ }
76
+
77
+ get backwardable() {
78
+ return this.pos > 0
79
+ }
80
+
81
+ get snapshot_taker(): SnapshotTaker | null {
82
+ return this._snapshot_taker
83
+ }
84
+
85
+ set snapshot_taker(snapshot_taker: SnapshotTaker | null) {
86
+ this._snapshot_taker = snapshot_taker
87
+ }
88
+
89
+ reset() {
90
+ this.q = []
91
+ this.pos = -1
92
+ }
93
+ }