本文整理汇总了TypeScript中@orbit/memory.MemoryCache类的典型用法代码示例。如果您正苦于以下问题:TypeScript MemoryCache类的具体用法?TypeScript MemoryCache怎么用?TypeScript MemoryCache使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了MemoryCache类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: constructor
constructor(settings: StoreSettings) {
const source = settings.source;
this.transformLog = source.transformLog;
this.requestQueue = source.requestQueue;
this.syncQueue = source.syncQueue;
const sourceCache: MemoryCache = source.cache;
const factory = new ModelFactory(this);
this.identityMap = new IdentityMap({ factory });
this.source = source;
this.cache = new Cache(source.cache, this.identityMap);
this._listener = this.generateListener();
sourceCache.on('patch', this._listener);
}
示例2: query
query(queryOrExpression: QueryOrExpression, options?: object, id?: string) {
const query = buildQuery(
queryOrExpression,
options,
id,
this._sourceCache.queryBuilder
);
const result = this._sourceCache.query(query);
return this._identityMap.lookupQueryResult(query, result);
}
示例3: retrieveRelatedRecord
retrieveRelatedRecord(identity: RecordIdentity, relationship: string) {
const record = this._sourceCache.getRecordSync(identity);
if (record) {
const identity = deepGet(record, ['relationships', relationship, 'data']);
if (!identity) {
return null;
}
return this._identityMap.lookup(identity);
}
return null;
}
示例4: deepGet
retrieveAttribute(identity: RecordIdentity, attribute: string) {
const record = this._sourceCache.getRecordSync(identity);
return deepGet(record, ['attributes', attribute]);
}
示例5: retrieveRecordData
retrieveRecordData(type: string, id: string) {
return this._sourceCache.getRecordSync({ type, id });
}