UNPKG

@naturalcycles/db-lib

Version:

Lowest Common Denominator API to supported Databases

61 lines (60 loc) 2.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.testItemBMJsonSchema = exports.testItemTMSchema = exports.testItemBMSchema = exports.TEST_TABLE = void 0; exports.createTestItemDBM = createTestItemDBM; exports.createTestItemBM = createTestItemBM; exports.createTestItemsDBM = createTestItemsDBM; exports.createTestItemsBM = createTestItemsBM; const js_lib_1 = require("@naturalcycles/js-lib"); const nodejs_lib_1 = require("@naturalcycles/nodejs-lib"); const MOCK_TS_2018_06_21 = 1529539200; exports.TEST_TABLE = 'TEST_TABLE'; exports.testItemBMSchema = (0, nodejs_lib_1.objectSchema)({ k1: nodejs_lib_1.stringSchema, k2: nodejs_lib_1.stringSchema.allow(null).optional(), k3: nodejs_lib_1.numberSchema.optional(), even: nodejs_lib_1.booleanSchema.optional(), b1: nodejs_lib_1.binarySchema.optional(), nested: (0, nodejs_lib_1.objectSchema)({ foo: nodejs_lib_1.numberSchema, }).optional(), }).concat(nodejs_lib_1.baseDBEntitySchema); exports.testItemTMSchema = (0, nodejs_lib_1.objectSchema)({ k1: nodejs_lib_1.stringSchema, even: nodejs_lib_1.booleanSchema.optional(), }); exports.testItemBMJsonSchema = js_lib_1.jsonSchema .rootObject({ // todo: figure out how to not copy-paste these 3 fields id: js_lib_1.jsonSchema.string(), // todo: not strictly needed here created: js_lib_1.jsonSchema.unixTimestamp(), updated: js_lib_1.jsonSchema.unixTimestamp(), k1: js_lib_1.jsonSchema.string(), k2: js_lib_1.jsonSchema.oneOf([js_lib_1.jsonSchema.string(), js_lib_1.jsonSchema.null()]).optional(), k3: js_lib_1.jsonSchema.number().optional(), even: js_lib_1.jsonSchema.boolean().optional(), b1: js_lib_1.jsonSchema.buffer().optional(), }) .baseDBEntity() .build(); function createTestItemDBM(num = 1) { return { id: `id${num}`, k1: `v${num}`, k2: `v${num * 2}`, k3: num, even: num % 2 === 0, nested: { foo: num }, created: MOCK_TS_2018_06_21, updated: MOCK_TS_2018_06_21, }; } function createTestItemBM(num = 1) { return createTestItemDBM(num); } function createTestItemsDBM(count = 1) { return (0, js_lib_1._range)(1, count + 1).map(num => createTestItemDBM(num)); } function createTestItemsBM(count = 1) { return (0, js_lib_1._range)(1, count + 1).map(num => createTestItemBM(num)); }