0.1.337 • Published 2 years ago

@datapos/datapos-engine-support v0.1.337

Weekly downloads
-
License
-
Repository
-
Last release
2 years ago

Data Positioning Engine Support

Includes TypeScript declarations used by the Data Positioning engine, as well as utilities that provide assistance when utilizing the engine.

...

Installation

npm install --save-dev @datapos-engine-support

Component Configuration Declarations

The following diagram illustrates the component configuration class hierarchy, showcasing the relationships and inheritance structure between different Component Configuration classes.

classDiagram
    direction LR

    class ComponentConfig {
        <<interface>>
        description : string
        firstCreatedAt : FirebaseTimestamp
        id : string
        label : string
        lastUpdatedAt : FirebaseTimestamp
        logo : string
        status : ComponentStatus
        statusId : string
        typeId : ComponentTypeId
    }

    ComponentConfig <|-- ConnectorConfig
    ConnectorConfig <|-- DataConnectorConfig
    ConnectorConfig <|-- NodeConnectorConfig
    ComponentConfig <|-- ConnectionConfig
    ComponentConfig <|-- ContextModelConfig
    ComponentConfig <|-- DimensionConfig
    ComponentConfig <|-- EntityConfig
    ComponentConfig <|-- EventQueryConfig
    ComponentConfig <|-- SourceViewConfig
    ComponentConfig <|-- UsageKitConfig
    ComponentConfig <|-- ViewTemplateConfig
classDiagram
    direction TB

    class ComponentStatus {
        <<type>>
        alpha
        beta
        generalAvailability
        preAlpha
        proposed
        releaseCandidate
        unavailable
        underReview
    }

    class ComponentTypeId {
        <<enumeration>>
        Connection
        Connector **
        ContextModel
        DataConnector **
        Dimension
        Entity
        EventQuery
        NodeConnector **
        SourceView
        ViewTemplate
        UsageKit
    }

Component Instance Declarations

The following diagram illustrates the component class hierarchy, showcasing the relationships and inheritance structure between different Component classes.

classDiagram
    direction LR

    class Component {
        <<interface>>
        config : ComponentConfig
    }

    class Connection {
        <<interface>>
        config : ConnectionConfig
    }

    class Connector {
        <<interface>>
        config : ConnectorConfig
    }

    class ContextModel {
        <<interface>>
        config : ContextModelConfig
    }

    class Dimension {
        <<interface>>
        config : DimensionConfig
    }

    class Entity {
        <<interface>>
        config : EntityConfig
    }

    class EventQuery {
        <<interface>>
        config : EventQueryConfig
    }

    class SourceView {
        <<interface>>
        config : SourceViewConfig
    }

    class UsageKit {
        <<interface>>
        config : UsageKitConfig
    }

    class ViewTemplate {
        <<interface>>
        config : ViewTemplateConfig
    }

    Component <|-- Connection
    Component <|-- Connector
    Connector <|-- DataConnector
    Connector <|-- NodeConnector
    Component <|-- ContextModel
    Component <|-- Dimension
    Component <|-- Entity
    Component <|-- EventQuery
    Component <|-- SourceView
    Component <|-- UsageKit
    Component <|-- ViewTemplate

Connector Configuration Declarations

The following diagram illustrates the connector class hierarchies, showcasing the relationships and inheritance structure between different Connector Configuration classes and detailing referenced enumeration types.

classDiagram
    direction LR


    class ConnectorConfig {
        <<interface>>
        category : ConnectorCategory
        categoryId : ConnectorCategoryId
        implementations : ConnectorImplementation[]
        usageId : ConnectorUsageId
        vendorAccountURL : string
        vendorDocumentationURL : string
        vendorHomeURL : string
        version : string
    }

    class ConnectorImplementation {
        <<interface>>
        activeConnectionCount : number
        canDescribe : boolean
        id : string
        authMethodId : ConnectorAuthMethodId
        label : string
        maxConnectionCount : number
        params : Record~string~[]
    }

    ConnectorConfig "1" --> "*" ConnectorImplementation
