All files ConstPortTemplate.js

100% Statements 15/15
100% Branches 2/2
100% Functions 5/5
100% Lines 15/15
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36                  189x 555x 555x 555x 555x 555x 555x 555x 553x   2x         189x 260x 260x 260x         189x      
import {
    getPortByParsedUri,
    emulateParsedUri
} from './utils.js';
import ConstUniversalTemplate from './ConstUniversalTemplate.js';
import MatchFragment from './MatchFragment.js';
 
export default class ConstPortTemplate extends ConstUniversalTemplate {
    _getMatchFunctions (templateUri) {
        return [(userUri, contextOptions) => {
            const {partName} = contextOptions;
            const emulatedParsedUri = emulateParsedUri(templateUri, userUri.getParsedUri());
            const templateUriPort = getPortByParsedUri(emulatedParsedUri, contextOptions);
            const templateUriPortString = templateUriPort.toString();
            const userUriPort = userUri.getParsedUri(partName);
            const userUriPortString = userUriPort.toString();
            if (userUriPortString === templateUriPortString) {
                return new MatchFragment(userUriPortString);
            }
            return null;
        }];
    }
 
    _getGenerateFunctions (templateUri) {
        return [(userParams, contextOptions) => {
            const emulatedParsedUri = emulateParsedUri(templateUri, contextOptions.generatingUri);
            const parsedValue = getPortByParsedUri(emulatedParsedUri, contextOptions);
            return parsedValue;
        }];
    }
 
    _getPartName () {
        return 'port';
    }
}