objectmodel 4.3.1 → 4.4.0

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 (53) hide show
  1. package/.eslintignore +8 -8
  2. package/.eslintrc.json +25 -25
  3. package/.travis.yml +2 -2
  4. package/LICENSE +22 -22
  5. package/README.md +67 -67
  6. package/build/add-banner.js +13 -13
  7. package/build/bundle-entry.dev.js +2 -2
  8. package/build/bundle-entry.js +11 -11
  9. package/dist/object-model.cjs +462 -469
  10. package/dist/object-model.js +462 -469
  11. package/dist/object-model.js.map +1 -1
  12. package/dist/object-model.min.js +2 -2
  13. package/dist/object-model.min.js.map +1 -1
  14. package/index.html +4 -4
  15. package/package.json +9 -3
  16. package/rollup.config.js +13 -13
  17. package/src/array-model.d.ts +16 -0
  18. package/src/array-model.js +68 -68
  19. package/src/devtool-formatter.js +198 -198
  20. package/src/function-model.d.ts +24 -0
  21. package/src/function-model.js +58 -65
  22. package/src/helpers.js +43 -43
  23. package/src/index.js +4 -4
  24. package/src/list-model.js +43 -43
  25. package/src/map-model.d.ts +18 -0
  26. package/src/map-model.js +48 -48
  27. package/src/object-model.d.ts +74 -0
  28. package/src/set-model.d.ts +16 -0
  29. package/src/set-model.js +41 -41
  30. package/test/array-model.spec.cjs +291 -291
  31. package/test/array-model.test-d.ts +24 -0
  32. package/test/basic-model.spec.cjs +263 -263
  33. package/test/basic-model.test-d.ts +30 -0
  34. package/test/bench/array.html +51 -51
  35. package/test/bench/bench-lib.js +49 -49
  36. package/test/bench/map-no-cast.html +53 -53
  37. package/test/bench/map-set.html +52 -52
  38. package/test/bench/map.html +51 -51
  39. package/test/bench/object-models.html +87 -87
  40. package/test/function-model.spec.cjs +161 -162
  41. package/test/function-model.test-d.ts +18 -0
  42. package/test/index.cjs +13 -13
  43. package/test/map-model.spec.cjs +224 -224
  44. package/test/map-model.test-d.ts +21 -0
  45. package/test/model.spec.cjs +30 -30
  46. package/test/object-model.spec.cjs +1345 -1346
  47. package/test/object-model.test-d.ts +53 -0
  48. package/test/set-model.spec.cjs +213 -213
  49. package/test/set-model.test-d.ts +17 -0
  50. package/test/umd.html +25 -25
  51. package/types/definitions.d.ts +43 -0
  52. package/types/helpers.d.ts +4 -0
  53. package/types/index.d.ts +6 -128
package/types/index.d.ts CHANGED
@@ -1,132 +1,10 @@
1
1
  // TypeScript definition file for ObjectModel
2
2
 
