pebblebed
Version:
Simplified interactions with Google Datastore for NodeJS
40 lines (39 loc) • 3.22 kB
TypeScript
import { IOJoiSchemaObjectPropertyMetaInput, IOJoiSchemaPropertyMetaInput, IOJoiSchemaSerializedJsonPropertyMetaInput } from "../";
import * as Joi from "joi";
export declare type TPebblebedJoiTypeFunction<T, K, I = IOJoiSchemaPropertyMetaInput<K>, E = any> = (meta?: I, extraOptions?: E) => T;
export declare const PebbleStringId: () => Joi.StringSchema;
export declare const PebbleStringIdStrict: () => Joi.StringSchema;
export declare const PebbleStringIdStrictWithFirebase: () => Joi.StringSchema;
export declare const PebbleIntegerId: () => Joi.NumberSchema;
export declare const PebbleInteger: TPebblebedJoiTypeFunction<Joi.NumberSchema, number>;
export declare const PebbleDouble: TPebblebedJoiTypeFunction<Joi.NumberSchema, number>;
export declare const PebbleGeoPoint: TPebblebedJoiTypeFunction<Joi.AnySchema, any>;
interface IPebbleStringExtraOptions {
allowEmpty?: boolean;
}
export declare const PebbleString: TPebblebedJoiTypeFunction<Joi.StringSchema, string, IOJoiSchemaPropertyMetaInput<string>, IPebbleStringExtraOptions>;
export declare const PebbleBoolean: TPebblebedJoiTypeFunction<Joi.BooleanSchema, boolean>;
export declare const PebbleDateTime: TPebblebedJoiTypeFunction<Joi.DateSchema, Date>;
export declare const PebbleArray: TPebblebedJoiTypeFunction<Joi.ArraySchema, any[]>;
export declare const PebbleObject: TPebblebedJoiTypeFunction<Joi.ObjectSchema, object, IOJoiSchemaPropertyMetaInput<object> & IOJoiSchemaObjectPropertyMetaInput>;
export declare const PebbleSerializedJson: TPebblebedJoiTypeFunction<Joi.AnySchema, any, IOJoiSchemaPropertyMetaInput<any> & IOJoiSchemaSerializedJsonPropertyMetaInput>;
export declare const types: {
integerId: () => Joi.NumberSchema;
stringId: () => Joi.StringSchema;
stringIdStrict: () => Joi.StringSchema;
stringIdStrictFirebase: () => Joi.StringSchema;
integer: TPebblebedJoiTypeFunction<Joi.NumberSchema, number, IOJoiSchemaPropertyMetaInput<number>, any>;
string: TPebblebedJoiTypeFunction<Joi.StringSchema, string, IOJoiSchemaPropertyMetaInput<string>, IPebbleStringExtraOptions>;
double: TPebblebedJoiTypeFunction<Joi.NumberSchema, number, IOJoiSchemaPropertyMetaInput<number>, any>;
geoPoint: TPebblebedJoiTypeFunction<Joi.AnySchema, any, IOJoiSchemaPropertyMetaInput<any>, any>;
boolean: TPebblebedJoiTypeFunction<Joi.BooleanSchema, boolean, IOJoiSchemaPropertyMetaInput<boolean>, any>;
dateTime: TPebblebedJoiTypeFunction<Joi.DateSchema, Date, IOJoiSchemaPropertyMetaInput<Date>, any>;
array: TPebblebedJoiTypeFunction<Joi.ArraySchema, any[], IOJoiSchemaPropertyMetaInput<any[]>, any>;
object: TPebblebedJoiTypeFunction<Joi.ObjectSchema<any>, object, IOJoiSchemaPropertyMetaInput<object> & IOJoiSchemaObjectPropertyMetaInput, any>;
serializedJson: TPebblebedJoiTypeFunction<Joi.AnySchema, any, IOJoiSchemaPropertyMetaInput<any> & IOJoiSchemaSerializedJsonPropertyMetaInput, any>;
specialized: {
dateTimeUpdated: TPebblebedJoiTypeFunction<Joi.DateSchema, Date, IOJoiSchemaPropertyMetaInput<Date>, any>;
dateTimeCreated: TPebblebedJoiTypeFunction<Joi.DateSchema, Date, IOJoiSchemaPropertyMetaInput<Date>, any>;
};
};
export {};