ts-odatajs-serbay
Version:
The Olingo OData Client for JavaScript (and TypeScript) is a new cross-browser library that enables data-centric web applications by leveraging modern protocols such as JSON and OData and HTML5-enabled browser features. It's designed to be small, fast and
1 lines • 426 kB
Source Map (JSON)
{"version":3,"sources":["odatajs-4.0.6.js"],"names":["init","exports","module","require","version","major","minor","build","deferred","utils","xml","oData","store","cache","datas","appendPage","operation","page","intersection","intersectRanges","start","end","i","c","getJsonValueArraryLength","d","concatJsonValueArray","sliceJsonValueArray","x","y","result","xLast","yLast","resultIndex","resultLast","checkZeroGreater","val","name","undefined","message","isNaN","isFinite","checkUndefinedGreaterThanZero","checkUndefinedOrNumber","removeFromArray","arr","item","len","length","splice","estimateSize","object","size","type","snapToPageBoundaries","lowIndex","highIndex","pageSize","Math","floor","ceil","DataCacheOperation","stateMachine","promise","isCancelable","index","count","data","pending","stateData","cacheState","that","this","p","s","OPERATION_STATE_START","canceled","oncomplete","cancel","state","OPERATION_STATE_ERROR","OPERATION_STATE_END","OPERATION_STATE_CANCEL","transition","complete","djsassert","error","err","run","wait","OPERATION_STATE_WAIT","operationStateMachine","opTargetState","CACHE_STATE_INIT","fireCanceled","fireRejected","fireResolved","handled","DataCache","options","cacheFailure","stats","counts","netReads","prefetches","cacheReads","clearOperations","readOperations","prefetchOperations","actualCacheSize","allDataLocal","cacheSize","undefinedDefault","collectionCount","highestSavedPage","highestSavedPageSize","overflowed","prefetchSize","pendingOperations","source","cacheSource","ODataCacheSource","storeReq","createStore","mechanism","onidle","idle","createDeferred","delay","resolve","request","reject","extend","abort","clear","op","destroyStateMachine","queueAndStart","filterForward","predicate","filter","filterBack","readRange","readStateMachine","ToObservable","toObservable","inBrowser","window","Rx","Observable","obs","disposed","errorCallback","onError","successCallback","value","onNext","onCompleted","then","Dispose","dispose","cacheFailureCallback","changeState","newState","operations","concat","clearStore","CACHE_STATE_DESTROY","DjsDeferred","close","dequeueOperation","removed","CACHE_STATE_IDLE","fetchPage","read","backwards","parseInt10","max","returnData","pendingReadRange","readMore","readIndex","readCount","dataIndex","element","unshift","push","nextIndex","initialPage","initialIndex","initialCount","fireOnIdle","prefetch","CACHE_STATE_READ","prefetchStateMachine","queue","readPage","key","storeFailureCallback","contains","contained","_","savePage","pageBytes","addOrUpdate","updateSettings","saveSettings","success","settings","sourceId","identifier","pageCount","pageIndex","cancelStateMachine","DESTROY_STATE_CLEAR","CACHE_STATE_PREFETCH","READ_STATE_LOCAL","READ_STATE_DONE","min","readSaveStateMachine","CACHE_STATE_WRITE","range","isPrefetch","found","READ_STATE_SOURCE","READ_STATE_SAVE","saved","assigned","settingsVersion","indexOf","createDataCache","isArray","normalizeURI","prototype","reason","appendQueryOption","uri","queryOption","appendSegment","segment","queryPortion","substr","buildODataRequest","method","requestUri","user","password","enableJsonpCallback","callbackParameterName","formatQueryString","queryForData","queryForDataInternal","currentRequest","odataRequest","newData","nextLink","substring","property","httpClient","metadata","normalizeURICase","encodeURI","decodeURI","toString","forwardCall","thisValue","returnValue","apply","arguments","_arguments","_done","_fail","_resolved","_rejected","jQuery","Deferred","fulfilledHandler","errorHandler","odata","dispatchHandler","handlerMethod","requestOrResponse","context","handlers","odataUtils","odataHandler","handler","odataMetadata","odataNetServer","netServer","odataNetBrowser","netBrowser","odataNet","net","odataJson","json","batch","throwErrorCallback","defined","MAX_DATA_SERVICE_VERSION","invokeRequest","metadataParser","prepareRequest","jsonHandler","textHandler","defaultSuccess","alert","JSON","stringify","defaultError","defaultHandler","response","body","headers","write","maxDataServiceVersion","accept","defaultMetadata","urlOrRequest","String","defaultHttpClient","recognizeDates","bIsSuccessHandlerError","parseMetadata","csdlMetadataDocument","batchHandler","partHandler","metadataHandler","hex16","random","createBoundary","prefix","currentBoundary","boundaries","batchParser","text","__batchResponses","readBatch","contentType","properties","handlerContext","batchSerializer","batchMediaType","mediaType","writeBatch","delimiter","readTo","readLine","responses","partEnd","position","changeResponses","partHeaders","readHeaders","partContentType","boundary","e","readResponse","__changeResponses","pop","statusCode","parts","line","pos","responseHeaderRegex","exec","normalizeHeaders","statusText","match","responseStatusRegex","str","isBatch","batchBoundary","batchParts","__batchRequests","writeBatchPartDelimiter","writeBatchPart","part","nested","changeSet","__changeRequests","changeSetBoundary","partContext","writeRequest","trimString","contentTypeParts","split","contentTypeParams","contentTypeToString","createReadWriteContext","dataServiceVersion","rwContext","fixRequestHeader","fixDataServiceVersionHeader","dsv","maxVersion","getRequestOrResponseHeader","getContentType","getDataServiceVersion","matches","versionRE","handlerAccepts","cType","handlerRead","parseCallback","readContext","handlerWrite","serializeCallback","writeContext","textParse","textSerialize","oDataUtils","jsonParser","metadataContentType","model","parse","payloadFormat","getFormatKind","addMinimalMetadataToJsonPayload","addFullMetadataToJsonPayload","jsonSerializer","jsonContentType","newdata","formatJsonRequestPayload","jsonReplacer","isPrimitive","newArrayData","isJsonSerializableProperty","attribute","jsonSerializableMetadata","jsonMakePayloadInfo","kind","isObject","hasOwnProperty","isGeographyEdmType","isGeometryEdmType","convertDatesNoEdm","typeFromObject","addType","checkProperties","objectInfoType","baseURI","curType","propertyValue","lookupProperty","baseType","lookupEntityType","isCollectionType","addTypeColNoEdm","addTypeNoEdm","addMetadataToJsonMinimalPayloadComplex","convertDates","contextUrlAnnotation","payloadInfo","createPayloadInfo","detectedPayloadKind","PAYLOADTYPE_VALUE","addMetadataToJsonMinimalPayloadEntity","typeName","PAYLOADTYPE_FEED","addMetadataToJsonMinimalPayloadFeed","PAYLOADTYPE_ENTRY","PAYLOADTYPE_COLLECTION","addMetadataToJsonMinimalPayloadCollection","PAYLOADTYPE_PROPERTY","PAYLOADTYPE_SVCDOC","PAYLOADTYPE_LINKS","feedInfo","entry","entries","items","contentTypeOdata","objectInfo","keyType","lastIdSegment","jsonGetEntryKey","lastIndexOf","propertyType","lookupComplexType","collectionInfo","fullName","propertyName","parseDate","parseDateTimeOffset","parseDuration","parseTime","formatLiteral","formatRawLiteral","encodeURIComponent","replace","convertByteArrayToHexString","minutesToOffset","minutes","sign","hours","formatNumberWidth","parseJsonDateString","jsonDateRE","Date","mins","current","getUTCMinutes","setUTCMinutes","__edmType","__offset","valueOf","parseContextUriFragment","fragments","ret","isNullProperty","PAYLOADTYPE_ENTITY_REF_LINKS","PAYLOADTYPE_ENTITY_REF_LINK","fragmentParts","fragment","rCount","charAt","inPharenthesis","startsWith","projection","jsonIsPrimitiveType","container","lookupDefaultEntityContainer","entitySet","lookupEntitySet","entityType","singleton","lookupSingleton","endsWith","tmp12","deltaKind","DELTATYPE_FEED","DELTATYPE_DELETED_ENTRY","DELTATYPE_LINK","DELTATYPE_DELETED_LINK","metadataUri","fragmentStart","entityModel","entityInstanceKey","entityKeys","propertyRef","first","isPrimitiveEdmType","oDataHandler","odataNs","odataAnnotationPrefix","formatDuration","formatDateTimeOffset","getCanonicalTimezone","isComplex","jsonMediaType","schemaElement","attributes","elements","ns","scriptCase","firstTwo","toUpperCase","toLowerCase","getChildSchema","parentSchema","candidateName","elementName","multipleElements","isEdmNamespace","nsURI","edmNs1","parseConceptualModelElement","localName","xmlLocalName","xmlNamespaceURI","elementSchema","schema","xmlAttributes","xmlnsNS","schemaName","odataMetaXmlNs","xmlChildElements","child","childSchema","xmlInnerText","doc","xmlParse","xmlFirstChildElement","oDSxml","xmlNS","ado","http","adoDs","edmxNs","Action","ActionImport","Annotation","AnnotationPath","Annotations","Apply","And","Or","Not","Eq","Ne","Gt","Ge","Lt","Le","Binary","Bool","Cast","Collection","ComplexType","DateTimeOffset","Decimal","Duration","EntityContainer","EntitySet","EntityType","EnumMember","EnumType","Float","Function","FunctionImport","Guid","If","Int","IsOf","Key","LabeledElement","LabeledElementReference","Member","NavigationProperty","NavigationPropertyBinding","NavigationPropertyPath","Null","OnDelete","Path","Parameter","Property","PropertyPath","PropertyRef","PropertyValue","Record","ReferentialConstraint","ReturnType","Schema","Singleton","Term","TimeOfDay","TypeDefinition","UrlRef","Edmx","DataServices","Reference","Include","IncludeAnnotations","canUseJSONP","createIFrame","url","iframe","document","createElement","style","display","attributeEncodedUrl","html","getElementsByTagName","appendChild","writeHtmlToIFrame","createXmlHttpRequest","XMLHttpRequest","exception","ActiveXObject","isAbsoluteUrl","isLocalUrl","location","locationDomain","protocol","host","removeCallback","tick","ticks","removeIFrame","parentNode","removeChild","readResponseHeaders","xhr","responseHeaders","getAllResponseHeaders","header","frameDocument","contentWindow","contentDocument","open","done","handleTimeout","onreadystatechange","readyState","status","responseText","setRequestHeader","withCredentials","timeoutMS","timeout","ontimeout","send","timeoutId","tickText","succeeded","clearTimeout","Content-Type","OData-Version","setTimeout","queryStringParams","qIndex","odatautils","forEachSchema","callback","dataServices","formatMilliseconds","ms","formatDateTimeOffsetJSON","getTime","hasOffset","isDateTimeOffset","offset","timezone","parseTimezone","getUTCHours","h","m","setUTCHours","year","getUTCFullYear","month","getUTCMonth","getUTCMilliseconds","__ns","getUTCDate","getUTCSeconds","days","seconds","width","append","getCollectionType","isCollection","colData","results","collectionTypeRE","test","isDate","isDeferred","__metadata","__deferred","isEntry","isFeed","feedData","geographyEdmTypes","geographyTypes","geometryEdmTypes","geometryTypes","isNamedStream","mediaResource","__mediaresource","media_src","primitiveEdmTypes","navigationPropertyKind","propertyModel","relationship","find","lookupInMetadata","lookupInSchema","entitySets","singletons","entityContainer","lookupEntityContainer","lookupFunctionImport","functionImports","functionImport","lookupNavigationPropertyType","navigationProperty","rel","association","nameOnly","removeNamespace","namespace","associations","role","toRole","lookupNavigationPropertyEntitySet","sourceEntitySetName","associationSet","containers","associationSets","j","getEntitySetInfo","entitySetName","containerName","left","right","leftParts","rightParts","leftVersion","rightVersion","lowerName","normalName","normalHeaders","parseBool","parseDateTimeMaybeOffset","withOffset","nullOnError","parseDateTimeRE","direction","setUTCFullYear","parseTimeOfDay","parseTimeOfDayRE","duration","parseTimeRE","years","months","parseFloat","Accept","async","traverseInternal","owner","traverse","dataItemTypeName","EDM","EDM_BOOLEAN","EDM_BYTE","EDM_SBYTE","EDM_INT16","EDM_INT32","EDM_INT64","EDM_SINGLE","EDM_DOUBLE","EDM_DECIMAL","EDM_STRING","EDM_BINARY","EDM_DATE","EDM_DATETIMEOFFSET","EDM_DURATION","EDM_GUID","EDM_TIMEOFDAY","GEOGRAPHY","EDM_GEOGRAPHY","EDM_GEOGRAPHY_POINT","EDM_GEOGRAPHY_LINESTRING","EDM_GEOGRAPHY_POLYGON","EDM_GEOGRAPHY_COLLECTION","EDM_GEOGRAPHY_MULTIPOLYGON","EDM_GEOGRAPHY_MULTILINESTRING","EDM_GEOGRAPHY_MULTIPOINT","GEOGRAPHY_POINT","GEOGRAPHY_LINESTRING","GEOGRAPHY_POLYGON","GEOGRAPHY_COLLECTION","GEOGRAPHY_MULTIPOLYGON","GEOGRAPHY_MULTILINESTRING","GEOGRAPHY_MULTIPOINT","GEOMETRY","EDM_GEOMETRY","EDM_GEOMETRY_POINT","EDM_GEOMETRY_LINESTRING","EDM_GEOMETRY_POLYGON","EDM_GEOMETRY_COLLECTION","EDM_GEOMETRY_MULTIPOLYGON","EDM_GEOMETRY_MULTILINESTRING","EDM_GEOMETRY_MULTIPOINT","GEOMETRY_POINT","GEOMETRY_LINESTRING","GEOMETRY_POLYGON","GEOMETRY_COLLECTION","GEOMETRY_MULTIPOLYGON","GEOMETRY_MULTILINESTRING","GEOMETRY_MULTIPOINT","content-type","content-encoding","content-length","odata-version","accept-charset","if-match","if-none-match","odata-isolation","odata-maxversion","prefer","content-id","content-transfer-encoding","etag","odata-entityid","preference-applied","retry-after","GEOJSON_POINT","GEOJSON_LINESTRING","GEOJSON_POLYGON","GEOJSON_MULTIPOINT","GEOJSON_MULTILINESTRING","GEOJSON_MULTIPOLYGON","GEOJSON_GEOMETRYCOLLECTION","defaultStoreMechanism","DomStore","isSupported","factory","mechanisms","create","IndexedDBStore","MemoryStore","indexeddb","dom","memory","domStoreDateToJSON","newValue","v","t","domStoreJSONToDate","qualifyDomStoreKey","unqualifyDomStoreKey","localStorage","add","Array","fullKey","oldDateToJSON","toJSON","storedValue","setItem","code","number","removeItem","getItem","getAllKeys","remove","update","getError","errorFunc","Object","call","errName","errObj","target","ex","openStoreDb","storeName","dbName","indexedDB","onblocked","onerror","onupgradeneeded","db","objectStoreNames","createObjectStore","onsuccess","event","versionRequest","setVersion","transaction","onversionchange","openTransaction","mode","storeDb","mozIndexedDB","webkitIndexedDB","msIndexedDB","IDBKeyRange","webkitIDBKeyRange","IDBTransaction","webkitIDBTransaction","IDBT_READ_ONLY","READ_ONLY","IDBT_READ_WRITE","READ_WRITE","keys","values","onabort","objectStore","record","put","get","openCursor","cursor","only","pair","validateKeyInput","messageString","holes","getErrorCallback","a","b","args","slice","condition","parseInt","renameProperty","obj","oldName","newName","trim","defaultValue","getURIInfo","isAbsolute","uriRegEx","uriPartNames","scheme","getURIFromInfo","uriInfo","authority","path","query","uriAuthorityRegEx","pctEncodingRegEx","base","baseInfo","normInfo","mergeUriPathWithBase","removeDotsFromPath","uriPath","basePath","atob","decodeBase64","binaryStr","charCodeAt","hexValue","hexValues","binaryString","base65IndexValue","getBase64IndexValue","binaryValue","addBase64Padding","byteArray","numberOfBytes","intValue","character","asciiCode","asciiOfA","concatData","input","search","format","defaultFormatKind","formatKind","activeXObject","progId","hasLeadingOrTrailingWhitespace","isWhitespace","ws","isWhitespacePreserveContext","domElement","nodeType","xmlAttributeValue","isXmlNSDeclaration","domAttribute","nodeName","safeSetProperty","setProperty","msXmlDom3","msxml3","msXmlDom","msxml","msXmlParse","loadXML","parseError","errorCode","xmlThrowParserError","srcText","exceptionOrReason","errorXmlText","domParser","DOMParser","parseFromString","documentElement","namespaceURI","mozillaParserErroNS","srcTextElement","xmlNodeValue","xhtmlNS","xmlFirstDescendantElement","siblings","firstChild","nextSibling","shift","xmlQualifiedName","xmlAppendText","domNode","textNode","attr","xmlAttributeNode","xmlNewAttribute","ownerDocument","xmlAppendChild","onAttributeCallback","getNamedItemNS","getQualifiedItem","xmlBaseURI","onElementCallback","xmlTraverse","xmlFindElementByPath","root","xmlFindNodeByPath","lastSegmentStart","nodePath","parentPath","node","xmlFirstElementMaybeRecursive","getElementsByTagNameNS","recursive","firstElement","isExpectedNamespace","isExpectedNodeName","xmlElement","whitespacePreserveContext","whitespaceAlreadyRemoved","preserveWhiteSpace","shouldInclude","baseName","nodeValue","onChildCallback","subtrees","proceed","xmlSiblingElement","sibling","xmlDom","implementation","createDocument","xmlAppendChildren","parent","children","xmlNewText","setAttributeNodeNS","setAttributeNode","qualifiedName","createAttributeNS","createNode","xmlNewElement","createElementNS","nampespaceURI","xmlNewNSDeclaration","xmlNewFragment","tempDom","tempRoot","imported","importNode","createDocumentFragment","importedChild","createTextNode","xmlNewNodeByPath","xmlFindNode","xmlNewNode","xmlNode","childNode","xmlSerialize","xmlSerializer","XMLSerializer","serializeToString","xmlSerializeDescendants","childNodes","fragmentRoot","w3org","modules","odatajs"],"mappings":"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