classDiagram
    direction TB

    class ConnectorAuthMethodId {
        <<enumeration>>
        APIKey
        Disabled
        OAuth2
        None
    }

    class ConnectorCategory {
        <<type>>
        application
        curatedDataset
        database
        fileStore
    }

    class ConnectorUsageId {
        <<enumeration>>
        Bidirectional
        Destination
        Node
        Source
        None
    }

Data Connector Instance Declarations

The following diagram illustrates the connector class hierarchies, showcasing the relationships and inheritance structure between different Data Connector classes and detailing referenced enumeration types.

classDiagram
    direction LR

    class DataConnectorConstructor {
        <<interface>>
    }

    class DataConnector {
        <<interface>>
        abortController? :  AbortController
        readonly config : ConnectorConfig
        readonly connectionConfig : ConnectionConfig
        readonly version : string
        abort?() void
        authenticate?() Window
        describe?() Promise~ConnectionDescription~
        getCreateInterface?() DataConnectorCreateInterface
        getPreviewInterface?() DataConnectorPreviewInterface
        getReadInterface?() DataConnectorReadInterface
        getWriteInterface?() DataConnectorWriteInterface
        retrieveEntries?() Promise~ConnectionEntryDrilldownResult~
    }

    DataConnector .. ConnectionDescription
    DataConnector .. DataConnectorCreateInterface
    DataConnectorCreateInterface "1" --> "1" DataConnectorCreateInterfaceSettings
    DataConnector .. DataConnectorPreviewInterface
    DataConnectorPreviewInterface "1" --> "1" DataConnectorPreviewInterfaceSettings
    DataConnector .. DataConnectorReadInterface
    DataConnectorReadInterface "1" --> "1" DataConnectorReadInterfaceSettings
    DataConnector .. DataConnectorWriteInterface
    DataConnectorWriteInterface "1" --> "1" DataConnectorWriteInterfaceSettings
    DataConnector "1" --> "*" ConnectionEntryDrilldownResult

Node Connector Instance Declarations

The following diagram illustrates the connector class hierarchies, showcasing the relationships and inheritance structure between different Node Connector classes and detailing referenced enumeration types.

classDiagram
    direction LR

    class NodeConnector {
        <<interface>>
        deleteNodeItem() Promise~void~
        getNodeItem() Promise~NodeItem~
        listNodeItems() Promise~NodeItem[]~
        upsertNodeItem() Promise~NodeItem~
        getNodeItemProperties() Promise~NodeItemProperties~
        upsertNodeItemProperties() Promise~NodeItemProperties~
        clearNodeItemData() Promise~void~
        countNodeItemData() Promise~number~
        determineNodeItemData() Promise~unknown~
        insertNodeItemData() Promise~void~
        retrieveNodeItemData() Promise~NodeItemDataPage~
    }

    class NodeItem {
        <<interface>>
    }

    class NodeItemProperties {
        <<interface>>
    }

    class NodeItemDataPage {
        <<interface>>}

    NodeConnector .. NodeItem
    NodeConnector .. NodeItemProperties
    NodeConnector .. NodeItemDataPage
classDiagram
    direction TB

    class NodeQuery {
        <<interface>>
    }

    class NodeQuerySelect {
        <<interface>>
    }

    class NodeQueryColumn {
        <<interface>>
    }

    class NodeQueryExpression {
        <<interface>>
    }

    class NodeQueryExpressionItem {
        <<interface>>
    }

    class NodeQueryExpressionValue {
        <<interface>>
    }

    NodeQuery "1" --> "1" NodeQuerySelect
    NodeQuerySelect "1" --> "*" NodeQueryColumn
    NodeQueryColumn "1" --> "1" NodeQueryExpression
    NodeQueryExpression "1" --> "*" NodeQueryExpressionItem
classDiagram
    direction TB

    class NodeDataTypeId {
        <<enumeration>>
        Data
        Events
        Facts
    }

    class NodeItemTypeId {
        <<enumeration>>
        Dimension
        Entity
        EventQuery
        SourceView
        Workbook
    }

Connection Declarations

The following diagram illustrates the connection class hierarchy, showcasing the relationships and inheritance structure between different Connection classes and detailing referenced enumeration types.

