Files
jsowell-charger-web/jsowell-ui/node_modules/script-ext-html-webpack-plugin/lib/custom-attributes.js
Lemon f5e6e29f00 Merge branch 'dev-zza' into dev
# Conflicts:
#	jsowell-ui/.env.development
#	jsowell-ui/.env.staging
#	jsowell-ui/bin/build-sit.bat
#	jsowell-ui/bin/build.bat
#	jsowell-ui/src/api/adapayMember/adapayMember.js
#	jsowell-ui/src/api/pile/merchant.js
#	jsowell-ui/src/router/index.js
#	jsowell-ui/src/views/financial/financeDetail.vue
#	jsowell-ui/src/views/financial/merchant.vue
#	jsowell-ui/src/views/homeIndex/homeIndex.vue
#	jsowell-ui/src/views/login.vue
#	jsowell-ui/src/views/pile/basic/detail.vue
#	jsowell-ui/src/views/pile/station/components/SiteInfo.vue
#	jsowell-ui/src/views/pile/station/detail.vue
#	jsowell-ui/src/views/pile/station/orderReport.vue
2025-06-03 14:26:37 +08:00

47 lines
1.1 KiB
JavaScript

'use strict';
const CONSTANTS = require('./constants.js');
const common = require('./common.js');
const debug = common.debug;
const getScriptName = common.getScriptName;
const isResourceLink = common.isResourceLink;
const isScript = common.isScript;
const matches = common.matches;
const shouldAdd = options => {
return options.custom.length > 0;
};
const add = (options, tags) => {
const update = updateElement.bind(null, options);
return tags.map(update);
};
const updateElement = (options, tag) => {
return (isScript(tag) || isResourceLink(tag))
? updateScriptElement(options, tag)
: tag;
};
const updateScriptElement = (options, tag) => {
const scriptName = getScriptName(options, tag);
let updated = false;
options.custom.forEach(customOption => {
if (matches(scriptName, customOption.test)) {
tag.attributes = tag.attributes || {};
tag.attributes[customOption.attribute] = customOption.value;
updated = true;
}
});
if (updated) {
debug(`${CONSTANTS.PLUGIN}: updated to: ${JSON.stringify(tag)}`);
}
return tag;
};
module.exports = {
shouldAdd,
add
};