@live-change/flatten-interval-tree 0.8.26

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 (65) hide show
  1. package/.babelrc +8 -0
  2. package/.travis.yml +14 -0
  3. package/LICENSE +21 -0
  4. package/README.md +172 -0
  5. package/dist/main.cjs.js +799 -0
  6. package/dist/main.esm.js +794 -0
  7. package/dist/main.umd.js +805 -0
  8. package/docs/Interval.html +1609 -0
  9. package/docs/IntervalTree.html +1506 -0
  10. package/docs/classes_interval.js.html +173 -0
  11. package/docs/fonts/OpenSans-Bold-webfont.eot +0 -0
  12. package/docs/fonts/OpenSans-Bold-webfont.svg +1830 -0
  13. package/docs/fonts/OpenSans-Bold-webfont.woff +0 -0
  14. package/docs/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  15. package/docs/fonts/OpenSans-BoldItalic-webfont.svg +1830 -0
  16. package/docs/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  17. package/docs/fonts/OpenSans-Italic-webfont.eot +0 -0
  18. package/docs/fonts/OpenSans-Italic-webfont.svg +1830 -0
  19. package/docs/fonts/OpenSans-Italic-webfont.woff +0 -0
  20. package/docs/fonts/OpenSans-Light-webfont.eot +0 -0
  21. package/docs/fonts/OpenSans-Light-webfont.svg +1831 -0
  22. package/docs/fonts/OpenSans-Light-webfont.woff +0 -0
  23. package/docs/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  24. package/docs/fonts/OpenSans-LightItalic-webfont.svg +1835 -0
  25. package/docs/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  26. package/docs/fonts/OpenSans-Regular-webfont.eot +0 -0
  27. package/docs/fonts/OpenSans-Regular-webfont.svg +1831 -0
  28. package/docs/fonts/OpenSans-Regular-webfont.woff +0 -0
  29. package/docs/fonts/OpenSans-Semibold-webfont.eot +0 -0
  30. package/docs/fonts/OpenSans-Semibold-webfont.svg +1830 -0
  31. package/docs/fonts/OpenSans-Semibold-webfont.ttf +0 -0
  32. package/docs/fonts/OpenSans-Semibold-webfont.woff +0 -0
  33. package/docs/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
  34. package/docs/fonts/OpenSans-SemiboldItalic-webfont.svg +1830 -0
  35. package/docs/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
  36. package/docs/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
  37. package/docs/index.html +197 -0
  38. package/docs/index.js.html +624 -0
  39. package/docs/interval.js.html +184 -0
  40. package/docs/intervalTree.js.html +624 -0
  41. package/docs/scripts/linenumber.js +25 -0
  42. package/docs/scripts/prettify/Apache-License-2.0.txt +202 -0
  43. package/docs/scripts/prettify/lang-css.js +2 -0
  44. package/docs/scripts/prettify/prettify.js +28 -0
  45. package/docs/styles/jsdoc-default.css +692 -0
  46. package/docs/styles/prettify-jsdoc.css +111 -0
  47. package/docs/styles/prettify-tomorrow.css +132 -0
  48. package/examples/browser/index.html +49 -0
  49. package/examples/create-react-app/package.json +15 -0
  50. package/examples/create-react-app/public/index.html +11 -0
  51. package/examples/create-react-app/src/App.js +38 -0
  52. package/examples/create-react-app/src/ComposersList.js +15 -0
  53. package/examples/create-react-app/src/index.js +5 -0
  54. package/examples/es6-module/index.html +50 -0
  55. package/examples/nodejs/index.js +23 -0
  56. package/index.d.ts +65 -0
  57. package/index.js +6 -0
  58. package/package.json +52 -0
  59. package/rollup.config.js +21 -0
  60. package/src/classes/interval.js +131 -0
  61. package/src/classes/intervalTree.js +564 -0
  62. package/src/classes/node.js +97 -0
  63. package/src/utils/constants.js +16 -0
  64. package/test/intervalTree.js +232 -0
  65. package/test/node.js +64 -0