classDiagram
    direction LR

    class ConnectionConfig {
        <<interface>>
        authorization? : Record~ConnectionAuthorization~
        connectorId: string
        connectorImplementationId? : string
        lastVerifiedAt? : FirebaseTimestamp
        notation? : string
    }

    class ConnectionAuthorisation {
        <<interface>>
        access_token : string
        account_id : string
        expires_at : number
        expires_in : number
        refresh_token : string
        scope : string
        token_type : string
        uid : string
    }

    ConnectionConfig "1" --> "*" ConnectionAuthorisation

    class Connection {
        <<interface>>
    }

    class ConnectionDescription {
        <<interface>>
    }

    class FileType {
        <<interface>>
    }

    class ObjectType {
        <<interface>>
    }

    class Field {
        <<interface>>
    }

    class DataType {
        <<interface>>
    }

    ConnectionDescription "1" --> "*" FileType
    FileType "1" --> "*" Field
    ConnectionDescription "1" --> "*" ObjectType
    ObjectType "1" --> "*" Field

Connection Entry Declarations

The following diagram illustrates the connection entry class hierarchy, showcasing the relationships and inheritance structure between different Connection Entry classes and detailing referenced enumeration types.

classDiagram
    direction LR

    class ConnectionEntry {
        <<interface>>
        childCount? :  number
        folderPath? :  string
        encodingId? :  string
        extension? :  string
        handle? :  DPAFileSystemFileHandle
        id? :  string
        label? :  string
        lastModifiedAt? :  number
        mimeType? :  string
        name? :  string
        params? :  Record~unknown~
        paramsString? :  string
        referenceId? :  string
        size? :  number
        typeId? :  ConnectionEntryTypeId
    }

    ConnectionEntryPreview "1" --> "*" ParsedValue
    ConnectionEntryPreview "1" --> "*" SourceViewPreviewField

    class ConnectionEntryPreview {
        <<interface>>
        data :  ParsedValue[][] | Uint8Array
        fields :  SourceViewPreviewField[]
        typeId :  ConnectionEntryPreviewTypeId
    }

    class ParsedValue {
        <<type>>
        boolean
        number
        string
        null
    }

    SourceViewPreviewField "1" --> "*" PreviewValue

    class SourceViewPreviewField {
        <<interface>>
        dataTypeId? :  DataUsageTypeId
        id? :  string
        label? :  string
        previewValues? :  PreviewValue[]
    }

    class PreviewValue {
        <<interface>>
        id :  string
        label :  string
    }
classDiagram
    direction TB

    class ConnectionEntryPreviewTypeId {
        <<enumeration>>
        JSON
        Table
        Uint8Array
    }

    class ConnectionEntryTypeId {
        <<enumeration>>
        File
        Folder
    }
classDiagram
    direction TB

    class DataFormatId {
        <<enumeration>>
        DelimitedText
        EntityEvent
        JSON
        SPSS
        Table
        XLS
        XLSX
        XML
    }

    class ValueDelimiterId {
        <<enumeration>>
        Colon
        Comma
        ExclamationMark
        Other
        RecordSeparator
        Semicolon,
        Space
        Tab
        Underscore
        UnitSeparator
        VerticalBar
    }

Context Model Declarations

...

classDiagram
    direction LR

    class Component {
        <<interface>>
    }

    Component <|-- ContextModel

    class ContextModel {
        <<interface>>
    }

Dimension Declarations

...

classDiagram
    direction LR

    class Component {
        <<interface>>
    }

    Component <|-- Dimension

    class Dimension {
        <<interface>>
    }

Entity Declarations

...

classDiagram
    direction LR

    class Component {
        <<interface>>
    }

    Component <|-- Entity

    class Entity {
        <<interface>>
    }

Event Query Declarations

...

classDiagram
    direction LR

    class Component {
        <<interface>>
    }

    Component <|-- EventQuery

    class EventQuery {
        <<interface>>
    }

Source View Declarations

...

