"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("../../../../../../../../_virtual/valueToNode.js");require("../validators/isValidIdentifier.js");const p=require("../builders/generated/index.js"),b=require("../../../../../../../../_virtual/isValidIdentifier.js");var u;function _(){if(u)return n.__exports;u=1,Object.defineProperty(n.__exports,"__esModule",{value:!0}),n.__exports.default=void 0;var f=b.__exports,r=p.__require(),d=o;n.__exports.default=d;const c=Function.call.bind(Object.prototype.toString);function a(e){return c(e)==="[object RegExp]"}function l(e){if(typeof e!="object"||e===null||Object.prototype.toString.call(e)!=="[object Object]")return!1;const t=Object.getPrototypeOf(e);return t===null||Object.getPrototypeOf(t)===null}function o(e){if(e===void 0)return(0,r.identifier)("undefined");if(e===!0||e===!1)return(0,r.booleanLiteral)(e);if(e===null)return(0,r.nullLiteral)();if(typeof e=="string")return(0,r.stringLiteral)(e);if(typeof e=="number"){let t;if(Number.isFinite(e))t=(0,r.numericLiteral)(Math.abs(e));else{let i;Number.isNaN(e)?i=(0,r.numericLiteral)(0):i=(0,r.numericLiteral)(1),t=(0,r.binaryExpression)("/",i,(0,r.numericLiteral)(0))}return(e<0||Object.is(e,-0))&&(t=(0,r.unaryExpression)("-",t)),t}if(a(e)){const t=e.source,i=e.toString().match(/\/([a-z]+|)$/)[1];return(0,r.regExpLiteral)(t,i)}if(Array.isArray(e))return(0,r.arrayExpression)(e.map(o));if(l(e)){const t=[];for(const i of Object.keys(e)){let s;(0,f.default)(i)?s=(0,r.identifier)(i):s=(0,r.stringLiteral)(i),t.push((0,r.objectProperty)(s,o(e[i])))}return(0,r.objectExpression)(t)}throw new Error("don't know how to turn this value into a node")}return n.__exports}exports.__require=_;
//# sourceMappingURL=valueToNode.js.map
