UNPKG

@compdfkit_pdf_sdk/react_native

Version:

ComPDFKit for React Native is a comprehensive SDK that allows you to quickly add PDF functionality to Android, iOS, and React Native applications.

56 lines 4.11 kB
"use strict"; /** * Copyright © 2014-2026 PDF Technologies, Inc. All Rights Reserved. * * THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW * AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT. * UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES. * This notice may not be removed from this file. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.CPDFAnnotationFactory = void 0; const CPDFOptions_1 = require("../configuration/CPDFOptions"); const CPDFEnumUtils_1 = require("../util/CPDFEnumUtils"); const CPDFAnnotation_1 = require("./CPDFAnnotation"); const CPDFCircleAnnotation_1 = require("./CPDFCircleAnnotation"); const CPDFFreeTextAnnotation_1 = require("./CPDFFreeTextAnnotation"); const CPDFImageAnnotation_1 = require("./CPDFImageAnnotation"); const CPDFInkAnnotation_1 = require("./CPDFInkAnnotation"); const CPDFLineAnnotation_1 = require("./CPDFLineAnnotation"); const CPDFLinkAnnotation_1 = require("./CPDFLinkAnnotation"); const CPDFMarkupAnnotation_1 = require("./CPDFMarkupAnnotation"); const CPDFNoteAnnotation_1 = require("./CPDFNoteAnnotation"); const CPDFSignatureAnnotation_1 = require("./CPDFSignatureAnnotation"); const CPDFSoundAnnotation_1 = require("./CPDFSoundAnnotation"); const CPDFSquareAnnotation_1 = require("./CPDFSquareAnnotation"); const CPDFStampAnnotation_1 = require("./CPDFStampAnnotation"); class CPDFAnnotationFactory { static annotationMap = new Map([ [CPDFOptions_1.CPDFAnnotationType.NOTE, (json) => CPDFNoteAnnotation_1.CPDFNoteAnnotation.fromJson(json)], [CPDFOptions_1.CPDFAnnotationType.HIGHLIGHT, (json) => CPDFMarkupAnnotation_1.CPDFHighlightAnnotation.fromJson(json)], [CPDFOptions_1.CPDFAnnotationType.UNDERLINE, (json) => CPDFMarkupAnnotation_1.CPDFUnderlineAnnotation.fromJson(json)], [CPDFOptions_1.CPDFAnnotationType.SQUIGGLY, (json) => CPDFMarkupAnnotation_1.CPDFSquigglyAnnotation.fromJson(json)], [CPDFOptions_1.CPDFAnnotationType.STRIKEOUT, (json) => CPDFMarkupAnnotation_1.CPDFStrikeOutAnnotation.fromJson(json)], [CPDFOptions_1.CPDFAnnotationType.INK, (json) => CPDFInkAnnotation_1.CPDFInkAnnotation.fromJson(json)], [CPDFOptions_1.CPDFAnnotationType.FREETEXT, (json) => CPDFFreeTextAnnotation_1.CPDFFreeTextAnnotation.fromJson(json)], [CPDFOptions_1.CPDFAnnotationType.SQUARE, (json) => CPDFSquareAnnotation_1.CPDFSquareAnnotation.fromJson(json)], [CPDFOptions_1.CPDFAnnotationType.CIRCLE, (json) => CPDFCircleAnnotation_1.CPDFCircleAnnotation.fromJson(json)], [CPDFOptions_1.CPDFAnnotationType.LINE, (json) => CPDFLineAnnotation_1.CPDFLineAnnotation.fromJson(json)], [CPDFOptions_1.CPDFAnnotationType.ARROW, (json) => CPDFLineAnnotation_1.CPDFLineAnnotation.fromJson(json)], [CPDFOptions_1.CPDFAnnotationType.LINK, (json) => CPDFLinkAnnotation_1.CPDFLinkAnnotation.fromJson(json)], [CPDFOptions_1.CPDFAnnotationType.STAMP, (json) => CPDFStampAnnotation_1.CPDFStampAnnotation.fromJson(json)], [CPDFOptions_1.CPDFAnnotationType.PICTURES, (json) => CPDFImageAnnotation_1.CPDFImageAnnotation.fromJson(json)], [CPDFOptions_1.CPDFAnnotationType.SIGNATURE, (json) => CPDFSignatureAnnotation_1.CPDFSignatureAnnotation.fromJson(json)], [CPDFOptions_1.CPDFAnnotationType.SOUND, (json) => CPDFSoundAnnotation_1.CPDFSoundAnnotation.fromJson(json)], ]); static create(json) { const type = (0, CPDFEnumUtils_1.safeParseEnumValue)(json.type, Object.values(CPDFOptions_1.CPDFAnnotationType), CPDFOptions_1.CPDFAnnotationType.UNKNOWN); const annotationCreator = CPDFAnnotationFactory.annotationMap.get(type); return annotationCreator ? annotationCreator(json) : CPDFAnnotation_1.CPDFAnnotation.fromJson(json); } static createFromArray(jsonArray) { return jsonArray.map(item => CPDFAnnotationFactory.create(item)); } } exports.CPDFAnnotationFactory = CPDFAnnotationFactory; //# sourceMappingURL=CPDFAnnotationFactory.js.map