blob: 7c3b8161131370ff34a44a8b53561f7dba2a0adc [file] [log] [blame]
// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
// Generated from Web IDL definitions.
import 'dart:js_interop';
import 'dom.dart';
import 'hr_time.dart';
typedef ProfilerResource = String;
@JS('Profiler')
@staticInterop
class Profiler implements EventTarget {
external factory Profiler(ProfilerInitOptions options);
}
extension ProfilerExtension on Profiler {
external JSPromise stop();
external DOMHighResTimeStamp get sampleInterval;
external bool get stopped;
}
@JS()
@staticInterop
@anonymous
class ProfilerTrace {
external factory ProfilerTrace({
required JSArray resources,
required JSArray frames,
required JSArray stacks,
required JSArray samples,
});
}
extension ProfilerTraceExtension on ProfilerTrace {
external set resources(JSArray value);
external JSArray get resources;
external set frames(JSArray value);
external JSArray get frames;
external set stacks(JSArray value);
external JSArray get stacks;
external set samples(JSArray value);
external JSArray get samples;
}
@JS()
@staticInterop
@anonymous
class ProfilerSample {
external factory ProfilerSample({
required DOMHighResTimeStamp timestamp,
int stackId,
});
}
extension ProfilerSampleExtension on ProfilerSample {
external set timestamp(DOMHighResTimeStamp value);
external DOMHighResTimeStamp get timestamp;
external set stackId(int value);
external int get stackId;
}
@JS()
@staticInterop
@anonymous
class ProfilerStack {
external factory ProfilerStack({
int parentId,
required int frameId,
});
}
extension ProfilerStackExtension on ProfilerStack {
external set parentId(int value);
external int get parentId;
external set frameId(int value);
external int get frameId;
}
@JS()
@staticInterop
@anonymous
class ProfilerFrame {
external factory ProfilerFrame({
required String name,
int resourceId,
int line,
int column,
});
}
extension ProfilerFrameExtension on ProfilerFrame {
external set name(String value);
external String get name;
external set resourceId(int value);
external int get resourceId;
external set line(int value);
external int get line;
external set column(int value);
external int get column;
}
@JS()
@staticInterop
@anonymous
class ProfilerInitOptions {
external factory ProfilerInitOptions({
required DOMHighResTimeStamp sampleInterval,
required int maxBufferSize,
});
}
extension ProfilerInitOptionsExtension on ProfilerInitOptions {
external set sampleInterval(DOMHighResTimeStamp value);
external DOMHighResTimeStamp get sampleInterval;
external set maxBufferSize(int value);
external int get maxBufferSize;
}