@nejs/basic-extensions 1.6.0 → 1.7.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 (139) hide show
  1. package/.esdoc.json +9 -0
  2. package/README.md +2025 -11
  3. package/bin/clean +6 -0
  4. package/dist/@nejs/basic-extensions.bundle.1.6.1.js +4 -0
  5. package/dist/@nejs/basic-extensions.bundle.1.6.1.js.map +7 -0
  6. package/dist/cjs/arrayextensions.js +1 -0
  7. package/dist/cjs/arrayextensions.js.map +1 -0
  8. package/dist/cjs/functionextensions.js +1 -0
  9. package/dist/cjs/functionextensions.js.map +1 -0
  10. package/dist/cjs/globals.js +2 -1
  11. package/dist/cjs/globals.js.map +1 -0
  12. package/dist/cjs/index.d.ts +10 -19
  13. package/dist/cjs/index.js +69 -76
  14. package/dist/cjs/index.js.map +1 -0
  15. package/dist/cjs/mapextensions.d.ts +2 -0
  16. package/dist/cjs/mapextensions.js +30 -0
  17. package/dist/cjs/mapextensions.js.map +1 -0
  18. package/dist/cjs/newClasses/asyncIterable.d.ts +123 -0
  19. package/dist/cjs/{asyncIterable.js → newClasses/asyncIterable.js} +7 -4
  20. package/dist/cjs/newClasses/asyncIterable.js.map +1 -0
  21. package/dist/cjs/newClasses/descriptor.d.ts +401 -0
  22. package/dist/cjs/{descriptor.js → newClasses/descriptor.js} +150 -80
  23. package/dist/cjs/newClasses/descriptor.js.map +1 -0
  24. package/dist/cjs/newClasses/iterable.d.ts +125 -0
  25. package/dist/cjs/{iterable.js → newClasses/iterable.js} +36 -10
  26. package/dist/cjs/newClasses/iterable.js.map +1 -0
  27. package/dist/cjs/newClasses/refmap.d.ts +238 -0
  28. package/dist/cjs/newClasses/refmap.js +433 -0
  29. package/dist/cjs/newClasses/refmap.js.map +1 -0
  30. package/dist/cjs/newClasses/refset.d.ts +186 -0
  31. package/dist/cjs/{refset.js → newClasses/refset.js} +18 -3
  32. package/dist/cjs/newClasses/refset.js.map +1 -0
  33. package/dist/cjs/objectextensions.d.ts +7 -6
  34. package/dist/cjs/objectextensions.js +85 -43
  35. package/dist/cjs/objectextensions.js.map +1 -0
  36. package/dist/cjs/reflectextensions.js +16 -12
  37. package/dist/cjs/reflectextensions.js.map +1 -0
  38. package/dist/cjs/stringextensions.js +1 -0
  39. package/dist/cjs/stringextensions.js.map +1 -0
  40. package/dist/cjs/symbolextensions.js +3 -1
  41. package/dist/cjs/symbolextensions.js.map +1 -0
  42. package/dist/cjs/weakrefextensions.js +1 -0
  43. package/dist/cjs/weakrefextensions.js.map +1 -0
  44. package/dist/mjs/arrayextensions.js +1 -0
  45. package/dist/mjs/arrayextensions.js.map +1 -0
  46. package/dist/mjs/functionextensions.js +1 -0
  47. package/dist/mjs/functionextensions.js.map +1 -0
  48. package/dist/mjs/globals.js +2 -1
  49. package/dist/mjs/globals.js.map +1 -0
  50. package/dist/mjs/index.d.ts +10 -19
  51. package/dist/mjs/index.js +67 -60
  52. package/dist/mjs/index.js.map +1 -0
  53. package/dist/mjs/mapextensions.d.ts +2 -0
  54. package/dist/mjs/mapextensions.js +27 -0
  55. package/dist/mjs/mapextensions.js.map +1 -0
  56. package/dist/mjs/newClasses/asyncIterable.d.ts +123 -0
  57. package/dist/mjs/{asyncIterable.js → newClasses/asyncIterable.js} +106 -105
  58. package/dist/mjs/newClasses/asyncIterable.js.map +1 -0
  59. package/dist/mjs/newClasses/descriptor.d.ts +401 -0
  60. package/dist/mjs/{descriptor.js → newClasses/descriptor.js} +129 -67
  61. package/dist/mjs/newClasses/descriptor.js.map +1 -0
  62. package/dist/mjs/newClasses/iterable.d.ts +125 -0
  63. package/dist/mjs/newClasses/iterable.js +199 -0
  64. package/dist/mjs/newClasses/iterable.js.map +1 -0
  65. package/dist/mjs/newClasses/refmap.d.ts +238 -0
  66. package/dist/mjs/newClasses/refmap.js +417 -0
  67. package/dist/mjs/newClasses/refmap.js.map +1 -0
  68. package/dist/mjs/newClasses/refset.d.ts +186 -0
  69. package/dist/mjs/{refset.js → newClasses/refset.js} +17 -3
  70. package/dist/mjs/newClasses/refset.js.map +1 -0
  71. package/dist/mjs/objectextensions.d.ts +7 -6
  72. package/dist/mjs/objectextensions.js +84 -42
  73. package/dist/mjs/objectextensions.js.map +1 -0
  74. package/dist/mjs/reflectextensions.js +16 -12
  75. package/dist/mjs/reflectextensions.js.map +1 -0
  76. package/dist/mjs/stringextensions.js +1 -0
  77. package/dist/mjs/stringextensions.js.map +1 -0
  78. package/dist/mjs/symbolextensions.js +3 -1
  79. package/dist/mjs/symbolextensions.js.map +1 -0
  80. package/dist/mjs/weakrefextensions.js +1 -0
  81. package/dist/mjs/weakrefextensions.js.map +1 -0
  82. package/docs/assets/anchor.js +350 -0
  83. package/docs/assets/bass-addons.css +12 -0
  84. package/docs/assets/bass.css +544 -0
  85. package/docs/assets/fonts/EOT/SourceCodePro-Bold.eot +0 -0
  86. package/docs/assets/fonts/EOT/SourceCodePro-Regular.eot +0 -0
  87. package/docs/assets/fonts/LICENSE.txt +93 -0
  88. package/docs/assets/fonts/OTF/SourceCodePro-Bold.otf +0 -0
  89. package/docs/assets/fonts/OTF/SourceCodePro-Regular.otf +0 -0
  90. package/docs/assets/fonts/TTF/SourceCodePro-Bold.ttf +0 -0
  91. package/docs/assets/fonts/TTF/SourceCodePro-Regular.ttf +0 -0
  92. package/docs/assets/fonts/WOFF/OTF/SourceCodePro-Bold.otf.woff +0 -0
  93. package/docs/assets/fonts/WOFF/OTF/SourceCodePro-Regular.otf.woff +0 -0
  94. package/docs/assets/fonts/WOFF/TTF/SourceCodePro-Bold.ttf.woff +0 -0
  95. package/docs/assets/fonts/WOFF/TTF/SourceCodePro-Regular.ttf.woff +0 -0
  96. package/docs/assets/fonts/WOFF2/OTF/SourceCodePro-Bold.otf.woff2 +0 -0
  97. package/docs/assets/fonts/WOFF2/OTF/SourceCodePro-Regular.otf.woff2 +0 -0
  98. package/docs/assets/fonts/WOFF2/TTF/SourceCodePro-Bold.ttf.woff2 +0 -0
  99. package/docs/assets/fonts/WOFF2/TTF/SourceCodePro-Regular.ttf.woff2 +0 -0
  100. package/docs/assets/fonts/source-code-pro.css +23 -0
  101. package/docs/assets/github.css +123 -0
  102. package/docs/assets/site.js +168 -0
  103. package/docs/assets/split.css +15 -0
  104. package/docs/assets/split.js +782 -0
  105. package/docs/assets/style.css +147 -0
  106. package/docs/index.html +13060 -0
  107. package/jsdoc-config.json +31 -0
  108. package/package.json +12 -3
  109. package/src/globals.js +1 -1
  110. package/src/index.js +75 -82
  111. package/src/mapextensions.js +30 -0
  112. package/src/{asyncIterable.js → newClasses/asyncIterable.js} +117 -117
  113. package/src/{descriptor.js → newClasses/descriptor.js} +137 -74
  114. package/src/newClasses/iterable.js +221 -0
  115. package/src/newClasses/refmap.js +483 -0
  116. package/src/{refset.js → newClasses/refset.js} +29 -16
  117. package/src/objectextensions.js +97 -46
  118. package/src/reflectextensions.js +16 -14
  119. package/src/symbolextensions.js +2 -1
  120. package/tests/index.test.js +1 -1
  121. package/tests/{asyncIterable.test.js → newClasses/asyncIterable.test.js} +3 -4
  122. package/tests/newClasses/descriptor.test.js +252 -0
  123. package/tests/{iterable.test.js → newClasses/iterable.test.js} +2 -4
  124. package/tests/newClasses/refmap.test.js +69 -0
  125. package/tests/{refset.test.js → newClasses/refset.test.js} +2 -4
  126. package/tests/objectextensions.test.js +128 -0
  127. package/tsconfig.base.json +2 -1
  128. package/dist/@nejs/basic-extensions.bundle.1.5.1.js +0 -2
  129. package/dist/@nejs/basic-extensions.bundle.1.5.1.js.map +0 -7
  130. package/dist/cjs/asyncIterable.d.ts +0 -3
  131. package/dist/cjs/descriptor.d.ts +0 -2
  132. package/dist/cjs/iterable.d.ts +0 -3
  133. package/dist/cjs/refset.d.ts +0 -2
  134. package/dist/mjs/asyncIterable.d.ts +0 -3
  135. package/dist/mjs/descriptor.d.ts +0 -2
  136. package/dist/mjs/iterable.d.ts +0 -3
  137. package/dist/mjs/iterable.js +0 -184
  138. package/dist/mjs/refset.d.ts +0 -2
  139. package/src/iterable.js +0 -203
