added URI{Component,}{De,En}coder
This commit is contained in:
parent
4197bca299
commit
5a1ca42f0d
6 changed files with 70 additions and 83 deletions
15
app/converter/uricomponentdecoder.ts
Normal file
15
app/converter/uricomponentdecoder.ts
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
import {Converter} from "./converter";
|
||||||
|
|
||||||
|
export class URIComponentDecoder implements Converter {
|
||||||
|
getDisplayname():string {
|
||||||
|
return "Decode URI component";
|
||||||
|
}
|
||||||
|
|
||||||
|
getId():string {
|
||||||
|
return "uricomponentdecode";
|
||||||
|
}
|
||||||
|
|
||||||
|
convert(input:string):string {
|
||||||
|
return decodeURIComponent(input);
|
||||||
|
}
|
||||||
|
}
|
17
app/converter/uricomponentencoder.ts
Normal file
17
app/converter/uricomponentencoder.ts
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
import {Converter} from "./converter";
|
||||||
|
|
||||||
|
export class URIComponentEncoder implements Converter {
|
||||||
|
getDisplayname():string {
|
||||||
|
return "Encode URI component";
|
||||||
|
}
|
||||||
|
|
||||||
|
getId():string {
|
||||||
|
return "uricomponentencode";
|
||||||
|
}
|
||||||
|
|
||||||
|
convert(input:string):string {
|
||||||
|
return encodeURIComponent(input).replace(/[!'()*]/g, function (c) {
|
||||||
|
return '%' + c.charCodeAt(0).toString(16);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
15
app/converter/uridecoder.ts
Normal file
15
app/converter/uridecoder.ts
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
import {Converter} from "./converter";
|
||||||
|
|
||||||
|
export class URIDecoder implements Converter {
|
||||||
|
getDisplayname():string {
|
||||||
|
return "Decode URI";
|
||||||
|
}
|
||||||
|
|
||||||
|
getId():string {
|
||||||
|
return "uridecode";
|
||||||
|
}
|
||||||
|
|
||||||
|
convert(input:string):string {
|
||||||
|
return decodeURI(input);
|
||||||
|
}
|
||||||
|
}
|
15
app/converter/uriencoder.ts
Normal file
15
app/converter/uriencoder.ts
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
import {Converter} from "./converter";
|
||||||
|
|
||||||
|
export class URIEncoder implements Converter {
|
||||||
|
getDisplayname():string {
|
||||||
|
return "Encode URI";
|
||||||
|
}
|
||||||
|
|
||||||
|
getId():string {
|
||||||
|
return "uriencode";
|
||||||
|
}
|
||||||
|
|
||||||
|
convert(input:string):string {
|
||||||
|
return encodeURI(input).replace(/%5B/g, '[').replace(/%5D/g, ']');
|
||||||
|
}
|
||||||
|
}
|
|
@ -2,6 +2,10 @@ import {Injectable} from "@angular/core";
|
||||||
import {Converter} from "./converter/converter";
|
import {Converter} from "./converter/converter";
|
||||||
import {Base64Encoder} from "./converter/base64encoder";
|
import {Base64Encoder} from "./converter/base64encoder";
|
||||||
import {Base64Decoder} from "./converter/base64decoder";
|
import {Base64Decoder} from "./converter/base64decoder";
|
||||||
|
import {URIEncoder} from "./converter/uriencoder";
|
||||||
|
import {URIDecoder} from "./converter/uridecoder";
|
||||||
|
import {URIComponentEncoder} from "./converter/uricomponentencoder";
|
||||||
|
import {URIComponentDecoder} from "./converter/uricomponentdecoder";
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class ConverterregistryService {
|
export class ConverterregistryService {
|
||||||
|
@ -27,6 +31,10 @@ export class ConverterregistryService {
|
||||||
private init():void {
|
private init():void {
|
||||||
this.registerConverter(new Base64Encoder());
|
this.registerConverter(new Base64Encoder());
|
||||||
this.registerConverter(new Base64Decoder());
|
this.registerConverter(new Base64Decoder());
|
||||||
|
this.registerConverter(new URIEncoder());
|
||||||
|
this.registerConverter(new URIDecoder());
|
||||||
|
this.registerConverter(new URIComponentEncoder());
|
||||||
|
this.registerConverter(new URIComponentDecoder());
|
||||||
}
|
}
|
||||||
|
|
||||||
private registerConverter(converter:Converter):void {
|
private registerConverter(converter:Converter):void {
|
||||||
|
|
83
dencode.js
83
dencode.js
|
@ -10,57 +10,6 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"id": "base64decode",
|
|
||||||
"name": "Decode Base64",
|
|
||||||
"convert": function (input) {
|
|
||||||
try {
|
|
||||||
return {
|
|
||||||
"status": "OK",
|
|
||||||
"content": atob(input)
|
|
||||||
};
|
|
||||||
} catch (exception) {
|
|
||||||
return {
|
|
||||||
"status": "ERROR",
|
|
||||||
"content": "Invalid base64 input string."
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "decodeuri",
|
|
||||||
"name": "Decode URI",
|
|
||||||
"convert": function (input) {
|
|
||||||
try {
|
|
||||||
return {
|
|
||||||
"status": "OK",
|
|
||||||
"content": decodeURI(input)
|
|
||||||
};
|
|
||||||
} catch (exception) {
|
|
||||||
return {
|
|
||||||
"status": "ERROR",
|
|
||||||
"content": "Invalid URI input string."
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "decodeuricomponent",
|
|
||||||
"name": "Decode URI component",
|
|
||||||
"convert": function (input) {
|
|
||||||
try {
|
|
||||||
return {
|
|
||||||
"status": "OK",
|
|
||||||
"content": decodeURIComponent(input)
|
|
||||||
};
|
|
||||||
} catch (exception) {
|
|
||||||
return {
|
|
||||||
"status": "ERROR",
|
|
||||||
"content": "Invalid URI component input string."
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"id": "decodehtmlentities",
|
"id": "decodehtmlentities",
|
||||||
"name": "Decode HTML entities",
|
"name": "Decode HTML entities",
|
||||||
|
@ -133,38 +82,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"id": "base64encode",
|
|
||||||
"name": "Encode Base64",
|
|
||||||
"convert": function (input) {
|
|
||||||
return {
|
|
||||||
"status": "OK",
|
|
||||||
"content": btoa(input)
|
|
||||||
};
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "encodeuri",
|
|
||||||
"name": "Encode URI",
|
|
||||||
"convert": function (input) {
|
|
||||||
return {
|
|
||||||
"status": "OK",
|
|
||||||
"content": encodeURI(input).replace(/%5B/g, '[').replace(/%5D/g, ']')
|
|
||||||
};
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": "encodeuricomponent",
|
|
||||||
"name": "Encode URI component",
|
|
||||||
"convert": function (input) {
|
|
||||||
return {
|
|
||||||
"status": "OK",
|
|
||||||
"content": encodeURIComponent(input).replace(/[!'()*]/g, function(c) {
|
|
||||||
return '%' + c.charCodeAt(0).toString(16);
|
|
||||||
})
|
|
||||||
};
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"id": "encodehtmlentities",
|
"id": "encodehtmlentities",
|
||||||
"name": "Encode HTML entities",
|
"name": "Encode HTML entities",
|
||||||
|
|
Loading…
Reference in a new issue