import {createRequire as __cjsCompatRequire} from 'module'; const require = __cjsCompatRequire(import.meta.url); // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/perf/src/api.mjs var PerfPhase; (function(PerfPhase2) { PerfPhase2[PerfPhase2["Unaccounted"] = 0] = "Unaccounted"; PerfPhase2[PerfPhase2["Setup"] = 1] = "Setup"; PerfPhase2[PerfPhase2["TypeScriptProgramCreate"] = 2] = "TypeScriptProgramCreate"; PerfPhase2[PerfPhase2["Reconciliation"] = 3] = "Reconciliation"; PerfPhase2[PerfPhase2["ResourceUpdate"] = 4] = "ResourceUpdate"; PerfPhase2[PerfPhase2["TypeScriptDiagnostics"] = 5] = "TypeScriptDiagnostics"; PerfPhase2[PerfPhase2["Analysis"] = 6] = "Analysis"; PerfPhase2[PerfPhase2["Resolve"] = 7] = "Resolve"; PerfPhase2[PerfPhase2["CycleDetection"] = 8] = "CycleDetection"; PerfPhase2[PerfPhase2["TcbGeneration"] = 9] = "TcbGeneration"; PerfPhase2[PerfPhase2["TcbUpdateProgram"] = 10] = "TcbUpdateProgram"; PerfPhase2[PerfPhase2["TypeScriptEmit"] = 11] = "TypeScriptEmit"; PerfPhase2[PerfPhase2["Compile"] = 12] = "Compile"; PerfPhase2[PerfPhase2["TtcAutocompletion"] = 13] = "TtcAutocompletion"; PerfPhase2[PerfPhase2["TtcDiagnostics"] = 14] = "TtcDiagnostics"; PerfPhase2[PerfPhase2["TtcSymbol"] = 15] = "TtcSymbol"; PerfPhase2[PerfPhase2["LsReferencesAndRenames"] = 16] = "LsReferencesAndRenames"; PerfPhase2[PerfPhase2["LsQuickInfo"] = 17] = "LsQuickInfo"; PerfPhase2[PerfPhase2["LsDefinition"] = 18] = "LsDefinition"; PerfPhase2[PerfPhase2["LsCompletions"] = 19] = "LsCompletions"; PerfPhase2[PerfPhase2["LsTcb"] = 20] = "LsTcb"; PerfPhase2[PerfPhase2["LsDiagnostics"] = 21] = "LsDiagnostics"; PerfPhase2[PerfPhase2["LsComponentLocations"] = 22] = "LsComponentLocations"; PerfPhase2[PerfPhase2["LsSignatureHelp"] = 23] = "LsSignatureHelp"; PerfPhase2[PerfPhase2["LAST"] = 24] = "LAST"; PerfPhase2[PerfPhase2["LsCodeFixes"] = 25] = "LsCodeFixes"; PerfPhase2[PerfPhase2["LsCodeFixesAll"] = 26] = "LsCodeFixesAll"; })(PerfPhase || (PerfPhase = {})); var PerfEvent; (function(PerfEvent2) { PerfEvent2[PerfEvent2["InputDtsFile"] = 0] = "InputDtsFile"; PerfEvent2[PerfEvent2["InputTsFile"] = 1] = "InputTsFile"; PerfEvent2[PerfEvent2["AnalyzeComponent"] = 2] = "AnalyzeComponent"; PerfEvent2[PerfEvent2["AnalyzeDirective"] = 3] = "AnalyzeDirective"; PerfEvent2[PerfEvent2["AnalyzeInjectable"] = 4] = "AnalyzeInjectable"; PerfEvent2[PerfEvent2["AnalyzeNgModule"] = 5] = "AnalyzeNgModule"; PerfEvent2[PerfEvent2["AnalyzePipe"] = 6] = "AnalyzePipe"; PerfEvent2[PerfEvent2["TraitAnalyze"] = 7] = "TraitAnalyze"; PerfEvent2[PerfEvent2["TraitReuseAnalysis"] = 8] = "TraitReuseAnalysis"; PerfEvent2[PerfEvent2["SourceFilePhysicalChange"] = 9] = "SourceFilePhysicalChange"; PerfEvent2[PerfEvent2["SourceFileLogicalChange"] = 10] = "SourceFileLogicalChange"; PerfEvent2[PerfEvent2["SourceFileReuseAnalysis"] = 11] = "SourceFileReuseAnalysis"; PerfEvent2[PerfEvent2["GenerateTcb"] = 12] = "GenerateTcb"; PerfEvent2[PerfEvent2["SkipGenerateTcbNoInline"] = 13] = "SkipGenerateTcbNoInline"; PerfEvent2[PerfEvent2["ReuseTypeCheckFile"] = 14] = "ReuseTypeCheckFile"; PerfEvent2[PerfEvent2["UpdateTypeCheckProgram"] = 15] = "UpdateTypeCheckProgram"; PerfEvent2[PerfEvent2["EmitSkipSourceFile"] = 16] = "EmitSkipSourceFile"; PerfEvent2[PerfEvent2["EmitSourceFile"] = 17] = "EmitSourceFile"; PerfEvent2[PerfEvent2["LAST"] = 18] = "LAST"; })(PerfEvent || (PerfEvent = {})); var PerfCheckpoint; (function(PerfCheckpoint2) { PerfCheckpoint2[PerfCheckpoint2["Initial"] = 0] = "Initial"; PerfCheckpoint2[PerfCheckpoint2["TypeScriptProgramCreate"] = 1] = "TypeScriptProgramCreate"; PerfCheckpoint2[PerfCheckpoint2["PreAnalysis"] = 2] = "PreAnalysis"; PerfCheckpoint2[PerfCheckpoint2["Analysis"] = 3] = "Analysis"; PerfCheckpoint2[PerfCheckpoint2["Resolve"] = 4] = "Resolve"; PerfCheckpoint2[PerfCheckpoint2["TtcGeneration"] = 5] = "TtcGeneration"; PerfCheckpoint2[PerfCheckpoint2["TtcUpdateProgram"] = 6] = "TtcUpdateProgram"; PerfCheckpoint2[PerfCheckpoint2["PreEmit"] = 7] = "PreEmit"; PerfCheckpoint2[PerfCheckpoint2["Emit"] = 8] = "Emit"; PerfCheckpoint2[PerfCheckpoint2["LAST"] = 9] = "LAST"; })(PerfCheckpoint || (PerfCheckpoint = {})); // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/perf/src/noop.mjs var NoopPerfRecorder = class { eventCount() { } memory() { } phase() { return PerfPhase.Unaccounted; } inPhase(phase, fn) { return fn(); } reset() { } }; var NOOP_PERF_RECORDER = new NoopPerfRecorder(); // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/perf/src/clock.mjs function mark() { return process.hrtime(); } function timeSinceInMicros(mark2) { const delta = process.hrtime(mark2); return delta[0] * 1e6 + Math.floor(delta[1] / 1e3); } // bazel-out/darwin_arm64-fastbuild/bin/packages/compiler-cli/src/ngtsc/perf/src/recorder.mjs var ActivePerfRecorder = class { static zeroedToNow() { return new ActivePerfRecorder(mark()); } constructor(zeroTime) { this.zeroTime = zeroTime; this.currentPhase = PerfPhase.Unaccounted; this.currentPhaseEntered = this.zeroTime; this.counters = Array(PerfEvent.LAST).fill(0); this.phaseTime = Array(PerfPhase.LAST).fill(0); this.bytes = Array(PerfCheckpoint.LAST).fill(0); this.memory(PerfCheckpoint.Initial); } reset() { this.counters = Array(PerfEvent.LAST).fill(0); this.phaseTime = Array(PerfPhase.LAST).fill(0); this.bytes = Array(PerfCheckpoint.LAST).fill(0); this.zeroTime = mark(); this.currentPhase = PerfPhase.Unaccounted; this.currentPhaseEntered = this.zeroTime; } memory(after) { this.bytes[after] = process.memoryUsage().heapUsed; } phase(phase) { const previous = this.currentPhase; this.phaseTime[this.currentPhase] += timeSinceInMicros(this.currentPhaseEntered); this.currentPhase = phase; this.currentPhaseEntered = mark(); return previous; } inPhase(phase, fn) { const previousPhase = this.phase(phase); try { return fn(); } finally { this.phase(previousPhase); } } eventCount(counter, incrementBy = 1) { this.counters[counter] += incrementBy; } finalize() { this.phase(PerfPhase.Unaccounted); const results = { events: {}, phases: {}, memory: {} }; for (let i = 0; i < this.phaseTime.length; i++) { if (this.phaseTime[i] > 0) { results.phases[PerfPhase[i]] = this.phaseTime[i]; } } for (let i = 0; i < this.phaseTime.length; i++) { if (this.counters[i] > 0) { results.events[PerfEvent[i]] = this.counters[i]; } } for (let i = 0; i < this.bytes.length; i++) { if (this.bytes[i] > 0) { results.memory[PerfCheckpoint[i]] = this.bytes[i]; } } return results; } }; var DelegatingPerfRecorder = class { constructor(target) { this.target = target; } eventCount(counter, incrementBy) { this.target.eventCount(counter, incrementBy); } phase(phase) { return this.target.phase(phase); } inPhase(phase, fn) { const previousPhase = this.target.phase(phase); try { return fn(); } finally { this.target.phase(previousPhase); } } memory(after) { this.target.memory(after); } reset() { this.target.reset(); } }; export { PerfPhase, PerfEvent, PerfCheckpoint, ActivePerfRecorder, DelegatingPerfRecorder }; /** * @license * Copyright Google LLC All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ //# sourceMappingURL=chunk-HJOPJLIM.js.map