{"id":18406334,"url":"https://github.com/rusticisoftware/tincanjs","last_synced_at":"2025-04-12T21:26:12.228Z","repository":{"id":4318660,"uuid":"5452699","full_name":"RusticiSoftware/TinCanJS","owner":"RusticiSoftware","description":"JavaScript library for the Experience API (Tin Can API)","archived":false,"fork":false,"pushed_at":"2023-10-17T08:55:06.000Z","size":8117,"stargazers_count":208,"open_issues_count":30,"forks_count":116,"subscribers_count":62,"default_branch":"master","last_synced_at":"2025-04-04T01:05:36.690Z","etag":null,"topics":["javascript","javascript-library","tincan","xapi"],"latest_commit_sha":null,"homepage":"http://rusticisoftware.github.io/TinCanJS/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RusticiSoftware.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-08-17T13:41:20.000Z","updated_at":"2025-01-23T23:45:18.000Z","dependencies_parsed_at":"2024-06-18T14:04:40.194Z","dependency_job_id":"558745a8-2b4b-422d-abcf-9b9e2c26b954","html_url":"https://github.com/RusticiSoftware/TinCanJS","commit_stats":{"total_commits":309,"total_committers":16,"mean_commits":19.3125,"dds":0.482200647249191,"last_synced_commit":"8733f14ddcaeea77a0579505300bc8f38921a6b1"},"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RusticiSoftware%2FTinCanJS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RusticiSoftware%2FTinCanJS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RusticiSoftware%2FTinCanJS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RusticiSoftware%2FTinCanJS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RusticiSoftware","download_url":"https://codeload.github.com/RusticiSoftware/TinCanJS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248633449,"owners_count":21136872,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript","javascript-library","tincan","xapi"],"created_at":"2024-11-06T03:08:18.847Z","updated_at":"2025-04-12T21:26:12.202Z","avatar_url":"https://github.com/RusticiSoftware.png","language":"JavaScript","readme":"A JavaScript library for implementing the Experience API (Tin Can API).\n\n[![Build Status](https://travis-ci.org/RusticiSoftware/TinCanJS.png)](https://travis-ci.org/RusticiSoftware/TinCanJS)\n[![GitHub release](https://img.shields.io/github/release/RusticiSoftware/TinCanJS.svg?maxAge=2592000)](https://github.com/RusticiSoftware/TinCanJS/releases)\n[![npm](https://img.shields.io/npm/v/tincanjs.svg?maxAge=2592000)](https://www.npmjs.com/package/tincanjs)\n[![license](https://img.shields.io/github/license/RUsticiSoftware/TinCanJS.svg?maxAge=2592000)]()\n\nFor hosted API documentation, basic usage instructions, supported version listing, etc. visit the main project website at:\n\nhttp://rusticisoftware.github.io/TinCanJS/\n\nFor more information about the Experience API visit:\n\nhttp://experienceapi.com/\n\nBrowser Usage\n-------------\n\nTinCanJS is available via `npm` and Bower.\n\nThe browser environment is well tested and supports two kinds of Cross Origin requests which\nis sufficient to cover most versions of Chrome, FireFox, Safari as well as IE 8+. IE 6+ are\nsupported for non-CORS (because they don't support it).\n\nInclude *one* of build/tincan-min.js or build/tincan.js as follows:\n\n    \u003cscript src=\"build/tincan-min.js\"\u003e\u003c/script\u003e\n\nNode.js Usage\n-------------\n\nTinCanJS is available via `npm`.\n\nThe `Environment/Node.js` wrapper used in this version has a dependency on the 'xhr2' module\nwhich is also available via `npm`. It is used to allow the interfaces to the underlying LRS\nrequests to have the same API. As such currently there is no support for synchronous requests\nwhen using this environment.\n\nInstall via:\n\n    npm install tincanjs\n\nAnd within code:\n\n    var TinCan = require('tincanjs');\n\nEnvironments\n------------\n\nImplementing a new Environment should be straightforward and requires overloading a couple\nof methods in the library. There are currently two examples, `Environment/Browser`\nand `Environment/Node`.\n\nAttachment Support\n------------------\n\nSending and retrieving statements with attachments via the multipart/mixed request/response\ncycle works end to end with binary attachments in Node.js 4+ and in the typical modern browsers:\nChrome 53+, Firefox 48+, Safari 9+, IE 10+ (current versions at time of implementation, older versions\nmay work without changes but have not been tested). Attachments without included content (those using\nonly the `fileUrl` property) should be supported in all environments supported by the library.\n\nSeveral polyfills (TypedArrays, ArrayBuffer w/ slice, Blob, TextDecoder/TextEncoder) are needed\nto support various browser versions, if you are targeting a recent enough set of browsers you\ncan reduce the overall size of the built library by commenting out those polyfills in the\n`Gruntfile.js` file and building yourself.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frusticisoftware%2Ftincanjs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frusticisoftware%2Ftincanjs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frusticisoftware%2Ftincanjs/lists"}