diff --git a/binaries/data/mods/public/simulation/ai/petra/config.js b/binaries/data/mods/public/simulation/ai/petra/config.js index d816ebf464..20c9a35e67 100644 --- a/binaries/data/mods/public/simulation/ai/petra/config.js +++ b/binaries/data/mods/public/simulation/ai/petra/config.js @@ -346,7 +346,7 @@ PETRA.Config.prototype.Serialize = function() { var data = {}; for (const key in this) - if (this.hasOwnProperty(key) && key != "debug") + if (Object.hasOwn(this, key) && key != "debug") data[key] = this[key]; return data; }; diff --git a/binaries/data/mods/public/simulation/components/AIInterface.js b/binaries/data/mods/public/simulation/components/AIInterface.js index 88ae8d89d1..cb4e7b7542 100644 --- a/binaries/data/mods/public/simulation/components/AIInterface.js +++ b/binaries/data/mods/public/simulation/components/AIInterface.js @@ -48,7 +48,7 @@ AIInterface.prototype.Serialize = function() const state = {}; for (var key in this) { - if (!this.hasOwnProperty(key)) + if (!Object.hasOwn(this, key)) continue; if (typeof this[key] == "function") continue; @@ -63,7 +63,7 @@ AIInterface.prototype.Deserialize = function(data) { for (const key in data) { - if (!data.hasOwnProperty(key)) + if (!Object.hasOwn(data, key)) continue; this[key] = data[key]; } diff --git a/binaries/data/mods/public/simulation/components/Diplomacy.js b/binaries/data/mods/public/simulation/components/Diplomacy.js index 1bbfb0d385..6890da7c81 100644 --- a/binaries/data/mods/public/simulation/components/Diplomacy.js +++ b/binaries/data/mods/public/simulation/components/Diplomacy.js @@ -19,7 +19,7 @@ Diplomacy.prototype.Serialize = function() { const state = {}; for (const key of this.SerializableAttributes) - if (this.hasOwnProperty(key)) + if (Object.hasOwn(this, key)) state[key] = this[key]; return state; diff --git a/binaries/data/mods/public/simulation/components/Player.js b/binaries/data/mods/public/simulation/components/Player.js index aa4f24ef37..6f73db254d 100644 --- a/binaries/data/mods/public/simulation/components/Player.js +++ b/binaries/data/mods/public/simulation/components/Player.js @@ -30,7 +30,7 @@ Player.prototype.Serialize = function() { const state = {}; for (const key in this) - if (this.hasOwnProperty(key)) + if (Object.hasOwn(this, key)) state[key] = this[key]; // Modified by GUI, so don't serialise. diff --git a/binaries/data/mods/public/simulation/components/ProductionQueue.js b/binaries/data/mods/public/simulation/components/ProductionQueue.js index d31ee2eb04..7800d59cf2 100644 --- a/binaries/data/mods/public/simulation/components/ProductionQueue.js +++ b/binaries/data/mods/public/simulation/components/ProductionQueue.js @@ -202,7 +202,7 @@ ProductionQueue.prototype.Item.prototype.Serialize = function() { const result = {}; for (const att of this.SerializableAttributes) - if (this.hasOwnProperty(att)) + if (Object.hasOwn(this, att)) result[att] = this[att]; return result; }; @@ -236,7 +236,7 @@ ProductionQueue.prototype.Serialize = function() result.queue.push(item.Serialize()); for (const att of this.SerializableAttributes) - if (this.hasOwnProperty(att)) + if (Object.hasOwn(this, att)) result[att] = this[att]; return result; diff --git a/binaries/data/mods/public/simulation/components/Researcher.js b/binaries/data/mods/public/simulation/components/Researcher.js index 0425ae7bdd..1ab5bef73d 100644 --- a/binaries/data/mods/public/simulation/components/Researcher.js +++ b/binaries/data/mods/public/simulation/components/Researcher.js @@ -129,7 +129,7 @@ Researcher.prototype.Item.prototype.Serialize = function(id) "id": id }; for (const att of this.SerializableAttributes) - if (this.hasOwnProperty(att)) + if (Object.hasOwn(this, att)) result[att] = this[att]; return result; }; diff --git a/binaries/data/mods/public/simulation/components/TechnologyManager.js b/binaries/data/mods/public/simulation/components/TechnologyManager.js index 131b334c75..cf06f0d181 100644 --- a/binaries/data/mods/public/simulation/components/TechnologyManager.js +++ b/binaries/data/mods/public/simulation/components/TechnologyManager.js @@ -183,7 +183,7 @@ TechnologyManager.prototype.Technology.prototype.Serialize = function() { const result = {}; for (const att of this.SerializableAttributes) - if (this.hasOwnProperty(att)) + if (Object.hasOwn(this, att)) result[att] = this[att]; return result; }; @@ -227,7 +227,7 @@ TechnologyManager.prototype.Serialize = function() { const result = {}; for (const att of this.SerializableAttributes) - if (this.hasOwnProperty(att)) + if (Object.hasOwn(this, att)) result[att] = this[att]; result.researchQueued = []; diff --git a/binaries/data/mods/public/simulation/components/Trainer.js b/binaries/data/mods/public/simulation/components/Trainer.js index 8588f93f9c..8bbaabdd66 100644 --- a/binaries/data/mods/public/simulation/components/Trainer.js +++ b/binaries/data/mods/public/simulation/components/Trainer.js @@ -406,7 +406,7 @@ Trainer.prototype.Item.prototype.Serialize = function(id) "id": id }; for (const att of this.SerializableAttributes) - if (this.hasOwnProperty(att)) + if (Object.hasOwn(this, att)) result[att] = this[att]; return result; }; @@ -441,7 +441,7 @@ Trainer.prototype.Serialize = function() "queue": queue }; for (const att of this.SerializableAttributes) - if (this.hasOwnProperty(att)) + if (Object.hasOwn(this, att)) result[att] = this[att]; return result; diff --git a/binaries/data/mods/public/simulation/components/tests/setup.js b/binaries/data/mods/public/simulation/components/tests/setup.js index 0209f27b71..72b94cc085 100644 --- a/binaries/data/mods/public/simulation/components/tests/setup.js +++ b/binaries/data/mods/public/simulation/components/tests/setup.js @@ -151,7 +151,7 @@ global.SerializationCycle = function(cmp) { data = {}; for (const att of cmp) - if (cmp.hasOwnProperty(att)) + if (Object.hasOwn(cmp, att)) data[att] = cmp[att]; } diff --git a/eslint.config.mjs b/eslint.config.mjs index 1511c802c2..b50877c430 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -61,6 +61,7 @@ const configEslintRecommended = { "no-nonoctal-decimal-escape": "warn", "no-obj-calls": "warn", "no-octal": "warn", + "no-prototype-builtins": "warn", "no-redeclare": "warn", "no-regex-spaces": "warn", "no-self-assign": "warn",