LlamaLibrary constructor
LlamaLibrary({
- EventEmitter? eventEmitter,
- String? eventInvoke,
- String? eventUpdate,
- InvokeParametersLlamaLibraryDataOptions? invokeParametersLlamaLibraryDataOptions,
General Library Documentation Undocument By General Corporation & Global Corporation & General Developer
Implementation
LlamaLibrary({
super.eventEmitter,
super.sharedLibraryPath,
super.eventInvoke,
super.eventUpdate,
super.invokeParametersLlamaLibraryDataOptions,
}) {
receivePort.listen(
(event) async {
try {
if (_isInIsolate == true) {
if (event is SendPort) {
if (_completerSendPortInitialized.isCompleted == false) {
_completerSendPortInitialized.complete(true);
}
_sendPort = event;
} else if (event == LlamaLibraryActionType.close) {
dispose();
} else if (event == LlamaLibraryActionType.clear) {
clear();
} else if (event == LlamaLibraryActionType.test) {
test();
} else if (event is InvokeParametersLlamaLibraryData) {
await invokeRaw(
invokeParametersLlamaLibraryData: event.copyWith(
isVoid: true,
invokeParametersLlamaLibraryDataOptions:
(event.invokeParametersLlamaLibraryDataOptions ??
invokeParametersLlamaLibraryDataOptions)
.copyWith(
isThrowOnError: false,
),
),
);
}
} else {
if (event is SendPort) {
if (_completerSendPortInitialized.isCompleted == false) {
_completerSendPortInitialized.complete(true);
}
_sendPort = event;
} else if (event == LlamaLibraryActionType.close) {
if (LlamaLibrary._isolate != Isolate.current) {
LlamaLibrary._isolate.kill();
}
} else if (event is JsonScheme) {
emit(
eventType: eventUpdate,
data: event,
);
}
}
} catch (e) {}
},
);
}