Skip to content

Commit fa883e2

Browse files
stainless-botstainless-app[bot]
authored andcommitted
chore: lazy load raw resource class properties (#268)
1 parent 70da934 commit fa883e2

26 files changed

+488
-76
lines changed

src/finch/resources/access_tokens.py

+8
Original file line numberDiff line numberDiff line change
@@ -126,27 +126,35 @@ async def create(
126126

127127
class AccessTokensWithRawResponse:
128128
def __init__(self, access_tokens: AccessTokens) -> None:
129+
self._access_tokens = access_tokens
130+
129131
self.create = _legacy_response.to_raw_response_wrapper(
130132
access_tokens.create,
131133
)
132134

133135

134136
class AsyncAccessTokensWithRawResponse:
135137
def __init__(self, access_tokens: AsyncAccessTokens) -> None:
138+
self._access_tokens = access_tokens
139+
136140
self.create = _legacy_response.async_to_raw_response_wrapper(
137141
access_tokens.create,
138142
)
139143

140144

141145
class AccessTokensWithStreamingResponse:
142146
def __init__(self, access_tokens: AccessTokens) -> None:
147+
self._access_tokens = access_tokens
148+
143149
self.create = to_streamed_response_wrapper(
144150
access_tokens.create,
145151
)
146152

147153

148154
class AsyncAccessTokensWithStreamingResponse:
149155
def __init__(self, access_tokens: AsyncAccessTokens) -> None:
156+
self._access_tokens = access_tokens
157+
150158
self.create = async_to_streamed_response_wrapper(
151159
access_tokens.create,
152160
)

src/finch/resources/account.py

+8
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,8 @@ async def introspect(
123123

124124
class AccountWithRawResponse:
125125
def __init__(self, account: Account) -> None:
126+
self._account = account
127+
126128
self.disconnect = _legacy_response.to_raw_response_wrapper(
127129
account.disconnect,
128130
)
@@ -133,6 +135,8 @@ def __init__(self, account: Account) -> None:
133135

134136
class AsyncAccountWithRawResponse:
135137
def __init__(self, account: AsyncAccount) -> None:
138+
self._account = account
139+
136140
self.disconnect = _legacy_response.async_to_raw_response_wrapper(
137141
account.disconnect,
138142
)
@@ -143,6 +147,8 @@ def __init__(self, account: AsyncAccount) -> None:
143147

144148
class AccountWithStreamingResponse:
145149
def __init__(self, account: Account) -> None:
150+
self._account = account
151+
146152
self.disconnect = to_streamed_response_wrapper(
147153
account.disconnect,
148154
)
@@ -153,6 +159,8 @@ def __init__(self, account: Account) -> None:
153159

154160
class AsyncAccountWithStreamingResponse:
155161
def __init__(self, account: AsyncAccount) -> None:
162+
self._account = account
163+
156164
self.disconnect = async_to_streamed_response_wrapper(
157165
account.disconnect,
158166
)

src/finch/resources/hris/benefits/benefits.py

+20-4
Original file line numberDiff line numberDiff line change
@@ -407,7 +407,7 @@ def list_supported_benefits(
407407

408408
class BenefitsWithRawResponse:
409409
def __init__(self, benefits: Benefits) -> None:
410-
self.individuals = IndividualsWithRawResponse(benefits.individuals)
410+
self._benefits = benefits
411411

412412
self.create = _legacy_response.to_raw_response_wrapper(
413413
benefits.create,
@@ -425,10 +425,14 @@ def __init__(self, benefits: Benefits) -> None:
425425
benefits.list_supported_benefits,
426426
)
427427

428+
@cached_property
429+
def individuals(self) -> IndividualsWithRawResponse:
430+
return IndividualsWithRawResponse(self._benefits.individuals)
431+
428432

429433
class AsyncBenefitsWithRawResponse:
430434
def __init__(self, benefits: AsyncBenefits) -> None:
431-
self.individuals = AsyncIndividualsWithRawResponse(benefits.individuals)
435+
self._benefits = benefits
432436

433437
self.create = _legacy_response.async_to_raw_response_wrapper(
434438
benefits.create,
@@ -446,10 +450,14 @@ def __init__(self, benefits: AsyncBenefits) -> None:
446450
benefits.list_supported_benefits,
447451
)
448452

453+
@cached_property
454+
def individuals(self) -> AsyncIndividualsWithRawResponse:
455+
return AsyncIndividualsWithRawResponse(self._benefits.individuals)
456+
449457

450458
class BenefitsWithStreamingResponse:
451459
def __init__(self, benefits: Benefits) -> None:
452-
self.individuals = IndividualsWithStreamingResponse(benefits.individuals)
460+
self._benefits = benefits
453461

454462
self.create = to_streamed_response_wrapper(
455463
benefits.create,
@@ -467,10 +475,14 @@ def __init__(self, benefits: Benefits) -> None:
467475
benefits.list_supported_benefits,
468476
)
469477

478+
@cached_property
479+
def individuals(self) -> IndividualsWithStreamingResponse:
480+
return IndividualsWithStreamingResponse(self._benefits.individuals)
481+
470482

471483
class AsyncBenefitsWithStreamingResponse:
472484
def __init__(self, benefits: AsyncBenefits) -> None:
473-
self.individuals = AsyncIndividualsWithStreamingResponse(benefits.individuals)
485+
self._benefits = benefits
474486

475487
self.create = async_to_streamed_response_wrapper(
476488
benefits.create,
@@ -487,3 +499,7 @@ def __init__(self, benefits: AsyncBenefits) -> None:
487499
self.list_supported_benefits = async_to_streamed_response_wrapper(
488500
benefits.list_supported_benefits,
489501
)
502+
503+
@cached_property
504+
def individuals(self) -> AsyncIndividualsWithStreamingResponse:
505+
return AsyncIndividualsWithStreamingResponse(self._benefits.individuals)

src/finch/resources/hris/benefits/individuals.py

+8
Original file line numberDiff line numberDiff line change
@@ -398,6 +398,8 @@ def unenroll_many(
398398

399399
class IndividualsWithRawResponse:
400400
def __init__(self, individuals: Individuals) -> None:
401+
self._individuals = individuals
402+
401403
self.enroll_many = _legacy_response.to_raw_response_wrapper(
402404
individuals.enroll_many,
403405
)
@@ -414,6 +416,8 @@ def __init__(self, individuals: Individuals) -> None:
414416

415417
class AsyncIndividualsWithRawResponse:
416418
def __init__(self, individuals: AsyncIndividuals) -> None:
419+
self._individuals = individuals
420+
417421
self.enroll_many = _legacy_response.async_to_raw_response_wrapper(
418422
individuals.enroll_many,
419423
)
@@ -430,6 +434,8 @@ def __init__(self, individuals: AsyncIndividuals) -> None:
430434

431435
class IndividualsWithStreamingResponse:
432436
def __init__(self, individuals: Individuals) -> None:
437+
self._individuals = individuals
438+
433439
self.enroll_many = to_streamed_response_wrapper(
434440
individuals.enroll_many,
435441
)
@@ -446,6 +452,8 @@ def __init__(self, individuals: Individuals) -> None:
446452

447453
class AsyncIndividualsWithStreamingResponse:
448454
def __init__(self, individuals: AsyncIndividuals) -> None:
455+
self._individuals = individuals
456+
449457
self.enroll_many = async_to_streamed_response_wrapper(
450458
individuals.enroll_many,
451459
)

src/finch/resources/hris/company.py

+8
Original file line numberDiff line numberDiff line change
@@ -77,27 +77,35 @@ async def retrieve(
7777

7878
class CompanyResourceWithRawResponse:
7979
def __init__(self, company: CompanyResource) -> None:
80+
self._company = company
81+
8082
self.retrieve = _legacy_response.to_raw_response_wrapper(
8183
company.retrieve,
8284
)
8385

8486

8587
class AsyncCompanyResourceWithRawResponse:
8688
def __init__(self, company: AsyncCompanyResource) -> None:
89+
self._company = company
90+
8791
self.retrieve = _legacy_response.async_to_raw_response_wrapper(
8892
company.retrieve,
8993
)
9094

9195

9296
class CompanyResourceWithStreamingResponse:
9397
def __init__(self, company: CompanyResource) -> None:
98+
self._company = company
99+
94100
self.retrieve = to_streamed_response_wrapper(
95101
company.retrieve,
96102
)
97103

98104

99105
class AsyncCompanyResourceWithStreamingResponse:
100106
def __init__(self, company: AsyncCompanyResource) -> None:
107+
self._company = company
108+
101109
self.retrieve = async_to_streamed_response_wrapper(
102110
company.retrieve,
103111
)

src/finch/resources/hris/directory.py

+8
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,8 @@ def list_individuals(
214214

215215
class DirectoryWithRawResponse:
216216
def __init__(self, directory: Directory) -> None:
217+
self._directory = directory
218+
217219
self.list = _legacy_response.to_raw_response_wrapper(
218220
directory.list,
219221
)
@@ -226,6 +228,8 @@ def __init__(self, directory: Directory) -> None:
226228

227229
class AsyncDirectoryWithRawResponse:
228230
def __init__(self, directory: AsyncDirectory) -> None:
231+
self._directory = directory
232+
229233
self.list = _legacy_response.async_to_raw_response_wrapper(
230234
directory.list,
231235
)
@@ -238,6 +242,8 @@ def __init__(self, directory: AsyncDirectory) -> None:
238242

239243
class DirectoryWithStreamingResponse:
240244
def __init__(self, directory: Directory) -> None:
245+
self._directory = directory
246+
241247
self.list = to_streamed_response_wrapper(
242248
directory.list,
243249
)
@@ -250,6 +256,8 @@ def __init__(self, directory: Directory) -> None:
250256

251257
class AsyncDirectoryWithStreamingResponse:
252258
def __init__(self, directory: AsyncDirectory) -> None:
259+
self._directory = directory
260+
253261
self.list = async_to_streamed_response_wrapper(
254262
directory.list,
255263
)

src/finch/resources/hris/employments.py

+8
Original file line numberDiff line numberDiff line change
@@ -124,27 +124,35 @@ def retrieve_many(
124124

125125
class EmploymentsWithRawResponse:
126126
def __init__(self, employments: Employments) -> None:
127+
self._employments = employments
128+
127129
self.retrieve_many = _legacy_response.to_raw_response_wrapper(
128130
employments.retrieve_many,
129131
)
130132

131133

132134
class AsyncEmploymentsWithRawResponse:
133135
def __init__(self, employments: AsyncEmployments) -> None:
136+
self._employments = employments
137+
134138
self.retrieve_many = _legacy_response.async_to_raw_response_wrapper(
135139
employments.retrieve_many,
136140
)
137141

138142

139143
class EmploymentsWithStreamingResponse:
140144
def __init__(self, employments: Employments) -> None:
145+
self._employments = employments
146+
141147
self.retrieve_many = to_streamed_response_wrapper(
142148
employments.retrieve_many,
143149
)
144150

145151

146152
class AsyncEmploymentsWithStreamingResponse:
147153
def __init__(self, employments: AsyncEmployments) -> None:
154+
self._employments = employments
155+
148156
self.retrieve_many = async_to_streamed_response_wrapper(
149157
employments.retrieve_many,
150158
)

0 commit comments

Comments
 (0)