@jsenv/url-meta
Advanced tools
Comparing version 7.0.2 to 7.1.0
{ | ||
"name": "@jsenv/url-meta", | ||
"version": "7.0.2", | ||
"version": "7.1.0", | ||
"license": "MIT", | ||
@@ -5,0 +5,0 @@ "repository": { |
@@ -10,20 +10,22 @@ import { isPlainObject } from "./assertions.js" | ||
const flatAssociations = {} | ||
Object.keys(associations).forEach((key) => { | ||
const valueMap = associations[key] | ||
if (!isPlainObject(valueMap)) { | ||
throw new TypeError( | ||
`all associations value must be objects, found "${key}": ${valueMap}`, | ||
) | ||
Object.keys(associations).forEach((associationName) => { | ||
const associationValue = associations[associationName] | ||
if (isPlainObject(associationValue)) { | ||
Object.keys(associationValue).forEach((pattern) => { | ||
const patternValue = associationValue[pattern] | ||
const previousValue = flatAssociations[pattern] | ||
if (isPlainObject(previousValue)) { | ||
flatAssociations[pattern] = { | ||
...previousValue, | ||
[associationName]: patternValue, | ||
} | ||
} else { | ||
flatAssociations[pattern] = { | ||
[associationName]: patternValue, | ||
} | ||
} | ||
}) | ||
} | ||
Object.keys(valueMap).forEach((pattern) => { | ||
const value = valueMap[pattern] | ||
const previousValue = flatAssociations[pattern] | ||
flatAssociations[pattern] = previousValue | ||
? { ...previousValue, [key]: value } | ||
: { | ||
[key]: value, | ||
} | ||
}) | ||
}) | ||
return flatAssociations | ||
} |
@@ -7,10 +7,14 @@ import { assertUrlLike } from "./assertions.js" | ||
Object.keys(associations).forEach((key) => { | ||
const valueMap = associations[key] | ||
const valueMapResolved = {} | ||
Object.keys(valueMap).forEach((pattern) => { | ||
const value = valueMap[pattern] | ||
const patternResolved = normalizeUrlPattern(pattern, baseUrl) | ||
valueMapResolved[patternResolved] = value | ||
}) | ||
associationsResolved[key] = valueMapResolved | ||
const value = associations[key] | ||
if (typeof value === "object" && value !== null) { | ||
const valueMapResolved = {} | ||
Object.keys(value).forEach((pattern) => { | ||
const valueAssociated = value[pattern] | ||
const patternResolved = normalizeUrlPattern(pattern, baseUrl) | ||
valueMapResolved[patternResolved] = valueAssociated | ||
}) | ||
associationsResolved[key] = valueMapResolved | ||
} else { | ||
associationsResolved[key] = value | ||
} | ||
}) | ||
@@ -17,0 +21,0 @@ return associationsResolved |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
17478
456