@progress/sitefinity-webservices-sdk 1.1.3 → 1.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/docs/assets/search.js +1 -1
- package/dist/docs/classes/Requests_Request.CommitChunksRequest.html +3 -3
- package/dist/docs/classes/Requests_Request.UploadChunkRequest.html +12 -5
- package/dist/docs/classes/Sitefinity.Sitefinity.html +2 -2
- package/dist/docs/classes/chunk_upload_chunk_upload_sdk.ChunkUploadSdk.html +3 -3
- package/dist/docs/interfaces/Requests_Request.CommitChunksRequestOptionsExtended.html +10 -10
- package/dist/docs/interfaces/Requests_Request.PostRequestOptionsExtended.html +2 -2
- package/dist/docs/interfaces/Requests_Request.PutRequestOptionsExtended.html +3 -3
- package/dist/docs/interfaces/Requests_Request.RelatedByIdRequestOptionsExtended.html +4 -4
- package/dist/docs/interfaces/Requests_Request.RelatedRequestOptionsExtended.html +3 -3
- package/dist/docs/interfaces/Requests_Request.UploadChunkRequestOptionsExtended.html +17 -10
- package/dist/docs/interfaces/Requests_Request.UploadRequestOptionsExtended.html +5 -5
- package/dist/docs/interfaces/Sitefinity.SDKOptions.html +6 -6
- package/dist/docs/interfaces/Sitefinity.Token.html +3 -3
- package/dist/docs/interfaces/Sitefinity.TypeOptions.html +25 -9
- package/dist/docs/interfaces/chunk_upload_chunk_upload_sdk.ChunkUploadInfoDTO.html +7 -7
- package/dist/docs/interfaces/chunk_upload_chunk_upload_sdk.ChunkUploadResult.html +3 -3
- package/dist/docs/interfaces/chunk_upload_chunk_upload_sdk.CleanUpChunksRequestOptions.html +2 -2
- package/dist/docs/interfaces/chunk_upload_chunk_upload_sdk.CommitChunksRequestOptions.html +2 -2
- package/dist/docs/interfaces/chunk_upload_chunk_upload_sdk.GetChunkUploadInfoRequestOptions.html +2 -2
- package/dist/docs/interfaces/chunk_upload_chunk_upload_sdk.UploadChunkRequestOptions.html +8 -3
- package/dist/sitefinity-webservices-sdk.js +10 -3
- package/dist/sitefinity-webservices-sdk.js.map +1 -1
- package/dist/sitefinity-webservices-sdk.min.js +1 -1
- package/dist/src/Requests/Request.d.ts +2 -0
- package/dist/src/Sitefinity.d.ts +9 -0
- package/dist/src/chunk-upload/chunk-upload.sdk.d.ts +5 -0
- package/package.json +1 -1
- package/src/Requests/BatchRequest.ts +1 -1
- package/src/Requests/Request.ts +4 -0
- package/src/Requests/RequestBase.ts +1 -1
- package/src/Sitefinity.spec.ts +32 -0
- package/src/Sitefinity.ts +12 -1
- package/src/chunk-upload/chunk-upload.sdk.spec.ts +2 -0
- package/src/chunk-upload/chunk-upload.sdk.ts +6 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sitefinity-webservices-sdk.js","mappings":"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D,OAAO;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,6DAA6D,cAAc;AAC3E;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACO;AACP,oCAAoC;AACpC;AACA;AACO;AACP,yBAAyB,uFAAuF;AAChH;AACA;AACA,2GAA2G;AAC3G;AACA,wCAAwC,QAAQ;AAChD;AACA,kEAAkE;AAClE;AACA,gDAAgD,yFAAyF;AACzI,gEAAgE,2CAA2C;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA,oBAAoB,yBAAyB;AAC7C;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA,8CAA8C,yEAAyE;AACvH;AACA;AACO;AACP;AACA;AACA;AACO;AACP,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACO;AACP,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA;AACO;AACP;AACA;AACA;AACA,iBAAiB,oCAAoC;AACrD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,MAAM;AAC1B;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACO;AACP,6BAA6B,sBAAsB;AACnD;AACA;AACA;AACA;AACA;AACO;AACP,kDAAkD,QAAQ;AAC1D,yCAAyC,QAAQ;AACjD,yDAAyD,QAAQ;AACjE;AACA;AACA;AACA;AACO;AACP,6EAA6E,OAAO;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA,iBAAiB,uFAAuF,cAAc;AACtH,uBAAuB,gCAAgC,qCAAqC,2CAA2C;AACvI,4BAA4B,MAAM,iBAAiB,YAAY;AAC/D,uBAAuB;AACvB,8BAA8B;AAC9B,6BAA6B;AAC7B,4BAA4B;AAC5B;AACA;AACO;AACP;AACA,iBAAiB,6CAA6C,UAAU,sDAAsD,cAAc;AAC5I,0BAA0B,6BAA6B,oBAAoB,uCAAuC,kBAAkB;AACpI;AACA;AACO;AACP;AACA;AACA,2GAA2G,uFAAuF,cAAc;AAChN,uBAAuB,8BAA8B,gDAAgD,wDAAwD;AAC7J,6CAA6C,sCAAsC,UAAU,mBAAmB,IAAI;AACpH;AACA;AACO;AACP,iCAAiC,uCAAuC,YAAY,KAAK,OAAO;AAChG;AACA;AACA;AACA;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,6CAA6C;AAC7C;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;;;;;;;UCpSA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;UENA;UACA;UACA;UACA","sources":["webpack://Sitefinity/webpack/universalModuleDefinition","webpack://Sitefinity/./sitefinity-webservices-sdk.ts","webpack://Sitefinity/./src/BlobBuilder.ts","webpack://Sitefinity/./src/Data.ts","webpack://Sitefinity/./src/Expression.ts","webpack://Sitefinity/./src/OrderProperty.ts","webpack://Sitefinity/./src/Query.ts","webpack://Sitefinity/./src/QueryBase.ts","webpack://Sitefinity/./src/QueryBuilder.ts","webpack://Sitefinity/./src/Requests/BatchRequest.ts","webpack://Sitefinity/./src/Requests/ExecutableRequest.ts","webpack://Sitefinity/./src/Requests/Request.ts","webpack://Sitefinity/./src/Requests/RequestBase.ts","webpack://Sitefinity/./src/Requests/RequestFactory.ts","webpack://Sitefinity/./src/Sitefinity.ts","webpack://Sitefinity/./src/WhereQuery.ts","webpack://Sitefinity/./src/chunk-upload/chunk-upload.sdk.ts","webpack://Sitefinity/./src/chunk-upload/chunked-file-upload.utilities.ts","webpack://Sitefinity/./src/constants.ts","webpack://Sitefinity/./src/utils.ts","webpack://Sitefinity/./node_modules/tslib/tslib.es6.js","webpack://Sitefinity/webpack/bootstrap","webpack://Sitefinity/webpack/runtime/define property getters","webpack://Sitefinity/webpack/runtime/hasOwnProperty shorthand","webpack://Sitefinity/webpack/runtime/make namespace object","webpack://Sitefinity/webpack/before-startup","webpack://Sitefinity/webpack/startup","webpack://Sitefinity/webpack/after-startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Sitefinity\"] = factory();\n\telse\n\t\troot[\"Sitefinity\"] = factory();\n})(this, () => {\nreturn ","export * from \"./src/BlobBuilder\";\nexport * from \"./src/constants\";\nexport * from \"./src/utils\";\nexport * from \"./src/WhereQuery\";\nexport * from \"./src/Sitefinity\";\nexport * from \"./src/QueryBuilder\";\nexport * from \"./src/Query\";\nexport * from \"./src/OrderProperty\";\nexport * from \"./src/Expression\";\nexport * from \"./src/Data\";\nexport * from \"./src/Requests/BatchRequest\";\nexport * from \"./src/Requests/ExecutableRequest\";\nexport * from \"./src/Requests/Request\";\nexport * from \"./src/Requests/RequestBase\";\nexport * from \"./src/Requests/RequestFactory\";\n","/**\n * The BlobBuilder class is used to generate blob objects.\n */\nexport class BlobBuilder {\n private blob = new Blob();\n\n /**\n * Appends new value to blob.\n */\n append(value: any) {\n this.blob = new Blob([this.blob, value]);\n }\n\n /**\n * Gets generated blob.\n */\n build(): Blob {\n return this.blob;\n }\n}\n","import { ChunkUploadSdk } from \"./chunk-upload/chunk-upload.sdk\";\nimport { SF_PARAMS } from \"./constants\";\nimport { Query } from \"./Query\";\nimport { ExecutableRequest } from \"./Requests/ExecutableRequest\";\nimport { RequestFactory } from \"./Requests/RequestFactory\";\nimport { TypeOptions } from \"./Sitefinity\";\n\n/**\n* The constructor of the Data object. This object is used for requesting data from Sitefinity.\n*/\nexport class Data {\n private urlOptions: TypeOptions;\n private factory: RequestFactory;\n\n constructor(urlOptions: TypeOptions, factory: RequestFactory) {\n this.urlOptions = urlOptions;\n this.factory = factory;\n }\n\n\n /**\n * Returns an instance of the @type {ChunkUploadService}\n *\n * @readonly\n * @type {ChunkUploadSdk}\n * @memberof Data\n */\n public get chunkUpload(): ChunkUploadSdk {\n const service = new ChunkUploadSdk(this.urlOptions, this.factory);\n return service;\n }\n\n /**\n * Executes a GET request to retrieve a collection of items.\n */\n get(parameters: RequestOptionsBase) {\n const request = this.factory.get({\n urlOptions: this.urlOptions,\n query: parameters.query,\n action: parameters.action,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb,\n fallbackProperties: parameters.fallbackProperties\n });\n\n request.execute();\n }\n\n /**\n * Executes a GET request to retrieve an/all item(s) operations.\n */\n getOperations(parameters: OperationsRequestOptions) {\n let request: ExecutableRequest;\n let action = \"operations\";\n\n // Set parentId if no item key is passed\n if (!parameters.key)\n action += `?${SF_PARAMS.parentId}=` + parameters.parentId;\n\n const params: any = {\n urlOptions: this.urlOptions,\n action: action,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb\n };\n\n if (parameters.key) {\n params.key = parameters.key;\n request = this.factory.getSingle(params);\n } else {\n request = this.factory.get(params);\n }\n\n request.execute();\n }\n\n /**\n * Executes a GET request for a single item.\n */\n getSingle(parameters: RequestOptionsBase) {\n if (!(parameters.key))\n throw \"Parameter 'key' is required!\";\n\n const request = this.factory.getSingle({\n urlOptions: this.urlOptions,\n key: parameters.key,\n query: parameters.query,\n action: parameters.action,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb,\n fallbackProperties: parameters.fallbackProperties\n });\n\n request.execute();\n }\n\n /**\n * Executes a POST request for a single item.\n */\n create(parameters: CreateRequestOptions) {\n if (!(parameters.data))\n throw \"Parameter 'data' is required!\";\n\n const request = this.factory.create({\n urlOptions: this.urlOptions,\n key: parameters.key,\n query: parameters.query,\n data: parameters.data,\n action: parameters.action,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb\n });\n\n request.execute();\n }\n\n /**\n * Executes a PATCH request to update a single item.\n * @example\n * const data = sf.data({\n * entitySet: \"newsitems\",\n * provider: \"OpenAccessDataProvider\",\n * culture: \"en\"\n * });\n *\n * const newsItemUpdate = {\n * \"Title\": 'updated news title'\n * };\n *\n * data.update({\n * key: '00000000-0000-0000-0000-000000000000', // key of item to update\n * data: newsItemUpdate,\n * saveTemp: true,\n * successCb: successCb,\n * failureCb: failureCb\n * });\n */\n update(parameters: UpdateRequestOptions) {\n if (!(parameters.key || parameters.data))\n throw \"Parameters: 'data' and 'key' are required!\";\n\n const request = this.factory.update({\n urlOptions: this.urlOptions,\n key: parameters.key,\n data: parameters.data,\n action: parameters.action,\n saveTemp: parameters.saveTemp,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb\n });\n\n request.execute();\n }\n\n /**\n * Executes a DELETE request to delete a single item.\n */\n destroy(parameters: RequestOptionsBase) {\n if (!(parameters.key))\n throw \"Parameter 'key' is required!\";\n\n const request = this.factory.destroy({\n urlOptions: this.urlOptions,\n key: parameters.key,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb\n });\n\n request.execute();\n }\n\n /**\n * Executes a POST request to execute a workflow operation for single item.\n */\n operation(parameters: CreateRequestOptions) {\n if (!(parameters.key || parameters.data))\n throw \"Parameters: 'data' and 'key' are required!\";\n\n const request = this.factory.create({\n urlOptions: this.urlOptions,\n key: parameters.key,\n action: \"operation\",\n data: parameters.data,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb\n });\n\n request.execute();\n }\n\n /**\n * Executes a GET request to get the property of a single item.\n */\n getProperty(parameters: PropertyRequestOptions) {\n if (!(parameters.key || parameters.property))\n throw \"Parameters: 'data' and 'property' are required!\";\n\n const request = this.factory.getProperty({\n urlOptions: this.urlOptions,\n key: parameters.key,\n property: parameters.property,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb\n });\n\n request.execute();\n }\n\n /**\n * Executes a GET request to get the related property value of a single item.\n */\n getRelated(parameters: PropertyRequestOptions) {\n if (!(parameters.key || parameters.property))\n throw \"Parameters: 'data' and 'property' are required!\";\n\n const request = this.factory.getRelated({\n urlOptions: this.urlOptions,\n key: parameters.key,\n property: parameters.property,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb\n });\n\n request.execute();\n }\n\n /**\n * Executes a GET request to retrieve the related property value of a single item by the id of the related item.\n */\n getRelatedById(parameters: SingleRelatedItemRequestOptions) {\n if (!(parameters.key || parameters.property || parameters.relatedId))\n throw \"Parameters: 'data', 'relatedId' and 'property' are required!\";\n\n const request = this.factory.getRelatedById({\n urlOptions: this.urlOptions,\n key: parameters.key,\n relatedId: parameters.relatedId,\n property: parameters.property,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb\n });\n\n request.execute();\n }\n\n /**\n * Executes a DELETE request to retrieve the delete all of the associated members in the relation property.\n */\n destroyRelated(parameters: PropertyRequestOptions) {\n if (!(parameters.key || parameters.property))\n throw \"Parameters: 'data' and 'property' are required!\";\n\n const request = this.factory.destroyRelated({\n urlOptions: this.urlOptions,\n key: parameters.key,\n property: parameters.property,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb\n });\n\n request.execute();\n }\n\n /**\n * Executes a DELETE request to retrieve the a single entry of the associated members in the relation property.\n */\n destroyRelatedById(parameters: SingleRelatedItemRequestOptions) {\n if (!(parameters.key || parameters.property || parameters.relatedId))\n throw \"Parameters: 'data', 'relatedId' and 'property' are required!\";\n\n const request = this.factory.destroyRelatedById({\n urlOptions: this.urlOptions,\n key: parameters.key,\n relatedId: parameters.relatedId,\n property: parameters.property,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb\n });\n\n request.execute();\n }\n\n /**\n * Executes a POST request to add a related item to the property collection.\n */\n createRelated(parameters: CreateRelatedRequestOptions) {\n if (!(parameters.key || parameters.property || parameters.link))\n throw \"Parameters: 'data', 'link' and 'property' are required!\";\n\n const data = {\n \"@odata.id\": parameters.link\n };\n\n const request = this.factory.createRelated({\n urlOptions: this.urlOptions,\n key: parameters.key,\n property: parameters.property,\n data: data,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb\n });\n\n request.execute();\n }\n\n /**\n * Executes a POST request to upload a media item.\n * @example\n *\n * const data = sf.data({\n * entitySet: \"images\"\n * });\n * data.upload({\n * data: {\n * content: \"base 64 representation of the file\",\n * contentType: \"image/jpeg\",\n * name: \"test.jpg\",\n * payload: {\n * Title: \"Test\",\n * entitySet: \"test\"\n * },\n * uploadProperties: {\n * ParentId: \"4BA7AD46-F29B-4E65-BE17-9BF7CE5BA1FB\"\n * }\n * },\n * successCb: successCb,\n * failureCb: failureCb\n * });\n */\n upload(parameters: UploadRequestOptions) {\n if (!(parameters || parameters.data || parameters.data.content || parameters.data.contentType || parameters.data || parameters.data.name || parameters.data.uploadProperties))\n throw \"parameters: content, contentType, name and uploadProperties are required!\";\n\n const options = {\n urlOptions: this.urlOptions,\n _factory: this.factory,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb\n };\n\n const batch = this.factory.batch(options);\n const transaction = batch.beginTransaction();\n\n const uploadedFile = transaction.upload({\n entitySet: this.urlOptions.entitySet,\n data: parameters.data.content,\n contentType: parameters.data.contentType,\n fileName: parameters.data.name,\n uploadProperties: parameters.data.uploadProperties\n });\n\n if (parameters.data.payload)\n transaction.update({\n entitySet: this.urlOptions.entitySet,\n key: uploadedFile,\n data: parameters.data.payload\n });\n\n if (parameters.publish === true) {\n transaction.operation({\n entitySet: this.urlOptions.entitySet,\n key: uploadedFile,\n data: {\n action: \"Publish\"\n }\n });\n }\n\n batch.endTransaction(transaction);\n return batch.execute();\n }\n}\n\nexport interface RequestOptionsBase {\n query?: Query;\n action?: string;\n successCb?: Function;\n failureCb?: Function;\n progressCb?: Function;\n fallbackProperties?: string[];\n key?: string | number;\n}\n\nexport interface OperationsRequestOptions extends RequestOptionsBase {\n parentId?: string;\n}\n\nexport interface CreateRequestOptions extends RequestOptionsBase {\n data?: object;\n}\n\nexport interface UpdateRequestOptions extends CreateRequestOptions {\n saveTemp?: boolean;\n}\n\nexport interface PropertyRequestOptions extends RequestOptionsBase {\n property: string;\n}\n\nexport interface SingleRelatedItemRequestOptions extends PropertyRequestOptions {\n relatedId: string;\n}\n\nexport interface CreateRelatedRequestOptions extends PropertyRequestOptions {\n link: string | number;\n}\n\nexport interface UploadRequestOptions extends CreateRequestOptions {\n data: {\n content: string;\n contentType: string;\n uploadProperties: { [key: string]: string };\n name: string;\n payload: object;\n },\n publish: boolean;\n}\n","export class ExpressionBase {\n constructor(public type: string) {\n }\n\n getType(): string {\n return this.type;\n }\n}\n\nexport class BinaryExpression extends ExpressionBase {\n constructor(type: string, public parameter: string, public constant: any, public caseSensitive: boolean = true) {\n super(type);\n }\n\n getParameter(): string {\n return this.parameter;\n }\n\n getConstant(): any {\n return this.constant;\n }\n\n isCaseSensitive(): boolean {\n return this.caseSensitive;\n }\n}\n\nexport class ComplexExpression extends ExpressionBase {\n constructor(type: string, private expressions: ExpressionBase[]) {\n super(type);\n }\n\n getExpressions(): ExpressionBase[] {\n return this.expressions;\n }\n}\n","import { utils } from \"./utils\";\n\nexport class OrderProperty {\n constructor(private propertyPath: string, private isDesc: boolean = null) {\n if (!utils.isString(propertyPath))\n throw new Error(\"Property name is not a valid string\");\n\n propertyPath = propertyPath.trim();\n\n const parts = propertyPath.split(\" \");\n // parts[0] is the propertyPath; [1] would be whether descending or not.\n if (parts.length > 1 && isDesc !== true && isDesc !== false) {\n isDesc = parts[1].toLowerCase() == \"desc\";\n if (!isDesc) {\n // isDesc is false but check to make sure its intended.\n const isAsc = parts[1].toLowerCase() == \"asc\";\n if (!isAsc) {\n throw new Error(\"the second word in the propertyPath must begin with 'desc' or 'asc'\");\n }\n }\n }\n\n this.propertyPath = parts[0];\n this.isDesc = isDesc;\n }\n\n getPropertyPath(): string {\n return this.propertyPath;\n }\n\n getDirection(): boolean {\n return this.isDesc;\n }\n\n getValue(): string {\n const direction = (this.isDesc) ? \"desc\" : \"asc\";\n return this.propertyPath + \" \" + direction;\n }\n}\n","import { QueryBase } from \"./QueryBase\";\nimport { WhereQuery } from \"./WhereQuery\";\nimport { OrderProperty } from \"./OrderProperty\";\nimport { QueryBuilder } from \"./QueryBuilder\";\n\n/**\n * The query class is used for constructing queries.\n * @example\n * const query = new Sitefinity.Query();\n * const query0 = query.where().and().endsWith(\"Title\", \"Record\").done().or().startsWith('Title', 'asd').done().done();\n * const query1 = query.where().or().endsWith(\"Record\", \"Title\").ne('age', '15').eq('Content', 'test').done().done();\n * const query2 = query.where().and().endsWith(\"Title\", \"Record\").done().done();\n * const query3 = query.where().endsWith(\"Record\", \"Title\").or().ne('age', '15').eq('Content', 'test').done().done();\n * const query4 = query.where().not().endsWith(\"Record\", \"Title\").done().and().not().eq('Content', 'test').done().done().done();\n * const query5 = query.where().not().and().endsWith(\"Record\", \"Title\").eq('Content', 'test').done().done().done();\n * const query6 = query.select(\"Id\", \"Title\", \"Content\").expand('Tags').order(\"Title desc\").where().ne('Title', 'zzz').eq('Title', 'newTitle').done()//.count();\n * const query7 = query.order(\"Title desc\").where().eq('Title', 'newTitleUPDATE1').done().select(\"Title\", \"Content\");\n * const query8 = query.where().eq('Title', 'newTitleN11').done();\n */\nexport class Query extends QueryBase {\n orderProperties: OrderProperty[] = null;\n skipValue: number = null;\n takeValue: number = null;\n searchValue: string = null;\n inlineCount: boolean;\n filter: WhereQuery<Query> = null;\n\n constructor() {\n super();\n }\n\n /**\n * Begins a where clause for filtering the items.\n */\n where(): WhereQuery<Query> {\n const clone: Query = this.clone((newObj: Query) => {\n newObj.filter = new WhereQuery(newObj);\n });\n\n return clone.filter;\n }\n\n /**\n * Specifies the order by clause.\n * @example\n * order by single field\n * order(\"Title desc\")\n * @example\n * order by multiple fields\n * order(\"Title desc\", \"Description asc\")\n */\n order(...properties: string[]): Query {\n properties = properties ?? [];\n this.validatePropertyPaths(properties);\n\n return this.clone((newObj: Query) => {\n const orderItems: OrderProperty[] = [];\n for (let i = 0; i < properties.length; i++) {\n const member = properties[i];\n const orderProp = new OrderProperty(member);\n orderItems.push(orderProp);\n }\n newObj.orderProperties = orderItems;\n });\n }\n\n /**\n * Skips a certain number of items from the beginning before returning the rest of the items. Used for paging.\n */\n skip(value: number): Query {\n return this.clone((newObj: Query) => {\n newObj.skipValue = value;\n });\n }\n\n /**\n * Takes a specified number of items from the query result. Used for paging.\n */\n take(value: number): Query {\n return this.clone((newObj: Query) => {\n newObj.takeValue = value;\n });\n }\n\n /**\n * Searches for the items matching the specified expression.\n */\n search(value: string): Query {\n return this.clone((newObj: Query) => {\n newObj.searchValue = value;\n });\n }\n\n /**\n * Returns the total item count with the result. Used for paging.\n */\n count(inline = true): Query {\n return this.clone((newObj: Query) => {\n newObj.inlineCount = inline;\n });\n }\n\n build() {\n return new QueryBuilder(this).build();\n }\n}\n","import { utils } from \"./utils\";\n\n/**\n * The base class for dealing with queries.\n */\nexport class QueryBase {\n selectProperties: string[];\n expandProperties: string[];\n\n constructor() {\n this.selectProperties = null;\n this.expandProperties = null;\n }\n\n /**\n * Selects which fields will be returned when querying the service.\n */\n select(...properties: string[]): QueryBase {\n properties = properties ?? [];\n\n this.validatePropertyPaths(properties);\n\n return this.clone((newObj: QueryBase) => {\n newObj.selectProperties = properties.filter((prop, index, props) => props.indexOf(prop) === index);\n });\n }\n\n /**\n * Selects which navigation properties will be returned when querying the service.\n */\n expand(...properties: string[]): QueryBase {\n properties = properties ?? [];\n this.validatePropertyPaths(properties);\n\n return this.clone((newObj: QueryBase) => {\n newObj.expandProperties = properties.filter((prop, index, props) => props.indexOf(prop) === index);\n });\n }\n\n protected validatePropertyPaths(propPaths: string[], allowNested = false) {\n for (let i = 0; i < propPaths.length; i++) {\n const member = propPaths[i];\n if (!utils.isString(member)) {\n throw new Error(\"Invalid argument in clause\");\n }\n\n if (!allowNested && member.indexOf(\".\") > -1) {\n throw new Error(\"Invalid argument in clause\");\n }\n }\n }\n\n protected clone(setter: Function = null) {\n const newObj = utils.clone(this, new QueryBase(), setter);\n return newObj;\n }\n}\n","import { WhereQuery } from \"./WhereQuery\";\nimport { ComplexExpression, BinaryExpression } from \"./Expression\";\nimport { OrderProperty } from \"./OrderProperty\";\nimport { utils } from \"./utils\";\nimport { ODATA_PARAMS, EXPRESSION_TYPE } from \"./constants\";\nimport { Query } from \"./Query\";\n\nexport class QueryBuilder {\n constructor(private query: Query) {\n }\n\n build(): { [key: string]: string } {\n const queryParameters = {};\n const whereClause = this.query.filter;\n if (whereClause instanceof WhereQuery) {\n const expression = whereClause.getExpression();\n if (expression instanceof ComplexExpression) {\n const result = this.buildComplexExpression(expression, null);\n if (result) {\n queryParameters[ODATA_PARAMS.$filter] = result;\n }\n }\n }\n\n const selectClause = this.query.selectProperties;\n if (selectClause instanceof Array) {\n queryParameters[ODATA_PARAMS.$select] = selectClause.join(\", \");\n }\n\n const expandClause = this.query.expandProperties;\n if (expandClause instanceof Array)\n queryParameters[ODATA_PARAMS.$expand] = expandClause.join(\", \");\n\n const orderByClause = this.query.orderProperties;\n if (orderByClause instanceof Array) {\n const order = [];\n for (const i in orderByClause) {\n if (orderByClause[i] instanceof OrderProperty)\n order.push(orderByClause[i].getValue());\n }\n queryParameters[ODATA_PARAMS.$orderby] = order.join(\", \");\n }\n\n const take = this.query.takeValue;\n if (utils.isNumber(take))\n queryParameters[ODATA_PARAMS.$top] = take;\n\n const skip = this.query.skipValue;\n if (utils.isNumber(skip))\n queryParameters[ODATA_PARAMS.$skip] = skip;\n\n const search = this.query.searchValue;\n if (search)\n queryParameters[ODATA_PARAMS.$search] = search;\n\n if (this.query.inlineCount !== null) {\n queryParameters[ODATA_PARAMS.$count] = this.query.inlineCount;\n }\n\n return queryParameters;\n }\n\n private buildComplexExpression(expression: ComplexExpression, parent: string): string {\n if (!(expression instanceof ComplexExpression))\n throw new Error(\"Invalid complex expression\");\n\n let counter = 0;\n let result = \"\";\n const subExpressions = expression.getExpressions();\n if (!subExpressions.length) {\n return result;\n }\n\n while (true) {\n const currentExp = subExpressions[counter];\n if (currentExp instanceof BinaryExpression) {\n result += this.buildBinaryExpression(currentExp);\n }\n else if (currentExp instanceof ComplexExpression) {\n const complexResult = this.buildComplexExpression(currentExp, expression.type);\n if (complexResult) {\n result += \"(\" + complexResult + \")\";\n }\n }\n\n if (expression.getType() === EXPRESSION_TYPE.not)\n result = expression.getType() + \" \" + result;\n // TODOSDK: Rethink this!\n if (expression.getType() === EXPRESSION_TYPE.any) {\n const exprVal = [];\n for (let index = 0; index < subExpressions.length; index++) {\n if (subExpressions[index].type == EXPRESSION_TYPE.contains || subExpressions[index].type == EXPRESSION_TYPE.startsWith || subExpressions[index].type == EXPRESSION_TYPE.endsWith)\n exprVal.push(subExpressions[index].type.toLowerCase() + \"(x, '\" + (subExpressions[index] as BinaryExpression).constant + \"')\");\n else\n exprVal.push(\"x \" + subExpressions[index].type.toLowerCase() + \" \" + this.checkType((subExpressions[index] as BinaryExpression).constant));\n }\n result = (currentExp as BinaryExpression).parameter + \"/\" + expression.getType() + \"(x:\" + exprVal.join(\" \" + parent + \" \") + \")\";\n }\n\n counter++;\n if (counter == subExpressions.length)\n break;\n\n result += \" \" + expression.getType() + \" \";\n }\n\n return result;\n }\n\n private buildBinaryExpression(expression: BinaryExpression): string {\n let result: string = null;\n const type = expression.getType();\n switch (type) {\n case EXPRESSION_TYPE.eq:\n case EXPRESSION_TYPE.ne:\n case EXPRESSION_TYPE.lt:\n case EXPRESSION_TYPE.le:\n case EXPRESSION_TYPE.gt:\n case EXPRESSION_TYPE.ge: {\n const constant = expression.getConstant();\n result = `(${expression.getParameter()} ${type} ${this.checkType(constant)})`;\n break;\n }\n case EXPRESSION_TYPE.contains:\n case EXPRESSION_TYPE.startsWith:\n case EXPRESSION_TYPE.endsWith: {\n const expressionParameter = this.applyCaseSensitiveSettings(expression, expression.getParameter());\n const expressionConstant = this.checkType(expression.getConstant());\n const expressionValue = this.applyCaseSensitiveSettings(expression, expressionConstant);\n\n result = `${type.toLowerCase()}(${expressionParameter}, ${expressionValue})`;\n break;\n }\n default: {\n const msg = `Unsupported operator ${type}`;\n throw new Error(msg);\n }\n }\n\n return result;\n }\n\n private applyCaseSensitiveSettings(expression: BinaryExpression, value: string): string {\n if (expression.isCaseSensitive()) {\n return value;\n }\n\n return `tolower(${value})`;\n }\n\n private checkType(constant: any): string {\n if (this.isGuid(constant))\n return constant;\n\n if (constant == null)\n return null;\n\n constant = constant.replace(/[+/?%#&]/g, function ($0) {\n return encodeURIComponent($0);\n });\n\n // escapes the apostrophes\n constant = constant.replace(/'/g, \"''\");\n\n return \"'\" + constant + \"'\";\n }\n\n private isGuid(constant: string): boolean {\n return /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(constant);\n }\n}\n","import { RequestFactory } from \"./RequestFactory\";\nimport { BlobBuilder } from \"../BlobBuilder\";\nimport { utils } from \"../utils\";\nimport { HEADER_NAMES, HTTP_METHODS } from \"../constants\";\nimport { ExecutableRequest } from \"./ExecutableRequest\";\nimport { SDKOptions, Token, TypeOptions } from \"../Sitefinity\";\nimport { RequestBase, RequestOptionsBaseExtended } from \"./RequestBase\";\nimport { CreateRelatedRequestOptions, RequestOptionsBase, PropertyRequestOptions, SingleRelatedItemRequestOptions, CreateRequestOptions, UpdateRequestOptions } from \"../Data\";\nimport { PostRequestOptionsExtended, PutRequestOptionsExtended, RelatedByIdRequestOptionsExtended, RelatedRequestOptionsExtended, UploadRequestOptionsExtended } from \"./Request\";\nimport { Query } from \"../Query\";\n\n/**\n * The transaction class is used to group operations that involve data manipulation together and execute them as a single atomic operation.\n */\nexport class Transaction {\n id: number;\n counter: number;\n requests: TransactionRequest[];\n private urlOptions: TypeOptions;\n private factory: RequestFactory;\n\n constructor(urlOptions: TypeOptions, factory: RequestFactory) {\n this.urlOptions = urlOptions;\n this.factory = factory;\n this.requests = [];\n this.counter = 0;\n }\n\n upload(parameters: any): number {\n const urlOptions = this.urlParametersClone(parameters.entitySet);\n\n const options: UploadRequestOptionsExtended = {\n urlOptions: urlOptions,\n data: parameters.data,\n contentType: parameters.contentType,\n fileName: parameters.fileName,\n key: parameters.key,\n uploadProperties: parameters.uploadProperties\n };\n\n const request = this.factory.upload(options);\n\n return this.addRequest(request);\n }\n\n /**\n * Adds a POST request to create a single item.\n */\n create(parameters: BatchCreateRequestOptions) {\n if (!(parameters || parameters.entitySet))\n throw \"entitySet is required!\";\n\n const urlOptions = this.urlParametersClone(parameters.entitySet);\n\n const options: PostRequestOptionsExtended = {\n key: parameters.key,\n action: parameters.action,\n urlOptions: urlOptions,\n data: parameters.data\n };\n\n const request = this.factory.create(options);\n\n return this.addRequest(request);\n }\n\n /**\n * Adds a POST request to execute an operation on single item.\n */\n // TODO: Remove\n operation(parameters: BatchCreateRequestOptions) {\n if (!(parameters || parameters.entitySet || parameters.key || parameters.data))\n throw \"parameters: entitySet, key and data are required!\";\n\n const urlOptions = this.urlParametersClone(parameters.entitySet);\n\n const options: PostRequestOptionsExtended = {\n urlOptions: urlOptions,\n key: parameters.key,\n action: \"operation\",\n data: parameters.data\n };\n\n const request = this.factory.create(options);\n\n this.overrideUrlGeneration(request, parameters.key, \"operation\", options.urlOptions, options.query);\n this.addRequest(request);\n }\n\n /**\n * Adds a PATCH request to update a single item.\n */\n update(parameters: BatchUpdateRequestOptions) {\n if (!(parameters || parameters.entitySet || parameters.key || parameters.data))\n throw \"parameters: entitySet, key and data are required!\";\n\n const urlOptions = this.urlParametersClone(parameters.entitySet);\n\n const options: PutRequestOptionsExtended = {\n urlOptions: urlOptions,\n saveTemp: parameters.saveTemp,\n key: parameters.key,\n data: parameters.data\n };\n\n const request = this.factory.update(options);\n\n this.overrideUrlGeneration(request, parameters.key, undefined, options.urlOptions, options.query);\n this.addRequest(request);\n }\n\n /**\n * Adds a DELETE request to delete a single item.\n */\n destroy(parameters: BatchSingleItemRequestOptions) {\n if (!(parameters || parameters.entitySet || parameters.key))\n throw \"parameters: entitySet and key are required!\";\n\n const urlOptions = this.urlParametersClone(parameters.entitySet);\n\n const options: RequestOptionsBaseExtended = {\n urlOptions: urlOptions,\n key: parameters.key\n };\n\n const request = this.factory.destroy(options);\n\n this.overrideUrlGeneration(request, parameters.key, undefined, options.urlOptions, options.query);\n\n this.addRequest(request);\n }\n\n /**\n * Adds a DELETE request to delete all of the associated members in the relation property.\n */\n destroyRelated(parameters: BatchPropertyRequestOptions) {\n if (!(parameters || parameters.entitySet || parameters.key))\n throw \"parameters: entitySet and key are required!\";\n\n const urlOptions = this.urlParametersClone(parameters.entitySet);\n\n const options: RelatedRequestOptionsExtended = {\n urlOptions: urlOptions,\n key: parameters.key,\n property: parameters.property\n };\n\n const request = this.factory.destroyRelated(options);\n\n const propertyURL = (request as any).property + \"/$ref\";\n this.overrideUrlGeneration(request, parameters.key, propertyURL, options.urlOptions, options.query);\n\n this.addRequest(request);\n }\n\n /**\n * Adds a DELETE request to retrieve the a single entry of the associated members in the relation property.\n */\n destroyRelatedById(parameters: BatchSingleRelatedItemRequestOptions) {\n if (!(parameters || parameters.entitySet || parameters.key || parameters.relatedId || parameters.property))\n throw \"parameters: entitySet, key, relatedId and property are required!\";\n\n const urlOptions = this.urlParametersClone(parameters.entitySet);\n\n const options: RelatedByIdRequestOptionsExtended = {\n urlOptions: urlOptions,\n key: parameters.key,\n relatedId: parameters.relatedId,\n property: parameters.property\n };\n\n const request = this.factory.destroyRelatedById(options);\n\n this.addRequest(request);\n }\n\n /**\n * Adds a POST request to add a related item to the property collection.\n */\n createRelated(parameters: BatchCreateRelatedRequestOptions) {\n if (!(parameters || parameters.entitySet || parameters.key || parameters.link || parameters.property))\n throw \"parameters: entitySet, key, link and property are required!\";\n\n // TODO: rethink about the urls\n const urlOptions = this.urlParametersClone(parameters.entitySet);\n\n for (let index = 0; index < this.requests.length; index += 1) {\n if (this.requests[index].id == parameters.link) {\n parameters.link = \"$\" + this.requests[index].id;\n }\n }\n\n const data = {\n \"@odata.id\": parameters.link\n };\n\n const options: RelatedRequestOptionsExtended = {\n urlOptions: urlOptions,\n key: parameters.key,\n property: parameters.property,\n data: data\n };\n\n const request = this.factory.createRelated(options);\n const propertyURL = (request as any).property + \"/$ref\";\n this.overrideUrlGeneration(request, parameters.key, propertyURL, options.urlOptions, options.query);\n\n return this.addRequest(request);\n }\n\n private overrideUrlGeneration(request: RequestBase, key: number | string, additionalPropertyURL: string, urlOptions?: TypeOptions, query?: Query) {\n // TODO: match requests with Content-ID's!\n // Content-ID's are the same as id's in requests.\n for (let index = 0; index < this.requests.length; index += 1) {\n if (this.requests[index].id == key) {\n request.buildUrl = function () {\n let uri = \"$\" + key;\n if (additionalPropertyURL !== undefined) {\n uri = uri + \"/\" + additionalPropertyURL;\n }\n\n if (urlOptions) {\n const queryString = request.getQueryString(urlOptions, query);\n if (queryString) {\n uri = uri + queryString;\n }\n }\n\n return uri;\n };\n }\n }\n }\n\n private addRequest(request: RequestBase) {\n this.requests.push({ id: this.counter, request: request });\n return this.counter++;\n }\n\n private urlParametersClone(entitySet: string) {\n const options = utils.clone(this.urlOptions);\n options.entitySet = entitySet;\n\n return options;\n }\n}\n\n/**\n * The batch request class is used for grouping requests into a single batch request to execute on the server.\n */\nexport class BatchRequest extends ExecutableRequest {\n counter: number;\n requests: BatchInnerRequest[];\n private factory: RequestFactory;\n private boundary: string;\n private responseHeaderRegex: RegExp;\n private responseStatusRegex: RegExp;\n\n\n public static constants = {\n newLine: \"\\r\\n\"\n };\n\n constructor(requestOptions: BatchRequestOptionsExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions, token, sdkOptions);\n this.factory = requestOptions.factory;\n this.requests = [];\n this.counter = 0;\n this.boundary = this.createBoundary(\"sf_batch_\");\n this.responseHeaderRegex = /^([^()<>@,;:\\\\\"\\/[\\]?={} \\t]+)\\s?:\\s?(.*)/;\n this.responseStatusRegex = /^HTTP\\/1\\.\\d (\\d{3}) (.*)$/i;\n }\n\n /**\n * Adds a GET request to retrieve a collection of items.\n */\n get(parameters: BatchRequestOptionsBase) {\n if (!(parameters || parameters.entitySet))\n throw \"entitySet is required!\";\n\n const urlOptions = this.urlParametersClone(parameters.entitySet);\n\n const options: RequestOptionsBaseExtended = {\n urlOptions: urlOptions,\n action: parameters.action,\n query: parameters.query,\n fallbackProperties: parameters.fallbackProperties\n };\n\n const request = this.factory.get(options);\n\n this.addRequest(request);\n }\n\n /**\n * Adds a GET request for the retrieval of a single item.\n */\n getSingle(parameters: BatchSingleItemRequestOptions) {\n if (!(parameters || parameters.entitySet || parameters.key))\n throw \"parameters: entitySet and key are required!\";\n\n const urlOptions = this.urlParametersClone(parameters.entitySet);\n\n const options: RequestOptionsBaseExtended = {\n urlOptions: urlOptions,\n action: parameters.action,\n key: parameters.key,\n query: parameters.query\n };\n\n const request = this.factory.getSingle(options);\n\n this.addRequest(request);\n }\n\n /**\n * Adds a GET request to get the property of a single item.\n */\n getProperty(parameters: BatchPropertyRequestOptions) {\n if (!(parameters || parameters.entitySet || parameters.key, parameters.property))\n throw \"parameters: entitySet, key and property are required!\";\n\n const urlOptions = this.urlParametersClone(parameters.entitySet);\n\n const options: RelatedRequestOptionsExtended = {\n urlOptions: urlOptions,\n key: parameters.key,\n property: parameters.property\n };\n\n const request = this.factory.getProperty(options);\n\n this.addRequest(request);\n }\n\n /**\n * Adds a GET request to get the related property value of a single item.\n */\n getRelated(parameters: BatchPropertyRequestOptions) {\n if (!(parameters || parameters.entitySet || parameters.key || parameters.property))\n throw \"parameters: entitySet, key and property are required!\";\n\n const urlOptions = this.urlParametersClone(parameters.entitySet);\n\n const options: RelatedRequestOptionsExtended = {\n urlOptions: urlOptions,\n key: parameters.key,\n property: parameters.property\n };\n\n const request = this.factory.getRelated(options);\n\n this.addRequest(request);\n }\n\n /**\n * Adds a GET request to retrieve the related property value of a single item by the id of the related item.\n */\n getRelatedById(parameters: BatchSingleRelatedItemRequestOptions) {\n if (!(parameters || parameters.entitySet || parameters.key || parameters.relatedId || parameters.property))\n throw \"parameters: entitySet, key, relatedId and property are required!\";\n\n const urlOptions = this.urlParametersClone(parameters.entitySet);\n\n const options: RelatedByIdRequestOptionsExtended = {\n urlOptions: urlOptions,\n key: parameters.key,\n relatedId: parameters.relatedId,\n property: parameters.property\n };\n\n const request = this.factory.getRelatedById(options);\n\n this.addRequest(request);\n }\n\n /**\n * Begins a transaction.\n */\n beginTransaction(): Transaction {\n const option = utils.clone(this.urlOptions);\n const newTransaction = new Transaction(option, this.factory);\n newTransaction.id = ++this.counter;\n return newTransaction;\n }\n\n /**\n * Ends a transaction.\n */\n endTransaction(transaction: Transaction) {\n this.requests.push({\n id: transaction.id,\n request: transaction\n });\n }\n\n getBody(): object {\n return this.buildRequestBody();\n }\n\n getMethod(): string {\n return HTTP_METHODS.post;\n }\n\n getHeaders(): { [key: string]: string } {\n const contentType = \"multipart/mixed; boundary=\" + this.boundary;\n const headers = { };\n headers[HEADER_NAMES.contentType] = contentType;\n\n return headers;\n }\n\n buildUrl(): string {\n let url = this.urlOptions.baseUrl + \"$batch\";\n const queryString = this.getQueryString(this.urlOptions, this.query);\n\n if (queryString) {\n url += queryString;\n }\n\n return url;\n }\n\n protected parseResponse(http: XMLHttpRequest): any {\n const context = {\n position: 0,\n boundaries: []\n };\n\n const pos = context.position;\n const partHeaders = this.readHeaders(http.getAllResponseHeaders(), context);\n const partContentType = this.contentType(partHeaders[\"content-type\"]);\n if (partContentType && partContentType.mediaType == \"multipart/mixed\") {\n context.boundaries.push((partContentType.properties as any).boundary);\n }\n\n context.position = pos;\n\n const batchResponse = this.parseBatchResponse(http.responseText, context);\n const responseParsed = [];\n for (let i = 0; i < batchResponse.length; i++) {\n try {\n const currentRequest = this.requests[i];\n let finalResult = null;\n let key = null;\n\n const singleResponse = batchResponse[i];\n const changesets = singleResponse.__changeResponses;\n if (changesets) {\n finalResult = [];\n const currentRequests = currentRequest ? (currentRequest.request as Transaction).requests : [];\n\n for (let j = 0; j < changesets.length; j++) {\n key = currentRequests[j] ? currentRequests[j].request.key : null;\n const changeset = changesets[j];\n const response = changeset.response;\n const responseResult = this.getResponseResult(response, key);\n finalResult.push(responseResult);\n }\n } else {\n key = currentRequest ? (currentRequest.request as any).key : null;\n const response = singleResponse.response;\n finalResult = this.getResponseResult(response, key);\n }\n\n const statusCodeCheck = function (r) {\n return r.statusCode >= 400;\n };\n\n const responseCheck = function (r) {\n let success = true;\n if (r.data && r.data.hasOwnProperty(\"Success\")) {\n success = r.data.Success;\n }\n\n return success;\n };\n\n const isSuccessful = Array.isArray(finalResult) ?\n finalResult.filter(statusCodeCheck).length === 0 && finalResult.filter(responseCheck).length === finalResult.length :\n !statusCodeCheck(finalResult) && responseCheck(finalResult);\n\n responseParsed.push({ isSuccessful: isSuccessful, response: finalResult });\n }\n catch (e) {\n // TODO: why continue ?\n continue;\n }\n }\n\n const isSuccessfulCheck = (r) => {\n return !r.isSuccessful;\n };\n\n const batchIsSuccessful = responseParsed.filter(isSuccessfulCheck).length === 0;\n return { data: responseParsed, isSuccessful: batchIsSuccessful };\n }\n\n private parseBatchResponse(text, context) {\n // get boundary from response\n const delimiter = \"--\" + this.currentBoundary(context);\n this.readTo(text, delimiter, context);\n this.readLine(text, context);\n\n const responses = [];\n let partEnd;\n while (partEnd !== \"--\" && context.position < text.length) {\n const partHeaders = this.readHeaders(text, context);\n const partContentType = this.contentType(partHeaders[\"content-type\"]);\n let changeResponses;\n if (partContentType && partContentType.mediaType === \"multipart/mixed\") {\n context.boundaries.push((partContentType.properties as any).boundary);\n\n try {\n changeResponses = this.parseBatchResponse(text, context);\n } catch (e) {\n e.response = this.readResponse(text, context, delimiter);\n changeResponses = [e];\n }\n responses.push({ __changeResponses: changeResponses });\n context.boundaries.pop();\n this.readTo(text, \"--\" + this.currentBoundary(context), context);\n } else {\n if (!partContentType || partContentType.mediaType !== \"application/http\") {\n throw { message: \"invalid MIME part type \" };\n }\n // Skip empty line\n this.readLine(text, context);\n\n // Read the response\n let response: any = this.readResponse(text, context, delimiter);\n\n try {\n if (response.statusCode >= 200 && response.statusCode <= 299) {\n response = { message: response.statusCode + \" Http request is OK\", response: response };\n } else {\n // Keep track of failed responses and continue processing the batch.\n response = { message: \"HTTP request failed\", response: response };\n }\n } catch (e) {\n response = e;\n }\n\n responses.push(response);\n }\n\n partEnd = text.substr(context.position, 2);\n\n // Ignore the incoming line.\n this.readLine(text, context);\n }\n\n return responses;\n }\n\n private getResponseResult(response, key) {\n const responseBody = response.body;\n const data = utils.parseStringToJson(responseBody);\n\n return {\n key: key,\n data: data,\n statusCode: response.statusCode,\n headers: response.headers\n };\n }\n\n private currentBoundary(context) {\n const boundaries = context.boundaries;\n return boundaries[boundaries.length - 1];\n }\n\n private contentType(str) {\n\n if (!str) {\n return null;\n }\n\n const contentTypeParts = str.split(\";\");\n const properties = {};\n\n let i, len;\n for (i = 1, len = contentTypeParts.length; i < len; i++) {\n const contentTypeParams = contentTypeParts[i].split(\"=\");\n properties[contentTypeParams[0].replace(/^\\s+|\\s+$/g, \"\")] = contentTypeParams[1];\n }\n\n return { mediaType: contentTypeParts[0].replace(/^\\s+|\\s+$/g, \"\"), properties: properties };\n }\n\n private readTo(text, str, context) {\n const start = context.position || 0;\n let end = text.length;\n if (str) {\n end = text.indexOf(str, start);\n if (end === -1) {\n return null;\n }\n context.position = end + str.length;\n } else {\n context.position = end;\n }\n\n return text.substring(start, end);\n }\n\n private readLine(text, context) {\n return this.readTo(text, BatchRequest.constants.newLine, context);\n }\n\n private readHeaders(text, context) {\n const headers = {};\n let parts;\n let line;\n let pos;\n\n do {\n pos = context.position;\n line = this.readLine(text, context);\n parts = this.responseHeaderRegex.exec(line);\n if (parts !== null) {\n headers[parts[1].toLowerCase()] = parts[2];\n } else {\n // Whatever was found is not a header, so reset the context position.\n context.position = pos;\n }\n } while (line && parts);\n\n return headers;\n }\n\n private readResponse(text, context, delimiter) {\n // Read the status line.\n const pos = context.position;\n const match = this.responseStatusRegex.exec(this.readLine(text, context));\n\n let statusCode;\n let statusText;\n let headers;\n\n if (match) {\n statusCode = match[1];\n statusText = match[2];\n headers = this.readHeaders(text, context);\n this.readLine(text, context);\n } else {\n context.position = pos;\n }\n\n return {\n statusCode: statusCode,\n statusText: statusText,\n headers: headers,\n body: this.readTo(text, BatchRequest.constants.newLine + delimiter, context)\n };\n }\n\n private buildRequestBody() {\n const builder = new BlobBuilder();\n builder.append(\"\");\n\n for (let index = 0; index < this.requests.length; index += 1) {\n\n const request = this.requests[index].request;\n if (index != 0)\n builder.append(BatchRequest.constants.newLine + BatchRequest.constants.newLine);\n\n builder.append(\"--\" + this.boundary);\n\n if (request instanceof Transaction) {\n builder.append(this.buildTransaction(request));\n }\n else {\n builder.append(this.buildRequest(request));\n }\n }\n\n builder.append(this.createDelimeter(this.boundary, true));\n return builder.build();\n }\n\n private buildRequest(request: RequestBase): Blob {\n const builder = new BlobBuilder();\n builder.append(BatchRequest.constants.newLine + \"Content-Type: application/http\" +\n BatchRequest.constants.newLine + \"Content-Transfer-Encoding: binary\" +\n BatchRequest.constants.newLine +\n BatchRequest.constants.newLine +\n request.getMethod() +\n \" \" + request.buildUrl() + \" HTTP/1.1\");\n\n return builder.build();\n }\n\n private buildTransaction(transaction: Transaction) {\n if (transaction.requests.length == 0)\n return;\n\n const builder = new BlobBuilder();\n builder.append(BatchRequest.constants.newLine);\n\n const changeset = this.createBoundary(\"sf_changeset_\");\n builder.append(\"Content-Type: multipart/mixed; boundary=\" + changeset);\n\n const changesetRequests = transaction.requests;\n for (let index = 0; index < changesetRequests.length; index += 1) {\n const currentRequest = changesetRequests[index].request;\n\n // we shouldn't add new lines after blob content. Otherwise they are added to the blob and corrupt it\n const shouldAddNewLine = index === 0 || !utils.isBlob(changesetRequests[index - 1].request.getBody());\n builder.append(this.createDelimeter(changeset, false, shouldAddNewLine) +\n BatchRequest.constants.newLine + \"Content-Type: application/http\" +\n BatchRequest.constants.newLine + \"Content-Transfer-Encoding: binary\" +\n BatchRequest.constants.newLine + \"Content-ID: \" + changesetRequests[index].id);\n\n const requestUrl = currentRequest.buildUrl();\n builder.append(BatchRequest.constants.newLine + BatchRequest.constants.newLine + currentRequest.getMethod() + \" \" + requestUrl + \" HTTP/1.1\");\n\n const headers = currentRequest.getHeaders();\n const headerNames = Object.keys(headers);\n for (let i = 0; i < headerNames.length; i++) {\n const headerName = headerNames[i];\n builder.append(BatchRequest.constants.newLine + headerName + \": \" + headers[headerName]);\n }\n\n const body = utils.serializeToJSON(currentRequest.getBody());\n if (body) {\n builder.append(BatchRequest.constants.newLine + BatchRequest.constants.newLine);\n builder.append(body);\n }\n }\n\n builder.append(this.createDelimeter(changeset, true));\n\n return builder.build();\n }\n\n private createDelimeter(boundary, close, shouldAddNewLine = true) {\n let result = \"\";\n if (shouldAddNewLine) {\n result = BatchRequest.constants.newLine + BatchRequest.constants.newLine;\n }\n\n result += \"--\" + boundary;\n if (close) {\n result += \"--\";\n result += BatchRequest.constants.newLine;\n }\n return result;\n }\n\n private createBoundary(prefix) {\n return prefix + utils.hex16() + \"-\" + utils.hex16() + \"-\" + utils.hex16();\n }\n\n private addRequest(request: RequestBase) {\n this.requests.push({ id: this.counter, request: request });\n return this.counter++;\n }\n\n private urlParametersClone(entitySet: string): TypeOptions {\n const options = utils.clone(this.urlOptions);\n options.entitySet = entitySet;\n\n return options;\n }\n}\n\ninterface TransactionRequest {\n id: number,\n request: RequestBase;\n}\n\ninterface BatchInnerRequest {\n id: number,\n request: RequestBase | Transaction;\n}\n\nexport interface BatchRequestOptionsExtended extends RequestOptionsBaseExtended {\n factory: RequestFactory;\n}\n\nexport interface BatchRequestOptionsBase extends RequestOptionsBase {\n entitySet: string;\n}\n\nexport interface BatchCreateRequestOptions extends CreateRequestOptions {\n entitySet: string;\n}\n\nexport interface BatchUpdateRequestOptions extends UpdateRequestOptions {\n entitySet: string;\n}\n\nexport interface BatchSingleItemRequestOptions extends RequestOptionsBase {\n entitySet: string;\n}\n\nexport interface BatchPropertyRequestOptions extends PropertyRequestOptions {\n entitySet: string;\n}\n\nexport interface BatchSingleRelatedItemRequestOptions extends SingleRelatedItemRequestOptions {\n entitySet: string;\n}\n\nexport interface BatchCreateRelatedRequestOptions extends CreateRelatedRequestOptions {\n entitySet: string;\n}\n","import { RequestBase, RequestOptionsBaseExtended } from \"./RequestBase\";\nimport { utils } from \"../utils\";\nimport { HEADER_NAMES } from \"../constants\";\nimport { SDKOptions, Token } from \"../Sitefinity\";\n\nconst XMLHttpRequestDone = 4;\n\nexport class ExecutableRequest extends RequestBase {\n protected http: XMLHttpRequest;\n\n private token: Token;\n private enableUnlimitedChoices: boolean;\n private integrationMode: boolean;\n\n constructor(requestOptions: RequestOptionsBaseExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions);\n this.token = token;\n this.successCb = this.successCb || sdkOptions.handlers?.successCb;\n this.failureCb = this.failureCb || sdkOptions.handlers?.failureCb;\n this.enableUnlimitedChoices = sdkOptions.enableUnlimitedChoices;\n this.integrationMode = sdkOptions.integrationMode;\n }\n\n execute() {\n this.http = new XMLHttpRequest();\n\n this.http.onreadystatechange = () => {\n if (this.http.readyState === XMLHttpRequestDone) {\n if (this.http.status > 0) {\n let data = this.parseResponse(this.http);\n\n if (this.http.status >= 200 && this.http.status <= 206) {\n if (this.successCb && utils.isFunction(this.successCb)) {\n this.successCb(data);\n }\n }\n else if (this.http.status >= 400) {\n // When the data is string, we save the string as message\n // and convert the data to normal object with message property\n if (utils.isString(data)) {\n data = {\n message: data\n };\n }\n\n data.status = this.http.status;\n\n // in case of errors we would like there to be one handler for all of the errors\n if (this.failureCb && utils.isFunction(this.failureCb)) {\n this.failureCb(data);\n }\n }\n }\n }\n };\n\n\n this.executeProgressEvent();\n\n const method = this.getMethod();\n const url = this.buildUrl();\n this.http.open(method, url, true);\n this.setHeaders(this.http, this.getHeaders());\n\n this.http.send(utils.serializeToJSON(this.getBody()));\n }\n\n protected executeProgressEvent() {\n if (this.http.upload) {\n this.http.upload.onprogress = (event) => {\n if (this.progressCb && utils.isFunction(this.progressCb)) {\n this.progressCb(event);\n }\n };\n }\n }\n\n private setHeaders(http: XMLHttpRequest, headers: { [key: string]: string }) {\n const headerKeys = Object.keys(headers);\n for (let i = 0; i < headerKeys.length; i++) {\n const currentHeaderName = headerKeys[i];\n http.setRequestHeader(currentHeaderName, headers[currentHeaderName]);\n }\n\n if (this.token) {\n if (typeof this.token === \"string\") {\n // for backward compatibility\n http.setRequestHeader(HEADER_NAMES.authorization, this.token);\n } else {\n http.setRequestHeader(HEADER_NAMES.authorization, this.token.type + \" \" + this.token.value);\n }\n }\n\n if (this.enableUnlimitedChoices) {\n http.setRequestHeader(HEADER_NAMES.choicesBinaryRepresentation, \"true\");\n }\n\n if (this.integrationMode) {\n http.setRequestHeader(HEADER_NAMES.integrationMode, \"true\");\n }\n\n // for backward compatibility\n http.setRequestHeader(HEADER_NAMES.serviceRequest, \"true\");\n }\n}\n\nexport interface ResponseHandlers {\n /**\n * The success handler.\n */\n successCb?: Function;\n\n /**\n * The failure handler.\n */\n failureCb?: Function;\n}\n","import { HEADER_NAMES, HTTP_METHODS } from \"../constants\";\nimport { SDKOptions, Token } from \"../Sitefinity\";\nimport { utils } from \"../utils\";\nimport { ExecutableRequest } from \"./ExecutableRequest\";\nimport { RequestOptionsBaseExtended } from \"./RequestBase\";\n\nexport class GetRequest extends ExecutableRequest {\n constructor(requestOptions: RequestOptionsBaseExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions, token, sdkOptions);\n }\n\n getMethod(): string {\n return HTTP_METHODS.get;\n }\n}\n\nexport class GetByIdRequest extends ExecutableRequest {\n constructor(requestOptions: RequestOptionsBaseExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions, token, sdkOptions);\n }\n\n getMethod(): string {\n return HTTP_METHODS.get;\n }\n}\n\nexport class DeleteRequest extends ExecutableRequest {\n constructor(requestOptions: RequestOptionsBaseExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions, token, sdkOptions);\n }\n\n getMethod(): string {\n return HTTP_METHODS.delete;\n }\n}\n\nexport class UpdateRequest extends ExecutableRequest {\n private data: object;\n private saveTemp: boolean;\n\n constructor(requestOptions: PutRequestOptionsExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions, token, sdkOptions);\n this.data = requestOptions.data;\n this.saveTemp = requestOptions.saveTemp;\n }\n\n getMethod(): string {\n return HTTP_METHODS.patch;\n }\n\n getBody(): object {\n const body = utils.convertDateFieldToISOString(this.data);\n return body;\n }\n\n getHeaders(): { [key: string]: string } {\n const headers = super.getHeaders();\n if (this.saveTemp) {\n headers[HEADER_NAMES.operation] = \"SaveTemp\";\n }\n\n return headers;\n }\n}\n\nexport class CreateRequest extends ExecutableRequest {\n protected data: object;\n\n constructor(requestOptions: PostRequestOptionsExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions, token, sdkOptions);\n this.data = requestOptions.data;\n }\n\n getMethod(): string {\n return HTTP_METHODS.post;\n }\n\n getBody(): object {\n const body = utils.convertDateFieldToISOString(this.data);\n return body;\n }\n}\n\nexport class GetRelatedRequest extends GetByIdRequest {\n private property: string;\n\n constructor(requestOptions: RelatedRequestOptionsExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions, token, sdkOptions);\n this.property = requestOptions.property;\n }\n\n buildUrl(): string {\n const url = this.urlOptions.baseUrl + this.urlOptions.entitySet + \"(\" + this.key + \")/\" + this.property;\n return this.addQueryParameters(url);\n }\n}\n\nexport class GetRelatedByIdRequest extends GetByIdRequest {\n private property: string;\n private relatedId: string;\n\n constructor(requestOptions: RelatedByIdRequestOptionsExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions, token, sdkOptions);\n this.property = requestOptions.property;\n this.relatedId = requestOptions.relatedId;\n }\n\n buildUrl(): string {\n const url = this.urlOptions.baseUrl + this.urlOptions.entitySet + \"(\" + this.key + \")/\" + this.property + \"(\" + this.relatedId + \")\";\n return this.addQueryParameters(url);\n }\n}\n\nexport class DeleteRelatedRequest extends DeleteRequest {\n private property: string;\n\n constructor(requestOptions: RelatedRequestOptionsExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions, token, sdkOptions);\n this.property = requestOptions.property;\n }\n\n buildUrl(): string {\n const url = this.urlOptions.baseUrl + this.urlOptions.entitySet + \"(\" + this.key + \")/\" + this.property + \"/$ref\";\n return this.addQueryParameters(url);\n }\n}\n\nexport class DeleteRelatedByIdRequest extends DeleteRequest {\n private property: string;\n private relatedId: string;\n\n constructor(requestOptions: RelatedByIdRequestOptionsExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions, token, sdkOptions);\n this.property = requestOptions.property;\n this.relatedId = requestOptions.relatedId;\n }\n\n buildUrl(): string {\n const url = this.urlOptions.baseUrl + this.urlOptions.entitySet + \"(\" + this.key + \")/\" + this.property + \"(\" + this.relatedId + \")/$ref\";\n return this.addQueryParameters(url);\n }\n}\n\nexport class CreateRelatedRequest extends CreateRequest {\n private property: string;\n\n constructor(requestOptions: RelatedRequestOptionsExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions, token, sdkOptions);\n this.property = requestOptions.property;\n this.key = requestOptions.key;\n }\n\n buildUrl(): string {\n const url = this.urlOptions.baseUrl + this.urlOptions.entitySet + \"(\" + this.key + \")/\" + this.property + \"/$ref\";\n return this.addQueryParameters(url);\n }\n}\n\nexport class UploadRequest extends CreateRequest {\n private fileName: string;\n private uploadProperties: { [key: string]: string };\n private contentType: string;\n\n constructor(requestOptions: UploadRequestOptionsExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions, token, sdkOptions);\n this.fileName = requestOptions.fileName;\n this.uploadProperties = requestOptions.uploadProperties;\n this.contentType = requestOptions.contentType;\n }\n\n getHeaders(): { [key: string]: string } {\n const headers = super.getHeaders();\n headers[HEADER_NAMES.contentType] = this.contentType || \"application/octet-stream\";\n headers[HEADER_NAMES.fileName] = this.fileName;\n headers[HEADER_NAMES.properties] = JSON.stringify(this.uploadProperties);\n headers[HEADER_NAMES.contentEncoding] = \"identity\";\n return headers;\n }\n\n getBody(): object {\n return this.data;\n }\n\n getMethod(): string {\n if (this.key) {\n return HTTP_METHODS.patch;\n }\n\n return HTTP_METHODS.post;\n }\n}\n\nexport class UploadChunkRequest extends CreateRequest {\n contentType: string;\n chunkOrdinal: number;\n chunkSize: number;\n chunkedFileUploadSessionId: string;\n numberOfChunks: number;\n positionInQueue: number;\n blobStorageProviderName: string;\n\n constructor(requestOptions: UploadChunkRequestOptionsExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions, token, sdkOptions);\n this.contentType = requestOptions.fileMimeType;\n this.chunkOrdinal = requestOptions.chunkOrdinal;\n this.chunkedFileUploadSessionId = requestOptions.chunkedFileUploadSessionId;\n this.chunkSize = requestOptions.chunkSize;\n this.numberOfChunks = requestOptions.numberOfChunks;\n this.positionInQueue = requestOptions.positionOfChunkInQueue;\n this.blobStorageProviderName = requestOptions.blobStorageProviderName;\n this.data = requestOptions.chunkBlob;\n }\n\n getHeaders(): { [key: string]: string } {\n const headers = super.getHeaders();\n headers[HEADER_NAMES.contentEncoding] = \"identity\";\n headers[HEADER_NAMES.contentType] = this.contentType || \"application/octet-stream\";\n headers[HEADER_NAMES.chunkOrdinal] = this.chunkOrdinal.toString();\n headers[HEADER_NAMES.chunkedFileUploadSessionId] = this.chunkedFileUploadSessionId;\n headers[HEADER_NAMES.chunkSize] = this.chunkSize.toString();\n headers[HEADER_NAMES.blobStorageProviderName] = this.blobStorageProviderName.toString();\n\n return headers;\n }\n\n getBody(): object {\n return this.data;\n }\n\n getMethod(): string {\n return HTTP_METHODS.post;\n }\n\n protected override executeProgressEvent(): void {\n if (this.http.upload) {\n this.http.upload.onprogress = () => {\n const payload = {\n lengthComputable: true,\n loaded: this.positionInQueue,\n total: this.numberOfChunks\n };\n\n if (this.progressCb && utils.isFunction(this.progressCb)) {\n this.progressCb(payload);\n }\n };\n }\n }\n}\n\nexport class CommitChunksRequest extends CreateRequest {\n constructor(requestOptions: CommitChunksRequestOptionsExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions, token, sdkOptions);\n\n this.action = \"Default.CommitChunks\";\n\n this.data = {\n // ! this must be the param name that the operation provider on the server accepts\n commitChunksDto: {\n chunkedFileUploadSessionId: requestOptions.chunkedFileUploadSessionId,\n contentType: requestOptions.contentType,\n fileTotalSize: requestOptions.fileTotalSize,\n numberOfChunks: requestOptions.numberOfChunks,\n fileName: requestOptions.fileName,\n blobStorageProviderName: requestOptions.blobStorageProviderName,\n itemId: requestOptions.itemId || null,\n // ! must be named properties\n properties: requestOptions.uploadProperties\n }\n };\n }\n\n getMethod(): string {\n return HTTP_METHODS.post;\n }\n}\n\nexport interface PostRequestOptionsExtended extends RequestOptionsBaseExtended {\n data?: object;\n}\n\nexport interface PutRequestOptionsExtended extends PostRequestOptionsExtended {\n saveTemp: boolean;\n}\n\nexport interface RelatedRequestOptionsExtended extends PostRequestOptionsExtended {\n property: string;\n}\n\nexport interface RelatedByIdRequestOptionsExtended extends RelatedRequestOptionsExtended {\n relatedId: string;\n}\n\nexport interface UploadRequestOptionsExtended extends PostRequestOptionsExtended {\n fileName: string;\n contentType: string;\n uploadProperties: { [key: string]: string };\n}\n\nexport interface UploadChunkRequestOptionsExtended extends PostRequestOptionsExtended {\n fileMimeType: string;\n chunkedFileUploadSessionId: string;\n chunkSize: number;\n chunkOrdinal: number;\n numberOfChunks: number;\n chunkBlob: Blob;\n blobStorageProviderName: string;\n positionOfChunkInQueue?: number;\n}\n\nexport interface CommitChunksRequestOptionsExtended extends PostRequestOptionsExtended {\n chunkedFileUploadSessionId: string\n blobStorageProviderName: string;\n contentType: string;\n fileTotalSize: number;\n numberOfChunks: number;\n fileName: string;\n uploadProperties: { [key: string]: string };\n itemId?: string;\n}\n","import { CONTENT_TYPES, HEADER_NAMES, ODATA_PARAMS, SF_PARAMS } from \"../constants\";\nimport { RequestOptionsBase } from \"../Data\";\nimport { Query } from \"../Query\";\nimport { TypeOptions } from \"../Sitefinity\";\nimport { utils } from \"../utils\";\n\nexport class RequestBase {\n public successCb: Function;\n public failureCb: Function;\n public progressCb: Function;\n public key: string | number;\n public urlOptions: TypeOptions;\n protected query: Query;\n protected action: string;\n private fallbackProperties: string[];\n\n constructor(options: RequestOptionsBaseExtended) {\n this.successCb = options.successCb;\n this.failureCb = options.failureCb;\n this.progressCb = options.progressCb;\n this.urlOptions = options.urlOptions;\n this.key = options.key;\n this.action = options.action;\n this.fallbackProperties = options.fallbackProperties;\n this.query = options.query;\n }\n\n getQueryString(urlOptions: TypeOptions, query: Query): string {\n const paramDictionary: { [key: string]: string } = {};\n\n this.getQueryParameters(paramDictionary, urlOptions, query);\n const keys = Object.keys(paramDictionary);\n if (keys.length == 0)\n return null;\n\n let queryString = \"?\";\n for (const prop in paramDictionary) {\n queryString += prop + \"=\" + paramDictionary[prop] + \"&\";\n }\n\n queryString = queryString.substring(0, queryString.length - 1);\n\n return queryString;\n }\n\n getBody(): object {\n return undefined;\n }\n\n getMethod(): string {\n return null;\n }\n\n getHeaders(): { [key: string]: string } {\n const headers = {};\n headers[HEADER_NAMES.contentType] = CONTENT_TYPES.json;\n return headers;\n }\n\n buildUrl(): string {\n let url = this.urlOptions.baseUrl + (this.urlOptions.entitySet || \"\");\n url += this.key ? (\"(\" + this.key + \")\") : \"\";\n if (this.action) {\n url += url.endsWith(\"/\") ? \"\" : \"/\";\n url += this.action;\n }\n\n // including count here\n // not the best solution as build() is called once more in getQueryString\n // but not that big of an issue right now\n if (this.query) {\n const getCount = this.query.build().$count;\n\n if (utils.isBoolean(getCount) && !getCount) {\n url += \"/$count\";\n }\n }\n\n return this.addQueryParameters(url);\n }\n\n protected parseResponse(http: XMLHttpRequest): string | any {\n const data = utils.parseStringToJson(http.responseText);\n if (data) {\n if (http.status >= 400 && data.error) {\n return data.error;\n }\n\n return data;\n }\n\n return http.responseText;\n }\n\n protected addQueryParameters(url: string): string {\n let queryString = this.getQueryString(this.urlOptions, this.query);\n\n if (queryString) {\n if (url.indexOf(\"?\") > -1 && queryString[0] == \"?\") {\n queryString = \"&\" + queryString.substring(1);\n }\n\n url += queryString;\n }\n\n return url;\n }\n\n private getQueryParameters(paramDictionary: { [key: string]: string }, urlOptions: TypeOptions, query: Query) {\n if (query) {\n const builtQuery = query.build();\n if (utils.isString(builtQuery.$filter))\n paramDictionary[ODATA_PARAMS.$filter] = builtQuery.$filter;\n if (utils.isString(builtQuery.$select))\n paramDictionary[ODATA_PARAMS.$select] = builtQuery.$select;\n if (utils.isString(builtQuery.$expand))\n paramDictionary[ODATA_PARAMS.$expand] = builtQuery.$expand;\n if (utils.isString(builtQuery.$orderby))\n paramDictionary[ODATA_PARAMS.$orderby] = builtQuery.$orderby;\n if (utils.isNumber(builtQuery.$skip))\n paramDictionary[ODATA_PARAMS.$skip] = builtQuery.$skip;\n if (utils.isNumber(builtQuery.$top))\n paramDictionary[ODATA_PARAMS.$top] = builtQuery.$top;\n if (utils.isString(builtQuery.$search))\n paramDictionary[ODATA_PARAMS.$search] = builtQuery.$search;\n\n // inline count\n if (utils.isBoolean(builtQuery.$count) && builtQuery.$count)\n paramDictionary[ODATA_PARAMS.$count] = builtQuery.$count;\n }\n\n if (urlOptions.provider) {\n paramDictionary[SF_PARAMS.provider] = urlOptions.provider;\n }\n\n if (urlOptions.culture) {\n paramDictionary[SF_PARAMS.culture] = urlOptions.culture;\n }\n\n if (urlOptions.siteId) {\n paramDictionary[SF_PARAMS.siteId] = urlOptions.siteId;\n }\n\n if (this.fallbackProperties) {\n paramDictionary[SF_PARAMS.fallbackParams] = this.fallbackProperties.join();\n }\n\n if (urlOptions.additionalQueryParams) {\n for (const key in urlOptions.additionalQueryParams) {\n if (urlOptions.additionalQueryParams.hasOwnProperty(key)) {\n paramDictionary[key] = urlOptions.additionalQueryParams[key];\n }\n }\n }\n }\n}\n\nexport interface RequestOptionsBaseExtended extends RequestOptionsBase {\n urlOptions: TypeOptions;\n}\n","import { GetRequest, GetByIdRequest, CreateRequest, UpdateRequest, DeleteRequest, GetRelatedRequest, GetRelatedByIdRequest, DeleteRelatedRequest, DeleteRelatedByIdRequest, CreateRelatedRequest, UploadRequest, PostRequestOptionsExtended, PutRequestOptionsExtended, RelatedRequestOptionsExtended, RelatedByIdRequestOptionsExtended, UploadRequestOptionsExtended, UploadChunkRequest, CommitChunksRequest, CommitChunksRequestOptionsExtended, UploadChunkRequestOptionsExtended } from \"./Request\";\nimport { SDKOptions, Token } from \"../Sitefinity\";\nimport { BatchRequest, BatchRequestOptionsExtended } from \"./BatchRequest\";\nimport { RequestOptionsBaseExtended } from \"./RequestBase\";\n\nexport class RequestFactory {\n public token: Token;\n private options: SDKOptions;\n\n constructor(options: SDKOptions) {\n this.options = options;\n }\n\n get(parameters: RequestOptionsBaseExtended) {\n return new GetRequest(parameters, this.token, this.options);\n }\n\n getSingle(parameters: RequestOptionsBaseExtended) {\n return new GetByIdRequest(parameters, this.token, this.options);\n }\n\n create(parameters: PostRequestOptionsExtended) {\n return new CreateRequest(parameters, this.token, this.options);\n }\n\n update(parameters: PutRequestOptionsExtended) {\n return new UpdateRequest(parameters, this.token, this.options);\n }\n\n destroy(parameters: RequestOptionsBaseExtended) {\n return new DeleteRequest(parameters, this.token, this.options);\n }\n\n getProperty(parameters: RelatedRequestOptionsExtended) {\n return new GetRelatedRequest(parameters, this.token, this.options);\n }\n\n getRelated(parameters: RelatedRequestOptionsExtended) {\n return new GetRelatedRequest(parameters, this.token, this.options);\n }\n\n getRelatedById(parameters: RelatedByIdRequestOptionsExtended) {\n return new GetRelatedByIdRequest(parameters, this.token, this.options);\n }\n\n destroyRelated(parameters: RelatedRequestOptionsExtended) {\n return new DeleteRelatedRequest(parameters, this.token, this.options);\n }\n\n destroyRelatedById(parameters: RelatedByIdRequestOptionsExtended) {\n return new DeleteRelatedByIdRequest(parameters, this.token, this.options);\n }\n\n createRelated(parameters: RelatedRequestOptionsExtended) {\n return new CreateRelatedRequest(parameters, this.token, this.options);\n }\n\n upload(parameters: UploadRequestOptionsExtended) {\n return new UploadRequest(parameters, this.token, this.options);\n }\n\n uploadChunk(parameters: UploadChunkRequestOptionsExtended) {\n return new UploadChunkRequest(parameters, this.token, this.options);\n }\n\n commitChunks(parameters: CommitChunksRequestOptionsExtended) {\n return new CommitChunksRequest(parameters, this.token, this.options);\n }\n\n batch(parameters: RequestOptionsBaseExtended) {\n const batchParams = parameters as BatchRequestOptionsExtended;\n batchParams.factory = this;\n return new BatchRequest(batchParams, this.token, this.options);\n }\n}\n","import { RequestFactory } from \"./Requests/RequestFactory\";\nimport { Data } from \"./Data\";\nimport { Query } from \"./Query\";\nimport { utils } from \"./utils\";\nimport { ResponseHandlers } from \"./Requests/ExecutableRequest\";\nimport { BatchRequest } from \"./Requests/BatchRequest\";\n\nexport class Sitefinity {\n public static Query: typeof Query = Query;\n\n private factory: RequestFactory;\n private baseUrl: string;\n private siteId: string;\n\n /**\n * The constructor of the Sitefinity JavaScript SDK. This is the entry point for the SDK.\n */\n constructor(options: SDKOptions) {\n this.baseUrl = options.baseUrl;\n this.siteId = options.siteId;\n this.factory = new RequestFactory(options);\n }\n\n data(options: TypeOptions): Data {\n const urlOptions: TypeOptions = {\n baseUrl: utils.addTrailingSlash(options.baseUrl || this.baseUrl),\n provider: options.provider,\n culture: options.culture,\n siteId: options.siteId || this.siteId,\n additionalQueryParams: options.additionalQueryParams,\n entitySet: options.entitySet\n };\n\n return new Data(urlOptions, this.factory);\n }\n\n batch(success?: Function, failure?: Function, progress?: Function, options?: TypeOptions): BatchRequest {\n if (!options)\n options = {};\n\n const batch = this.factory.batch({\n successCb: success,\n failureCb: failure,\n progressCb: progress,\n urlOptions: {\n baseUrl: utils.addTrailingSlash(options.baseUrl || this.baseUrl),\n provider: options.provider,\n culture: options.culture,\n siteId: options.siteId || this.siteId,\n additionalQueryParams: options.additionalQueryParams\n }\n });\n\n return batch;\n }\n\n /**\n * Sets the authentication token.\n */\n setToken(token: Token) {\n this.factory.token = token;\n }\n}\n\ninterface OptionsBase {\n /**\n * Your service url that points to the configured instance of Sitefinity service.\n */\n baseUrl?: string;\n\n /**\n * The ID of the site, for which the queries will be executed.\n */\n siteId?: string;\n}\n\n/**\n* Defines an object containing configuration options for the SDK object.\n*/\nexport interface SDKOptions extends OptionsBase {\n /**\n * The global handlers for request execution\n */\n handlers?: ResponseHandlers;\n\n enableUnlimitedChoices?: boolean;\n integrationMode?: boolean;\n}\n\n/**\n* Defines an object containing configuration options related to a specific type.\n*/\nexport interface TypeOptions extends OptionsBase {\n /**\n * The URL name of the type.\n */\n entitySet?: string;\n\n /**\n * The name of the provider. If empty the default provider for the site will be used.\n */\n provider?: string;\n\n /**\n * The name of the culture. If empty the default culture for the site will be used.\n */\n culture?: string;\n additionalQueryParams?: { [key: string]: string };\n}\n\nexport interface Token {\n type: string;\n value: string;\n}\n","import { ComplexExpression, BinaryExpression } from \"./Expression\";\nimport { EXPRESSION_TYPE } from \"./constants\";\n\n/**\n * A fluent API operation for creating a filter for a query by chaining different rules.\n */\nexport class WhereQuery<QueryType> {\n private expression: ComplexExpression;\n\n constructor(private parent: QueryType, type: string = EXPRESSION_TYPE.and) {\n this.expression = new ComplexExpression(type, []);\n }\n\n /**\n * Adds an `and` clause to the current condition and returns it for further chaining.\n */\n and(): WhereQuery<WhereQuery<QueryType>> {\n return new WhereQuery(this, EXPRESSION_TYPE.and);\n }\n\n /**\n * Adds an `or` clause to the current condition and returns it for further chaining.\n */\n or(): WhereQuery<WhereQuery<QueryType>> {\n return new WhereQuery(this, EXPRESSION_TYPE.or);\n }\n\n /**\n * Adds an `any` clause to the current condition and returns it for further chaining.\n */\n any(): WhereQuery<WhereQuery<QueryType>> {\n return new WhereQuery(this, EXPRESSION_TYPE.any);\n }\n\n /**\n * Adds a `not` clause to the current condition and returns it for further chaining.\n */\n not(): WhereQuery<WhereQuery<QueryType>> {\n return new WhereQuery(this, EXPRESSION_TYPE.not);\n }\n\n /**\n * Adds a condition that a field must be equal to a specific value.\n */\n eq(parameter: string, constant: any): WhereQuery<QueryType> {\n return this.simple(EXPRESSION_TYPE.eq, parameter, constant);\n }\n\n /**\n * Adds a condition that a field must *not* be equal to a specific value.\n */\n ne(parameter: string, constant: any): WhereQuery<QueryType> {\n return this.simple(EXPRESSION_TYPE.ne, parameter, constant);\n }\n\n /**\n * Adds a condition that a field must be `greater than` a certain value. Applicable to Number, String, and Date fields.\n */\n gt(parameter: string, constant: any) {\n return this.simple(EXPRESSION_TYPE.gt, parameter, constant);\n }\n\n /**\n * Adds a condition that a field must be `greater than or equal` to a certain value. Applicable to Number, String, and Date fields.\n */\n gte(parameter: string, constant: any) {\n return this.simple(EXPRESSION_TYPE.ge, parameter, constant);\n }\n\n /**\n * Adds a condition that a field must be `less than` a certain value. Applicable to Number, String, and Date fields.\n */\n lt(parameter: string, constant: any) {\n return this.simple(EXPRESSION_TYPE.lt, parameter, constant);\n }\n\n /**\n * Adds a condition that a field must be `less than or equal` to a certain value. Applicable to Number, String, and Date fields.\n */\n lte(parameter: string, constant: any) {\n return this.simple(EXPRESSION_TYPE.le, parameter, constant);\n }\n\n /**\n * Adds a condition that a field value must *start* with a specified string.\n */\n startsWith(parameter: string, constant: any, caseSensitive = true) {\n return this.simple(EXPRESSION_TYPE.startsWith, parameter, constant, caseSensitive);\n }\n\n /**\n * Adds a condition that a field value must *contain* a specified string.\n */\n contains(parameter: string, constant: any, caseSensitive = true) {\n return this.simple(EXPRESSION_TYPE.contains, parameter, constant, caseSensitive);\n }\n\n /**\n * Adds a condition that a field value must *end* with a specified string.\n */\n endsWith(parameter: string, constant: any, caseSensitive = true) {\n return this.simple(EXPRESSION_TYPE.endsWith, parameter, constant, caseSensitive);\n }\n\n /**\n * Ends the definition of the current WhereQuery. You need to call this method in order to continue with the definition of the parent {@link Query}. All other `WhereQuery` methods return the current instance of `WhereQuery` to allow chaining.\n */\n done(): QueryType {\n if (this.parent instanceof WhereQuery) {\n this.parent.addComplexExpression(this);\n // TODO: If has and() || or() must call done() twice\n if (this.expression.getType() === EXPRESSION_TYPE.not)\n return this.parent;\n }\n\n return this.parent;\n }\n\n getExpression(): ComplexExpression {\n return this.expression;\n }\n\n private simple(type: string, parameter: string, constant: any, caseSensitive = true): WhereQuery<QueryType> {\n const currentExpr = new BinaryExpression(type, parameter, constant, caseSensitive);\n const subExpressions = this.expression.getExpressions();\n subExpressions.push(currentExpr);\n\n if (this.expression.getType() === EXPRESSION_TYPE.not && subExpressions.length > 1)\n throw new Error(\"Invalid operators count!\");\n\n return this;\n }\n\n private addComplexExpression(subQuery: WhereQuery<QueryType>): void {\n const subExpression = subQuery.getExpression();\n this.expression.getExpressions().push(subExpression);\n }\n}\n","import { CreateRequestOptions } from \"../Data\";\nimport { CommitChunksRequestOptionsExtended } from \"../Requests/Request\";\nimport { RequestOptionsBaseExtended } from \"../Requests/RequestBase\";\nimport { RequestFactory } from \"../Requests/RequestFactory\";\nimport { TypeOptions } from \"../Sitefinity\";\nimport { ChunkedFileUploadUtilities, ChunkFileResult } from \"./chunked-file-upload.utilities\";\n\n/**\n * @description Entry point for all chunk upload related tasks\n * @export\n * @class ChunkUploadSdk\n */\nexport class ChunkUploadSdk {\n private urlOptions: TypeOptions;\n private factory: RequestFactory;\n\n constructor(urlOptions: TypeOptions, factory: RequestFactory) {\n this.urlOptions = urlOptions;\n this.factory = factory;\n }\n\n /**\n * @description Gets the needed information to start uploading chunks to the server\n * @param {GetChunkUploadInfoRequestOptions} parameters\n * @memberof ChunkUploadSdk\n */\n getChunkUploadInfo(parameters: GetChunkUploadInfoRequestOptions) {\n Guard.isNotNull(parameters, \"parameters\");\n Guard.isNotNull(parameters.data, \"parameters.data\");\n Guard.isNotNull(parameters.data.libraryId, \"parameters.data.libraryId\");\n\n const options: RequestOptionsBaseExtended = {\n urlOptions: this.urlOptions,\n action: `Default.GetChunkUploadInfo(libraryId=${parameters.data.libraryId})`,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb,\n progressCb: parameters.progressCb,\n fallbackProperties: parameters.fallbackProperties,\n query: parameters.query\n };\n\n const request = this.factory.get(options);\n\n request.execute();\n }\n\n /**\n * @description Sends a single chunk request to the server\n * @param {UploadChunkRequestOptions} parameters\n * @memberof ChunkUploadSdk\n */\n uploadChunk(parameters: UploadChunkRequestOptions) {\n Guard.isNotNull(parameters, \"parameters\");\n Guard.isNotNull(parameters.data, \"parameters.data\");\n Guard.isNotNull(parameters.data.fileMimeType, \"parameters.data.fileMimeType\");\n Guard.isNotNull(parameters.data.chunkSize, \"parameters.data.chunkSize\");\n Guard.isNotNull(parameters.data.chunkedFileUploadSessionId, \"parameters.data.chunkedFileUploadSessionId\");\n Guard.isNotNull(parameters.data.chunkOrdinal, \"parameters.data.chunkOrdinal\");\n Guard.isNotNull(parameters.data.numberOfChunks, \"parameters.data.numberOfChunks\");\n Guard.isNotNull(parameters.data.chunkBlob, \"parameters.data.chunkBlob\");\n Guard.isNotNull(parameters.data.blobStorageProviderName, \"parameters.data.blobStorageProviderName\");\n\n const request = this.factory.uploadChunk({\n urlOptions: this.urlOptions,\n fileMimeType: parameters.data.fileMimeType,\n chunkSize: parameters.data.chunkSize,\n chunkedFileUploadSessionId: parameters.data.chunkedFileUploadSessionId,\n chunkOrdinal: parameters.data.chunkOrdinal,\n numberOfChunks: parameters.data.numberOfChunks,\n chunkBlob: parameters.data.chunkBlob,\n blobStorageProviderName: parameters.data.blobStorageProviderName,\n // optional\n positionOfChunkInQueue: parameters.data.positionOfChunkInQueue,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb,\n progressCb: parameters.progressCb,\n fallbackProperties: parameters.fallbackProperties,\n query: parameters.query\n });\n\n request.execute();\n }\n\n\n /**\n * @description Sends the commit chunks request to the server\n * @param {CommitChunksRequestOptions} parameters\n * @memberof ChunkUploadSdk\n */\n commitChunks(parameters: CommitChunksRequestOptions) {\n Guard.isNotNull(parameters, \"parameters\");\n Guard.isNotNull(parameters.data, \"parameters.data\");\n Guard.isNotNull(parameters.data.chunkedFileUploadSessionId, \"parameters.data.chunkedFileUploadSessionId\");\n Guard.isNotNull(parameters.data.contentType, \"parameters.data.contentType\");\n Guard.isNotNull(parameters.data.name, \"parameters.data.name\");\n Guard.isNotNull(parameters.data.uploadProperties, \"parameters.data.uploadProperties\");\n Guard.isNotNull(parameters.data.numberOfChunks, \"parameters.data.numberOfChunks\");\n Guard.isNotNull(parameters.data.fileTotalSize, \"parameters.data.fileTotalSize\");\n Guard.isNotNull(parameters.data.blobStorageProviderName, \"parameters.data.blobStorageProviderName\");\n\n const options: CommitChunksRequestOptionsExtended = {\n urlOptions: this.urlOptions,\n chunkedFileUploadSessionId: parameters.data.chunkedFileUploadSessionId,\n contentType: parameters.data.contentType,\n fileName: parameters.data.name,\n uploadProperties: parameters.data.uploadProperties,\n numberOfChunks: parameters.data.numberOfChunks,\n fileTotalSize: parameters.data.fileTotalSize,\n blobStorageProviderName: parameters.data.blobStorageProviderName,\n // Optional: used for update, can be null for create\n itemId: parameters.data.itemId,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb,\n progressCb: parameters.progressCb,\n fallbackProperties: parameters.fallbackProperties,\n query: parameters.query\n };\n\n const request = this.factory.commitChunks(options);\n request.execute();\n }\n\n /**\n * @description This request is intended to be used when something in the chunk upload process fails to delete the sent chunks\n * @param {CleanUpChunksRequestOptions} parameters\n * @memberof ChunkUploadSdk\n */\n cleanUpChunks(parameters: CleanUpChunksRequestOptions) {\n Guard.isNotNull(parameters, \"parameters\");\n Guard.isNotNull(parameters.data, \"parameters.data\");\n Guard.isNotNull(parameters.data.chunkedFileUploadSessionId, \"parameters.data.chunkedFileUploadSessionId\");\n Guard.isNotNull(parameters.data.blobStorageProviderName, \"parameters.data.blobStorageProviderName\");\n\n const request = this.factory.create({\n urlOptions: this.urlOptions,\n action: \"Default.CleanUpChunks\",\n data: {\n chunkedFileUploadSessionId: parameters.data.chunkedFileUploadSessionId,\n blobStorageProviderName: parameters.data.blobStorageProviderName\n },\n successCb: parameters.successCb,\n failureCb: parameters.failureCb,\n progressCb: parameters.progressCb,\n fallbackProperties: parameters.fallbackProperties,\n query: parameters.query\n });\n\n request.execute();\n }\n\n /**\n * Chunks the provided file. If the file is a base64 string this method will convert it to a blob and then chunk it.\n *\n * @param {(Blob | string)} file\n * @param {number} chunkSize\n * @param {string} contentTypeMime\n * @return {*} {ChunkFileResult}\n * @memberof ChunkUploadService\n */\n chunkFile(file: Blob | string, chunkSize: number, contentTypeMime: string): ChunkFileResult {\n Guard.isNotNull(file, \"file\");\n Guard.isNotNull(chunkSize, \"chunkSize\");\n Guard.isNotNull(contentTypeMime, \"contentTypeMime\");\n\n const utils = new ChunkedFileUploadUtilities();\n return utils.chunkFile(file, chunkSize, contentTypeMime);\n }\n}\n\nclass Guard {\n static isNotNull<T>(value: T, parameterName: string) {\n if (typeof(value) === \"number\") {\n if (value === null || value === undefined) {\n Guard.throwException(parameterName);\n }\n return;\n }\n\n if (!value) {\n Guard.throwException(parameterName);\n }\n }\n\n private static throwException(parameterName) {\n throw `parameter ${parameterName} is required.`;\n }\n}\n\n//#region interfaces\n\n/**\n * @description This interface shows the minimum data needed to create a single chunk upload request\n * @export\n * @interface UploadChunkRequestOptions\n * @extends {CreateRequestOptions}\n */\nexport interface UploadChunkRequestOptions extends CreateRequestOptions {\n /**\n * @description the data needed to construct the request\n * @type {{\n * fileMimeType: string;\n * chunkedFileUploadSessionId: string;\n * chunkSize: number;\n * chunkOrdinal: number;\n * numberOfChunks: number;\n * positionOfChunkInQueue?: number;\n * chunkBlob: Blob;\n * blobStorageProviderName: string;\n * }}\n * @memberof UploadChunkRequestOptions\n */\n data: {\n /**\n * @description the file's mime type\n * @type {string}\n */\n fileMimeType: string;\n /**\n * @description the current chunk upload session Id\n * @type {string}\n */\n chunkedFileUploadSessionId: string;\n /**\n * @description the chunk size in bytes\n * @type {number}\n */\n chunkSize: number;\n /**\n * @description the chunk's ordinal\n * @type {number}\n */\n chunkOrdinal: number;\n /**\n * @description the total number of chunks\n * @type {number}\n */\n numberOfChunks: number;\n /**\n * @description Optional. The position of the chunk in the request queue, this property is used to calculate the progress of the upload\n * @type {number}\n */\n positionOfChunkInQueue?: number;\n /**\n * @description The chunk data\n * @type {Blob}\n */\n chunkBlob: Blob;\n /**\n * @description the target blob storage provider's name\n * @type {string}\n */\n blobStorageProviderName: string;\n }\n}\n\n/**\n * @description This interface shows the minimum data needed to create a commit chunks request\n * @export\n * @interface CommitChunksRequestOptions\n * @extends {CreateRequestOptions}\n */\nexport interface CommitChunksRequestOptions extends CreateRequestOptions {\n /**\n * @description the data needed to construct the request\n * @type {{\n * chunkedFileUploadSessionId: string;\n * contentType: string;\n * fileTotalSize: number;\n * numberOfChunks: number;\n * name: string;\n * blobStorageProviderName: string;\n * uploadProperties: { [key: string]: string };\n * itemId?: string;\n * }}\n * @memberof CommitChunksRequestOptions\n */\n data: {\n /**\n * @description the current chunk upload session Id\n * @type {string}\n */\n chunkedFileUploadSessionId: string;\n /**\n * @description the file's mime type\n * @type {string}\n */\n contentType: string;\n /**\n * @description the total size of the file\n * @type {number}\n */\n fileTotalSize: number;\n /**\n * @description the total number of chunks\n * @type {number}\n */\n numberOfChunks: number;\n /**\n * @description the file's name\n * @type {string}\n */\n name: string;\n /**\n * @description the target blob storage provider's name\n * @type {string}\n */\n blobStorageProviderName: string;\n /**\n * @description the properties of the uploaded file like the Title, UrlName, etc\n * @type {{ [key: string]: string }}\n */\n uploadProperties: { [key: string]: string };\n /**\n * @description Optional. Used when updating a media item, can be null when used to create a new media file.\n * @type {string}\n */\n itemId?: string;\n }\n}\n\n/**\n * @description This interface shows the minimum data needed to create request to get the chunk upload information for the current library from the server\n * @export\n * @interface GetChunkUploadInfoRequestOptions\n * @extends {CreateRequestOptions}\n */\nexport interface GetChunkUploadInfoRequestOptions extends CreateRequestOptions {\n /**\n * @description the data needed to construct the request\n * @type {{\n * libraryId: string;\n * }}\n * @memberof GetChunkUploadInfoRequestOptions\n */\n data: {\n /**\n * @description the parent library (not folder) in which the file will be uploaded to\n * @type {string}\n */\n libraryId: string;\n }\n}\n\n/**\n * @description This interface show the minimum data needed to create a request to delete all chunk from a chunk upload session\n * @export\n * @interface CleanUpChunksRequestOptions\n * @extends {CreateRequestOptions}\n */\nexport interface CleanUpChunksRequestOptions extends CreateRequestOptions {\n /**\n * @description the data needed to construct the request\n * @type {{\n * chunkedFileUploadSessionId: string;\n * blobStorageProviderName: string;\n * }}\n * @memberof CleanUpChunksRequestOptions\n */\n data: {\n /**\n * @description the current chunk upload session Id\n * @type {string}\n */\n chunkedFileUploadSessionId: string;\n /**\n * @description the target blob storage provider's name\n * @type {string}\n */\n blobStorageProviderName: string;\n }\n}\n\n/**\n * @description This is a data transfer object that shows the information provided by the getChunkUploadInfo request\n * @export\n * @interface ChunkUploadInfoDTO\n */\nexport interface ChunkUploadInfoDTO {\n /**\n * @description shows wether the current blob storage provider supports uploading in chunks\n * @type {boolean}\n * @memberof ChunkUploadInfoDTO\n */\n ProviderSupportsChunkUpload: boolean;\n /**\n * @description the target blob storage provider's name\n * @type {string}\n * @memberof ChunkUploadInfoDTO\n */\n BlobStorageProviderName: string;\n /**\n * @description the current chunk upload session Id\n * @type {string}\n * @memberof ChunkUploadInfoDTO\n */\n ChunkedFileUploadSessionId: string,\n /**\n * @description the chunk size in bytes\n * @type {number}\n * @memberof ChunkUploadInfoDTO\n */\n ChunkSize: number,\n /**\n * @description the maximum amount of time a chunk should be retired\n * @type {number}\n * @memberof ChunkUploadInfoDTO\n */\n MaxRetryCountForChunk: number,\n /**\n * @description the maximum simultaneous requests that should be sent to the server\n * @type {number}\n * @memberof ChunkUploadInfoDTO\n */\n MaxSimultaneousChunkUploadRequestsPerSession: number\n}\n\n/**\n * @description A DTO containing the data that the server responds with when a chunk is uploaded\n * @export\n * @interface ChunkUploadResult\n */\nexport interface ChunkUploadResult {\n /**\n * @description indicates whether the chunk has been successfully uploaded\n * @type {boolean}\n * @memberof ChunkUploadResult\n */\n SuccessfullyUploaded: boolean,\n /**\n * @description the current chunk upload session Id\n * @type {string}\n * @memberof ChunkUploadResult\n */\n ChunkedFileUploadSessionId: string\n}\n//#endregion\n","export class ChunkedFileUploadUtilities {\n chunkFile(file: Blob | string, chunkSize: number, contentTypeMime: string): ChunkFileResult {\n let fileInternal: Blob;\n\n if (typeof file === \"string\")\n fileInternal = this.base64ToBlob(file, chunkSize, contentTypeMime);\n else {\n fileInternal = file as Blob;\n }\n\n const fileSize = fileInternal.size;\n const result: Array<FileUploadChunk> = [];\n let chunkOrdinal = 0;\n let offset = 0;\n let currentOffset = chunkSize;\n\n while (offset <= fileSize) {\n const chunk = fileInternal.slice(offset, currentOffset, contentTypeMime);\n offset = currentOffset;\n currentOffset = currentOffset + chunkSize;\n\n result.push({\n ordinal: chunkOrdinal,\n content: chunk\n });\n\n chunkOrdinal++;\n }\n\n return {\n chunks: result,\n totalChunksCount: result.length,\n fileTotalSize: fileSize\n };\n }\n\n private base64ToBlob(base64String, chunkSize, contentType = \"\"): Blob {\n const byteCharacters = atob(base64String);\n const byteArrays = [];\n for (let offset = 0; offset < byteCharacters.length; offset += chunkSize) {\n const slice = byteCharacters.slice(offset, offset + chunkSize);\n const byteNumbers = new Array(slice.length);\n for (let i = 0; i < slice.length; i++) {\n byteNumbers[i] = slice.charCodeAt(i);\n }\n const byteArray = new Uint8Array(byteNumbers);\n byteArrays.push(byteArray);\n }\n\n const blob = new Blob(byteArrays, { type: contentType });\n return blob;\n }\n}\n\nexport interface FileUploadChunk {\n ordinal: number,\n content: Blob\n}\n\nexport interface ChunkFileResult {\n chunks: Array<FileUploadChunk>,\n totalChunksCount: number,\n fileTotalSize: number\n}\n","export const EXPRESSION_TYPE = {\n query: 1,\n where: 100,\n and: \"and\",\n or: \"or\",\n not: \"not\",\n eq: \"eq\",\n ne: \"ne\",\n lt: \"lt\",\n le: \"le\",\n gt: \"gt\",\n ge: \"ge\",\n any: \"any\",\n contains: \"contains\",\n startsWith: \"startsWith\",\n endsWith: \"endsWith\"\n};\n\nexport const ODATA_PARAMS = {\n $filter: \"$filter\",\n $select: \"$select\",\n $expand: \"$expand\",\n $orderby: \"$orderby\",\n $skip: \"$skip\",\n $top: \"$top\",\n $count: \"$count\",\n $search: \"$search\"\n};\n\nexport const SF_PARAMS = {\n provider: \"sf_provider\",\n culture: \"sf_culture\",\n siteId: \"sf_site\",\n fallbackParams: \"sf_fallback_prop_names\",\n parentId: \"parentId\"\n};\n\nexport const HEADER_NAMES = {\n contentType: \"Content-Type\",\n authorization: \"Authorization\",\n contentEncoding: \"Content-Encoding\",\n operation: \"X-Operation\",\n properties: \"X-Sf-Properties\",\n fileName: \"X-File-Name\",\n serviceRequest: \"X-SF-Service-Request\",\n choicesBinaryRepresentation: \"X-SF-Binary-Choice-Representation\",\n integrationMode: \"X-SF-Integration-Mode\",\n chunkOrdinal: \"X-SF-Chunk-Ordinal\",\n chunkSize: \"X-SF-Chunk-Size\",\n fileSize: \"X-SF-File-Size\",\n chunkedFileUploadSessionId: \"X-SF-Chunked-File-Upload-Session-Id\",\n blobStorageProviderName: \"X-SF-Blob-Storage-Provider-Name\"\n};\n\nexport const HTTP_METHODS = {\n get: \"GET\",\n put: \"PUT\",\n post: \"POST\",\n patch: \"PATCH\",\n delete: \"DELETE\"\n};\n\nexport const CONTENT_TYPES = {\n json: \"application/json\"\n};\n","export class utils {\n static isString(obj: any): boolean {\n return typeof (obj) === \"string\" || obj instanceof String;\n }\n\n static isBoolean(obj: any): boolean {\n return typeof (obj) === \"boolean\";\n }\n\n static isBlob(obj: any): boolean {\n return obj instanceof Blob;\n }\n\n static isNumber(value: any): boolean {\n return typeof value === \"number\" && isFinite(value);\n }\n\n static isFunction(func: any): boolean {\n return typeof func === \"function\";\n }\n\n static serializeToJSON(data): string {\n if (!utils.isString(data) && !this.isBlob(data)) {\n return JSON.stringify(data);\n }\n\n return data;\n }\n\n static parseStringToJson(data) {\n if (!data) {\n return null;\n }\n\n const number = Number(data);\n if (!isNaN(number)) {\n return number;\n }\n\n let result = null;\n\n try {\n result = JSON.parse(data);\n result = utils._parseDateProperties(result);\n } catch (e) {\n console.log(\"An unexpected error occurred while parsing the response from server: \" + e.message + \". Response body was: '\" + data + \"'\");\n }\n\n return result;\n }\n\n static convertDateFieldToISOString(data: object): object {\n /*\n TODOSDK: when write tests for this try to use\n \"Object.keys(obj).forEach(function(){})\",\n Phantomjs does not recognize \"for..in\" operator.\n */\n for (const obj in data) {\n if (data[obj] instanceof Date) {\n data[obj] = data[obj].toISOString();\n }\n }\n\n return data;\n }\n\n static hex16() {\n return Math.floor((1 + Math.random()) * 0x10000).toString(16).substr(1);\n }\n\n static addTrailingSlash(url: string): string {\n url = utils.removeSlashes(url);\n url += \"/\";\n return url;\n }\n\n static removeSlashes(url: string) {\n let ret = url;\n\n const lastChar = ret.substr(-1);\n if (lastChar == \"/\")\n ret = ret.substr(0, ret.length - 1);\n\n return ret;\n }\n\n static clone(from: any, to = {}, action: Function = null): any {\n if (!to)\n to = {};\n\n for (const property in from) {\n if (from[property] && from[property].constructor && from[property].constructor === Object && typeof from[property] == \"function\") {\n to[property] = to[property] || {};\n arguments.callee(to[property], from[property]);\n } else {\n to[property] = from[property];\n }\n\n if (typeof action === \"function\")\n action(to);\n }\n\n return to;\n }\n\n private static _parseDateProperties(data) {\n for (const obj in data) {\n // TODO\n if (data[obj] instanceof Array || (data[obj] instanceof Object && <any>!data[obj] instanceof Function))\n this._parseDateProperties(data[obj]);\n else\n data[obj] = utils._tryFormatFieldToDate(data[obj]);\n }\n\n return data;\n }\n\n private static _tryFormatFieldToDate(date) {\n if ((/^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:\\.\\d*))(?:Z|(\\+|-)([\\d|:]*))?$/).test(date)) {\n date = new Date(date);\n }\n\n return date;\n }\n}\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./sitefinity-webservices-sdk.ts\");\n",""],"names":[],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"sitefinity-webservices-sdk.js","mappings":"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YAAC;AAAD,CAAC;AA5HY,sBAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB,sCAAsC,kBAAkB;AACnF,0BAA0B;AAC1B;AACA;AACA;AACO;AACP;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACO;AACP;AACA,iDAAiD,OAAO;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,6DAA6D,cAAc;AAC3E;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA,6CAA6C,QAAQ;AACrD;AACA;AACA;AACO;AACP,oCAAoC;AACpC;AACA;AACO;AACP,yBAAyB,uFAAuF;AAChH;AACA;AACA,2GAA2G;AAC3G;AACA,wCAAwC,QAAQ;AAChD;AACA,kEAAkE;AAClE;AACA,gDAAgD,yFAAyF;AACzI,gEAAgE,2CAA2C;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA,oBAAoB,yBAAyB;AAC7C;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA,8CAA8C,yEAAyE;AACvH;AACA;AACO;AACP;AACA;AACA;AACO;AACP,4BAA4B,+DAA+D,iBAAiB;AAC5G;AACA,oCAAoC,MAAM,+BAA+B,YAAY;AACrF,mCAAmC,MAAM,mCAAmC,YAAY;AACxF,gCAAgC;AAChC;AACA,KAAK;AACL;AACA;AACO;AACP,cAAc,6BAA6B,0BAA0B,cAAc,qBAAqB;AACxG,iBAAiB,oDAAoD,qEAAqE,cAAc;AACxJ,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,mCAAmC,SAAS;AAC5C,mCAAmC,WAAW,UAAU;AACxD,0CAA0C,cAAc;AACxD;AACA,8GAA8G,OAAO;AACrH,iFAAiF,iBAAiB;AAClG,yDAAyD,gBAAgB,QAAQ;AACjF,+CAA+C,gBAAgB,gBAAgB;AAC/E;AACA,kCAAkC;AAClC;AACA;AACA,UAAU,YAAY,aAAa,SAAS,UAAU;AACtD,oCAAoC,SAAS;AAC7C;AACA;AACA;AACO;AACP;AACA;AACA;AACA,iBAAiB,oCAAoC;AACrD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;AACD;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,MAAM;AAC1B;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACO;AACP,6BAA6B,sBAAsB;AACnD;AACA;AACA;AACA;AACA;AACO;AACP,kDAAkD,QAAQ;AAC1D,yCAAyC,QAAQ;AACjD,yDAAyD,QAAQ;AACjE;AACA;AACA;AACA;AACO;AACP,6EAA6E,OAAO;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACO;AACP;AACA;AACA,iBAAiB,uFAAuF,cAAc;AACtH,uBAAuB,gCAAgC,qCAAqC,2CAA2C;AACvI,4BAA4B,MAAM,iBAAiB,YAAY;AAC/D,uBAAuB;AACvB,8BAA8B;AAC9B,6BAA6B;AAC7B,4BAA4B;AAC5B;AACA;AACO;AACP;AACA,iBAAiB,6CAA6C,UAAU,sDAAsD,cAAc;AAC5I,0BAA0B,6BAA6B,oBAAoB,uCAAuC,kBAAkB;AACpI;AACA;AACO;AACP;AACA;AACA,2GAA2G,uFAAuF,cAAc;AAChN,uBAAuB,8BAA8B,gDAAgD,wDAAwD;AAC7J,6CAA6C,sCAAsC,UAAU,mBAAmB,IAAI;AACpH;AACA;AACO;AACP,iCAAiC,uCAAuC,YAAY,KAAK,OAAO;AAChG;AACA;AACA;AACA;AACA,0CAA0C,4BAA4B;AACtE,CAAC;AACD;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,6CAA6C;AAC7C;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;;;;;;;UCpSA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;UENA;UACA;UACA;UACA","sources":["webpack://Sitefinity/webpack/universalModuleDefinition","webpack://Sitefinity/./sitefinity-webservices-sdk.ts","webpack://Sitefinity/./src/BlobBuilder.ts","webpack://Sitefinity/./src/Data.ts","webpack://Sitefinity/./src/Expression.ts","webpack://Sitefinity/./src/OrderProperty.ts","webpack://Sitefinity/./src/Query.ts","webpack://Sitefinity/./src/QueryBase.ts","webpack://Sitefinity/./src/QueryBuilder.ts","webpack://Sitefinity/./src/Requests/BatchRequest.ts","webpack://Sitefinity/./src/Requests/ExecutableRequest.ts","webpack://Sitefinity/./src/Requests/Request.ts","webpack://Sitefinity/./src/Requests/RequestBase.ts","webpack://Sitefinity/./src/Requests/RequestFactory.ts","webpack://Sitefinity/./src/Sitefinity.ts","webpack://Sitefinity/./src/WhereQuery.ts","webpack://Sitefinity/./src/chunk-upload/chunk-upload.sdk.ts","webpack://Sitefinity/./src/chunk-upload/chunked-file-upload.utilities.ts","webpack://Sitefinity/./src/constants.ts","webpack://Sitefinity/./src/utils.ts","webpack://Sitefinity/./node_modules/tslib/tslib.es6.js","webpack://Sitefinity/webpack/bootstrap","webpack://Sitefinity/webpack/runtime/define property getters","webpack://Sitefinity/webpack/runtime/hasOwnProperty shorthand","webpack://Sitefinity/webpack/runtime/make namespace object","webpack://Sitefinity/webpack/before-startup","webpack://Sitefinity/webpack/startup","webpack://Sitefinity/webpack/after-startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Sitefinity\"] = factory();\n\telse\n\t\troot[\"Sitefinity\"] = factory();\n})(this, () => {\nreturn ","export * from \"./src/BlobBuilder\";\nexport * from \"./src/constants\";\nexport * from \"./src/utils\";\nexport * from \"./src/WhereQuery\";\nexport * from \"./src/Sitefinity\";\nexport * from \"./src/QueryBuilder\";\nexport * from \"./src/Query\";\nexport * from \"./src/OrderProperty\";\nexport * from \"./src/Expression\";\nexport * from \"./src/Data\";\nexport * from \"./src/Requests/BatchRequest\";\nexport * from \"./src/Requests/ExecutableRequest\";\nexport * from \"./src/Requests/Request\";\nexport * from \"./src/Requests/RequestBase\";\nexport * from \"./src/Requests/RequestFactory\";\n","/**\n * The BlobBuilder class is used to generate blob objects.\n */\nexport class BlobBuilder {\n private blob = new Blob();\n\n /**\n * Appends new value to blob.\n */\n append(value: any) {\n this.blob = new Blob([this.blob, value]);\n }\n\n /**\n * Gets generated blob.\n */\n build(): Blob {\n return this.blob;\n }\n}\n","import { ChunkUploadSdk } from \"./chunk-upload/chunk-upload.sdk\";\nimport { SF_PARAMS } from \"./constants\";\nimport { Query } from \"./Query\";\nimport { ExecutableRequest } from \"./Requests/ExecutableRequest\";\nimport { RequestFactory } from \"./Requests/RequestFactory\";\nimport { TypeOptions } from \"./Sitefinity\";\n\n/**\n* The constructor of the Data object. This object is used for requesting data from Sitefinity.\n*/\nexport class Data {\n private urlOptions: TypeOptions;\n private factory: RequestFactory;\n\n constructor(urlOptions: TypeOptions, factory: RequestFactory) {\n this.urlOptions = urlOptions;\n this.factory = factory;\n }\n\n\n /**\n * Returns an instance of the @type {ChunkUploadService}\n *\n * @readonly\n * @type {ChunkUploadSdk}\n * @memberof Data\n */\n public get chunkUpload(): ChunkUploadSdk {\n const service = new ChunkUploadSdk(this.urlOptions, this.factory);\n return service;\n }\n\n /**\n * Executes a GET request to retrieve a collection of items.\n */\n get(parameters: RequestOptionsBase) {\n const request = this.factory.get({\n urlOptions: this.urlOptions,\n query: parameters.query,\n action: parameters.action,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb,\n fallbackProperties: parameters.fallbackProperties\n });\n\n request.execute();\n }\n\n /**\n * Executes a GET request to retrieve an/all item(s) operations.\n */\n getOperations(parameters: OperationsRequestOptions) {\n let request: ExecutableRequest;\n let action = \"operations\";\n\n // Set parentId if no item key is passed\n if (!parameters.key)\n action += `?${SF_PARAMS.parentId}=` + parameters.parentId;\n\n const params: any = {\n urlOptions: this.urlOptions,\n action: action,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb\n };\n\n if (parameters.key) {\n params.key = parameters.key;\n request = this.factory.getSingle(params);\n } else {\n request = this.factory.get(params);\n }\n\n request.execute();\n }\n\n /**\n * Executes a GET request for a single item.\n */\n getSingle(parameters: RequestOptionsBase) {\n if (!(parameters.key))\n throw \"Parameter 'key' is required!\";\n\n const request = this.factory.getSingle({\n urlOptions: this.urlOptions,\n key: parameters.key,\n query: parameters.query,\n action: parameters.action,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb,\n fallbackProperties: parameters.fallbackProperties\n });\n\n request.execute();\n }\n\n /**\n * Executes a POST request for a single item.\n */\n create(parameters: CreateRequestOptions) {\n if (!(parameters.data))\n throw \"Parameter 'data' is required!\";\n\n const request = this.factory.create({\n urlOptions: this.urlOptions,\n key: parameters.key,\n query: parameters.query,\n data: parameters.data,\n action: parameters.action,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb\n });\n\n request.execute();\n }\n\n /**\n * Executes a PATCH request to update a single item.\n * @example\n * const data = sf.data({\n * entitySet: \"newsitems\",\n * provider: \"OpenAccessDataProvider\",\n * culture: \"en\"\n * });\n *\n * const newsItemUpdate = {\n * \"Title\": 'updated news title'\n * };\n *\n * data.update({\n * key: '00000000-0000-0000-0000-000000000000', // key of item to update\n * data: newsItemUpdate,\n * saveTemp: true,\n * successCb: successCb,\n * failureCb: failureCb\n * });\n */\n update(parameters: UpdateRequestOptions) {\n if (!(parameters.key || parameters.data))\n throw \"Parameters: 'data' and 'key' are required!\";\n\n const request = this.factory.update({\n urlOptions: this.urlOptions,\n key: parameters.key,\n data: parameters.data,\n action: parameters.action,\n saveTemp: parameters.saveTemp,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb\n });\n\n request.execute();\n }\n\n /**\n * Executes a DELETE request to delete a single item.\n */\n destroy(parameters: RequestOptionsBase) {\n if (!(parameters.key))\n throw \"Parameter 'key' is required!\";\n\n const request = this.factory.destroy({\n urlOptions: this.urlOptions,\n key: parameters.key,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb\n });\n\n request.execute();\n }\n\n /**\n * Executes a POST request to execute a workflow operation for single item.\n */\n operation(parameters: CreateRequestOptions) {\n if (!(parameters.key || parameters.data))\n throw \"Parameters: 'data' and 'key' are required!\";\n\n const request = this.factory.create({\n urlOptions: this.urlOptions,\n key: parameters.key,\n action: \"operation\",\n data: parameters.data,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb\n });\n\n request.execute();\n }\n\n /**\n * Executes a GET request to get the property of a single item.\n */\n getProperty(parameters: PropertyRequestOptions) {\n if (!(parameters.key || parameters.property))\n throw \"Parameters: 'data' and 'property' are required!\";\n\n const request = this.factory.getProperty({\n urlOptions: this.urlOptions,\n key: parameters.key,\n property: parameters.property,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb\n });\n\n request.execute();\n }\n\n /**\n * Executes a GET request to get the related property value of a single item.\n */\n getRelated(parameters: PropertyRequestOptions) {\n if (!(parameters.key || parameters.property))\n throw \"Parameters: 'data' and 'property' are required!\";\n\n const request = this.factory.getRelated({\n urlOptions: this.urlOptions,\n key: parameters.key,\n property: parameters.property,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb\n });\n\n request.execute();\n }\n\n /**\n * Executes a GET request to retrieve the related property value of a single item by the id of the related item.\n */\n getRelatedById(parameters: SingleRelatedItemRequestOptions) {\n if (!(parameters.key || parameters.property || parameters.relatedId))\n throw \"Parameters: 'data', 'relatedId' and 'property' are required!\";\n\n const request = this.factory.getRelatedById({\n urlOptions: this.urlOptions,\n key: parameters.key,\n relatedId: parameters.relatedId,\n property: parameters.property,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb\n });\n\n request.execute();\n }\n\n /**\n * Executes a DELETE request to retrieve the delete all of the associated members in the relation property.\n */\n destroyRelated(parameters: PropertyRequestOptions) {\n if (!(parameters.key || parameters.property))\n throw \"Parameters: 'data' and 'property' are required!\";\n\n const request = this.factory.destroyRelated({\n urlOptions: this.urlOptions,\n key: parameters.key,\n property: parameters.property,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb\n });\n\n request.execute();\n }\n\n /**\n * Executes a DELETE request to retrieve the a single entry of the associated members in the relation property.\n */\n destroyRelatedById(parameters: SingleRelatedItemRequestOptions) {\n if (!(parameters.key || parameters.property || parameters.relatedId))\n throw \"Parameters: 'data', 'relatedId' and 'property' are required!\";\n\n const request = this.factory.destroyRelatedById({\n urlOptions: this.urlOptions,\n key: parameters.key,\n relatedId: parameters.relatedId,\n property: parameters.property,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb\n });\n\n request.execute();\n }\n\n /**\n * Executes a POST request to add a related item to the property collection.\n */\n createRelated(parameters: CreateRelatedRequestOptions) {\n if (!(parameters.key || parameters.property || parameters.link))\n throw \"Parameters: 'data', 'link' and 'property' are required!\";\n\n const data = {\n \"@odata.id\": parameters.link\n };\n\n const request = this.factory.createRelated({\n urlOptions: this.urlOptions,\n key: parameters.key,\n property: parameters.property,\n data: data,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb\n });\n\n request.execute();\n }\n\n /**\n * Executes a POST request to upload a media item.\n * @example\n *\n * const data = sf.data({\n * entitySet: \"images\"\n * });\n * data.upload({\n * data: {\n * content: \"base 64 representation of the file\",\n * contentType: \"image/jpeg\",\n * name: \"test.jpg\",\n * payload: {\n * Title: \"Test\",\n * entitySet: \"test\"\n * },\n * uploadProperties: {\n * ParentId: \"4BA7AD46-F29B-4E65-BE17-9BF7CE5BA1FB\"\n * }\n * },\n * successCb: successCb,\n * failureCb: failureCb\n * });\n */\n upload(parameters: UploadRequestOptions) {\n if (!(parameters || parameters.data || parameters.data.content || parameters.data.contentType || parameters.data || parameters.data.name || parameters.data.uploadProperties))\n throw \"parameters: content, contentType, name and uploadProperties are required!\";\n\n const options = {\n urlOptions: this.urlOptions,\n _factory: this.factory,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb\n };\n\n const batch = this.factory.batch(options);\n const transaction = batch.beginTransaction();\n\n const uploadedFile = transaction.upload({\n entitySet: this.urlOptions.entitySet,\n data: parameters.data.content,\n contentType: parameters.data.contentType,\n fileName: parameters.data.name,\n uploadProperties: parameters.data.uploadProperties\n });\n\n if (parameters.data.payload)\n transaction.update({\n entitySet: this.urlOptions.entitySet,\n key: uploadedFile,\n data: parameters.data.payload\n });\n\n if (parameters.publish === true) {\n transaction.operation({\n entitySet: this.urlOptions.entitySet,\n key: uploadedFile,\n data: {\n action: \"Publish\"\n }\n });\n }\n\n batch.endTransaction(transaction);\n return batch.execute();\n }\n}\n\nexport interface RequestOptionsBase {\n query?: Query;\n action?: string;\n successCb?: Function;\n failureCb?: Function;\n progressCb?: Function;\n fallbackProperties?: string[];\n key?: string | number;\n}\n\nexport interface OperationsRequestOptions extends RequestOptionsBase {\n parentId?: string;\n}\n\nexport interface CreateRequestOptions extends RequestOptionsBase {\n data?: object;\n}\n\nexport interface UpdateRequestOptions extends CreateRequestOptions {\n saveTemp?: boolean;\n}\n\nexport interface PropertyRequestOptions extends RequestOptionsBase {\n property: string;\n}\n\nexport interface SingleRelatedItemRequestOptions extends PropertyRequestOptions {\n relatedId: string;\n}\n\nexport interface CreateRelatedRequestOptions extends PropertyRequestOptions {\n link: string | number;\n}\n\nexport interface UploadRequestOptions extends CreateRequestOptions {\n data: {\n content: string;\n contentType: string;\n uploadProperties: { [key: string]: string };\n name: string;\n payload: object;\n },\n publish: boolean;\n}\n","export class ExpressionBase {\n constructor(public type: string) {\n }\n\n getType(): string {\n return this.type;\n }\n}\n\nexport class BinaryExpression extends ExpressionBase {\n constructor(type: string, public parameter: string, public constant: any, public caseSensitive: boolean = true) {\n super(type);\n }\n\n getParameter(): string {\n return this.parameter;\n }\n\n getConstant(): any {\n return this.constant;\n }\n\n isCaseSensitive(): boolean {\n return this.caseSensitive;\n }\n}\n\nexport class ComplexExpression extends ExpressionBase {\n constructor(type: string, private expressions: ExpressionBase[]) {\n super(type);\n }\n\n getExpressions(): ExpressionBase[] {\n return this.expressions;\n }\n}\n","import { utils } from \"./utils\";\n\nexport class OrderProperty {\n constructor(private propertyPath: string, private isDesc: boolean = null) {\n if (!utils.isString(propertyPath))\n throw new Error(\"Property name is not a valid string\");\n\n propertyPath = propertyPath.trim();\n\n const parts = propertyPath.split(\" \");\n // parts[0] is the propertyPath; [1] would be whether descending or not.\n if (parts.length > 1 && isDesc !== true && isDesc !== false) {\n isDesc = parts[1].toLowerCase() == \"desc\";\n if (!isDesc) {\n // isDesc is false but check to make sure its intended.\n const isAsc = parts[1].toLowerCase() == \"asc\";\n if (!isAsc) {\n throw new Error(\"the second word in the propertyPath must begin with 'desc' or 'asc'\");\n }\n }\n }\n\n this.propertyPath = parts[0];\n this.isDesc = isDesc;\n }\n\n getPropertyPath(): string {\n return this.propertyPath;\n }\n\n getDirection(): boolean {\n return this.isDesc;\n }\n\n getValue(): string {\n const direction = (this.isDesc) ? \"desc\" : \"asc\";\n return this.propertyPath + \" \" + direction;\n }\n}\n","import { QueryBase } from \"./QueryBase\";\nimport { WhereQuery } from \"./WhereQuery\";\nimport { OrderProperty } from \"./OrderProperty\";\nimport { QueryBuilder } from \"./QueryBuilder\";\n\n/**\n * The query class is used for constructing queries.\n * @example\n * const query = new Sitefinity.Query();\n * const query0 = query.where().and().endsWith(\"Title\", \"Record\").done().or().startsWith('Title', 'asd').done().done();\n * const query1 = query.where().or().endsWith(\"Record\", \"Title\").ne('age', '15').eq('Content', 'test').done().done();\n * const query2 = query.where().and().endsWith(\"Title\", \"Record\").done().done();\n * const query3 = query.where().endsWith(\"Record\", \"Title\").or().ne('age', '15').eq('Content', 'test').done().done();\n * const query4 = query.where().not().endsWith(\"Record\", \"Title\").done().and().not().eq('Content', 'test').done().done().done();\n * const query5 = query.where().not().and().endsWith(\"Record\", \"Title\").eq('Content', 'test').done().done().done();\n * const query6 = query.select(\"Id\", \"Title\", \"Content\").expand('Tags').order(\"Title desc\").where().ne('Title', 'zzz').eq('Title', 'newTitle').done()//.count();\n * const query7 = query.order(\"Title desc\").where().eq('Title', 'newTitleUPDATE1').done().select(\"Title\", \"Content\");\n * const query8 = query.where().eq('Title', 'newTitleN11').done();\n */\nexport class Query extends QueryBase {\n orderProperties: OrderProperty[] = null;\n skipValue: number = null;\n takeValue: number = null;\n searchValue: string = null;\n inlineCount: boolean;\n filter: WhereQuery<Query> = null;\n\n constructor() {\n super();\n }\n\n /**\n * Begins a where clause for filtering the items.\n */\n where(): WhereQuery<Query> {\n const clone: Query = this.clone((newObj: Query) => {\n newObj.filter = new WhereQuery(newObj);\n });\n\n return clone.filter;\n }\n\n /**\n * Specifies the order by clause.\n * @example\n * order by single field\n * order(\"Title desc\")\n * @example\n * order by multiple fields\n * order(\"Title desc\", \"Description asc\")\n */\n order(...properties: string[]): Query {\n properties = properties ?? [];\n this.validatePropertyPaths(properties);\n\n return this.clone((newObj: Query) => {\n const orderItems: OrderProperty[] = [];\n for (let i = 0; i < properties.length; i++) {\n const member = properties[i];\n const orderProp = new OrderProperty(member);\n orderItems.push(orderProp);\n }\n newObj.orderProperties = orderItems;\n });\n }\n\n /**\n * Skips a certain number of items from the beginning before returning the rest of the items. Used for paging.\n */\n skip(value: number): Query {\n return this.clone((newObj: Query) => {\n newObj.skipValue = value;\n });\n }\n\n /**\n * Takes a specified number of items from the query result. Used for paging.\n */\n take(value: number): Query {\n return this.clone((newObj: Query) => {\n newObj.takeValue = value;\n });\n }\n\n /**\n * Searches for the items matching the specified expression.\n */\n search(value: string): Query {\n return this.clone((newObj: Query) => {\n newObj.searchValue = value;\n });\n }\n\n /**\n * Returns the total item count with the result. Used for paging.\n */\n count(inline = true): Query {\n return this.clone((newObj: Query) => {\n newObj.inlineCount = inline;\n });\n }\n\n build() {\n return new QueryBuilder(this).build();\n }\n}\n","import { utils } from \"./utils\";\n\n/**\n * The base class for dealing with queries.\n */\nexport class QueryBase {\n selectProperties: string[];\n expandProperties: string[];\n\n constructor() {\n this.selectProperties = null;\n this.expandProperties = null;\n }\n\n /**\n * Selects which fields will be returned when querying the service.\n */\n select(...properties: string[]): QueryBase {\n properties = properties ?? [];\n\n this.validatePropertyPaths(properties);\n\n return this.clone((newObj: QueryBase) => {\n newObj.selectProperties = properties.filter((prop, index, props) => props.indexOf(prop) === index);\n });\n }\n\n /**\n * Selects which navigation properties will be returned when querying the service.\n */\n expand(...properties: string[]): QueryBase {\n properties = properties ?? [];\n this.validatePropertyPaths(properties);\n\n return this.clone((newObj: QueryBase) => {\n newObj.expandProperties = properties.filter((prop, index, props) => props.indexOf(prop) === index);\n });\n }\n\n protected validatePropertyPaths(propPaths: string[], allowNested = false) {\n for (let i = 0; i < propPaths.length; i++) {\n const member = propPaths[i];\n if (!utils.isString(member)) {\n throw new Error(\"Invalid argument in clause\");\n }\n\n if (!allowNested && member.indexOf(\".\") > -1) {\n throw new Error(\"Invalid argument in clause\");\n }\n }\n }\n\n protected clone(setter: Function = null) {\n const newObj = utils.clone(this, new QueryBase(), setter);\n return newObj;\n }\n}\n","import { WhereQuery } from \"./WhereQuery\";\nimport { ComplexExpression, BinaryExpression } from \"./Expression\";\nimport { OrderProperty } from \"./OrderProperty\";\nimport { utils } from \"./utils\";\nimport { ODATA_PARAMS, EXPRESSION_TYPE } from \"./constants\";\nimport { Query } from \"./Query\";\n\nexport class QueryBuilder {\n constructor(private query: Query) {\n }\n\n build(): { [key: string]: string } {\n const queryParameters = {};\n const whereClause = this.query.filter;\n if (whereClause instanceof WhereQuery) {\n const expression = whereClause.getExpression();\n if (expression instanceof ComplexExpression) {\n const result = this.buildComplexExpression(expression, null);\n if (result) {\n queryParameters[ODATA_PARAMS.$filter] = result;\n }\n }\n }\n\n const selectClause = this.query.selectProperties;\n if (selectClause instanceof Array) {\n queryParameters[ODATA_PARAMS.$select] = selectClause.join(\", \");\n }\n\n const expandClause = this.query.expandProperties;\n if (expandClause instanceof Array)\n queryParameters[ODATA_PARAMS.$expand] = expandClause.join(\", \");\n\n const orderByClause = this.query.orderProperties;\n if (orderByClause instanceof Array) {\n const order = [];\n for (const i in orderByClause) {\n if (orderByClause[i] instanceof OrderProperty)\n order.push(orderByClause[i].getValue());\n }\n queryParameters[ODATA_PARAMS.$orderby] = order.join(\", \");\n }\n\n const take = this.query.takeValue;\n if (utils.isNumber(take))\n queryParameters[ODATA_PARAMS.$top] = take;\n\n const skip = this.query.skipValue;\n if (utils.isNumber(skip))\n queryParameters[ODATA_PARAMS.$skip] = skip;\n\n const search = this.query.searchValue;\n if (search)\n queryParameters[ODATA_PARAMS.$search] = search;\n\n if (this.query.inlineCount !== null) {\n queryParameters[ODATA_PARAMS.$count] = this.query.inlineCount;\n }\n\n return queryParameters;\n }\n\n private buildComplexExpression(expression: ComplexExpression, parent: string): string {\n if (!(expression instanceof ComplexExpression))\n throw new Error(\"Invalid complex expression\");\n\n let counter = 0;\n let result = \"\";\n const subExpressions = expression.getExpressions();\n if (!subExpressions.length) {\n return result;\n }\n\n while (true) {\n const currentExp = subExpressions[counter];\n if (currentExp instanceof BinaryExpression) {\n result += this.buildBinaryExpression(currentExp);\n }\n else if (currentExp instanceof ComplexExpression) {\n const complexResult = this.buildComplexExpression(currentExp, expression.type);\n if (complexResult) {\n result += \"(\" + complexResult + \")\";\n }\n }\n\n if (expression.getType() === EXPRESSION_TYPE.not)\n result = expression.getType() + \" \" + result;\n // TODOSDK: Rethink this!\n if (expression.getType() === EXPRESSION_TYPE.any) {\n const exprVal = [];\n for (let index = 0; index < subExpressions.length; index++) {\n if (subExpressions[index].type == EXPRESSION_TYPE.contains || subExpressions[index].type == EXPRESSION_TYPE.startsWith || subExpressions[index].type == EXPRESSION_TYPE.endsWith)\n exprVal.push(subExpressions[index].type.toLowerCase() + \"(x, '\" + (subExpressions[index] as BinaryExpression).constant + \"')\");\n else\n exprVal.push(\"x \" + subExpressions[index].type.toLowerCase() + \" \" + this.checkType((subExpressions[index] as BinaryExpression).constant));\n }\n result = (currentExp as BinaryExpression).parameter + \"/\" + expression.getType() + \"(x:\" + exprVal.join(\" \" + parent + \" \") + \")\";\n }\n\n counter++;\n if (counter == subExpressions.length)\n break;\n\n result += \" \" + expression.getType() + \" \";\n }\n\n return result;\n }\n\n private buildBinaryExpression(expression: BinaryExpression): string {\n let result: string = null;\n const type = expression.getType();\n switch (type) {\n case EXPRESSION_TYPE.eq:\n case EXPRESSION_TYPE.ne:\n case EXPRESSION_TYPE.lt:\n case EXPRESSION_TYPE.le:\n case EXPRESSION_TYPE.gt:\n case EXPRESSION_TYPE.ge: {\n const constant = expression.getConstant();\n result = `(${expression.getParameter()} ${type} ${this.checkType(constant)})`;\n break;\n }\n case EXPRESSION_TYPE.contains:\n case EXPRESSION_TYPE.startsWith:\n case EXPRESSION_TYPE.endsWith: {\n const expressionParameter = this.applyCaseSensitiveSettings(expression, expression.getParameter());\n const expressionConstant = this.checkType(expression.getConstant());\n const expressionValue = this.applyCaseSensitiveSettings(expression, expressionConstant);\n\n result = `${type.toLowerCase()}(${expressionParameter}, ${expressionValue})`;\n break;\n }\n default: {\n const msg = `Unsupported operator ${type}`;\n throw new Error(msg);\n }\n }\n\n return result;\n }\n\n private applyCaseSensitiveSettings(expression: BinaryExpression, value: string): string {\n if (expression.isCaseSensitive()) {\n return value;\n }\n\n return `tolower(${value})`;\n }\n\n private checkType(constant: any): string {\n if (this.isGuid(constant))\n return constant;\n\n if (constant == null)\n return null;\n\n constant = constant.replace(/[+/?%#&]/g, function ($0) {\n return encodeURIComponent($0);\n });\n\n // escapes the apostrophes\n constant = constant.replace(/'/g, \"''\");\n\n return \"'\" + constant + \"'\";\n }\n\n private isGuid(constant: string): boolean {\n return /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/.test(constant);\n }\n}\n","import { RequestFactory } from \"./RequestFactory\";\nimport { BlobBuilder } from \"../BlobBuilder\";\nimport { utils } from \"../utils\";\nimport { HEADER_NAMES, HTTP_METHODS } from \"../constants\";\nimport { ExecutableRequest } from \"./ExecutableRequest\";\nimport { SDKOptions, Token, TypeOptions } from \"../Sitefinity\";\nimport { RequestBase, RequestOptionsBaseExtended } from \"./RequestBase\";\nimport { CreateRelatedRequestOptions, RequestOptionsBase, PropertyRequestOptions, SingleRelatedItemRequestOptions, CreateRequestOptions, UpdateRequestOptions } from \"../Data\";\nimport { PostRequestOptionsExtended, PutRequestOptionsExtended, RelatedByIdRequestOptionsExtended, RelatedRequestOptionsExtended, UploadRequestOptionsExtended } from \"./Request\";\nimport { Query } from \"../Query\";\n\n/**\n * The transaction class is used to group operations that involve data manipulation together and execute them as a single atomic operation.\n */\nexport class Transaction {\n id: number;\n counter: number;\n requests: TransactionRequest[];\n private urlOptions: TypeOptions;\n private factory: RequestFactory;\n\n constructor(urlOptions: TypeOptions, factory: RequestFactory) {\n this.urlOptions = urlOptions;\n this.factory = factory;\n this.requests = [];\n this.counter = 0;\n }\n\n upload(parameters: any): number {\n const urlOptions = this.urlParametersClone(parameters.entitySet);\n\n const options: UploadRequestOptionsExtended = {\n urlOptions: urlOptions,\n data: parameters.data,\n contentType: parameters.contentType,\n fileName: parameters.fileName,\n key: parameters.key,\n uploadProperties: parameters.uploadProperties\n };\n\n const request = this.factory.upload(options);\n\n return this.addRequest(request);\n }\n\n /**\n * Adds a POST request to create a single item.\n */\n create(parameters: BatchCreateRequestOptions) {\n if (!(parameters || parameters.entitySet))\n throw \"entitySet is required!\";\n\n const urlOptions = this.urlParametersClone(parameters.entitySet);\n\n const options: PostRequestOptionsExtended = {\n key: parameters.key,\n action: parameters.action,\n urlOptions: urlOptions,\n data: parameters.data\n };\n\n const request = this.factory.create(options);\n\n return this.addRequest(request);\n }\n\n /**\n * Adds a POST request to execute an operation on single item.\n */\n // TODO: Remove\n operation(parameters: BatchCreateRequestOptions) {\n if (!(parameters || parameters.entitySet || parameters.key || parameters.data))\n throw \"parameters: entitySet, key and data are required!\";\n\n const urlOptions = this.urlParametersClone(parameters.entitySet);\n\n const options: PostRequestOptionsExtended = {\n urlOptions: urlOptions,\n key: parameters.key,\n action: \"operation\",\n data: parameters.data\n };\n\n const request = this.factory.create(options);\n\n this.overrideUrlGeneration(request, parameters.key, \"operation\", options.urlOptions, options.query);\n this.addRequest(request);\n }\n\n /**\n * Adds a PATCH request to update a single item.\n */\n update(parameters: BatchUpdateRequestOptions) {\n if (!(parameters || parameters.entitySet || parameters.key || parameters.data))\n throw \"parameters: entitySet, key and data are required!\";\n\n const urlOptions = this.urlParametersClone(parameters.entitySet);\n\n const options: PutRequestOptionsExtended = {\n urlOptions: urlOptions,\n saveTemp: parameters.saveTemp,\n key: parameters.key,\n data: parameters.data\n };\n\n const request = this.factory.update(options);\n\n this.overrideUrlGeneration(request, parameters.key, undefined, options.urlOptions, options.query);\n this.addRequest(request);\n }\n\n /**\n * Adds a DELETE request to delete a single item.\n */\n destroy(parameters: BatchSingleItemRequestOptions) {\n if (!(parameters || parameters.entitySet || parameters.key))\n throw \"parameters: entitySet and key are required!\";\n\n const urlOptions = this.urlParametersClone(parameters.entitySet);\n\n const options: RequestOptionsBaseExtended = {\n urlOptions: urlOptions,\n key: parameters.key\n };\n\n const request = this.factory.destroy(options);\n\n this.overrideUrlGeneration(request, parameters.key, undefined, options.urlOptions, options.query);\n\n this.addRequest(request);\n }\n\n /**\n * Adds a DELETE request to delete all of the associated members in the relation property.\n */\n destroyRelated(parameters: BatchPropertyRequestOptions) {\n if (!(parameters || parameters.entitySet || parameters.key))\n throw \"parameters: entitySet and key are required!\";\n\n const urlOptions = this.urlParametersClone(parameters.entitySet);\n\n const options: RelatedRequestOptionsExtended = {\n urlOptions: urlOptions,\n key: parameters.key,\n property: parameters.property\n };\n\n const request = this.factory.destroyRelated(options);\n\n const propertyURL = (request as any).property + \"/$ref\";\n this.overrideUrlGeneration(request, parameters.key, propertyURL, options.urlOptions, options.query);\n\n this.addRequest(request);\n }\n\n /**\n * Adds a DELETE request to retrieve the a single entry of the associated members in the relation property.\n */\n destroyRelatedById(parameters: BatchSingleRelatedItemRequestOptions) {\n if (!(parameters || parameters.entitySet || parameters.key || parameters.relatedId || parameters.property))\n throw \"parameters: entitySet, key, relatedId and property are required!\";\n\n const urlOptions = this.urlParametersClone(parameters.entitySet);\n\n const options: RelatedByIdRequestOptionsExtended = {\n urlOptions: urlOptions,\n key: parameters.key,\n relatedId: parameters.relatedId,\n property: parameters.property\n };\n\n const request = this.factory.destroyRelatedById(options);\n\n this.addRequest(request);\n }\n\n /**\n * Adds a POST request to add a related item to the property collection.\n */\n createRelated(parameters: BatchCreateRelatedRequestOptions) {\n if (!(parameters || parameters.entitySet || parameters.key || parameters.link || parameters.property))\n throw \"parameters: entitySet, key, link and property are required!\";\n\n // TODO: rethink about the urls\n const urlOptions = this.urlParametersClone(parameters.entitySet);\n\n for (let index = 0; index < this.requests.length; index += 1) {\n if (this.requests[index].id == parameters.link) {\n parameters.link = \"$\" + this.requests[index].id;\n }\n }\n\n const data = {\n \"@odata.id\": parameters.link\n };\n\n const options: RelatedRequestOptionsExtended = {\n urlOptions: urlOptions,\n key: parameters.key,\n property: parameters.property,\n data: data\n };\n\n const request = this.factory.createRelated(options);\n const propertyURL = (request as any).property + \"/$ref\";\n this.overrideUrlGeneration(request, parameters.key, propertyURL, options.urlOptions, options.query);\n\n return this.addRequest(request);\n }\n\n private overrideUrlGeneration(request: RequestBase, key: number | string, additionalPropertyURL: string, urlOptions?: TypeOptions, query?: Query) {\n // TODO: match requests with Content-ID's!\n // Content-ID's are the same as id's in requests.\n for (let index = 0; index < this.requests.length; index += 1) {\n if (this.requests[index].id == key) {\n request.buildUrl = function () {\n let uri = \"$\" + key;\n if (additionalPropertyURL !== undefined) {\n uri = uri + \"/\" + additionalPropertyURL;\n }\n\n if (urlOptions) {\n const queryString = request.getQueryString(urlOptions, query);\n if (queryString) {\n uri = uri + queryString;\n }\n }\n\n return uri;\n };\n }\n }\n }\n\n private addRequest(request: RequestBase) {\n this.requests.push({ id: this.counter, request: request });\n return this.counter++;\n }\n\n private urlParametersClone(entitySet: string) {\n const options = utils.clone(this.urlOptions);\n options.entitySet = entitySet;\n\n return options;\n }\n}\n\n/**\n * The batch request class is used for grouping requests into a single batch request to execute on the server.\n */\nexport class BatchRequest extends ExecutableRequest {\n counter: number;\n requests: BatchInnerRequest[];\n private factory: RequestFactory;\n private boundary: string;\n private responseHeaderRegex: RegExp;\n private responseStatusRegex: RegExp;\n\n\n public static constants = {\n newLine: \"\\r\\n\"\n };\n\n constructor(requestOptions: BatchRequestOptionsExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions, token, sdkOptions);\n this.factory = requestOptions.factory;\n this.requests = [];\n this.counter = 0;\n this.boundary = this.createBoundary(\"sf_batch_\");\n this.responseHeaderRegex = /^([^()<>@,;:\\\\\"\\/[\\]?={} \\t]+)\\s?:\\s?(.*)/;\n this.responseStatusRegex = /^HTTP\\/1\\.\\d (\\d{3}) (.*)$/i;\n }\n\n /**\n * Adds a GET request to retrieve a collection of items.\n */\n get(parameters: BatchRequestOptionsBase) {\n if (!(parameters || parameters.entitySet))\n throw \"entitySet is required!\";\n\n const urlOptions = this.urlParametersClone(parameters.entitySet);\n\n const options: RequestOptionsBaseExtended = {\n urlOptions: urlOptions,\n action: parameters.action,\n query: parameters.query,\n fallbackProperties: parameters.fallbackProperties\n };\n\n const request = this.factory.get(options);\n\n this.addRequest(request);\n }\n\n /**\n * Adds a GET request for the retrieval of a single item.\n */\n getSingle(parameters: BatchSingleItemRequestOptions) {\n if (!(parameters || parameters.entitySet || parameters.key))\n throw \"parameters: entitySet and key are required!\";\n\n const urlOptions = this.urlParametersClone(parameters.entitySet);\n\n const options: RequestOptionsBaseExtended = {\n urlOptions: urlOptions,\n action: parameters.action,\n key: parameters.key,\n query: parameters.query\n };\n\n const request = this.factory.getSingle(options);\n\n this.addRequest(request);\n }\n\n /**\n * Adds a GET request to get the property of a single item.\n */\n getProperty(parameters: BatchPropertyRequestOptions) {\n if (!(parameters || parameters.entitySet || parameters.key, parameters.property))\n throw \"parameters: entitySet, key and property are required!\";\n\n const urlOptions = this.urlParametersClone(parameters.entitySet);\n\n const options: RelatedRequestOptionsExtended = {\n urlOptions: urlOptions,\n key: parameters.key,\n property: parameters.property\n };\n\n const request = this.factory.getProperty(options);\n\n this.addRequest(request);\n }\n\n /**\n * Adds a GET request to get the related property value of a single item.\n */\n getRelated(parameters: BatchPropertyRequestOptions) {\n if (!(parameters || parameters.entitySet || parameters.key || parameters.property))\n throw \"parameters: entitySet, key and property are required!\";\n\n const urlOptions = this.urlParametersClone(parameters.entitySet);\n\n const options: RelatedRequestOptionsExtended = {\n urlOptions: urlOptions,\n key: parameters.key,\n property: parameters.property\n };\n\n const request = this.factory.getRelated(options);\n\n this.addRequest(request);\n }\n\n /**\n * Adds a GET request to retrieve the related property value of a single item by the id of the related item.\n */\n getRelatedById(parameters: BatchSingleRelatedItemRequestOptions) {\n if (!(parameters || parameters.entitySet || parameters.key || parameters.relatedId || parameters.property))\n throw \"parameters: entitySet, key, relatedId and property are required!\";\n\n const urlOptions = this.urlParametersClone(parameters.entitySet);\n\n const options: RelatedByIdRequestOptionsExtended = {\n urlOptions: urlOptions,\n key: parameters.key,\n relatedId: parameters.relatedId,\n property: parameters.property\n };\n\n const request = this.factory.getRelatedById(options);\n\n this.addRequest(request);\n }\n\n /**\n * Begins a transaction.\n */\n beginTransaction(): Transaction {\n const option = utils.clone(this.urlOptions);\n const newTransaction = new Transaction(option, this.factory);\n newTransaction.id = ++this.counter;\n return newTransaction;\n }\n\n /**\n * Ends a transaction.\n */\n endTransaction(transaction: Transaction) {\n this.requests.push({\n id: transaction.id,\n request: transaction\n });\n }\n\n getBody(): object {\n return this.buildRequestBody();\n }\n\n getMethod(): string {\n return HTTP_METHODS.post;\n }\n\n getHeaders(): { [key: string]: string } {\n const headers = this.urlOptions.additionalHeaders ?? {};\n const contentType = \"multipart/mixed; boundary=\" + this.boundary;\n headers[HEADER_NAMES.contentType] = contentType;\n\n return headers;\n }\n\n buildUrl(): string {\n let url = this.urlOptions.baseUrl + \"$batch\";\n const queryString = this.getQueryString(this.urlOptions, this.query);\n\n if (queryString) {\n url += queryString;\n }\n\n return url;\n }\n\n protected parseResponse(http: XMLHttpRequest): any {\n const context = {\n position: 0,\n boundaries: []\n };\n\n const pos = context.position;\n const partHeaders = this.readHeaders(http.getAllResponseHeaders(), context);\n const partContentType = this.contentType(partHeaders[\"content-type\"]);\n if (partContentType && partContentType.mediaType == \"multipart/mixed\") {\n context.boundaries.push((partContentType.properties as any).boundary);\n }\n\n context.position = pos;\n\n const batchResponse = this.parseBatchResponse(http.responseText, context);\n const responseParsed = [];\n for (let i = 0; i < batchResponse.length; i++) {\n try {\n const currentRequest = this.requests[i];\n let finalResult = null;\n let key = null;\n\n const singleResponse = batchResponse[i];\n const changesets = singleResponse.__changeResponses;\n if (changesets) {\n finalResult = [];\n const currentRequests = currentRequest ? (currentRequest.request as Transaction).requests : [];\n\n for (let j = 0; j < changesets.length; j++) {\n key = currentRequests[j] ? currentRequests[j].request.key : null;\n const changeset = changesets[j];\n const response = changeset.response;\n const responseResult = this.getResponseResult(response, key);\n finalResult.push(responseResult);\n }\n } else {\n key = currentRequest ? (currentRequest.request as any).key : null;\n const response = singleResponse.response;\n finalResult = this.getResponseResult(response, key);\n }\n\n const statusCodeCheck = function (r) {\n return r.statusCode >= 400;\n };\n\n const responseCheck = function (r) {\n let success = true;\n if (r.data && r.data.hasOwnProperty(\"Success\")) {\n success = r.data.Success;\n }\n\n return success;\n };\n\n const isSuccessful = Array.isArray(finalResult) ?\n finalResult.filter(statusCodeCheck).length === 0 && finalResult.filter(responseCheck).length === finalResult.length :\n !statusCodeCheck(finalResult) && responseCheck(finalResult);\n\n responseParsed.push({ isSuccessful: isSuccessful, response: finalResult });\n }\n catch (e) {\n // TODO: why continue ?\n continue;\n }\n }\n\n const isSuccessfulCheck = (r) => {\n return !r.isSuccessful;\n };\n\n const batchIsSuccessful = responseParsed.filter(isSuccessfulCheck).length === 0;\n return { data: responseParsed, isSuccessful: batchIsSuccessful };\n }\n\n private parseBatchResponse(text, context) {\n // get boundary from response\n const delimiter = \"--\" + this.currentBoundary(context);\n this.readTo(text, delimiter, context);\n this.readLine(text, context);\n\n const responses = [];\n let partEnd;\n while (partEnd !== \"--\" && context.position < text.length) {\n const partHeaders = this.readHeaders(text, context);\n const partContentType = this.contentType(partHeaders[\"content-type\"]);\n let changeResponses;\n if (partContentType && partContentType.mediaType === \"multipart/mixed\") {\n context.boundaries.push((partContentType.properties as any).boundary);\n\n try {\n changeResponses = this.parseBatchResponse(text, context);\n } catch (e) {\n e.response = this.readResponse(text, context, delimiter);\n changeResponses = [e];\n }\n responses.push({ __changeResponses: changeResponses });\n context.boundaries.pop();\n this.readTo(text, \"--\" + this.currentBoundary(context), context);\n } else {\n if (!partContentType || partContentType.mediaType !== \"application/http\") {\n throw { message: \"invalid MIME part type \" };\n }\n // Skip empty line\n this.readLine(text, context);\n\n // Read the response\n let response: any = this.readResponse(text, context, delimiter);\n\n try {\n if (response.statusCode >= 200 && response.statusCode <= 299) {\n response = { message: response.statusCode + \" Http request is OK\", response: response };\n } else {\n // Keep track of failed responses and continue processing the batch.\n response = { message: \"HTTP request failed\", response: response };\n }\n } catch (e) {\n response = e;\n }\n\n responses.push(response);\n }\n\n partEnd = text.substr(context.position, 2);\n\n // Ignore the incoming line.\n this.readLine(text, context);\n }\n\n return responses;\n }\n\n private getResponseResult(response, key) {\n const responseBody = response.body;\n const data = utils.parseStringToJson(responseBody);\n\n return {\n key: key,\n data: data,\n statusCode: response.statusCode,\n headers: response.headers\n };\n }\n\n private currentBoundary(context) {\n const boundaries = context.boundaries;\n return boundaries[boundaries.length - 1];\n }\n\n private contentType(str) {\n\n if (!str) {\n return null;\n }\n\n const contentTypeParts = str.split(\";\");\n const properties = {};\n\n let i, len;\n for (i = 1, len = contentTypeParts.length; i < len; i++) {\n const contentTypeParams = contentTypeParts[i].split(\"=\");\n properties[contentTypeParams[0].replace(/^\\s+|\\s+$/g, \"\")] = contentTypeParams[1];\n }\n\n return { mediaType: contentTypeParts[0].replace(/^\\s+|\\s+$/g, \"\"), properties: properties };\n }\n\n private readTo(text, str, context) {\n const start = context.position || 0;\n let end = text.length;\n if (str) {\n end = text.indexOf(str, start);\n if (end === -1) {\n return null;\n }\n context.position = end + str.length;\n } else {\n context.position = end;\n }\n\n return text.substring(start, end);\n }\n\n private readLine(text, context) {\n return this.readTo(text, BatchRequest.constants.newLine, context);\n }\n\n private readHeaders(text, context) {\n const headers = {};\n let parts;\n let line;\n let pos;\n\n do {\n pos = context.position;\n line = this.readLine(text, context);\n parts = this.responseHeaderRegex.exec(line);\n if (parts !== null) {\n headers[parts[1].toLowerCase()] = parts[2];\n } else {\n // Whatever was found is not a header, so reset the context position.\n context.position = pos;\n }\n } while (line && parts);\n\n return headers;\n }\n\n private readResponse(text, context, delimiter) {\n // Read the status line.\n const pos = context.position;\n const match = this.responseStatusRegex.exec(this.readLine(text, context));\n\n let statusCode;\n let statusText;\n let headers;\n\n if (match) {\n statusCode = match[1];\n statusText = match[2];\n headers = this.readHeaders(text, context);\n this.readLine(text, context);\n } else {\n context.position = pos;\n }\n\n return {\n statusCode: statusCode,\n statusText: statusText,\n headers: headers,\n body: this.readTo(text, BatchRequest.constants.newLine + delimiter, context)\n };\n }\n\n private buildRequestBody() {\n const builder = new BlobBuilder();\n builder.append(\"\");\n\n for (let index = 0; index < this.requests.length; index += 1) {\n\n const request = this.requests[index].request;\n if (index != 0)\n builder.append(BatchRequest.constants.newLine + BatchRequest.constants.newLine);\n\n builder.append(\"--\" + this.boundary);\n\n if (request instanceof Transaction) {\n builder.append(this.buildTransaction(request));\n }\n else {\n builder.append(this.buildRequest(request));\n }\n }\n\n builder.append(this.createDelimeter(this.boundary, true));\n return builder.build();\n }\n\n private buildRequest(request: RequestBase): Blob {\n const builder = new BlobBuilder();\n builder.append(BatchRequest.constants.newLine + \"Content-Type: application/http\" +\n BatchRequest.constants.newLine + \"Content-Transfer-Encoding: binary\" +\n BatchRequest.constants.newLine +\n BatchRequest.constants.newLine +\n request.getMethod() +\n \" \" + request.buildUrl() + \" HTTP/1.1\");\n\n return builder.build();\n }\n\n private buildTransaction(transaction: Transaction) {\n if (transaction.requests.length == 0)\n return;\n\n const builder = new BlobBuilder();\n builder.append(BatchRequest.constants.newLine);\n\n const changeset = this.createBoundary(\"sf_changeset_\");\n builder.append(\"Content-Type: multipart/mixed; boundary=\" + changeset);\n\n const changesetRequests = transaction.requests;\n for (let index = 0; index < changesetRequests.length; index += 1) {\n const currentRequest = changesetRequests[index].request;\n\n // we shouldn't add new lines after blob content. Otherwise they are added to the blob and corrupt it\n const shouldAddNewLine = index === 0 || !utils.isBlob(changesetRequests[index - 1].request.getBody());\n builder.append(this.createDelimeter(changeset, false, shouldAddNewLine) +\n BatchRequest.constants.newLine + \"Content-Type: application/http\" +\n BatchRequest.constants.newLine + \"Content-Transfer-Encoding: binary\" +\n BatchRequest.constants.newLine + \"Content-ID: \" + changesetRequests[index].id);\n\n const requestUrl = currentRequest.buildUrl();\n builder.append(BatchRequest.constants.newLine + BatchRequest.constants.newLine + currentRequest.getMethod() + \" \" + requestUrl + \" HTTP/1.1\");\n\n const headers = currentRequest.getHeaders();\n const headerNames = Object.keys(headers);\n for (let i = 0; i < headerNames.length; i++) {\n const headerName = headerNames[i];\n builder.append(BatchRequest.constants.newLine + headerName + \": \" + headers[headerName]);\n }\n\n const body = utils.serializeToJSON(currentRequest.getBody());\n if (body) {\n builder.append(BatchRequest.constants.newLine + BatchRequest.constants.newLine);\n builder.append(body);\n }\n }\n\n builder.append(this.createDelimeter(changeset, true));\n\n return builder.build();\n }\n\n private createDelimeter(boundary, close, shouldAddNewLine = true) {\n let result = \"\";\n if (shouldAddNewLine) {\n result = BatchRequest.constants.newLine + BatchRequest.constants.newLine;\n }\n\n result += \"--\" + boundary;\n if (close) {\n result += \"--\";\n result += BatchRequest.constants.newLine;\n }\n return result;\n }\n\n private createBoundary(prefix) {\n return prefix + utils.hex16() + \"-\" + utils.hex16() + \"-\" + utils.hex16();\n }\n\n private addRequest(request: RequestBase) {\n this.requests.push({ id: this.counter, request: request });\n return this.counter++;\n }\n\n private urlParametersClone(entitySet: string): TypeOptions {\n const options = utils.clone(this.urlOptions);\n options.entitySet = entitySet;\n\n return options;\n }\n}\n\ninterface TransactionRequest {\n id: number,\n request: RequestBase;\n}\n\ninterface BatchInnerRequest {\n id: number,\n request: RequestBase | Transaction;\n}\n\nexport interface BatchRequestOptionsExtended extends RequestOptionsBaseExtended {\n factory: RequestFactory;\n}\n\nexport interface BatchRequestOptionsBase extends RequestOptionsBase {\n entitySet: string;\n}\n\nexport interface BatchCreateRequestOptions extends CreateRequestOptions {\n entitySet: string;\n}\n\nexport interface BatchUpdateRequestOptions extends UpdateRequestOptions {\n entitySet: string;\n}\n\nexport interface BatchSingleItemRequestOptions extends RequestOptionsBase {\n entitySet: string;\n}\n\nexport interface BatchPropertyRequestOptions extends PropertyRequestOptions {\n entitySet: string;\n}\n\nexport interface BatchSingleRelatedItemRequestOptions extends SingleRelatedItemRequestOptions {\n entitySet: string;\n}\n\nexport interface BatchCreateRelatedRequestOptions extends CreateRelatedRequestOptions {\n entitySet: string;\n}\n","import { RequestBase, RequestOptionsBaseExtended } from \"./RequestBase\";\nimport { utils } from \"../utils\";\nimport { HEADER_NAMES } from \"../constants\";\nimport { SDKOptions, Token } from \"../Sitefinity\";\n\nconst XMLHttpRequestDone = 4;\n\nexport class ExecutableRequest extends RequestBase {\n protected http: XMLHttpRequest;\n\n private token: Token;\n private enableUnlimitedChoices: boolean;\n private integrationMode: boolean;\n\n constructor(requestOptions: RequestOptionsBaseExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions);\n this.token = token;\n this.successCb = this.successCb || sdkOptions.handlers?.successCb;\n this.failureCb = this.failureCb || sdkOptions.handlers?.failureCb;\n this.enableUnlimitedChoices = sdkOptions.enableUnlimitedChoices;\n this.integrationMode = sdkOptions.integrationMode;\n }\n\n execute() {\n this.http = new XMLHttpRequest();\n\n this.http.onreadystatechange = () => {\n if (this.http.readyState === XMLHttpRequestDone) {\n if (this.http.status > 0) {\n let data = this.parseResponse(this.http);\n\n if (this.http.status >= 200 && this.http.status <= 206) {\n if (this.successCb && utils.isFunction(this.successCb)) {\n this.successCb(data);\n }\n }\n else if (this.http.status >= 400) {\n // When the data is string, we save the string as message\n // and convert the data to normal object with message property\n if (utils.isString(data)) {\n data = {\n message: data\n };\n }\n\n data.status = this.http.status;\n\n // in case of errors we would like there to be one handler for all of the errors\n if (this.failureCb && utils.isFunction(this.failureCb)) {\n this.failureCb(data);\n }\n }\n }\n }\n };\n\n\n this.executeProgressEvent();\n\n const method = this.getMethod();\n const url = this.buildUrl();\n this.http.open(method, url, true);\n this.setHeaders(this.http, this.getHeaders());\n\n this.http.send(utils.serializeToJSON(this.getBody()));\n }\n\n protected executeProgressEvent() {\n if (this.http.upload) {\n this.http.upload.onprogress = (event) => {\n if (this.progressCb && utils.isFunction(this.progressCb)) {\n this.progressCb(event);\n }\n };\n }\n }\n\n private setHeaders(http: XMLHttpRequest, headers: { [key: string]: string }) {\n const headerKeys = Object.keys(headers);\n for (let i = 0; i < headerKeys.length; i++) {\n const currentHeaderName = headerKeys[i];\n http.setRequestHeader(currentHeaderName, headers[currentHeaderName]);\n }\n\n if (this.token) {\n if (typeof this.token === \"string\") {\n // for backward compatibility\n http.setRequestHeader(HEADER_NAMES.authorization, this.token);\n } else {\n http.setRequestHeader(HEADER_NAMES.authorization, this.token.type + \" \" + this.token.value);\n }\n }\n\n if (this.enableUnlimitedChoices) {\n http.setRequestHeader(HEADER_NAMES.choicesBinaryRepresentation, \"true\");\n }\n\n if (this.integrationMode) {\n http.setRequestHeader(HEADER_NAMES.integrationMode, \"true\");\n }\n\n // for backward compatibility\n http.setRequestHeader(HEADER_NAMES.serviceRequest, \"true\");\n }\n}\n\nexport interface ResponseHandlers {\n /**\n * The success handler.\n */\n successCb?: Function;\n\n /**\n * The failure handler.\n */\n failureCb?: Function;\n}\n","import { HEADER_NAMES, HTTP_METHODS } from \"../constants\";\nimport { SDKOptions, Token } from \"../Sitefinity\";\nimport { utils } from \"../utils\";\nimport { ExecutableRequest } from \"./ExecutableRequest\";\nimport { RequestOptionsBaseExtended } from \"./RequestBase\";\n\nexport class GetRequest extends ExecutableRequest {\n constructor(requestOptions: RequestOptionsBaseExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions, token, sdkOptions);\n }\n\n getMethod(): string {\n return HTTP_METHODS.get;\n }\n}\n\nexport class GetByIdRequest extends ExecutableRequest {\n constructor(requestOptions: RequestOptionsBaseExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions, token, sdkOptions);\n }\n\n getMethod(): string {\n return HTTP_METHODS.get;\n }\n}\n\nexport class DeleteRequest extends ExecutableRequest {\n constructor(requestOptions: RequestOptionsBaseExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions, token, sdkOptions);\n }\n\n getMethod(): string {\n return HTTP_METHODS.delete;\n }\n}\n\nexport class UpdateRequest extends ExecutableRequest {\n private data: object;\n private saveTemp: boolean;\n\n constructor(requestOptions: PutRequestOptionsExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions, token, sdkOptions);\n this.data = requestOptions.data;\n this.saveTemp = requestOptions.saveTemp;\n }\n\n getMethod(): string {\n return HTTP_METHODS.patch;\n }\n\n getBody(): object {\n const body = utils.convertDateFieldToISOString(this.data);\n return body;\n }\n\n getHeaders(): { [key: string]: string } {\n const headers = super.getHeaders();\n if (this.saveTemp) {\n headers[HEADER_NAMES.operation] = \"SaveTemp\";\n }\n\n return headers;\n }\n}\n\nexport class CreateRequest extends ExecutableRequest {\n protected data: object;\n\n constructor(requestOptions: PostRequestOptionsExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions, token, sdkOptions);\n this.data = requestOptions.data;\n }\n\n getMethod(): string {\n return HTTP_METHODS.post;\n }\n\n getBody(): object {\n const body = utils.convertDateFieldToISOString(this.data);\n return body;\n }\n}\n\nexport class GetRelatedRequest extends GetByIdRequest {\n private property: string;\n\n constructor(requestOptions: RelatedRequestOptionsExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions, token, sdkOptions);\n this.property = requestOptions.property;\n }\n\n buildUrl(): string {\n const url = this.urlOptions.baseUrl + this.urlOptions.entitySet + \"(\" + this.key + \")/\" + this.property;\n return this.addQueryParameters(url);\n }\n}\n\nexport class GetRelatedByIdRequest extends GetByIdRequest {\n private property: string;\n private relatedId: string;\n\n constructor(requestOptions: RelatedByIdRequestOptionsExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions, token, sdkOptions);\n this.property = requestOptions.property;\n this.relatedId = requestOptions.relatedId;\n }\n\n buildUrl(): string {\n const url = this.urlOptions.baseUrl + this.urlOptions.entitySet + \"(\" + this.key + \")/\" + this.property + \"(\" + this.relatedId + \")\";\n return this.addQueryParameters(url);\n }\n}\n\nexport class DeleteRelatedRequest extends DeleteRequest {\n private property: string;\n\n constructor(requestOptions: RelatedRequestOptionsExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions, token, sdkOptions);\n this.property = requestOptions.property;\n }\n\n buildUrl(): string {\n const url = this.urlOptions.baseUrl + this.urlOptions.entitySet + \"(\" + this.key + \")/\" + this.property + \"/$ref\";\n return this.addQueryParameters(url);\n }\n}\n\nexport class DeleteRelatedByIdRequest extends DeleteRequest {\n private property: string;\n private relatedId: string;\n\n constructor(requestOptions: RelatedByIdRequestOptionsExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions, token, sdkOptions);\n this.property = requestOptions.property;\n this.relatedId = requestOptions.relatedId;\n }\n\n buildUrl(): string {\n const url = this.urlOptions.baseUrl + this.urlOptions.entitySet + \"(\" + this.key + \")/\" + this.property + \"(\" + this.relatedId + \")/$ref\";\n return this.addQueryParameters(url);\n }\n}\n\nexport class CreateRelatedRequest extends CreateRequest {\n private property: string;\n\n constructor(requestOptions: RelatedRequestOptionsExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions, token, sdkOptions);\n this.property = requestOptions.property;\n this.key = requestOptions.key;\n }\n\n buildUrl(): string {\n const url = this.urlOptions.baseUrl + this.urlOptions.entitySet + \"(\" + this.key + \")/\" + this.property + \"/$ref\";\n return this.addQueryParameters(url);\n }\n}\n\nexport class UploadRequest extends CreateRequest {\n private fileName: string;\n private uploadProperties: { [key: string]: string };\n private contentType: string;\n\n constructor(requestOptions: UploadRequestOptionsExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions, token, sdkOptions);\n this.fileName = requestOptions.fileName;\n this.uploadProperties = requestOptions.uploadProperties;\n this.contentType = requestOptions.contentType;\n }\n\n getHeaders(): { [key: string]: string } {\n const headers = super.getHeaders();\n headers[HEADER_NAMES.contentType] = this.contentType || \"application/octet-stream\";\n headers[HEADER_NAMES.fileName] = this.fileName;\n headers[HEADER_NAMES.properties] = JSON.stringify(this.uploadProperties);\n headers[HEADER_NAMES.contentEncoding] = \"identity\";\n return headers;\n }\n\n getBody(): object {\n return this.data;\n }\n\n getMethod(): string {\n if (this.key) {\n return HTTP_METHODS.patch;\n }\n\n return HTTP_METHODS.post;\n }\n}\n\nexport class UploadChunkRequest extends CreateRequest {\n contentType: string;\n chunkOrdinal: number;\n chunkSize: number;\n chunkedFileUploadSessionId: string;\n numberOfChunks: number;\n positionInQueue: number;\n blobStorageProviderName: string;\n fileName: string;\n\n constructor(requestOptions: UploadChunkRequestOptionsExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions, token, sdkOptions);\n this.contentType = requestOptions.fileMimeType;\n this.chunkOrdinal = requestOptions.chunkOrdinal;\n this.chunkedFileUploadSessionId = requestOptions.chunkedFileUploadSessionId;\n this.chunkSize = requestOptions.chunkSize;\n this.numberOfChunks = requestOptions.numberOfChunks;\n this.positionInQueue = requestOptions.positionOfChunkInQueue;\n this.blobStorageProviderName = requestOptions.blobStorageProviderName;\n this.data = requestOptions.chunkBlob;\n this.fileName = requestOptions.fileName;\n }\n\n getHeaders(): { [key: string]: string } {\n const headers = super.getHeaders();\n headers[HEADER_NAMES.contentEncoding] = \"identity\";\n headers[HEADER_NAMES.contentType] = this.contentType || \"application/octet-stream\";\n headers[HEADER_NAMES.chunkOrdinal] = this.chunkOrdinal.toString();\n headers[HEADER_NAMES.chunkedFileUploadSessionId] = this.chunkedFileUploadSessionId;\n headers[HEADER_NAMES.chunkSize] = this.chunkSize.toString();\n headers[HEADER_NAMES.blobStorageProviderName] = this.blobStorageProviderName.toString();\n headers[HEADER_NAMES.fileName] = this.fileName;\n\n return headers;\n }\n\n getBody(): object {\n return this.data;\n }\n\n getMethod(): string {\n return HTTP_METHODS.post;\n }\n\n protected override executeProgressEvent(): void {\n if (this.http.upload) {\n this.http.upload.onprogress = () => {\n const payload = {\n lengthComputable: true,\n loaded: this.positionInQueue,\n total: this.numberOfChunks\n };\n\n if (this.progressCb && utils.isFunction(this.progressCb)) {\n this.progressCb(payload);\n }\n };\n }\n }\n}\n\nexport class CommitChunksRequest extends CreateRequest {\n constructor(requestOptions: CommitChunksRequestOptionsExtended, token: Token, sdkOptions: SDKOptions) {\n super(requestOptions, token, sdkOptions);\n\n this.action = \"Default.CommitChunks\";\n\n this.data = {\n // ! this must be the param name that the operation provider on the server accepts\n commitChunksDto: {\n chunkedFileUploadSessionId: requestOptions.chunkedFileUploadSessionId,\n contentType: requestOptions.contentType,\n fileTotalSize: requestOptions.fileTotalSize,\n numberOfChunks: requestOptions.numberOfChunks,\n fileName: requestOptions.fileName,\n blobStorageProviderName: requestOptions.blobStorageProviderName,\n itemId: requestOptions.itemId || null,\n // ! must be named properties\n properties: requestOptions.uploadProperties\n }\n };\n }\n\n getMethod(): string {\n return HTTP_METHODS.post;\n }\n}\n\nexport interface PostRequestOptionsExtended extends RequestOptionsBaseExtended {\n data?: object;\n}\n\nexport interface PutRequestOptionsExtended extends PostRequestOptionsExtended {\n saveTemp: boolean;\n}\n\nexport interface RelatedRequestOptionsExtended extends PostRequestOptionsExtended {\n property: string;\n}\n\nexport interface RelatedByIdRequestOptionsExtended extends RelatedRequestOptionsExtended {\n relatedId: string;\n}\n\nexport interface UploadRequestOptionsExtended extends PostRequestOptionsExtended {\n fileName: string;\n contentType: string;\n uploadProperties: { [key: string]: string };\n}\n\nexport interface UploadChunkRequestOptionsExtended extends PostRequestOptionsExtended {\n fileMimeType: string;\n fileName: string;\n chunkedFileUploadSessionId: string;\n chunkSize: number;\n chunkOrdinal: number;\n numberOfChunks: number;\n chunkBlob: Blob;\n blobStorageProviderName: string;\n positionOfChunkInQueue?: number;\n}\n\nexport interface CommitChunksRequestOptionsExtended extends PostRequestOptionsExtended {\n chunkedFileUploadSessionId: string\n blobStorageProviderName: string;\n contentType: string;\n fileTotalSize: number;\n numberOfChunks: number;\n fileName: string;\n uploadProperties: { [key: string]: string };\n itemId?: string;\n}\n","import { CONTENT_TYPES, HEADER_NAMES, ODATA_PARAMS, SF_PARAMS } from \"../constants\";\nimport { RequestOptionsBase } from \"../Data\";\nimport { Query } from \"../Query\";\nimport { TypeOptions } from \"../Sitefinity\";\nimport { utils } from \"../utils\";\n\nexport class RequestBase {\n public successCb: Function;\n public failureCb: Function;\n public progressCb: Function;\n public key: string | number;\n public urlOptions: TypeOptions;\n protected query: Query;\n protected action: string;\n private fallbackProperties: string[];\n\n constructor(options: RequestOptionsBaseExtended) {\n this.successCb = options.successCb;\n this.failureCb = options.failureCb;\n this.progressCb = options.progressCb;\n this.urlOptions = options.urlOptions;\n this.key = options.key;\n this.action = options.action;\n this.fallbackProperties = options.fallbackProperties;\n this.query = options.query;\n }\n\n getQueryString(urlOptions: TypeOptions, query: Query): string {\n const paramDictionary: { [key: string]: string } = {};\n\n this.getQueryParameters(paramDictionary, urlOptions, query);\n const keys = Object.keys(paramDictionary);\n if (keys.length == 0)\n return null;\n\n let queryString = \"?\";\n for (const prop in paramDictionary) {\n queryString += prop + \"=\" + paramDictionary[prop] + \"&\";\n }\n\n queryString = queryString.substring(0, queryString.length - 1);\n\n return queryString;\n }\n\n getBody(): object {\n return undefined;\n }\n\n getMethod(): string {\n return null;\n }\n\n getHeaders(): { [key: string]: string } {\n const headers = this.urlOptions.additionalHeaders ?? {};\n headers[HEADER_NAMES.contentType] = CONTENT_TYPES.json;\n return headers;\n }\n\n buildUrl(): string {\n let url = this.urlOptions.baseUrl + (this.urlOptions.entitySet || \"\");\n url += this.key ? (\"(\" + this.key + \")\") : \"\";\n if (this.action) {\n url += url.endsWith(\"/\") ? \"\" : \"/\";\n url += this.action;\n }\n\n // including count here\n // not the best solution as build() is called once more in getQueryString\n // but not that big of an issue right now\n if (this.query) {\n const getCount = this.query.build().$count;\n\n if (utils.isBoolean(getCount) && !getCount) {\n url += \"/$count\";\n }\n }\n\n return this.addQueryParameters(url);\n }\n\n protected parseResponse(http: XMLHttpRequest): string | any {\n const data = utils.parseStringToJson(http.responseText);\n if (data) {\n if (http.status >= 400 && data.error) {\n return data.error;\n }\n\n return data;\n }\n\n return http.responseText;\n }\n\n protected addQueryParameters(url: string): string {\n let queryString = this.getQueryString(this.urlOptions, this.query);\n\n if (queryString) {\n if (url.indexOf(\"?\") > -1 && queryString[0] == \"?\") {\n queryString = \"&\" + queryString.substring(1);\n }\n\n url += queryString;\n }\n\n return url;\n }\n\n private getQueryParameters(paramDictionary: { [key: string]: string }, urlOptions: TypeOptions, query: Query) {\n if (query) {\n const builtQuery = query.build();\n if (utils.isString(builtQuery.$filter))\n paramDictionary[ODATA_PARAMS.$filter] = builtQuery.$filter;\n if (utils.isString(builtQuery.$select))\n paramDictionary[ODATA_PARAMS.$select] = builtQuery.$select;\n if (utils.isString(builtQuery.$expand))\n paramDictionary[ODATA_PARAMS.$expand] = builtQuery.$expand;\n if (utils.isString(builtQuery.$orderby))\n paramDictionary[ODATA_PARAMS.$orderby] = builtQuery.$orderby;\n if (utils.isNumber(builtQuery.$skip))\n paramDictionary[ODATA_PARAMS.$skip] = builtQuery.$skip;\n if (utils.isNumber(builtQuery.$top))\n paramDictionary[ODATA_PARAMS.$top] = builtQuery.$top;\n if (utils.isString(builtQuery.$search))\n paramDictionary[ODATA_PARAMS.$search] = builtQuery.$search;\n\n // inline count\n if (utils.isBoolean(builtQuery.$count) && builtQuery.$count)\n paramDictionary[ODATA_PARAMS.$count] = builtQuery.$count;\n }\n\n if (urlOptions.provider) {\n paramDictionary[SF_PARAMS.provider] = urlOptions.provider;\n }\n\n if (urlOptions.culture) {\n paramDictionary[SF_PARAMS.culture] = urlOptions.culture;\n }\n\n if (urlOptions.siteId) {\n paramDictionary[SF_PARAMS.siteId] = urlOptions.siteId;\n }\n\n if (this.fallbackProperties) {\n paramDictionary[SF_PARAMS.fallbackParams] = this.fallbackProperties.join();\n }\n\n if (urlOptions.additionalQueryParams) {\n for (const key in urlOptions.additionalQueryParams) {\n if (urlOptions.additionalQueryParams.hasOwnProperty(key)) {\n paramDictionary[key] = urlOptions.additionalQueryParams[key];\n }\n }\n }\n }\n}\n\nexport interface RequestOptionsBaseExtended extends RequestOptionsBase {\n urlOptions: TypeOptions;\n}\n","import { GetRequest, GetByIdRequest, CreateRequest, UpdateRequest, DeleteRequest, GetRelatedRequest, GetRelatedByIdRequest, DeleteRelatedRequest, DeleteRelatedByIdRequest, CreateRelatedRequest, UploadRequest, PostRequestOptionsExtended, PutRequestOptionsExtended, RelatedRequestOptionsExtended, RelatedByIdRequestOptionsExtended, UploadRequestOptionsExtended, UploadChunkRequest, CommitChunksRequest, CommitChunksRequestOptionsExtended, UploadChunkRequestOptionsExtended } from \"./Request\";\nimport { SDKOptions, Token } from \"../Sitefinity\";\nimport { BatchRequest, BatchRequestOptionsExtended } from \"./BatchRequest\";\nimport { RequestOptionsBaseExtended } from \"./RequestBase\";\n\nexport class RequestFactory {\n public token: Token;\n private options: SDKOptions;\n\n constructor(options: SDKOptions) {\n this.options = options;\n }\n\n get(parameters: RequestOptionsBaseExtended) {\n return new GetRequest(parameters, this.token, this.options);\n }\n\n getSingle(parameters: RequestOptionsBaseExtended) {\n return new GetByIdRequest(parameters, this.token, this.options);\n }\n\n create(parameters: PostRequestOptionsExtended) {\n return new CreateRequest(parameters, this.token, this.options);\n }\n\n update(parameters: PutRequestOptionsExtended) {\n return new UpdateRequest(parameters, this.token, this.options);\n }\n\n destroy(parameters: RequestOptionsBaseExtended) {\n return new DeleteRequest(parameters, this.token, this.options);\n }\n\n getProperty(parameters: RelatedRequestOptionsExtended) {\n return new GetRelatedRequest(parameters, this.token, this.options);\n }\n\n getRelated(parameters: RelatedRequestOptionsExtended) {\n return new GetRelatedRequest(parameters, this.token, this.options);\n }\n\n getRelatedById(parameters: RelatedByIdRequestOptionsExtended) {\n return new GetRelatedByIdRequest(parameters, this.token, this.options);\n }\n\n destroyRelated(parameters: RelatedRequestOptionsExtended) {\n return new DeleteRelatedRequest(parameters, this.token, this.options);\n }\n\n destroyRelatedById(parameters: RelatedByIdRequestOptionsExtended) {\n return new DeleteRelatedByIdRequest(parameters, this.token, this.options);\n }\n\n createRelated(parameters: RelatedRequestOptionsExtended) {\n return new CreateRelatedRequest(parameters, this.token, this.options);\n }\n\n upload(parameters: UploadRequestOptionsExtended) {\n return new UploadRequest(parameters, this.token, this.options);\n }\n\n uploadChunk(parameters: UploadChunkRequestOptionsExtended) {\n return new UploadChunkRequest(parameters, this.token, this.options);\n }\n\n commitChunks(parameters: CommitChunksRequestOptionsExtended) {\n return new CommitChunksRequest(parameters, this.token, this.options);\n }\n\n batch(parameters: RequestOptionsBaseExtended) {\n const batchParams = parameters as BatchRequestOptionsExtended;\n batchParams.factory = this;\n return new BatchRequest(batchParams, this.token, this.options);\n }\n}\n","import { RequestFactory } from \"./Requests/RequestFactory\";\nimport { Data } from \"./Data\";\nimport { Query } from \"./Query\";\nimport { utils } from \"./utils\";\nimport { ResponseHandlers } from \"./Requests/ExecutableRequest\";\nimport { BatchRequest } from \"./Requests/BatchRequest\";\n\nexport class Sitefinity {\n public static Query: typeof Query = Query;\n\n private factory: RequestFactory;\n private baseUrl: string;\n private siteId: string;\n\n /**\n * The constructor of the Sitefinity JavaScript SDK. This is the entry point for the SDK.\n */\n constructor(options: SDKOptions) {\n this.baseUrl = options.baseUrl;\n this.siteId = options.siteId;\n this.factory = new RequestFactory(options);\n }\n\n data(options: TypeOptions): Data {\n const urlOptions: TypeOptions = {\n baseUrl: utils.addTrailingSlash(options.baseUrl || this.baseUrl),\n provider: options.provider,\n culture: options.culture,\n siteId: options.siteId || this.siteId,\n additionalQueryParams: options.additionalQueryParams,\n additionalHeaders: options.additionalHeaders,\n entitySet: options.entitySet\n };\n\n return new Data(urlOptions, this.factory);\n }\n\n batch(success?: Function, failure?: Function, progress?: Function, options?: TypeOptions): BatchRequest {\n if (!options)\n options = {};\n\n const batch = this.factory.batch({\n successCb: success,\n failureCb: failure,\n progressCb: progress,\n urlOptions: {\n baseUrl: utils.addTrailingSlash(options.baseUrl || this.baseUrl),\n provider: options.provider,\n culture: options.culture,\n siteId: options.siteId || this.siteId,\n additionalQueryParams: options.additionalQueryParams,\n additionalHeaders: options.additionalHeaders\n }\n });\n\n return batch;\n }\n\n /**\n * Sets the authentication token.\n */\n setToken(token: Token) {\n this.factory.token = token;\n }\n}\n\ninterface OptionsBase {\n /**\n * Your service url that points to the configured instance of Sitefinity service.\n */\n baseUrl?: string;\n\n /**\n * The ID of the site, for which the queries will be executed.\n */\n siteId?: string;\n}\n\n/**\n* Defines an object containing configuration options for the SDK object.\n*/\nexport interface SDKOptions extends OptionsBase {\n /**\n * The global handlers for request execution\n */\n handlers?: ResponseHandlers;\n\n enableUnlimitedChoices?: boolean;\n integrationMode?: boolean;\n}\n\n/**\n* Defines an object containing configuration options related to a specific type.\n*/\nexport interface TypeOptions extends OptionsBase {\n /**\n * The URL name of the type.\n */\n entitySet?: string;\n\n /**\n * The name of the provider. If empty the default provider for the site will be used.\n */\n provider?: string;\n\n /**\n * The name of the culture. If empty the default culture for the site will be used.\n */\n culture?: string;\n\n /**\n * Query params to be added to the request url.\n */\n additionalQueryParams?: { [key: string]: string };\n\n /**\n * Headers to be added to the request.\n */\n additionalHeaders?: { [key: string]: string };\n}\n\nexport interface Token {\n type: string;\n value: string;\n}\n","import { ComplexExpression, BinaryExpression } from \"./Expression\";\nimport { EXPRESSION_TYPE } from \"./constants\";\n\n/**\n * A fluent API operation for creating a filter for a query by chaining different rules.\n */\nexport class WhereQuery<QueryType> {\n private expression: ComplexExpression;\n\n constructor(private parent: QueryType, type: string = EXPRESSION_TYPE.and) {\n this.expression = new ComplexExpression(type, []);\n }\n\n /**\n * Adds an `and` clause to the current condition and returns it for further chaining.\n */\n and(): WhereQuery<WhereQuery<QueryType>> {\n return new WhereQuery(this, EXPRESSION_TYPE.and);\n }\n\n /**\n * Adds an `or` clause to the current condition and returns it for further chaining.\n */\n or(): WhereQuery<WhereQuery<QueryType>> {\n return new WhereQuery(this, EXPRESSION_TYPE.or);\n }\n\n /**\n * Adds an `any` clause to the current condition and returns it for further chaining.\n */\n any(): WhereQuery<WhereQuery<QueryType>> {\n return new WhereQuery(this, EXPRESSION_TYPE.any);\n }\n\n /**\n * Adds a `not` clause to the current condition and returns it for further chaining.\n */\n not(): WhereQuery<WhereQuery<QueryType>> {\n return new WhereQuery(this, EXPRESSION_TYPE.not);\n }\n\n /**\n * Adds a condition that a field must be equal to a specific value.\n */\n eq(parameter: string, constant: any): WhereQuery<QueryType> {\n return this.simple(EXPRESSION_TYPE.eq, parameter, constant);\n }\n\n /**\n * Adds a condition that a field must *not* be equal to a specific value.\n */\n ne(parameter: string, constant: any): WhereQuery<QueryType> {\n return this.simple(EXPRESSION_TYPE.ne, parameter, constant);\n }\n\n /**\n * Adds a condition that a field must be `greater than` a certain value. Applicable to Number, String, and Date fields.\n */\n gt(parameter: string, constant: any) {\n return this.simple(EXPRESSION_TYPE.gt, parameter, constant);\n }\n\n /**\n * Adds a condition that a field must be `greater than or equal` to a certain value. Applicable to Number, String, and Date fields.\n */\n gte(parameter: string, constant: any) {\n return this.simple(EXPRESSION_TYPE.ge, parameter, constant);\n }\n\n /**\n * Adds a condition that a field must be `less than` a certain value. Applicable to Number, String, and Date fields.\n */\n lt(parameter: string, constant: any) {\n return this.simple(EXPRESSION_TYPE.lt, parameter, constant);\n }\n\n /**\n * Adds a condition that a field must be `less than or equal` to a certain value. Applicable to Number, String, and Date fields.\n */\n lte(parameter: string, constant: any) {\n return this.simple(EXPRESSION_TYPE.le, parameter, constant);\n }\n\n /**\n * Adds a condition that a field value must *start* with a specified string.\n */\n startsWith(parameter: string, constant: any, caseSensitive = true) {\n return this.simple(EXPRESSION_TYPE.startsWith, parameter, constant, caseSensitive);\n }\n\n /**\n * Adds a condition that a field value must *contain* a specified string.\n */\n contains(parameter: string, constant: any, caseSensitive = true) {\n return this.simple(EXPRESSION_TYPE.contains, parameter, constant, caseSensitive);\n }\n\n /**\n * Adds a condition that a field value must *end* with a specified string.\n */\n endsWith(parameter: string, constant: any, caseSensitive = true) {\n return this.simple(EXPRESSION_TYPE.endsWith, parameter, constant, caseSensitive);\n }\n\n /**\n * Ends the definition of the current WhereQuery. You need to call this method in order to continue with the definition of the parent {@link Query}. All other `WhereQuery` methods return the current instance of `WhereQuery` to allow chaining.\n */\n done(): QueryType {\n if (this.parent instanceof WhereQuery) {\n this.parent.addComplexExpression(this);\n // TODO: If has and() || or() must call done() twice\n if (this.expression.getType() === EXPRESSION_TYPE.not)\n return this.parent;\n }\n\n return this.parent;\n }\n\n getExpression(): ComplexExpression {\n return this.expression;\n }\n\n private simple(type: string, parameter: string, constant: any, caseSensitive = true): WhereQuery<QueryType> {\n const currentExpr = new BinaryExpression(type, parameter, constant, caseSensitive);\n const subExpressions = this.expression.getExpressions();\n subExpressions.push(currentExpr);\n\n if (this.expression.getType() === EXPRESSION_TYPE.not && subExpressions.length > 1)\n throw new Error(\"Invalid operators count!\");\n\n return this;\n }\n\n private addComplexExpression(subQuery: WhereQuery<QueryType>): void {\n const subExpression = subQuery.getExpression();\n this.expression.getExpressions().push(subExpression);\n }\n}\n","import { CreateRequestOptions } from \"../Data\";\nimport { CommitChunksRequestOptionsExtended } from \"../Requests/Request\";\nimport { RequestOptionsBaseExtended } from \"../Requests/RequestBase\";\nimport { RequestFactory } from \"../Requests/RequestFactory\";\nimport { TypeOptions } from \"../Sitefinity\";\nimport { ChunkedFileUploadUtilities, ChunkFileResult } from \"./chunked-file-upload.utilities\";\n\n/**\n * @description Entry point for all chunk upload related tasks\n * @export\n * @class ChunkUploadSdk\n */\nexport class ChunkUploadSdk {\n private urlOptions: TypeOptions;\n private factory: RequestFactory;\n\n constructor(urlOptions: TypeOptions, factory: RequestFactory) {\n this.urlOptions = urlOptions;\n this.factory = factory;\n }\n\n /**\n * @description Gets the needed information to start uploading chunks to the server\n * @param {GetChunkUploadInfoRequestOptions} parameters\n * @memberof ChunkUploadSdk\n */\n getChunkUploadInfo(parameters: GetChunkUploadInfoRequestOptions) {\n Guard.isNotNull(parameters, \"parameters\");\n Guard.isNotNull(parameters.data, \"parameters.data\");\n Guard.isNotNull(parameters.data.libraryId, \"parameters.data.libraryId\");\n\n const options: RequestOptionsBaseExtended = {\n urlOptions: this.urlOptions,\n action: `Default.GetChunkUploadInfo(libraryId=${parameters.data.libraryId})`,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb,\n progressCb: parameters.progressCb,\n fallbackProperties: parameters.fallbackProperties,\n query: parameters.query\n };\n\n const request = this.factory.get(options);\n\n request.execute();\n }\n\n /**\n * @description Sends a single chunk request to the server\n * @param {UploadChunkRequestOptions} parameters\n * @memberof ChunkUploadSdk\n */\n uploadChunk(parameters: UploadChunkRequestOptions) {\n Guard.isNotNull(parameters, \"parameters\");\n Guard.isNotNull(parameters.data, \"parameters.data\");\n Guard.isNotNull(parameters.data.fileMimeType, \"parameters.data.fileMimeType\");\n Guard.isNotNull(parameters.data.chunkSize, \"parameters.data.chunkSize\");\n Guard.isNotNull(parameters.data.chunkedFileUploadSessionId, \"parameters.data.chunkedFileUploadSessionId\");\n Guard.isNotNull(parameters.data.chunkOrdinal, \"parameters.data.chunkOrdinal\");\n Guard.isNotNull(parameters.data.numberOfChunks, \"parameters.data.numberOfChunks\");\n Guard.isNotNull(parameters.data.chunkBlob, \"parameters.data.chunkBlob\");\n Guard.isNotNull(parameters.data.blobStorageProviderName, \"parameters.data.blobStorageProviderName\");\n\n const request = this.factory.uploadChunk({\n urlOptions: this.urlOptions,\n fileMimeType: parameters.data.fileMimeType,\n chunkSize: parameters.data.chunkSize,\n chunkedFileUploadSessionId: parameters.data.chunkedFileUploadSessionId,\n chunkOrdinal: parameters.data.chunkOrdinal,\n numberOfChunks: parameters.data.numberOfChunks,\n chunkBlob: parameters.data.chunkBlob,\n blobStorageProviderName: parameters.data.blobStorageProviderName,\n fileName: parameters.data.fileName,\n // optional\n positionOfChunkInQueue: parameters.data.positionOfChunkInQueue,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb,\n progressCb: parameters.progressCb,\n fallbackProperties: parameters.fallbackProperties,\n query: parameters.query\n });\n\n request.execute();\n }\n\n\n /**\n * @description Sends the commit chunks request to the server\n * @param {CommitChunksRequestOptions} parameters\n * @memberof ChunkUploadSdk\n */\n commitChunks(parameters: CommitChunksRequestOptions) {\n Guard.isNotNull(parameters, \"parameters\");\n Guard.isNotNull(parameters.data, \"parameters.data\");\n Guard.isNotNull(parameters.data.chunkedFileUploadSessionId, \"parameters.data.chunkedFileUploadSessionId\");\n Guard.isNotNull(parameters.data.contentType, \"parameters.data.contentType\");\n Guard.isNotNull(parameters.data.name, \"parameters.data.name\");\n Guard.isNotNull(parameters.data.uploadProperties, \"parameters.data.uploadProperties\");\n Guard.isNotNull(parameters.data.numberOfChunks, \"parameters.data.numberOfChunks\");\n Guard.isNotNull(parameters.data.fileTotalSize, \"parameters.data.fileTotalSize\");\n Guard.isNotNull(parameters.data.blobStorageProviderName, \"parameters.data.blobStorageProviderName\");\n\n const options: CommitChunksRequestOptionsExtended = {\n urlOptions: this.urlOptions,\n chunkedFileUploadSessionId: parameters.data.chunkedFileUploadSessionId,\n contentType: parameters.data.contentType,\n fileName: parameters.data.name,\n uploadProperties: parameters.data.uploadProperties,\n numberOfChunks: parameters.data.numberOfChunks,\n fileTotalSize: parameters.data.fileTotalSize,\n blobStorageProviderName: parameters.data.blobStorageProviderName,\n // Optional: used for update, can be null for create\n itemId: parameters.data.itemId,\n successCb: parameters.successCb,\n failureCb: parameters.failureCb,\n progressCb: parameters.progressCb,\n fallbackProperties: parameters.fallbackProperties,\n query: parameters.query\n };\n\n const request = this.factory.commitChunks(options);\n request.execute();\n }\n\n /**\n * @description This request is intended to be used when something in the chunk upload process fails to delete the sent chunks\n * @param {CleanUpChunksRequestOptions} parameters\n * @memberof ChunkUploadSdk\n */\n cleanUpChunks(parameters: CleanUpChunksRequestOptions) {\n Guard.isNotNull(parameters, \"parameters\");\n Guard.isNotNull(parameters.data, \"parameters.data\");\n Guard.isNotNull(parameters.data.chunkedFileUploadSessionId, \"parameters.data.chunkedFileUploadSessionId\");\n Guard.isNotNull(parameters.data.blobStorageProviderName, \"parameters.data.blobStorageProviderName\");\n\n const request = this.factory.create({\n urlOptions: this.urlOptions,\n action: \"Default.CleanUpChunks\",\n data: {\n chunkedFileUploadSessionId: parameters.data.chunkedFileUploadSessionId,\n blobStorageProviderName: parameters.data.blobStorageProviderName\n },\n successCb: parameters.successCb,\n failureCb: parameters.failureCb,\n progressCb: parameters.progressCb,\n fallbackProperties: parameters.fallbackProperties,\n query: parameters.query\n });\n\n request.execute();\n }\n\n /**\n * Chunks the provided file. If the file is a base64 string this method will convert it to a blob and then chunk it.\n *\n * @param {(Blob | string)} file\n * @param {number} chunkSize\n * @param {string} contentTypeMime\n * @return {*} {ChunkFileResult}\n * @memberof ChunkUploadService\n */\n chunkFile(file: Blob | string, chunkSize: number, contentTypeMime: string): ChunkFileResult {\n Guard.isNotNull(file, \"file\");\n Guard.isNotNull(chunkSize, \"chunkSize\");\n Guard.isNotNull(contentTypeMime, \"contentTypeMime\");\n\n const utils = new ChunkedFileUploadUtilities();\n return utils.chunkFile(file, chunkSize, contentTypeMime);\n }\n}\n\nclass Guard {\n static isNotNull<T>(value: T, parameterName: string) {\n if (typeof(value) === \"number\") {\n if (value === null || value === undefined) {\n Guard.throwException(parameterName);\n }\n return;\n }\n\n if (!value) {\n Guard.throwException(parameterName);\n }\n }\n\n private static throwException(parameterName) {\n throw `parameter ${parameterName} is required.`;\n }\n}\n\n//#region interfaces\n\n/**\n * @description This interface shows the minimum data needed to create a single chunk upload request\n * @export\n * @interface UploadChunkRequestOptions\n * @extends {CreateRequestOptions}\n */\nexport interface UploadChunkRequestOptions extends CreateRequestOptions {\n /**\n * @description the data needed to construct the request\n * @type {{\n * fileMimeType: string;\n * chunkedFileUploadSessionId: string;\n * chunkSize: number;\n * chunkOrdinal: number;\n * numberOfChunks: number;\n * positionOfChunkInQueue?: number;\n * chunkBlob: Blob;\n * blobStorageProviderName: string;\n * }}\n * @memberof UploadChunkRequestOptions\n */\n data: {\n /**\n * @description the file's mime type\n * @type {string}\n */\n fileMimeType: string;\n /**\n * @description the file's name\n * @type {string}\n */\n fileName: string;\n /**\n * @description the current chunk upload session Id\n * @type {string}\n */\n chunkedFileUploadSessionId: string;\n /**\n * @description the chunk size in bytes\n * @type {number}\n */\n chunkSize: number;\n /**\n * @description the chunk's ordinal\n * @type {number}\n */\n chunkOrdinal: number;\n /**\n * @description the total number of chunks\n * @type {number}\n */\n numberOfChunks: number;\n /**\n * @description Optional. The position of the chunk in the request queue, this property is used to calculate the progress of the upload\n * @type {number}\n */\n positionOfChunkInQueue?: number;\n /**\n * @description The chunk data\n * @type {Blob}\n */\n chunkBlob: Blob;\n /**\n * @description the target blob storage provider's name\n * @type {string}\n */\n blobStorageProviderName: string;\n }\n}\n\n/**\n * @description This interface shows the minimum data needed to create a commit chunks request\n * @export\n * @interface CommitChunksRequestOptions\n * @extends {CreateRequestOptions}\n */\nexport interface CommitChunksRequestOptions extends CreateRequestOptions {\n /**\n * @description the data needed to construct the request\n * @type {{\n * chunkedFileUploadSessionId: string;\n * contentType: string;\n * fileTotalSize: number;\n * numberOfChunks: number;\n * name: string;\n * blobStorageProviderName: string;\n * uploadProperties: { [key: string]: string };\n * itemId?: string;\n * }}\n * @memberof CommitChunksRequestOptions\n */\n data: {\n /**\n * @description the current chunk upload session Id\n * @type {string}\n */\n chunkedFileUploadSessionId: string;\n /**\n * @description the file's mime type\n * @type {string}\n */\n contentType: string;\n /**\n * @description the total size of the file\n * @type {number}\n */\n fileTotalSize: number;\n /**\n * @description the total number of chunks\n * @type {number}\n */\n numberOfChunks: number;\n /**\n * @description the file's name\n * @type {string}\n */\n name: string;\n /**\n * @description the target blob storage provider's name\n * @type {string}\n */\n blobStorageProviderName: string;\n /**\n * @description the properties of the uploaded file like the Title, UrlName, etc\n * @type {{ [key: string]: string }}\n */\n uploadProperties: { [key: string]: string };\n /**\n * @description Optional. Used when updating a media item, can be null when used to create a new media file.\n * @type {string}\n */\n itemId?: string;\n }\n}\n\n/**\n * @description This interface shows the minimum data needed to create request to get the chunk upload information for the current library from the server\n * @export\n * @interface GetChunkUploadInfoRequestOptions\n * @extends {CreateRequestOptions}\n */\nexport interface GetChunkUploadInfoRequestOptions extends CreateRequestOptions {\n /**\n * @description the data needed to construct the request\n * @type {{\n * libraryId: string;\n * }}\n * @memberof GetChunkUploadInfoRequestOptions\n */\n data: {\n /**\n * @description the parent library (not folder) in which the file will be uploaded to\n * @type {string}\n */\n libraryId: string;\n }\n}\n\n/**\n * @description This interface show the minimum data needed to create a request to delete all chunk from a chunk upload session\n * @export\n * @interface CleanUpChunksRequestOptions\n * @extends {CreateRequestOptions}\n */\nexport interface CleanUpChunksRequestOptions extends CreateRequestOptions {\n /**\n * @description the data needed to construct the request\n * @type {{\n * chunkedFileUploadSessionId: string;\n * blobStorageProviderName: string;\n * }}\n * @memberof CleanUpChunksRequestOptions\n */\n data: {\n /**\n * @description the current chunk upload session Id\n * @type {string}\n */\n chunkedFileUploadSessionId: string;\n /**\n * @description the target blob storage provider's name\n * @type {string}\n */\n blobStorageProviderName: string;\n }\n}\n\n/**\n * @description This is a data transfer object that shows the information provided by the getChunkUploadInfo request\n * @export\n * @interface ChunkUploadInfoDTO\n */\nexport interface ChunkUploadInfoDTO {\n /**\n * @description shows wether the current blob storage provider supports uploading in chunks\n * @type {boolean}\n * @memberof ChunkUploadInfoDTO\n */\n ProviderSupportsChunkUpload: boolean;\n /**\n * @description the target blob storage provider's name\n * @type {string}\n * @memberof ChunkUploadInfoDTO\n */\n BlobStorageProviderName: string;\n /**\n * @description the current chunk upload session Id\n * @type {string}\n * @memberof ChunkUploadInfoDTO\n */\n ChunkedFileUploadSessionId: string,\n /**\n * @description the chunk size in bytes\n * @type {number}\n * @memberof ChunkUploadInfoDTO\n */\n ChunkSize: number,\n /**\n * @description the maximum amount of time a chunk should be retired\n * @type {number}\n * @memberof ChunkUploadInfoDTO\n */\n MaxRetryCountForChunk: number,\n /**\n * @description the maximum simultaneous requests that should be sent to the server\n * @type {number}\n * @memberof ChunkUploadInfoDTO\n */\n MaxSimultaneousChunkUploadRequestsPerSession: number\n}\n\n/**\n * @description A DTO containing the data that the server responds with when a chunk is uploaded\n * @export\n * @interface ChunkUploadResult\n */\nexport interface ChunkUploadResult {\n /**\n * @description indicates whether the chunk has been successfully uploaded\n * @type {boolean}\n * @memberof ChunkUploadResult\n */\n SuccessfullyUploaded: boolean,\n /**\n * @description the current chunk upload session Id\n * @type {string}\n * @memberof ChunkUploadResult\n */\n ChunkedFileUploadSessionId: string\n}\n//#endregion\n","export class ChunkedFileUploadUtilities {\n chunkFile(file: Blob | string, chunkSize: number, contentTypeMime: string): ChunkFileResult {\n let fileInternal: Blob;\n\n if (typeof file === \"string\")\n fileInternal = this.base64ToBlob(file, chunkSize, contentTypeMime);\n else {\n fileInternal = file as Blob;\n }\n\n const fileSize = fileInternal.size;\n const result: Array<FileUploadChunk> = [];\n let chunkOrdinal = 0;\n let offset = 0;\n let currentOffset = chunkSize;\n\n while (offset <= fileSize) {\n const chunk = fileInternal.slice(offset, currentOffset, contentTypeMime);\n offset = currentOffset;\n currentOffset = currentOffset + chunkSize;\n\n result.push({\n ordinal: chunkOrdinal,\n content: chunk\n });\n\n chunkOrdinal++;\n }\n\n return {\n chunks: result,\n totalChunksCount: result.length,\n fileTotalSize: fileSize\n };\n }\n\n private base64ToBlob(base64String, chunkSize, contentType = \"\"): Blob {\n const byteCharacters = atob(base64String);\n const byteArrays = [];\n for (let offset = 0; offset < byteCharacters.length; offset += chunkSize) {\n const slice = byteCharacters.slice(offset, offset + chunkSize);\n const byteNumbers = new Array(slice.length);\n for (let i = 0; i < slice.length; i++) {\n byteNumbers[i] = slice.charCodeAt(i);\n }\n const byteArray = new Uint8Array(byteNumbers);\n byteArrays.push(byteArray);\n }\n\n const blob = new Blob(byteArrays, { type: contentType });\n return blob;\n }\n}\n\nexport interface FileUploadChunk {\n ordinal: number,\n content: Blob\n}\n\nexport interface ChunkFileResult {\n chunks: Array<FileUploadChunk>,\n totalChunksCount: number,\n fileTotalSize: number\n}\n","export const EXPRESSION_TYPE = {\n query: 1,\n where: 100,\n and: \"and\",\n or: \"or\",\n not: \"not\",\n eq: \"eq\",\n ne: \"ne\",\n lt: \"lt\",\n le: \"le\",\n gt: \"gt\",\n ge: \"ge\",\n any: \"any\",\n contains: \"contains\",\n startsWith: \"startsWith\",\n endsWith: \"endsWith\"\n};\n\nexport const ODATA_PARAMS = {\n $filter: \"$filter\",\n $select: \"$select\",\n $expand: \"$expand\",\n $orderby: \"$orderby\",\n $skip: \"$skip\",\n $top: \"$top\",\n $count: \"$count\",\n $search: \"$search\"\n};\n\nexport const SF_PARAMS = {\n provider: \"sf_provider\",\n culture: \"sf_culture\",\n siteId: \"sf_site\",\n fallbackParams: \"sf_fallback_prop_names\",\n parentId: \"parentId\"\n};\n\nexport const HEADER_NAMES = {\n contentType: \"Content-Type\",\n authorization: \"Authorization\",\n contentEncoding: \"Content-Encoding\",\n operation: \"X-Operation\",\n properties: \"X-Sf-Properties\",\n fileName: \"X-File-Name\",\n serviceRequest: \"X-SF-Service-Request\",\n choicesBinaryRepresentation: \"X-SF-Binary-Choice-Representation\",\n integrationMode: \"X-SF-Integration-Mode\",\n chunkOrdinal: \"X-SF-Chunk-Ordinal\",\n chunkSize: \"X-SF-Chunk-Size\",\n fileSize: \"X-SF-File-Size\",\n chunkedFileUploadSessionId: \"X-SF-Chunked-File-Upload-Session-Id\",\n blobStorageProviderName: \"X-SF-Blob-Storage-Provider-Name\"\n};\n\nexport const HTTP_METHODS = {\n get: \"GET\",\n put: \"PUT\",\n post: \"POST\",\n patch: \"PATCH\",\n delete: \"DELETE\"\n};\n\nexport const CONTENT_TYPES = {\n json: \"application/json\"\n};\n","export class utils {\n static isString(obj: any): boolean {\n return typeof (obj) === \"string\" || obj instanceof String;\n }\n\n static isBoolean(obj: any): boolean {\n return typeof (obj) === \"boolean\";\n }\n\n static isBlob(obj: any): boolean {\n return obj instanceof Blob;\n }\n\n static isNumber(value: any): boolean {\n return typeof value === \"number\" && isFinite(value);\n }\n\n static isFunction(func: any): boolean {\n return typeof func === \"function\";\n }\n\n static serializeToJSON(data): string {\n if (!utils.isString(data) && !this.isBlob(data)) {\n return JSON.stringify(data);\n }\n\n return data;\n }\n\n static parseStringToJson(data) {\n if (!data) {\n return null;\n }\n\n const number = Number(data);\n if (!isNaN(number)) {\n return number;\n }\n\n let result = null;\n\n try {\n result = JSON.parse(data);\n result = utils._parseDateProperties(result);\n } catch (e) {\n console.log(\"An unexpected error occurred while parsing the response from server: \" + e.message + \". Response body was: '\" + data + \"'\");\n }\n\n return result;\n }\n\n static convertDateFieldToISOString(data: object): object {\n /*\n TODOSDK: when write tests for this try to use\n \"Object.keys(obj).forEach(function(){})\",\n Phantomjs does not recognize \"for..in\" operator.\n */\n for (const obj in data) {\n if (data[obj] instanceof Date) {\n data[obj] = data[obj].toISOString();\n }\n }\n\n return data;\n }\n\n static hex16() {\n return Math.floor((1 + Math.random()) * 0x10000).toString(16).substr(1);\n }\n\n static addTrailingSlash(url: string): string {\n url = utils.removeSlashes(url);\n url += \"/\";\n return url;\n }\n\n static removeSlashes(url: string) {\n let ret = url;\n\n const lastChar = ret.substr(-1);\n if (lastChar == \"/\")\n ret = ret.substr(0, ret.length - 1);\n\n return ret;\n }\n\n static clone(from: any, to = {}, action: Function = null): any {\n if (!to)\n to = {};\n\n for (const property in from) {\n if (from[property] && from[property].constructor && from[property].constructor === Object && typeof from[property] == \"function\") {\n to[property] = to[property] || {};\n arguments.callee(to[property], from[property]);\n } else {\n to[property] = from[property];\n }\n\n if (typeof action === \"function\")\n action(to);\n }\n\n return to;\n }\n\n private static _parseDateProperties(data) {\n for (const obj in data) {\n // TODO\n if (data[obj] instanceof Array || (data[obj] instanceof Object && <any>!data[obj] instanceof Function))\n this._parseDateProperties(data[obj]);\n else\n data[obj] = utils._tryFormatFieldToDate(data[obj]);\n }\n\n return data;\n }\n\n private static _tryFormatFieldToDate(date) {\n if ((/^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:\\.\\d*))(?:Z|(\\+|-)([\\d|:]*))?$/).test(date)) {\n date = new Date(date);\n }\n\n return date;\n }\n}\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./sitefinity-webservices-sdk.ts\");\n",""],"names":[],"sourceRoot":""}
|