js-dataverse
TypeScript icon, indicating that this package has built-in type declarations

1.0.49 • Public • Published

dataverse-client-javascript

npm

A JavaScript/TypeScript client for Dataverse.

NPM

Module available as js-dataverse at https://www.npmjs.com/package/js-dataverse

Usage

Create a new client:

const client = new DataverseClient('https://demo.dataverse.org/')

Request dataset information:

const response = await client.getDataverseInformation('myDataverseAlias')

Current available functions

public async getDataverseInformation(alias: string): Promise<AxiosResponse> {

public async listDatasets(alias: string): Promise<AxiosResponse> {

public async addDataset(dataverseAlias: string, payload: string): Promise<AxiosResponse> {

public async addBasicDataset(dataverseAlias: string, datasetInformation: BasicDatasetInformation): Promise<AxiosResponse> {

public async search(options: SearchOptions): Promise<AxiosResponse> {

public async searchOnlyPublished(options: SearchOptions): Promise<AxiosResponse> {

public async getFile(fileId: string): Promise<AxiosResponse> {

public async getFileMetadata(fileId: string, draftVersion: boolean = false): Promise<AxiosResponse> {

public async getLatestDatasetInformation(datasetId: string): Promise<AxiosResponse> {

public async getLatestPublishedDatasetVersion(datasetId: string): Promise<AxiosResponse> {

public async getDraftDatasetVersion(datasetId: string): Promise<AxiosResponse> {

public async getLatestDatasetInformationFromDOI(doi: string): Promise<AxiosResponse> {

public async getDatasetVersions(datasetId: string): Promise<AxiosResponse> {

public async getDatasetVersion(datasetId: string, version: string): Promise<AxiosResponse> {

Note: Version must be published, e.g.:
http://demo.dataverse.org/api/datasets/389608/versions/1

public async listDataverseRoleAssignments(dataverseAlias: string): Promise<AxiosResponse> {

public async getMetric(datasetId: string, metricType: DataverseMetricType, yearMonth?: string): Promise<AxiosResponse> {

public async getMetricByCountry(datasetId: string, metricType: DataverseMetricType, countryCode?: string, yearMonth?: string) {

public async replaceFile(fileId: string, filename: string, fileBuffer: Buffer, jsonData: object = {}): Promise<any> {

public async publishDataset(datasetId: string, versionUpgradeType: DatasetVersionUpgradeType = DatasetVersionUpgradeType.MAJOR): Promise<AxiosResponse> {

public async updateDataset(datasetId: string, datasetInformation: BasicDatasetInformation): Promise<AxiosResponse> {

public async deleteDataset(datasetId: string): Promise<AxiosResponse> {

public async getDatasetFiles(datasetId: string): Promise<AxiosResponse> {

Build project

In order to build the project, we need to run the following command:

yarn build or npm run build

the build generated will be placed in dist folder.

Tests and checks

Pre-requisites

Make sure that you install all the project dependencies

yarn install or npm install

Keep consistent, whether you use yarn or npm

Running tests in CICD pipeline

yarn test:ci or npm run test:ci

Test coverage

yarn test:coverage or npm run test:coverage

Format checks

Making sure that the code format is following the guidelines

yarn format:check or npm run format:check

Lint checks

Running a linting check on the code

yarn eslint:check or npm run eslint:check

Publishing new version

Automated publishing of versions could be automated when merging to master. Below are the steps that would be required to publish a new version:

  1. Run tests and checks
  2. Build the project
  3. Commit changes
  4. Upgrade npm version
  5. Publish, npm publish

Contributing

If you are interested in contributing, please click here

Dependents (0)

Package Sidebar

Install

npm i js-dataverse

Weekly Downloads

48

Version

1.0.49

License

MIT

Unpacked Size

65.2 kB

Total Files

48

Last publish

Collaborators

  • tainguyenbui
  • mikota95
  • pdurbin
  • gportas