Skip to content

Instantly share code, notes, and snippets.

@ytyng
Created November 18, 2017 04:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ytyng/a5557a5dd9b8c73e62f477eabe35579b to your computer and use it in GitHub Desktop.
Save ytyng/a5557a5dd9b8c73e62f477eabe35579b to your computer and use it in GitHub Desktop.
/**
* meta タグの data をプロパティとしたオブジェクトを作る
* 例: for(instance of MetaDataModel.all('meta.items')) { ... }
* 継承して getAllQuery のオーバーライド推奨
*/
class MetaDataModel {
constructor(q) {
this.query = q;
Object.assign(this, q.data())
}
static* all(selector) {
var q = this.getAllQuery(selector);
for (var i = 0; i<q.length; q++) {
var m = new this(q.eq(i));
yield m;
}
}
static getAllQuery(selector) {
return $(selector);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment