@limrun/api 0.12.0 → 0.13.1
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 +26 -0
- package/client.d.mts +10 -4
- package/client.d.mts.map +1 -1
- package/client.d.ts +10 -4
- package/client.d.ts.map +1 -1
- package/client.js +8 -0
- package/client.js.map +1 -1
- package/client.mjs +8 -0
- package/client.mjs.map +1 -1
- package/core/pagination.d.mts +55 -0
- package/core/pagination.d.mts.map +1 -0
- package/core/pagination.d.ts +55 -0
- package/core/pagination.d.ts.map +1 -0
- package/core/pagination.js +115 -0
- package/core/pagination.js.map +1 -0
- package/core/pagination.mjs +109 -0
- package/core/pagination.mjs.map +1 -0
- package/index.d.mts +1 -0
- package/index.d.mts.map +1 -1
- package/index.d.ts +1 -0
- package/index.d.ts.map +1 -1
- package/index.js +3 -1
- package/index.js.map +1 -1
- package/index.mjs +1 -0
- package/index.mjs.map +1 -1
- package/package.json +11 -1
- package/pagination.d.mts +2 -0
- package/pagination.d.mts.map +1 -0
- package/pagination.d.ts +2 -0
- package/pagination.d.ts.map +1 -0
- package/pagination.js +6 -0
- package/pagination.js.map +1 -0
- package/pagination.mjs +2 -0
- package/pagination.mjs.map +1 -0
- package/resources/android-instances-helpers.js +2 -2
- package/resources/android-instances-helpers.js.map +1 -1
- package/resources/android-instances-helpers.mjs +2 -2
- package/resources/android-instances-helpers.mjs.map +1 -1
- package/resources/android-instances.d.mts +18 -11
- package/resources/android-instances.d.mts.map +1 -1
- package/resources/android-instances.d.ts +18 -11
- package/resources/android-instances.d.ts.map +1 -1
- package/resources/android-instances.js +4 -3
- package/resources/android-instances.js.map +1 -1
- package/resources/android-instances.mjs +4 -3
- package/resources/android-instances.mjs.map +1 -1
- package/resources/index.d.mts +2 -2
- package/resources/index.d.mts.map +1 -1
- package/resources/index.d.ts +2 -2
- package/resources/index.d.ts.map +1 -1
- package/resources/ios-instances.d.mts +18 -11
- package/resources/ios-instances.d.mts.map +1 -1
- package/resources/ios-instances.d.ts +18 -11
- package/resources/ios-instances.d.ts.map +1 -1
- package/resources/ios-instances.js +4 -3
- package/resources/ios-instances.js.map +1 -1
- package/resources/ios-instances.mjs +4 -3
- package/resources/ios-instances.mjs.map +1 -1
- package/src/client.ts +28 -4
- package/src/core/pagination.ts +167 -0
- package/src/index.ts +1 -0
- package/src/pagination.ts +2 -0
- package/src/resources/android-instances-helpers.ts +2 -2
- package/src/resources/android-instances.ts +24 -16
- package/src/resources/index.ts +2 -2
- package/src/resources/ios-instances.ts +24 -16
- package/src/version.ts +1 -1
- package/version.d.mts +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/version.mjs +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"android-instances.js","sourceRoot":"","sources":["../src/resources/android-instances.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,kDAA+C;AAE/C,oDAAmD;AAEnD,oDAA8C;AAE9C,MAAa,gBAAiB,SAAQ,sBAAW;IAC/C;;OAEG;IACH,MAAM,CAAC,MAAmC,EAAE,OAAwB;QAClE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"android-instances.js","sourceRoot":"","sources":["../src/resources/android-instances.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,kDAA+C;AAE/C,sDAA0E;AAC1E,oDAAmD;AAEnD,oDAA8C;AAE9C,MAAa,gBAAiB,SAAQ,sBAAW;IAC/C;;OAEG;IACH,MAAM,CAAC,MAAmC,EAAE,OAAwB;QAClE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAChD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC1G,CAAC;IAED;;OAEG;IACH,IAAI,CACF,QAAsD,EAAE,EACxD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAA,kBAAsB,CAAA,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACzG,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,EAAU,EAAE,OAAwB;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAA,WAAI,EAAA,yBAAyB,EAAE,EAAE,EAAE;YAC5D,GAAG,OAAO;YACV,OAAO,EAAE,IAAA,sBAAY,EAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,EAAU,EAAE,OAAwB;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,WAAI,EAAA,yBAAyB,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;CACF;AAnCD,4CAmCC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
import { APIResource } from "../core/resource.mjs";
|
|
3
|
+
import { Items } from "../core/pagination.mjs";
|
|
3
4
|
import { buildHeaders } from "../internal/headers.mjs";
|
|
4
5
|
import { path } from "../internal/utils/path.mjs";
|
|
5
6
|
export class AndroidInstances extends APIResource {
|
|
@@ -7,14 +8,14 @@ export class AndroidInstances extends APIResource {
|
|
|
7
8
|
* Create an Android instance
|
|
8
9
|
*/
|
|
9
10
|
create(params, options) {
|
|
10
|
-
const { wait, ...body } = params;
|
|
11
|
-
return this._client.post('/v1/android_instances', { query: { wait }, body, ...options });
|
|
11
|
+
const { reuseIfExists, wait, ...body } = params;
|
|
12
|
+
return this._client.post('/v1/android_instances', { query: { reuseIfExists, wait }, body, ...options });
|
|
12
13
|
}
|
|
13
14
|
/**
|
|
14
15
|
* List Android instances
|
|
15
16
|
*/
|
|
16
17
|
list(query = {}, options) {
|
|
17
|
-
return this._client.
|
|
18
|
+
return this._client.getAPIList('/v1/android_instances', (Items), { query, ...options });
|
|
18
19
|
}
|
|
19
20
|
/**
|
|
20
21
|
* Delete Android instance with given name
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"android-instances.mjs","sourceRoot":"","sources":["../src/resources/android-instances.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;OAEf,EAAE,YAAY,EAAE;OAEhB,EAAE,IAAI,EAAE;AAEf,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IAC/C;;OAEG;IACH,MAAM,CAAC,MAAmC,EAAE,OAAwB;QAClE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"android-instances.mjs","sourceRoot":"","sources":["../src/resources/android-instances.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;OAEf,EAAE,KAAK,EAAiC;OACxC,EAAE,YAAY,EAAE;OAEhB,EAAE,IAAI,EAAE;AAEf,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IAC/C;;OAEG;IACH,MAAM,CAAC,MAAmC,EAAE,OAAwB;QAClE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAChD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC1G,CAAC;IAED;;OAEG;IACH,IAAI,CACF,QAAsD,EAAE,EACxD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAA,KAAsB,CAAA,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACzG,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,EAAU,EAAE,OAAwB;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAA,yBAAyB,EAAE,EAAE,EAAE;YAC5D,GAAG,OAAO;YACV,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,EAAU,EAAE,OAAwB;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA,yBAAyB,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;CACF"}
|
package/resources/index.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { type AndroidInstance, type
|
|
1
|
+
export { type AndroidInstance, type AndroidInstanceCreateParams, type AndroidInstanceListParams, type AndroidInstancesItems, } from "./android-instances.mjs";
|
|
2
2
|
export { type Asset, type AssetListResponse, type AssetGetOrCreateResponse, type AssetListParams, type AssetGetParams, type AssetGetOrCreateParams, } from "./assets.mjs";
|
|
3
|
-
export { IosInstances, type IosInstance, type
|
|
3
|
+
export { IosInstances, type IosInstance, type IosInstanceCreateParams, type IosInstanceListParams, type IosInstancesItems, } from "./ios-instances.mjs";
|
|
4
4
|
export { AndroidInstances } from "./android-instances-helpers.mjs";
|
|
5
5
|
export { Assets, AssetGetOrUploadParams, AssetGetOrUploadResponse } from "./assets-helpers.mjs";
|
|
6
6
|
//# sourceMappingURL=index.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":"OAEO,EACL,KAAK,eAAe,EACpB,KAAK,2BAA2B,EAChC,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.mts","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":"OAEO,EACL,KAAK,eAAe,EACpB,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,GAC3B;OACM,EACL,KAAK,KAAK,EACV,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,sBAAsB,GAC5B;OACM,EACL,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,GACvB;OAEM,EAAE,gBAAgB,EAAE;OAEpB,EAAE,MAAM,EAAE,sBAAsB,EAAE,wBAAwB,EAAE"}
|
package/resources/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { type AndroidInstance, type
|
|
1
|
+
export { type AndroidInstance, type AndroidInstanceCreateParams, type AndroidInstanceListParams, type AndroidInstancesItems, } from "./android-instances.js";
|
|
2
2
|
export { type Asset, type AssetListResponse, type AssetGetOrCreateResponse, type AssetListParams, type AssetGetParams, type AssetGetOrCreateParams, } from "./assets.js";
|
|
3
|
-
export { IosInstances, type IosInstance, type
|
|
3
|
+
export { IosInstances, type IosInstance, type IosInstanceCreateParams, type IosInstanceListParams, type IosInstancesItems, } from "./ios-instances.js";
|
|
4
4
|
export { AndroidInstances } from "./android-instances-helpers.js";
|
|
5
5
|
export { Assets, AssetGetOrUploadParams, AssetGetOrUploadResponse } from "./assets-helpers.js";
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
package/resources/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":"OAEO,EACL,KAAK,eAAe,EACpB,KAAK,2BAA2B,EAChC,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/resources/index.ts"],"names":[],"mappings":"OAEO,EACL,KAAK,eAAe,EACpB,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,GAC3B;OACM,EACL,KAAK,KAAK,EACV,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,sBAAsB,GAC5B;OACM,EACL,YAAY,EACZ,KAAK,WAAW,EAChB,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,GACvB;OAEM,EAAE,gBAAgB,EAAE;OAEpB,EAAE,MAAM,EAAE,sBAAsB,EAAE,wBAAwB,EAAE"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { APIResource } from "../core/resource.mjs";
|
|
2
2
|
import { APIPromise } from "../core/api-promise.mjs";
|
|
3
|
+
import { Items, type ItemsParams, PagePromise } from "../core/pagination.mjs";
|
|
3
4
|
import { RequestOptions } from "../internal/request-options.mjs";
|
|
4
5
|
export declare class IosInstances extends APIResource {
|
|
5
6
|
/**
|
|
@@ -9,7 +10,7 @@ export declare class IosInstances extends APIResource {
|
|
|
9
10
|
/**
|
|
10
11
|
* List iOS instances
|
|
11
12
|
*/
|
|
12
|
-
list(query?: IosInstanceListParams | null | undefined, options?: RequestOptions):
|
|
13
|
+
list(query?: IosInstanceListParams | null | undefined, options?: RequestOptions): PagePromise<IosInstancesItems, IosInstance>;
|
|
13
14
|
/**
|
|
14
15
|
* Delete iOS instance with given name
|
|
15
16
|
*/
|
|
@@ -19,6 +20,7 @@ export declare class IosInstances extends APIResource {
|
|
|
19
20
|
*/
|
|
20
21
|
get(id: string, options?: RequestOptions): APIPromise<IosInstance>;
|
|
21
22
|
}
|
|
23
|
+
export type IosInstancesItems = Items<IosInstance>;
|
|
22
24
|
export interface IosInstance {
|
|
23
25
|
metadata: IosInstance.Metadata;
|
|
24
26
|
spec: IosInstance.Spec;
|
|
@@ -60,8 +62,12 @@ export declare namespace IosInstance {
|
|
|
60
62
|
portForwardWebSocketUrl?: string;
|
|
61
63
|
}
|
|
62
64
|
}
|
|
63
|
-
export type IosInstanceListResponse = Array<IosInstance>;
|
|
64
65
|
export interface IosInstanceCreateParams {
|
|
66
|
+
/**
|
|
67
|
+
* Query param: If there is another instance with given labels and region, return
|
|
68
|
+
* that one instead of creating a new instance.
|
|
69
|
+
*/
|
|
70
|
+
reuseIfExists?: boolean;
|
|
65
71
|
/**
|
|
66
72
|
* Query param: Return after the instance is ready to connect.
|
|
67
73
|
*/
|
|
@@ -109,7 +115,8 @@ export declare namespace IosInstanceCreateParams {
|
|
|
109
115
|
}
|
|
110
116
|
interface InitialAsset {
|
|
111
117
|
kind: 'App';
|
|
112
|
-
source: 'URL' | 'AssetName';
|
|
118
|
+
source: 'URL' | 'AssetName' | 'AssetID';
|
|
119
|
+
assetId?: string;
|
|
113
120
|
assetName?: string;
|
|
114
121
|
/**
|
|
115
122
|
* Launch mode specifies how to launch the app after installation. If not given,
|
|
@@ -120,26 +127,26 @@ export declare namespace IosInstanceCreateParams {
|
|
|
120
127
|
}
|
|
121
128
|
}
|
|
122
129
|
}
|
|
123
|
-
export interface IosInstanceListParams {
|
|
130
|
+
export interface IosInstanceListParams extends ItemsParams {
|
|
124
131
|
/**
|
|
125
132
|
* Labels filter to apply to instances to return. Expects a comma-separated list of
|
|
126
133
|
* key=value pairs (e.g., env=prod,region=us-west).
|
|
127
134
|
*/
|
|
128
135
|
labelSelector?: string;
|
|
129
|
-
/**
|
|
130
|
-
* Maximum number of items to be returned. The default is 50.
|
|
131
|
-
*/
|
|
132
|
-
limit?: number;
|
|
133
136
|
/**
|
|
134
137
|
* Region where the instance is scheduled on.
|
|
135
138
|
*/
|
|
136
139
|
region?: string;
|
|
137
140
|
/**
|
|
138
|
-
* State filter to apply to instances to return.
|
|
141
|
+
* State filter to apply to Android instances to return. Each comma-separated state
|
|
142
|
+
* will be used as part of an OR clause, e.g. "assigned,ready" will return all
|
|
143
|
+
* instances that are either assigned or ready.
|
|
144
|
+
*
|
|
145
|
+
* Valid states: creating, assigned, ready, terminated, unknown
|
|
139
146
|
*/
|
|
140
|
-
state?:
|
|
147
|
+
state?: string;
|
|
141
148
|
}
|
|
142
149
|
export declare namespace IosInstances {
|
|
143
|
-
export { type IosInstance as IosInstance, type
|
|
150
|
+
export { type IosInstance as IosInstance, type IosInstancesItems as IosInstancesItems, type IosInstanceCreateParams as IosInstanceCreateParams, type IosInstanceListParams as IosInstanceListParams, };
|
|
144
151
|
}
|
|
145
152
|
//# sourceMappingURL=ios-instances.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ios-instances.d.mts","sourceRoot":"","sources":["../src/resources/ios-instances.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,EAAE,UAAU,EAAE;
|
|
1
|
+
{"version":3,"file":"ios-instances.d.mts","sourceRoot":"","sources":["../src/resources/ios-instances.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { APIResource } from "../core/resource.js";
|
|
2
2
|
import { APIPromise } from "../core/api-promise.js";
|
|
3
|
+
import { Items, type ItemsParams, PagePromise } from "../core/pagination.js";
|
|
3
4
|
import { RequestOptions } from "../internal/request-options.js";
|
|
4
5
|
export declare class IosInstances extends APIResource {
|
|
5
6
|
/**
|
|
@@ -9,7 +10,7 @@ export declare class IosInstances extends APIResource {
|
|
|
9
10
|
/**
|
|
10
11
|
* List iOS instances
|
|
11
12
|
*/
|
|
12
|
-
list(query?: IosInstanceListParams | null | undefined, options?: RequestOptions):
|
|
13
|
+
list(query?: IosInstanceListParams | null | undefined, options?: RequestOptions): PagePromise<IosInstancesItems, IosInstance>;
|
|
13
14
|
/**
|
|
14
15
|
* Delete iOS instance with given name
|
|
15
16
|
*/
|
|
@@ -19,6 +20,7 @@ export declare class IosInstances extends APIResource {
|
|
|
19
20
|
*/
|
|
20
21
|
get(id: string, options?: RequestOptions): APIPromise<IosInstance>;
|
|
21
22
|
}
|
|
23
|
+
export type IosInstancesItems = Items<IosInstance>;
|
|
22
24
|
export interface IosInstance {
|
|
23
25
|
metadata: IosInstance.Metadata;
|
|
24
26
|
spec: IosInstance.Spec;
|
|
@@ -60,8 +62,12 @@ export declare namespace IosInstance {
|
|
|
60
62
|
portForwardWebSocketUrl?: string;
|
|
61
63
|
}
|
|
62
64
|
}
|
|
63
|
-
export type IosInstanceListResponse = Array<IosInstance>;
|
|
64
65
|
export interface IosInstanceCreateParams {
|
|
66
|
+
/**
|
|
67
|
+
* Query param: If there is another instance with given labels and region, return
|
|
68
|
+
* that one instead of creating a new instance.
|
|
69
|
+
*/
|
|
70
|
+
reuseIfExists?: boolean;
|
|
65
71
|
/**
|
|
66
72
|
* Query param: Return after the instance is ready to connect.
|
|
67
73
|
*/
|
|
@@ -109,7 +115,8 @@ export declare namespace IosInstanceCreateParams {
|
|
|
109
115
|
}
|
|
110
116
|
interface InitialAsset {
|
|
111
117
|
kind: 'App';
|
|
112
|
-
source: 'URL' | 'AssetName';
|
|
118
|
+
source: 'URL' | 'AssetName' | 'AssetID';
|
|
119
|
+
assetId?: string;
|
|
113
120
|
assetName?: string;
|
|
114
121
|
/**
|
|
115
122
|
* Launch mode specifies how to launch the app after installation. If not given,
|
|
@@ -120,26 +127,26 @@ export declare namespace IosInstanceCreateParams {
|
|
|
120
127
|
}
|
|
121
128
|
}
|
|
122
129
|
}
|
|
123
|
-
export interface IosInstanceListParams {
|
|
130
|
+
export interface IosInstanceListParams extends ItemsParams {
|
|
124
131
|
/**
|
|
125
132
|
* Labels filter to apply to instances to return. Expects a comma-separated list of
|
|
126
133
|
* key=value pairs (e.g., env=prod,region=us-west).
|
|
127
134
|
*/
|
|
128
135
|
labelSelector?: string;
|
|
129
|
-
/**
|
|
130
|
-
* Maximum number of items to be returned. The default is 50.
|
|
131
|
-
*/
|
|
132
|
-
limit?: number;
|
|
133
136
|
/**
|
|
134
137
|
* Region where the instance is scheduled on.
|
|
135
138
|
*/
|
|
136
139
|
region?: string;
|
|
137
140
|
/**
|
|
138
|
-
* State filter to apply to instances to return.
|
|
141
|
+
* State filter to apply to Android instances to return. Each comma-separated state
|
|
142
|
+
* will be used as part of an OR clause, e.g. "assigned,ready" will return all
|
|
143
|
+
* instances that are either assigned or ready.
|
|
144
|
+
*
|
|
145
|
+
* Valid states: creating, assigned, ready, terminated, unknown
|
|
139
146
|
*/
|
|
140
|
-
state?:
|
|
147
|
+
state?: string;
|
|
141
148
|
}
|
|
142
149
|
export declare namespace IosInstances {
|
|
143
|
-
export { type IosInstance as IosInstance, type
|
|
150
|
+
export { type IosInstance as IosInstance, type IosInstancesItems as IosInstancesItems, type IosInstanceCreateParams as IosInstanceCreateParams, type IosInstanceListParams as IosInstanceListParams, };
|
|
144
151
|
}
|
|
145
152
|
//# sourceMappingURL=ios-instances.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ios-instances.d.ts","sourceRoot":"","sources":["../src/resources/ios-instances.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,EAAE,UAAU,EAAE;
|
|
1
|
+
{"version":3,"file":"ios-instances.d.ts","sourceRoot":"","sources":["../src/resources/ios-instances.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.IosInstances = void 0;
|
|
5
5
|
const resource_1 = require("../core/resource.js");
|
|
6
|
+
const pagination_1 = require("../core/pagination.js");
|
|
6
7
|
const headers_1 = require("../internal/headers.js");
|
|
7
8
|
const path_1 = require("../internal/utils/path.js");
|
|
8
9
|
class IosInstances extends resource_1.APIResource {
|
|
@@ -10,14 +11,14 @@ class IosInstances extends resource_1.APIResource {
|
|
|
10
11
|
* Create an iOS instance
|
|
11
12
|
*/
|
|
12
13
|
create(params, options) {
|
|
13
|
-
const { wait, ...body } = params;
|
|
14
|
-
return this._client.post('/v1/ios_instances', { query: { wait }, body, ...options });
|
|
14
|
+
const { reuseIfExists, wait, ...body } = params;
|
|
15
|
+
return this._client.post('/v1/ios_instances', { query: { reuseIfExists, wait }, body, ...options });
|
|
15
16
|
}
|
|
16
17
|
/**
|
|
17
18
|
* List iOS instances
|
|
18
19
|
*/
|
|
19
20
|
list(query = {}, options) {
|
|
20
|
-
return this._client.
|
|
21
|
+
return this._client.getAPIList('/v1/ios_instances', (pagination_1.Items), { query, ...options });
|
|
21
22
|
}
|
|
22
23
|
/**
|
|
23
24
|
* Delete iOS instance with given name
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ios-instances.js","sourceRoot":"","sources":["../src/resources/ios-instances.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,kDAA+C;AAE/C,oDAAmD;AAEnD,oDAA8C;AAE9C,MAAa,YAAa,SAAQ,sBAAW;IAC3C;;OAEG;IACH,MAAM,CAAC,MAA+B,EAAE,OAAwB;QAC9D,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ios-instances.js","sourceRoot":"","sources":["../src/resources/ios-instances.ts"],"names":[],"mappings":";AAAA,sFAAsF;;;AAEtF,kDAA+C;AAE/C,sDAA0E;AAC1E,oDAAmD;AAEnD,oDAA8C;AAE9C,MAAa,YAAa,SAAQ,sBAAW;IAC3C;;OAEG;IACH,MAAM,CAAC,MAA+B,EAAE,OAAwB;QAC9D,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAChD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACtG,CAAC;IAED;;OAEG;IACH,IAAI,CACF,QAAkD,EAAE,EACpD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAA,kBAAkB,CAAA,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACjG,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,EAAU,EAAE,OAAwB;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAA,WAAI,EAAA,qBAAqB,EAAE,EAAE,EAAE;YACxD,GAAG,OAAO;YACV,OAAO,EAAE,IAAA,sBAAY,EAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,EAAU,EAAE,OAAwB;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAA,WAAI,EAAA,qBAAqB,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;CACF;AAnCD,oCAmCC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
2
|
import { APIResource } from "../core/resource.mjs";
|
|
3
|
+
import { Items } from "../core/pagination.mjs";
|
|
3
4
|
import { buildHeaders } from "../internal/headers.mjs";
|
|
4
5
|
import { path } from "../internal/utils/path.mjs";
|
|
5
6
|
export class IosInstances extends APIResource {
|
|
@@ -7,14 +8,14 @@ export class IosInstances extends APIResource {
|
|
|
7
8
|
* Create an iOS instance
|
|
8
9
|
*/
|
|
9
10
|
create(params, options) {
|
|
10
|
-
const { wait, ...body } = params;
|
|
11
|
-
return this._client.post('/v1/ios_instances', { query: { wait }, body, ...options });
|
|
11
|
+
const { reuseIfExists, wait, ...body } = params;
|
|
12
|
+
return this._client.post('/v1/ios_instances', { query: { reuseIfExists, wait }, body, ...options });
|
|
12
13
|
}
|
|
13
14
|
/**
|
|
14
15
|
* List iOS instances
|
|
15
16
|
*/
|
|
16
17
|
list(query = {}, options) {
|
|
17
|
-
return this._client.
|
|
18
|
+
return this._client.getAPIList('/v1/ios_instances', (Items), { query, ...options });
|
|
18
19
|
}
|
|
19
20
|
/**
|
|
20
21
|
* Delete iOS instance with given name
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ios-instances.mjs","sourceRoot":"","sources":["../src/resources/ios-instances.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;OAEf,EAAE,YAAY,EAAE;OAEhB,EAAE,IAAI,EAAE;AAEf,MAAM,OAAO,YAAa,SAAQ,WAAW;IAC3C;;OAEG;IACH,MAAM,CAAC,MAA+B,EAAE,OAAwB;QAC9D,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ios-instances.mjs","sourceRoot":"","sources":["../src/resources/ios-instances.ts"],"names":[],"mappings":"AAAA,sFAAsF;OAE/E,EAAE,WAAW,EAAE;OAEf,EAAE,KAAK,EAAiC;OACxC,EAAE,YAAY,EAAE;OAEhB,EAAE,IAAI,EAAE;AAEf,MAAM,OAAO,YAAa,SAAQ,WAAW;IAC3C;;OAEG;IACH,MAAM,CAAC,MAA+B,EAAE,OAAwB;QAC9D,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAChD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACtG,CAAC;IAED;;OAEG;IACH,IAAI,CACF,QAAkD,EAAE,EACpD,OAAwB;QAExB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAA,KAAkB,CAAA,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACjG,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,EAAU,EAAE,OAAwB;QACzC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAA,qBAAqB,EAAE,EAAE,EAAE;YACxD,GAAG,OAAO;YACV,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,EAAU,EAAE,OAAwB;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAA,qBAAqB,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;CACF"}
|
package/src/client.ts
CHANGED
|
@@ -13,6 +13,8 @@ import * as Shims from './internal/shims';
|
|
|
13
13
|
import * as Opts from './internal/request-options';
|
|
14
14
|
import { VERSION } from './version';
|
|
15
15
|
import * as Errors from './core/error';
|
|
16
|
+
import * as Pagination from './core/pagination';
|
|
17
|
+
import { AbstractPage, type ItemsParams, ItemsResponse } from './core/pagination';
|
|
16
18
|
import * as Uploads from './core/uploads';
|
|
17
19
|
import * as API from './resources/index';
|
|
18
20
|
import { APIPromise } from './core/api-promise';
|
|
@@ -20,7 +22,7 @@ import {
|
|
|
20
22
|
AndroidInstance,
|
|
21
23
|
AndroidInstanceCreateParams,
|
|
22
24
|
AndroidInstanceListParams,
|
|
23
|
-
|
|
25
|
+
AndroidInstancesItems,
|
|
24
26
|
} from './resources/android-instances';
|
|
25
27
|
import {
|
|
26
28
|
Asset,
|
|
@@ -35,8 +37,8 @@ import {
|
|
|
35
37
|
IosInstance,
|
|
36
38
|
IosInstanceCreateParams,
|
|
37
39
|
IosInstanceListParams,
|
|
38
|
-
IosInstanceListResponse,
|
|
39
40
|
IosInstances,
|
|
41
|
+
IosInstancesItems,
|
|
40
42
|
} from './resources/ios-instances';
|
|
41
43
|
import { type Fetch } from './internal/builtin-types';
|
|
42
44
|
import { HeadersLike, NullableHeaders, buildHeaders } from './internal/headers';
|
|
@@ -509,6 +511,25 @@ export class Limrun {
|
|
|
509
511
|
return { response, options, controller, requestLogID, retryOfRequestLogID, startTime };
|
|
510
512
|
}
|
|
511
513
|
|
|
514
|
+
getAPIList<Item, PageClass extends Pagination.AbstractPage<Item> = Pagination.AbstractPage<Item>>(
|
|
515
|
+
path: string,
|
|
516
|
+
Page: new (...args: any[]) => PageClass,
|
|
517
|
+
opts?: RequestOptions,
|
|
518
|
+
): Pagination.PagePromise<PageClass, Item> {
|
|
519
|
+
return this.requestAPIList(Page, { method: 'get', path, ...opts });
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
requestAPIList<
|
|
523
|
+
Item = unknown,
|
|
524
|
+
PageClass extends Pagination.AbstractPage<Item> = Pagination.AbstractPage<Item>,
|
|
525
|
+
>(
|
|
526
|
+
Page: new (...args: ConstructorParameters<typeof Pagination.AbstractPage>) => PageClass,
|
|
527
|
+
options: FinalRequestOptions,
|
|
528
|
+
): Pagination.PagePromise<PageClass, Item> {
|
|
529
|
+
const request = this.makeRequest(options, null, undefined);
|
|
530
|
+
return new Pagination.PagePromise<PageClass, Item>(this as any as Limrun, request, Page);
|
|
531
|
+
}
|
|
532
|
+
|
|
512
533
|
async fetchWithTimeout(
|
|
513
534
|
url: RequestInfo,
|
|
514
535
|
init: RequestInit | undefined,
|
|
@@ -753,10 +774,13 @@ Limrun.IosInstances = IosInstances;
|
|
|
753
774
|
export declare namespace Limrun {
|
|
754
775
|
export type RequestOptions = Opts.RequestOptions;
|
|
755
776
|
|
|
777
|
+
export import Items = Pagination.Items;
|
|
778
|
+
export { type ItemsParams as ItemsParams, type ItemsResponse as ItemsResponse };
|
|
779
|
+
|
|
756
780
|
export {
|
|
757
781
|
AndroidInstances as AndroidInstances,
|
|
758
782
|
type AndroidInstance as AndroidInstance,
|
|
759
|
-
type
|
|
783
|
+
type AndroidInstancesItems as AndroidInstancesItems,
|
|
760
784
|
type AndroidInstanceCreateParams as AndroidInstanceCreateParams,
|
|
761
785
|
type AndroidInstanceListParams as AndroidInstanceListParams,
|
|
762
786
|
};
|
|
@@ -775,7 +799,7 @@ export declare namespace Limrun {
|
|
|
775
799
|
export {
|
|
776
800
|
IosInstances as IosInstances,
|
|
777
801
|
type IosInstance as IosInstance,
|
|
778
|
-
type
|
|
802
|
+
type IosInstancesItems as IosInstancesItems,
|
|
779
803
|
type IosInstanceCreateParams as IosInstanceCreateParams,
|
|
780
804
|
type IosInstanceListParams as IosInstanceListParams,
|
|
781
805
|
};
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { LimrunError } from './error';
|
|
4
|
+
import { FinalRequestOptions } from '../internal/request-options';
|
|
5
|
+
import { defaultParseResponse } from '../internal/parse';
|
|
6
|
+
import { type Limrun } from '../client';
|
|
7
|
+
import { APIPromise } from './api-promise';
|
|
8
|
+
import { type APIResponseProps } from '../internal/parse';
|
|
9
|
+
import { maybeObj } from '../internal/utils/values';
|
|
10
|
+
|
|
11
|
+
export type PageRequestOptions = Pick<FinalRequestOptions, 'query' | 'headers' | 'body' | 'path' | 'method'>;
|
|
12
|
+
|
|
13
|
+
export abstract class AbstractPage<Item> implements AsyncIterable<Item> {
|
|
14
|
+
#client: Limrun;
|
|
15
|
+
protected options: FinalRequestOptions;
|
|
16
|
+
|
|
17
|
+
protected response: Response;
|
|
18
|
+
protected body: unknown;
|
|
19
|
+
|
|
20
|
+
constructor(client: Limrun, response: Response, body: unknown, options: FinalRequestOptions) {
|
|
21
|
+
this.#client = client;
|
|
22
|
+
this.options = options;
|
|
23
|
+
this.response = response;
|
|
24
|
+
this.body = body;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
abstract nextPageRequestOptions(): PageRequestOptions | null;
|
|
28
|
+
|
|
29
|
+
abstract getPaginatedItems(): Item[];
|
|
30
|
+
|
|
31
|
+
hasNextPage(): boolean {
|
|
32
|
+
const items = this.getPaginatedItems();
|
|
33
|
+
if (!items.length) return false;
|
|
34
|
+
return this.nextPageRequestOptions() != null;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
async getNextPage(): Promise<this> {
|
|
38
|
+
const nextOptions = this.nextPageRequestOptions();
|
|
39
|
+
if (!nextOptions) {
|
|
40
|
+
throw new LimrunError(
|
|
41
|
+
'No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.',
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return await this.#client.requestAPIList(this.constructor as any, nextOptions);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
async *iterPages(): AsyncGenerator<this> {
|
|
49
|
+
let page: this = this;
|
|
50
|
+
yield page;
|
|
51
|
+
while (page.hasNextPage()) {
|
|
52
|
+
page = await page.getNextPage();
|
|
53
|
+
yield page;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
async *[Symbol.asyncIterator](): AsyncGenerator<Item> {
|
|
58
|
+
for await (const page of this.iterPages()) {
|
|
59
|
+
for (const item of page.getPaginatedItems()) {
|
|
60
|
+
yield item;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* This subclass of Promise will resolve to an instantiated Page once the request completes.
|
|
68
|
+
*
|
|
69
|
+
* It also implements AsyncIterable to allow auto-paginating iteration on an unawaited list call, eg:
|
|
70
|
+
*
|
|
71
|
+
* for await (const item of client.items.list()) {
|
|
72
|
+
* console.log(item)
|
|
73
|
+
* }
|
|
74
|
+
*/
|
|
75
|
+
export class PagePromise<
|
|
76
|
+
PageClass extends AbstractPage<Item>,
|
|
77
|
+
Item = ReturnType<PageClass['getPaginatedItems']>[number],
|
|
78
|
+
>
|
|
79
|
+
extends APIPromise<PageClass>
|
|
80
|
+
implements AsyncIterable<Item>
|
|
81
|
+
{
|
|
82
|
+
constructor(
|
|
83
|
+
client: Limrun,
|
|
84
|
+
request: Promise<APIResponseProps>,
|
|
85
|
+
Page: new (...args: ConstructorParameters<typeof AbstractPage>) => PageClass,
|
|
86
|
+
) {
|
|
87
|
+
super(
|
|
88
|
+
client,
|
|
89
|
+
request,
|
|
90
|
+
async (client, props) =>
|
|
91
|
+
new Page(client, props.response, await defaultParseResponse(client, props), props.options),
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Allow auto-paginating iteration on an unawaited list call, eg:
|
|
97
|
+
*
|
|
98
|
+
* for await (const item of client.items.list()) {
|
|
99
|
+
* console.log(item)
|
|
100
|
+
* }
|
|
101
|
+
*/
|
|
102
|
+
async *[Symbol.asyncIterator](): AsyncGenerator<Item> {
|
|
103
|
+
const page = await this;
|
|
104
|
+
for await (const item of page) {
|
|
105
|
+
yield item;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export type ItemsResponse<Item> = Item[];
|
|
111
|
+
|
|
112
|
+
export interface ItemsParams {
|
|
113
|
+
startingAfter?: string;
|
|
114
|
+
|
|
115
|
+
endingBefore?: string;
|
|
116
|
+
|
|
117
|
+
limit?: number;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export class Items<Item extends { metadata: { id: string } }> extends AbstractPage<Item> {
|
|
121
|
+
items: Array<Item>;
|
|
122
|
+
|
|
123
|
+
constructor(client: Limrun, response: Response, body: ItemsResponse<Item>, options: FinalRequestOptions) {
|
|
124
|
+
super(client, response, body, options);
|
|
125
|
+
|
|
126
|
+
this.items = body || [];
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
getPaginatedItems(): Item[] {
|
|
130
|
+
return this.items ?? [];
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
nextPageRequestOptions(): PageRequestOptions | null {
|
|
134
|
+
const items = this.getPaginatedItems();
|
|
135
|
+
|
|
136
|
+
const isForwards = !(
|
|
137
|
+
typeof this.options.query === 'object' && 'endingBefore' in (this.options.query || {})
|
|
138
|
+
);
|
|
139
|
+
if (isForwards) {
|
|
140
|
+
const id = items[items.length - 1]?.metadata.id;
|
|
141
|
+
if (!id) {
|
|
142
|
+
return null;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
return {
|
|
146
|
+
...this.options,
|
|
147
|
+
query: {
|
|
148
|
+
...maybeObj(this.options.query),
|
|
149
|
+
startingAfter: id,
|
|
150
|
+
},
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
const id = items[0]?.metadata.id;
|
|
155
|
+
if (!id) {
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
return {
|
|
160
|
+
...this.options,
|
|
161
|
+
query: {
|
|
162
|
+
...maybeObj(this.options.query),
|
|
163
|
+
endingBefore: id,
|
|
164
|
+
},
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -5,6 +5,7 @@ export { Limrun as default } from './client';
|
|
|
5
5
|
export { type Uploadable, toFile } from './core/uploads';
|
|
6
6
|
export { APIPromise } from './core/api-promise';
|
|
7
7
|
export { Limrun, type ClientOptions } from './client';
|
|
8
|
+
export { PagePromise } from './core/pagination';
|
|
8
9
|
export { createInstanceClient } from './instance-client';
|
|
9
10
|
export {
|
|
10
11
|
LimrunError,
|
|
@@ -19,8 +19,8 @@ export class AndroidInstances extends GeneratedAndroidInstances {
|
|
|
19
19
|
},
|
|
20
20
|
options,
|
|
21
21
|
);
|
|
22
|
-
if (instances && instances.length > 0) {
|
|
23
|
-
return instances[0]!;
|
|
22
|
+
if (instances && instances.items.length > 0) {
|
|
23
|
+
return instances.items[0]!;
|
|
24
24
|
}
|
|
25
25
|
return super.create(params, options);
|
|
26
26
|
}
|