summaryrefslogtreecommitdiff
path: root/node_modules/estree-walker/dist/estree-walker.umd.js
diff options
context:
space:
mode:
authorakiyamn2023-09-24 23:22:21 +1000
committerakiyamn2023-09-24 23:22:21 +1000
commit4e87195739f2a5d9a05451b48773c8afdc680765 (patch)
tree9cba501844a4a11dcbdffc4050ed8189561c55ed /node_modules/estree-walker/dist/estree-walker.umd.js
downloadprice-tracker-worker-4e87195739f2a5d9a05451b48773c8afdc680765.tar.gz
price-tracker-worker-4e87195739f2a5d9a05451b48773c8afdc680765.zip
Initial commit (by create-cloudflare CLI)
Diffstat (limited to 'node_modules/estree-walker/dist/estree-walker.umd.js')
-rw-r--r--node_modules/estree-walker/dist/estree-walker.umd.js65
1 files changed, 65 insertions, 0 deletions
diff --git a/node_modules/estree-walker/dist/estree-walker.umd.js b/node_modules/estree-walker/dist/estree-walker.umd.js
new file mode 100644
index 0000000..f070f17
--- /dev/null
+++ b/node_modules/estree-walker/dist/estree-walker.umd.js
@@ -0,0 +1,65 @@
+(function (global, factory) {
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
+ typeof define === 'function' && define.amd ? define(['exports'], factory) :
+ (factory((global.estreeWalker = {})));
+}(this, (function (exports) { 'use strict';
+
+ function walk(ast, { enter, leave }) {
+ visit(ast, null, enter, leave);
+ }
+
+ let shouldSkip = false;
+ const context = { skip: () => shouldSkip = true };
+
+ const childKeys = {};
+
+ const toString = Object.prototype.toString;
+
+ function isArray(thing) {
+ return toString.call(thing) === '[object Array]';
+ }
+
+ function visit(node, parent, enter, leave, prop, index) {
+ if (!node) return;
+
+ if (enter) {
+ const _shouldSkip = shouldSkip;
+ shouldSkip = false;
+ enter.call(context, node, parent, prop, index);
+ const skipped = shouldSkip;
+ shouldSkip = _shouldSkip;
+
+ if (skipped) return;
+ }
+
+ const keys = node.type && childKeys[node.type] || (
+ childKeys[node.type] = Object.keys(node).filter(key => typeof node[key] === 'object')
+ );
+
+ for (let i = 0; i < keys.length; i += 1) {
+ const key = keys[i];
+ const value = node[key];
+
+ if (isArray(value)) {
+ for (let j = 0; j < value.length; j += 1) {
+ value[j] && value[j].type && visit(value[j], node, enter, leave, key, j);
+ }
+ }
+
+ else if (value && value.type) {
+ visit(value, node, enter, leave, key, null);
+ }
+ }
+
+ if (leave) {
+ leave(node, parent, prop, index);
+ }
+ }
+
+ exports.walk = walk;
+ exports.childKeys = childKeys;
+
+ Object.defineProperty(exports, '__esModule', { value: true });
+
+})));
+//# sourceMappingURL=estree-walker.umd.js.map