diff options
| author | Michael Williamson <mike@zwobble.org> | 2026-08-28 17:30:31 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2026-08-28 17:30:31 +0100 |
| commit | 2888fa158d67c1419199f152326e12a05618b53e (patch) | |
| tree | c239ed44678ba87f29ff9b84625cf1a0ba48a68a /lib/docx | |
| parent | 31f0c370be4b95ac4fa285fea3be970606735f16 (diff) | |
Create objects without prototypes when used as map with arbitrary keys
Diffstat (limited to 'lib/docx')
| -rw-r--r-- | lib/docx/content-types-reader.js | 10 | ||||
| -rw-r--r-- | lib/docx/numbering-xml.js | 8 | ||||
| -rw-r--r-- | lib/docx/relationships-reader.js | 4 | ||||
| -rw-r--r-- | lib/docx/styles-reader.js | 8 |
4 files changed, 15 insertions, 15 deletions
diff --git a/lib/docx/content-types-reader.js b/lib/docx/content-types-reader.js index 8233119..adb45a6 100644 --- a/lib/docx/content-types-reader.js +++ b/lib/docx/content-types-reader.js @@ -14,9 +14,9 @@ exports.defaultContentTypes = contentTypes({}, {}); function readContentTypesFromXml(element) { - var extensionDefaults = {}; - var overrides = {}; - + var extensionDefaults = Object.create(null); + var overrides = Object.create(null); + element.children.forEach(function(child) { if (child.name === "content-types:Default") { extensionDefaults[child.attributes.Extension] = child.attributes.ContentType; @@ -41,7 +41,7 @@ function contentTypes(overrides, extensionDefaults) { } else { var pathParts = path.split("."); var extension = pathParts[pathParts.length - 1]; - if (extensionDefaults.hasOwnProperty(extension)) { + if (Object.prototype.hasOwnProperty.call(extensionDefaults, extension)) { return extensionDefaults[extension]; } else { var fallback = fallbackContentTypes[extension.toLowerCase()]; @@ -54,5 +54,5 @@ function contentTypes(overrides, extensionDefaults) { } } }; - + } diff --git a/lib/docx/numbering-xml.js b/lib/docx/numbering-xml.js index 9c86536..c747609 100644 --- a/lib/docx/numbering-xml.js +++ b/lib/docx/numbering-xml.js @@ -17,7 +17,7 @@ function Numbering(nums, abstractNums, styles) { ); function findLevel(numId, level) { - return findLevelWithSeenNumIds(numId, level, {}); + return findLevelWithSeenNumIds(numId, level, Object.create(null)); } function findLevelWithSeenNumIds(numId, level, seenNumIds) { @@ -63,7 +63,7 @@ function readNumberingXml(root, options) { } function readAbstractNums(root) { - var abstractNums = {}; + var abstractNums = Object.create(null); root.getElementsByTagName("w:abstractNum").forEach(function(element) { var id = element.attributes["w:abstractNumId"]; abstractNums[id] = readAbstractNum(element); @@ -72,7 +72,7 @@ function readAbstractNums(root) { } function readAbstractNum(element) { - var levels = {}; + var levels = Object.create(null); // Some malformed documents define numbering levels without an index, and // reference the numbering using a w:numPr element without a w:ilvl child. @@ -110,7 +110,7 @@ function readAbstractNum(element) { } function readNums(root) { - var nums = {}; + var nums = Object.create(null); root.getElementsByTagName("w:num").forEach(function(element) { var numId = element.attributes["w:numId"]; var abstractNumId = element.first("w:abstractNumId").attributes["w:val"]; diff --git a/lib/docx/relationships-reader.js b/lib/docx/relationships-reader.js index 5f54f42..a3df9a9 100644 --- a/lib/docx/relationships-reader.js +++ b/lib/docx/relationships-reader.js @@ -19,12 +19,12 @@ function readRelationships(element) { } function Relationships(relationships) { - var targetsByRelationshipId = {}; + var targetsByRelationshipId = Object.create(null); relationships.forEach(function(relationship) { targetsByRelationshipId[relationship.relationshipId] = relationship.target; }); - var targetsByType = {}; + var targetsByType = Object.create(null); relationships.forEach(function(relationship) { if (!targetsByType[relationship.type]) { targetsByType[relationship.type] = []; diff --git a/lib/docx/styles-reader.js b/lib/docx/styles-reader.js index 276a668..1daa5e9 100644 --- a/lib/docx/styles-reader.js +++ b/lib/docx/styles-reader.js @@ -22,10 +22,10 @@ function Styles(paragraphStyles, characterStyles, tableStyles, numberingStyles) Styles.EMPTY = new Styles({}, {}, {}, {}); function readStylesXml(root) { - var paragraphStyles = {}; - var characterStyles = {}; - var tableStyles = {}; - var numberingStyles = {}; + var paragraphStyles = Object.create(null); + var characterStyles = Object.create(null); + var tableStyles = Object.create(null); + var numberingStyles = Object.create(null); root.getElementsByTagName("w:style").forEach(function(styleElement) { var style = readStyleElement(styleElement); |
