@hapiboo/flux 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,6 +7,7 @@ export declare namespace fluxApplication {
7
7
  function start(): void;
8
8
  namespace repository {
9
9
  function initializeModels(): IResponsePromiseVoid;
10
+ function countModel(source: FluxObjectCreator): IResponsePromise<number>;
10
11
  function deleteModel(source: FluxObjectCreator, identifier: string): IResponsePromiseVoid;
11
12
  function createModel<T extends IFluxObject>(source: FluxObjectCreator, item: T): IResponsePromise<T>;
12
13
  function updateModel<T extends IFluxObject>(source: FluxObjectCreator, item: T): IResponsePromise<T>;
@@ -178,6 +178,17 @@ var fluxApplication;
178
178
  });
179
179
  }
180
180
  repository.initializeModels = initializeModels;
181
+ function countModel(source) {
182
+ return core_1.promise.createDelayedPromise((resolve, reject) => {
183
+ core_1.promise.tryMethod(() => {
184
+ const model = objects.getModel(source);
185
+ return model;
186
+ }, reject).then((model) => {
187
+ core_1.promise.resolve(_dbProvider.count(model), resolve, reject);
188
+ });
189
+ });
190
+ }
191
+ repository.countModel = countModel;
181
192
  function deleteModel(source, identifier) {
182
193
  return core_1.promise.createDelayedVoidPromise((resolve, reject) => {
183
194
  core_1.promise.tryMethod(() => {
@@ -41,6 +41,7 @@ export interface IFluxDBFilter {
41
41
  }
42
42
  export interface IDBProviderFlux {
43
43
  init(model: IFluxDataModelDefinition): IResponsePromiseVoid;
44
+ count(model: IFluxDataModel): IResponsePromise<number>;
44
45
  read<T extends IFluxObject>(creator: IFluxDataModelReader<T>): IResponsePromise<T>;
45
46
  array<T extends IFluxObject>(creator: IFluxDataModelReader<T>, filter: IFluxDBFilter | undefined, queryLimit: number | undefined): IResponsePromise<T[]>;
46
47
  query<T extends IFluxObject>(creator: IFluxDataModelReader<T>, info: IFluxIndexInfo, data: IFluxIndexData, filter: IFluxDBFilter | undefined, queryLimit: number | undefined): IResponsePromise<T[]>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hapiboo/flux",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "MK13 Studio Hapiboo Flux - Modular Application Services",
5
5
  "author": "MK13 Studio",
6
6
  "license": "ISC",