INNER CODE UNIT · JavaScript
addPropertiesToSchema
serverless/serverless · packages/serverless/lib/classes/config-schema-handler/index.js:398
function addPropertiesToSchema(
subSchema,
extension = { properties: {}, required: [] },
) {
let collidingExtensionPropertyKey
const existingSubSchemaPropertiesKeys = new Set(
Object.keys(subSchema.properties),
)
Object.keys(extension.properties).some((extensionPropertiesKey) => {
const isColliding = existingSubSchemaPropertiesKeys.has(
extensionPropertiesKey,
)
if (isColliding) collidingExtensionPropertyKey = extensionPropertiesKey
return isColliding
})
if (collidingExtensionPropertyKey) {
throw new PropertyCollisionError(collidingExtensionPropertyKey)