iodm 0.0.1 → 0.0.2

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.
Files changed (42) hide show
  1. package/README.md +2 -67
  2. package/dist/configure.d.ts +10 -0
  3. package/dist/configure.d.ts.map +1 -0
  4. package/dist/index.d.ts +3 -2
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.es.js +1203 -6
  7. package/dist/model/index.d.ts +7 -0
  8. package/dist/model/index.d.ts.map +1 -0
  9. package/dist/model/types.d.ts +26 -0
  10. package/dist/model/types.d.ts.map +1 -0
  11. package/dist/models.d.ts +3 -0
  12. package/dist/models.d.ts.map +1 -0
  13. package/dist/schema/base-schema.d.ts +21 -0
  14. package/dist/schema/base-schema.d.ts.map +1 -0
  15. package/dist/schema/index.d.ts +32 -0
  16. package/dist/schema/index.d.ts.map +1 -0
  17. package/dist/schema/non-primitive/array/index.d.ts +12 -0
  18. package/dist/schema/non-primitive/array/index.d.ts.map +1 -0
  19. package/dist/schema/non-primitive/ref/index.d.ts +17 -0
  20. package/dist/schema/non-primitive/ref/index.d.ts.map +1 -0
  21. package/dist/schema/non-primitive/ref-array/index.d.ts +15 -0
  22. package/dist/schema/non-primitive/ref-array/index.d.ts.map +1 -0
  23. package/dist/schema/primitive/number.ts/index.d.ts +9 -0
  24. package/dist/schema/primitive/number.ts/index.d.ts.map +1 -0
  25. package/dist/schema/primitive/string.ts/index.d.ts +5 -0
  26. package/dist/schema/primitive/string.ts/index.d.ts.map +1 -0
  27. package/dist/schema/types.d.ts +9 -0
  28. package/dist/schema/types.d.ts.map +1 -0
  29. package/dist/schema/validation-rule/min.d.ts +11 -0
  30. package/dist/schema/validation-rule/min.d.ts.map +1 -0
  31. package/dist/schema/validation-rule/required.d.ts +5 -0
  32. package/dist/schema/validation-rule/required.d.ts.map +1 -0
  33. package/dist/schema/validation-rule/type.d.ts +13 -0
  34. package/dist/schema/validation-rule/type.d.ts.map +1 -0
  35. package/dist/test.d.ts +2 -0
  36. package/dist/test.d.ts.map +1 -0
  37. package/dist/types.d.ts +2 -0
  38. package/dist/types.d.ts.map +1 -0
  39. package/package.json +7 -3
  40. package/dist/Model/index.d.ts +0 -8
  41. package/dist/Model/index.d.ts.map +0 -1
  42. package/dist/tsdoc-metadata.json +0 -11