@@ -0,0 +1,692 @@
1
+ @import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,500i,500,600,600i|Roboto);
2
+
3
+ * {
4
+ box-sizing: border-box
5
+ }
6
+
7
+ html, body {
8
+ height: 100%;
9
+ width: 100%;
10
+ }
11
+
12
+ body {
13
+ color: #4d4e53;
14
+ background-color: white;
15
+ margin: 0 auto;
16
+ padding: 0;
17
+ font-family: 'Source Sans Pro', Helvetica, sans-serif;
18
+ font-size: 16px;
19
+ line-height: 160%;
20
+ }
21
+
22
+ a,
23
+ a:active {
24
+ color: #0095dd;
25
+ text-decoration: none;
26
+ }
27
+
28
+ a:hover {
29
+ text-decoration: underline
30
+ }
31
+
32
+ p, ul, ol, blockquote {
33
+ margin-bottom: 1em;
34
+ }
35
+
36
+ h1, h2, h3, h4, h5, h6 {
37
+ font-family: 'Roboto', sans-serif;
38
+ }
39
+
40
+ h1, h2, h3, h4, h5, h6 {
41
+ color: #000;
42
+ font-weight: 400;
43
+ margin: 0;
44
+ }
45
+
46
+ h1 {
47
+ font-weight: 300;
48
+ font-size: 48px;
49
+ margin: 1em 0 .5em;
50
+ }
51
+
52
+ h1.page-title {margin-bottom: 10px;font-size: 34px;font-weight: 300;border-bottom: solid 2px #ddd;padding: .5em 0 .5em;margin-top: 0;}
53
+
54
+ h2 {
55
+ font-size: 32px;
56
+ margin: 1.2em 0 .8em;
57
+ font-weight: bold;
58
+ }
59
+
60
+ h3 {
61
+ /* margin-top: 1em; */
62
+ /* margin-bottom: 16px; */
63
+ /* font-weight: bold; */
64
+ padding: 0;
65
+ margin: 1em 0 .6em;
66
+ font-size: 28px;
67
+ /* border-bottom: 1px solid #eee; */
68
+ /* padding-bottom: 15px; */
69
+ }
70
+
71
+ h4 {
72
+ font-size: 18px;
73
+ margin: 1em 0 .2em;
74
+ color: #4d4e53;
75
+ /* border-bottom: 1px solid #eee; */
76
+ padding-bottom: 8px;
77
+ }
78
+
79
+ h5, .container-overview .subsection-title {
80
+ font-size: 120%;
81
+ /* letter-spacing: -0.01em; */
82
+ margin: 20px 0 5px;
83
+ }
84
+
85
+ h6 {
86
+ font-size: 100%;
87
+ letter-spacing: -0.01em;
88
+ margin: 6px 0 3px 0;
89
+ font-style: italic;
90
+ }
91
+
92
+ tt, code, kbd, samp {
93
+ font-family: Consolas, Monaco, 'Andale Mono', monospace;
94
+ background: #f4f4f4;
95
+ padding: 1px 5px;
96
+ border-radius: 5px;
97
+ font-size: 14px;
98
+ }
99
+
100
+ blockquote {
101
+ display: block;
102
+ border-left: 4px solid #eee;
103
+ margin: 0;
104
+ padding-left: 1em;
105
+ color: #888;
106
+ }
107
+
108
+ .class-description {
109
+ font-size: 130%;
110
+ line-height: 140%;
111
+ margin-bottom: 1em;
112
+ margin-top: 1em;
113
+ }
114
+
115
+ .class-description:empty {
116
+ margin: 0
117
+ }
118
+
119
+ /** Container **/
120
+ #main {
121
+ float: right;
122
+ min-width: 360px;
123
+ width: calc(100% - 250px);
124
+ padding: 0 30px 20px 30px;
125
+ }
126
+
127
+ header {
128
+ display: block
129
+ }
130
+
131
+ section {
132
+ display: block;
133
+ background-color: #fff;
134
+ padding: 0;
135
+ }
136
+
137
+ .variation {
138
+ display: none
139
+ }
140
+
141
+ .signature-attributes {
142
+ font-size: 60%;
143
+ color: #aaa;
144
+ font-style: italic;
145
+ font-weight: lighter;
146
+ }
147
+
148
+ /** Readme **/
149
+
150
+ .readme {
151
+ font-size: 16px;
152
+ }
153
+
154
+ .readme h1,
155
+ .readme h2,
156
+ .readme h3,
157
+ .readme h4,
158
+ .readme h5 {
159
+ margin-top: 1em;
160
+ margin-bottom: 16px;
161
+ font-weight: bold;
162
+ padding: 0;
163
+ }
164
+
165
+ .readme h1 {
166
+ font-size: 2em;
167
+ padding-bottom: 0.3em;
168
+ }
169
+
170
+ .readme h2 {
171
+ font-size: 1.75em;
172
+ padding-bottom: 0.3em;
173
+ }
174
+
175
+ .readme h3 {
176
+ font-size: 1.5em;
177
+ background-color: transparent;
178
+ }
179
+
180
+ .readme h4 {
181
+ font-size: 1.25em;
182
+ }
183
+
184
+ .readme h5 {
185
+ font-size: 1em;
186
+ }
187
+
188
+ .readme img {
189
+ max-width: 100%;
190
+ }
191
+
192
+ .readme ul, .readme ol {
193
+ padding-left: 2em;
194
+ }
195
+
196
+ .readme pre > code {
197
+ font-size: 0.85em;
198
+ }
199
+
200
+ .readme table {
201
+ margin-bottom: 1em;
202
+ border-collapse: collapse;
203
+ border-spacing: 0;
204
+ }
205
+
206
+ .readme table tr {
207
+ background-color: #fff;
208
+ border-top: 1px solid #ccc;
209
+ }
210
+
211
+ .readme table th,
212
+ .readme table td {
213
+ padding: 6px 13px;
214
+ border: 1px solid #ddd;
215
+ }
216
+
217
+ .readme table tr:nth-child(2n) {
218
+ background-color: #f8f8f8;
219
+ }
220
+
221
+ /** Nav **/
222
+ nav {
223
+ float: left;
224
+ display: block;
225
+ width: 250px;
226
+ background: #fff;
227
+ overflow: auto;
228
+ position: fixed;
229
+ height: 100%;
230
+ padding: 10px;
231
+ border-right: 1px solid #eee;
232
+ /* box-shadow: 0 0 3px rgba(0,0,0,0.1); */
233
+ }
234
+
235
+ nav li {
236
+ list-style: none;
237
+ padding: 0;
238
+ margin: 0;
239
+ }
240
+
241
+ .nav-heading {
242
+ margin-top: 10px;
243
+ font-weight: bold;
244
+ }
245
+
246
+ .nav-heading a {
247
+ color: #888;
248
+ font-size: 14px;
249
+ display: inline-block;
250
+ }
251
+
252
+ .nav-item-type {
253
+ /* margin-left: 5px; */
254
+ width: 18px;
255
+ height: 18px;
256
+ display: inline-block;
257
+ text-align: center;
258
+ border-radius: 0.2em;
259
+ margin-right: 5px;
260
+ font-weight: bold;
261
+ line-height: 20px;
262
+ font-size: 13px;
263
+ }
264
+
265
+ .type-function {
266
+ background: #B3E5FC;
267
+ color: #0288D1;
268
+ }
269
+
270
+ .type-class {
271
+ background: #D1C4E9;
272
+ color: #4527A0;
273
+ }
274
+
275
+ .type-member {
276
+ background: #C8E6C9;
277
+ color: #388E3C;
278
+ }
279
+
280
+ .type-module {
281
+ background: #E1BEE7;
282
+ color: #7B1FA2;
283
+ }
284
+
285
+
286
+ /** Footer **/
287
+ footer {
288
+ color: hsl(0, 0%, 28%);
289
+ margin-left: 250px;
290
+ display: block;
291
+ padding: 30px;
292
+ font-style: italic;
293
+ font-size: 90%;
294
+ border-top: 1px solid #eee;
295
+ }
296
+
297
+ .ancestors {
298
+ color: #999
299
+ }
300
+
301
+ .ancestors a {
302
+ color: #999 !important;
303
+ text-decoration: none;
304
+ }
305
+
306
+ .clear {
307
+ clear: both
308
+ }
309
+
310
+ .important {
311
+ font-weight: bold;
312
+ color: #950B02;
313
+ }
314
+
315
+ .yes-def {
316
+ text-indent: -1000px
317
+ }
318
+
319
+ .type-signature {
320
+ color: #aaa
321
+ }
322
+
323
+ .name, .signature {
324
+ font-family: Consolas, Monaco, 'Andale Mono', monospace
325
+ }
326
+
327
+ .details {
328
+ margin-top: 14px;
329
+ border-left: 2px solid #DDD;
330
+ line-height: 30px;
331
+ }
332
+
333
+ .details dt {
334
+ width: 120px;
335
+ float: left;
336
+ padding-left: 10px;
337
+ }
338
+
339
+ .details dd {
340
+ margin-left: 70px
341
+ }
342
+
343
+ .details ul {
344
+ margin: 0
345
+ }
346
+
347
+ .details ul {
348
+ list-style-type: none
349
+ }
350
+
351
+ .details li {
352
+ margin-left: 30px
353
+ }
354
+
355
+ .details pre.prettyprint {
356
+ margin: 0
357
+ }
358
+
359
+ .details .object-value {
360
+ padding-top: 0
361
+ }
362
+
363
+ .description {
364
+ margin-bottom: 1em;
365
+ margin-top: 1em;
366
+ }
367
+
368
+ .code-caption {
369
+ font-style: italic;
370
+ font-size: 107%;
371
+ margin: 0;
372
+ }
373
+
374
+ .prettyprint {
375
+ font-size: 13px;
376
+ border: 1px solid #ddd;
377
+ border-radius: 3px;
378
+ box-shadow: 0 1px 3px hsla(0, 0%, 0%, 0.05);
379
+ overflow: auto;
380
+ }
381
+
382
+ .prettyprint.source {
383
+ width: inherit
384
+ }
385
+
386
+ .prettyprint code {
387
+ font-size: 12px;
388
+ line-height: 18px;
389
+ display: block;
390
+ background-color: #fff;
391
+ color: #4D4E53;
392
+ }
393
+
394
+ .prettyprint code:empty:before {
395
+ content: '';
396
+ }
397
+
398
+ .prettyprint > code {
399
+ padding: 15px
400
+ }
401
+
402
+ .prettyprint .linenums code {
403
+ padding: 0 15px
404
+ }
405
+
406
+ .prettyprint .linenums li:first-of-type code {
407
+ padding-top: 15px
408
+ }
409
+
410
+ .prettyprint code span.line {
411
+ display: inline-block
412
+ }
413
+
414
+ .prettyprint.linenums {
415
+ padding-left: 70px;
416
+ -webkit-user-select: none;
417
+ -moz-user-select: none;
418
+ -ms-user-select: none;
419
+ user-select: none;
420
+ }
421
+
422
+ .prettyprint.linenums ol {
423
+ padding-left: 0
424
+ }
425
+
426
+ .prettyprint.linenums li {
427
+ border-left: 3px #ddd solid
428
+ }
429
+
430
+ .prettyprint.linenums li.selected, .prettyprint.linenums li.selected * {
431
+ background-color: lightyellow
432
+ }
433
+
434
+ .prettyprint.linenums li * {
435
+ -webkit-user-select: text;
436
+ -moz-user-select: text;
437
+ -ms-user-select: text;
438
+ user-select: text;
439
+ }
440
+
441
+ .params, .props {
442
+ border-spacing: 0;
443
+ border: 1px solid #ddd;
444
+ border-collapse: collapse;
445
+ border-radius: 3px;
446
+ box-shadow: 0 1px 3px rgba(0,0,0,0.1);
447
+ width: 100%;
448
+ font-size: 14px;
449
+ /* margin-left: 15px; */
450
+ }
451
+
452
+ .params .name, .props .name, .name code {
453
+ color: #4D4E53;
454
+ font-family: Consolas, Monaco, 'Andale Mono', monospace;
455
+ font-size: 100%;
456
+ }
457
+
458
+ .params td, .params th, .props td, .props th {
459
+ margin: 0px;
460
+ text-align: left;
461
+ vertical-align: top;
462
+ padding: 10px;
463
+ display: table-cell;
464
+ }
465
+
466
+ .params td {
467
+ border-top: 1px solid #eee
468
+ }
469
+
470
+ .params thead tr, .props thead tr {
471
+ background-color: #fff;
472
+ font-weight: bold;
473
+ }
474
+
475
+ .params .params thead tr, .props .props thead tr {
476
+ background-color: #fff;
477
+ font-weight: bold;
478
+ }
479
+
480
+ .params td.description > p:first-child, .props td.description > p:first-child {
481
+ margin-top: 0;
482
+ padding-top: 0;
483
+ }
484
+
485
+ .params td.description > p:last-child, .props td.description > p:last-child {
486
+ margin-bottom: 0;
487
+ padding-bottom: 0;
488
+ }
489
+
490
+ dl.param-type {
491
+ /* border-bottom: 1px solid hsl(0, 0%, 87%); */
492
+ margin: 0;
493
+ padding: 0;
494
+ font-size: 16px;
495
+ }
496
+
497
+ .param-type dt, .param-type dd {
498
+ display: inline-block
499
+ }
500
+
501
+ .param-type dd {
502
+ font-family: Consolas, Monaco, 'Andale Mono', monospace;
503
+ display: inline-block;
504
+ padding: 0;
505
+ margin: 0;
506
+ font-size: 14px;
507
+ }
508
+
509
+ .disabled {
510
+ color: #454545
511
+ }
512
+
513
+ /* navicon button */
514
+ .navicon-button {
515
+ display: none;
516
+ position: relative;
517
+ padding: 2.0625rem 1.5rem;
518
+ transition: 0.25s;
519
+ cursor: pointer;
520
+ user-select: none;
521
+ opacity: .8;
522
+ }
523
+ .navicon-button .navicon:before, .navicon-button .navicon:after {
524
+ transition: 0.25s;
525
+ }
526
+ .navicon-button:hover {
527
+ transition: 0.5s;
528
+ opacity: 1;
529
+ }
530
+ .navicon-button:hover .navicon:before, .navicon-button:hover .navicon:after {
531
+ transition: 0.25s;
532
+ }
533
+ .navicon-button:hover .navicon:before {
534
+ top: .825rem;
535
+ }
536
+ .navicon-button:hover .navicon:after {
537
+ top: -.825rem;
538
+ }
539
+
540
+ /* navicon */
541
+ .navicon {
542
+ position: relative;
543
+ width: 2.5em;
544
+ height: .3125rem;
545
+ background: #000;
546
+ transition: 0.3s;
547
+ border-radius: 2.5rem;
548
+ }
549
+ .navicon:before, .navicon:after {
550
+ display: block;
551
+ content: "";
552
+ height: .3125rem;
553
+ width: 2.5rem;
554
+ background: #000;
555
+ position: absolute;
556
+ z-index: -1;
557
+ transition: 0.3s 0.25s;
558
+ border-radius: 1rem;
559
+ }
560
+ .navicon:before {
561
+ top: .625rem;
562
+ }
563
+ .navicon:after {
564
+ top: -.625rem;
565
+ }
566
+
567
+ /* open */
568
+ .nav-trigger:checked + label:not(.steps) .navicon:before,
569
+ .nav-trigger:checked + label:not(.steps) .navicon:after {
570
+ top: 0 !important;
571
+ }
572
+
573
+ .nav-trigger:checked + label .navicon:before,
574
+ .nav-trigger:checked + label .navicon:after {
575
+ transition: 0.5s;
576
+ }
577
+
578
+ /* Minus */
579
+ .nav-trigger:checked + label {
580
+ transform: scale(0.75);
581
+ }
582
+
583
+ /* × and + */
584
+ .nav-trigger:checked + label.plus .navicon,
585
+ .nav-trigger:checked + label.x .navicon {
586
+ background: transparent;
587
+ }
588
+
589
+ .nav-trigger:checked + label.plus .navicon:before,
590
+ .nav-trigger:checked + label.x .navicon:before {
591
+ transform: rotate(-45deg);
592
+ background: #FFF;
593
+ }
594
+
595
+ .nav-trigger:checked + label.plus .navicon:after,
596
+ .nav-trigger:checked + label.x .navicon:after {
597
+ transform: rotate(45deg);
598
+ background: #FFF;
599
+ }
600
+
601
+ .nav-trigger:checked + label.plus {
602
+ transform: scale(0.75) rotate(45deg);
603
+ }
604
+
605
+ .nav-trigger:checked ~ nav {
606
+ left: 0 !important;
607
+ }
608
+
609
+ .nav-trigger:checked ~ .overlay {
610
+ display: block;
611
+ }
612
+
613
+ .nav-trigger {
614
+ position: fixed;
615
+ top: 0;
616
+ clip: rect(0, 0, 0, 0);
617
+ }
618
+
619
+ .overlay {
620
+ display: none;
621
+ position: fixed;
622
+ top: 0;
623
+ bottom: 0;
624
+ left: 0;
625
+ right: 0;
626
+ width: 100%;
627
+ height: 100%;
628
+ background: hsla(0, 0%, 0%, 0.5);
629
+ z-index: 1;
630
+ }
631
+
632
+ .section-method {
633
+ margin-bottom: 30px;
634
+ padding-bottom: 30px;
635
+ border-bottom: 1px solid #eee;
636
+ }
637
+
638
+ @media only screen and (min-width: 320px) and (max-width: 680px) {
639
+ body {
640
+ overflow-x: hidden;
641
+ }
642
+
643
+ nav {
644
+ background: #FFF;
645
+ width: 250px;
646
+ height: 100%;
647
+ position: fixed;
648
+ top: 0;
649
+ right: 0;
650
+ bottom: 0;
651
+ left: -250px;
652
+ z-index: 3;
653
+ padding: 0 10px;
654
+ transition: left 0.2s;
655
+ }
656
+
657
+ .navicon-button {
658
+ display: inline-block;
659
+ position: fixed;
660
+ top: 1.5em;
661
+ right: 0;
662
+ z-index: 2;
663
+ }
664
+
665
+ #main {
666
+ width: 100%;
667
+ min-width: 360px;
668
+ }
669
+
670
+ #main h1.page-title {
671
+ margin: 1em 0;
672
+ }
673
+
674
+ #main section {
675
+ padding: 0;
676
+ }
677
+
678
+ footer {
679
+ margin-left: 0;
680
+ }
681
+ }
682
+
683
+ @media only print {
684
+ nav {
685
+ display: none;
686
+ }
687
+
688
+ #main {
689
+ float: none;
690
+ width: 100%;
691
+ }
692
+ }