3
- export interface Model {
4
- (value?: any): any;
5
-
6
- definition: any;
7
- assertions: Assertion[];
8
- default: any;
9
- name: string;
10
-
11
- conventionForConstant(variableName: string): boolean;
12
- conventionForPrivate(variableName: string): boolean;
13
-
14
- toString(stack?: any[]): string;
15
-
16
- as(name: string): this;
17
-
18
- defaultTo(defaultValue: any): this;
19
-
20
- test(value: any, errorCollector?: (errors: ModelError[]) => void): boolean;
21
-
22
- errorCollector(errors: ModelError[]): void;
23
-
24
- assert(assertion: Assertion, description?: string | Function): this;
25
-
26
- }
27
-
28
- export interface ModelConstructor {
29
- (definition: any): ObjectModel;
30
- new(definition: any): ObjectModel;
31
- CHECK_ONCE: symbol;
32
- }
33
-
34
- export interface BasicModel extends Model {
35
- (): any;
36
- new(): any;
37
- (value: any): any
38
- new(value: any): any
39
-
40
- extend(...otherDefinitions: Array<any>): this;
41
- }
42
-
43
- export interface BasicModelConstructor {
44
- (definition: any): BasicModel
45
- new(definition: any): BasicModel;
46
- }
47
-
48
- export interface ObjectModel extends Model {
49
- (): Object;
50
- new(): Object;
51
- (object: object): Object;
52
- new(object: object): Object;
53
-
54
- extend(...otherDefinitions: Array<Object | ObjectModel>): this;
55
- }
56
-
57
- export interface ObjectModelConstructor {
58
- (definition: Object): ObjectModel;
59
- new(definition: Object): ObjectModel;
60
- }
61
-
62
- export interface ArrayModel extends Model {
63
- <T>(): Array<T>;
64
- new <T>(): Array<T>;
65
- <T>(array: Array<T>): Array<T>;
66
- new <T>(array: Array<T>): Array<T>;
67
-
68
- extend(...otherElementDefinitions: Array<any>): this;
69
- }
70
-
71
- export interface ArrayModelConstructor {
72
- (itemDefinition: any): ArrayModel;
73
- new(itemDefinition: any): ArrayModel;
74
- }
75
-
76
- export interface FunctionModel extends Model {
77
- (): Function;
78
- new(): Function;
79
- (fn: Function): Function;
80
- new(fn: Function): Function;
81
-
82
- definition: { arguments: any[], return: any };
83
-
84
- return(returnValueDefinition: any): FunctionModel;
85
-
86
- extend(otherArgsDefinitions: Array<any>, otherReturnValuesDefinitions: Array<any>): this;
87
- }
88
-
89
- export interface FunctionModelConstructor {
90
- (...argumentsDefinitions: any[]): FunctionModel;
91
- new(...argumentsDefinitions: any[]): FunctionModel;
92
- }
93
-
94
- export interface MapModel extends Model {
95
- (): Map<any, any>;
96
- new(): Map<any, any>;
97
- (iterable: Map<any, any> | Array<[any, any]>): Map<any, any>;
98
- new(iterable: Map<any, any> | Array<[any, any]>): Map<any, any>;
99
-
100
- extend(otherKeyDefinitions: Array<any>, otherValueDefinitions: Array<any>): this;
101
- }
102
-
103
- export interface MapModelConstructor {
104
- (keyDefinition: any, valueDefinition: any): MapModel;
105
- new(keyDefinition: any, valueDefinition: any): MapModel;
106
- }
107
-
108
- export interface SetModel extends Model {
109
- (): Set<any>;
110
- new(): Set<any>;
111
- (set: Set<any> | Array<any>): Set<any>;
112
- new(set: Set<any> | Array<any>): Set<any>;
113
-
114
- extend(...otherElementDefinitions: Array<any>): this;
115
- }
116
-
117
- export interface SetModelConstructor {
118
- (itemDefinition: any): SetModel;
119
- new(itemDefinition: any): SetModel;
120
- }
121
-
122
- export type Assertion = (variable: any) => boolean
123
-
124
- export interface ModelError {
125
- message: string;
126
- expected: any;
127
- received: any;
128
- path: string;
129
- }
3
+ import { ArrayModelConstructor } from "../src/array-model";
4
+ import { FunctionModelConstructor } from "../src/function-model";
5
+ import { MapModelConstructor } from "../src/map-model";
6
+ import { ModelConstructor, BasicModelConstructor, ObjectModelConstructor } from "../src/object-model";
7
+ import { SetModelConstructor } from "../src/set-model";
130
8
 
131
9
  export const Any: any;
132
10
  export const Model: ModelConstructor;
@@ -135,4 +13,4 @@ export const ObjectModel: ObjectModelConstructor;
135
13
  export const ArrayModel: ArrayModelConstructor;
136
14
  export const FunctionModel: FunctionModelConstructor;
137
15
  export const MapModel: MapModelConstructor;
138
- export const SetModel: SetModelConstructor;
16
+ export const SetModel: SetModelConstructor;