Coverage

100%
13
13
0

urlencode.js

100%
13
13
0
LineHitsSource
1/*!
2 * urlencode - lib/urlencode.js
3 * Copyright(c) 2012 fengmk2 <fengmk2@gmail.com>
4 * MIT Licensed
5 */
6
71"use strict";
8
9/**
10 * Module dependencies.
11 */
12
131var iconv = require('iconv-lite');
14
151function encode(str, charset) {
169 if (charset === 'utf8' || charset === 'utf-8') {
172 charset = null;
18 }
199 if (!charset) {
205 return encodeURIComponent(str);
21 }
224 var buf = iconv.encode(str, charset);
234 var encodeStr = '';
244 for (var i = 0; i < buf.length; i++) {
25139 encodeStr += '%' + buf[i].toString('16').toUpperCase();
26 }
274 return encodeStr;
28}
29
301module.exports = encode;