{"size": 814, "ext": "js", "max_stars_repo_path": "dist/interface.min.js", "max_stars_repo_name": "stevethedev/js-list-examples", "max_stars_repo_stars_event_min_datetime": null, "max_stars_repo_stars_event_max_datetime": null, "max_issues_repo_path": "dist/interface.min.js", "max_issues_repo_name": "stevethedev/js-list-examples", "max_issues_repo_issues_event_min_datetime": null, "max_issues_repo_issues_event_max_datetime": null, "max_forks_repo_path": "dist/interface.min.js", "max_forks_repo_name": "stevethedev/js-list-examples", "max_forks_repo_forks_event_min_datetime": null, "max_forks_repo_forks_event_max_datetime": null}
{"max_stars_count": null, "max_issues_count": null, "max_forks_count": null, "avg_line_length": 814.0, "max_line_length": 814, "alphanum_fraction": 0.6953316953}
function Interface(e,t,r){"use strict";if(!arguments.length)throw new Error("Attempted to create Interface without a name.");t&&t.length||(t=[]),r&&r.length||(r=[]);var n,o,f=[];for(n=0,o=t.length;n<o;++n){if("string"!=typeof t[n])throw new Error("Interface<"+e+"> method<"+n+"> name is <"+typeof t[n]+">; expected string");f.push(t[n])}for(n=0,o=r.length;n<o;++n){if(!Interface.prototype.isPrototypeOf(r[n]))throw new Error("Interface<"+e+"> attempted to implement non-Interface interface");f=f.concat(r[n].methods)}Object.defineProperties(this,{name:{value:e},methods:{value:Object.freeze(f)}})}Interface.prototype={implementedBy:function(e){"use strict";for(var t=this.methods,r=0,n=t.length;r<n;++r)if("function"!=typeof e[t[r]])throw new Error("Interface<"+this.name+"> requires the method "+t[r]);return!0}};