@jpstroud/nys-openlegislation-types 0.2.4

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.
package/LICENSE ADDED
@@ -0,0 +1,13 @@
1
+ Copyright (c) 2026 Joshua Pelton-Stroud
2
+
3
+ Permission to use, copy, modify, and/or distribute this software for any
4
+ purpose with or without fee is hereby granted, provided that the above
5
+ copyright notice and this permission notice appear in all copies.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # NYS-OpenLegislation-Types
2
+
3
+ Typescript types & interfaces for [nysenate/OpenLegislation](https://github.com/nysenate/OpenLegislation) API Response objects
@@ -0,0 +1,107 @@
1
+ import { ShortBillId, BillInfo, BillId } from "./bills.js";
2
+ import { CommitteeId } from "./committees.js";
3
+ import { Member } from "./members.js";
4
+ export type Id = {
5
+ number: number;
6
+ year: number;
7
+ };
8
+ export type Summary = {
9
+ id: Id;
10
+ weekOf: string;
11
+ publishedDateTime: string;
12
+ totalAddendum: number;
13
+ totalBillsConsidered: number;
14
+ totalBillsVotedOn: number;
15
+ totalCommittees: number;
16
+ };
17
+ export type Addendum = {
18
+ agendaId: Id;
19
+ addendumId: string;
20
+ committeeId: CommitteeId;
21
+ modifiedDateTime: string;
22
+ hasVotes: boolean;
23
+ meeting: {
24
+ chair: string;
25
+ location: string;
26
+ meetingDateTime: string;
27
+ notes: string;
28
+ };
29
+ bills: {
30
+ items: [
31
+ {
32
+ billId: ShortBillId;
33
+ billInfo: BillInfo;
34
+ message: string;
35
+ }
36
+ ];
37
+ size: number;
38
+ };
39
+ voteInfo: {
40
+ attendanceList: {
41
+ items: [
42
+ {
43
+ member: Member;
44
+ rank: number;
45
+ party: string;
46
+ attend: string;
47
+ }
48
+ ];
49
+ size: number;
50
+ };
51
+ votesList: {
52
+ items: [
53
+ {
54
+ bill: BillId;
55
+ action: string;
56
+ amended: boolean;
57
+ referCommittee: null;
58
+ vote: {
59
+ billId: BillId;
60
+ version: string;
61
+ voteType: string;
62
+ sequenceNo: number;
63
+ voteDate: string;
64
+ committee: CommitteeId;
65
+ memberVotes: {
66
+ items: {
67
+ [key: string]: {
68
+ items: Member[];
69
+ size: number;
70
+ };
71
+ };
72
+ size: number;
73
+ };
74
+ attendance: {
75
+ remote: {
76
+ items: Member[];
77
+ size: number;
78
+ };
79
+ };
80
+ };
81
+ }
82
+ ];
83
+ size: number;
84
+ };
85
+ };
86
+ committeeAgendaAddendumId: {
87
+ agendaId: Id;
88
+ committeeId: CommitteeId;
89
+ addendum: string;
90
+ };
91
+ };
92
+ export interface Agenda extends Summary {
93
+ committeeId: CommitteeId;
94
+ committeeAgendas: {
95
+ items: [
96
+ {
97
+ committeeId: CommitteeId;
98
+ addenda: {
99
+ items: Addendum[];
100
+ size: number;
101
+ };
102
+ }
103
+ ];
104
+ size: number;
105
+ };
106
+ }
107
+ //# sourceMappingURL=agendas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agendas.d.ts","sourceRoot":"","sources":["../src/agendas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,MAAM,EAAE,GAAG;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,EAAE,CAAC;IACP,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,EAAE,EAAE,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,KAAK,EAAE;QACL,KAAK,EAAE;YACL;gBACE,MAAM,EAAE,WAAW,CAAC;gBACpB,QAAQ,EAAE,QAAQ,CAAC;gBACnB,OAAO,EAAE,MAAM,CAAC;aACjB;SACF,CAAC;QACF,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,QAAQ,EAAE;QACR,cAAc,EAAE;YACd,KAAK,EAAE;gBACL;oBACE,MAAM,EAAE,MAAM,CAAC;oBACf,IAAI,EAAE,MAAM,CAAC;oBACb,KAAK,EAAE,MAAM,CAAC;oBACd,MAAM,EAAE,MAAM,CAAC;iBAChB;aACF,CAAC;YACF,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;QACF,SAAS,EAAE;YACT,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,MAAM,CAAC;oBACb,MAAM,EAAE,MAAM,CAAC;oBACf,OAAO,EAAE,OAAO,CAAC;oBACjB,cAAc,EAAE,IAAI,CAAC;oBACrB,IAAI,EAAE;wBACJ,MAAM,EAAE,MAAM,CAAC;wBACf,OAAO,EAAE,MAAM,CAAC;wBAChB,QAAQ,EAAE,MAAM,CAAC;wBACjB,UAAU,EAAE,MAAM,CAAC;wBACnB,QAAQ,EAAE,MAAM,CAAC;wBACjB,SAAS,EAAE,WAAW,CAAC;wBACvB,WAAW,EAAE;4BACX,KAAK,EAAE;gCACL,CAAC,GAAG,EAAE,MAAM,GAAG;oCACb,KAAK,EAAE,MAAM,EAAE,CAAC;oCAChB,IAAI,EAAE,MAAM,CAAC;iCACd,CAAC;6BACH,CAAC;4BACF,IAAI,EAAE,MAAM,CAAC;yBACd,CAAC;wBACF,UAAU,EAAE;4BACV,MAAM,EAAE;gCACN,KAAK,EAAE,MAAM,EAAE,CAAC;gCAChB,IAAI,EAAE,MAAM,CAAC;6BACd,CAAC;yBACH,CAAC;qBACH,CAAC;iBACH;aACF,CAAC;YACF,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;KACH,CAAC;IACF,yBAAyB,EAAE;QACzB,QAAQ,EAAE,EAAE,CAAC;QACb,WAAW,EAAE,WAAW,CAAC;QACzB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEF,MAAM,WAAW,MAAO,SAAQ,OAAO;IACrC,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE;QAChB,KAAK,EAAE;YACL;gBACE,WAAW,EAAE,WAAW,CAAC;gBACzB,OAAO,EAAE;oBACP,KAAK,EAAE,QAAQ,EAAE,CAAC;oBAClB,IAAI,EAAE,MAAM,CAAC;iBACd,CAAC;aACH;SACF,CAAC;QACF,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH"}
@@ -0,0 +1,18 @@
1
+ export type TokenUpdate = {
2
+ id: {
3
+ [key: string]: number | string;
4
+ };
5
+ contentType: string;
6
+ sourceId: string;
7
+ sourceDateTime: string;
8
+ processedDateTime: string;
9
+ };
10
+ export interface DigestUpdate extends TokenUpdate {
11
+ action: string;
12
+ scope: string;
13
+ fields: {
14
+ [key: string]: string;
15
+ };
16
+ fieldCount: number;
17
+ }
18
+ //# sourceMappingURL=agg_updates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agg_updates.d.ts","sourceRoot":"","sources":["../src/agg_updates.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE;QACF,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;KAChC,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE;QACN,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,27 @@
1
+ export type Items<T> = {
2
+ items: T;
3
+ size: number;
4
+ };
5
+ export type APIBaseResponse = {
6
+ success: boolean;
7
+ message: string;
8
+ responseType: string;
9
+ };
10
+ export interface APIResponseSuccess<T> extends APIBaseResponse {
11
+ success: true;
12
+ total?: number;
13
+ offsetStart?: number;
14
+ offsetEnd?: number;
15
+ limit?: number;
16
+ result: T | Items<T>;
17
+ }
18
+ export interface APIResponseError extends APIBaseResponse {
19
+ success: false;
20
+ errorCode: number;
21
+ errorData?: {
22
+ [key: string]: string | number;
23
+ };
24
+ errorDataType?: string;
25
+ }
26
+ export type APIResponse<T> = APIResponseSuccess<T> | APIResponseError;
27
+ //# sourceMappingURL=api-response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-response.d.ts","sourceRoot":"","sources":["../src/api-response.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI;IACrB,KAAK,EAAE,CAAC,CAAC;IACT,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,WAAW,kBAAkB,CAAC,CAAC,CAAE,SAAQ,eAAe;IAC5D,OAAO,EAAE,IAAI,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;CACtB;AAED,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACvD,OAAO,EAAE,KAAK,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE;QACV,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;KAChC,CAAC;IACF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC"}
@@ -0,0 +1,149 @@
1
+ import { Member, SessionMember } from "./members.js";
2
+ import { Committee } from "./committees.js";
3
+ export type ShortBillId = {
4
+ basePrintNo: string;
5
+ session: number;
6
+ basePrintNoStr: string;
7
+ };
8
+ export interface BillId extends ShortBillId {
9
+ printNo: string;
10
+ version: string;
11
+ }
12
+ export type BillType = {
13
+ chamber: "ASSEMBLY" | "SENATE";
14
+ desc: string;
15
+ resolution: boolean;
16
+ };
17
+ export type BillStatus = {
18
+ statusType: string;
19
+ statusDesc: string;
20
+ actionDate: string;
21
+ committeeName: string;
22
+ billCalNo: number;
23
+ };
24
+ export type BillActionItem = {
25
+ billId: BillId;
26
+ date: string;
27
+ chamber: "SENATE" | "ASSEMBLY";
28
+ sequenceNo: number;
29
+ text: string;
30
+ };
31
+ export interface BillInfo extends ShortBillId {
32
+ printNo: string;
33
+ billType: BillType;
34
+ title: string;
35
+ activeVersion: string;
36
+ publishedDateTime: string;
37
+ substitutedBy: string | null;
38
+ sponsor: {
39
+ member: Member;
40
+ budget: boolean;
41
+ rules: boolean;
42
+ redistricting: boolean;
43
+ };
44
+ reprintOf: string | null;
45
+ summary: string;
46
+ signed: boolean;
47
+ adpoted: boolean;
48
+ vetoed: boolean;
49
+ status: BillStatus;
50
+ milestones: {
51
+ items: BillStatus[];
52
+ size: number;
53
+ };
54
+ actions: {
55
+ items: BillActionItem[];
56
+ size: number;
57
+ };
58
+ publishStatusMap: {
59
+ items: {
60
+ [key: string]: {
61
+ version: string;
62
+ published: boolean;
63
+ effectDateTime: string;
64
+ };
65
+ };
66
+ size: number;
67
+ };
68
+ programInfo: null;
69
+ }
70
+ export interface BillAmendment extends ShortBillId {
71
+ printNo: string;
72
+ version: string;
73
+ publishDate: string;
74
+ sameAs: {
75
+ items: [];
76
+ size: number;
77
+ };
78
+ memo: string;
79
+ lawSection: string;
80
+ lawCode: string;
81
+ actClause: string;
82
+ fullTextFormats: string[];
83
+ fullText?: string;
84
+ fullTextHtml: string;
85
+ fullTextTemplate: string;
86
+ coSponsors: {
87
+ items: Member[];
88
+ size: number;
89
+ };
90
+ multiSponsors: {
91
+ items: Member[];
92
+ size: number;
93
+ };
94
+ uniBill: boolean;
95
+ relatedLaws: {
96
+ items: {};
97
+ size: number;
98
+ };
99
+ stricken: boolean;
100
+ }
101
+ export interface Bill extends BillInfo {
102
+ year: number;
103
+ amendmentVersions: {
104
+ items: string[];
105
+ size: number;
106
+ };
107
+ amendments: {
108
+ items: {
109
+ [key: string]: BillAmendment;
110
+ };
111
+ size: number;
112
+ };
113
+ votes: {
114
+ items: [];
115
+ size: number;
116
+ };
117
+ vetoMessages: {
118
+ items: [];
119
+ size: number;
120
+ };
121
+ approvalMessage: string | null;
122
+ additionalSponsors: {
123
+ items: SessionMember[];
124
+ size: number;
125
+ };
126
+ pastCommittees: {
127
+ items: Committee[];
128
+ size: number;
129
+ };
130
+ previousVersions: {
131
+ items: BillId[];
132
+ size: number;
133
+ };
134
+ committeeAgendas: {
135
+ items: [];
136
+ size: number;
137
+ };
138
+ calendars: {
139
+ items: [];
140
+ size: number;
141
+ };
142
+ billInfoRefs?: {
143
+ items: {
144
+ [key: string]: BillInfo;
145
+ };
146
+ size: number;
147
+ };
148
+ }
149
+ //# sourceMappingURL=bills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bills.d.ts","sourceRoot":"","sources":["../src/bills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AACF,MAAM,WAAW,MAAO,SAAQ,WAAW;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AACF,MAAM,WAAW,QAAS,SAAQ,WAAW;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,OAAO,CAAC;QACf,aAAa,EAAE,OAAO,CAAC;KACxB,CAAC;IACF,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE;QACV,KAAK,EAAE,UAAU,EAAE,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,OAAO,EAAE;QACP,KAAK,EAAE,cAAc,EAAE,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,gBAAgB,EAAE;QAChB,KAAK,EAAE;YACL,CAAC,GAAG,EAAE,MAAM,GAAG;gBACb,OAAO,EAAE,MAAM,CAAC;gBAChB,SAAS,EAAE,OAAO,CAAC;gBACnB,cAAc,EAAE,MAAM,CAAC;aACxB,CAAC;SACH,CAAC;QACF,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,WAAW,EAAE,IAAI,CAAC;CACnB;AACD,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QACN,KAAK,EAAE,EAAE,CAAC;QACV,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,aAAa,EAAE;QACb,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE;QACX,KAAK,EAAE,EAAE,CAAC;QACV,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,QAAQ,EAAE,OAAO,CAAC;CACnB;AACD,MAAM,WAAW,IAAK,SAAQ,QAAQ;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE;QACjB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,UAAU,EAAE;QACV,KAAK,EAAE;YACL,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC;SAC9B,CAAC;QACF,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,KAAK,EAAE;QACL,KAAK,EAAE,EAAE,CAAC;QACV,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE,CAAC;QACV,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kBAAkB,EAAE;QAClB,KAAK,EAAE,aAAa,EAAE,CAAC;QACvB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,cAAc,EAAE;QACd,KAAK,EAAE,SAAS,EAAE,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,gBAAgB,EAAE;QAChB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,gBAAgB,EAAE;QAChB,KAAK,EAAE,EAAE,CAAC;QACV,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,SAAS,EAAE;QACT,KAAK,EAAE,EAAE,CAAC;QACV,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,YAAY,CAAC,EAAE;QACb,KAAK,EAAE;YACL,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC;SACzB,CAAC;QACF,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH"}
@@ -0,0 +1,37 @@
1
+ import { Items } from "./api-response.js";
2
+ import { BillInfo } from "./bills.js";
3
+ export type Calendar<T> = {
4
+ year: number;
5
+ calendarNumber: number;
6
+ floorCalendar: T;
7
+ supplementalCalendars: Items<T>;
8
+ activeLists: Items<T>;
9
+ calDate: string;
10
+ };
11
+ export type ShortCalendar = {
12
+ year: number;
13
+ calendarNumber: number;
14
+ version: string;
15
+ calDate: string;
16
+ releaseDateTime: string;
17
+ totalEntries: number;
18
+ };
19
+ export interface CalendarEntry extends BillInfo {
20
+ billCalNo: number;
21
+ selectedVersion: string;
22
+ sectionType: string;
23
+ subBillInfo: null;
24
+ billHigh: boolean;
25
+ }
26
+ export interface FullCalendar extends ShortCalendar {
27
+ entriesBySection: {
28
+ items: {
29
+ [key: string]: {
30
+ items: CalendarEntry[];
31
+ size: number;
32
+ };
33
+ };
34
+ size: number;
35
+ };
36
+ }
37
+ //# sourceMappingURL=calendars.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendars.d.ts","sourceRoot":"","sources":["../src/calendars.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,CAAC,CAAC;IACjB,qBAAqB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,IAAI,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,gBAAgB,EAAE;QAChB,KAAK,EAAE;YACL,CAAC,GAAG,EAAE,MAAM,GAAG;gBACb,KAAK,EAAE,aAAa,EAAE,CAAC;gBACvB,IAAI,EAAE,MAAM,CAAC;aACd,CAAC;SACH,CAAC;QACF,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH"}
@@ -0,0 +1,26 @@
1
+ import { Member } from "./members.js";
2
+ export interface CommitteeMember extends Member {
3
+ sequenceNo: number;
4
+ title: "CHAIR" | "MEMBER";
5
+ }
6
+ export type CommitteeId = {
7
+ chamber: "SENATE";
8
+ name: string;
9
+ };
10
+ export type Committee = {
11
+ chamber: "SENATE";
12
+ name: string;
13
+ sessionYear: number;
14
+ referenceDate: string;
15
+ reformed: null;
16
+ location: string;
17
+ meetDay: string;
18
+ meetTime: string;
19
+ meetAltWeek: boolean;
20
+ meetAltWeekText: string;
21
+ committeeMembers: {
22
+ items: CommitteeMember[];
23
+ size: number;
24
+ };
25
+ };
26
+ //# sourceMappingURL=committees.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"committees.d.ts","sourceRoot":"","sources":["../src/committees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,MAAM,WAAW,eAAgB,SAAQ,MAAM;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC3B;AACD,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,QAAQ,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AACF,MAAM,MAAM,SAAS,GAAG;IACtB,OAAO,EAAE,QAAQ,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,IAAI,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE;QAChB,KAAK,EAAE,eAAe,EAAE,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH,CAAC"}
@@ -0,0 +1,10 @@
1
+ export * from "./agendas.js";
2
+ export * from "./agg_updates.js";
3
+ export * from "./api-response.js";
4
+ export * from "./bills.js";
5
+ export * from "./calendars.js";
6
+ export * from "./committees.js";
7
+ export * from "./laws.js";
8
+ export * from "./members.js";
9
+ export * from "./transcripts.js";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC"}
package/dist/laws.d.ts ADDED
@@ -0,0 +1,37 @@
1
+ export type LawDocument = {
2
+ lawId: string;
3
+ lawName: string;
4
+ locationId: string;
5
+ title: string;
6
+ doctype: string;
7
+ docLevelId: string;
8
+ activeDate: string;
9
+ sequenceNo: number;
10
+ repealedDate: string | null;
11
+ fromSection: string;
12
+ toSection: string;
13
+ text: string | null;
14
+ documents: {
15
+ items: LawDocument[];
16
+ size: number;
17
+ };
18
+ repealed: boolean;
19
+ };
20
+ export type Law = {
21
+ lawVersion: {
22
+ lawId: string;
23
+ activeDate: string;
24
+ };
25
+ info: {
26
+ lawId: string;
27
+ name: string;
28
+ lawType: string;
29
+ chapter: string;
30
+ };
31
+ publishedDates: string[];
32
+ documents: {
33
+ items: LawDocument[];
34
+ size: number;
35
+ };
36
+ };
37
+ //# sourceMappingURL=laws.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"laws.d.ts","sourceRoot":"","sources":["../src/laws.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE;QACT,KAAK,EAAE,WAAW,EAAE,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AACF,MAAM,MAAM,GAAG,GAAG;IAChB,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,EAAE;QACT,KAAK,EAAE,WAAW,EAAE,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH,CAAC"}
@@ -0,0 +1,33 @@
1
+ export type Person = {
2
+ personId: number;
3
+ fullName: string;
4
+ firstName: string;
5
+ middleName: string;
6
+ lastName: string;
7
+ email: string;
8
+ prefix: string;
9
+ suffix: string;
10
+ verified: boolean;
11
+ imgName: string;
12
+ };
13
+ export type SessionMember = {
14
+ sessionMemberId: number;
15
+ shortName: string;
16
+ sessionYear: number;
17
+ districtCode: number;
18
+ alternate: boolean;
19
+ memberId: number;
20
+ };
21
+ export interface Member extends SessionMember {
22
+ chamber: "SENATE" | "ASSEMBLY";
23
+ incumbent: boolean;
24
+ fullName: string;
25
+ imgName: string;
26
+ }
27
+ export interface FullMember extends Member {
28
+ sessionMemberShortMap: {
29
+ [key: string]: SessionMember;
30
+ };
31
+ person: Person;
32
+ }
33
+ //# sourceMappingURL=members.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"members.d.ts","sourceRoot":"","sources":["../src/members.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,WAAW,MAAO,SAAQ,aAAa;IAC3C,OAAO,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAW,SAAQ,MAAM;IACxC,qBAAqB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAA;KAAE,CAAC;IACxD,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,23 @@
1
+ export type FloorTranscript = {
2
+ dateTime: string;
3
+ sessionType: string;
4
+ location: string;
5
+ dayType: string;
6
+ text: string;
7
+ };
8
+ export type HearingTranscript = {
9
+ id: number;
10
+ filename: string;
11
+ title: string;
12
+ address: string;
13
+ startTime: string;
14
+ endTime: string;
15
+ date: string;
16
+ committees: {
17
+ chamber: string;
18
+ type: string;
19
+ name: string;
20
+ }[];
21
+ text: string;
22
+ };
23
+ //# sourceMappingURL=transcripts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transcripts.d.ts","sourceRoot":"","sources":["../src/transcripts.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,EAAE,CAAC;IACJ,IAAI,EAAE,MAAM,CAAC;CACd,CAAC"}
package/package.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "@jpstroud/nys-openlegislation-types",
3
+ "version": "0.2.4",
4
+ "description": "Typescript definitions for working with the New York Senate's OpenLegislation API",
5
+ "type": "module",
6
+ "publishConfig": {
7
+ "access": "public"
8
+ },
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/jpelton-stroud/nysenate-types.git"
12
+ },
13
+ "exports": {
14
+ ".": {
15
+ "types": "./dist/index.d.ts"
16
+ }
17
+ },
18
+ "types": "./dist/index.d.ts",
19
+ "files": [
20
+ "dist",
21
+ "README.md",
22
+ "LICENSE"
23
+ ],
24
+ "scripts": {
25
+ "build": "tsc",
26
+ "prepublishOnly": "npm run build"
27
+ },
28
+ "private": false,
29
+ "keywords": [
30
+ "nys",
31
+ "nysenate",
32
+ "openlegislation",
33
+ "types"
34
+ ],
35
+ "author": "jpstroud",
36
+ "license": "ISC",
37
+ "devDependencies": {
38
+ "@semantic-release/changelog": "^6.0.3",
39
+ "@semantic-release/git": "^10.0.1",
40
+ "semantic-release": "^25.0.2"
41
+ }
42
+ }