2.0.7 • Published 7 months ago

sas-viya-api-wrappers-js v2.0.7

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
7 months ago

SAS Viya API Wrappers for JavaScript

This repository contains JavaScript classes which can be used to interact with SAS Viya REST APIs.

Currently, the package contains wrapper for:

  • SAS Compute Server
  • SAS Job Execution

Other wrappers are also available, and are mainly used by the wrappers listed above.

  • SAS Content Server File
  • SAS Content Server Folder
  • SAS Compute Server Context

Prerequisite

The sas-auth-browser package provided by SAS.

In order to successfully make browser based REST calls to SAS Viya endpoints using cookies, you will need to enable CORS, Cross-site cookies and CSRF web security settings. For more information, see the SAS® Visual Analytics SDK SAS Viya setup guide.

Installation

npm i sas-viya-api-wrappers-js

CDN

<script type="importmap">
    {
        "imports": {
            "sas-viya-api-wrappers-js": "https://cdn.jsdelivr.net/npm/sas-viya-api-wrappers-js@latest/dist/sas-viya-api-wrappers-js.js"
        }
    }
</script>

Usage

API Calls

This wrapper is created as a class. The call can be instantiated using the following code:

const api = new APICall({
    baseURL: this.server,
    link: link,
    data: data,
    searchParams: searchParams
    headers: headers
})

The following parameters can be used to instantiate the class:

  • baseURL: string
  • link: Link
  • data?: {}
  • searchParams?: URLSearchParams
  • headers?: Headers

The class exposes the following methods:

  • execute(): to call the API endpoint
  • logout(): to logout from the SAS server

SAS Compute Server API

This wrapper is created as a class. The class can be instantiated using the following code:

const computeSession = new ComputeSession.init({
    baseURL: 'https://server.demo.sas.com',
    contextName: 'SAS Job Execution compute context',
})

The following parameters should be used to instantiate the class:

  • baseURL: string
  • contextName?: string

The class exposes the following methods:

  • static init( baseURL: string, contextName: string )
  • getLibraries( outputType?: OutputType searchParams?: URLSearchParams )
  • getTables( libraryName: string outputType?: OutputType searchParams?: URLSearchParams )
  • getColumns( libraryName: string tableName: string outputType?: OutputType searchParams?: URLSearchParams )
  • getValues( libraryName: string tableName: string columnName: string filters?: { column: string value: string }[] )
  • executeCode( code: string | string[] resultName: string )
  • deleteSession( logout: boolean )

SAS Job Execution API

This wrapper is created as a class. The class can be instantiated using the following code:

const job = new Job.init({
    baseURL: 'https://server.demo.sas.com',
    name: 'Test',
    path: '/Users/student/My Folder',
})

Note: The code of the job should include %JESBEGIN and %JESEND macro variables if you want to use the _webout destination for the output of your job.

The following parameters should be used to instantiate the class:

  • baseURL: string
  • name: string
  • path: string

The class exposes the following methods:

  • static init( baseURL: string, name: string, path: string )
  • getJobDefinition()
  • getJobParameters()
  • checkJobParameters( args: key: string: string | number )
  • execute( args key: string: string | number checkDelay: number (of seconds), checkInterval: number (of seconds), resultFileName?: string )
  • getJobResult( jobExecution: JobExecution resultFileName?: string )

Samples

In this section, you can find examples of web applications and their related code.

SAS Compute Server API

2.0.3

7 months ago

2.0.2

7 months ago

2.0.5

7 months ago

2.0.4

7 months ago

2.0.7

7 months ago

2.0.6

7 months ago

2.0.1

7 months ago

2.0.0

7 months ago

1.2.5

9 months ago

1.2.4

9 months ago

1.2.3

9 months ago

1.2.2

9 months ago

1.2.1

9 months ago

1.2.0

9 months ago

1.1.2

9 months ago

1.1.1

9 months ago

1.1.0

9 months ago

1.0.8

9 months ago

1.0.7

9 months ago

1.0.6

9 months ago

1.0.5

9 months ago

1.0.4

9 months ago

1.0.3

9 months ago

1.0.2

9 months ago

1.0.1

9 months ago

1.0.0

9 months ago