@prismatic-io/spectral
Version:
Utility library for building Prismatic connectors and code-native integrations
69 lines (68 loc) • 3.91 kB
TypeScript
/**
* The `util` module provides a set of functions commonly needed to author custom components.
* Many functions in the `util` module are used to coerce data into a particular type, and can be accessed through `util.types`.
* For example, `util.types.toInt("5.5")` will return an integer, `5`.
*/
import { KeyValuePair, DataPayload, ObjectSelection, ObjectFieldMap, JSONForm, ConnectionDefinition, Element } from "./types";
export declare const isObjectWithOneTruthyKey: (value: unknown, keys: string[]) => boolean;
export declare const isObjectWithTruthyKeys: (value: unknown, keys: string[]) => boolean;
/**
* This function returns a lower cased version of the headers passed to it.
*
* - `lowerCaseHeaders({"Content-Type": "Application/JSON"})` will return `{"content-type": "Application/JSON"}`
* - `lowerCaseHeaders({"Cache-Control": "max-age=604800"})` will return `{"cache-control": "max-age=604800"}`
* - `lowerCaseHeaders({"Accept-Language": "en-us"})` will return `{"accept-language": "en-us"}`
* @param headers The headers to convert to lower case
* @returns This function returns a header object
* */
export declare const lowerCaseHeaders: (headers: Record<string, string>) => Record<string, string>;
/**
* This function parses a JSON string (if JSON) and returns an object, or returns the object.
*
* - `toObject('{"foo":"bar","baz":123}')` will return object `{foo: "bar", baz: 123}`
* - `toObject({foo:"bar",baz:123})` will return object `{foo: "bar", baz: 123}`
*
* @param value The JSON string or object to convert
* @returns This function returns an object, parsing JSON as necessary
*/
export declare const toObject: (value: unknown) => object;
export * from "./errors";
export * from "./conditionalLogic";
declare const _default: {
types: {
isBool: (value: unknown) => value is boolean;
toBool: (value: unknown, defaultValue?: boolean) => boolean;
isInt: (value: unknown) => value is number;
toInt: (value: unknown, defaultValue?: number) => number;
isNumber: (value: unknown) => boolean;
toNumber: (value: unknown, defaultValue?: number) => number;
isBigInt: (value: unknown) => value is bigint;
toBigInt: (value: unknown) => bigint;
isDate: (value: unknown) => value is Date;
toDate: (value: unknown) => Date;
isUrl: (value: string) => boolean;
isBufferDataPayload: (value: unknown) => value is DataPayload;
toBufferDataPayload: (value: unknown) => DataPayload;
isData: (value: unknown) => boolean;
toData: (value: unknown) => DataPayload;
isString: (value: unknown) => value is string;
toString: (value: unknown, defaultValue?: string) => string;
keyValPairListToObject: <TValue = unknown>(kvpList: KeyValuePair<unknown>[], valueConverter?: (value: unknown) => TValue) => Record<string, TValue>;
isJSON: (value: string) => boolean;
toJSON: (value: unknown, prettyPrint?: boolean, retainKeyOrder?: boolean) => string;
lowerCaseHeaders: (headers: Record<string, string>) => Record<string, string>;
isObjectSelection: (value: unknown) => value is ObjectSelection;
toObjectSelection: (value: unknown) => ObjectSelection;
isObjectFieldMap: (value: unknown) => value is ObjectFieldMap;
toObjectFieldMap: (value: unknown) => ObjectFieldMap;
isJSONForm: (value: unknown) => value is JSONForm;
toJSONForm: (value: unknown) => JSONForm;
isPicklist: (value: unknown) => boolean;
isSchedule: (value: unknown) => boolean;
isConnection: (value: unknown) => value is ConnectionDefinition;
isElement: (value: unknown) => value is Element;
toObject: (value: unknown) => object;
cleanObject: (obj: Record<string, unknown>, predicate?: (v: any) => boolean) => Record<string, unknown>;
};
};
export default _default;