@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.
- package/.esdoc.json +9 -0
- package/README.md +2025 -11
- package/bin/clean +6 -0
- package/dist/@nejs/basic-extensions.bundle.1.6.1.js +4 -0
- package/dist/@nejs/basic-extensions.bundle.1.6.1.js.map +7 -0
- package/dist/cjs/arrayextensions.js +1 -0
- package/dist/cjs/arrayextensions.js.map +1 -0
- package/dist/cjs/functionextensions.js +1 -0
- package/dist/cjs/functionextensions.js.map +1 -0
- package/dist/cjs/globals.js +2 -1
- package/dist/cjs/globals.js.map +1 -0
- package/dist/cjs/index.d.ts +10 -19
- package/dist/cjs/index.js +69 -76
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/mapextensions.d.ts +2 -0
- package/dist/cjs/mapextensions.js +30 -0
- package/dist/cjs/mapextensions.js.map +1 -0
- package/dist/cjs/newClasses/asyncIterable.d.ts +123 -0
- package/dist/cjs/{asyncIterable.js → newClasses/asyncIterable.js} +7 -4
- package/dist/cjs/newClasses/asyncIterable.js.map +1 -0
- package/dist/cjs/newClasses/descriptor.d.ts +401 -0
- package/dist/cjs/{descriptor.js → newClasses/descriptor.js} +150 -80
- package/dist/cjs/newClasses/descriptor.js.map +1 -0
- package/dist/cjs/newClasses/iterable.d.ts +125 -0
- package/dist/cjs/{iterable.js → newClasses/iterable.js} +36 -10
- package/dist/cjs/newClasses/iterable.js.map +1 -0
- package/dist/cjs/newClasses/refmap.d.ts +238 -0
- package/dist/cjs/newClasses/refmap.js +433 -0
- package/dist/cjs/newClasses/refmap.js.map +1 -0
- package/dist/cjs/newClasses/refset.d.ts +186 -0
- package/dist/cjs/{refset.js → newClasses/refset.js} +18 -3
- package/dist/cjs/newClasses/refset.js.map +1 -0
- package/dist/cjs/objectextensions.d.ts +7 -6
- package/dist/cjs/objectextensions.js +85 -43
- package/dist/cjs/objectextensions.js.map +1 -0
- package/dist/cjs/reflectextensions.js +16 -12
- package/dist/cjs/reflectextensions.js.map +1 -0
- package/dist/cjs/stringextensions.js +1 -0
- package/dist/cjs/stringextensions.js.map +1 -0
- package/dist/cjs/symbolextensions.js +3 -1
- package/dist/cjs/symbolextensions.js.map +1 -0
- package/dist/cjs/weakrefextensions.js +1 -0
- package/dist/cjs/weakrefextensions.js.map +1 -0
- package/dist/mjs/arrayextensions.js +1 -0
- package/dist/mjs/arrayextensions.js.map +1 -0
- package/dist/mjs/functionextensions.js +1 -0
- package/dist/mjs/functionextensions.js.map +1 -0
- package/dist/mjs/globals.js +2 -1
- package/dist/mjs/globals.js.map +1 -0
- package/dist/mjs/index.d.ts +10 -19
- package/dist/mjs/index.js +67 -60
- package/dist/mjs/index.js.map +1 -0
- package/dist/mjs/mapextensions.d.ts +2 -0
- package/dist/mjs/mapextensions.js +27 -0
- package/dist/mjs/mapextensions.js.map +1 -0
- package/dist/mjs/newClasses/asyncIterable.d.ts +123 -0
- package/dist/mjs/{asyncIterable.js → newClasses/asyncIterable.js} +106 -105
- package/dist/mjs/newClasses/asyncIterable.js.map +1 -0
- package/dist/mjs/newClasses/descriptor.d.ts +401 -0
- package/dist/mjs/{descriptor.js → newClasses/descriptor.js} +129 -67
- package/dist/mjs/newClasses/descriptor.js.map +1 -0
- package/dist/mjs/newClasses/iterable.d.ts +125 -0
- package/dist/mjs/newClasses/iterable.js +199 -0
- package/dist/mjs/newClasses/iterable.js.map +1 -0
- package/dist/mjs/newClasses/refmap.d.ts +238 -0
- package/dist/mjs/newClasses/refmap.js +417 -0
- package/dist/mjs/newClasses/refmap.js.map +1 -0
- package/dist/mjs/newClasses/refset.d.ts +186 -0
- package/dist/mjs/{refset.js → newClasses/refset.js} +17 -3
- package/dist/mjs/newClasses/refset.js.map +1 -0
- package/dist/mjs/objectextensions.d.ts +7 -6
- package/dist/mjs/objectextensions.js +84 -42
- package/dist/mjs/objectextensions.js.map +1 -0
- package/dist/mjs/reflectextensions.js +16 -12
- package/dist/mjs/reflectextensions.js.map +1 -0
- package/dist/mjs/stringextensions.js +1 -0
- package/dist/mjs/stringextensions.js.map +1 -0
- package/dist/mjs/symbolextensions.js +3 -1
- package/dist/mjs/symbolextensions.js.map +1 -0
- package/dist/mjs/weakrefextensions.js +1 -0
- package/dist/mjs/weakrefextensions.js.map +1 -0
- package/docs/assets/anchor.js +350 -0
- package/docs/assets/bass-addons.css +12 -0
- package/docs/assets/bass.css +544 -0
- package/docs/assets/fonts/EOT/SourceCodePro-Bold.eot +0 -0
- package/docs/assets/fonts/EOT/SourceCodePro-Regular.eot +0 -0
- package/docs/assets/fonts/LICENSE.txt +93 -0
- package/docs/assets/fonts/OTF/SourceCodePro-Bold.otf +0 -0
- package/docs/assets/fonts/OTF/SourceCodePro-Regular.otf +0 -0
- package/docs/assets/fonts/TTF/SourceCodePro-Bold.ttf +0 -0
- package/docs/assets/fonts/TTF/SourceCodePro-Regular.ttf +0 -0
- package/docs/assets/fonts/WOFF/OTF/SourceCodePro-Bold.otf.woff +0 -0
- package/docs/assets/fonts/WOFF/OTF/SourceCodePro-Regular.otf.woff +0 -0
- package/docs/assets/fonts/WOFF/TTF/SourceCodePro-Bold.ttf.woff +0 -0
- package/docs/assets/fonts/WOFF/TTF/SourceCodePro-Regular.ttf.woff +0 -0
- package/docs/assets/fonts/WOFF2/OTF/SourceCodePro-Bold.otf.woff2 +0 -0
- package/docs/assets/fonts/WOFF2/OTF/SourceCodePro-Regular.otf.woff2 +0 -0
- package/docs/assets/fonts/WOFF2/TTF/SourceCodePro-Bold.ttf.woff2 +0 -0
- package/docs/assets/fonts/WOFF2/TTF/SourceCodePro-Regular.ttf.woff2 +0 -0
- package/docs/assets/fonts/source-code-pro.css +23 -0
- package/docs/assets/github.css +123 -0
- package/docs/assets/site.js +168 -0
- package/docs/assets/split.css +15 -0
- package/docs/assets/split.js +782 -0
- package/docs/assets/style.css +147 -0
- package/docs/index.html +13060 -0
- package/jsdoc-config.json +31 -0
- package/package.json +12 -3
- package/src/globals.js +1 -1
- package/src/index.js +75 -82
- package/src/mapextensions.js +30 -0
- package/src/{asyncIterable.js → newClasses/asyncIterable.js} +117 -117
- package/src/{descriptor.js → newClasses/descriptor.js} +137 -74
- package/src/newClasses/iterable.js +221 -0
- package/src/newClasses/refmap.js +483 -0
- package/src/{refset.js → newClasses/refset.js} +29 -16
- package/src/objectextensions.js +97 -46
- package/src/reflectextensions.js +16 -14
- package/src/symbolextensions.js +2 -1
- package/tests/index.test.js +1 -1
- package/tests/{asyncIterable.test.js → newClasses/asyncIterable.test.js} +3 -4
- package/tests/newClasses/descriptor.test.js +252 -0
- package/tests/{iterable.test.js → newClasses/iterable.test.js} +2 -4
- package/tests/newClasses/refmap.test.js +69 -0
- package/tests/{refset.test.js → newClasses/refset.test.js} +2 -4
- package/tests/objectextensions.test.js +128 -0
- package/tsconfig.base.json +2 -1
- package/dist/@nejs/basic-extensions.bundle.1.5.1.js +0 -2
- package/dist/@nejs/basic-extensions.bundle.1.5.1.js.map +0 -7
- package/dist/cjs/asyncIterable.d.ts +0 -3
- package/dist/cjs/descriptor.d.ts +0 -2
- package/dist/cjs/iterable.d.ts +0 -3
- package/dist/cjs/refset.d.ts +0 -2
- package/dist/mjs/asyncIterable.d.ts +0 -3
- package/dist/mjs/descriptor.d.ts +0 -2
- package/dist/mjs/iterable.d.ts +0 -3
- package/dist/mjs/iterable.js +0 -184
- package/dist/mjs/refset.d.ts +0 -2
- 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.
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
Object
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
]
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
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
|
-
|
|
78
|
-
|
|
79
|
-
|
|
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
|
-
|
|
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,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
|
-
|
|
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(
|
|
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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"}
|