@@ -0,0 +1,7 @@
1
+ import { Schema } from '../schema';
2
+ import { InferSchemaType, ObtainSchemaGeneric } from '../schema/types';
3
+ import { IModel } from './types';
4
+ declare const AbstractModel: IModel;
5
+ declare function model<TSchema extends Schema = any>(name: string, schema: TSchema): IModel<InferSchemaType<TSchema>, ObtainSchemaGeneric<TSchema, 'TInstanceMethods'>> & ObtainSchemaGeneric<TSchema, 'TStaticMethods'>;
6
+ export { AbstractModel, model };
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,SAAS,CAAC;AAGrD,QAAA,MAAM,aAAa,EAAE,MAqKpB,CAAC;AAEF,iBAAS,KAAK,CAAC,OAAO,SAAS,MAAM,GAAG,GAAG,EACzC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,OAAO,GACd,MAAM,CACP,eAAe,CAAC,OAAO,CAAC,EACxB,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,CAAC,CACjD,GACC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAO/C;AAED,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { Query, QueryExecutorGetCommonOptions, QueryFindByIdAndUpdateOptions } from 'iodm-query';
2
+ import { Schema } from '../schema';
3
+ import { QueryExecutorDeleteManyResponse, QueryExecutorUpdateManyUpdater, QueryRootFilter } from 'iodm-query/dist/QueryExecutor/type';
4
+ export interface ModelInstance {
5
+ save(): Promise<any>;
6
+ validate(): boolean;
7
+ }
8
+ export interface IModel<TRawDocType = {}, TInstanceMethods = {}, HydratedDoc = TRawDocType & TInstanceMethods & ModelInstance> {
9
+ new <DocType = Partial<TRawDocType>>(doc?: DocType, fields?: any | null, options?: boolean): HydratedDoc;
10
+ _schema: Schema<any, {}, {}> | null;
11
+ _storeName: string | null;
12
+ _db: IDBDatabase | null;
13
+ init(idb: IDBDatabase): void;
14
+ getSchema(): Schema<any, {}, {}>;
15
+ getDB(): IDBDatabase;
16
+ setDB(idb: IDBDatabase): void;
17
+ getStoreName(): string;
18
+ preProcess(doc: any, options: QueryExecutorGetCommonOptions): Promise<any>;
19
+ onUpgradeNeeded(idb: IDBDatabase): void;
20
+ find(filter?: QueryRootFilter): Query<HydratedDoc[], unknown>;
21
+ findById(id: IDBValidKey): Query<HydratedDoc, unknown>;
22
+ findByIdAndUpdate(id: IDBValidKey, payload: QueryExecutorUpdateManyUpdater<TRawDocType>, options?: QueryFindByIdAndUpdateOptions): Query<HydratedDoc, unknown>;
23
+ findByIdAndDelete(id: IDBValidKey): Query<HydratedDoc, unknown>;
24
+ deleteOne(filter?: QueryRootFilter): Query<QueryExecutorDeleteManyResponse, unknown>;
25
+ }
26
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/model/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EACL,6BAA6B,EAC7B,6BAA6B,EAC9B,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EAAE,+BAA+B,EAAE,8BAA8B,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAE3I,MAAM,WAAW,aAAa;IAC5B,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IACrB,QAAQ,IAAI,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,MAAM,CACrB,WAAW,GAAG,EAAE,EAChB,gBAAgB,GAAG,EAAE,EACrB,WAAW,GAAG,WAAW,GAAG,gBAAgB,GAAG,aAAa;IAE5D,KAAK,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,EACjC,GAAG,CAAC,EAAE,OAAO,EACb,MAAM,CAAC,EAAE,GAAG,GAAG,IAAI,EACnB,OAAO,CAAC,EAAE,OAAO,GAChB,WAAW,CAAC;IAEf,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC;IACpC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,GAAG,EAAE,WAAW,GAAG,IAAI,CAAC;IAExB,IAAI,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,SAAS,IAAI,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACjC,KAAK,IAAI,WAAW,CAAC;IACrB,KAAK,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAAC;IAC9B,YAAY,IAAI,MAAM,CAAC;IACvB,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3E,eAAe,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI,CAAC;IAExC,IAAI,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,KAAK,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC;IAC9D,QAAQ,CAAC,EAAE,EAAE,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACvD,iBAAiB,CACf,EAAE,EAAE,WAAW,EACf,OAAO,EAAE,8BAA8B,CAAC,WAAW,CAAC,EACpD,OAAO,CAAC,EAAE,6BAA6B,GACtC,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/B,iBAAiB,CAAC,EAAE,EAAE,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAChE,SAAS,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,KAAK,CAAC,+BAA+B,EAAE,OAAO,CAAC,CAAC;CACtF"}
@@ -0,0 +1,3 @@
1
+ import { IModel } from './model/types';
2
+ export declare const models: Record<string, IModel>;
3
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { QueryExecutorGetCommonOptions } from 'iodm-query';
2
+ import { ValidateOptions, ValidationRule } from './validation-rule/type';
3
+ export interface BaseSchemaConstructorOptions {
4
+ name?: string;
5
+ isVirtual?: boolean;
6
+ validationRules?: Array<ValidationRule>;
7
+ required?: boolean;
8
+ }
9
+ export declare abstract class BaseSchema {
10
+ name?: string;
11
+ isVirtual: boolean;
12
+ validationRules: Array<ValidationRule>;
13
+ constructor({ name, isVirtual, validationRules, required, }?: BaseSchemaConstructorOptions);
14
+ clone(): unknown;
15
+ getIsVirtual(): boolean;
16
+ preProcess(_doc: Record<string, unknown>, _options: QueryExecutorGetCommonOptions): Promise<unknown>;
17
+ save(_value: unknown, _options: ValidateOptions): Promise<any>;
18
+ validate(value: unknown, options: ValidateOptions): boolean;
19
+ abstract castFrom(value: unknown): unknown;
20
+ }
21
+ //# sourceMappingURL=base-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-schema.d.ts","sourceRoot":"","sources":["../../src/schema/base-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAEhE,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE9E,MAAM,WAAW,4BAA4B;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,8BAAsB,UAAU;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;gBAE3B,EACV,IAAI,EACJ,SAAiB,EACjB,eAAoB,EACpB,QAAQ,GACT,GAAE,4BAAiC;IAYpC,KAAK,IAAI,OAAO;IAIhB,YAAY;IAIN,UAAU,CACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,QAAQ,EAAE,6BAA6B;IAKnC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAEpE,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO;IAM3D,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;CAC3C"}
@@ -0,0 +1,32 @@
1
+ import { QueryExecutorGetCommonOptions } from 'iodm-query';
2
+ import { BaseSchema } from './base-schema';
3
+ import { ValidateOptions } from './validation-rule/type.ts';
4
+ type SchemaDefinitionValue = Schema | typeof String | typeof Number | SchemaDefinitionValue[] | {
5
+ type: typeof String;
6
+ required?: boolean;
7
+ ref?: string;
8
+ } | {
9
+ type: typeof Number;
10
+ required?: boolean;
11
+ min?: number;
12
+ ref?: string;
13
+ } | {
14
+ type: SchemaDefinitionValue[];
15
+ required?: boolean;
16
+ };
17
+ type SchemaDefinition<RawDocType> = Record<keyof RawDocType, SchemaDefinitionValue>;
18
+ export declare class Schema<RawDocType = any, TInstanceMethods = {}, TStaticMethods = {}> extends BaseSchema {
19
+ private refNames;
20
+ private tree;
21
+ private rawDefinition;
22
+ constructor(definition: SchemaDefinition<RawDocType>);
23
+ private parseSchemaDefinition;
24
+ getRefNames(): string[];
25
+ clone(): Schema<RawDocType, TInstanceMethods, TStaticMethods>;
26
+ save(value: unknown, options: ValidateOptions): Promise<void>;
27
+ validate(value: unknown, options: ValidateOptions): boolean;
28
+ preProcess(doc: Record<string, unknown>, options: QueryExecutorGetCommonOptions): Promise<Record<string, unknown>>;
29
+ castFrom(value: unknown): Record<string, any>;
30
+ }
31
+ export {};
32
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,UAAU,EAAqC,MAAM,eAAe,CAAC;AAQ9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAGjE,KAAK,qBAAqB,GACtB,MAAM,GACN,OAAO,MAAM,GACb,OAAO,MAAM,GACb,qBAAqB,EAAE,GACvB;IAAE,IAAI,EAAE,OAAO,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GACzD;IAAE,IAAI,EAAE,OAAO,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GACvE;IAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAE1D,KAAK,gBAAgB,CAAC,UAAU,IAAI,MAAM,CACxC,MAAM,UAAU,EAChB,qBAAqB,CACtB,CAAC;AAEF,qBAAa,MAAM,CACjB,UAAU,GAAG,GAAG,EAChB,gBAAgB,GAAG,EAAE,EACrB,cAAc,GAAG,EAAE,CACnB,SAAQ,UAAU;IAClB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,IAAI,CAA6B;IACzC,OAAO,CAAC,aAAa,CAA+B;gBAExC,UAAU,EAAE,gBAAgB,CAAC,UAAU,CAAC;IAsBpD,OAAO,CAAC,qBAAqB;IA0E7B,WAAW;IAIX,KAAK;IAMC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe;IAUnD,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe;IAY3C,UAAU,CACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,OAAO,EAAE,6BAA6B;IAYxC,QAAQ,CAAC,KAAK,EAAE,OAAO;CAaxB"}
@@ -0,0 +1,12 @@
1
+ import { BaseSchemaConstructorOptions, BaseSchema } from '../../base-schema';
2
+ import { ValidateOptions } from '../../validation-rule/type';
3
+ export interface ArraySchemaConstructorOptions extends BaseSchemaConstructorOptions {
4
+ valueSchema: BaseSchema;
5
+ }
6
+ export declare class ArraySchema extends BaseSchema {
7
+ private valueSchema;
8
+ constructor(options: ArraySchemaConstructorOptions);
9
+ validate(value: unknown, options: ValidateOptions): boolean;
10
+ castFrom(value: unknown): unknown[] | null | undefined;
11
+ }
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/schema/non-primitive/array/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,WAAW,6BACf,SAAQ,4BAA4B;IACpC,WAAW,EAAE,UAAU,CAAC;CACzB;AAED,qBAAa,WAAY,SAAQ,UAAU;IACzC,OAAO,CAAC,WAAW,CAAa;gBAEpB,OAAO,EAAE,6BAA6B;IAMlD,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO;IAc3D,QAAQ,CAAC,KAAK,EAAE,OAAO;CAQxB"}
@@ -0,0 +1,17 @@
1
+ import { BaseSchemaConstructorOptions, BaseSchema } from '../../base-schema';
2
+ import { ValidateOptions } from '../../validation-rule/type';
3
+ import { QueryExecutorGetCommonOptions } from 'iodm-query';
4
+ export interface RefSchemaConstructorOptions extends BaseSchemaConstructorOptions {
5
+ ref: string;
6
+ valueSchema: BaseSchema;
7
+ }
8
+ export declare class RefSchema extends BaseSchema {
9
+ protected ref: string;
10
+ protected valueSchema: BaseSchema;
11
+ constructor(options: RefSchemaConstructorOptions);
12
+ validate(value: unknown, options: ValidateOptions): boolean;
13
+ save(value: unknown, _options: ValidateOptions): Promise<any>;
14
+ preProcess(doc: Record<string, unknown>, options: QueryExecutorGetCommonOptions): Promise<unknown>;
15
+ castFrom(value: unknown): unknown;
16
+ }
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/schema/non-primitive/ref/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAS,KAAK,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAEvE,MAAM,WAAW,2BACf,SAAQ,4BAA4B;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,UAAU,CAAC;CACzB;AAED,qBAAa,SAAU,SAAQ,UAAU;IACvC,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC;gBAEtB,OAAO,EAAE,2BAA2B;IAOhD,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO;IAQrD,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe;IAa9C,UAAU,CACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,OAAO,EAAE,6BAA6B;IA0BxC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;CAOlC"}
@@ -0,0 +1,15 @@
1
+ import { BaseSchemaConstructorOptions, BaseSchema } from '../../base-schema';
2
+ import { ValidateOptions } from '../../validation-rule/type';
3
+ import { QueryExecutorGetCommonOptions } from 'iodm-query';
4
+ import { RefSchema } from '../ref';
5
+ export interface RefArraySchemaConstructorOptions extends BaseSchemaConstructorOptions {
6
+ ref: string;
7
+ valueSchema: BaseSchema;
8
+ }
9
+ export declare class RefArraySchema extends RefSchema {
10
+ validate(value: unknown, options: ValidateOptions): boolean;
11
+ save(value: unknown, options: ValidateOptions): Promise<any[] | undefined>;
12
+ preProcess(doc: Record<string, unknown>, options: QueryExecutorGetCommonOptions): Promise<unknown>;
13
+ castFrom(value: unknown): unknown;
14
+ }
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/schema/non-primitive/ref-array/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAS,KAAK,6BAA6B,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,MAAM,WAAW,gCACf,SAAQ,4BAA4B;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,UAAU,CAAC;CACzB;AAED,qBAAa,cAAe,SAAQ,SAAS;IAC3C,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO;IAQrD,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,eAAe;IAK7C,UAAU,CACd,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,OAAO,EAAE,6BAA6B;IA6CxC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;CAKlC"}
@@ -0,0 +1,9 @@
1
+ import { BaseSchema, BaseSchemaConstructorOptions } from '../../base-schema';
2
+ export interface NumberSchemaConstructorOptions extends BaseSchemaConstructorOptions {
3
+ min?: number;
4
+ }
5
+ export declare class NumberSchema extends BaseSchema {
6
+ constructor(options: NumberSchemaConstructorOptions);
7
+ castFrom(value: unknown): number | null | undefined;
8
+ }
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/schema/primitive/number.ts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,KAAK,4BAA4B,EAClC,MAAM,mBAAmB,CAAC;AAG3B,MAAM,WAAW,8BACf,SAAQ,4BAA4B;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,YAAa,SAAQ,UAAU;gBAC9B,OAAO,EAAE,8BAA8B;IAanD,QAAQ,CAAC,KAAK,EAAE,OAAO;CASxB"}
@@ -0,0 +1,5 @@
1
+ import { BaseSchema } from '../../base-schema';
2
+ export declare class StringSchema extends BaseSchema {
3
+ castFrom(value: unknown): string;
4
+ }
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/schema/primitive/string.ts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,qBAAa,YAAa,SAAQ,UAAU;IAC1C,QAAQ,CAAC,KAAK,EAAE,OAAO;CAGxB"}
@@ -0,0 +1,9 @@
1
+ import { Schema } from '.';
2
+ import { IfAny } from '../types';
3
+ export type ObtainSchemaGeneric<TSchema, alias extends 'DocType' | 'TInstanceMethods' | 'TStaticMethods'> = TSchema extends Schema<infer DocType, infer TInstanceMethods, infer TStaticMethods> ? {
4
+ DocType: DocType;
5
+ TInstanceMethods: TInstanceMethods;
6
+ TStaticMethods: TStaticMethods;
7
+ }[alias] : unknown;
8
+ export type InferSchemaType<TSchema> = IfAny<TSchema, any, ObtainSchemaGeneric<TSchema, 'DocType'>>;
9
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/schema/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC;AAChC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,MAAM,mBAAmB,CAC7B,OAAO,EACP,KAAK,SAAS,SAAS,GAAG,kBAAkB,GAAG,gBAAgB,IAC7D,OAAO,SAAS,MAAM,CACxB,MAAM,OAAO,EACb,MAAM,gBAAgB,EACtB,MAAM,cAAc,CACrB,GACG;IACE,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,cAAc,EAAE,cAAc,CAAC;CAChC,CAAC,KAAK,CAAC,GACR,OAAO,CAAC;AAEZ,MAAM,MAAM,eAAe,CAAC,OAAO,IAAI,KAAK,CAC1C,OAAO,EACP,GAAG,EACH,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CACxC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { ValidationRuleOptions, ValidationRule } from './type';
2
+ interface MinValidationRuleOptions extends ValidationRuleOptions {
3
+ min: number;
4
+ }
5
+ export declare class MinValidationRule extends ValidationRule {
6
+ min: number;
7
+ constructor(options: MinValidationRuleOptions);
8
+ validate(value: unknown): boolean;
9
+ }
10
+ export {};
11
+ //# sourceMappingURL=min.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"min.d.ts","sourceRoot":"","sources":["../../../src/schema/validation-rule/min.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExC,UAAU,wBAAyB,SAAQ,qBAAqB;IAC9D,GAAG,EAAE,MAAM,CAAC;CACb;AAED,qBAAa,iBAAkB,SAAQ,cAAc;IACnD,GAAG,EAAE,MAAM,CAAC;gBAEA,OAAO,EAAE,wBAAwB;IAK7C,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;CAOlC"}
@@ -0,0 +1,5 @@
1
+ import { ValidationRule } from './type';
2
+ export declare class RequiredValidationRule extends ValidationRule {
3
+ validate(value: unknown): boolean;
4
+ }
5
+ //# sourceMappingURL=required.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"required.d.ts","sourceRoot":"","sources":["../../../src/schema/validation-rule/required.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExC,qBAAa,sBAAuB,SAAQ,cAAc;IACxD,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;CAOlC"}
@@ -0,0 +1,13 @@
1
+ import { ModelInstance } from '../../model/types';
2
+ export interface ValidateOptions {
3
+ modelInstance: ModelInstance;
4
+ }
5
+ export interface ValidationRuleOptions {
6
+ message: string;
7
+ }
8
+ export declare abstract class ValidationRule {
9
+ message: string;
10
+ constructor(options: ValidationRuleOptions);
11
+ abstract validate(value: any, options: ValidateOptions): boolean;
12
+ }
13
+ //# sourceMappingURL=type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../src/schema/validation-rule/type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,8BAAsB,cAAc;IAClC,OAAO,EAAE,MAAM,CAAC;gBACJ,OAAO,EAAE,qBAAqB;IAI1C,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO;CACjE"}
package/dist/test.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export type IfAny<IFTYPE, THENTYPE, ELSETYPE = IFTYPE> = 0 extends 1 & IFTYPE ? THENTYPE : ELSETYPE;
2
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,GACzE,QAAQ,GACR,QAAQ,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "iodm",
4
- "version": "0.0.1",
4
+ "version": "0.0.2",
5
5
  "description": "Object Data Modeling library for IndexedDB",
