triangle-types 1.0.35 → 1.0.37

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,5 +1,9 @@
1
+ declare const fragment_type_ids: readonly ["LINE", "CHAR"];
2
+ export type FragmentTypeID = typeof fragment_type_ids[number];
3
+ export declare function is_fragment_type_id(fragment_type_id: any): fragment_type_id is FragmentTypeID;
1
4
  export declare class Fragment {
2
5
  readonly fragment_id: string;
6
+ readonly fragment_type_id: FragmentTypeID;
3
7
  readonly max_size: number;
4
8
  readonly min_index: number;
5
9
  readonly max_index: number;
@@ -14,6 +18,11 @@ export declare class FederalCongressBillDocumentFragment extends Fragment {
14
18
  constructor(fragment: FederalCongressBillDocumentFragment);
15
19
  static is(fragment: any): fragment is FederalCongressBillDocumentFragment;
16
20
  }
21
+ export declare class LegistarDocumentFragment extends Fragment {
22
+ readonly legistar_document_id: string;
23
+ constructor(fragment: LegistarDocumentFragment);
24
+ static is(fragment: any): fragment is LegistarDocumentFragment;
25
+ }
17
26
  export declare class PressArticleTagFragment extends Fragment {
18
27
  readonly press_article_id: string;
19
28
  readonly tag_id: string;
@@ -30,3 +39,4 @@ export declare class TwitterTweetFragment extends Fragment {
30
39
  constructor(fragment: TwitterTweetFragment);
31
40
  static is(fragment: any): fragment is TwitterTweetFragment;
32
41
  }
42
+ export {};
@@ -1,5 +1,10 @@
1
+ const fragment_type_ids = ["LINE", "CHAR"];
2
+ export function is_fragment_type_id(fragment_type_id) {
3
+ return fragment_type_ids.includes(fragment_type_id);
4
+ }
1
5
  export class Fragment {
2
6
  fragment_id;
7
+ fragment_type_id;
3
8
  max_size;
4
9
  min_index;
5
10
  max_index;
@@ -10,6 +15,7 @@ export class Fragment {
10
15
  throw Error("Invalid input.");
11
16
  }
12
17
  this.fragment_id = fragment.fragment_id;
18
+ this.fragment_type_id = fragment.fragment_type_id;
13
19
  this.max_size = fragment.max_size;
14
20
  this.min_index = fragment.min_index;
15
21
  this.max_index = fragment.max_index;
@@ -19,6 +25,7 @@ export class Fragment {
19
25
  static is(fragment) {
20
26
  return (fragment !== undefined &&
21
27
  typeof fragment.fragment_id === "string" &&
28
+ is_fragment_type_id(fragment.fragment_type_id) &&
22
29
  typeof fragment.max_size === "number" &&
23
30
  typeof fragment.min_index === "number" &&
24
31
  typeof fragment.max_index === "number" &&
@@ -40,6 +47,20 @@ export class FederalCongressBillDocumentFragment extends Fragment {
40
47
  typeof fragment.federal_congress_bill_document_id === "string");
41
48
  }
42
49
  }
50
+ export class LegistarDocumentFragment extends Fragment {
51
+ legistar_document_id;
52
+ constructor(fragment) {
53
+ if (!LegistarDocumentFragment.is(fragment)) {
54
+ throw Error("Invalid input.");
55
+ }
56
+ super(fragment);
57
+ this.legistar_document_id = fragment.legistar_document_id;
58
+ }
59
+ static is(fragment) {
60
+ return (Fragment.is(fragment) &&
61
+ typeof fragment.legistar_document_id === "string");
62
+ }
63
+ }
43
64
  export class PressArticleTagFragment extends Fragment {
44
65
  press_article_id;
45
66
  tag_id;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "triangle-types",
3
- "version": "1.0.35",
3
+ "version": "1.0.37",
4
4
  "main": "dist/src/index.js",
5
5
  "types": "dist/src/index.d.ts",
6
6
  "scripts": {
@@ -1,5 +1,14 @@
1
+ const fragment_type_ids = ["LINE", "CHAR"] as const
2
+
3
+ export type FragmentTypeID = typeof fragment_type_ids[number]
4
+
5
+ export function is_fragment_type_id(fragment_type_id : any) : fragment_type_id is FragmentTypeID {
6
+ return fragment_type_ids.includes(fragment_type_id)
7
+ }
8
+
1
9
  export class Fragment {
2
10
  readonly fragment_id : string
11
+ readonly fragment_type_id : FragmentTypeID
3
12
  readonly max_size : number
4
13
  readonly min_index : number
5
14
  readonly max_index : number
@@ -12,6 +21,7 @@ export class Fragment {
12
21
  throw Error("Invalid input.")
13
22
  }
14
23
  this.fragment_id = fragment.fragment_id
24
+ this.fragment_type_id = fragment.fragment_type_id
15
25
  this.max_size = fragment.max_size
16
26
  this.min_index = fragment.min_index
17
27
  this.max_index = fragment.max_index
@@ -23,6 +33,7 @@ export class Fragment {
23
33
  return (
24
34
  fragment !== undefined &&
25
35
  typeof fragment.fragment_id === "string" &&
36
+ is_fragment_type_id(fragment.fragment_type_id) &&
26
37
  typeof fragment.max_size === "number" &&
27
38
  typeof fragment.min_index === "number" &&
28
39
  typeof fragment.max_index === "number" &&
@@ -51,6 +62,25 @@ export class FederalCongressBillDocumentFragment extends Fragment {
51
62
  }
52
63
  }
53
64
 
65
+ export class LegistarDocumentFragment extends Fragment {
66
+ readonly legistar_document_id : string
67
+
68
+ constructor(fragment : LegistarDocumentFragment) {
69
+ if (!LegistarDocumentFragment.is(fragment)) {
70
+ throw Error("Invalid input.")
71
+ }
72
+ super(fragment)
73
+ this.legistar_document_id = fragment.legistar_document_id
74
+ }
75
+
76
+ static is(fragment : any) : fragment is LegistarDocumentFragment {
77
+ return (
78
+ Fragment.is(fragment) &&
79
+ typeof fragment.legistar_document_id === "string"
80
+ )
81
+ }
82
+ }
83
+
54
84
  export class PressArticleTagFragment extends Fragment {
55
85
  readonly press_article_id : string
56
86
  readonly tag_id : string