@sdk-it/spec 0.31.0 → 0.31.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +4 -3
- package/dist/lib/find-polymorphic-varients.test.d.ts +0 -2
- package/dist/lib/find-polymorphic-varients.test.d.ts.map +0 -1
- package/dist/lib/find-polymorphic-varients.test.js +0 -615
- package/dist/lib/find-polymorphic-varients.test.js.map +0 -7
- package/dist/lib/ir.test.d.ts +0 -2
- package/dist/lib/ir.test.d.ts.map +0 -1
- package/dist/lib/ir.test.js +0 -261
- package/dist/lib/ir.test.js.map +0 -7
- package/dist/lib/metadata.test.d.ts +0 -2
- package/dist/lib/metadata.test.d.ts.map +0 -1
- package/dist/lib/metadata.test.js +0 -359
- package/dist/lib/metadata.test.js.map +0 -7
- package/dist/lib/pagination/pagination-result.test.d.ts +0 -2
- package/dist/lib/pagination/pagination-result.test.d.ts.map +0 -1
- package/dist/lib/pagination/pagination-result.test.js +0 -548
- package/dist/lib/pagination/pagination-result.test.js.map +0 -7
- package/dist/lib/pagination/pagination.test.d.ts +0 -2
- package/dist/lib/pagination/pagination.test.d.ts.map +0 -1
- package/dist/lib/pagination/pagination.test.js +0 -379
- package/dist/lib/pagination/pagination.test.js.map +0 -7
- package/dist/lib/tune.test.d.ts +0 -2
- package/dist/lib/tune.test.d.ts.map +0 -1
- package/dist/lib/tune.test.js +0 -60
- package/dist/lib/tune.test.js.map +0 -7
|
@@ -1,548 +0,0 @@
|
|
|
1
|
-
import assert from "node:assert/strict";
|
|
2
|
-
import { describe, test } from "node:test";
|
|
3
|
-
import { getItemsName } from "./pagination-result.ts";
|
|
4
|
-
function createSchema(properties) {
|
|
5
|
-
return properties;
|
|
6
|
-
}
|
|
7
|
-
function arraySchema(items) {
|
|
8
|
-
return {
|
|
9
|
-
type: "array",
|
|
10
|
-
items: items ?? { type: "object" }
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
function stringSchema() {
|
|
14
|
-
return {
|
|
15
|
-
type: "string"
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
function objectSchema(properties) {
|
|
19
|
-
return {
|
|
20
|
-
type: "object",
|
|
21
|
-
properties: properties ?? {}
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
describe("getItemsName()", () => {
|
|
25
|
-
describe("No Array Properties", () => {
|
|
26
|
-
test("should return null if no properties are arrays", () => {
|
|
27
|
-
const schema = createSchema({
|
|
28
|
-
name: stringSchema(),
|
|
29
|
-
age: { type: "integer" },
|
|
30
|
-
details: objectSchema()
|
|
31
|
-
});
|
|
32
|
-
assert.strictEqual(getItemsName(schema), null);
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
describe("Single Array Property", () => {
|
|
36
|
-
test("should return the name of the single array property", () => {
|
|
37
|
-
const schema = createSchema({
|
|
38
|
-
users: arraySchema(),
|
|
39
|
-
count: { type: "integer" }
|
|
40
|
-
});
|
|
41
|
-
assert.strictEqual(getItemsName(schema), "users");
|
|
42
|
-
});
|
|
43
|
-
test("should return the name even if other non-array properties exist", () => {
|
|
44
|
-
const schema = createSchema({
|
|
45
|
-
id: stringSchema(),
|
|
46
|
-
itemsList: arraySchema(),
|
|
47
|
-
metadata: objectSchema()
|
|
48
|
-
});
|
|
49
|
-
assert.strictEqual(getItemsName(schema), "itemsList");
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
describe("Multiple Array Properties - Keyword Heuristics", () => {
|
|
53
|
-
test("should prefer primary top-tier keywords (data)", () => {
|
|
54
|
-
const schema = createSchema({
|
|
55
|
-
users: arraySchema(),
|
|
56
|
-
data: arraySchema(),
|
|
57
|
-
records: arraySchema()
|
|
58
|
-
});
|
|
59
|
-
assert.strictEqual(getItemsName(schema), "data");
|
|
60
|
-
});
|
|
61
|
-
test("should prefer primary top-tier keywords (items)", () => {
|
|
62
|
-
const schema = createSchema({
|
|
63
|
-
elements: arraySchema(),
|
|
64
|
-
items: arraySchema(),
|
|
65
|
-
values: arraySchema()
|
|
66
|
-
});
|
|
67
|
-
assert.strictEqual(getItemsName(schema), "items");
|
|
68
|
-
});
|
|
69
|
-
test("should prefer primary top-tier keywords (results)", () => {
|
|
70
|
-
const schema = createSchema({
|
|
71
|
-
list: arraySchema(),
|
|
72
|
-
results: arraySchema(),
|
|
73
|
-
// Primary top-tier
|
|
74
|
-
entries: arraySchema()
|
|
75
|
-
// Secondary
|
|
76
|
-
});
|
|
77
|
-
assert.strictEqual(getItemsName(schema), "results");
|
|
78
|
-
});
|
|
79
|
-
test("should prefer primary top-tier keywords (value) - case insensitive", () => {
|
|
80
|
-
const schema = createSchema({
|
|
81
|
-
Value: arraySchema(),
|
|
82
|
-
otherArray: arraySchema()
|
|
83
|
-
});
|
|
84
|
-
assert.strictEqual(getItemsName(schema), "Value");
|
|
85
|
-
});
|
|
86
|
-
test("should prefer primary other keywords (records) if no top-tier", () => {
|
|
87
|
-
const schema = createSchema({
|
|
88
|
-
elements: arraySchema(),
|
|
89
|
-
records: arraySchema(),
|
|
90
|
-
// Primary other
|
|
91
|
-
anotherList: arraySchema()
|
|
92
|
-
});
|
|
93
|
-
assert.strictEqual(getItemsName(schema), "records");
|
|
94
|
-
});
|
|
95
|
-
test("should prefer primary other keywords (content) - case insensitive", () => {
|
|
96
|
-
const schema = createSchema({
|
|
97
|
-
Content: arraySchema(),
|
|
98
|
-
genericList: arraySchema()
|
|
99
|
-
});
|
|
100
|
-
assert.strictEqual(getItemsName(schema), "Content");
|
|
101
|
-
});
|
|
102
|
-
test("should prefer secondary keywords (entries) if no primary", () => {
|
|
103
|
-
const schema = createSchema({
|
|
104
|
-
somePlural: arraySchema(),
|
|
105
|
-
// Will be plural, but 'entries' is keyword
|
|
106
|
-
entries: arraySchema(),
|
|
107
|
-
// Secondary
|
|
108
|
-
anotherPlural: arraySchema()
|
|
109
|
-
});
|
|
110
|
-
assert.strictEqual(getItemsName(schema), "entries");
|
|
111
|
-
});
|
|
112
|
-
test('should prefer "data" over "items" if both are top-tier (based on order in PRIMARY_TOP_TIER_KEYWORDS)', () => {
|
|
113
|
-
const schema1 = createSchema({
|
|
114
|
-
items: arraySchema(),
|
|
115
|
-
data: arraySchema()
|
|
116
|
-
});
|
|
117
|
-
assert.strictEqual(getItemsName(schema1), "items");
|
|
118
|
-
const schema2 = createSchema({
|
|
119
|
-
data: arraySchema(),
|
|
120
|
-
items: arraySchema()
|
|
121
|
-
});
|
|
122
|
-
assert.strictEqual(getItemsName(schema2), "data");
|
|
123
|
-
});
|
|
124
|
-
test('should prefer "items" (rank 2) over "records" (rank 3)', () => {
|
|
125
|
-
const schema = createSchema({
|
|
126
|
-
records: arraySchema(),
|
|
127
|
-
items: arraySchema()
|
|
128
|
-
});
|
|
129
|
-
assert.strictEqual(getItemsName(schema), "items");
|
|
130
|
-
});
|
|
131
|
-
test('should prefer "records" (rank 3) over "entries" (rank 4)', () => {
|
|
132
|
-
const schema = createSchema({
|
|
133
|
-
entries: arraySchema(),
|
|
134
|
-
records: arraySchema()
|
|
135
|
-
});
|
|
136
|
-
assert.strictEqual(getItemsName(schema), "records");
|
|
137
|
-
});
|
|
138
|
-
});
|
|
139
|
-
describe("Multiple Array Properties - Pluralization Heuristics", () => {
|
|
140
|
-
test("should prefer a non-deprioritized plural over a non-keyword singular", () => {
|
|
141
|
-
const schema = createSchema({
|
|
142
|
-
products: arraySchema(),
|
|
143
|
-
// Plural, not deprioritized
|
|
144
|
-
detail: arraySchema(),
|
|
145
|
-
// Singular
|
|
146
|
-
info: arraySchema()
|
|
147
|
-
// Singular
|
|
148
|
-
});
|
|
149
|
-
assert.strictEqual(getItemsName(schema), "products");
|
|
150
|
-
});
|
|
151
|
-
test("should prefer a non-deprioritized plural (users) over a deprioritized plural (details)", () => {
|
|
152
|
-
const schema = createSchema({
|
|
153
|
-
details: arraySchema(),
|
|
154
|
-
// Plural, deprioritized
|
|
155
|
-
users: arraySchema()
|
|
156
|
-
// Plural, not deprioritized
|
|
157
|
-
});
|
|
158
|
-
assert.strictEqual(getItemsName(schema), "users");
|
|
159
|
-
});
|
|
160
|
-
test('should prefer a keyword like "items" (rank 2) over a non-deprioritized plural "products" (rank 5)', () => {
|
|
161
|
-
const schema = createSchema({
|
|
162
|
-
products: arraySchema(),
|
|
163
|
-
items: arraySchema()
|
|
164
|
-
});
|
|
165
|
-
assert.strictEqual(getItemsName(schema), "items");
|
|
166
|
-
});
|
|
167
|
-
test('should prefer a non-deprioritized plural "orders" (rank 5) over a deprioritized plural "attributes" (rank 6)', () => {
|
|
168
|
-
const schema = createSchema({
|
|
169
|
-
attributes: arraySchema(),
|
|
170
|
-
orders: arraySchema()
|
|
171
|
-
});
|
|
172
|
-
assert.strictEqual(getItemsName(schema), "orders");
|
|
173
|
-
});
|
|
174
|
-
test("should pick a deprioritized plural if it is the only plural and no keywords match better", () => {
|
|
175
|
-
const schema = createSchema({
|
|
176
|
-
links: arraySchema(),
|
|
177
|
-
// Plural, deprioritized
|
|
178
|
-
singularName: arraySchema(),
|
|
179
|
-
anotherSingular: arraySchema()
|
|
180
|
-
});
|
|
181
|
-
assert.strictEqual(getItemsName(schema), "links");
|
|
182
|
-
});
|
|
183
|
-
test("should handle mixed case plurals correctly", () => {
|
|
184
|
-
const schema = createSchema({
|
|
185
|
-
Events: arraySchema(),
|
|
186
|
-
// Plural, not deprioritized
|
|
187
|
-
metaData: arraySchema()
|
|
188
|
-
// Singular
|
|
189
|
-
});
|
|
190
|
-
assert.strictEqual(getItemsName(schema), "Events");
|
|
191
|
-
});
|
|
192
|
-
});
|
|
193
|
-
describe("Fallback Behavior", () => {
|
|
194
|
-
test("should return the first array property if no heuristics match strongly", () => {
|
|
195
|
-
const schema = createSchema({
|
|
196
|
-
arrayOne: arraySchema(),
|
|
197
|
-
arrayTwo: arraySchema(),
|
|
198
|
-
arrayThree: arraySchema()
|
|
199
|
-
});
|
|
200
|
-
assert.strictEqual(getItemsName(schema), "arrayOne");
|
|
201
|
-
});
|
|
202
|
-
test("should return the first array even if others are deprioritized plurals but no better match", () => {
|
|
203
|
-
const schema = createSchema({
|
|
204
|
-
alphaList: arraySchema(),
|
|
205
|
-
// No strong signal
|
|
206
|
-
beta_links: arraySchema(),
|
|
207
|
-
// Deprioritized plural
|
|
208
|
-
gamma_series: arraySchema()
|
|
209
|
-
// Deprioritized plural
|
|
210
|
-
});
|
|
211
|
-
assert.strictEqual(getItemsName(schema), "alphaList");
|
|
212
|
-
});
|
|
213
|
-
});
|
|
214
|
-
describe("Edge Cases and Specificity", () => {
|
|
215
|
-
test("should handle properties that are not valid SchemaObjects gracefully (e.g. boolean)", () => {
|
|
216
|
-
const schema = createSchema({
|
|
217
|
-
validArray: arraySchema(),
|
|
218
|
-
invalidProp: true
|
|
219
|
-
// Not a valid SchemaObject
|
|
220
|
-
});
|
|
221
|
-
assert.strictEqual(getItemsName(schema), "validArray");
|
|
222
|
-
});
|
|
223
|
-
test("should handle properties that are null SchemaObjects gracefully", () => {
|
|
224
|
-
const schema = createSchema({
|
|
225
|
-
anotherArray: arraySchema(),
|
|
226
|
-
nullProp: null
|
|
227
|
-
// Not a valid SchemaObject
|
|
228
|
-
});
|
|
229
|
-
assert.strictEqual(getItemsName(schema), "anotherArray");
|
|
230
|
-
});
|
|
231
|
-
test("should correctly identify primary keyword even with other plausible names", () => {
|
|
232
|
-
const schema = createSchema({
|
|
233
|
-
userList: arraySchema(),
|
|
234
|
-
data: arraySchema(),
|
|
235
|
-
// Primary top-tier
|
|
236
|
-
all_users: arraySchema()
|
|
237
|
-
});
|
|
238
|
-
assert.strictEqual(getItemsName(schema), "data");
|
|
239
|
-
});
|
|
240
|
-
test('plural "status" (deprioritized) vs singular "item_list"', () => {
|
|
241
|
-
const schema1 = createSchema({
|
|
242
|
-
status: arraySchema(),
|
|
243
|
-
item_list_singular: { type: "string" }
|
|
244
|
-
// Not an array
|
|
245
|
-
});
|
|
246
|
-
assert.strictEqual(getItemsName(schema1), "status");
|
|
247
|
-
const schema2 = createSchema({
|
|
248
|
-
status: arraySchema(),
|
|
249
|
-
// deprioritized plural
|
|
250
|
-
another_singular_array: arraySchema()
|
|
251
|
-
// singular array
|
|
252
|
-
});
|
|
253
|
-
assert.strictEqual(getItemsName(schema2), "status");
|
|
254
|
-
const schema3 = createSchema({
|
|
255
|
-
another_singular_array: arraySchema(),
|
|
256
|
-
status: arraySchema()
|
|
257
|
-
});
|
|
258
|
-
assert.strictEqual(getItemsName(schema3), "status");
|
|
259
|
-
});
|
|
260
|
-
test("complex scenario with multiple heuristics", () => {
|
|
261
|
-
const schema = createSchema({
|
|
262
|
-
errors: arraySchema(),
|
|
263
|
-
// deprioritized plural (rank 6)
|
|
264
|
-
warnings: arraySchema(),
|
|
265
|
-
// deprioritized plural (rank 6)
|
|
266
|
-
payload: arraySchema(),
|
|
267
|
-
// primary other keyword (rank 3)
|
|
268
|
-
logs: arraySchema(),
|
|
269
|
-
// non-deprioritized plural (rank 5)
|
|
270
|
-
someData: arraySchema()
|
|
271
|
-
// singular
|
|
272
|
-
});
|
|
273
|
-
assert.strictEqual(getItemsName(schema), "payload");
|
|
274
|
-
});
|
|
275
|
-
test("scenario where only deprioritized plurals exist", () => {
|
|
276
|
-
const schema = createSchema({
|
|
277
|
-
errors: arraySchema(),
|
|
278
|
-
warnings: arraySchema(),
|
|
279
|
-
details: arraySchema()
|
|
280
|
-
});
|
|
281
|
-
assert.strictEqual(getItemsName(schema), "errors");
|
|
282
|
-
});
|
|
283
|
-
test("keyword that is also a deprioritized plural should get keyword rank", () => {
|
|
284
|
-
const schema = createSchema({
|
|
285
|
-
someSingular: arraySchema(),
|
|
286
|
-
users: arraySchema(),
|
|
287
|
-
// Is a PRIMARY_OTHER_KEYWORD (rank 3)
|
|
288
|
-
details: arraySchema()
|
|
289
|
-
// Is a PLURAL_DEPRIORITIZE_LIST item (rank 6)
|
|
290
|
-
});
|
|
291
|
-
assert.strictEqual(getItemsName(schema), "users");
|
|
292
|
-
});
|
|
293
|
-
test("deprioritized plural with mixed casing is correctly identified", () => {
|
|
294
|
-
const schema = createSchema({
|
|
295
|
-
someSingular: arraySchema(),
|
|
296
|
-
Errors: arraySchema(),
|
|
297
|
-
// "errors" is on deprioritize list
|
|
298
|
-
anotherSingular: arraySchema()
|
|
299
|
-
});
|
|
300
|
-
assert.strictEqual(getItemsName(schema), "Errors");
|
|
301
|
-
});
|
|
302
|
-
test("property name with leading/trailing underscores and on deprioritize list", () => {
|
|
303
|
-
const schema = createSchema({
|
|
304
|
-
_links_: arraySchema(),
|
|
305
|
-
// plural of link, "links" is on deprioritize list
|
|
306
|
-
items: arraySchema()
|
|
307
|
-
// primary top-tier keyword
|
|
308
|
-
});
|
|
309
|
-
assert.strictEqual(getItemsName(schema), "items");
|
|
310
|
-
const schema2 = createSchema({
|
|
311
|
-
_links_: arraySchema(),
|
|
312
|
-
someData: arraySchema()
|
|
313
|
-
});
|
|
314
|
-
assert.strictEqual(getItemsName(schema2), "_links_");
|
|
315
|
-
});
|
|
316
|
-
test("property name with special characters (non-alphanumeric)", () => {
|
|
317
|
-
const schema = createSchema({
|
|
318
|
-
"item-list": arraySchema(),
|
|
319
|
-
// plural, not on deprioritize list
|
|
320
|
-
"data-feed": arraySchema()
|
|
321
|
-
// singular
|
|
322
|
-
});
|
|
323
|
-
assert.strictEqual(getItemsName(schema), "item-list");
|
|
324
|
-
const schema2 = createSchema({
|
|
325
|
-
"item-list": arraySchema(),
|
|
326
|
-
data: arraySchema()
|
|
327
|
-
// keyword (rank 2)
|
|
328
|
-
});
|
|
329
|
-
assert.strictEqual(getItemsName(schema2), "data");
|
|
330
|
-
});
|
|
331
|
-
test("empty string as property name for an array", () => {
|
|
332
|
-
const schema1 = createSchema({
|
|
333
|
-
"": arraySchema(),
|
|
334
|
-
items: arraySchema()
|
|
335
|
-
});
|
|
336
|
-
assert.strictEqual(getItemsName(schema1), "items");
|
|
337
|
-
const schema2 = createSchema({
|
|
338
|
-
"": arraySchema(),
|
|
339
|
-
anotherArray: arraySchema()
|
|
340
|
-
});
|
|
341
|
-
assert.strictEqual(getItemsName(schema2), "");
|
|
342
|
-
const schema3 = createSchema({
|
|
343
|
-
anotherArray: arraySchema(),
|
|
344
|
-
"": arraySchema()
|
|
345
|
-
});
|
|
346
|
-
assert.strictEqual(getItemsName(schema3), "anotherArray");
|
|
347
|
-
});
|
|
348
|
-
});
|
|
349
|
-
describe("Comprehensive Ranking and Order Independence", () => {
|
|
350
|
-
test("should pick top-tier keyword regardless of its order among other types", () => {
|
|
351
|
-
const schema = createSchema({
|
|
352
|
-
userActions: arraySchema(),
|
|
353
|
-
// Non-deprioritized plural (rank 5)
|
|
354
|
-
configurations: arraySchema(),
|
|
355
|
-
// Deprioritized plural (rank 6)
|
|
356
|
-
entries: arraySchema(),
|
|
357
|
-
// Secondary keyword (rank 4)
|
|
358
|
-
records: arraySchema(),
|
|
359
|
-
// Primary other keyword (rank 3)
|
|
360
|
-
data: arraySchema(),
|
|
361
|
-
// Primary top-tier keyword (rank 2)
|
|
362
|
-
someSingular: arraySchema()
|
|
363
|
-
// Singular (fallback)
|
|
364
|
-
});
|
|
365
|
-
assert.strictEqual(getItemsName(schema), "data");
|
|
366
|
-
});
|
|
367
|
-
test("should pick primary other keyword if no top-tier, regardless of order", () => {
|
|
368
|
-
const schema = createSchema({
|
|
369
|
-
userActions: arraySchema(),
|
|
370
|
-
// Non-deprioritized plural (rank 5)
|
|
371
|
-
configurations: arraySchema(),
|
|
372
|
-
// Deprioritized plural (rank 6)
|
|
373
|
-
payload: arraySchema(),
|
|
374
|
-
// Primary other keyword (rank 3)
|
|
375
|
-
entries: arraySchema(),
|
|
376
|
-
// Secondary keyword (rank 4)
|
|
377
|
-
someSingular: arraySchema()
|
|
378
|
-
// Singular (fallback)
|
|
379
|
-
});
|
|
380
|
-
assert.strictEqual(getItemsName(schema), "payload");
|
|
381
|
-
});
|
|
382
|
-
test("should pick secondary keyword if no primary, regardless of order", () => {
|
|
383
|
-
const schema = createSchema({
|
|
384
|
-
userActions: arraySchema(),
|
|
385
|
-
// Non-deprioritized plural (rank 5)
|
|
386
|
-
elements: arraySchema(),
|
|
387
|
-
// Secondary keyword (rank 4)
|
|
388
|
-
configurations: arraySchema(),
|
|
389
|
-
// Deprioritized plural (rank 6)
|
|
390
|
-
someSingular: arraySchema()
|
|
391
|
-
// Singular (fallback)
|
|
392
|
-
});
|
|
393
|
-
assert.strictEqual(getItemsName(schema), "elements");
|
|
394
|
-
});
|
|
395
|
-
test("should pick non-deprioritized plural if no keywords, regardless of order", () => {
|
|
396
|
-
const schema = createSchema({
|
|
397
|
-
configurations: arraySchema(),
|
|
398
|
-
// Deprioritized plural (rank 6)
|
|
399
|
-
userActions: arraySchema(),
|
|
400
|
-
// Non-deprioritized plural (rank 5)
|
|
401
|
-
someSingular: arraySchema()
|
|
402
|
-
// Singular (fallback)
|
|
403
|
-
});
|
|
404
|
-
assert.strictEqual(getItemsName(schema), "userActions");
|
|
405
|
-
});
|
|
406
|
-
test("should pick deprioritized plural if only that and singulars, regardless of order", () => {
|
|
407
|
-
const schema = createSchema({
|
|
408
|
-
someSingular: arraySchema(),
|
|
409
|
-
// Singular (fallback)
|
|
410
|
-
configurations: arraySchema(),
|
|
411
|
-
// Deprioritized plural (rank 6)
|
|
412
|
-
anotherSingular: arraySchema()
|
|
413
|
-
// Singular (fallback)
|
|
414
|
-
});
|
|
415
|
-
assert.strictEqual(getItemsName(schema), "configurations");
|
|
416
|
-
});
|
|
417
|
-
test("if multiple properties have the same highest rank, first one is chosen", () => {
|
|
418
|
-
const schema1 = createSchema({
|
|
419
|
-
data: arraySchema(),
|
|
420
|
-
// rank 2
|
|
421
|
-
items: arraySchema(),
|
|
422
|
-
// rank 2
|
|
423
|
-
results: arraySchema()
|
|
424
|
-
// rank 2
|
|
425
|
-
});
|
|
426
|
-
assert.strictEqual(getItemsName(schema1), "data");
|
|
427
|
-
const schema2 = createSchema({
|
|
428
|
-
items: arraySchema(),
|
|
429
|
-
// rank 2
|
|
430
|
-
data: arraySchema()
|
|
431
|
-
// rank 2
|
|
432
|
-
});
|
|
433
|
-
assert.strictEqual(getItemsName(schema2), "items");
|
|
434
|
-
const schema3 = createSchema({
|
|
435
|
-
goodPlural: arraySchema(),
|
|
436
|
-
// rank 5
|
|
437
|
-
anotherGoodPlural: arraySchema()
|
|
438
|
-
// rank 5
|
|
439
|
-
});
|
|
440
|
-
assert.strictEqual(getItemsName(schema3), "goodPlural");
|
|
441
|
-
});
|
|
442
|
-
test('singular name on deprioritize list (e.g. "status") is treated as singular if not plural', () => {
|
|
443
|
-
const schema1 = createSchema({
|
|
444
|
-
status: arraySchema(),
|
|
445
|
-
// Singular
|
|
446
|
-
another: arraySchema()
|
|
447
|
-
// Singular
|
|
448
|
-
});
|
|
449
|
-
assert.strictEqual(getItemsName(schema1), "status");
|
|
450
|
-
const schema2 = createSchema({
|
|
451
|
-
another: arraySchema(),
|
|
452
|
-
// Singular
|
|
453
|
-
status: arraySchema()
|
|
454
|
-
// Singular
|
|
455
|
-
});
|
|
456
|
-
assert.strictEqual(getItemsName(schema2), "another");
|
|
457
|
-
const schema3 = createSchema({
|
|
458
|
-
status: arraySchema(),
|
|
459
|
-
// Singular
|
|
460
|
-
items: arraySchema()
|
|
461
|
-
// Keyword, rank 2
|
|
462
|
-
});
|
|
463
|
-
assert.strictEqual(getItemsName(schema3), "items");
|
|
464
|
-
const schema4 = createSchema({
|
|
465
|
-
status: arraySchema(),
|
|
466
|
-
// Singular
|
|
467
|
-
statuses: arraySchema()
|
|
468
|
-
// Plural (non-deprioritized as "statuses" is not on list), rank 5
|
|
469
|
-
});
|
|
470
|
-
assert.strictEqual(getItemsName(schema4), "statuses");
|
|
471
|
-
});
|
|
472
|
-
test("a keyword should be preferred over a non-keyword plural even if plural comes first", () => {
|
|
473
|
-
const schema = createSchema({
|
|
474
|
-
products: arraySchema(),
|
|
475
|
-
// Non-keyword plural (rank 5)
|
|
476
|
-
data: arraySchema()
|
|
477
|
-
// Primary top-tier keyword (rank 2)
|
|
478
|
-
});
|
|
479
|
-
assert.strictEqual(getItemsName(schema), "data");
|
|
480
|
-
});
|
|
481
|
-
test("full spectrum ranking test with specific order", () => {
|
|
482
|
-
const schema = createSchema({
|
|
483
|
-
alpha: arraySchema(),
|
|
484
|
-
// Singular fallback
|
|
485
|
-
zeta_errors: arraySchema(),
|
|
486
|
-
// Deprioritized plural (rank 6) "errors"
|
|
487
|
-
beta_actions: arraySchema(),
|
|
488
|
-
// Non-deprioritized plural (rank 5) "actions" (assuming not on deprioritize list for this test)
|
|
489
|
-
gamma_elements: arraySchema(),
|
|
490
|
-
// Secondary keyword (rank 4) "elements"
|
|
491
|
-
delta_records: arraySchema(),
|
|
492
|
-
// Primary other keyword (rank 3) "records"
|
|
493
|
-
epsilon_items: arraySchema()
|
|
494
|
-
// Primary top-tier keyword (rank 2) "items"
|
|
495
|
-
});
|
|
496
|
-
assert.strictEqual(
|
|
497
|
-
getItemsName(schema),
|
|
498
|
-
"epsilon_items",
|
|
499
|
-
"Failed with specific order 1"
|
|
500
|
-
);
|
|
501
|
-
const schema2 = createSchema({
|
|
502
|
-
epsilon_items: arraySchema(),
|
|
503
|
-
// Rank 2
|
|
504
|
-
delta_records: arraySchema(),
|
|
505
|
-
// Rank 3
|
|
506
|
-
gamma_elements: arraySchema(),
|
|
507
|
-
// Rank 4
|
|
508
|
-
beta_actions: arraySchema(),
|
|
509
|
-
// Rank 5
|
|
510
|
-
zeta_errors: arraySchema(),
|
|
511
|
-
// Rank 6
|
|
512
|
-
alpha: arraySchema()
|
|
513
|
-
// Fallback
|
|
514
|
-
});
|
|
515
|
-
assert.strictEqual(
|
|
516
|
-
getItemsName(schema2),
|
|
517
|
-
"epsilon_items",
|
|
518
|
-
"Failed with specific order 2 (reversed)"
|
|
519
|
-
);
|
|
520
|
-
});
|
|
521
|
-
test("ensure singular items from PLURAL_DEPRIORITIZE_LIST are not ranked as plural", () => {
|
|
522
|
-
const schema = createSchema({
|
|
523
|
-
status: arraySchema(),
|
|
524
|
-
// Singular, not plural. Fallback.
|
|
525
|
-
items: arraySchema(),
|
|
526
|
-
// Keyword, rank 2.
|
|
527
|
-
logs: arraySchema()
|
|
528
|
-
// Plural, not on deprioritize list. Rank 5.
|
|
529
|
-
});
|
|
530
|
-
assert.strictEqual(getItemsName(schema), "items");
|
|
531
|
-
const schema2 = createSchema({
|
|
532
|
-
status: arraySchema(),
|
|
533
|
-
// Singular
|
|
534
|
-
logs: arraySchema()
|
|
535
|
-
// Plural, rank 5
|
|
536
|
-
});
|
|
537
|
-
assert.strictEqual(getItemsName(schema2), "logs");
|
|
538
|
-
const schema3 = createSchema({
|
|
539
|
-
status: arraySchema(),
|
|
540
|
-
// Singular
|
|
541
|
-
another_singular: arraySchema()
|
|
542
|
-
// Singular
|
|
543
|
-
});
|
|
544
|
-
assert.strictEqual(getItemsName(schema3), "status");
|
|
545
|
-
});
|
|
546
|
-
});
|
|
547
|
-
});
|
|
548
|
-
//# sourceMappingURL=pagination-result.test.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/lib/pagination/pagination-result.test.ts"],
|
|
4
|
-
"sourcesContent": ["import assert from 'node:assert/strict';\nimport { describe, test } from 'node:test';\nimport type { SchemaObject, SchemasObject } from 'openapi3-ts/oas31';\n\nimport { getItemsName } from './pagination-result.ts';\n\nfunction createSchema(properties: SchemasObject) {\n return properties;\n}\n\nfunction arraySchema(items?: SchemaObject): SchemaObject {\n return {\n type: 'array',\n items: items ?? { type: 'object' },\n };\n}\n\nfunction stringSchema(): SchemaObject {\n return {\n type: 'string',\n };\n}\n\nfunction objectSchema(properties?: SchemasObject): SchemaObject {\n return {\n type: 'object',\n properties: properties ?? {},\n };\n}\n\ndescribe('getItemsName()', () => {\n describe('No Array Properties', () => {\n test('should return null if no properties are arrays', () => {\n const schema = createSchema({\n name: stringSchema(),\n age: { type: 'integer' },\n details: objectSchema(),\n });\n assert.strictEqual(getItemsName(schema), null);\n });\n });\n\n describe('Single Array Property', () => {\n test('should return the name of the single array property', () => {\n const schema = createSchema({\n users: arraySchema(),\n count: { type: 'integer' },\n });\n assert.strictEqual(getItemsName(schema), 'users');\n });\n\n test('should return the name even if other non-array properties exist', () => {\n const schema = createSchema({\n id: stringSchema(),\n itemsList: arraySchema(),\n metadata: objectSchema(),\n });\n assert.strictEqual(getItemsName(schema), 'itemsList');\n });\n });\n\n describe('Multiple Array Properties - Keyword Heuristics', () => {\n test('should prefer primary top-tier keywords (data)', () => {\n const schema = createSchema({\n users: arraySchema(),\n data: arraySchema(),\n records: arraySchema(),\n });\n assert.strictEqual(getItemsName(schema), 'data');\n });\n\n test('should prefer primary top-tier keywords (items)', () => {\n const schema = createSchema({\n elements: arraySchema(),\n items: arraySchema(),\n values: arraySchema(),\n });\n assert.strictEqual(getItemsName(schema), 'items');\n });\n\n test('should prefer primary top-tier keywords (results)', () => {\n const schema = createSchema({\n list: arraySchema(),\n results: arraySchema(), // Primary top-tier\n entries: arraySchema(), // Secondary\n });\n assert.strictEqual(getItemsName(schema), 'results');\n });\n\n test('should prefer primary top-tier keywords (value) - case insensitive', () => {\n const schema = createSchema({\n Value: arraySchema(),\n otherArray: arraySchema(),\n });\n assert.strictEqual(getItemsName(schema), 'Value');\n });\n\n test('should prefer primary other keywords (records) if no top-tier', () => {\n const schema = createSchema({\n elements: arraySchema(),\n records: arraySchema(), // Primary other\n anotherList: arraySchema(),\n });\n assert.strictEqual(getItemsName(schema), 'records');\n });\n\n test('should prefer primary other keywords (content) - case insensitive', () => {\n const schema = createSchema({\n Content: arraySchema(),\n genericList: arraySchema(),\n });\n assert.strictEqual(getItemsName(schema), 'Content');\n });\n\n test('should prefer secondary keywords (entries) if no primary', () => {\n const schema = createSchema({\n somePlural: arraySchema(), // Will be plural, but 'entries' is keyword\n entries: arraySchema(), // Secondary\n anotherPlural: arraySchema(),\n });\n assert.strictEqual(getItemsName(schema), 'entries');\n });\n\n test('should prefer \"data\" over \"items\" if both are top-tier (based on order in PRIMARY_TOP_TIER_KEYWORDS)', () => {\n // This test assumes internal stability of PRIMARY_TOP_TIER_KEYWORDS or that the first match wins.\n // The current implementation iterates and updates if a *better* rank is found.\n // If 'data' and 'items' have the same rank (2), the one encountered first as per property order might win.\n // Let's test specific ordering.\n const schema1 = createSchema({\n items: arraySchema(),\n data: arraySchema(),\n });\n assert.strictEqual(getItemsName(schema1), 'items'); // 'items' comes first in schema\n\n const schema2 = createSchema({\n data: arraySchema(),\n items: arraySchema(),\n });\n assert.strictEqual(getItemsName(schema2), 'data'); // 'data' comes first in schema\n });\n\n test('should prefer \"items\" (rank 2) over \"records\" (rank 3)', () => {\n const schema = createSchema({\n records: arraySchema(),\n items: arraySchema(),\n });\n assert.strictEqual(getItemsName(schema), 'items');\n });\n\n test('should prefer \"records\" (rank 3) over \"entries\" (rank 4)', () => {\n const schema = createSchema({\n entries: arraySchema(),\n records: arraySchema(),\n });\n assert.strictEqual(getItemsName(schema), 'records');\n });\n });\n\n describe('Multiple Array Properties - Pluralization Heuristics', () => {\n test('should prefer a non-deprioritized plural over a non-keyword singular', () => {\n const schema = createSchema({\n products: arraySchema(), // Plural, not deprioritized\n detail: arraySchema(), // Singular\n info: arraySchema(), // Singular\n });\n assert.strictEqual(getItemsName(schema), 'products');\n });\n\n test('should prefer a non-deprioritized plural (users) over a deprioritized plural (details)', () => {\n const schema = createSchema({\n details: arraySchema(), // Plural, deprioritized\n users: arraySchema(), // Plural, not deprioritized\n });\n assert.strictEqual(getItemsName(schema), 'users');\n });\n\n test('should prefer a keyword like \"items\" (rank 2) over a non-deprioritized plural \"products\" (rank 5)', () => {\n const schema = createSchema({\n products: arraySchema(),\n items: arraySchema(),\n });\n assert.strictEqual(getItemsName(schema), 'items');\n });\n\n test('should prefer a non-deprioritized plural \"orders\" (rank 5) over a deprioritized plural \"attributes\" (rank 6)', () => {\n const schema = createSchema({\n attributes: arraySchema(),\n orders: arraySchema(),\n });\n assert.strictEqual(getItemsName(schema), 'orders');\n });\n\n test('should pick a deprioritized plural if it is the only plural and no keywords match better', () => {\n const schema = createSchema({\n links: arraySchema(), // Plural, deprioritized\n singularName: arraySchema(),\n anotherSingular: arraySchema(),\n });\n assert.strictEqual(getItemsName(schema), 'links');\n });\n\n test('should handle mixed case plurals correctly', () => {\n const schema = createSchema({\n Events: arraySchema(), // Plural, not deprioritized\n metaData: arraySchema(), // Singular\n });\n assert.strictEqual(getItemsName(schema), 'Events');\n });\n });\n\n describe('Fallback Behavior', () => {\n test('should return the first array property if no heuristics match strongly', () => {\n const schema = createSchema({\n arrayOne: arraySchema(),\n arrayTwo: arraySchema(),\n arrayThree: arraySchema(),\n });\n assert.strictEqual(getItemsName(schema), 'arrayOne');\n });\n\n test('should return the first array even if others are deprioritized plurals but no better match', () => {\n const schema = createSchema({\n alphaList: arraySchema(), // No strong signal\n beta_links: arraySchema(), // Deprioritized plural\n gamma_series: arraySchema(), // Deprioritized plural\n });\n assert.strictEqual(getItemsName(schema), 'alphaList'); // Falls back to first\n });\n });\n\n describe('Edge Cases and Specificity', () => {\n test('should handle properties that are not valid SchemaObjects gracefully (e.g. boolean)', () => {\n const schema = createSchema({\n validArray: arraySchema(),\n invalidProp: true as never, // Not a valid SchemaObject\n });\n assert.strictEqual(getItemsName(schema), 'validArray');\n });\n\n test('should handle properties that are null SchemaObjects gracefully', () => {\n const schema = createSchema({\n anotherArray: arraySchema(),\n nullProp: null as never, // Not a valid SchemaObject\n });\n assert.strictEqual(getItemsName(schema), 'anotherArray');\n });\n\n test('should correctly identify primary keyword even with other plausible names', () => {\n const schema = createSchema({\n userList: arraySchema(),\n data: arraySchema(), // Primary top-tier\n all_users: arraySchema(),\n });\n assert.strictEqual(getItemsName(schema), 'data');\n });\n\n test('plural \"status\" (deprioritized) vs singular \"item_list\"', () => {\n // 'status' is plural but on deprioritize list (rank 6)\n // 'item_list' is singular (no rank from pluralization)\n // Fallback should pick 'status' if it's the only plural or first among equals.\n // However, if 'item_list' is the only array, it should be picked.\n const schema1 = createSchema({\n status: arraySchema(),\n item_list_singular: { type: 'string' }, // Not an array\n });\n assert.strictEqual(getItemsName(schema1), 'status');\n\n const schema2 = createSchema({\n status: arraySchema(), // deprioritized plural\n another_singular_array: arraySchema(), // singular array\n });\n // 'status' (rank 6) vs 'another_singular_array' (no rank from plural, default to first if no other match)\n // The current logic would make 'status' rank 6. 'another_singular_array' would be rank Infinity initially.\n // Then, if no other heuristics match, it falls back to the first array.\n // If 'status' is first, it wins. If 'another_singular_array' is first, it wins.\n // Let's test order.\n assert.strictEqual(getItemsName(schema2), 'status'); // 'status' is rank 6, 'another_singular_array' is effectively rank > 6\n\n const schema3 = createSchema({\n another_singular_array: arraySchema(),\n status: arraySchema(),\n });\n assert.strictEqual(getItemsName(schema3), 'status'); // 'status' (rank 6) should still be preferred over 'another_singular_array' (rank > 6)\n });\n\n test('complex scenario with multiple heuristics', () => {\n const schema = createSchema({\n errors: arraySchema(), // deprioritized plural (rank 6)\n warnings: arraySchema(), // deprioritized plural (rank 6)\n payload: arraySchema(), // primary other keyword (rank 3)\n logs: arraySchema(), // non-deprioritized plural (rank 5)\n someData: arraySchema(), // singular\n });\n assert.strictEqual(getItemsName(schema), 'payload');\n });\n\n test('scenario where only deprioritized plurals exist', () => {\n const schema = createSchema({\n errors: arraySchema(),\n warnings: arraySchema(),\n details: arraySchema(),\n });\n // All are rank 6. The first one encountered should be returned.\n assert.strictEqual(getItemsName(schema), 'errors');\n });\n\n test('keyword that is also a deprioritized plural should get keyword rank', () => {\n // \"errors\" is on PLURAL_DEPRIORITIZE_LIST (would be rank 6)\n // If \"errors\" was also a secondary keyword (rank 4), it should be chosen with rank 4.\n // This test relies on the internal keyword lists or would need to mock them.\n // For now, let's use an existing keyword that is plural: \"users\" is in PRIMARY_OTHER_KEYWORDS (rank 3).\n // If \"users\" were (hypothetically) also on PLURAL_DEPRIORITIZE_LIST, it should still be rank 3.\n const schema = createSchema({\n someSingular: arraySchema(),\n users: arraySchema(), // Is a PRIMARY_OTHER_KEYWORD (rank 3)\n details: arraySchema(), // Is a PLURAL_DEPRIORITIZE_LIST item (rank 6)\n });\n // \"users\" (rank 3) should win over \"details\" (rank 6) and \"someSingular\" (fallback)\n assert.strictEqual(getItemsName(schema), 'users');\n });\n\n test('deprioritized plural with mixed casing is correctly identified', () => {\n const schema = createSchema({\n someSingular: arraySchema(),\n Errors: arraySchema(), // \"errors\" is on deprioritize list\n anotherSingular: arraySchema(),\n });\n // \"Errors\" (rank 6) should be chosen over singulars (fallback)\n assert.strictEqual(getItemsName(schema), 'Errors');\n });\n\n test('property name with leading/trailing underscores and on deprioritize list', () => {\n const schema = createSchema({\n _links_: arraySchema(), // plural of link, \"links\" is on deprioritize list\n items: arraySchema(), // primary top-tier keyword\n });\n // \"items\" (rank 2) should win over \"_links_\" (rank 6)\n assert.strictEqual(getItemsName(schema), 'items');\n\n const schema2 = createSchema({\n _links_: arraySchema(),\n someData: arraySchema(),\n });\n assert.strictEqual(getItemsName(schema2), '_links_');\n });\n\n test('property name with special characters (non-alphanumeric)', () => {\n const schema = createSchema({\n 'item-list': arraySchema(), // plural, not on deprioritize list\n 'data-feed': arraySchema(), // singular\n });\n // 'item-list' (rank 5) vs 'data-feed' (fallback)\n assert.strictEqual(getItemsName(schema), 'item-list');\n\n const schema2 = createSchema({\n 'item-list': arraySchema(),\n data: arraySchema(), // keyword (rank 2)\n });\n assert.strictEqual(getItemsName(schema2), 'data');\n });\n\n test('empty string as property name for an array', () => {\n const schema1 = createSchema({\n '': arraySchema(),\n items: arraySchema(),\n });\n // \"items\" (rank 2) should win over \"\" (would be rank 5 if considered plural, or fallback)\n assert.strictEqual(getItemsName(schema1), 'items');\n\n const schema2 = createSchema({\n '': arraySchema(),\n anotherArray: arraySchema(),\n });\n // \"\" is plural (empty string is technically pluralized to \"s\" by some libraries,\n // but pluralize.isPlural('') is false). So it's a fallback.\n // The first one, \"\", should be chosen.\n assert.strictEqual(getItemsName(schema2), '');\n\n const schema3 = createSchema({\n anotherArray: arraySchema(),\n '': arraySchema(),\n });\n assert.strictEqual(getItemsName(schema3), 'anotherArray');\n });\n });\n\n describe('Comprehensive Ranking and Order Independence', () => {\n test('should pick top-tier keyword regardless of its order among other types', () => {\n const schema = createSchema({\n userActions: arraySchema(), // Non-deprioritized plural (rank 5)\n configurations: arraySchema(), // Deprioritized plural (rank 6)\n entries: arraySchema(), // Secondary keyword (rank 4)\n records: arraySchema(), // Primary other keyword (rank 3)\n data: arraySchema(), // Primary top-tier keyword (rank 2)\n someSingular: arraySchema(), // Singular (fallback)\n });\n assert.strictEqual(getItemsName(schema), 'data');\n });\n\n test('should pick primary other keyword if no top-tier, regardless of order', () => {\n const schema = createSchema({\n userActions: arraySchema(), // Non-deprioritized plural (rank 5)\n configurations: arraySchema(), // Deprioritized plural (rank 6)\n payload: arraySchema(), // Primary other keyword (rank 3)\n entries: arraySchema(), // Secondary keyword (rank 4)\n someSingular: arraySchema(), // Singular (fallback)\n });\n assert.strictEqual(getItemsName(schema), 'payload');\n });\n\n test('should pick secondary keyword if no primary, regardless of order', () => {\n const schema = createSchema({\n userActions: arraySchema(), // Non-deprioritized plural (rank 5)\n elements: arraySchema(), // Secondary keyword (rank 4)\n configurations: arraySchema(), // Deprioritized plural (rank 6)\n someSingular: arraySchema(), // Singular (fallback)\n });\n assert.strictEqual(getItemsName(schema), 'elements');\n });\n\n test('should pick non-deprioritized plural if no keywords, regardless of order', () => {\n const schema = createSchema({\n configurations: arraySchema(), // Deprioritized plural (rank 6)\n userActions: arraySchema(), // Non-deprioritized plural (rank 5)\n someSingular: arraySchema(), // Singular (fallback)\n });\n assert.strictEqual(getItemsName(schema), 'userActions');\n });\n\n test('should pick deprioritized plural if only that and singulars, regardless of order', () => {\n const schema = createSchema({\n someSingular: arraySchema(), // Singular (fallback)\n configurations: arraySchema(), // Deprioritized plural (rank 6)\n anotherSingular: arraySchema(), // Singular (fallback)\n });\n assert.strictEqual(getItemsName(schema), 'configurations');\n });\n\n test('if multiple properties have the same highest rank, first one is chosen', () => {\n const schema1 = createSchema({\n data: arraySchema(), // rank 2\n items: arraySchema(), // rank 2\n results: arraySchema(), // rank 2\n });\n assert.strictEqual(getItemsName(schema1), 'data');\n\n const schema2 = createSchema({\n items: arraySchema(), // rank 2\n data: arraySchema(), // rank 2\n });\n assert.strictEqual(getItemsName(schema2), 'items');\n\n const schema3 = createSchema({\n goodPlural: arraySchema(), // rank 5\n anotherGoodPlural: arraySchema(), // rank 5\n });\n assert.strictEqual(getItemsName(schema3), 'goodPlural');\n });\n\n test('singular name on deprioritize list (e.g. \"status\") is treated as singular if not plural', () => {\n // 'status' is singular, pluralize.isPlural('status') is false.\n // So it doesn't get rank 6 from being a deprioritized plural.\n // It's just a regular singular name.\n const schema1 = createSchema({\n status: arraySchema(), // Singular\n another: arraySchema(), // Singular\n });\n assert.strictEqual(getItemsName(schema1), 'status'); // Fallback to first\n\n const schema2 = createSchema({\n another: arraySchema(), // Singular\n status: arraySchema(), // Singular\n });\n assert.strictEqual(getItemsName(schema2), 'another'); // Fallback to first\n\n const schema3 = createSchema({\n status: arraySchema(), // Singular\n items: arraySchema(), // Keyword, rank 2\n });\n assert.strictEqual(getItemsName(schema3), 'items');\n\n const schema4 = createSchema({\n status: arraySchema(), // Singular\n statuses: arraySchema(), // Plural (non-deprioritized as \"statuses\" is not on list), rank 5\n });\n // \"statuses\" (rank 5) vs \"status\" (no rank, fallback)\n assert.strictEqual(getItemsName(schema4), 'statuses');\n });\n\n test('a keyword should be preferred over a non-keyword plural even if plural comes first', () => {\n const schema = createSchema({\n products: arraySchema(), // Non-keyword plural (rank 5)\n data: arraySchema(), // Primary top-tier keyword (rank 2)\n });\n assert.strictEqual(getItemsName(schema), 'data');\n });\n\n test('full spectrum ranking test with specific order', () => {\n const schema = createSchema({\n alpha: arraySchema(), // Singular fallback\n zeta_errors: arraySchema(), // Deprioritized plural (rank 6) \"errors\"\n beta_actions: arraySchema(), // Non-deprioritized plural (rank 5) \"actions\" (assuming not on deprioritize list for this test)\n gamma_elements: arraySchema(), // Secondary keyword (rank 4) \"elements\"\n delta_records: arraySchema(), // Primary other keyword (rank 3) \"records\"\n epsilon_items: arraySchema(), // Primary top-tier keyword (rank 2) \"items\"\n });\n assert.strictEqual(\n getItemsName(schema),\n 'epsilon_items',\n 'Failed with specific order 1',\n );\n\n const schema2 = createSchema({\n epsilon_items: arraySchema(), // Rank 2\n delta_records: arraySchema(), // Rank 3\n gamma_elements: arraySchema(), // Rank 4\n beta_actions: arraySchema(), // Rank 5\n zeta_errors: arraySchema(), // Rank 6\n alpha: arraySchema(), // Fallback\n });\n assert.strictEqual(\n getItemsName(schema2),\n 'epsilon_items',\n 'Failed with specific order 2 (reversed)',\n );\n });\n\n test('ensure singular items from PLURAL_DEPRIORITIZE_LIST are not ranked as plural', () => {\n // \"status\" is on PLURAL_DEPRIORITIZE_LIST, but singular \"status\" is not plural.\n const schema = createSchema({\n status: arraySchema(), // Singular, not plural. Fallback.\n items: arraySchema(), // Keyword, rank 2.\n logs: arraySchema(), // Plural, not on deprioritize list. Rank 5.\n });\n assert.strictEqual(getItemsName(schema), 'items');\n\n const schema2 = createSchema({\n status: arraySchema(), // Singular\n logs: arraySchema(), // Plural, rank 5\n });\n assert.strictEqual(getItemsName(schema2), 'logs');\n\n const schema3 = createSchema({\n status: arraySchema(), // Singular\n another_singular: arraySchema(), // Singular\n });\n assert.strictEqual(getItemsName(schema3), 'status'); // Fallback to first\n });\n });\n});\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.test.d.ts","sourceRoot":"","sources":["../../../src/lib/pagination/pagination.test.ts"],"names":[],"mappings":""}
|