package/dist/cjs/index.js CHANGED
@@ -1,95 +1,88 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RefSetExtensions = exports.IteratorExtensions = exports.IterableExtensions = exports.AsyncIteratorExtensions = exports.AsyncIterableExtensions = exports.DescriptorExtensions = exports.GlobalFunctionsAndProps = exports.ArrayPrototypeExtensions = exports.SymbolExtensions = exports.StringExtensions = exports.ReflectExtensions = exports.FunctionExtensions = exports.ObjectExtensions = exports.all = exports.disableNetNew = exports.disableAll = exports.enableNetNew = exports.enableAll = void 0;
3
+ exports.Controls = exports.Patches = exports.Extensions = exports.all = void 0;
4
4
  const functionextensions_js_1 = require("./functionextensions.js");
5
- Object.defineProperty(exports, "FunctionExtensions", { enumerable: true, get: function () { return functionextensions_js_1.FunctionExtensions; } });
6
5
  const objectextensions_js_1 = require("./objectextensions.js");
7
- Object.defineProperty(exports, "ObjectExtensions", { enumerable: true, get: function () { return objectextensions_js_1.ObjectExtensions; } });
6
+ const mapextensions_js_1 = require("./mapextensions.js");
8
7
  const reflectextensions_js_1 = require("./reflectextensions.js");
