UNPKG

rxdb

Version:

A local-first realtime NoSQL Database for JavaScript applications - https://rxdb.info/

315 lines (312 loc) 11.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NoIndexHuman = NoIndexHuman; exports.TEST_DATA_CHARSET_LAST_SORTED = exports.TEST_DATA_CHARSET = void 0; exports.averageSchemaData = averageSchemaData; exports.bigHumanDocumentType = bigHumanDocumentType; exports.compoundIndexData = compoundIndexData; exports.compoundIndexNoStringData = compoundIndexNoStringData; exports.deepNestedHumanData = deepNestedHumanData; exports.encryptedDeepHumanDocumentType = encryptedDeepHumanDocumentType; exports.encryptedHumanData = encryptedHumanData; exports.encryptedObjectHumanData = encryptedObjectHumanData; exports.heroArrayData = heroArrayData; exports.humanData = humanData; exports.humanWithCompositePrimary = humanWithCompositePrimary; exports.humanWithIdAndAgeIndexDocumentType = humanWithIdAndAgeIndexDocumentType; exports.humanWithOwnershipData = humanWithOwnershipData; exports.humanWithSubOther = humanWithSubOther; exports.humanWithTimestampData = humanWithTimestampData; exports.nestedHumanData = nestedHumanData; exports.nostringIndex = nostringIndex; exports.pointData = pointData; exports.randomStringWithSpecialChars = randomStringWithSpecialChars; exports.refHumanData = refHumanData; exports.refHumanNestedData = refHumanNestedData; exports.simpleHeroArray = simpleHeroArray; exports.simpleHumanAge = simpleHumanAge; exports.simpleHumanData = simpleHumanData; exports.simpleHumanV3Data = simpleHumanV3Data; var schemas = _interopRequireWildcard(require("./schemas.js")); var _index = require("../utils/index.js"); function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } /** * this file contains objects which match the schemas in schemas.js */ /** * Some storages had problems with umlauts and other special chars. * So we add these to all test strings. */ var TEST_DATA_CHARSET = exports.TEST_DATA_CHARSET = '0987654321ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzäöüÖÄßÜ[]{}\''; var TEST_DATA_CHARSET_LAST_SORTED = exports.TEST_DATA_CHARSET_LAST_SORTED = (0, _index.ensureNotFalsy)((0, _index.lastOfArray)(TEST_DATA_CHARSET.split('').sort())); var someEmojisArr = ['😊', '💩', '👵', '🍌', '🏳️‍🌈', '😃']; var baseChars = TEST_DATA_CHARSET.split(''); var allChars = baseChars.slice(0); (0, _index.appendToArray)(allChars, someEmojisArr); function randomStringWithSpecialChars(minLength, /** * It has shown that alternating string lengths * can reproduce various problems. So by having variable * lengths we ensure that this fully works. */ maxLength) { var text = ''; if (!minLength || !maxLength || minLength > maxLength) { throw new Error('invalid length given ' + minLength + ' ' + maxLength); } var length = (0, _index.randomNumber)(minLength, maxLength); while (text.length < length) { if (text.length === 0) { /** * TODO foundationdb does not work correctly when an index string starts * with an emoji. This can likely be fixed by upgrading foundationdb to the * latest version. */ text += baseChars[Math.floor(Math.random() * baseChars.length)]; } else { text += allChars[Math.floor(Math.random() * allChars.length)]; } } /** * Because emojis can have a string.length of 2, * we can sometimes end up with strings that are longer * than the provided length. In that cases we have to rerun. */ if (text.length > length) { return randomStringWithSpecialChars(minLength, maxLength); } return text; } function humanData(passportId = randomStringWithSpecialChars(8, 12), age = (0, _index.randomNumber)(10, 50), firstName = randomStringWithSpecialChars(8, 12)) { return { passportId: passportId, firstName, lastName: randomStringWithSpecialChars(8, 12), age }; } function simpleHumanData() { return { passportId: randomStringWithSpecialChars(8, 12), firstName: randomStringWithSpecialChars(8, 12), lastName: randomStringWithSpecialChars(8, 12) }; } function simpleHumanV3Data(partial = {}) { var defaultObj = { passportId: randomStringWithSpecialChars(8, 12), age: (0, _index.randomNumber)(10, 50) }; return Object.assign(defaultObj, partial); } function simpleHumanAge(partial = {}) { var defaultObj = { passportId: randomStringWithSpecialChars(8, 12), age: (0, _index.randomNumber)(10, 50) + '' }; return Object.assign(defaultObj, partial); } function humanWithSubOther() { return { passportId: randomStringWithSpecialChars(8, 12), other: { age: (0, _index.randomNumber)(10, 50) } }; } function NoIndexHuman() { return { firstName: randomStringWithSpecialChars(8, 12), lastName: randomStringWithSpecialChars(8, 12) }; } function nestedHumanData(partial = {}) { var defaultObj = { passportId: randomStringWithSpecialChars(8, 12), firstName: randomStringWithSpecialChars(8, 12), mainSkill: { name: randomStringWithSpecialChars(4, 6), level: 5 } }; return Object.assign(defaultObj, partial); } function deepNestedHumanData() { return { passportId: randomStringWithSpecialChars(8, 12), mainSkill: { name: randomStringWithSpecialChars(4, 6), attack: { good: false, count: 5 } } }; } function bigHumanDocumentType() { return { passportId: randomStringWithSpecialChars(8, 12), dnaHash: randomStringWithSpecialChars(8, 12), firstName: randomStringWithSpecialChars(8, 12), lastName: randomStringWithSpecialChars(8, 12), age: (0, _index.randomNumber)(10, 50) }; } function heroArrayData() { return { name: randomStringWithSpecialChars(6, 8), skills: new Array(3).fill(0).map(() => { return { name: randomStringWithSpecialChars(4, 6), damage: (0, _index.randomNumber)(10, 50) }; }) }; } function simpleHeroArray(partial = {}) { var defaultObj = { name: randomStringWithSpecialChars(6, 8), skills: new Array(3).fill(0).map(() => randomStringWithSpecialChars(3, 6)) }; return Object.assign(defaultObj, partial); } function encryptedHumanData(secret = randomStringWithSpecialChars(8, 12)) { return { passportId: randomStringWithSpecialChars(8, 12), firstName: randomStringWithSpecialChars(8, 12), secret }; } function encryptedObjectHumanData() { return { passportId: randomStringWithSpecialChars(8, 12), firstName: randomStringWithSpecialChars(8, 12), secret: { name: randomStringWithSpecialChars(8, 12), subname: randomStringWithSpecialChars(8, 12) } }; } function encryptedDeepHumanDocumentType() { return { passportId: randomStringWithSpecialChars(8, 12), firstName: randomStringWithSpecialChars(8, 12), firstLevelPassword: randomStringWithSpecialChars(8, 12), secretData: { pw: randomStringWithSpecialChars(8, 12) }, deepSecret: { darkhole: { pw: randomStringWithSpecialChars(8, 12) } }, nestedSecret: { darkhole: { pw: randomStringWithSpecialChars(8, 12) } } }; } function compoundIndexData() { return { passportId: randomStringWithSpecialChars(8, 12), passportCountry: randomStringWithSpecialChars(8, 12), age: (0, _index.randomNumber)(10, 50) }; } function compoundIndexNoStringData() { return { passportId: randomStringWithSpecialChars(8, 12), passportCountry: { [randomStringWithSpecialChars(8, 12)]: randomStringWithSpecialChars(8, 12) }, age: (0, _index.randomNumber)(10, 50) }; } function nostringIndex() { return { passportId: {}, firstName: randomStringWithSpecialChars(8, 12) }; } function refHumanData(bestFriend) { return { name: randomStringWithSpecialChars(8, 12), bestFriend }; } function refHumanNestedData(bestFriend) { return { name: randomStringWithSpecialChars(8, 12), foo: { bestFriend } }; } function humanWithTimestampData(givenData = {}) { var ret = { id: randomStringWithSpecialChars(8, 12), name: randomStringWithSpecialChars(8, 12), age: (0, _index.randomNumber)(1, 100), // use some time in the past week updatedAt: Date.now() }; ret = Object.assign({}, ret, givenData); return ret; } var averageSchemaForFieldLength = schemas.averageSchema(); function averageSchemaData(partial = {}) { return Object.assign({}, { id: randomStringWithSpecialChars((0, _index.ensureNotFalsy)(averageSchemaForFieldLength.properties.id.maxLength - 1), (0, _index.ensureNotFalsy)(averageSchemaForFieldLength.properties.id.maxLength)), var1: randomStringWithSpecialChars((0, _index.ensureNotFalsy)(averageSchemaForFieldLength.properties.var1.maxLength) - 3, (0, _index.ensureNotFalsy)(averageSchemaForFieldLength.properties.var1.maxLength)), var2: (0, _index.randomNumber)(100, (0, _index.ensureNotFalsy)(averageSchemaForFieldLength.properties.var2.maximum)), deep: { deep1: randomStringWithSpecialChars((0, _index.ensureNotFalsy)(averageSchemaForFieldLength.properties.deep.properties.deep1.maxLength) - 3, (0, _index.ensureNotFalsy)(averageSchemaForFieldLength.properties.deep.properties.deep1.maxLength)), deep2: randomStringWithSpecialChars((0, _index.ensureNotFalsy)(averageSchemaForFieldLength.properties.deep.properties.deep2.maxLength) - 3, (0, _index.ensureNotFalsy)(averageSchemaForFieldLength.properties.deep.properties.deep2.maxLength)), deeper: { deepNr: (0, _index.randomNumber)(0, 10) } }, list: new Array(5).fill(0).map(() => ({ deep1: randomStringWithSpecialChars(2, 5), deep2: randomStringWithSpecialChars(5, 8) })) }, partial); } function pointData() { return { id: randomStringWithSpecialChars(8, 12), x: (0, _index.randomNumber)(1, 100), y: (0, _index.randomNumber)(1, 100) }; } function humanWithIdAndAgeIndexDocumentType(age = (0, _index.randomNumber)(1, 100)) { return { id: randomStringWithSpecialChars(8, 12), name: randomStringWithSpecialChars(8, 12), age }; } function humanWithCompositePrimary(partial = {}) { var defaultObj = { firstName: randomStringWithSpecialChars(8, 12), lastName: randomStringWithSpecialChars(8, 12), info: { age: (0, _index.randomNumber)(10, 50) } }; return Object.assign(defaultObj, partial); } function humanWithOwnershipData(partial = {}, owner) { var defaultObj = { passportId: randomStringWithSpecialChars(8, 12), firstName: randomStringWithSpecialChars(8, 12), lastName: randomStringWithSpecialChars(8, 12), age: (0, _index.randomNumber)(10, 50), owner }; return Object.assign(defaultObj, partial); } //# sourceMappingURL=schema-objects.js.map