@nejs/basic-extensions 2.8.0 → 2.10.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 (169) hide show
  1. package/README.md +268 -147
  2. package/bin/version +100 -0
  3. package/dist/@nejs/basic-extensions.bundle.2.10.0.js +19 -0
  4. package/dist/@nejs/basic-extensions.bundle.2.10.0.js.map +7 -0
  5. package/dist/cjs/array.extensions.js +174 -0
  6. package/dist/cjs/array.extensions.js.map +1 -1
  7. package/dist/cjs/big.int.extension.js +1 -0
  8. package/dist/cjs/big.int.extension.js.map +1 -1
  9. package/dist/cjs/classes/descriptor.js +1 -1
  10. package/dist/cjs/classes/descriptor.js.map +1 -1
  11. package/dist/cjs/classes/index.d.ts +1 -0
  12. package/dist/cjs/classes/index.js +3 -0
  13. package/dist/cjs/classes/index.js.map +1 -1
  14. package/dist/cjs/classes/iterable.d.ts +44 -0
  15. package/dist/cjs/classes/iterable.js +64 -0
  16. package/dist/cjs/classes/iterable.js.map +1 -1
  17. package/dist/cjs/classes/param.parser.d.ts +10 -10
  18. package/dist/cjs/classes/property.d.ts +86 -0
  19. package/dist/cjs/classes/property.js +284 -0
  20. package/dist/cjs/classes/property.js.map +1 -0
  21. package/dist/cjs/classes/symkeys.d.ts +68 -11
  22. package/dist/cjs/classes/symkeys.js +103 -17
  23. package/dist/cjs/classes/symkeys.js.map +1 -1
  24. package/dist/cjs/classes/type.d.ts +4 -4
  25. package/dist/cjs/function.extensions.js +1 -0
  26. package/dist/cjs/function.extensions.js.map +1 -1
  27. package/dist/cjs/global.this.js +29 -0
  28. package/dist/cjs/global.this.js.map +1 -1
  29. package/dist/cjs/index.d.ts +2 -0
  30. package/dist/cjs/index.js +18 -0
  31. package/dist/cjs/index.js.map +1 -1
  32. package/dist/cjs/json.extensions.js +22 -20
  33. package/dist/cjs/json.extensions.js.map +1 -1
  34. package/dist/cjs/map.extensions.js +1 -0
  35. package/dist/cjs/map.extensions.js.map +1 -1
  36. package/dist/cjs/number.extension.js +1 -0
  37. package/dist/cjs/number.extension.js.map +1 -1
  38. package/dist/cjs/object.extensions.d.ts +0 -29
  39. package/dist/cjs/object.extensions.js +218 -243
  40. package/dist/cjs/object.extensions.js.map +1 -1
  41. package/dist/cjs/set.extensions.js +1 -0
  42. package/dist/cjs/set.extensions.js.map +1 -1
  43. package/dist/cjs/string.extensions.js +478 -283
  44. package/dist/cjs/string.extensions.js.map +1 -1
  45. package/dist/cjs/symbol.extensions.js +500 -24
  46. package/dist/cjs/symbol.extensions.js.map +1 -1
  47. package/dist/cjs/utils/copy.object.d.ts +408 -0
  48. package/dist/cjs/utils/copy.object.js +720 -0
  49. package/dist/cjs/utils/copy.object.js.map +1 -0
  50. package/dist/cjs/utils/index.d.ts +1 -0
  51. package/dist/cjs/utils/index.js +19 -0
  52. package/dist/cjs/utils/index.js.map +1 -0
  53. package/dist/cjs/utils/toolkit.d.ts +1897 -0
  54. package/dist/cjs/utils/toolkit.js +1377 -0
  55. package/dist/cjs/utils/toolkit.js.map +1 -0
  56. package/dist/mjs/array.extensions.js +174 -0
  57. package/dist/mjs/array.extensions.js.map +1 -1
  58. package/dist/mjs/big.int.extension.js +1 -0
  59. package/dist/mjs/big.int.extension.js.map +1 -1
  60. package/dist/mjs/classes/descriptor.js +1 -1
  61. package/dist/mjs/classes/descriptor.js.map +1 -1
  62. package/dist/mjs/classes/index.d.ts +1 -0
  63. package/dist/mjs/classes/index.js +3 -0
  64. package/dist/mjs/classes/index.js.map +1 -1
  65. package/dist/mjs/classes/iterable.d.ts +44 -0
  66. package/dist/mjs/classes/iterable.js +64 -0
  67. package/dist/mjs/classes/iterable.js.map +1 -1
  68. package/dist/mjs/classes/param.parser.d.ts +10 -10
  69. package/dist/mjs/classes/property.d.ts +86 -0
  70. package/dist/mjs/classes/property.js +280 -0
  71. package/dist/mjs/classes/property.js.map +1 -0
  72. package/dist/mjs/classes/symkeys.d.ts +68 -11
  73. package/dist/mjs/classes/symkeys.js +103 -17
  74. package/dist/mjs/classes/symkeys.js.map +1 -1
  75. package/dist/mjs/classes/type.d.ts +4 -4
  76. package/dist/mjs/function.extensions.js +1 -0
  77. package/dist/mjs/function.extensions.js.map +1 -1
  78. package/dist/mjs/global.this.js +6 -0
  79. package/dist/mjs/global.this.js.map +1 -1
  80. package/dist/mjs/index.d.ts +2 -0
  81. package/dist/mjs/index.js +4 -0
  82. package/dist/mjs/index.js.map +1 -1
  83. package/dist/mjs/json.extensions.js +22 -20
  84. package/dist/mjs/json.extensions.js.map +1 -1
  85. package/dist/mjs/map.extensions.js +1 -0
  86. package/dist/mjs/map.extensions.js.map +1 -1
  87. package/dist/mjs/number.extension.js +1 -0
  88. package/dist/mjs/number.extension.js.map +1 -1
  89. package/dist/mjs/object.extensions.d.ts +0 -29
  90. package/dist/mjs/object.extensions.js +215 -239
  91. package/dist/mjs/object.extensions.js.map +1 -1
  92. package/dist/mjs/set.extensions.js +1 -0
  93. package/dist/mjs/set.extensions.js.map +1 -1
  94. package/dist/mjs/string.extensions.js +478 -283
  95. package/dist/mjs/string.extensions.js.map +1 -1
  96. package/dist/mjs/symbol.extensions.js +501 -25
  97. package/dist/mjs/symbol.extensions.js.map +1 -1
  98. package/dist/mjs/utils/copy.object.d.ts +408 -0
  99. package/dist/mjs/utils/copy.object.js +702 -0
  100. package/dist/mjs/utils/copy.object.js.map +1 -0
  101. package/dist/mjs/utils/index.d.ts +1 -0
  102. package/dist/mjs/utils/index.js +3 -0
  103. package/dist/mjs/utils/index.js.map +1 -0
  104. package/dist/mjs/utils/toolkit.d.ts +1897 -0
  105. package/dist/mjs/utils/toolkit.js +1372 -0
  106. package/dist/mjs/utils/toolkit.js.map +1 -0
  107. package/package.json +30 -38
  108. package/repl.bootstrap.js +12 -1
  109. package/src/array.extensions.js +191 -1
  110. package/src/big.int.extension.js +3 -1
  111. package/src/classes/descriptor.js +1 -1
  112. package/src/classes/index.js +4 -0
  113. package/src/classes/iterable.js +74 -0
  114. package/src/classes/property.js +333 -0
  115. package/src/classes/symkeys.js +120 -19
  116. package/src/function.extensions.js +2 -0
  117. package/src/global.this.js +8 -0
  118. package/src/index.js +5 -0
  119. package/src/json.extensions.js +21 -21
  120. package/src/map.extensions.js +3 -1
  121. package/src/number.extension.js +3 -1
  122. package/src/object.extensions.js +240 -262
  123. package/src/set.extensions.js +3 -1
  124. package/src/string.extensions.js +531 -306
  125. package/src/symbol.extensions.js +529 -25
  126. package/src/utils/copy.object.js +780 -0
  127. package/src/utils/index.js +2 -0
  128. package/src/utils/toolkit.js +1471 -0
  129. package/tests/arrayextensions.test.js +2 -0
  130. package/tests/index.test.js +1 -0
  131. package/tests/newClasses/asyncIterable.test.js +2 -0
  132. package/tests/newClasses/deferred.test.js +5 -3
  133. package/tests/newClasses/descriptor.test.js +2 -0
  134. package/tests/newClasses/iterable.test.js +2 -0
  135. package/tests/newClasses/refmap.test.js +2 -1
  136. package/tests/newClasses/refset.test.js +2 -0
  137. package/tests/objectextensions.test.js +2 -0
  138. package/tests/setextensions.test.js +2 -0
  139. package/tests/stringextensions.test.js +1 -0
  140. package/tests/utils/toolkit.test.js +223 -0
  141. package/tsconfig.base.json +1 -1
  142. package/vitest.config.js +7 -0
  143. package/dist/@nejs/basic-extensions.bundle.2.7.0.js +0 -19
  144. package/dist/@nejs/basic-extensions.bundle.2.7.0.js.map +0 -7
  145. package/docs/assets/anchor.js +0 -350
  146. package/docs/assets/bass-addons.css +0 -12
  147. package/docs/assets/bass.css +0 -544
  148. package/docs/assets/fonts/EOT/SourceCodePro-Bold.eot +0 -0
  149. package/docs/assets/fonts/EOT/SourceCodePro-Regular.eot +0 -0
  150. package/docs/assets/fonts/LICENSE.txt +0 -93
  151. package/docs/assets/fonts/OTF/SourceCodePro-Bold.otf +0 -0
  152. package/docs/assets/fonts/OTF/SourceCodePro-Regular.otf +0 -0
  153. package/docs/assets/fonts/TTF/SourceCodePro-Bold.ttf +0 -0
  154. package/docs/assets/fonts/TTF/SourceCodePro-Regular.ttf +0 -0
  155. package/docs/assets/fonts/WOFF/OTF/SourceCodePro-Bold.otf.woff +0 -0
  156. package/docs/assets/fonts/WOFF/OTF/SourceCodePro-Regular.otf.woff +0 -0
  157. package/docs/assets/fonts/WOFF/TTF/SourceCodePro-Bold.ttf.woff +0 -0
  158. package/docs/assets/fonts/WOFF/TTF/SourceCodePro-Regular.ttf.woff +0 -0
  159. package/docs/assets/fonts/WOFF2/OTF/SourceCodePro-Bold.otf.woff2 +0 -0
  160. package/docs/assets/fonts/WOFF2/OTF/SourceCodePro-Regular.otf.woff2 +0 -0
  161. package/docs/assets/fonts/WOFF2/TTF/SourceCodePro-Bold.ttf.woff2 +0 -0
  162. package/docs/assets/fonts/WOFF2/TTF/SourceCodePro-Regular.ttf.woff2 +0 -0
  163. package/docs/assets/fonts/source-code-pro.css +0 -23
  164. package/docs/assets/github.css +0 -123
  165. package/docs/assets/site.js +0 -168
  166. package/docs/assets/split.css +0 -15
  167. package/docs/assets/split.js +0 -782
  168. package/docs/assets/style.css +0 -147
  169. package/docs/index.html +0 -34965
