zapier-platform-core
Advanced tools
Comparing version 15.18.1 to 15.19.0
{ | ||
"name": "zapier-platform-core", | ||
"version": "15.18.1", | ||
"version": "15.19.0", | ||
"description": "The core SDK for CLI apps in the Zapier Developer Platform.", | ||
@@ -56,3 +56,3 @@ "repository": "zapier/zapier-platform", | ||
"semver": "7.5.2", | ||
"zapier-platform-schema": "15.18.1" | ||
"zapier-platform-schema": "15.19.0" | ||
}, | ||
@@ -59,0 +59,0 @@ "devDependencies": { |
@@ -12,3 +12,3 @@ 'use strict'; | ||
return (func, inputData) => { | ||
return (func, inputData, cacheExpiration) => { | ||
inputData = inputData || {}; | ||
@@ -20,3 +20,3 @@ if (inputData.inputData) { | ||
} | ||
return wrapHydrate({ | ||
const payload = { | ||
type, | ||
@@ -26,3 +26,9 @@ method: resolveMethodPath(app, func), | ||
bundle: _.omit(inputData, 'environment'), // don't leak the environment | ||
}); | ||
}; | ||
if (cacheExpiration) { | ||
payload.cacheExpiration = cacheExpiration; | ||
} | ||
return wrapHydrate(payload); | ||
}; | ||
@@ -29,0 +35,0 @@ }; |
@@ -40,9 +40,74 @@ // Type definitions for zapier-platform-core | ||
isBulkRead: boolean; | ||
/** | ||
* If true, this poll is being used to populate a dynamic dropdown. | ||
* You only need to return the fields you specified (such as id and | ||
* name), though returning everything is fine too. | ||
*/ | ||
isFillingDynamicDropdown: boolean; | ||
/** | ||
* If true, this run was initiated manually via the Zap Editor. | ||
*/ | ||
isLoadingSample: boolean; | ||
/** | ||
* If true, the results of this poll will be used to initialize the | ||
* deduplication list rather than trigger a zap. You should grab as | ||
* many items as possible. | ||
*/ | ||
isPopulatingDedupe: boolean; | ||
/** | ||
* (legacy property) If true, the poll was triggered by a user | ||
* testing their account (via clicking “test” or during setup). We | ||
* use this data to populate the auth label, but it’s mostly used to | ||
* verify we made a successful authenticated request | ||
* | ||
* @deprecated | ||
*/ | ||
isTestingAuth: boolean; | ||
/** | ||
* The number of items you should fetch. -1 indicates there’s no | ||
* limit. Build this into your calls insofar as you are able. | ||
*/ | ||
limit: number; | ||
/** | ||
* Used in paging to uniquely identify which page of results should | ||
* be returned. | ||
*/ | ||
page: number; | ||
zap?: { id: string }; | ||
/** | ||
* When a create is called as part of a search-or-create step, | ||
* this will be the key of the search. | ||
*/ | ||
withSearch?: string; | ||
/** | ||
* The timezone the user has configured for their account or | ||
* specific automation. Received as TZ identifier, such as | ||
* “America/New_York”. | ||
*/ | ||
timezone: string | null; | ||
/** @deprecated */ | ||
zap?: { | ||
/** @deprecated */ | ||
id: string; | ||
/** @deprecated */ | ||
user: { | ||
/** @deprecated use meta.timezone instead. */ | ||
timezone: string; | ||
}; | ||
}; | ||
/** | ||
* Contains metadata about the input fields, optionally provided | ||
* by the inputField.meta property. Useful for storing extra data | ||
* in dynamically created input fields. | ||
*/ | ||
inputFields: { [fieldKey: string]: { [metaKey: string]: string | number | boolean } }; | ||
}; | ||
@@ -112,2 +177,4 @@ rawRequest?: Partial<{ | ||
type HttpRequestOptionsWithUrl = HttpRequestOptions & { url: string }; | ||
interface BaseHttpResponse { | ||
@@ -138,3 +205,4 @@ status: number; | ||
func: (z: ZObject, bundle: Bundle<T>) => any, | ||
inputData: T | ||
inputData?: T, | ||
cacheExpiration?: number | ||
) => string; | ||
@@ -149,5 +217,5 @@ | ||
): Promise<RawHttpResponse<T>>; | ||
<T = any>( | ||
options: HttpRequestOptions & { raw: true; url: string } | ||
): Promise<RawHttpResponse<T>>; | ||
<T = any>(options: HttpRequestOptionsWithUrl & { raw: true }): Promise< | ||
RawHttpResponse<T> | ||
>; | ||
@@ -157,5 +225,3 @@ <T = any>(url: string, options?: HttpRequestOptions): Promise< | ||
>; | ||
<T = any>(options: HttpRequestOptions & { url: string }): Promise< | ||
HttpResponse<T> | ||
>; | ||
<T = any>(options: HttpRequestOptionsWithUrl): Promise<HttpResponse<T>>; | ||
}; | ||
@@ -221,3 +287,3 @@ | ||
get: (key: string) => Promise<any>; | ||
set: (key: string, value: any, ttl?: number) => Promise<boolean>; | ||
set: (key: string, value: any, ttl?: number, scope?: string[], nx?: boolean) => Promise<boolean|null>; | ||
delete: (key: string) => Promise<boolean>; | ||
@@ -239,6 +305,6 @@ }; | ||
export type BeforeRequestMiddleware = ( | ||
request: HttpRequestOptions, | ||
request: HttpRequestOptionsWithUrl, | ||
z: ZObject, | ||
bundle: Bundle | ||
) => HttpRequestOptions | Promise<HttpRequestOptions>; | ||
) => HttpRequestOptionsWithUrl | Promise<HttpRequestOptionsWithUrl>; | ||
@@ -245,0 +311,0 @@ export type AfterResponseMiddleware = ( |
@@ -7,3 +7,3 @@ /** | ||
* | ||
* zapier-platform-schema version: 15.18.1 | ||
* zapier-platform-schema version: 15.19.0 | ||
* schema-to-ts compiler version: 0.1.0 | ||
@@ -192,2 +192,18 @@ */ | ||
/** | ||
* Allows for additional metadata to be stored on the field. | ||
* | ||
* [Docs: FieldMetaSchema](https://github.com/zapier/zapier-platform/blob/main/packages/schema/docs/build/schema.md#FieldMetaSchema) | ||
*/ | ||
export interface FieldMeta { | ||
/** | ||
* Only string, integer or boolean values are allowed. | ||
* | ||
* This interface was referenced by `FieldMetaSchema`'s JSON-Schema | ||
* definition | ||
* via the `patternProperty` "[^\s]+". | ||
*/ | ||
[k: string]: string | number | boolean; | ||
} | ||
/** | ||
* Defines a field an app either needs as input, or gives as output. | ||
@@ -328,2 +344,8 @@ * In addition to the requirements below, the following keys are | ||
inputFormat?: string; | ||
/** | ||
* Allows for additional metadata to be stored on the field. | ||
* Supports simple key-values only (no sub-objects or arrays). | ||
*/ | ||
meta?: FieldMeta; | ||
} | ||
@@ -330,0 +352,0 @@ |
242877
6965
+ Addedzapier-platform-schema@15.19.0(transitive)
- Removedzapier-platform-schema@15.18.1(transitive)