UNPKG

@prismatic-io/spectral

Version:

Utility library for building Prismatic connectors and code-native integrations

69 lines (68 loc) 3.91 kB
/** * 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;