mirror of
				https://github.com/niklasvh/html2canvas.git
				synced 2023-08-10 21:13:10 +03:00 
			
		
		
		
	Delete serialize-doctype.ts
This commit is contained in:
		@@ -1,54 +0,0 @@
 | 
				
			|||||||
/// <reference types="trusted-types"/>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const htmlEscape = (str: string | null): string => {
 | 
					 | 
				
			||||||
  if (!str)
 | 
					 | 
				
			||||||
    return '';
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  let escaped: string = '';
 | 
					 | 
				
			||||||
  str.split('').forEach(char => {
 | 
					 | 
				
			||||||
    if (char == '&') {
 | 
					 | 
				
			||||||
      char = '&';
 | 
					 | 
				
			||||||
    } else if (char == '\'') {
 | 
					 | 
				
			||||||
      char = ''';
 | 
					 | 
				
			||||||
    } else if (char == '"') {
 | 
					 | 
				
			||||||
      char = '"';
 | 
					 | 
				
			||||||
    } else if (char == '<') {
 | 
					 | 
				
			||||||
      char = '<';
 | 
					 | 
				
			||||||
    } else if (char == '>') {
 | 
					 | 
				
			||||||
      char = '>';
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    escaped += char;
 | 
					 | 
				
			||||||
  });
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  return escaped;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
const createDocType = (doctype?: DocumentType | null): string => {
 | 
					 | 
				
			||||||
    if (!doctype)
 | 
					 | 
				
			||||||
      return '<html></html>';
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    const name = htmlEscape(doctype.name);
 | 
					 | 
				
			||||||
    const internalSubset = htmlEscape(doctype.internalSubset);
 | 
					 | 
				
			||||||
    const publicId = doctype.publicId ? `"${htmlEscape(doctype.publicId)}"` : '';
 | 
					 | 
				
			||||||
    const systemId = doctype.systemId ? `"${htmlEscape(doctype.systemId)}"` : '';
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    return `<!DOCTYPE ${name}${internalSubset}${publicId}${systemId}><html></html>`;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
let doctypePolicy: TrustedTypePolicy;
 | 
					 | 
				
			||||||
if ((window as any).trustedTypes) {
 | 
					 | 
				
			||||||
  doctypePolicy = (window as any).trustedTypes.createPolicy('html2canvas', {
 | 
					 | 
				
			||||||
    // @ts-ignore
 | 
					 | 
				
			||||||
    createHTML: (ignored: string, doctype?: DocumentType | null): string => {
 | 
					 | 
				
			||||||
        return createDocType(doctype);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  });
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export const serializeDoctype = (doctype?: DocumentType | null): string | TrustedHTML => {
 | 
					 | 
				
			||||||
  if (doctypePolicy !== undefined) {
 | 
					 | 
				
			||||||
    return doctypePolicy.createHTML('', doctype);
 | 
					 | 
				
			||||||
  } else {
 | 
					 | 
				
			||||||
    return createDocType(doctype);
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
		Reference in New Issue
	
	Block a user