mirror of
				https://github.com/taixingyiji/openit.git
				synced 2025-11-04 10:42:25 +00:00 
			
		
		
		
	Hello World
This commit is contained in:
		
							
								
								
									
										107
									
								
								utils/rm/node_modules/ip-address/lib/v6/html.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										107
									
								
								utils/rm/node_modules/ip-address/lib/v6/html.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,107 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var constants4 = require('../v4/constants.js');
 | 
			
		||||
var helpers = require('./helpers.js');
 | 
			
		||||
var sprintf = require('sprintf-js').sprintf;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @returns {String} the address in link form with a default port of 80
 | 
			
		||||
 */
 | 
			
		||||
exports.href = function (optionalPort) {
 | 
			
		||||
  if (optionalPort === undefined) {
 | 
			
		||||
    optionalPort = '';
 | 
			
		||||
  } else {
 | 
			
		||||
    optionalPort = sprintf(':%s', optionalPort);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return sprintf('http://[%s]%s/', this.correctForm(), optionalPort);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @returns {String} a link suitable for conveying the address via a URL hash
 | 
			
		||||
 */
 | 
			
		||||
exports.link = function (options) {
 | 
			
		||||
  if (!options) {
 | 
			
		||||
    options = {};
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (options.className === undefined) {
 | 
			
		||||
    options.className = '';
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (options.prefix === undefined) {
 | 
			
		||||
    options.prefix = '/#address=';
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (options.v4 === undefined) {
 | 
			
		||||
    options.v4 = false;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  var formFunction = this.correctForm;
 | 
			
		||||
 | 
			
		||||
  if (options.v4) {
 | 
			
		||||
    formFunction = this.to4in6;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (options.className) {
 | 
			
		||||
    return sprintf('<a href="%1$s%2$s" class="%3$s">%2$s</a>',
 | 
			
		||||
      options.prefix, formFunction.call(this), options.className);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return sprintf('<a href="%1$s%2$s">%2$s</a>', options.prefix,
 | 
			
		||||
    formFunction.call(this));
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Groups an address
 | 
			
		||||
 * @returns {String}
 | 
			
		||||
 */
 | 
			
		||||
exports.group = function () {
 | 
			
		||||
  var address4 = this.address.match(constants4.RE_ADDRESS);
 | 
			
		||||
  var i;
 | 
			
		||||
 | 
			
		||||
  if (address4) {
 | 
			
		||||
    // The IPv4 case
 | 
			
		||||
    var segments = address4[0].split('.');
 | 
			
		||||
 | 
			
		||||
    this.address = this.address.replace(constants4.RE_ADDRESS,
 | 
			
		||||
      sprintf('<span class="hover-group group-v4 group-6">%s</span>' +
 | 
			
		||||
        '.' +
 | 
			
		||||
        '<span class="hover-group group-v4 group-7">%s</span>',
 | 
			
		||||
        segments.slice(0, 2).join('.'),
 | 
			
		||||
        segments.slice(2, 4).join('.')));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (this.elidedGroups === 0) {
 | 
			
		||||
    // The simple case
 | 
			
		||||
    return helpers.simpleGroup(this.address);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // The elided case
 | 
			
		||||
  var output = [];
 | 
			
		||||
 | 
			
		||||
  var halves = this.address.split('::');
 | 
			
		||||
 | 
			
		||||
  if (halves[0].length) {
 | 
			
		||||
    output.push(helpers.simpleGroup(halves[0]));
 | 
			
		||||
  } else {
 | 
			
		||||
    output.push('');
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  var classes = ['hover-group'];
 | 
			
		||||
 | 
			
		||||
  for (i = this.elisionBegin;
 | 
			
		||||
       i < this.elisionBegin + this.elidedGroups; i++) {
 | 
			
		||||
    classes.push(sprintf('group-%d', i));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  output.push(sprintf('<span class="%s"></span>', classes.join(' ')));
 | 
			
		||||
 | 
			
		||||
  if (halves[1].length) {
 | 
			
		||||
    output.push(helpers.simpleGroup(halves[1], this.elisionEnd));
 | 
			
		||||
  } else {
 | 
			
		||||
    output.push('');
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return output.join(':');
 | 
			
		||||
};
 | 
			
		||||
		Reference in New Issue
	
	Block a user