本文整理匯總了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 });
}