classDiagram
    direction TB

    class Component {
        <<interface>>
    }

    class SourceView {
        <<interface>>
        properties : SourceViewConfig
        preview : SourceViewPreview
        contentAudit : SourceViewContentAudit
        relationshipsAudit : SourceViewRelationshipsAudit
    }

    Component <|-- SourceView

    class SourceViewConfig {
        <<interface>>
        connectionId? : string
        folderPath? : string
        fileExtension? : string
        fileHandle? : DPAFileSystemFileHandle
        fileId? : string
        fileName? : string
        preview? : SourceViewPreview
        contentAudit? : SourceViewContentAudit
        relationshipsAudit? : SourceViewRelationshipsAudit
    }

    class SourceViewPreview {
        <<interface>>
        asAt : number
        commentPrefixId? : string
        dataFormatId : DataFormatId
        fields? : SourceViewPreviewField[]
        encodingConfidenceLevel? : number
        encodingId? : string
        hasHeaderLine? : boolean
        lineDelimiterId? : string
        linesToSkipBeforeHeader? : number
        linesToSkipAfterHeader? : number
        linesToSkipAtEndOfFile? : number
        previewSize : number
        quoteEscapeCharacterId? : string
        quoteMarkId? : string
        records? : ParsedValue[][]
        skipEmptyLines? : boolean
        skipLinesWithEmptyValues? : boolean
        skipLinesWithErrors? : boolean
        text? : string
        totalSize? : number
        valueDelimiterId? : ValueDelimiterId
        valueTrimMethodId? : string
    }

    SourceView "1" --> "*" SourceViewConfig

    SourceViewConfig "1" --> "*" SourceViewPreview

    SourceViewConfig "1" --> "*" SourceViewContentAudit

    class SourceViewContentAudit {
        <<interface>>
        asAt : number
        fields : ContentAuditField[]
        lineCount : number
    }

    SourceViewContentAudit "1" --> "*" ContentAuditField

    %%class SourceViewPreviewField {
    %%    <<interface>>
    %%}

    %%SourceViewPreviewField <|-- ContentAuditField

    %%SourceViewPreview "1" --> "*" SourceViewPreviewField

    class ContentAuditField {
        <<interface>>
        dataUsageTypeId? : DataUsageTypeId
        id? : string
        invalidValueCount : number
        missingValueCount : number
        uniqueValueCount : number
        validValueCount : number
        values : Record~number~
    }

    SourceViewConfig "1" --> "*" SourceViewRelationshipsAudit

    class SourceViewRelationshipsAudit {
        <<interface>>
    }

Usage Kit Declarations

...

classDiagram
    direction LR

    class Component {
        <<interface>>
    }

    Component <|-- UsageKit

    class UsageKit {
        <<interface>>
    }

View Template Declarations

...

classDiagram
    direction LR

    class Component {
        <<interface>>
    }

    Component <|-- ViewTemplate

    class ViewTemplate {
        <<interface>>
    }

Other Declarations

classDiagram
    direction TB

    class CallbackProperties {
        <<interface>>
    }

    class DataStorageTypeId {
        <<enumeration>>
        Binary
        Boolean
        Byte
        Date
        DateTime
        DateTimeOffset
        Decimal
        Double
        Int8
        Int16
        Int32
        Int64
        Object
        Single
        String
        Time
        Unknown
    }

    class DataUsageTypeId {
        <<enumeration>>
        Binary
        Boolean
        Date
        DateTime
        DateTimeOffset
        DecimalNumber
        Object
        String
        Time
        Unknown
        WholeNumber
    }

    class DPAFileSystemFileHandle {
        <<interface>>
    }
classDiagram
    direction TB

    class ErrorData {
            <<interface>>
        body : ErrorDataBody
        statusCode? : number
        statusText? : string
    }

    class ErrorDataBody {
            <<interface>>
        context? : string
        message : string
        stack? : string
    }

    class FirebaseTimestamp {
        <<interface>>
    }

    class Progress {
        <<interface>>
    }

Utilities

Conversion

  • convertODataTypeToDataType

Extraction

  • extractDirectoryPathFromEntryPath
  • extractExtensionFromEntryPath
  • extractLastFolderNameFromFolderPath

Formatting

  • formatNumberAsDecimalNumber
  • formatNumberAsStorageSize
  • formatNumberAsWholeNumber

Lookup

  • lookupMimeTypeForFileExtension

Security

  • establishVendorAccessToken

Repository Management Commands

