Compare commits

..

6 Commits

Author SHA1 Message Date
semantic-release-bot
0a4ef14239 chore(release): 1.7.2 [CI SKIP] 2022-08-17 19:19:46 +00:00
AAGaming
a592883a2e fix(utils): allow prop reassigns to fail 2022-08-17 15:18:45 -04:00
semantic-release-bot
3f126fe471 chore(release): 1.7.1 [CI SKIP] 2022-08-17 18:52:21 +00:00
AAGaming
e644de35d7 fix(utils): better method to wrap react classes 2022-08-17 14:51:24 -04:00
semantic-release-bot
9b79f70ac7 chore(release): 1.7.0 [CI SKIP] 2022-08-17 18:46:25 +00:00
AAGaming
d237bd48e4 feat(utils): add wrapReactClass 2022-08-17 14:45:34 -04:00
4 changed files with 43 additions and 5 deletions

View File

@@ -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.1](https://github.com/SteamDeckHomebrew/decky-frontend-lib/compare/v1.6.0...v1.6.1) (2022-08-13)

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "decky-frontend-lib",
"version": "1.6.2",
"version": "1.7.2",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "decky-frontend-lib",
"version": "1.6.2",
"version": "1.7.2",
"license": "GPL-2.0-or-later",
"dependencies": {
"minimist": "^1.2.6"

View File

@@ -1,6 +1,6 @@
{
"name": "decky-frontend-lib",
"version": "1.6.2",
"version": "1.7.2",
"description": "A library for building decky plugins",
"main": "dist/index.js",
"types": "dist/index.d.ts",

View File

@@ -82,8 +82,25 @@ export function unpatch(obj: any, name: any): void {
obj[name] = obj[name].__deckyOrig;
}
export function wrapReactType(node: any) {
return node.type = {...node.type}
export function wrapReactType(node: any, prop?: any) {
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) {