6
6
  "main": "dist/index.es.js",
7
7
  "types": "dist/index.d.ts",
@@ -13,7 +13,11 @@
13
13
  "indexeddb"
14
14
  ],
15
15
  "author": "Santhoshkumar",
16
- "license": "ISC",
16
+ "license": "MIT",
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "https://github.com/SanthoshKumar9028/idb-odm"
20
+ },
17
21
  "scripts": {
18
22
  "dev": "vite",
19
23
  "build": "tsc -b && vite build",
@@ -24,7 +28,7 @@
24
28
  "test": "vitest"
25
29
  },
26
30
  "dependencies": {
27
- "iodm-query": "^0.0.1"
31
+ "iodm-query": "0.0.5"
28
32
  },
29
33
  "devDependencies": {
30
34
  "@eslint/js": "^9.30.1",
@@ -1,8 +0,0 @@
1
- export declare class IModel {
2
- /**
3
- * Model find method that overrieds the IQuery find method
4
- * @returns empty array
5
- */
6
- find(): never[];
7
- }
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Model/index.ts"],"names":[],"mappings":"AAAA,qBAAa,MAAM;IACjB;;;OAGG;IACH,IAAI;CAIL"}
@@ -1,11 +0,0 @@
1
- // This file is read by tools that parse documentation comments conforming to the TSDoc standard.
2
- // It should be published with your NPM package. It should not be tracked by Git.
3
- {
4
- "tsdocVersion": "0.12",
5
- "toolPackages": [
6
- {
7
- "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.52.8"
9
- }
10
- ]
11
- }