home
  • Blog
  • Home
  • Projects
    • Ember
    • EmberData
    • Ember CLI
3.28
  • Packages
    • @ember-data/adapter
    • @ember-data/adapter/error
    • @ember-data/adapter/json-api
    • @ember-data/adapter/rest
    • @ember-data/canary-features
    • @ember-data/debug
    • @ember-data/deprecations
    • @ember-data/model
    • @ember-data/record-data
    • @ember-data/serializer
    • @ember-data/serializer/json
    • @ember-data/serializer/json-api
    • @ember-data/serializer/rest
    • @ember-data/store
  • Classes
    • AbortError
    • Adapter
    • AdapterError
    • AdapterPopulatedRecordArray
    • BelongsToReference
    • BooleanTransform
    • BuildURLMixin
    • ConflictError
    • DateTransform
    • EmbeddedRecordsMixin
    • Errors
    • ForbiddenError
    • HasManyReference
    • IdentifierCache
    • InvalidError
    • JSONAPIAdapter
    • JSONAPISerializer
    • JSONSerializer
    • ManyArray
    • MinimumAdapterInterface
    • MinimumSerializerInterface
    • Model
    • NotFoundError
    • NumberTransform
    • PromiseArray
    • PromiseManyArray
    • PromiseObject
    • RESTAdapter
    • RESTSerializer
    • RecordArray
    • RecordDataDefault
    • RecordDataStoreWrapper
    • RecordReference
    • Reference
    • Serializer
    • ServerError
    • Snapshot
    • SnapshotRecordArray
    • StableRecordIdentifier
    • Store
    • StringTransform
    • TimeoutError
    • Transform
    • UnauthorizedError

Class SnapshotRecordArray public


Defined in: ../store/addon/-private/system/snapshot-record-array.ts:8
Module: @ember-data/store

SnapshotRecordArray is not directly instantiable. Instances are provided to consuming application's adapters for certain requests.


Methods

snapshots : Array public

Module: @ember-data/store

Defined in ../store/addon/-private/system/snapshot-record-array.ts:168

returns
Array

Array of snapshots

Get snapshots of the underlying record array

Example

app/adapters/post.js
import JSONAPIAdapter from '@ember-data/adapter/json-api';

export default class PostAdapter extends JSONAPIAdapter {
  shouldReloadAll(store, snapshotArray) {
    let snapshots = snapshotArray.snapshots();

    return snapshots.any(function(ticketSnapshot) {
      let timeDiff = moment().diff(ticketSnapshot.attr('lastAccessedAt'), 'minutes');
      if (timeDiff > 20) {
        return true;
      } else {
        return false;
      }
    });
  }
}

Properties

adapterOptions public

Module: @ember-data/store

Defined in ../store/addon/-private/system/snapshot-record-array.ts:101

A hash of adapter options passed into the store method for this request.

Example

app/adapters/post.js
import MyCustomAdapter from './custom-adapter';

export default class PostAdapter extends MyCustomAdapter {
  findAll(store, type, sinceToken, snapshotRecordArray) {
    if (snapshotRecordArray.adapterOptions.subscribe) {
      // ...
    }
    // ...
  }
}

include public

Module: @ember-data/store

Defined in ../store/addon/-private/system/snapshot-record-array.ts:125

The relationships to include for this request.

Example

app/adapters/application.js
import Adapter from '@ember-data/adapter';

export default class ApplicationAdapter extends Adapter {
  findAll(store, type, snapshotRecordArray) {
    let url = `/${type.modelName}?include=${encodeURIComponent(snapshotRecordArray.include)}`;

    return fetch(url).then((response) => response.json())
  }
}

length public

Module: @ember-data/store

Defined in ../store/addon/-private/system/snapshot-record-array.ts:55

Number of records in the array

Example

app/adapters/post.js
import JSONAPIAdapter from '@ember-data/adapter/json-api';

export default class PostAdapter extends JSONAPIAdapter {
  shouldReloadAll(store, snapshotRecordArray) {
    return !snapshotRecordArray.length;
  }
});

meta public

Module: @ember-data/store

Defined in ../store/addon/-private/system/snapshot-record-array.ts:78

Meta objects for the record array.

Example

app/adapters/post.js
import JSONAPIAdapter from '@ember-data/adapter/json-api';

export default class PostAdapter extends JSONAPIAdapter {
  shouldReloadAll(store, snapshotRecordArray) {
    let lastRequestTime = snapshotRecordArray.meta.lastRequestTime;
    let twentyMinutes = 20 * 60 * 1000;
    return Date.now() > lastRequestTime + twentyMinutes;
  }
});

modelName public

Module: @ember-data/store

Defined in ../store/addon/-private/system/snapshot-record-array.ts:158

The modelName of the underlying records for the snapshots in the array, as a Model

type public

Module: @ember-data/store

Defined in ../store/addon/-private/system/snapshot-record-array.ts:149

The type of the underlying records for the snapshots in the array, as a Model

On this page


Methods

  • snapshots

Properties

  • adapterOptions
  • include
  • length
  • meta
  • modelName
  • type
Team Sponsors Security Legal Branding Community Guidelines
Twitter GitHub Discord Mastodon

If you want help you can contact us by email, open an issue, or get realtime help by joining the Ember Discord.

© Copyright 2025 - Tilde Inc.
Ember.js is free, open source and always will be.


Ember is generously supported by
blue Created with Sketch.