The following list details the common repository management commands implementation for this project. For more details, please refer to the Grunt configuration file (gruntfile.js) in this project.

NameKey CodeNotes
Auditalt+ctrl+shift+aAudit the project's dependencies for known security vulnerabilities.
Buildalt+ctrl+shift+bBuild the package using Vite build.
Checkalt+ctrl+shift+cList the dependencies in the project that are outdated.
Documentalt+ctrl+shift+dIdentify the licenses of the project's dependencies.
Formatalt+ctrl+shift+fNOT implemented.
Lintalt+ctrl+shift+lCheck the code for potential errors and enforces coding styles.
Migratealt+ctrl+shift+lInstall the latest version of outdated dependencies.
Publishalt+ctrl+shift+nPublishes the package to the npm registry. This action will publish the last synchronised version. Use the command line command 'npm publish' when publishing for the first time.
Releasealt+ctrl+shift+rSynchronise the local repository with the main GitHub repository and publish the package to the npm registry.
Synchronisealt+ctrl+shift+sSynchronise the local repository with the main GitHub repository.
Testalt+ctrl+shift+lNOT implemented.
Updatealt+ctrl+shift+lInstall the latest version of outdated Data Position package dependencies.
0.0.329

2 years ago

0.0.328

2 years ago

0.0.334

2 years ago

0.0.333

2 years ago

0.1.337

2 years ago

0.1.336

2 years ago

0.1.335

2 years ago

0.0.326

2 years ago

0.0.324

2 years ago

0.0.327

2 years ago

0.0.322

2 years ago

0.0.321

2 years ago

0.0.320

2 years ago

0.0.319

2 years ago

0.0.318

2 years ago

0.0.317

2 years ago

0.0.315

2 years ago

0.0.314

2 years ago

0.0.313

2 years ago

0.0.312

2 years ago

0.0.311

2 years ago

0.0.310

2 years ago

0.0.309

2 years ago

0.0.308

2 years ago

0.0.307

2 years ago

0.0.306

2 years ago

0.0.305

2 years ago

0.0.304

2 years ago

0.0.303

2 years ago

0.0.301

2 years ago

0.0.300

2 years ago

0.0.299

2 years ago

0.0.297

2 years ago

0.0.296

2 years ago

0.0.295

2 years ago

0.0.294

2 years ago

0.0.293

2 years ago

0.0.292

2 years ago

0.0.291

2 years ago

0.0.290

2 years ago

0.0.288

2 years ago

0.0.286

2 years ago

0.0.285

2 years ago

0.0.284

2 years ago

0.0.283

2 years ago

0.0.282

2 years ago

0.0.281

2 years ago

0.0.280

2 years ago

0.0.279

2 years ago

0.0.278

2 years ago

0.0.277

2 years ago

0.0.276

2 years ago

0.0.275

2 years ago

0.0.273

2 years ago

0.0.272

2 years ago

0.0.271

2 years ago

0.0.270

2 years ago

0.0.269

2 years ago

0.0.267

2 years ago

0.0.266

2 years ago

0.0.265

2 years ago

0.0.264

2 years ago

0.0.263

2 years ago

0.0.262

2 years ago

0.0.261

2 years ago

0.0.260

2 years ago

0.0.259

2 years ago

0.0.258

2 years ago

0.0.256

2 years ago

0.0.254

2 years ago

0.0.252

2 years ago

0.0.251

2 years ago

0.0.250

2 years ago

0.0.249

2 years ago

0.0.248

2 years ago

0.0.247

2 years ago

0.0.246

2 years ago

0.0.245

2 years ago

0.0.244

2 years ago

0.0.243

2 years ago

0.0.242

2 years ago

0.0.241

2 years ago

0.0.240

2 years ago

0.0.239

2 years ago

0.0.238

2 years ago

0.0.237

2 years ago

0.0.236

2 years ago

0.0.235

2 years ago

0.0.234

2 years ago

0.0.233

2 years ago

0.0.232

2 years ago

0.0.231

2 years ago

0.0.230

2 years ago

0.0.229

2 years ago

0.0.227

2 years ago

0.0.226

2 years ago

0.0.225

2 years ago

0.0.224

