Website Structure
This commit is contained in:
parent
62812f2090
commit
71f0676a62
22365 changed files with 4265753 additions and 791 deletions
69
Frontend-Learner/node_modules/on-change/source/wrap-iterator.js
generated
vendored
Normal file
69
Frontend-Learner/node_modules/on-change/source/wrap-iterator.js
generated
vendored
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
import {TARGET} from './constants.js';
|
||||
|
||||
/**
|
||||
Wraps an iterator's `next()` so yielded values (or [key, value] pairs) are passed through `prepareValue` with the correct owner and path.
|
||||
*/
|
||||
// eslint-disable-next-line max-params
|
||||
export default function wrapIterator(iterator, target, thisArgument, applyPath, prepareValue) {
|
||||
const originalNext = iterator?.next;
|
||||
if (typeof originalNext !== 'function') {
|
||||
return iterator;
|
||||
}
|
||||
|
||||
if (target.name === 'entries') {
|
||||
iterator.next = function () {
|
||||
const result = originalNext.call(this);
|
||||
|
||||
if (result && result.done === false) {
|
||||
result.value[0] = prepareValue(
|
||||
result.value[0],
|
||||
target,
|
||||
result.value[0],
|
||||
applyPath,
|
||||
);
|
||||
result.value[1] = prepareValue(
|
||||
result.value[1],
|
||||
target,
|
||||
result.value[0],
|
||||
applyPath,
|
||||
);
|
||||
}
|
||||
|
||||
return result;
|
||||
};
|
||||
} else if (target.name === 'values') {
|
||||
const keyIterator = thisArgument[TARGET].keys();
|
||||
|
||||
iterator.next = function () {
|
||||
const result = originalNext.call(this);
|
||||
|
||||
if (result && result.done === false) {
|
||||
result.value = prepareValue(
|
||||
result.value,
|
||||
target,
|
||||
keyIterator.next().value,
|
||||
applyPath,
|
||||
);
|
||||
}
|
||||
|
||||
return result;
|
||||
};
|
||||
} else {
|
||||
iterator.next = function () {
|
||||
const result = originalNext.call(this);
|
||||
|
||||
if (result && result.done === false) {
|
||||
result.value = prepareValue(
|
||||
result.value,
|
||||
target,
|
||||
result.value,
|
||||
applyPath,
|
||||
);
|
||||
}
|
||||
|
||||
return result;
|
||||
};
|
||||
}
|
||||
|
||||
return iterator;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue