@tryfinch/finch-api 4.2.1 → 5.1.0
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/CHANGELOG.md +57 -0
- package/README.md +33 -0
- package/_shims/{ReadableStream.node.d.ts → ReadableStream-node.d.ts} +1 -1
- package/_shims/ReadableStream-node.d.ts.map +1 -0
- package/_shims/{ReadableStream.node.js → ReadableStream-node.js} +1 -1
- package/_shims/ReadableStream-node.js.map +1 -0
- package/_shims/{ReadableStream.node.mjs → ReadableStream-node.mjs} +1 -1
- package/_shims/ReadableStream-node.mjs.map +1 -0
- package/_shims/{agent.node.d.ts → agent-node.d.ts} +1 -1
- package/_shims/agent-node.d.ts.map +1 -0
- package/_shims/{agent.node.js → agent-node.js} +1 -1
- package/_shims/{agent.node.js.map → agent-node.js.map} +1 -1
- package/_shims/{agent.node.mjs → agent-node.mjs} +1 -1
- package/_shims/{agent.node.mjs.map → agent-node.mjs.map} +1 -1
- package/_shims/agent.d.ts +1 -1
- package/_shims/agent.js +1 -1
- package/_shims/agent.mjs +1 -1
- package/_shims/{fileFromPath.node.d.ts → fileFromPath-node.d.ts} +2 -2
- package/_shims/{fileFromPath.node.d.ts.map → fileFromPath-node.d.ts.map} +1 -1
- package/_shims/{fileFromPath.node.js → fileFromPath-node.js} +1 -1
- package/_shims/{fileFromPath.node.js.map → fileFromPath-node.js.map} +1 -1
- package/_shims/{fileFromPath.node.mjs → fileFromPath-node.mjs} +1 -1
- package/_shims/{fileFromPath.node.mjs.map → fileFromPath-node.mjs.map} +1 -1
- package/_shims/fileFromPath.d.ts +2 -2
- package/_shims/fileFromPath.d.ts.map +1 -1
- package/_shims/fileFromPath.js +1 -1
- package/_shims/fileFromPath.mjs +1 -1
- package/_shims/{getMultipartRequestOptions.node.d.ts → getMultipartRequestOptions-node.d.ts} +2 -2
- package/_shims/getMultipartRequestOptions-node.d.ts.map +1 -0
- package/_shims/{getMultipartRequestOptions.node.js → getMultipartRequestOptions-node.js} +1 -1
- package/_shims/{getMultipartRequestOptions.node.js.map → getMultipartRequestOptions-node.js.map} +1 -1
- package/_shims/{getMultipartRequestOptions.node.mjs → getMultipartRequestOptions-node.mjs} +1 -1
- package/_shims/{getMultipartRequestOptions.node.mjs.map → getMultipartRequestOptions-node.mjs.map} +1 -1
- package/_shims/getMultipartRequestOptions.d.ts +1 -1
- package/_shims/getMultipartRequestOptions.d.ts.map +1 -1
- package/_shims/{node-readable.node.d.ts → node-readable-node.d.ts} +1 -1
- package/_shims/{node-readable.node.d.ts.map → node-readable-node.d.ts.map} +1 -1
- package/_shims/{node-readable.node.js → node-readable-node.js} +1 -1
- package/_shims/node-readable-node.js.map +1 -0
- package/_shims/{node-readable.node.mjs → node-readable-node.mjs} +1 -1
- package/_shims/node-readable-node.mjs.map +1 -0
- package/core.d.ts +3 -2
- package/core.d.ts.map +1 -1
- package/core.js +3 -1
- package/core.js.map +1 -1
- package/core.mjs +1 -1
- package/core.mjs.map +1 -1
- package/error.d.ts +1 -1
- package/error.d.ts.map +1 -1
- package/error.js +2 -2
- package/error.js.map +1 -1
- package/error.mjs +2 -2
- package/error.mjs.map +1 -1
- package/index.d.mts +8 -3
- package/index.d.ts +8 -3
- package/index.d.ts.map +1 -1
- package/index.js +11 -5
- package/index.js.map +1 -1
- package/index.mjs +11 -5
- package/index.mjs.map +1 -1
- package/package.json +9 -4
- package/resources/hris/benefits/benefits.d.ts +1 -1
- package/resources/hris/benefits/benefits.d.ts.map +1 -1
- package/resources/hris/benefits/index.d.ts +1 -1
- package/resources/hris/benefits/index.d.ts.map +1 -1
- package/resources/hris/benefits/individuals.d.ts +5 -5
- package/resources/hris/benefits/individuals.d.ts.map +1 -1
- package/resources/hris/benefits/individuals.js +2 -2
- package/resources/hris/benefits/individuals.js.map +1 -1
- package/resources/hris/benefits/individuals.mjs +2 -2
- package/resources/hris/benefits/individuals.mjs.map +1 -1
- package/resources/hris/{individuals/employment-data.d.ts → employments.d.ts} +12 -12
- package/resources/hris/employments.d.ts.map +1 -0
- package/resources/hris/employments.js +27 -0
- package/resources/hris/employments.js.map +1 -0
- package/resources/hris/{individuals/employment-data.mjs → employments.mjs} +5 -8
- package/resources/hris/employments.mjs.map +1 -0
- package/resources/hris/hris.d.ts +20 -13
- package/resources/hris/hris.d.ts.map +1 -1
- package/resources/hris/hris.js +12 -8
- package/resources/hris/hris.js.map +1 -1
- package/resources/hris/hris.mjs +12 -8
- package/resources/hris/hris.mjs.map +1 -1
- package/resources/hris/index.d.ts +10 -3
- package/resources/hris/index.d.ts.map +1 -1
- package/resources/hris/index.js +23 -8
- package/resources/hris/index.js.map +1 -1
- package/resources/hris/index.mjs +3 -2
- package/resources/hris/index.mjs.map +1 -1
- package/resources/hris/{individuals/individuals.d.ts → individuals.d.ts} +5 -13
- package/resources/hris/individuals.d.ts.map +1 -0
- package/resources/hris/individuals.js +24 -0
- package/resources/hris/individuals.js.map +1 -0
- package/resources/hris/{individuals/individuals.mjs → individuals.mjs} +3 -12
- package/resources/hris/individuals.mjs.map +1 -0
- package/resources/hris/pay-statements.d.ts +4 -4
- package/resources/hris/pay-statements.d.ts.map +1 -1
- package/resources/hris/pay-statements.js +4 -4
- package/resources/hris/pay-statements.js.map +1 -1
- package/resources/hris/pay-statements.mjs +2 -2
- package/resources/hris/pay-statements.mjs.map +1 -1
- package/resources/index.d.ts +1 -0
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js +14 -1
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +1 -0
- package/resources/index.mjs.map +1 -1
- package/resources/webhooks.d.ts +22 -0
- package/resources/webhooks.d.ts.map +1 -0
- package/resources/webhooks.js +118 -0
- package/resources/webhooks.js.map +1 -0
- package/resources/webhooks.mjs +114 -0
- package/resources/webhooks.mjs.map +1 -0
- package/src/_shims/ReadableStream.d.ts +5 -5
- package/src/_shims/agent.ts +1 -1
- package/src/_shims/{fetch.node.d.ts → fetch-node.d.ts} +8 -8
- package/src/_shims/fetch.d.ts +10 -10
- package/src/_shims/{fileFromPath.node.ts → fileFromPath-node.ts} +1 -1
- package/src/_shims/fileFromPath.ts +2 -2
- package/src/_shims/{formdata.node.d.ts → form-data-node.d.ts} +4 -4
- package/src/_shims/{formdata.d.ts → form-data.d.ts} +4 -4
- package/src/_shims/{getMultipartRequestOptions.node.ts → getMultipartRequestOptions-node.ts} +3 -3
- package/src/_shims/getMultipartRequestOptions.ts +3 -3
- package/src/core.ts +12 -11
- package/src/error.ts +3 -3
- package/src/index.ts +20 -10
- package/src/pagination.ts +3 -3
- package/src/resource.ts +1 -1
- package/src/resources/account.ts +3 -3
- package/src/resources/ats/applications.ts +6 -6
- package/src/resources/ats/ats.ts +7 -7
- package/src/resources/ats/candidates.ts +5 -5
- package/src/resources/ats/index.ts +6 -6
- package/src/resources/ats/jobs.ts +5 -5
- package/src/resources/ats/offers.ts +5 -5
- package/src/resources/ats/stages.ts +4 -4
- package/src/resources/hris/benefits/benefits.ts +7 -7
- package/src/resources/hris/benefits/index.ts +3 -3
- package/src/resources/hris/benefits/individuals.ts +14 -14
- package/src/resources/hris/company.ts +4 -4
- package/src/resources/hris/directory.ts +5 -5
- package/src/resources/hris/{individuals/employment-data.ts → employments.ts} +17 -17
- package/src/resources/hris/hris.ts +29 -21
- package/src/resources/hris/index.ts +16 -9
- package/src/resources/hris/{individuals/individuals.ts → individuals.ts} +13 -23
- package/src/resources/hris/pay-statements.ts +11 -11
- package/src/resources/hris/payments.ts +5 -5
- package/src/resources/index.ts +6 -5
- package/src/resources/providers.ts +4 -4
- package/src/resources/webhooks.ts +151 -0
- package/src/tsconfig.json +11 -0
- package/src/uploads.ts +6 -6
- package/src/version.ts +1 -1
- package/uploads.d.ts +1 -1
- package/uploads.d.ts.map +1 -1
- package/uploads.js +4 -4
- package/uploads.js.map +1 -1
- package/uploads.mjs +1 -1
- package/uploads.mjs.map +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
- package/_shims/ReadableStream.node.d.ts.map +0 -1
- package/_shims/ReadableStream.node.js.map +0 -1
- package/_shims/ReadableStream.node.mjs.map +0 -1
- package/_shims/agent.node.d.ts.map +0 -1
- package/_shims/getMultipartRequestOptions.node.d.ts.map +0 -1
- package/_shims/node-readable.node.js.map +0 -1
- package/_shims/node-readable.node.mjs.map +0 -1
- package/resources/hris/individuals/employment-data.d.ts.map +0 -1
- package/resources/hris/individuals/employment-data.js +0 -70
- package/resources/hris/individuals/employment-data.js.map +0 -1
- package/resources/hris/individuals/employment-data.mjs.map +0 -1
- package/resources/hris/individuals/index.d.ts +0 -14
- package/resources/hris/individuals/index.d.ts.map +0 -1
- package/resources/hris/individuals/index.js +0 -35
- package/resources/hris/individuals/index.js.map +0 -1
- package/resources/hris/individuals/index.mjs +0 -4
- package/resources/hris/individuals/index.mjs.map +0 -1
- package/resources/hris/individuals/individuals.d.ts.map +0 -1
- package/resources/hris/individuals/individuals.js +0 -73
- package/resources/hris/individuals/individuals.js.map +0 -1
- package/resources/hris/individuals/individuals.mjs.map +0 -1
- package/src/_shims/fetch.deno.ts +0 -23
- package/src/_shims/formdata.deno.ts +0 -16
- package/src/resources/hris/individuals/index.ts +0 -15
- /package/_shims/{fetch.node.d.ts → fetch-node.d.ts} +0 -0
- /package/_shims/{fetch.node.js → fetch-node.js} +0 -0
- /package/_shims/{fetch.node.mjs → fetch-node.mjs} +0 -0
- /package/_shims/{formdata.node.d.ts → form-data-node.d.ts} +0 -0
- /package/_shims/{formdata.node.js → form-data-node.js} +0 -0
- /package/_shims/{formdata.node.mjs → form-data-node.mjs} +0 -0
- /package/_shims/{formdata.d.ts → form-data.d.ts} +0 -0
- /package/_shims/{formdata.js → form-data.js} +0 -0
- /package/_shims/{formdata.mjs → form-data.mjs} +0 -0
- /package/src/_shims/{ReadableStream.node.ts → ReadableStream-node.ts} +0 -0
- /package/src/_shims/{agent.node.ts → agent-node.ts} +0 -0
- /package/src/_shims/{fetch.node.js → fetch-node.js} +0 -0
- /package/src/_shims/{fetch.node.mjs → fetch-node.mjs} +0 -0
- /package/src/_shims/{formdata.node.js → form-data-node.js} +0 -0
- /package/src/_shims/{formdata.node.mjs → form-data-node.mjs} +0 -0
- /package/src/_shims/{formdata.js → form-data.js} +0 -0
- /package/src/_shims/{formdata.mjs → form-data.mjs} +0 -0
- /package/src/_shims/{node-readable.node.ts → node-readable-node.ts} +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// File generated from our OpenAPI spec by Stainless.
|
|
2
2
|
|
|
3
|
-
import * as Core from '../../../core';
|
|
4
|
-
import { APIResource } from '../../../resource';
|
|
5
|
-
import { isRequestOptions } from '../../../core';
|
|
6
|
-
import * as Benefits from './index';
|
|
7
|
-
import * as API from './index';
|
|
8
|
-
import { SinglePage } from '../../../pagination';
|
|
3
|
+
import * as Core from '../../../core.js';
|
|
4
|
+
import { APIResource } from '../../../resource.js';
|
|
5
|
+
import { isRequestOptions } from '../../../core.js';
|
|
6
|
+
import * as Benefits from './index.js';
|
|
7
|
+
import * as API from './index.js';
|
|
8
|
+
import { SinglePage } from '../../../pagination.js';
|
|
9
9
|
|
|
10
10
|
export class Individuals extends APIResource {
|
|
11
11
|
/**
|
|
@@ -77,22 +77,22 @@ export class Individuals extends APIResource {
|
|
|
77
77
|
*
|
|
78
78
|
* Unenroll individuals from a benefit
|
|
79
79
|
*/
|
|
80
|
-
|
|
80
|
+
unenrollMany(
|
|
81
81
|
benefitId: string,
|
|
82
|
-
body?:
|
|
82
|
+
body?: IndividualUnenrollManyParams,
|
|
83
83
|
options?: Core.RequestOptions,
|
|
84
84
|
): Core.PagePromise<UnenrolledIndividualsSinglePage, UnenrolledIndividual>;
|
|
85
|
-
|
|
85
|
+
unenrollMany(
|
|
86
86
|
benefitId: string,
|
|
87
87
|
options?: Core.RequestOptions,
|
|
88
88
|
): Core.PagePromise<UnenrolledIndividualsSinglePage, UnenrolledIndividual>;
|
|
89
|
-
|
|
89
|
+
unenrollMany(
|
|
90
90
|
benefitId: string,
|
|
91
|
-
body:
|
|
91
|
+
body: IndividualUnenrollManyParams | Core.RequestOptions = {},
|
|
92
92
|
options?: Core.RequestOptions,
|
|
93
93
|
): Core.PagePromise<UnenrolledIndividualsSinglePage, UnenrolledIndividual> {
|
|
94
94
|
if (isRequestOptions(body)) {
|
|
95
|
-
return this.
|
|
95
|
+
return this.unenrollMany(benefitId, {}, body);
|
|
96
96
|
}
|
|
97
97
|
return this.getAPIList(`/employer/benefits/${benefitId}/individuals`, UnenrolledIndividualsSinglePage, {
|
|
98
98
|
body,
|
|
@@ -233,7 +233,7 @@ export interface IndividualRetrieveManyBenefitsParams {
|
|
|
233
233
|
individual_ids?: string;
|
|
234
234
|
}
|
|
235
235
|
|
|
236
|
-
export interface
|
|
236
|
+
export interface IndividualUnenrollManyParams {
|
|
237
237
|
/**
|
|
238
238
|
* Array of individual_ids to unenroll.
|
|
239
239
|
*/
|
|
@@ -250,5 +250,5 @@ export namespace Individuals {
|
|
|
250
250
|
export type UnenrolledIndividualsSinglePage = _UnenrolledIndividualsSinglePage;
|
|
251
251
|
export import IndividualEnrollManyParams = API.IndividualEnrollManyParams;
|
|
252
252
|
export import IndividualRetrieveManyBenefitsParams = API.IndividualRetrieveManyBenefitsParams;
|
|
253
|
-
export import
|
|
253
|
+
export import IndividualUnenrollManyParams = API.IndividualUnenrollManyParams;
|
|
254
254
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// File generated from our OpenAPI spec by Stainless.
|
|
2
2
|
|
|
3
|
-
import * as Core from '../../core';
|
|
4
|
-
import { APIResource } from '../../resource';
|
|
5
|
-
import * as HRIS from './index';
|
|
6
|
-
import * as API from './index';
|
|
3
|
+
import * as Core from '../../core.js';
|
|
4
|
+
import { APIResource } from '../../resource.js';
|
|
5
|
+
import * as HRIS from './index.js';
|
|
6
|
+
import * as API from './index.js';
|
|
7
7
|
|
|
8
8
|
export class CompanyResource extends APIResource {
|
|
9
9
|
/**
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// File generated from our OpenAPI spec by Stainless.
|
|
2
2
|
|
|
3
|
-
import * as Core from '../../core';
|
|
4
|
-
import { APIResource } from '../../resource';
|
|
5
|
-
import { isRequestOptions } from '../../core';
|
|
6
|
-
import * as API from './index';
|
|
7
|
-
import { IndividualsPage, IndividualsPageParams } from '../../pagination';
|
|
3
|
+
import * as Core from '../../core.js';
|
|
4
|
+
import { APIResource } from '../../resource.js';
|
|
5
|
+
import { isRequestOptions } from '../../core.js';
|
|
6
|
+
import * as API from './index.js';
|
|
7
|
+
import { IndividualsPage, IndividualsPageParams } from '../../pagination.js';
|
|
8
8
|
|
|
9
9
|
export class Directory extends APIResource {
|
|
10
10
|
/**
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// File generated from our OpenAPI spec by Stainless.
|
|
2
2
|
|
|
3
|
-
import * as Core from '
|
|
4
|
-
import { APIResource } from '
|
|
5
|
-
import * as HRIS from '
|
|
6
|
-
import * as API from './index';
|
|
7
|
-
import { ResponsesPage } from '
|
|
3
|
+
import * as Core from '../../core.js';
|
|
4
|
+
import { APIResource } from '../../resource.js';
|
|
5
|
+
import * as HRIS from './index.js';
|
|
6
|
+
import * as API from './index.js';
|
|
7
|
+
import { ResponsesPage } from '../../pagination.js';
|
|
8
8
|
|
|
9
|
-
export class
|
|
9
|
+
export class Employments extends APIResource {
|
|
10
10
|
/**
|
|
11
11
|
* Read individual employment and income data
|
|
12
12
|
*
|
|
@@ -15,10 +15,10 @@ export class EmploymentData extends APIResource {
|
|
|
15
15
|
* daily, etc, depending on what information the provider returns.
|
|
16
16
|
*/
|
|
17
17
|
retrieveMany(
|
|
18
|
-
body:
|
|
18
|
+
body: EmploymentRetrieveManyParams,
|
|
19
19
|
options?: Core.RequestOptions,
|
|
20
|
-
): Core.PagePromise<
|
|
21
|
-
return this.getAPIList('/employer/employment',
|
|
20
|
+
): Core.PagePromise<EmploymentDataResponsesPage, EmploymentDataResponse> {
|
|
21
|
+
return this.getAPIList('/employer/employment', EmploymentDataResponsesPage, {
|
|
22
22
|
body,
|
|
23
23
|
method: 'post',
|
|
24
24
|
...options,
|
|
@@ -26,9 +26,9 @@ export class EmploymentData extends APIResource {
|
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
export class
|
|
29
|
+
export class EmploymentDataResponsesPage extends ResponsesPage<EmploymentDataResponse> {}
|
|
30
30
|
// alias so we can export it in the namespace
|
|
31
|
-
type
|
|
31
|
+
type _EmploymentDataResponsesPage = EmploymentDataResponsesPage;
|
|
32
32
|
|
|
33
33
|
export interface EmploymentData {
|
|
34
34
|
/**
|
|
@@ -163,14 +163,14 @@ export interface EmploymentDataResponse {
|
|
|
163
163
|
individual_id?: string;
|
|
164
164
|
}
|
|
165
165
|
|
|
166
|
-
export interface
|
|
166
|
+
export interface EmploymentRetrieveManyParams {
|
|
167
167
|
/**
|
|
168
168
|
* The array of batch requests.
|
|
169
169
|
*/
|
|
170
|
-
requests: Array<
|
|
170
|
+
requests: Array<EmploymentRetrieveManyParams.Request>;
|
|
171
171
|
}
|
|
172
172
|
|
|
173
|
-
export namespace
|
|
173
|
+
export namespace EmploymentRetrieveManyParams {
|
|
174
174
|
export interface Request {
|
|
175
175
|
/**
|
|
176
176
|
* A stable Finch `id` (UUID v4) for an individual in the company. There is no
|
|
@@ -181,9 +181,9 @@ export namespace EmploymentDataRetrieveManyParams {
|
|
|
181
181
|
}
|
|
182
182
|
}
|
|
183
183
|
|
|
184
|
-
export namespace
|
|
184
|
+
export namespace Employments {
|
|
185
185
|
export import EmploymentData = API.EmploymentData;
|
|
186
186
|
export import EmploymentDataResponse = API.EmploymentDataResponse;
|
|
187
|
-
export type
|
|
188
|
-
export import
|
|
187
|
+
export type EmploymentDataResponsesPage = _EmploymentDataResponsesPage;
|
|
188
|
+
export import EmploymentRetrieveManyParams = API.EmploymentRetrieveManyParams;
|
|
189
189
|
}
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
// File generated from our OpenAPI spec by Stainless.
|
|
2
2
|
|
|
3
|
-
import { APIResource } from '../../resource';
|
|
4
|
-
import { CompanyResource } from './company';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import
|
|
3
|
+
import { APIResource } from '../../resource.js';
|
|
4
|
+
import { CompanyResource } from './company.js';
|
|
5
|
+
import { Directory } from './directory.js';
|
|
6
|
+
import { Individuals } from './individuals.js';
|
|
7
|
+
import { Employments } from './employments.js';
|
|
8
|
+
import { Payments } from './payments.js';
|
|
9
|
+
import { PayStatements } from './pay-statements.js';
|
|
10
|
+
import { Benefits } from './benefits/benefits.js';
|
|
11
|
+
import * as API from './index.js';
|
|
11
12
|
|
|
12
13
|
export class HRIS extends APIResource {
|
|
13
14
|
company: CompanyResource = new CompanyResource(this.client);
|
|
14
|
-
payments: Payments = new Payments(this.client);
|
|
15
|
-
payStatements: PayStatements = new PayStatements(this.client);
|
|
16
15
|
directory: Directory = new Directory(this.client);
|
|
17
16
|
individuals: Individuals = new Individuals(this.client);
|
|
17
|
+
employments: Employments = new Employments(this.client);
|
|
18
|
+
payments: Payments = new Payments(this.client);
|
|
19
|
+
payStatements: PayStatements = new PayStatements(this.client);
|
|
18
20
|
benefits: Benefits = new Benefits(this.client);
|
|
19
21
|
}
|
|
20
22
|
|
|
@@ -122,6 +124,22 @@ export namespace HRIS {
|
|
|
122
124
|
export import CompanyResource = API.CompanyResource;
|
|
123
125
|
export import Company = API.Company;
|
|
124
126
|
|
|
127
|
+
export import Directory = API.Directory;
|
|
128
|
+
export import IndividualInDirectory = API.IndividualInDirectory;
|
|
129
|
+
export import DirectoryListIndividualsParams = API.DirectoryListIndividualsParams;
|
|
130
|
+
|
|
131
|
+
export import Individuals = API.Individuals;
|
|
132
|
+
export import Individual = API.Individual;
|
|
133
|
+
export import IndividualResponse = API.IndividualResponse;
|
|
134
|
+
export import IndividualResponsesPage = API.IndividualResponsesPage;
|
|
135
|
+
export import IndividualRetrieveManyParams = API.IndividualRetrieveManyParams;
|
|
136
|
+
|
|
137
|
+
export import Employments = API.Employments;
|
|
138
|
+
export import EmploymentData = API.EmploymentData;
|
|
139
|
+
export import EmploymentDataResponse = API.EmploymentDataResponse;
|
|
140
|
+
export import EmploymentDataResponsesPage = API.EmploymentDataResponsesPage;
|
|
141
|
+
export import EmploymentRetrieveManyParams = API.EmploymentRetrieveManyParams;
|
|
142
|
+
|
|
125
143
|
export import Payments = API.Payments;
|
|
126
144
|
export import Payment = API.Payment;
|
|
127
145
|
export import PaymentsSinglePage = API.PaymentsSinglePage;
|
|
@@ -131,19 +149,9 @@ export namespace HRIS {
|
|
|
131
149
|
export import PayStatement = API.PayStatement;
|
|
132
150
|
export import PayStatementResponse = API.PayStatementResponse;
|
|
133
151
|
export import PayStatementResponseBody = API.PayStatementResponseBody;
|
|
134
|
-
export import
|
|
152
|
+
export import PayStatementResponsesPage = API.PayStatementResponsesPage;
|
|
135
153
|
export import PayStatementRetrieveManyParams = API.PayStatementRetrieveManyParams;
|
|
136
154
|
|
|
137
|
-
export import Directory = API.Directory;
|
|
138
|
-
export import IndividualInDirectory = API.IndividualInDirectory;
|
|
139
|
-
export import DirectoryListIndividualsParams = API.DirectoryListIndividualsParams;
|
|
140
|
-
|
|
141
|
-
export import Individuals = API.Individuals;
|
|
142
|
-
export import Individual = API.Individual;
|
|
143
|
-
export import IndividualResponse = API.IndividualResponse;
|
|
144
|
-
export import IndividualResponsesResponsesPage = API.IndividualResponsesResponsesPage;
|
|
145
|
-
export import IndividualRetrieveManyParams = API.IndividualRetrieveManyParams;
|
|
146
|
-
|
|
147
155
|
export import Benefits = API.Benefits;
|
|
148
156
|
export import BenefitFrequency = API.BenefitFrequency;
|
|
149
157
|
export import BenefitType = API.BenefitType;
|
|
@@ -13,23 +13,30 @@ export {
|
|
|
13
13
|
CompanyBenefitsSinglePage,
|
|
14
14
|
SupportedBenefitsSinglePage,
|
|
15
15
|
Benefits,
|
|
16
|
-
} from './benefits/index';
|
|
17
|
-
export { Company, CompanyResource } from './company';
|
|
18
|
-
export {
|
|
16
|
+
} from './benefits/index.js';
|
|
17
|
+
export { Company, CompanyResource } from './company.js';
|
|
18
|
+
export {
|
|
19
|
+
EmploymentData,
|
|
20
|
+
EmploymentDataResponse,
|
|
21
|
+
EmploymentRetrieveManyParams,
|
|
22
|
+
EmploymentDataResponsesPage,
|
|
23
|
+
Employments,
|
|
24
|
+
} from './employments.js';
|
|
25
|
+
export { Income, Location, Money, Paging, HRIS } from './hris.js';
|
|
19
26
|
export {
|
|
20
27
|
Individual,
|
|
21
28
|
IndividualResponse,
|
|
22
29
|
IndividualRetrieveManyParams,
|
|
23
|
-
|
|
30
|
+
IndividualResponsesPage,
|
|
24
31
|
Individuals,
|
|
25
|
-
} from './individuals
|
|
26
|
-
export { IndividualInDirectory, DirectoryListIndividualsParams, Directory } from './directory';
|
|
32
|
+
} from './individuals.js';
|
|
33
|
+
export { IndividualInDirectory, DirectoryListIndividualsParams, Directory } from './directory.js';
|
|
27
34
|
export {
|
|
28
35
|
PayStatement,
|
|
29
36
|
PayStatementResponse,
|
|
30
37
|
PayStatementResponseBody,
|
|
31
38
|
PayStatementRetrieveManyParams,
|
|
32
|
-
|
|
39
|
+
PayStatementResponsesPage,
|
|
33
40
|
PayStatements,
|
|
34
|
-
} from './pay-statements';
|
|
35
|
-
export { Payment, PaymentListParams, PaymentsSinglePage, Payments } from './payments';
|
|
41
|
+
} from './pay-statements.js';
|
|
42
|
+
export { Payment, PaymentListParams, PaymentsSinglePage, Payments } from './payments.js';
|
|
@@ -1,34 +1,29 @@
|
|
|
1
1
|
// File generated from our OpenAPI spec by Stainless.
|
|
2
2
|
|
|
3
|
-
import * as Core from '
|
|
4
|
-
import { APIResource } from '
|
|
5
|
-
import { isRequestOptions } from '
|
|
6
|
-
import * as HRIS from '
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import { ResponsesPage } from '../../../pagination';
|
|
3
|
+
import * as Core from '../../core.js';
|
|
4
|
+
import { APIResource } from '../../resource.js';
|
|
5
|
+
import { isRequestOptions } from '../../core.js';
|
|
6
|
+
import * as HRIS from './index.js';
|
|
7
|
+
import * as API from './index.js';
|
|
8
|
+
import { ResponsesPage } from '../../pagination.js';
|
|
10
9
|
|
|
11
10
|
export class Individuals extends APIResource {
|
|
12
|
-
employmentData: EmploymentData = new EmploymentData(this.client);
|
|
13
|
-
|
|
14
11
|
/**
|
|
15
12
|
* Read individual data, excluding income and employment data
|
|
16
13
|
*/
|
|
17
14
|
retrieveMany(
|
|
18
15
|
body?: IndividualRetrieveManyParams,
|
|
19
16
|
options?: Core.RequestOptions,
|
|
20
|
-
): Core.PagePromise<
|
|
21
|
-
retrieveMany(
|
|
22
|
-
options?: Core.RequestOptions,
|
|
23
|
-
): Core.PagePromise<IndividualResponsesResponsesPage, IndividualResponse>;
|
|
17
|
+
): Core.PagePromise<IndividualResponsesPage, IndividualResponse>;
|
|
18
|
+
retrieveMany(options?: Core.RequestOptions): Core.PagePromise<IndividualResponsesPage, IndividualResponse>;
|
|
24
19
|
retrieveMany(
|
|
25
20
|
body: IndividualRetrieveManyParams | Core.RequestOptions = {},
|
|
26
21
|
options?: Core.RequestOptions,
|
|
27
|
-
): Core.PagePromise<
|
|
22
|
+
): Core.PagePromise<IndividualResponsesPage, IndividualResponse> {
|
|
28
23
|
if (isRequestOptions(body)) {
|
|
29
24
|
return this.retrieveMany({}, body);
|
|
30
25
|
}
|
|
31
|
-
return this.getAPIList('/employer/individual',
|
|
26
|
+
return this.getAPIList('/employer/individual', IndividualResponsesPage, {
|
|
32
27
|
body,
|
|
33
28
|
method: 'post',
|
|
34
29
|
...options,
|
|
@@ -36,9 +31,9 @@ export class Individuals extends APIResource {
|
|
|
36
31
|
}
|
|
37
32
|
}
|
|
38
33
|
|
|
39
|
-
export class
|
|
34
|
+
export class IndividualResponsesPage extends ResponsesPage<IndividualResponse> {}
|
|
40
35
|
// alias so we can export it in the namespace
|
|
41
|
-
type
|
|
36
|
+
type _IndividualResponsesPage = IndividualResponsesPage;
|
|
42
37
|
|
|
43
38
|
export interface Individual {
|
|
44
39
|
/**
|
|
@@ -127,11 +122,6 @@ export namespace IndividualRetrieveManyParams {
|
|
|
127
122
|
export namespace Individuals {
|
|
128
123
|
export import Individual = API.Individual;
|
|
129
124
|
export import IndividualResponse = API.IndividualResponse;
|
|
130
|
-
export type
|
|
125
|
+
export type IndividualResponsesPage = _IndividualResponsesPage;
|
|
131
126
|
export import IndividualRetrieveManyParams = API.IndividualRetrieveManyParams;
|
|
132
|
-
|
|
133
|
-
export import EmploymentData = API.EmploymentData;
|
|
134
|
-
export import EmploymentDataResponse = API.EmploymentDataResponse;
|
|
135
|
-
export import EmploymentDataResponsesResponsesPage = API.EmploymentDataResponsesResponsesPage;
|
|
136
|
-
export import EmploymentDataRetrieveManyParams = API.EmploymentDataRetrieveManyParams;
|
|
137
127
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// File generated from our OpenAPI spec by Stainless.
|
|
2
2
|
|
|
3
|
-
import * as Core from '../../core';
|
|
4
|
-
import { APIResource } from '../../resource';
|
|
5
|
-
import * as HRIS from './index';
|
|
6
|
-
import * as Benefits from './benefits/index';
|
|
7
|
-
import * as API from './index';
|
|
8
|
-
import { ResponsesPage } from '../../pagination';
|
|
3
|
+
import * as Core from '../../core.js';
|
|
4
|
+
import { APIResource } from '../../resource.js';
|
|
5
|
+
import * as HRIS from './index.js';
|
|
6
|
+
import * as Benefits from './benefits/index.js';
|
|
7
|
+
import * as API from './index.js';
|
|
8
|
+
import { ResponsesPage } from '../../pagination.js';
|
|
9
9
|
|
|
10
10
|
export class PayStatements extends APIResource {
|
|
11
11
|
/**
|
|
@@ -17,8 +17,8 @@ export class PayStatements extends APIResource {
|
|
|
17
17
|
retrieveMany(
|
|
18
18
|
body: PayStatementRetrieveManyParams,
|
|
19
19
|
options?: Core.RequestOptions,
|
|
20
|
-
): Core.PagePromise<
|
|
21
|
-
return this.getAPIList('/employer/pay-statement',
|
|
20
|
+
): Core.PagePromise<PayStatementResponsesPage, PayStatementResponse> {
|
|
21
|
+
return this.getAPIList('/employer/pay-statement', PayStatementResponsesPage, {
|
|
22
22
|
body,
|
|
23
23
|
method: 'post',
|
|
24
24
|
...options,
|
|
@@ -26,9 +26,9 @@ export class PayStatements extends APIResource {
|
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
export class
|
|
29
|
+
export class PayStatementResponsesPage extends ResponsesPage<PayStatementResponse> {}
|
|
30
30
|
// alias so we can export it in the namespace
|
|
31
|
-
type
|
|
31
|
+
type _PayStatementResponsesPage = PayStatementResponsesPage;
|
|
32
32
|
|
|
33
33
|
export interface PayStatement {
|
|
34
34
|
/**
|
|
@@ -240,6 +240,6 @@ export namespace PayStatements {
|
|
|
240
240
|
export import PayStatement = API.PayStatement;
|
|
241
241
|
export import PayStatementResponse = API.PayStatementResponse;
|
|
242
242
|
export import PayStatementResponseBody = API.PayStatementResponseBody;
|
|
243
|
-
export type
|
|
243
|
+
export type PayStatementResponsesPage = _PayStatementResponsesPage;
|
|
244
244
|
export import PayStatementRetrieveManyParams = API.PayStatementRetrieveManyParams;
|
|
245
245
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// File generated from our OpenAPI spec by Stainless.
|
|
2
2
|
|
|
3
|
-
import * as Core from '../../core';
|
|
4
|
-
import { APIResource } from '../../resource';
|
|
5
|
-
import * as HRIS from './index';
|
|
6
|
-
import * as API from './index';
|
|
7
|
-
import { SinglePage } from '../../pagination';
|
|
3
|
+
import * as Core from '../../core.js';
|
|
4
|
+
import { APIResource } from '../../resource.js';
|
|
5
|
+
import * as HRIS from './index.js';
|
|
6
|
+
import * as API from './index.js';
|
|
7
|
+
import { SinglePage } from '../../pagination.js';
|
|
8
8
|
|
|
9
9
|
export class Payments extends APIResource {
|
|
10
10
|
/**
|
package/src/resources/index.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// File generated from our OpenAPI spec by Stainless.
|
|
2
2
|
|
|
3
|
-
export {} from './top-level';
|
|
4
|
-
export { ATS } from './ats/ats';
|
|
5
|
-
export { DisconnectResponse, Introspection, Account } from './account';
|
|
6
|
-
export { Income, Location, Money, Paging, HRIS } from './hris/hris';
|
|
7
|
-
export { Provider, ProvidersSinglePage, Providers } from './providers';
|
|
3
|
+
export {} from './top-level.js';
|
|
4
|
+
export { ATS } from './ats/ats.js';
|
|
5
|
+
export { DisconnectResponse, Introspection, Account } from './account.js';
|
|
6
|
+
export { Income, Location, Money, Paging, HRIS } from './hris/hris.js';
|
|
7
|
+
export { Provider, ProvidersSinglePage, Providers } from './providers.js';
|
|
8
|
+
export { Webhooks } from './webhooks.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// File generated from our OpenAPI spec by Stainless.
|
|
2
2
|
|
|
3
|
-
import * as Core from '../core';
|
|
4
|
-
import { APIResource } from '../resource';
|
|
5
|
-
import * as API from './index';
|
|
6
|
-
import { SinglePage } from '../pagination';
|
|
3
|
+
import * as Core from '../core.js';
|
|
4
|
+
import { APIResource } from '../resource.js';
|
|
5
|
+
import * as API from './index.js';
|
|
6
|
+
import { SinglePage } from '../pagination.js';
|
|
7
7
|
|
|
8
8
|
export class Providers extends APIResource {
|
|
9
9
|
/**
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless.
|
|
2
|
+
|
|
3
|
+
import { APIResource } from '../resource.js';
|
|
4
|
+
import { createHmac } from 'crypto';
|
|
5
|
+
import { getHeader, HeadersLike } from '../core.js';
|
|
6
|
+
|
|
7
|
+
export class Webhooks extends APIResource {
|
|
8
|
+
/**
|
|
9
|
+
* Validates that the given payload was sent by Finch and parses the payload.
|
|
10
|
+
*/
|
|
11
|
+
unwrap(
|
|
12
|
+
payload: string,
|
|
13
|
+
headers: HeadersLike,
|
|
14
|
+
secret: string | undefined | null = this.client.webhookSecret,
|
|
15
|
+
): Object {
|
|
16
|
+
this.verifySignature(payload, headers, secret);
|
|
17
|
+
return JSON.parse(payload);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
private parseSecret(secret: string | null | undefined): Uint8Array {
|
|
21
|
+
if (!secret) {
|
|
22
|
+
throw new Error(
|
|
23
|
+
"The webhook secret must either be set using the env var, FINCH_WEBHOOK_SECRET, on the client class, Finch({ webhook_secret: '123' }), or passed to this function",
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const buf = Buffer.from(secret, 'base64');
|
|
28
|
+
if (buf.toString('base64') !== secret) {
|
|
29
|
+
throw new Error(`Given secret is not valid`);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return new Uint8Array(buf);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
private signPayload(
|
|
36
|
+
payload: string,
|
|
37
|
+
{ eventId, timestamp, secret }: { eventId: string; timestamp: Date; secret: Uint8Array },
|
|
38
|
+
) {
|
|
39
|
+
const encoder = new TextEncoder();
|
|
40
|
+
const toSign = encoder.encode(`${eventId}.${timestamp.getTime() / 1000}.${payload}`);
|
|
41
|
+
|
|
42
|
+
const hmac = createHmac('sha256', secret);
|
|
43
|
+
hmac.update(toSign);
|
|
44
|
+
|
|
45
|
+
return `v1,${hmac.digest('base64')}`;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/** Make an assertion, if not `true`, then throw. */
|
|
49
|
+
private assert(expr: unknown, msg = ''): asserts expr {
|
|
50
|
+
if (!expr) {
|
|
51
|
+
throw new Error(msg);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/** Compare to array buffers or data views in a way that timing based attacks
|
|
56
|
+
* cannot gain information about the platform. */
|
|
57
|
+
private timingSafeEqual(
|
|
58
|
+
a: ArrayBufferView | ArrayBufferLike | DataView,
|
|
59
|
+
b: ArrayBufferView | ArrayBufferLike | DataView,
|
|
60
|
+
): boolean {
|
|
61
|
+
if (a.byteLength !== b.byteLength) {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
if (!(a instanceof DataView)) {
|
|
65
|
+
a = new DataView(ArrayBuffer.isView(a) ? a.buffer : a);
|
|
66
|
+
}
|
|
67
|
+
if (!(b instanceof DataView)) {
|
|
68
|
+
b = new DataView(ArrayBuffer.isView(b) ? b.buffer : b);
|
|
69
|
+
}
|
|
70
|
+
this.assert(a instanceof DataView);
|
|
71
|
+
this.assert(b instanceof DataView);
|
|
72
|
+
const length = a.byteLength;
|
|
73
|
+
let out = 0;
|
|
74
|
+
let i = -1;
|
|
75
|
+
while (++i < length) {
|
|
76
|
+
out |= a.getUint8(i) ^ b.getUint8(i);
|
|
77
|
+
}
|
|
78
|
+
return out === 0;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Validates whether or not the webhook payload was sent by Finch.
|
|
83
|
+
*
|
|
84
|
+
* An error will be raised if the webhook payload was not sent by Finch.
|
|
85
|
+
*/
|
|
86
|
+
verifySignature(
|
|
87
|
+
body: string,
|
|
88
|
+
headers: HeadersLike,
|
|
89
|
+
secret: string | undefined | null = this.client.webhookSecret,
|
|
90
|
+
): void {
|
|
91
|
+
const parsedSecret = this.parseSecret(secret);
|
|
92
|
+
|
|
93
|
+
const eventId = getHeader(headers, 'finch-event-id');
|
|
94
|
+
if (!eventId) {
|
|
95
|
+
throw new Error('Could not find finch-event-id header');
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
const msgTimestamp = getHeader(headers, 'finch-timestamp');
|
|
99
|
+
if (!msgTimestamp) {
|
|
100
|
+
throw new Error('Could not find finch-timestamp header');
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
const msgSignature = getHeader(headers, 'finch-signature');
|
|
104
|
+
if (!msgSignature) {
|
|
105
|
+
throw new Error('Could not find finch-signature header');
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
const now = Math.floor(Date.now() / 1000);
|
|
109
|
+
const timestampSeconds = parseInt(msgTimestamp, 10);
|
|
110
|
+
if (isNaN(timestampSeconds)) {
|
|
111
|
+
throw new Error(`Invalid timestamp header: ${msgTimestamp}`);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
if (typeof body !== 'string') {
|
|
115
|
+
throw new Error(
|
|
116
|
+
'Webhook body must be passed as the raw JSON string sent from the server (do not parse it first).',
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
const webhook_tolerance_in_seconds = 5 * 60; // 5 minutes
|
|
121
|
+
if (now - timestampSeconds > webhook_tolerance_in_seconds) {
|
|
122
|
+
throw new Error('Webhook timestamp is too old');
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
if (timestampSeconds > now + webhook_tolerance_in_seconds) {
|
|
126
|
+
throw new Error('Webhook timestamp is too new');
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
const timestamp = new Date(timestampSeconds * 1000);
|
|
130
|
+
|
|
131
|
+
const computedSignature = this.signPayload(body, { eventId, timestamp, secret: parsedSecret });
|
|
132
|
+
const expectedSignature = computedSignature.split(',')[1];
|
|
133
|
+
|
|
134
|
+
const passedSignatures = msgSignature.split(' ');
|
|
135
|
+
|
|
136
|
+
const encoder = new globalThis.TextEncoder();
|
|
137
|
+
for (const versionedSignature of passedSignatures) {
|
|
138
|
+
const [version, signature] = versionedSignature.split(',');
|
|
139
|
+
if (version !== 'v1') {
|
|
140
|
+
continue;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if (this.timingSafeEqual(encoder.encode(signature), encoder.encode(expectedSignature))) {
|
|
144
|
+
// valid!
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
throw new Error('None of the given webhook signatures match the expected signature');
|
|
150
|
+
}
|
|
151
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
// this config is included in the published src directory to prevent TS errors
|
|
3
|
+
// from appearing when users go to source, and VSCode opens the source .ts file
|
|
4
|
+
// via declaration maps
|
|
5
|
+
"include": ["index.ts"],
|
|
6
|
+
"compilerOptions": {
|
|
7
|
+
"target": "es2015",
|
|
8
|
+
"lib": ["DOM"],
|
|
9
|
+
"moduleResolution": "node"
|
|
10
|
+
}
|
|
11
|
+
}
|
package/src/uploads.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { type RequestOptions } from './core';
|
|
2
|
-
import { type Readable } from './_shims/node-readable';
|
|
1
|
+
import { type RequestOptions } from './core.js';
|
|
2
|
+
import { type Readable } from './_shims/node-readable.js';
|
|
3
3
|
import { type BodyInit } from './_shims/fetch.js';
|
|
4
|
-
import { FormData, File, type Blob, type FilePropertyBag } from './_shims/
|
|
5
|
-
import { getMultipartRequestOptions } from './_shims/getMultipartRequestOptions';
|
|
6
|
-
import { fileFromPath } from './_shims/fileFromPath';
|
|
7
|
-
import { type FsReadStream, isFsReadStream } from './_shims/node-readable';
|
|
4
|
+
import { FormData, File, type Blob, type FilePropertyBag } from './_shims/form-data.js';
|
|
5
|
+
import { getMultipartRequestOptions } from './_shims/getMultipartRequestOptions.js';
|
|
6
|
+
import { fileFromPath } from './_shims/fileFromPath.js';
|
|
7
|
+
import { type FsReadStream, isFsReadStream } from './_shims/node-readable.js';
|
|
8
8
|
|
|
9
9
|
export { fileFromPath };
|
|
10
10
|
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const VERSION = '
|
|
1
|
+
export const VERSION = '5.1.0'; // x-release-please-version
|
package/uploads.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type RequestOptions } from './core.js';
|
|
2
2
|
import { type Readable } from '@tryfinch/finch-api/_shims/node-readable';
|
|
3
3
|
import { type BodyInit } from '@tryfinch/finch-api/_shims/fetch';
|
|
4
|
-
import { FormData, type Blob, type FilePropertyBag } from '@tryfinch/finch-api/_shims/
|
|
4
|
+
import { FormData, type Blob, type FilePropertyBag } from '@tryfinch/finch-api/_shims/form-data';
|
|
5
5
|
import { fileFromPath } from '@tryfinch/finch-api/_shims/fileFromPath';
|
|
6
6
|
import { type FsReadStream } from '@tryfinch/finch-api/_shims/node-readable';
|
|
7
7
|
export { fileFromPath };
|