{"version":3,"names":["addCustomTemplate","file","name","globalThis","systemActivity","declar","declarations","identifier","addImport","GENERATED_IMPORT_IDENTIFIER","isVariable","path","parentPath","isImportNamespaceSpecifier","parentKey","isLabeledStatement","isBreakStatement","isMemberExpression","getParentWithScope","findParent","par","scope","hasOwnBinding","node","_export","setters","_constantsJs","execute","__SystemJSRewritingHack","_recorder_","_src_client_reactive_babel_plugin_active_expression_rewriting_utils_js","Object","defineProperty","get","set","thisIsVererySecretVariableName","enumerable","configurable"],"sources":["utils.js"],"sourcesContent":["\nimport {GENERATED_IMPORT_IDENTIFIER } from './constants.js';\nexport function addCustomTemplate(file, name) {\n  let declar = file.declarations[name];\n  if (declar) return declar;\n\n  let identifier = file.declarations[name] = file.addImport(\"active-expression-rewriting\", name, name);\n  identifier[GENERATED_IMPORT_IDENTIFIER] = true;\n  return identifier;\n\n  // let ref = customTemplates[name];\n  // console.log(file.addImport(\"active-expression-rewriting\", \"aexpr\"));\n  // let uid = file.declarations[name] = file.scope.generateUidIdentifier(name);\n  //\n  // ref = ref().expression;\n  // ref[GENERATED_FUNCTION] = true;\n  //\n  // if (t.isFunctionExpression(ref) && !ref.id) {\n  //     ref.body._compact = true;\n  //     ref._generated = true;\n  //     ref.id = uid;\n  //     ref.type = \"FunctionDeclaration\";\n  //     file.path.unshiftContainer(\"body\", ref);\n  // } else {\n  //     ref._compact = true;\n  //     file.scope.push({\n  //         id: uid,\n  //         init: ref,\n  //         unique: true\n  //     });\n  // }\n  //\n  // return uid;\n}\n\n//     let customTemplates = {};\n//     customTemplates[SET_MEMBER] = template(`\n//   (function(obj, prop, operator, val) {\n//     return obj[prop] = val;\n//   });\n// `);\n//\n//     customTemplates[GET_MEMBER] = template(`\n//   (function(obj, prop) {\n//     return obj[prop];\n//   });\n// `);\n//\n//     customTemplates[GET_AND_CALL_MEMBER] = template(`\n//   (function(obj, prop, args) {\n//     return obj[prop](...args)\n//   });\n// `);\n//\n//     customTemplates[AEXPR_IDENTIFIER_NAME] = template(`\n//   (function(expr) {\n//     return { onChange(cb) {}};\n//   });\n// `);\n\nexport function isVariable(path) {\n  if(path.parentPath.isImportNamespaceSpecifier() && path.parentKey === 'local') { return false; } // import * as foo from 'utils';\n  if(path.parentPath.isLabeledStatement() && path.parentKey === 'label') { return false; } // always: { ... }\n  if(path.parentPath.isBreakStatement() && path.parentKey === 'label') { return false; } // break: foo;\n  if(path.parentPath.isMemberExpression() && path.parentKey === 'property') { return false; } // super.foo\n\n  return true;\n}\n\nexport function getParentWithScope(path) {\n  return path.findParent(par => par.scope.hasOwnBinding(path.node.name));\n}\n"],"mappings":"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"}