Added typing for xml-c14n (#38634)

* added xml-c14n typing

* reworked tests; added test run to package.json

* formatting fix

* removed package.json

* added info

* fixed errors

* rewrote typing

* reworked version

* added compile flag

* corrected export

* corrected export

* corrected tsconfig

* set noImplicitAny to false

* set other options to false

* returned back options which were turned off by mistake

* fixed typing according to review comment
This commit is contained in:
Max Boguslavsky 2019-09-27 18:40:55 +03:00 committed by Ben Lichtman
parent 21da200696
commit 97c71bc7cb
4 changed files with 62 additions and 0 deletions

31
types/xml-c14n/index.d.ts vendored Normal file
View File

@ -0,0 +1,31 @@
// Type definitions for xml-c14n 0.0
// Project: https://github.com/deoxxa/xml-c14n
// Definitions by: Konstantin Yuriev <https://github.com/gallowsmaker>
// Max Boguslavskiy <https://github.com/maxbogus>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.7
declare namespace xml_c14n {
type canonicaliseCb = (err: any, data: string) => void;
interface Options {
includeComments?: boolean;
inclusiveNamespaces?: boolean;
}
interface Canonicalize {
name(): string;
_processInner(node: Node): string;
canonicalise(node: Node, cb: canonicaliseCb): void;
}
interface CanonizationFactory {
createCanonicaliser(kind: string, options?: Options): Canonicalize;
getAlgorithm(uri: string): any;
registerAlgorithm(uri: string, implementation: any): any;
}
}
declare function xml_c14n(): xml_c14n.CanonizationFactory;
export = xml_c14n;

View File

@ -0,0 +1,25 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": [
"es6",
"dom"
],
"esModuleInterop": true,
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"baseUrl": "../",
"typeRoots": [
"../"
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"xml-c14n-tests.ts"
]
}

View File

@ -0,0 +1 @@
{ "extends": "dtslint/dt.json" }

View File

@ -0,0 +1,5 @@
import c14n from 'xml-c14n';
const canonizer = c14n().createCanonicaliser(
'http://www.w3.org/2001/10/xml-exc-c14n#',
);