2 years ago

0.0.223

2 years ago

0.0.222

2 years ago

0.0.221

2 years ago

0.0.220

2 years ago

0.0.219

2 years ago

0.0.218

2 years ago

0.0.217

2 years ago

0.0.216

2 years ago

0.0.215

2 years ago

0.0.214

2 years ago

0.0.213

2 years ago

0.0.212

2 years ago

0.0.211

2 years ago

0.0.210

2 years ago

0.0.209

2 years ago

0.0.208

2 years ago

0.0.207

2 years ago

0.0.206

2 years ago

0.0.205

2 years ago

0.0.204

2 years ago

0.0.203

2 years ago

0.0.202

2 years ago

0.0.201

2 years ago

0.0.200

2 years ago

0.0.199

2 years ago

0.0.198

2 years ago

0.0.197

2 years ago

0.0.196

2 years ago

0.0.195

2 years ago

0.0.194

2 years ago

0.0.193

2 years ago

0.0.192

2 years ago

0.0.191

2 years ago

0.0.190

2 years ago

0.0.189

2 years ago

0.0.188

2 years ago

0.0.187

2 years ago

0.0.186

2 years ago

0.0.185

2 years ago

0.0.184

2 years ago

0.0.183

2 years ago

0.0.182

2 years ago

0.0.181

2 years ago

0.0.180

2 years ago

0.0.179

2 years ago

0.0.178

2 years ago

0.0.177

2 years ago

0.0.176

2 years ago

0.0.175

2 years ago

0.0.174

2 years ago

0.0.173

2 years ago

0.0.172

2 years ago

0.0.169

2 years ago

0.0.168

2 years ago

0.0.167

2 years ago

0.0.166

2 years ago

0.0.165

2 years ago

0.0.164

2 years ago

0.0.163

2 years ago

0.0.162

2 years ago

0.0.161

2 years ago

0.0.160

2 years ago

0.0.159

2 years ago

0.0.158

2 years ago

0.0.157

2 years ago

0.0.156

2 years ago

0.0.155

2 years ago

0.0.154

2 years ago

0.0.153

2 years ago

0.0.152

2 years ago

0.0.151

2 years ago

0.0.150

2 years ago

0.0.149

2 years ago

0.0.148

2 years ago

0.0.147

2 years ago

0.0.146

2 years ago

0.0.145

2 years ago

0.0.144

2 years ago

0.0.143

2 years ago

0.0.142

2 years ago

0.0.141

2 years ago

0.0.140

2 years ago

0.0.139

2 years ago

0.0.136

2 years ago

0.0.135

2 years ago

0.0.134

2 years ago

0.0.133

2 years ago

0.0.132

2 years ago

0.0.130

2 years ago

0.0.129

2 years ago

0.0.128

2 years ago

0.0.127

2 years ago

0.0.126

2 years ago

0.0.125

2 years ago

0.0.123

2 years ago

0.0.122

2 years ago

0.0.121

2 years ago

0.0.119

2 years ago

0.0.118

2 years ago

0.0.117

2 years ago

0.0.116

2 years ago

0.0.115

2 years ago

0.0.114

2 years ago

0.0.110

2 years ago

0.0.109

2 years ago

0.0.108

2 years ago

0.0.107

2 years ago

0.0.106

2 years ago

0.0.105

2 years ago

0.0.104

2 years ago

0.0.77

2 years ago

0.0.73

2 years ago

0.0.56

2 years ago

0.0.50

2 years ago

0.0.49

2 years ago

0.0.48

2 years ago

0.0.31

2 years ago

0.0.30

2 years ago

0.0.29

2 years ago

0.0.28

2 years ago

0.0.27

2 years ago

0.0.26

2 years ago

0.0.25

2 years ago

0.0.24

2 years ago

0.0.23

2 years ago

0.0.22

2 years ago

0.0.21

2 years ago

0.0.20

2 years ago

0.0.19

2 years ago

0.0.17

2 years ago

0.0.16

2 years ago

0.0.15

2 years ago

0.0.13

2 years ago

0.0.12

2 years ago

0.0.11

2 years ago

0.0.10

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.5

2 years ago

0.0.3

2 years ago