{"version":3,"sources":["jsdelivr-header.js","/npm/scoped@3.0.2/index.js"],"names":[],"mappings":"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","file":"/npm/scoped@3.0.2/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/scoped@3.0.2/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","var lang = require('cssauron-falafel')\n\nvar is_scope_creation = lang('function, catch, [has_let_statements], :root')\n  , is_let_scope = lang(\n      'function, block, for, for-in, [type=ForOfStatement], :root'\n    )\n  , is_neutral_id = lang(\n      'object > * > id:first-child, ' +\n      'lookup > * + id, function > id, catch > id'\n    )\n  , is_declaration = lang('variable > id:first-child')\n  , is_assign = lang('assign > id:first-child')\n  , is_function = lang('function, :root')\n  , is_root = lang(':root')\n  , is_ident = lang('id')\n\nmodule.exports = function(ignore, attach_scope, ready) {\n  var scopes = []\n\n  if(arguments.length < 3) {\n    ready = attach_scope\n    attach_scope = false\n  }\n\n  if(arguments.length === 1) {\n    ready = ignore\n    ignore = []\n  }\n\n  return write_node\n\n  function write_node(node) {\n    switch(true) {\n      case !!is_root(node): finish(node); break\n      case !!is_declaration(node): decl(node); break\n      case !!is_scope_creation(node): exit(node); break\n      case !!is_ident(node) && !is_neutral_id(node): use(node); break\n    }\n  }\n\n  function decl(node) {\n    var is_let = node.parent.type === 'VariableDeclarator'\n      , parent\n      \n    is_let = node.parent.parent.kind === 'let'\n\n    parent = get_parent(node, is_let ? is_let_scope : is_function)\n  \n    if(is_let) {\n      parent.has_let_statements = true\n    }\n\n    get_scope(parent).declare(node)\n  }\n\n  function exit(node) {\n    var parent = get_parent(node.parent, is_scope_creation)\n      , this_scope\n      , scope\n\n    this_scope = get_scope(node)\n\n    if(!parent) {\n      return finish(node)\n    }\n\n    scope = get_scope(parent)\n\n    // pull function name out into containing\n    // scope iff this node is a declaration to\n    // handle named function statement hoisting\n\n    if(node.id && node.type === 'FunctionDeclaration') {\n      scope.declare(node.id)\n    }\n\n    scope.consume(this_scope)\n  }\n\n  function use(node) {\n    if(ignore.indexOf(node.name) !== -1) {\n      return\n    }\n\n    var parent = get_parent(node.parent, is_scope_creation)\n      , scope\n\n    if(!parent) {\n      return finish(node)\n    }\n\n    scope = get_scope(parent)\n    scope.use(node)\n  }\n\n  function get_scope(node) {\n    for(var i = 0, len = scopes.length; i < len; ++i) {\n      if(scopes[i].defined_by === node) {\n        return scopes[i]\n      }\n    }\n\n    return scopes.unshift(make_scope(node)), scopes[0]\n  }\n\n  function make_scope(node) {\n    var scope = {\n        consume: scope_consume\n      , defined_by: node\n      , use: scope_use\n      , declared: scope_make_decl(node)\n      , declare: scope_declare\n      , unresolved: []\n      , children: []\n    }\n\n    if(attach_scope) {\n      node.scope = scope\n    }\n\n    return scope\n  }\n\n  function scope_declare(node) {\n    var scope = this\n      , promoted\n\n    if(scope.declared.some(matches(node))) {\n      return\n    }\n\n    scope.unresolved = scope.unresolved.filter(function(item) {\n      if(item.name === node.name) {\n        promoted = item\n      }\n\n      return item.name !== node.name\n    })\n\n    if(promoted) {\n      promoted.nodes.push({\n          node: node\n        , kind: 'declare'\n      })\n    }\n\n    scope.declared.push(\n        promoted || {name: node.name, nodes: [{node: node, kind: 'declare'}]}\n    )\n\n    function not_match(item) {\n      return item.name !== node.name\n    }\n  }\n\n  function scope_make_decl(node) {\n    var out = node.params ? node.params :\n              node.param ? [node.param] :\n              []\n  \n    out = out.slice()\n\n    if(node.id && node.type === 'FunctionExpression') {\n      out.push(node.id)\n    }\n\n    out = out.map(function(node) {\n      return {name: node.name, nodes: [{node: node, kind: 'declare'}]}\n    })\n\n    return out\n  }\n\n  function scope_use(node) {\n    var scope = this\n      , kind\n\n    kind = is_assign(node) ? 'explicit' : 'implicit'\n   \n    for(var i = 0, len = scope.declared.length; i < len; ++i) {\n      if(node.name !== scope.declared[i].name) {\n        continue\n      }\n\n      scope.declared[i].nodes.push({node: node, kind: kind})\n\n      return\n    }\n\n    for(var i = 0, len = scope.unresolved.length; i < len; ++i) {\n      if(node.name !== scope.unresolved[i].name) {\n        continue\n      }\n\n      scope.unresolved[i].nodes.push({node: node, kind: kind})\n\n      return\n    }\n\n    scope.unresolved.push({name: node.name, nodes: [{node: node, kind: kind}]})\n  }\n\n  function scope_consume(other_scope) {\n    var scope = this\n      , nodes\n\n    scopes.splice(scopes.indexOf(other_scope), 1)\n    scope.children.push({\n        scope: other_scope.defined_by\n      , vars: other_scope.declared\n      , uses: other_scope.unresolved\n      , children: other_scope.children  \n    })\n\n    other_scope.parent = scope\n\n    for(var i = 0, len = other_scope.unresolved.length; i < len; ++i) {\n      nodes = other_scope.unresolved[i].nodes\n\n      for(var j = 0, jlen = nodes.length; j < jlen; ++j) {\n        scope.use(nodes[j].node)\n      }\n    } \n  }\n\n  function finish(node) {\n    if(!scopes.length) {\n      scopes.push({\n          defined_by: node\n        , declared: []\n        , unresolved: []\n        , children: []\n      })\n    }\n\n    ready({\n        scope: scopes[0].defined_by\n      , vars: scopes[0].declared\n      , uses: scopes[0].unresolved\n      , children: scopes[0].children  \n    })\n  }\n\n  function matches(node) {\n    return function(inner) {\n      return inner.name === node.name\n    }\n  }\n}\n\nfunction get_parent(node, sel) {\n  while(node && !sel(node)) {\n    node = node.parent\n  } \n\n  return node\n}\n"]}