Skip to content

Commit 8fe9893

Browse files
authored
Merge pull request #82 from wadetandy/1.x-dev
Create Error class similar to ActiveModel
2 parents ab3984f + d21a9ca commit 8fe9893

33 files changed

+479
-244
lines changed

lib-esm/model.d.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { MiddlewareStack, BeforeFilter, AfterFilter } from "./middleware-stack";
99
import { Omit } from "./util/omit";
1010
import { JsonapiResource, JsonapiResponseDoc, JsonapiResourceIdentifier } from "./jsonapi-spec";
1111
import { IncludeScopeHash } from "./util/include-directive";
12+
import { ValidationErrors } from "./validation-errors";
1213
export declare type KeyCaseValue = "dash" | "camel" | "snake";
1314
export interface KeyCase {
1415
server: KeyCaseValue;
@@ -110,7 +111,7 @@ export declare class JSORMBase {
110111
private _copyPrototypeDescriptors();
111112
isType(jsonapiType: string): boolean;
112113
isPersisted: boolean;
113-
_onStoreChange: Function;
114+
_onStoreChange?: (event: any, attrs: any) => void;
114115
private onStoreChange();
115116
unlisten(): void;
116117
listen(): void;
@@ -126,7 +127,7 @@ export declare class JSORMBase {
126127
relationshipResourceIdentifiers(relationNames: string[]): Record<string, JsonapiResourceIdentifier[]>;
127128
fromJsonapi(resource: JsonapiResource, payload: JsonapiResponseDoc, includeDirective?: IncludeScopeHash): any;
128129
readonly resourceIdentifier: JsonapiResourceIdentifier;
129-
errors: object;
130+
errors: ValidationErrors<this>;
130131
readonly hasError: boolean;
131132
clearErrors(): void;
132133
isDirty(relationships?: IncludeScope): boolean;

lib-esm/model.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib-esm/model.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib-esm/util/dirty-check.d.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ declare class DirtyChecker<T extends JSORMBase> {
1111
} & {
1212
reset: never;
1313
destroy: never;
14-
fromJsonapi: never;
1514
id: never;
1615
temp_id: never;
1716
stale: never;
@@ -33,6 +32,7 @@ declare class DirtyChecker<T extends JSORMBase> {
3332
assignAttributes: never;
3433
setMeta: never;
3534
relationshipResourceIdentifiers: never;
35+
fromJsonapi: never;
3636
resourceIdentifier: never;
3737
errors: never;
3838
hasError: never;
@@ -51,7 +51,6 @@ declare class DirtyChecker<T extends JSORMBase> {
5151
} & {
5252
reset: never;
5353
destroy: never;
54-
fromJsonapi: never;
5554
id: never;
5655
temp_id: never;
5756
stale: never;
@@ -73,6 +72,7 @@ declare class DirtyChecker<T extends JSORMBase> {
7372
assignAttributes: never;
7473
setMeta: never;
7574
relationshipResourceIdentifiers: never;
75+
fromJsonapi: never;
7676
resourceIdentifier: never;
7777
errors: never;
7878
hasError: never;
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { JSORMBase } from "../model";
2+
import { JsonapiResponseDoc } from "../jsonapi-spec";
3+
export declare class ValidationErrorBuilder<T extends JSORMBase> {
4+
static apply<T extends JSORMBase>(model: T, payload: JsonapiResponseDoc): void;
5+
model: T;
6+
payload: JsonapiResponseDoc;
7+
constructor(model: T, payload: JsonapiResponseDoc);
8+
apply(): void;
9+
private _processResource(errorsAccumulator, meta, error);
10+
private _processRelationship<R>(model, meta, err);
11+
}

lib-esm/util/validation-errors.js renamed to lib-esm/util/validation-error-builder.js

Lines changed: 25 additions & 16 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib-esm/util/validation-error-builder.js.map

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib-esm/util/validation-errors.d.ts

Lines changed: 0 additions & 11 deletions
This file was deleted.

lib-esm/util/validation-errors.js.map

Lines changed: 0 additions & 1 deletion
This file was deleted.

lib-esm/util/write-payload.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ export declare class WritePayload<T extends JSORMBase> {
1515
} & {
1616
reset: never;
1717
destroy: never;
18-
fromJsonapi: never;
1918
id: never;
2019
temp_id: never;
2120
stale: never;
@@ -37,6 +36,7 @@ export declare class WritePayload<T extends JSORMBase> {
3736
assignAttributes: never;
3837
setMeta: never;
3938
relationshipResourceIdentifiers: never;
39+
fromJsonapi: never;
4040
resourceIdentifier: never;
4141
errors: never;
4242
hasError: never;

0 commit comments

Comments
 (0)