9
- Object.defineProperty(exports, "ReflectExtensions", { enumerable: true, get: function () { return reflectextensions_js_1.ReflectExtensions; } });
10
8
  const stringextensions_js_1 = require("./stringextensions.js");
11
- Object.defineProperty(exports, "StringExtensions", { enumerable: true, get: function () { return stringextensions_js_1.StringExtensions; } });
12
9
  const symbolextensions_js_1 = require("./symbolextensions.js");
13
- Object.defineProperty(exports, "SymbolExtensions", { enumerable: true, get: function () { return symbolextensions_js_1.SymbolExtensions; } });
14
10
  const arrayextensions_js_1 = require("./arrayextensions.js");
15
- Object.defineProperty(exports, "ArrayPrototypeExtensions", { enumerable: true, get: function () { return arrayextensions_js_1.ArrayPrototypeExtensions; } });
16
- const descriptor_js_1 = require("./descriptor.js");
17
- Object.defineProperty(exports, "DescriptorExtensions", { enumerable: true, get: function () { return descriptor_js_1.DescriptorExtensions; } });
11
+ const descriptor_js_1 = require("./newClasses/descriptor.js");
18
12
  const globals_js_1 = require("./globals.js");
19
- Object.defineProperty(exports, "GlobalFunctionsAndProps", { enumerable: true, get: function () { return globals_js_1.GlobalFunctionsAndProps; } });
20
- const refset_js_1 = require("./refset.js");
21
- Object.defineProperty(exports, "RefSetExtensions", { enumerable: true, get: function () { return refset_js_1.RefSetExtensions; } });
22
- const asyncIterable_js_1 = require("./asyncIterable.js");
23
- Object.defineProperty(exports, "AsyncIteratorExtensions", { enumerable: true, get: function () { return asyncIterable_js_1.AsyncIteratorExtensions; } });
24
- Object.defineProperty(exports, "AsyncIterableExtensions", { enumerable: true, get: function () { return asyncIterable_js_1.AsyncIterableExtensions; } });
25
- const iterable_js_1 = require("./iterable.js");
26
- Object.defineProperty(exports, "IteratorExtensions", { enumerable: true, get: function () { return iterable_js_1.IteratorExtensions; } });
27
- Object.defineProperty(exports, "IterableExtensions", { enumerable: true, get: function () { return iterable_js_1.IterableExtensions; } });
28
- const extension_1 = require("@nejs/extension");
29
- const Owners = [
30
- Object,
31
- Function,
32
- Reflect,
33
- String,
34
- Symbol,
35
- Array.prototype,
36
- ];
37
- const NetNew = [
38
- globals_js_1.GlobalFunctionsAndProps,
39
- descriptor_js_1.DescriptorExtensions,
40
- asyncIterable_js_1.AsyncIterableExtensions,
41
- asyncIterable_js_1.AsyncIteratorExtensions,
42
- iterable_js_1.IterableExtensions,
43
- iterable_js_1.IteratorExtensions,
44
- refset_js_1.RefSetExtensions,
45
- ];
46
- function enableAll(owners) {
47
- const list = owners || Owners;
48
- if (!list) {
49
- throw new Error('Unable to enable features without owners list');
50
- }
51
- list.forEach(owner => {
52
- extension_1.Patch.enableFor(owner);
53
- });
54
- enableNetNew();
55
- }
56
- exports.enableAll = enableAll;
57
- function enableNetNew() {
58
- NetNew.forEach(extension => { extension.apply(); });
59
- }
60
- exports.enableNetNew = enableNetNew;
61
- function disableAll(owners) {
62
- const list = owners || Owners;
63
- if (!list) {
64
- throw new Error('Unable to disable features without owners list');
65
- }
66
- list.forEach(owner => {
67
- extension_1.Patch.disableFor(owner);
68
- });
69
- disableNetNew();
70
- }
71
- exports.disableAll = disableAll;
72
- function disableNetNew() {
73
- NetNew.forEach(extension => { extension.revert(); });
74
- }
75
- exports.disableNetNew = disableNetNew;
13
+ const refset_js_1 = require("./newClasses/refset.js");
14
+ const refmap_js_1 = require("./newClasses/refmap.js");
15
+ const asyncIterable_js_1 = require("./newClasses/asyncIterable.js");
16
+ const iterable_js_1 = require("./newClasses/iterable.js");
17
+ const Patches = new Map([
18
+ [Object, objectextensions_js_1.ObjectExtensions],
19
+ [Function, functionextensions_js_1.FunctionExtensions],
20
+ [Reflect, reflectextensions_js_1.ReflectExtensions],
21
+ [String, stringextensions_js_1.StringExtensions],
22
+ [Symbol, symbolextensions_js_1.SymbolExtensions],
23
+ [Object.prototype, objectextensions_js_1.ObjectPrototypeExtensions],
24
+ [Array.prototype, arrayextensions_js_1.ArrayPrototypeExtensions],
25
+ [Map.prototype, mapextensions_js_1.MapPrototypeExtensions],
26
+ [globalThis, globals_js_1.GlobalFunctionsAndProps],
27
+ ]);
28
+ exports.Patches = Patches;
29
+ const Extensions = {
30
+ [descriptor_js_1.DescriptorExtensions.key]: descriptor_js_1.DescriptorExtensions,
31
+ [asyncIterable_js_1.AsyncIterableExtensions.key]: asyncIterable_js_1.AsyncIterableExtensions,
32
+ [asyncIterable_js_1.AsyncIteratorExtensions.key]: asyncIterable_js_1.AsyncIteratorExtensions,
33
+ [iterable_js_1.IterableExtensions.key]: iterable_js_1.IterableExtensions,
34
+ [iterable_js_1.IteratorExtensions.key]: iterable_js_1.IteratorExtensions,
35
+ [refset_js_1.RefSetExtensions.key]: refset_js_1.RefSetExtensions,
36
+ [refmap_js_1.RefMapExtensions.key]: refmap_js_1.RefMapExtensions,
37
+ };
38
+ exports.Extensions = Extensions;
39
+ const Controls = {};
40
+ exports.Controls = Controls;
41
+ Object.assign(Controls, {
42
+ enableAll() {
43
+ Controls.enablePatches();
44
+ Controls.enableExtensions();
45
+ },
46
+ enablePatches() {
47
+ Patches.forEach((extension) => { extension.apply(); });
48
+ },
49
+ enableExtensions() {
50
+ Object.values(Extensions).forEach((extension) => { extension.apply(); });
51
+ },
52
+ disableAll(owners) {
53
+ Controls.disablePatches();
54
+ Controls.disableExtensions();
55
+ },
56
+ disablePatches() {
57
+ Patches.forEach((extension) => { extension.revert(); });
58
+ },
59
+ disableExtensions() {
60
+ Object.values(Extensions).forEach((extension) => { extension.revert(); });
61
+ },
62
+ });
76
63
  exports.all = (() => {
77
- let extensions = [
78
- objectextensions_js_1.ObjectExtensions,
79
- functionextensions_js_1.FunctionExtensions,
80
- reflectextensions_js_1.ReflectExtensions,
81
- stringextensions_js_1.StringExtensions,
82
- symbolextensions_js_1.SymbolExtensions,
83
- arrayextensions_js_1.ArrayPrototypeExtensions,
84
- globals_js_1.GlobalFunctionsAndProps,
85
- descriptor_js_1.DescriptorExtensions,
64
+ const extensions = [
65
+ ...Array.from(Patches.values()),
66
+ ...Array.from(Object.values(Extensions)),
86
67
  ];
87
68
  const dest = extensions.reduce((accumulator, extension) => {
88
69
  Reflect.ownKeys(extension.patchEntries).reduce((_, key) => {
89
- accumulator[key] = extension.patchEntries[key].computed;
70
+ const entry = extension.patchEntries[key];
71
+ if (entry.isAccessor)
72
+ accumulator[key] = new descriptor_js_1.Descriptor(entry.descriptor);
73
+ else
74
+ accumulator[key] = entry.computed;
90
75
  return accumulator;
91
76
  }, accumulator);
92
77
  return accumulator;
93
78
  }, {});
94
79
  return dest;
95
80
  })();
81
+ const results = {
82
+ ...Controls,
83
+ extensions: Extensions,
84
+ patches: Patches,
85
+ all: exports.all,
86
+ };
87
+ exports.default = results;
88
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export const MapPrototypeExtensions: Patch;
2
+ import { Patch } from '@nejs/extension';
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MapPrototypeExtensions = void 0;
4
+ const extension_1 = require("@nejs/extension");
5
+ exports.MapPrototypeExtensions = new extension_1.Patch(Map.prototype, {
6
+ /**
7
+ * The function `getKey` returns the key associated with a given value
8
+ * in a map.
9
+ *
10
+ * @param {any} value - The value parameter is the value that you want to
11
+ * find the corresponding key for in the map.
12
+ * @param [strict=true] - The "strict" parameter is a boolean value that
13
+ * determines whether strict equality (===) or loose equality (==) should
14
+ * be used when comparing the "value" parameter with the values in the
15
+ * entries of the object. If "strict" is set to true, strict equality will
16
+ * be used.
17
+ * @returns the key associated with the given value. If a matching key is
18
+ * found, it is returned. If no matching key is found, null is returned.
19
+ */
20
+ getKey(value, strict = true) {
21
+ for (const [key, entryValue] of this) {
22
+ if ((strict && value === entryValue) &&
23
+ (!strict && value == entryValue)) {
24
+ return key;
25
+ }
26
+ return null;
27
+ }
28
+ },
29
+ });
30
+ //# sourceMappingURL=mapextensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapextensions.js","sourceRoot":"","sources":["../../src/mapextensions.js"],"names":[],"mappings":";;;AAAA,+CAAwC;AAE3B,QAAA,sBAAsB,GAAG,IAAI,iBAAK,CAAC,GAAG,CAAC,SAAS,EAAE;IAC7D;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;QACzB,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC;YACrC,IACE,CAAC,MAAM,IAAI,KAAK,KAAK,UAAU,CAAC;gBAChC,CAAC,CAAC,MAAM,IAAI,KAAK,IAAI,UAAU,CAAC,EAChC,CAAC;gBACD,OAAO,GAAG,CAAA;YACZ,CAAC;YAED,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;CACF,CAAC,CAAA"}
@@ -0,0 +1,123 @@
1
+ /**
2
+ * The AsyncIterable class extends the concept of Iterable to asynchronous
3
+ * operations. It allows creating iterable objects where each element can be
4
+ * an asynchronous entity, like a Promise. This class is particularly useful
5
+ * when dealing with asynchronous data sources, such as API responses, file
6
+ * reading in chunks, or any other data that is not immediately available but
7
+ * arrives over time.
8
+ */
9
+ export class AsyncIterable {
10
+ /**
11
+ * Checks if a given value is an async iterable. This method determines if
12
+ * the provided value has a `Symbol.asyncIterator` property that is an async
13
+ * generator function. It's a precise way to identify if the value conforms
14
+ * to the async iterable protocol using an async generator function.
15
+ *
16
+ * Note: This method specifically checks for async generator functions. Some
17
+ * async iterables might use regular async functions that return an async
18
+ * iterator, which this method won't identify.
19
+ *
20
+ * @param {*} value - The value to be checked for async iterability.
21
+ * @returns {boolean} - Returns true if the value is an async iterable
22
+ * implemented using an async generator function, false otherwise.
23
+ */
24
+ static isAsyncIterable(value: any): boolean;
25
+ /**
26
+ * Constructs an instance of AsyncIterable. Similar to Iterable, it can be
27
+ * initialized with either an iterable object or individual elements. The
28
+ * elements can be promises, direct values, or a mix of both. If the first
29
+ * argument is an iterable, the instance is initialized with the elements
30
+ * from the iterable, followed by any additional arguments. If the first
31
+ * argument is not an iterable, all arguments are treated as individual
32
+ * elements.
33
+ *
34
+ * @param {Iterable|Promise|*} elementsOrFirstElement - An iterable object,
35
+ * a Promise, or the first element.
36
+ * @param {...Promise|*} moreElements - Additional elements if the first
37
+ * argument is not an iterable.
38
+ */
39
+ constructor(elementsOrFirstElement: Iterable<any> | Promise<any> | any, ...moreElements: (Promise<any> | any)[]);
40
+ /**
41
+ * Implements the async iterable protocol. When an instance of AsyncIterable
42
+ * is used in a `for await...of` loop, this async generator function is
43
+ * invoked. It yields each element as a Promise, allowing asynchronous
44
+ * iteration. Elements that are not Promises are automatically wrapped in
45
+ * a resolved Promise to ensure consistency.
46
+ *
47
+ * @returns {AsyncGenerator} An async generator that yields each element as
48
+ * a Promise.
49
+ */
50
+ [Symbol.asyncIterator](): AsyncGenerator;
51
+ /**
52
+ * Ensures that the constructor of this object instance's name
53
+ * is returned if the string tag for this instance is queried
54
+ *
55
+ * @returns {string} the name of the class
56
+ */
57
+ get [Symbol.toStringTag](): string;
58
+ #private;
59
+ }
60
+ /**
61
+ * Being able to create a compliant `AsyncIterator` around any type of
62
+ * iterable object. This can be wrapped around any type of object that
63
+ * has a `[Symbol.asyncIterator]` property assigned to a generator
64
+ * function.
65
+ */
66
+ export class AsyncIterator {
67
+ /**
68
+ * Creates a new `AsyncIterator` object instance.
69
+ *
70
+ * @param {object} asyncIterable any object that has a
71
+ * `[Symbol.asyncIterable]` property assigned to a generator function.
72
+ */
73
+ constructor(asyncIterable: object);
74
+ /**
75
+ * Returns a new `Array` derived from the iterable this object
76
+ * wraps.
77
+ *
78
+ * @returns {array} a new `Array` generated from the wrapped
79
+ * iterable. The method is generated from using an async for of
80
+ * loop.
81
+ */
82
+ asArray(): any[];
83
+ /**
84
+ * Returns the actual iterable object passed to the constructor that
85
+ * created this instance.
86
+ *
87
+ * @returns {object} the object containing the `[Symbol.iterator]`
88
+ */
89
+ get asyncIterable(): object;
90
+ /**
91
+ * The function retrieves the next value in the iterator. If the
92
+ * the iterator has run its course, `reset()` can be invoked to
93
+ * reset the pointer to the beginning of the iteration.
94
+ *
95
+ * @returns {any} the next value
96
+ */
97
+ next(): any;
98
+ /**
99
+ * Resets the async iterator to the beginning allowing it to be
100
+ * iterated over again.
101
+ */
102
+ reset(): Promise<void>;
103
+ /**
104
+ * The existence of this symbol on the object instances, indicates that
105
+ * it can be used in `for(.. of ..)` loops and its values can be
106
+ * extracted from calls to `Array.from()`
107
+ *
108
+ * @returns {AsyncIterable} this is returned since this object is already
109
+ * conforming to the expected JavaScript AsyncIterator interface
110
+ */
111
+ [Symbol.asyncIterator](): AsyncIterable;
112
+ /**
113
+ * Ensures that the constructor of this object instance's name
114
+ * is returned if the string tag for this instance is queried
115
+ *
116
+ * @returns {string} the name of the class
117
+ */
118
+ get [Symbol.toStringTag](): string;
119
+ #private;
120
+ }
121
+ export const AsyncIterableExtensions: Extension;
122
+ export const AsyncIteratorExtensions: Extension;
123
+ import { Extension } from '@nejs/extension';
@@ -12,7 +12,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
12
12
  };