@@ -1,123 +0,0 @@
1
- /*
2
-
3
- github.com style (c) Vasily Polovnyov <vast@whiteants.net>
4
-
5
- */
6
-
7
- .hljs {
8
- display: block;
9
- overflow-x: auto;
10
- padding: 0.5em;
11
- color: #333;
12
- background: #f8f8f8;
13
- -webkit-text-size-adjust: none;
14
- }
15
-
16
- .hljs-comment,
17
- .diff .hljs-header,
18
- .hljs-javadoc {
19
- color: #998;
20
- font-style: italic;
21
- }
22
-
23
- .hljs-keyword,
24
- .css .rule .hljs-keyword,
25
- .hljs-winutils,
26
- .nginx .hljs-title,
27
- .hljs-subst,
28
- .hljs-request,
29
- .hljs-status {
30
- color: #1184CE;
31
- }
32
-
33
- .hljs-number,
34
- .hljs-hexcolor,
35
- .ruby .hljs-constant {
36
- color: #ed225d;
37
- }
38
-
39
- .hljs-string,
40
- .hljs-tag .hljs-value,
41
- .hljs-phpdoc,
42
- .hljs-dartdoc,
43
- .tex .hljs-formula {
44
- color: #ed225d;
45
- }
46
-
47
- .hljs-title,
48
- .hljs-id,
49
- .scss .hljs-preprocessor {
50
- color: #900;
51
- font-weight: bold;
52
- }
53
-
54
- .hljs-list .hljs-keyword,
55
- .hljs-subst {
56
- font-weight: normal;
57
- }
58
-
59
- .hljs-class .hljs-title,
60
- .hljs-type,
61
- .vhdl .hljs-literal,
62
- .tex .hljs-command {
63
- color: #458;
64
- font-weight: bold;
65
- }
66
-
67
- .hljs-tag,
68
- .hljs-tag .hljs-title,
69
- .hljs-rules .hljs-property,
70
- .django .hljs-tag .hljs-keyword {
71
- color: #000080;
72
- font-weight: normal;
73
- }
74
-
75
- .hljs-attribute,
76
- .hljs-variable,
77
- .lisp .hljs-body {
78
- color: #008080;
79
- }
80
-
81
- .hljs-regexp {
82
- color: #009926;
83
- }
84
-
85
- .hljs-symbol,
86
- .ruby .hljs-symbol .hljs-string,
87
- .lisp .hljs-keyword,
88
- .clojure .hljs-keyword,
89
- .scheme .hljs-keyword,
90
- .tex .hljs-special,
91
- .hljs-prompt {
92
- color: #990073;
93
- }
94
-
95
- .hljs-built_in {
96
- color: #0086b3;
97
- }
98
-
99
- .hljs-preprocessor,
100
- .hljs-pragma,
101
- .hljs-pi,
102
- .hljs-doctype,
103
- .hljs-shebang,
104
- .hljs-cdata {
105
- color: #999;
106
- font-weight: bold;
107
- }
108
-
109
- .hljs-deletion {
110
- background: #fdd;
111
- }
112
-
113
- .hljs-addition {
114
- background: #dfd;
115
- }
116
-
117
- .diff .hljs-change {
118
- background: #0086b3;
119
- }
120
-
121
- .hljs-chunk {
122
- color: #aaa;
123
- }
@@ -1,168 +0,0 @@
1
- /* global anchors */
2
-
3
- // add anchor links to headers
4
- anchors.options.placement = 'left';
5
- anchors.add('h3');
6
-
7
- // Filter UI
8
- var tocElements = document.getElementById('toc').getElementsByTagName('li');
9
-
10
- document.getElementById('filter-input').addEventListener('keyup', function (e) {
11
- var i, element, children;
12
-
13
- // enter key
14
- if (e.keyCode === 13) {
15
- // go to the first displayed item in the toc
16
- for (i = 0; i < tocElements.length; i++) {
17
- element = tocElements[i];
18
- if (!element.classList.contains('display-none')) {
19
- location.replace(element.firstChild.href);
20
- return e.preventDefault();
21
- }
22
- }
23
- }
24
-
25
- var match = function () {
26
- return true;
27
- };
28
-
29
- var value = this.value.toLowerCase();
30
-
31
- if (!value.match(/^\s*$/)) {
32
- match = function (element) {
33
- var html = element.firstChild.innerHTML;
34
- return html && html.toLowerCase().indexOf(value) !== -1;
35
- };
36
- }
37
-
38
- for (i = 0; i < tocElements.length; i++) {
39
- element = tocElements[i];
40
- children = Array.from(element.getElementsByTagName('li'));
41
- if (match(element) || children.some(match)) {
42
- element.classList.remove('display-none');
43
- } else {
44
- element.classList.add('display-none');
45
- }
46
- }
47
- });
48
-
49
- var items = document.getElementsByClassName('toggle-sibling');
50
- for (var j = 0; j < items.length; j++) {
51
- items[j].addEventListener('click', toggleSibling);
52
- }
53
-
54
- function toggleSibling() {
55
- var stepSibling = this.parentNode.getElementsByClassName('toggle-target')[0];
56
- var icon = this.getElementsByClassName('icon')[0];
57
- var klass = 'display-none';
58
- if (stepSibling.classList.contains(klass)) {
59
- stepSibling.classList.remove(klass);
60
- icon.innerHTML = '▾';
61
- } else {
62
- stepSibling.classList.add(klass);
63
- icon.innerHTML = '▸';
64
- }
65
- }
66
-
67
- function showHashTarget(targetId) {
68
- if (targetId) {
69
- var hashTarget = document.getElementById(targetId);
70
- // new target is hidden
71
- if (
72
- hashTarget &&
73
- hashTarget.offsetHeight === 0 &&
74
- hashTarget.parentNode.parentNode.classList.contains('display-none')
75
- ) {
76
- hashTarget.parentNode.parentNode.classList.remove('display-none');
77
- }
78
- }
79
- }
80
-
81
- function scrollIntoView(targetId) {
82
- // Only scroll to element if we don't have a stored scroll position.
83
- if (targetId && !history.state) {
84
- var hashTarget = document.getElementById(targetId);
85
- if (hashTarget) {
86
- hashTarget.scrollIntoView();
87
- }
88
- }
89
- }
90
-
91
- function gotoCurrentTarget() {
92
- showHashTarget(location.hash.substring(1));
93
- scrollIntoView(location.hash.substring(1));
94
- }
95
-
96
- window.addEventListener('hashchange', gotoCurrentTarget);
97
- gotoCurrentTarget();
98
-
99
- var toclinks = document.getElementsByClassName('pre-open');
100
- for (var k = 0; k < toclinks.length; k++) {
101
- toclinks[k].addEventListener('mousedown', preOpen, false);
102
- }
103
-
104
- function preOpen() {
105
- showHashTarget(this.hash.substring(1));
106
- }
107
-
108
- var split_left = document.querySelector('#split-left');
109
- var split_right = document.querySelector('#split-right');
110
- var split_parent = split_left.parentNode;
111
- var cw_with_sb = split_left.clientWidth;
112
- split_left.style.overflow = 'hidden';
113
- var cw_without_sb = split_left.clientWidth;
114
- split_left.style.overflow = '';
115
-
116
- Split(['#split-left', '#split-right'], {
117
- elementStyle: function (dimension, size, gutterSize) {
118
- return {
119
- 'flex-basis': 'calc(' + size + '% - ' + gutterSize + 'px)'
120
- };
121
- },
122
- gutterStyle: function (dimension, gutterSize) {
123
- return {
124
- 'flex-basis': gutterSize + 'px'
125
- };
126
- },
127
- gutterSize: 20,
128
- sizes: [33, 67]
129
- });
130
-
131
- // Chrome doesn't remember scroll position properly so do it ourselves.
132
- // Also works on Firefox and Edge.
133
-
134
- function updateState() {
135
- history.replaceState(
136
- {
137
- left_top: split_left.scrollTop,
138
- right_top: split_right.scrollTop
139
- },
140
- document.title
141
- );
142
- }
143
-
144
- function loadState(ev) {
145
- if (ev) {
146
- // Edge doesn't replace change history.state on popstate.
147
- history.replaceState(ev.state, document.title);
148
- }
149
- if (history.state) {
150
- split_left.scrollTop = history.state.left_top;
151
- split_right.scrollTop = history.state.right_top;
152
- }
153
- }
154
-
155
- window.addEventListener('load', function () {
156
- // Restore after Firefox scrolls to hash.
157
- setTimeout(function () {
158
- loadState();
159
- // Update with initial scroll position.
160
- updateState();
161
- // Update scroll positions only after we've loaded because Firefox
162
- // emits an initial scroll event with 0.
163
- split_left.addEventListener('scroll', updateState);
164
- split_right.addEventListener('scroll', updateState);
165
- }, 1);
166
- });
167
-
168
- window.addEventListener('popstate', loadState);
@@ -1,15 +0,0 @@
1
- .gutter {
2
- background-color: #f5f5f5;
3
- background-repeat: no-repeat;
4
- background-position: 50%;
5
- }
6
-
7
- .gutter.gutter-vertical {
8
- background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFAQMAAABo7865AAAABlBMVEVHcEzMzMzyAv2sAAAAAXRSTlMAQObYZgAAABBJREFUeF5jOAMEEAIEEFwAn3kMwcB6I2AAAAAASUVORK5CYII=');
9
- cursor: ns-resize;
10
- }
11
-
12
- .gutter.gutter-horizontal {
13
- background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==');
14
- cursor: ew-resize;
15
- }