@groton/canvas-api.utilities
v0.2.1
Published
Utility functions to support @groton/canvas-api and its clients
Downloads
28
Readme
@groton/canvas-api.utilities
Utility functions to support @groton/canvas-api and its clients
Install
npm install @groton/canvas-api.utilitiesUsage
import * as Canvas from '@groton/canvas-api';
import * as Utilities from '@groton/canvas-api.utilities';
// ...
// Canvas API initialization, etc.
// ...
// identify an API response as an error
const response = await Canvas.v1.Accounts.get({ pathParams: { id: 123 } });
if (Utilities.isError(response)) {
// handle error
}
// stringify a complex object into a (Canvas-friendly) URL query string
const query: string = Utilities.stringify({
assignment: {
name: 'example',
submission_types: ['online_upload', 'online_text_entry'],
due_at: new Date('9/1/25 8:00 am').toISOString()
}
});
// recursively flatten a complex object into a configurable URL query string
// (stringify() uses flatten()'s defaults)
const flattened: string = Utilities.flatten({
assignment: {
name: 'example',
submission_types: ['online_upload', 'online_text_entry'],
due_at: new Date('9/1/25 8:00 am').toISOString()
},
undefined, // accumulated parameter key string
undefined, // accumulated result string[]
true // use numeric indices for array parameterss
});
