@@ -3,7 +3,7 @@ import { upload } from "./upload/index";
33import { version } from "../package.json" ;
44import transformationUtils from "./utils/transformation" ;
55import errorMessages from "./constants/errorMessages" ;
6- import { ImageKitOptions , TransformationPosition , UploadOptions , UploadResponse , UrlOptions } from "./interfaces" ;
6+ import { IImageKit , ImageKitOptions , TransformationPosition , UploadOptions , UploadResponse , UrlOptions } from "./interfaces" ;
77
88function mandatoryParametersAvailable ( options : ImageKitOptions ) {
99 return options . urlEndpoint ;
@@ -13,49 +13,56 @@ function privateKeyPassed(options: ImageKitOptions) {
1313 return typeof ( options as any ) . privateKey != "undefined" ;
1414}
1515
16- export default class ImageKit {
17- public options : ImageKitOptions ;
18- constructor ( opts : {
16+ const ImageKit = function (
17+ this : IImageKit ,
18+ opts : {
1919 publicKey : string ;
2020 urlEndpoint : string ;
2121 authenticationEndpoint ?: string ;
2222 transformationPosition ?: TransformationPosition ;
23- } ) {
24- opts = opts || { } ;
25- this . options = {
26- sdkVersion : `javascript-${ version } ` ,
27- publicKey : "" ,
28- urlEndpoint : "" ,
29- transformationPosition : transformationUtils . getDefault ( ) ,
30- } ;
23+ } ,
24+ ) {
25+ opts = opts || { } ;
26+ this . options = {
27+ sdkVersion : `javascript-${ version } ` ,
28+ publicKey : "" ,
29+ urlEndpoint : "" ,
30+ transformationPosition : transformationUtils . getDefault ( ) ,
31+ } ;
3132
32- this . options = {
33- ...this . options ,
34- ...opts ,
35- } ;
33+ this . options = {
34+ ...this . options ,
35+ ...opts ,
36+ } ;
3637
37- if ( ! mandatoryParametersAvailable ( this . options ) ) {
38- throw errorMessages . MANDATORY_INITIALIZATION_MISSING ;
39- }
40- if ( privateKeyPassed ( this . options ) ) {
41- throw errorMessages . PRIVATE_KEY_CLIENT_SIDE ;
42- }
38+ if ( ! mandatoryParametersAvailable ( this . options ) ) {
39+ throw errorMessages . MANDATORY_INITIALIZATION_MISSING ;
40+ }
41+ if ( privateKeyPassed ( this . options ) ) {
42+ throw errorMessages . PRIVATE_KEY_CLIENT_SIDE ;
43+ }
4344
44- if ( ! transformationUtils . validParameters ( this . options ) ) {
45- throw errorMessages . INVALID_TRANSFORMATION_POSITION ;
46- }
45+ if ( ! transformationUtils . validParameters ( this . options ) ) {
46+ throw errorMessages . INVALID_TRANSFORMATION_POSITION ;
4747 }
48+
4849 /* URL Builder */
49- url ( urlOptions : UrlOptions ) {
50+ this . url = function ( urlOptions : UrlOptions ) : string {
5051 return url ( urlOptions , this . options ) ;
51- }
52+ } ;
5253
5354 /* Upload API */
54- upload ( uploadOptions : UploadOptions , callback ?: ( err : Error | null , response : UploadResponse | null ) => void , options ?: Partial < ImageKitOptions > ) : void {
55+ this . upload = function (
56+ uploadOptions : UploadOptions ,
57+ callback ?: ( err : Error | null , response : UploadResponse | null ) => void ,
58+ options ?: Partial < ImageKitOptions > ,
59+ ) : void {
5560 var mergedOptions = {
5661 ...this . options ,
5762 ...options ,
5863 } ;
5964 return upload ( uploadOptions , mergedOptions , callback ) ;
60- }
61- }
65+ } ;
66+ } ;
67+
68+ export default ImageKit ;
0 commit comments