PageSourceSearch

https://itlearn360.com/dist/js/views/certQuizPublic.js?v=20260917-v352

js itlearn360.com collected 2026-10-10 00:09:55 UTC 1,602 bytes, 7 lines download raw bytes

1import{getJSON}from"../api.js";import{renderCertPracticePublicQuiz}from"./certPracticePublic.js?v=20260917-v352";import{renderCertMockPublicQuiz}from"./certMockPublic.js?v=20260917-v352";const INDEX_URL="/content/certifications.json";function pickParam(obj,keys){if(!obj||typeof obj!=="object")return null;for(const k of keys){const v=obj[k];if(typeof v==="string"&&v.trim())return v.trim();}
2return null;}
3export async function renderCertPublicQuiz(root,a,b){let certId=null;let quizId=null;if(typeof a==="string")certId=a;if(typeof b==="string")quizId=b;if(!certId&&a&&typeof a==="object"){certId=pickParam(a,["certId","id","cert","certification"]);quizId=pickParam(a,["quizId","qid","quiz","quizSlug","packId"]);}
4if(!quizId&&b&&typeof b==="object"){quizId=pickParam(b,["quizId","qid","quiz","quizSlug","packId"]);}
5if(!certId||!quizId){console.error("certQuizPublic: missing params",{certId,quizId,a,b});throw new Error("Missing certId/quizId");}
6const index=await getJSON(INDEX_URL);const item=(index.certifications||[]).find((x)=>(x.certId||x.id)===certId);if(!item)throw new Error("Certification not found");const cert=await getJSON(item.path);const quizzes=Array.isArray(cert.quizzes)?cert.quizzes:[];const quizMeta=quizzes.find((q)=>q.id===quizId)||null;if(!quizMeta)throw new Error("Quiz not found in certification.json");const data=await getJSON(quizMeta.path);const isMock=data&&typeof data==="object"&&(typeof data.mockExam==="object"||Array.isArray(data.mockExams));if(isMock){return renderCertMockPublicQuiz(root,certId,quizId);}
7return renderCertPracticePublicQuiz(root,certId,quizId);}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.