diff --git a/base-64/base-64-tests.ts b/base-64/base-64-tests.ts new file mode 100644 index 0000000000..a0f85f09aa --- /dev/null +++ b/base-64/base-64-tests.ts @@ -0,0 +1,13 @@ +import * as base64 from 'base-64'; +import * as utf8 from 'utf8'; + +let text = 'foo © bar 𝌆 baz'; +let bytes = utf8.encode(text); +let encoded = base64.encode(bytes); +// → 'Zm9vIMKpIGJhciDwnYyGIGJheg==' + +encoded = 'Zm9vIMKpIGJhciDwnYyGIGJheg=='; +bytes = base64.decode(encoded); +text = utf8.decode(bytes); + +let version = base64.version; diff --git a/base-64/index.d.ts b/base-64/index.d.ts new file mode 100644 index 0000000000..3d6fd885d2 --- /dev/null +++ b/base-64/index.d.ts @@ -0,0 +1,25 @@ +// Type definitions for base-64 0.1 +// Project: https://github.com/mathiasbynens/base64 +// Definitions by: Dolan Miu +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +export const version: string; + +/** + * This function takes a byte string (the input parameter) and encodes it according to base64. + * The input data must be in the form of a string containing only characters + * in the range from U+0000 to U+00FF, each representing a binary byte with values 0x00 to 0xFF. + * The base64.encode() function is designed to be fully compatible + * with btoa() as described in the HTML Standard. + * see: https://html.spec.whatwg.org/multipage/webappapis.html#dom-windowbase64-btoa + */ +export function encode(input: string): string; +/** + * This function takes a base64-encoded string (the input parameter) and decodes it. + * The return value is in the form of a string containing only characters in + * the range from U+0000 to U+00FF, each representing a binary byte with values 0x00 to 0xFF. + * The base64.decode() function is designed to be fully compatible + * with atob() as described in the HTML Standard. + * see: https://html.spec.whatwg.org/multipage/webappapis.html#dom-windowbase64-atob + */ +export function decode(input: string): string; \ No newline at end of file diff --git a/base-64/tsconfig.json b/base-64/tsconfig.json new file mode 100644 index 0000000000..e12b07da98 --- /dev/null +++ b/base-64/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es6", + "noImplicitAny": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "base-64-tests.ts" + ] +} \ No newline at end of file diff --git a/base-64/tslint.json b/base-64/tslint.json new file mode 100644 index 0000000000..2221e40e4a --- /dev/null +++ b/base-64/tslint.json @@ -0,0 +1 @@ +{ "extends": "../tslint.json" } \ No newline at end of file