Replace parsing and test libraries

* WIP

* WIP

* wip

* WIP

* Several fixes

* Tests wip port to playwright

* WIP

* Fix more tests

* Serialization tests fixed

* Several fixes for tests

* Input options types

* Type adjustments

* Fix object reference parser

* Tests fixes

* More tests fixes
This commit is contained in:
barsdeveloper
2024-02-14 00:40:42 +01:00
committed by GitHub
parent 90584e16c0
commit 7469d55518
126 changed files with 7443 additions and 6253 deletions

View File

@@ -2,6 +2,15 @@ import Configuration from "../../Configuration.js"
import IInput from "../IInput.js"
import KeyBindingEntity from "../../entity/KeyBindingEntity.js"
/**
* @typedef {import("../IInput.js").Options & {
* activationKeys?: String | KeyBindingEntity | (String | KeyBindingEntity)[],
* consumeEvent?: Boolean,
* listenOnFocus?: Boolean,
* unlistenOnTextEdit?: Boolean,
* }} Options
*/
/**
* @template {Element} T
* @extends IInput<T>
@@ -20,7 +29,7 @@ export default class KeyboardShortcut extends IInput {
/**
* @param {T} target
* @param {Blueprint} blueprint
* @param {Object} options
* @param {Options} options
*/
constructor(
target,
@@ -40,8 +49,8 @@ export default class KeyboardShortcut extends IInput {
if (v instanceof KeyBindingEntity) {
return v
}
if (typeof v === "string") {
const parsed = KeyBindingEntity.createGrammar().parse(v)
if (v.constructor === String) {
const parsed = KeyBindingEntity.createGrammar().run(v)
if (parsed.status) {
return parsed.value
}