mirror of
https://github.com/SteamDeckHomebrew/decky-frontend-lib.git
synced 2026-06-05 00:56:57 +02:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0a4ef14239 | ||
|
|
a592883a2e | ||
|
|
3f126fe471 | ||
|
|
e644de35d7 | ||
|
|
9b79f70ac7 | ||
|
|
d237bd48e4 |
21
CHANGELOG.md
21
CHANGELOG.md
@@ -1,3 +1,24 @@
|
|||||||
|
## [1.7.2](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v1.7.1...v1.7.2) (2022-08-17)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **utils:** allow prop reassigns to fail ([a592883](https://github.com/SteamDeckHomebrew/decky-frontend-lib/commit/a592883a2eba52ba18876989acf939d12fa61fd3))
|
||||||
|
|
||||||
|
## [1.7.1](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v1.7.0...v1.7.1) (2022-08-17)
|
||||||
|
|
||||||
|
|
||||||
|
### Bug Fixes
|
||||||
|
|
||||||
|
* **utils:** better method to wrap react classes ([e644de3](https://github.com/SteamDeckHomebrew/decky-frontend-lib/commit/e644de35d70680d17d70e89cc9b929a5aae08b48))
|
||||||
|
|
||||||
|
# [1.7.0](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v1.6.2...v1.7.0) (2022-08-17)
|
||||||
|
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* **utils:** add wrapReactClass ([d237bd4](https://github.com/SteamDeckHomebrew/decky-frontend-lib/commit/d237bd48e4b9e6436d7daefdf70327875e9e940d))
|
||||||
|
|
||||||
## [1.6.2](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v1.6.1...v1.6.2) (2022-08-15)
|
## [1.6.2](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v1.6.1...v1.6.2) (2022-08-15)
|
||||||
|
|
||||||
## [1.6.1](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v1.6.0...v1.6.1) (2022-08-13)
|
## [1.6.1](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v1.6.0...v1.6.1) (2022-08-13)
|
||||||
|
|||||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "decky-frontend-lib",
|
"name": "decky-frontend-lib",
|
||||||
"version": "1.6.2",
|
"version": "1.7.2",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "decky-frontend-lib",
|
"name": "decky-frontend-lib",
|
||||||
"version": "1.6.2",
|
"version": "1.7.2",
|
||||||
"license": "GPL-2.0-or-later",
|
"license": "GPL-2.0-or-later",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"minimist": "^1.2.6"
|
"minimist": "^1.2.6"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "decky-frontend-lib",
|
"name": "decky-frontend-lib",
|
||||||
"version": "1.6.2",
|
"version": "1.7.2",
|
||||||
"description": "A library for building decky plugins",
|
"description": "A library for building decky plugins",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
"types": "dist/index.d.ts",
|
"types": "dist/index.d.ts",
|
||||||
|
|||||||
21
src/utils.ts
21
src/utils.ts
@@ -82,8 +82,25 @@ export function unpatch(obj: any, name: any): void {
|
|||||||
obj[name] = obj[name].__deckyOrig;
|
obj[name] = obj[name].__deckyOrig;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function wrapReactType(node: any) {
|
export function wrapReactType(node: any, prop?: any) {
|
||||||
return node.type = {...node.type}
|
return node[prop || "type"] = {...node[prop || "type"]};
|
||||||
|
}
|
||||||
|
|
||||||
|
export function wrapReactClass(node: any, prop?: any) {
|
||||||
|
const cls = node[prop || "type"];
|
||||||
|
const wrappedCls = class extends cls {};
|
||||||
|
Object.getOwnPropertyNames(cls.prototype).forEach((prop: any) => {
|
||||||
|
try {
|
||||||
|
wrappedCls.prototype[prop] = cls.prototype[prop]
|
||||||
|
} catch (e) {}
|
||||||
|
});
|
||||||
|
Object.getOwnPropertyNames(cls).forEach((prop: any) => {
|
||||||
|
try {
|
||||||
|
if (prop != "prototype") wrappedCls[prop] = cls[prop]
|
||||||
|
} catch (e) {}
|
||||||
|
});
|
||||||
|
wrappedCls.prototype.__proto__ = cls.prototype.__proto__;
|
||||||
|
return node[prop || "type"] = wrappedCls;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getReactInstance(o: HTMLElement | Element | Node) {
|
export function getReactInstance(o: HTMLElement | Element | Node) {
|
||||||
|
|||||||
Reference in New Issue
Block a user