MCPcopy Create free account
hub / github.com/TanStack/db / generateSeedData

Function generateSeedData

packages/db-collection-e2e/src/fixtures/seed-data.ts:36–210  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

34 * - Some soft-deleted records
35 */
36export function generateSeedData(): SeedDataResult {
37 const users: Array<User> = []
38 const posts: Array<Post> = []
39 const comments: Array<Comment> = []
40
41 const now = new Date()
42 const oneDay = 24 * 60 * 60 * 1000
43 const oneYear = 365 * oneDay
44
45 // Generate 100 users with varied distributions
46 for (let i = 0; i < 100; i++) {
47 const id = generateId(`user`, i)
48
49 // Name variations for collation testing
50 const names = [
51 `Alice ${i}`,
52 `bob ${i}`,
53 `Charlie ${i}`,
54 `DIANA ${i}`,
55 `Eve ${i}`,
56 `Frank ${i}`,
57 `Grace ${i}`,
58 `henry ${i}`,
59 `Ivy ${i}`,
60 `Jack ${i}`,
61 `Kate ${i}`,
62 `liam ${i}`,
63 `Mia ${i}`,
64 `Noah ${i}`,
65 `Olivia ${i}`,
66 `PAUL ${i}`,
67 `Quinn ${i}`,
68 `Rose ${i}`,
69 `sam ${i}`,
70 `Tina ${i}`,
71 `Ursula ${i}\nNewline`,
72 ]
73 const name = names[i % names.length]
74
75 // Email: 70% have emails, 30% null
76 const email = i % 10 < 7 ? `user${i}@example.com` : null
77
78 // Age distribution: 18-80, with some edge cases
79 const age = i === 0 ? 0 : i === 1 ? -5 : i === 2 ? 150 : 18 + (i % 63)
80
81 // IsActive: 80% true, 20% false
82 const isActive = i % 5 !== 0
83
84 // CreatedAt: distributed over past year
85 const createdAt = new Date(now.getTime() - Math.random() * oneYear)
86
87 // Metadata: 40% have metadata, 60% null
88 const metadata =
89 i % 5 < 2 ? { score: i * 10, level: Math.floor(i / 10) } : null
90
91 // DeletedAt: 10% soft deleted
92 const deletedAt =
93 i % 10 === 0

Calls 2

generateIdFunction · 0.70
mapMethod · 0.45

Tested by

no test coverage detected