codebuff 1.0.104 → 1.0.108
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/dist/cli.js +11 -1
- package/dist/cli.js.map +1 -1
- package/dist/client.d.ts +4 -1
- package/dist/client.js +46 -17
- package/dist/client.js.map +1 -1
- package/dist/common/actions.d.ts +222 -59
- package/dist/common/actions.js +32 -23
- package/dist/common/actions.js.map +1 -1
- package/dist/common/billing/quota-manager.d.ts +12 -25
- package/dist/common/billing/quota-manager.js +42 -6
- package/dist/common/billing/quota-manager.js.map +1 -1
- package/dist/common/constants.d.ts +1 -1
- package/dist/common/constants.js +2 -0
- package/dist/common/constants.js.map +1 -1
- package/dist/common/types/usage.d.ts +3 -3
- package/dist/common/types/usage.js +1 -1
- package/dist/common/types/usage.js.map +1 -1
- package/dist/common/util/string.d.ts +1 -0
- package/dist/common/util/string.js +22 -1
- package/dist/common/util/string.js.map +1 -1
- package/dist/common/websockets/websocket-schema.d.ts +284 -178
- package/dist/index.js +2 -2
- package/dist/tool-handlers.js +8 -4
- package/dist/tool-handlers.js.map +1 -1
- package/dist/{update-manicode.js → update-codebuff.js} +2 -2
- package/dist/{update-manicode.js.map → update-codebuff.js.map} +1 -1
- package/package.json +1 -1
- /package/dist/{update-manicode.d.ts → update-codebuff.d.ts} +0 -0
|
@@ -1,38 +1,25 @@
|
|
|
1
|
+
type CheckQuotaResult = Promise<{
|
|
2
|
+
creditsUsed: number;
|
|
3
|
+
quota: number;
|
|
4
|
+
endDate: Date;
|
|
5
|
+
subscription_active: boolean;
|
|
6
|
+
session_credits_used?: number;
|
|
7
|
+
}>;
|
|
1
8
|
export interface IQuotaManager {
|
|
2
|
-
checkQuota(id: string):
|
|
3
|
-
creditsUsed: number;
|
|
4
|
-
quota: number;
|
|
5
|
-
endDate: Date;
|
|
6
|
-
subscription_active: boolean;
|
|
7
|
-
}>;
|
|
9
|
+
checkQuota(id: string): CheckQuotaResult;
|
|
8
10
|
setNextQuota(id: string, quota_exceeded: boolean, next_quota_reset: Date): Promise<void>;
|
|
9
11
|
}
|
|
10
12
|
export declare class AnonymousQuotaManager implements IQuotaManager {
|
|
11
|
-
checkQuota(fingerprintId: string):
|
|
12
|
-
creditsUsed: number;
|
|
13
|
-
quota: number;
|
|
14
|
-
endDate: Date;
|
|
15
|
-
subscription_active: boolean;
|
|
16
|
-
}>;
|
|
13
|
+
checkQuota(fingerprintId: string, sessionId?: string): CheckQuotaResult;
|
|
17
14
|
setNextQuota(fingerprintId: string, quota_exceeded: boolean, next_quota_reset: Date): Promise<void>;
|
|
18
15
|
}
|
|
19
16
|
export declare class AuthenticatedQuotaManager implements IQuotaManager {
|
|
20
|
-
checkQuota(userId: string):
|
|
21
|
-
creditsUsed: number;
|
|
22
|
-
quota: number;
|
|
23
|
-
endDate: Date;
|
|
24
|
-
subscription_active: boolean;
|
|
25
|
-
next_quota_reset: Date;
|
|
26
|
-
}>;
|
|
17
|
+
checkQuota(userId: string, sessionId?: string): CheckQuotaResult;
|
|
27
18
|
setNextQuota(userId: string, quota_exceeded: boolean, next_quota_reset: Date): Promise<void>;
|
|
28
19
|
}
|
|
29
20
|
export type AuthType = 'anonymous' | 'authenticated';
|
|
30
21
|
export declare const getQuotaManager: (authType: AuthType, id: string) => {
|
|
31
|
-
checkQuota: () =>
|
|
32
|
-
creditsUsed: number;
|
|
33
|
-
quota: number;
|
|
34
|
-
endDate: Date;
|
|
35
|
-
subscription_active: boolean;
|
|
36
|
-
}>;
|
|
22
|
+
checkQuota: (sessionId?: string) => CheckQuotaResult;
|
|
37
23
|
setNextQuota: (quota_exceeded: boolean, next_quota_reset: Date) => Promise<void>;
|
|
38
24
|
};
|
|
25
|
+
export {};
|
|
@@ -33,10 +33,11 @@ const schema = __importStar(require("../db/schema"));
|
|
|
33
33
|
const drizzle_orm_1 = require("drizzle-orm");
|
|
34
34
|
const ts_pattern_1 = require("ts-pattern");
|
|
35
35
|
class AnonymousQuotaManager {
|
|
36
|
-
async checkQuota(fingerprintId) {
|
|
36
|
+
async checkQuota(fingerprintId, sessionId) {
|
|
37
37
|
const quota = constants_1.CREDITS_USAGE_LIMITS.ANON;
|
|
38
38
|
const startDate = (0, drizzle_orm_1.sql) `COALESCE(${schema.fingerprint.next_quota_reset}, now()) - INTERVAL '1 month'`;
|
|
39
39
|
const endDate = (0, drizzle_orm_1.sql) `COALESCE(${schema.fingerprint.next_quota_reset}, now())`;
|
|
40
|
+
let session_credits_used = undefined;
|
|
40
41
|
const result = await db_1.default
|
|
41
42
|
.select({
|
|
42
43
|
creditsUsed: (0, drizzle_orm_1.sql) `SUM(COALESCE(${schema.message.credits}, 0))`,
|
|
@@ -51,15 +52,32 @@ class AnonymousQuotaManager {
|
|
|
51
52
|
return rows[0];
|
|
52
53
|
return {
|
|
53
54
|
creditsUsed: '0',
|
|
54
|
-
quota,
|
|
55
55
|
endDate: new Date().toDateString(),
|
|
56
56
|
};
|
|
57
57
|
});
|
|
58
|
+
if (sessionId) {
|
|
59
|
+
session_credits_used = await db_1.default
|
|
60
|
+
.select({
|
|
61
|
+
client_id: schema.message.client_id,
|
|
62
|
+
fingerprint_id: schema.message.fingerprint_id,
|
|
63
|
+
sessionCreditsUsed: (0, drizzle_orm_1.sql) `SUM(COALESCE(${schema.message.credits}, 0))`,
|
|
64
|
+
})
|
|
65
|
+
.from(schema.message)
|
|
66
|
+
.where((0, drizzle_orm_1.and)((0, drizzle_orm_1.eq)(schema.message.client_id, sessionId), (0, drizzle_orm_1.eq)(schema.message.fingerprint_id, fingerprintId)))
|
|
67
|
+
.groupBy(schema.message.client_id, schema.message.fingerprint_id)
|
|
68
|
+
.then((rows) => {
|
|
69
|
+
if (rows.length > 0) {
|
|
70
|
+
return parseInt(rows[0].sessionCreditsUsed);
|
|
71
|
+
}
|
|
72
|
+
return 0;
|
|
73
|
+
});
|
|
74
|
+
}
|
|
58
75
|
return {
|
|
59
76
|
creditsUsed: parseInt(result.creditsUsed),
|
|
60
77
|
quota,
|
|
61
78
|
endDate: new Date(result.endDate),
|
|
62
79
|
subscription_active: false,
|
|
80
|
+
session_credits_used,
|
|
63
81
|
};
|
|
64
82
|
}
|
|
65
83
|
async setNextQuota(fingerprintId, quota_exceeded, next_quota_reset) {
|
|
@@ -74,9 +92,10 @@ class AnonymousQuotaManager {
|
|
|
74
92
|
}
|
|
75
93
|
exports.AnonymousQuotaManager = AnonymousQuotaManager;
|
|
76
94
|
class AuthenticatedQuotaManager {
|
|
77
|
-
async checkQuota(userId) {
|
|
95
|
+
async checkQuota(userId, sessionId) {
|
|
78
96
|
const startDate = (0, drizzle_orm_1.sql) `COALESCE(${schema.user.next_quota_reset}, now()) - INTERVAL '1 month'`;
|
|
79
97
|
const endDate = (0, drizzle_orm_1.sql) `COALESCE(${schema.user.next_quota_reset}, now())`;
|
|
98
|
+
let session_credits_used = undefined;
|
|
80
99
|
const result = await db_1.default
|
|
81
100
|
.select({
|
|
82
101
|
quota: schema.user.quota,
|
|
@@ -89,7 +108,7 @@ class AuthenticatedQuotaManager {
|
|
|
89
108
|
.from(schema.user)
|
|
90
109
|
.leftJoin(schema.message, (0, drizzle_orm_1.and)((0, drizzle_orm_1.eq)(schema.message.user_id, schema.user.id), (0, drizzle_orm_1.between)(schema.message.finished_at, startDate, endDate)))
|
|
91
110
|
.where((0, drizzle_orm_1.eq)(schema.user.id, userId))
|
|
92
|
-
.groupBy(schema.user.quota, schema.user.stripe_customer_id, schema.user.stripe_price_id, schema.user.
|
|
111
|
+
.groupBy(schema.user.quota, schema.user.stripe_customer_id, schema.user.stripe_price_id, schema.user.subscription_active, schema.user.next_quota_reset)
|
|
93
112
|
.then((rows) => {
|
|
94
113
|
if (rows.length > 0)
|
|
95
114
|
return rows[0];
|
|
@@ -102,6 +121,23 @@ class AuthenticatedQuotaManager {
|
|
|
102
121
|
subscription_active: false,
|
|
103
122
|
};
|
|
104
123
|
});
|
|
124
|
+
if (sessionId) {
|
|
125
|
+
session_credits_used = await db_1.default
|
|
126
|
+
.select({
|
|
127
|
+
client_id: schema.message.client_id,
|
|
128
|
+
user_id: schema.message.user_id,
|
|
129
|
+
sessionCreditsUsed: (0, drizzle_orm_1.sql) `SUM(COALESCE(${schema.message.credits}, 0))`,
|
|
130
|
+
})
|
|
131
|
+
.from(schema.message)
|
|
132
|
+
.where((0, drizzle_orm_1.and)((0, drizzle_orm_1.eq)(schema.message.client_id, sessionId), (0, drizzle_orm_1.eq)(schema.message.user_id, userId)))
|
|
133
|
+
.groupBy(schema.message.client_id, schema.message.user_id)
|
|
134
|
+
.then((rows) => {
|
|
135
|
+
if (rows.length > 0) {
|
|
136
|
+
return parseInt(rows[0].sessionCreditsUsed);
|
|
137
|
+
}
|
|
138
|
+
return 0;
|
|
139
|
+
});
|
|
140
|
+
}
|
|
105
141
|
const quota = !result?.stripe_customer_id && !result?.stripe_price_id
|
|
106
142
|
? constants_1.CREDITS_USAGE_LIMITS.FREE
|
|
107
143
|
: result?.quota ?? constants_1.CREDITS_USAGE_LIMITS.FREE;
|
|
@@ -110,7 +146,7 @@ class AuthenticatedQuotaManager {
|
|
|
110
146
|
quota,
|
|
111
147
|
endDate: new Date(result.endDate),
|
|
112
148
|
subscription_active: !!result.subscription_active,
|
|
113
|
-
|
|
149
|
+
session_credits_used,
|
|
114
150
|
};
|
|
115
151
|
}
|
|
116
152
|
async setNextQuota(userId, quota_exceeded, next_quota_reset) {
|
|
@@ -130,7 +166,7 @@ const getQuotaManager = (authType, id) => {
|
|
|
130
166
|
.with('authenticated', () => new AuthenticatedQuotaManager())
|
|
131
167
|
.exhaustive();
|
|
132
168
|
return {
|
|
133
|
-
checkQuota: () => manager.checkQuota(id),
|
|
169
|
+
checkQuota: (sessionId) => manager.checkQuota(id, sessionId),
|
|
134
170
|
setNextQuota: (quota_exceeded, next_quota_reset) => manager.setNextQuota(id, quota_exceeded, next_quota_reset),
|
|
135
171
|
};
|
|
136
172
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota-manager.js","sourceRoot":"","sources":["../../src/billing/quota-manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAAmD;AACnD,+CAAsB;AACtB,qDAAsC;AACtC,6CAAwD;AACxD,2CAAkC;
|
|
1
|
+
{"version":3,"file":"quota-manager.js","sourceRoot":"","sources":["../../src/billing/quota-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ export declare const TOOL_RESULT_MARKER: string;
|
|
|
4
4
|
export declare const EXISTING_CODE_MARKER = "[[**REPLACE_WITH_EXISTING_CODE**]]";
|
|
5
5
|
export declare const SKIPPED_TERMINAL_COMMANDS: string[];
|
|
6
6
|
export declare const MAX_DATE: Date;
|
|
7
|
-
export type UsageLimits = 'ANON' | 'FREE' | 'PAID';
|
|
7
|
+
export type UsageLimits = 'ANON' | 'FREE' | 'PAID' | 'PRO_PLUS';
|
|
8
8
|
export declare const CREDITS_USAGE_LIMITS: Record<UsageLimits, number>;
|
|
9
9
|
export declare const CREDITS_REFERRAL_BONUS = 500;
|
|
10
10
|
export declare const claudeModels: {
|
package/dist/common/constants.js
CHANGED
|
@@ -50,11 +50,13 @@ exports.CREDITS_USAGE_LIMITS = process.env.NEXT_PUBLIC_ENVIRONMENT === 'local'
|
|
|
50
50
|
ANON: 1_000_000,
|
|
51
51
|
FREE: 2_500_000,
|
|
52
52
|
PAID: 10_000_000,
|
|
53
|
+
PRO_PLUS: 55_000_000,
|
|
53
54
|
}
|
|
54
55
|
: {
|
|
55
56
|
ANON: 750,
|
|
56
57
|
FREE: 1_500,
|
|
57
58
|
PAID: 10_000,
|
|
59
|
+
PRO_PLUS: 55_000,
|
|
58
60
|
};
|
|
59
61
|
exports.CREDITS_REFERRAL_BONUS = 500;
|
|
60
62
|
exports.claudeModels = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";AAAA,kCAAkC;;;AAErB,QAAA,WAAW,GAAG,GAAG,GAAG,MAAM,CAAA;AAC1B,QAAA,iBAAiB,GAAG,GAAG,GAAG,oBAAoB,CAAA;AAC9C,QAAA,kBAAkB,GAAG,GAAG,GAAG,cAAc,CAAA;AACzC,QAAA,oBAAoB,GAAG,oCAAoC,CAAA;AAE3D,QAAA,yBAAyB,GAAG;IACvC,UAAU;IACV,MAAM;IACN,MAAM;IACN,SAAS;IACT,IAAI;IACJ,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,QAAQ;IACR,OAAO;IACP,MAAM;CACP,CAAA;AAEY,QAAA,QAAQ,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,CAAA;AAGnC,QAAA,oBAAoB,GAC/B,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,OAAO;IAC7C,CAAC,CAAC;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,UAAU;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";AAAA,kCAAkC;;;AAErB,QAAA,WAAW,GAAG,GAAG,GAAG,MAAM,CAAA;AAC1B,QAAA,iBAAiB,GAAG,GAAG,GAAG,oBAAoB,CAAA;AAC9C,QAAA,kBAAkB,GAAG,GAAG,GAAG,cAAc,CAAA;AACzC,QAAA,oBAAoB,GAAG,oCAAoC,CAAA;AAE3D,QAAA,yBAAyB,GAAG;IACvC,UAAU;IACV,MAAM;IACN,MAAM;IACN,SAAS;IACT,IAAI;IACJ,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,KAAK;IACL,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;IACN,QAAQ;IACR,OAAO;IACP,MAAM;CACP,CAAA;AAEY,QAAA,QAAQ,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,CAAA;AAGnC,QAAA,oBAAoB,GAC/B,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,OAAO;IAC7C,CAAC,CAAC;QACE,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,UAAU;KACrB;IACH,CAAC,CAAC;QACE,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,KAAK;QACX,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,MAAM;KACjB,CAAA;AACM,QAAA,sBAAsB,GAAG,GAAG,CAAA;AAE5B,QAAA,YAAY,GAAG;IAC1B,MAAM,EAAE,4BAA4B;IACpC,KAAK,EAAE,2BAA2B;CAC1B,CAAA;AAEG,QAAA,YAAY,GAAG;IAC1B,KAAK,EAAE,mBAAmB;IAC1B,SAAS,EAAE,wBAAwB;CAC3B,CAAA;AAEG,QAAA,MAAM,GAAG;IACpB,GAAG,oBAAY;IACf,GAAG,oBAAY;CAChB,CAAA;AAEY,QAAA,YAAY,GAAG,cAAc,CAAA"}
|
|
@@ -3,19 +3,19 @@ export declare const usageDataSchema: z.ZodObject<{
|
|
|
3
3
|
creditsUsed: z.ZodNumber;
|
|
4
4
|
totalQuota: z.ZodNumber;
|
|
5
5
|
remainingCredits: z.ZodNumber;
|
|
6
|
-
billingCycleEnd: z.ZodDate;
|
|
7
6
|
subscriptionActive: z.ZodBoolean;
|
|
7
|
+
nextQuotaReset: z.ZodDate;
|
|
8
8
|
}, "strip", z.ZodTypeAny, {
|
|
9
9
|
creditsUsed: number;
|
|
10
10
|
totalQuota: number;
|
|
11
11
|
remainingCredits: number;
|
|
12
|
-
billingCycleEnd: Date;
|
|
13
12
|
subscriptionActive: boolean;
|
|
13
|
+
nextQuotaReset: Date;
|
|
14
14
|
}, {
|
|
15
15
|
creditsUsed: number;
|
|
16
16
|
totalQuota: number;
|
|
17
17
|
remainingCredits: number;
|
|
18
|
-
billingCycleEnd: Date;
|
|
19
18
|
subscriptionActive: boolean;
|
|
19
|
+
nextQuotaReset: Date;
|
|
20
20
|
}>;
|
|
21
21
|
export type UsageData = z.infer<typeof usageDataSchema>;
|
|
@@ -6,7 +6,7 @@ exports.usageDataSchema = zod_1.z.object({
|
|
|
6
6
|
creditsUsed: zod_1.z.number(),
|
|
7
7
|
totalQuota: zod_1.z.number(),
|
|
8
8
|
remainingCredits: zod_1.z.number(),
|
|
9
|
-
billingCycleEnd: zod_1.z.coerce.date(),
|
|
10
9
|
subscriptionActive: zod_1.z.boolean(),
|
|
10
|
+
nextQuotaReset: zod_1.z.coerce.date(),
|
|
11
11
|
});
|
|
12
12
|
//# sourceMappingURL=usage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/types/usage.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEV,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IACtC,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;IACtB,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE;IAC5B,
|
|
1
|
+
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/types/usage.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEV,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IACtC,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;IACtB,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE;IAC5B,kBAAkB,EAAE,OAAC,CAAC,OAAO,EAAE;IAC/B,cAAc,EAAE,OAAC,CAAC,MAAM,CAAC,IAAI,EAAE;CAChC,CAAC,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export declare const truncateString: (str: string, maxLength: number) => string;
|
|
2
2
|
export declare const replaceNonStandardPlaceholderComments: (content: string, replacement: string) => string;
|
|
3
3
|
export declare const randBoolFromStr: (str: string) => boolean;
|
|
4
|
+
export declare const pluralize: (count: number, word: string) => string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.randBoolFromStr = exports.replaceNonStandardPlaceholderComments = exports.truncateString = void 0;
|
|
3
|
+
exports.pluralize = exports.randBoolFromStr = exports.replaceNonStandardPlaceholderComments = exports.truncateString = void 0;
|
|
4
4
|
const lodash_1 = require("lodash");
|
|
5
5
|
const truncateString = (str, maxLength) => {
|
|
6
6
|
if (str.length <= maxLength) {
|
|
@@ -57,4 +57,25 @@ const randBoolFromStr = (str) => {
|
|
|
57
57
|
return (0, lodash_1.sumBy)(str.split(''), (char) => char.charCodeAt(0)) % 2 === 0;
|
|
58
58
|
};
|
|
59
59
|
exports.randBoolFromStr = randBoolFromStr;
|
|
60
|
+
const pluralize = (count, word) => {
|
|
61
|
+
if (count === 1)
|
|
62
|
+
return word;
|
|
63
|
+
// Handle words ending in 'y' (unless preceded by a vowel)
|
|
64
|
+
if (word.endsWith('y') && !word.match(/[aeiou]y$/)) {
|
|
65
|
+
return word.slice(0, -1) + 'ies';
|
|
66
|
+
}
|
|
67
|
+
// Handle words ending in s, sh, ch, x, z, o
|
|
68
|
+
if (word.match(/[sxz]$/) || word.match(/[cs]h$/) || word.match(/o$/)) {
|
|
69
|
+
return word + 'es';
|
|
70
|
+
}
|
|
71
|
+
// Handle words ending in f/fe
|
|
72
|
+
if (word.endsWith('f')) {
|
|
73
|
+
return word.slice(0, -1) + 'ves';
|
|
74
|
+
}
|
|
75
|
+
if (word.endsWith('fe')) {
|
|
76
|
+
return word.slice(0, -2) + 'ves';
|
|
77
|
+
}
|
|
78
|
+
return `${count} ${word + 's'}`;
|
|
79
|
+
};
|
|
80
|
+
exports.pluralize = pluralize;
|
|
60
81
|
//# sourceMappingURL=string.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/util/string.ts"],"names":[],"mappings":";;;AAAA,mCAA8B;AAEvB,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,SAAiB,EAAE,EAAE;IAC/D,IAAI,GAAG,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,KAAK,CAAA;AACxC,CAAC,CAAA;AALY,QAAA,cAAc,kBAK1B;AAEM,MAAM,qCAAqC,GAAG,CACnD,OAAe,EACf,WAAmB,EACX,EAAE;IACV,MAAM,eAAe,GAAG;QACtB,kCAAkC;QAClC;YACE,KAAK,EACH,0FAA0F;YAC5F,WAAW,EAAE,WAAW;SACzB;QACD,gEAAgE;QAChE;YACE,KAAK,EACH,2EAA2E;YAC7E,WAAW,EAAE,WAAW;SACzB;QACD;YACE,KAAK,EACH,kFAAkF;YACpF,WAAW,EAAE,WAAW;SACzB;QACD,2BAA2B;QAC3B;YACE,KAAK,EACH,wEAAwE;YAC1E,WAAW,EAAE,WAAW;SACzB;QACD,sBAAsB;QACtB;YACE,KAAK,EACH,iFAAiF;YACnF,WAAW,EAAE,WAAW;SACzB;QACD,6BAA6B;QAC7B;YACE,KAAK,EACH,yEAAyE;YAC3E,WAAW,EAAE,WAAW;SACzB;QACD,kBAAkB;QAClB;YACE,KAAK,EACH,wEAAwE;YAC1E,WAAW,EAAE,WAAW;SACzB;KACF,CAAA;IAED,IAAI,cAAc,GAAG,OAAO,CAAA;IAE5B,KAAK,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,eAAe,EAAE,CAAC;QACrD,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAA;IAChE,CAAC;IAED,OAAO,cAAc,CAAA;AACvB,CAAC,CAAA;AAvDY,QAAA,qCAAqC,yCAuDjD;AAEM,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,EAAE;IAC7C,OAAO,IAAA,cAAK,EAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AACrE,CAAC,CAAA;AAFY,QAAA,eAAe,mBAE3B"}
|
|
1
|
+
{"version":3,"file":"string.js","sourceRoot":"","sources":["../../src/util/string.ts"],"names":[],"mappings":"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"}
|