common-core-api
Version:
Pre-Beta. Wrapper for common-standards-project api
30 lines (29 loc) • 1.19 kB
JavaScript
/*
For Search requests on http://commonstandardsproject.com
Not required for private search implementation
*/
(function(){
'use strict';
const algoliasearch = require('algoliasearch');
const val=require('./val.js')
const COMMON_STANDARDS_PROJECT = 'common-standards-project'
const sym=Symbol('algolia')
class Client{
static get symbol(){return sym;}
constructor(applicationId,apiKey){
//console.info(applicationId,apiKey);
//console.log('angolia')
if(val.string(applicationId) && val.isAlphanumeric(applicationId)){
this.applicationId=applicationId;
}else{
throw new TypeError('algoliasearch applicationId must be a valid applicationId')
}
if(val.apiKey(apiKey)){ this.apiKey=apiKey; }
else{ throw TypeError('algoliasearch apiKey must be a valid apiKey string'); }
this.algolia=algoliasearch(this.applicationId, this.apiKey);
this.index=this.algolia.initIndex(COMMON_STANDARDS_PROJECT);
}
get valid(){ return (this.applicationId && this.apiKey); }
}
module.exports = Client;
})();