triangle-types 1.0.227 → 1.0.228

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.
@@ -1,3 +1,4 @@
1
+ import { TenantProvision } from "./TenantProvision.js";
1
2
  export declare class Tenant {
2
3
  readonly tenant_id: string;
3
4
  readonly name: string;
@@ -5,3 +6,8 @@ export declare class Tenant {
5
6
  constructor(tenant: Tenant);
6
7
  static is(tenant: any): tenant is Tenant;
7
8
  }
9
+ export declare class TenantAux extends Tenant {
10
+ readonly provisions: TenantProvision[];
11
+ constructor(tenant: TenantAux);
12
+ static is(tenant: any): tenant is TenantAux;
13
+ }
@@ -1,3 +1,4 @@
1
+ import { TenantProvision } from "./TenantProvision.js";
1
2
  export class Tenant {
2
3
  tenant_id;
3
4
  name;
@@ -14,3 +15,17 @@ export class Tenant {
14
15
  typeof tenant.name === "string");
15
16
  }
16
17
  }
18
+ export class TenantAux extends Tenant {
19
+ provisions;
20
+ constructor(tenant) {
21
+ if (!TenantAux.is(tenant)) {
22
+ throw Error("Invalid Input.");
23
+ }
24
+ super(tenant);
25
+ this.provisions = tenant.provisions;
26
+ }
27
+ static is(tenant) {
28
+ return (Tenant.is(tenant) &&
29
+ Array.isArray(tenant.provisions) && tenant.provisions.every(TenantProvision.is));
30
+ }
31
+ }
@@ -1,3 +1,4 @@
1
+ import { TenantAux } from "./Tenant.js";
1
2
  export declare class User {
2
3
  readonly user_id: string;
3
4
  readonly email: string;
@@ -6,3 +7,8 @@ export declare class User {
6
7
  constructor(user: User);
7
8
  static is(user: any): user is User;
8
9
  }
10
+ export declare class UserAux extends User {
11
+ readonly tenant?: TenantAux;
12
+ constructor(user: UserAux);
13
+ static is(user: any): user is UserAux;
14
+ }
@@ -1,3 +1,4 @@
1
+ import { TenantAux } from "./Tenant.js";
1
2
  export class User {
2
3
  user_id;
3
4
  email;
@@ -17,19 +18,17 @@ export class User {
17
18
  (user.tenant_id === undefined || typeof user.tenant_id === "string"));
18
19
  }
19
20
  }
20
- // export class UserAux extends User {
21
- // readonly tenant? : TenantAux
22
- // constructor (user : UserAux) {
23
- // if (!UserAux.is(user)) {
24
- // throw Error("Invalid Input.")
25
- // }
26
- // super(user)
27
- // this.tenant = user.tenant
28
- // }
29
- // static is(user : any) : user is UserAux {
30
- // return (
31
- // User.is(user) &&
32
- // (user.tenant === undefined || TenantAux.is(user.tenant))
33
- // )
34
- // }
35
- // }
21
+ export class UserAux extends User {
22
+ tenant;
23
+ constructor(user) {
24
+ if (!UserAux.is(user)) {
25
+ throw Error("Invalid Input.");
26
+ }
27
+ super(user);
28
+ this.tenant = user.tenant;
29
+ }
30
+ static is(user) {
31
+ return (User.is(user) &&
32
+ (user.tenant === undefined || TenantAux.is(user.tenant)));
33
+ }
34
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "triangle-types",
3
- "version": "1.0.227",
3
+ "version": "1.0.228",
4
4
  "main": "dist/src/index.js",
5
5
  "types": "dist/src/index.d.ts",
6
6
  "scripts": {
@@ -1,3 +1,5 @@
1
+ import { TenantProvision } from "./TenantProvision"
2
+
1
3
  export class Tenant {
2
4
  readonly tenant_id : string
3
5
  readonly name : string
@@ -18,4 +20,23 @@ export class Tenant {
18
20
  typeof tenant.name === "string"
19
21
  )
20
22
  }
23
+ }
24
+
25
+ export class TenantAux extends Tenant {
26
+ readonly provisions : TenantProvision[]
27
+
28
+ constructor (tenant : TenantAux) {
29
+ if (!TenantAux.is(tenant)) {
30
+ throw Error("Invalid Input.")
31
+ }
32
+ super(tenant)
33
+ this.provisions = tenant.provisions
34
+ }
35
+
36
+ static is(tenant : any) : tenant is TenantAux {
37
+ return (
38
+ Tenant.is(tenant) &&
39
+ Array.isArray(tenant.provisions) && tenant.provisions.every(TenantProvision.is)
40
+ )
41
+ }
21
42
  }
@@ -1,3 +1,5 @@
1
+ import { TenantAux } from "./Tenant"
2
+
1
3
  export class User {
2
4
  readonly user_id : string
3
5
  readonly email : string
@@ -23,21 +25,21 @@ export class User {
23
25
  }
24
26
  }
25
27
 
26
- // export class UserAux extends User {
27
- // readonly tenant? : TenantAux
28
+ export class UserAux extends User {
29
+ readonly tenant? : TenantAux
28
30
 
29
- // constructor (user : UserAux) {
30
- // if (!UserAux.is(user)) {
31
- // throw Error("Invalid Input.")
32
- // }
33
- // super(user)
34
- // this.tenant = user.tenant
35
- // }
31
+ constructor (user : UserAux) {
32
+ if (!UserAux.is(user)) {
33
+ throw Error("Invalid Input.")
34
+ }
35
+ super(user)
36
+ this.tenant = user.tenant
37
+ }
36
38
 
37
- // static is(user : any) : user is UserAux {
38
- // return (
39
- // User.is(user) &&
40
- // (user.tenant === undefined || TenantAux.is(user.tenant))
41
- // )
42
- // }
43
- // }
39
+ static is(user : any) : user is UserAux {
40
+ return (
41
+ User.is(user) &&
42
+ (user.tenant === undefined || TenantAux.is(user.tenant))
43
+ )
44
+ }
45
+ }