13
13
  var _AsyncIterable_elements, _AsyncIterator_asyncIterable, _AsyncIterator_asyncIterator;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.AsyncIteratorExtensions = exports.AsyncIterableExtensions = void 0;
15
+ exports.AsyncIteratorExtensions = exports.AsyncIterableExtensions = exports.AsyncIterator = exports.AsyncIterable = void 0;
16
16
  const extension_1 = require("@nejs/extension");
17
17
  /**
18
18
  * The AsyncIterable class extends the concept of Iterable to asynchronous
@@ -96,13 +96,14 @@ class AsyncIterable {
96
96
  return type === '[object AsyncGeneratorFunction]';
97
97
  }
98
98
  }
99
+ exports.AsyncIterable = AsyncIterable;
99
100
  /**
100
101
  * Being able to create a compliant `AsyncIterator` around any type of
101
102
  * iterable object. This can be wrapped around any type of object that
102
103
  * has a `[Symbol.asyncIterator]` property assigned to a generator
103
104
  * function.
104
105
  */
105
- AsyncIterable.AsyncIterator = class AsyncIterator {
106
+ class AsyncIterator {
106
107
  /**
107
108
  * Creates a new `AsyncIterator` object instance.
108
109
  *
@@ -198,6 +199,8 @@ AsyncIterable.AsyncIterator = class AsyncIterator {
198
199
  get [Symbol.toStringTag]() {
199
200
  return this.constructor.name;
200
201
  }
201
- };
202
+ }
203
+ exports.AsyncIterator = AsyncIterator;
202
204
  exports.AsyncIterableExtensions = new extension_1.Extension(AsyncIterable);
203
- exports.AsyncIteratorExtensions = new extension_1.Extension(AsyncIterable.AsyncIterator);
205
+ exports.AsyncIteratorExtensions = new extension_1.Extension(AsyncIterator);
206
+ //# sourceMappingURL=asyncIterable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asyncIterable.js","sourceRoot":"","sources":["../../../src/newClasses/asyncIterable.js"],"names":[],"mappings":"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"}