npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

sas-viya-api-wrappers-js

v2.0.7

Published

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

Readme

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