Sidecar Logo

middleware/platformextractors/dealercom.ts

Configuration

/**
 * Sidecar Config for middleware/platformextractors/dealercom.ts
 */
module.exports = {
  title: "dealercom.ts",
  description: "Auto-generated draft",
};

Route Flow Map

--- title: "Route Flow: ssutil/src/middleware/platformextractors/dealercom.ts" --- flowchart TD title["Route Flow: ssutil/src/middleware/platformextractors/dealercom.ts"] style title fill:none,stroke:none,color:#B4976A,font-size:18px extractDealerCom{{"extractDealerCom"}} style extractDealerCom fill:#161b22,color:#fff,stroke:#c2a35d linkStyle default stroke:#c2a35d,stroke-width:2px,color:#fff classDef default color:#fff

AST Code Structure

--- title: "AST Structure: ssutil/src/middleware/platformextractors/dealercom.ts" --- graph TD n0["SF"] n1["ID"] n0 --> n1 n3["ScrapeResult"] n1 --> n3 n3 --> n2 style n3 stroke-dasharray:5,stroke:#B4976A n2["../platformscrape"] style n2 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 n4["ID"] n0 --> n4 n6["cleanPhone"] n4 --> n6 n6 --> n5 style n6 stroke-dasharray:5,stroke:#B4976A n7["unescapeJsString"] n4 --> n7 n7 --> n5 style n7 stroke-dasharray:5,stroke:#B4976A n8["cleanDealerName"] n4 --> n8 n8 --> n5 style n8 stroke-dasharray:5,stroke:#B4976A n9["cleanAddressField"] n4 --> n9 n9 --> n5 style n9 stroke-dasharray:5,stroke:#B4976A n5["./utils"] style n5 fill:#ffffff10,stroke:#ffffff33,color:#a1a1a1 n10["VS"] n0 --> n10 n13["VD: DDC_PATTERNS"] n10 --> n13 n28["FD: extractDealerCom"] n0 --> n28 n39["VS"] n28 --> n39 n41["VD: extracted"] n39 --> n41 n48["VS"] n28 --> n48 n50["VD: dataLayerScripts"] n48 --> n50 n55["VS"] n28 --> n55 n57["VD: scriptMatch"] n55 --> n57 n59["VS"] n28 --> n59 n61["VD: scriptsPattern"] n59 --> n61 n63["NE"] n61 --> n63 n76["BE"] n28 --> n76 n78["BE"] n76 --> n78 n81["CE: scriptsPattern.exec"] n78 --> n81 n90["CE: dataLayerScripts.push"] n28 --> n90 n97["VS"] n28 --> n97 n99["VD: dataLayerHtml"] n97 --> n99 n102["BE"] n99 --> n102 n109["CE: dataLayerScripts.join"] n99 --> n109 n116["VS"] n28 --> n116 n118["VD: dealership"] n116 --> n118 n125["VS"] n28 --> n125 n127["VD: match"] n125 --> n127 n129["VS"] n28 --> n129 n131["VD: dealershipPattern"] n129 --> n131 n133["NE"] n131 --> n133 n146["BE"] n28 --> n146 n148["BE"] n146 --> n148 n151["CE: dealershipPattern.exec"] n148 --> n151 n160["BE"] n28 --> n160 n167["CE: unescapeJsString"] n160 --> n167 n172["VS"] n28 --> n172 n174["VD: siteInfo"] n172 --> n174 n181["VS"] n28 --> n181 n183["VD: siteInfoPattern"] n181 --> n183 n185["NE"] n183 --> n185 n198["BE"] n28 --> n198 n200["BE"] n198 --> n200 n203["CE: siteInfoPattern.exec"] n200 --> n203 n212["BE"] n28 --> n212 n219["CE: unescapeJsString"] n212 --> n219 n224["IS"] n28 --> n224 n225["BE"] n224 --> n225 n230["CE: dealership.dealershipName.trim"] n225 --> n230 n238["BE"] n224 --> n238 n243["CE: cleanDealerName"] n238 --> n243 n248["IS"] n224 --> n248 n249["BE"] n248 --> n249 n254["CE: dealership.name.trim"] n249 --> n254 n262["BE"] n248 --> n262 n267["CE: cleanDealerName"] n262 --> n267 n272["IS"] n28 --> n272 n273["BE"] n272 --> n273 n278["CE: dealership.phone1.trim"] n273 --> n278 n286["BE"] n272 --> n286 n291["CE: cleanPhone"] n286 --> n291 n296["IS"] n272 --> n296 n297["BE"] n296 --> n297 n302["CE: dealership.phone.trim"] n297 --> n302 n310["BE"] n296 --> n310 n315["CE: cleanPhone"] n310 --> n315 n320["IS"] n296 --> n320 n321["BE"] n320 --> n321 n326["CE: dealership.phoneMain.trim"] n321 --> n326 n329["BE"] n320 --> n329 n334["CE: cleanPhone"] n329 --> n334 n335["IS"] n28 --> n335 n336["BE"] n335 --> n336 n341["CE: dealership.email.trim"] n336 --> n341 n349["BE"] n335 --> n349 n357["IS"] n335 --> n357 n358["BE"] n357 --> n358 n363["CE: dealership.emailMain.trim"] n358 --> n363 n371["BE"] n357 --> n371 n379["IS"] n28 --> n379 n385["BE"] n379 --> n385 n393["IS"] n28 --> n393 n399["BE"] n393 --> n399 n407["IS"] n393 --> n407 n413["BE"] n407 --> n413 n421["IS"] n28 --> n421 n422["BE"] n421 --> n422 n427["CE: siteInfo.domain.trim"] n422 --> n427 n435["BE"] n421 --> n435 n443["IS"] n421 --> n443 n444["BE"] n443 --> n444 n449["CE: dealership.website.trim"] n444 --> n449 n457["BE"] n443 --> n457 n465["IS"] n28 --> n465 n466["BE"] n465 --> n466 n471["CE: dealership.logo.trim"] n466 --> n471 n479["BE"] n465 --> n479 n487["IS"] n465 --> n487 n488["BE"] n487 --> n488 n493["CE: dealership.logoUrl.trim"] n488 --> n493 n501["BE"] n487 --> n501 n509["IS"] n28 --> n509 n515["VS"] n509 --> n515 n517["VD: jsonLdPattern"] n515 --> n517 n519["NE"] n517 --> n519 n526["BE"] n519 --> n526 n527["VS"] n509 --> n527 n529["VD: jsonLdMatch"] n527 --> n529 n532["BE"] n509 --> n532 n534["BE"] n532 --> n534 n537["CE: jsonLdPattern.exec"] n534 --> n537 n545["TS"] n509 --> n545 n547["VS"] n545 --> n547 n549["VD: jsonData"] n547 --> n549 n551["CE: JSON.parse"] n549 --> n551 n552["IS"] n545 --> n552 n553["BE"] n552 --> n553 n554["BE"] n553 --> n554 n562["BE"] n552 --> n562 n572["VD: e"] n545 --> n572 n576["VS"] n28 --> n576 n578["VD: streetAddress"] n576 --> n578 n580["BE"] n578 --> n580 n581["BE"] n580 --> n581 n593["IS"] n28 --> n593 n598["IS"] n593 --> n598 n604["BE"] n598 --> n604 n621["BE"] n598 --> n621 n627["VS"] n28 --> n627 n629["VD: addressFields"] n627 --> n629 n634["CE: cleanAddressField"] n629 --> n634 n639["CE: cleanAddressField"] n629 --> n639 n646["CE: cleanAddressField"] n629 --> n646 n648["BE"] n646 --> n648 n649["BE"] n648 --> n649 n656["CE: cleanAddressField"] n629 --> n656 n658["BE"] n656 --> n658 n659["BE"] n658 --> n659 n666["CE: cleanAddressField"] n629 --> n666 n671["IS"] n28 --> n671 n672["BE"] n671 --> n672 n682["BE"] n671 --> n682 n691["BE"] n682 --> n691 n699["BE"] n682 --> n699 n707["BE"] n682 --> n707 n715["BE"] n682 --> n715 n723["BE"] n682 --> n723 n729["RS"] n28 --> n729 style n0 fill:#5E377B,color:#fff,stroke:#B4976A linkStyle default stroke:#c2a35d,stroke-width:1px,opacity:0.6
BE BinaryExpressionCE CallExpressionFD FunctionDeclarationIS IfStatementID ImportDeclarationNE NewExpressionRS ReturnStatementSF SourceFileTS TryStatementVD VariableDeclarationVS VariableStatement