@fern-api/fdr-sdk 1.2.93-91063bdea2 → 1.2.93-c507986598
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/client/libraryDocs.d.ts +5 -0
- package/dist/client/libraryDocs.d.ts.map +1 -1
- package/dist/js/client/FdrClient.js +120 -1
- package/dist/js/client/FdrClient.js.map +1 -1
- package/dist/js/client/FdrClient.mjs +120 -1
- package/dist/js/client/FdrClient.mjs.map +1 -1
- package/dist/js/client/types.js.map +1 -1
- package/dist/js/client/types.mjs.map +1 -1
- package/dist/js/converters/index.js.map +1 -1
- package/dist/js/converters/index.mjs.map +1 -1
- package/dist/js/index.js +120 -1
- package/dist/js/index.js.map +1 -1
- package/dist/js/index.mjs +120 -1
- package/dist/js/index.mjs.map +1 -1
- package/dist/js/navigation/index.js.map +1 -1
- package/dist/js/navigation/index.mjs.map +1 -1
- package/dist/js/orpc-client.js +130 -3
- package/dist/js/orpc-client.js.map +1 -1
- package/dist/js/orpc-client.mjs +125 -2
- package/dist/js/orpc-client.mjs.map +1 -1
- package/dist/orpc-client/docs/v2/library-docs/__test__/doxyfile.test.d.ts +2 -0
- package/dist/orpc-client/docs/v2/library-docs/__test__/doxyfile.test.d.ts.map +1 -0
- package/dist/orpc-client/docs/v2/library-docs/__test__/doxyfile.test.js +68 -0
- package/dist/orpc-client/docs/v2/library-docs/__test__/doxyfile.test.js.map +1 -0
- package/dist/orpc-client/docs/v2/library-docs/contract.d.ts +9 -3
- package/dist/orpc-client/docs/v2/library-docs/contract.d.ts.map +1 -1
- package/dist/orpc-client/docs/v2/library-docs/contract.js +15 -1
- package/dist/orpc-client/docs/v2/library-docs/contract.js.map +1 -1
- package/dist/orpc-client/docs/v2/library-docs/doxyfile.d.ts +32 -0
- package/dist/orpc-client/docs/v2/library-docs/doxyfile.d.ts.map +1 -0
- package/dist/orpc-client/docs/v2/library-docs/doxyfile.js +142 -0
- package/dist/orpc-client/docs/v2/library-docs/doxyfile.js.map +1 -0
- package/dist/orpc-client/docs/v2/library-docs/index.d.ts +1 -0
- package/dist/orpc-client/docs/v2/library-docs/index.d.ts.map +1 -1
- package/dist/orpc-client/docs/v2/library-docs/index.js +1 -0
- package/dist/orpc-client/docs/v2/library-docs/index.js.map +1 -1
- package/dist/types/client/libraryDocs.d.ts +5 -0
- package/dist/types/client/libraryDocs.d.ts.map +1 -1
- package/dist/types/orpc-client/docs/v2/library-docs/__test__/doxyfile.test.d.ts +2 -0
- package/dist/types/orpc-client/docs/v2/library-docs/__test__/doxyfile.test.d.ts.map +1 -0
- package/dist/types/orpc-client/docs/v2/library-docs/contract.d.ts +9 -3
- package/dist/types/orpc-client/docs/v2/library-docs/contract.d.ts.map +1 -1
- package/dist/types/orpc-client/docs/v2/library-docs/doxyfile.d.ts +32 -0
- package/dist/types/orpc-client/docs/v2/library-docs/doxyfile.d.ts.map +1 -0
- package/dist/types/orpc-client/docs/v2/library-docs/index.d.ts +1 -0
- package/dist/types/orpc-client/docs/v2/library-docs/index.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/js/index.js
CHANGED
|
@@ -8425,6 +8425,120 @@ var import_fetch5 = require("@orpc/openapi-client/fetch");
|
|
|
8425
8425
|
// src/orpc-client/docs/v2/library-docs/contract.ts
|
|
8426
8426
|
var import_contract10 = require("@orpc/contract");
|
|
8427
8427
|
var z14 = __toESM(require("zod"), 1);
|
|
8428
|
+
|
|
8429
|
+
// src/orpc-client/docs/v2/library-docs/doxyfile.ts
|
|
8430
|
+
var MAX_DOXYFILE_CONTENT_LENGTH = 262144;
|
|
8431
|
+
var SETTING_LINE_RE = /^\s*([A-Z][A-Z0-9_]*)\s*(\+?=)(.*)$/;
|
|
8432
|
+
var AT_DIRECTIVE_RE = /^\s*@[A-Z_]+\b/;
|
|
8433
|
+
var BOOL_RE = /^(?:YES|NO)$/i;
|
|
8434
|
+
var FILE_PATTERN_RE = /^[A-Za-z0-9_.*?+-]+$/;
|
|
8435
|
+
var PREDEFINED_RE = /^[A-Za-z_][A-Za-z0-9_]*(?:\([A-Za-z0-9_,. ]*\))?(?::?=.*)?$/;
|
|
8436
|
+
var ALIAS_DEF_RE = /^\w+(?:\{\d+\})?=/;
|
|
8437
|
+
var DOXYFILE_ALLOWED_KEYS = {
|
|
8438
|
+
ALIASES: (value) => ALIAS_DEF_RE.test(value),
|
|
8439
|
+
PREDEFINED: (value) => PREDEFINED_RE.test(value),
|
|
8440
|
+
FILE_PATTERNS: (value) => FILE_PATTERN_RE.test(value),
|
|
8441
|
+
OPTIMIZE_OUTPUT_FOR_C: (value) => BOOL_RE.test(value)
|
|
8442
|
+
};
|
|
8443
|
+
function joinContinuations(text) {
|
|
8444
|
+
const logical = [];
|
|
8445
|
+
let buffer = "";
|
|
8446
|
+
for (const rawLine of text.split(/\r?\n/)) {
|
|
8447
|
+
const line = rawLine.replace(/\s+$/, "");
|
|
8448
|
+
if (line.endsWith("\\") && !line.endsWith("\\\\")) {
|
|
8449
|
+
buffer += `${line.slice(0, -1)} `;
|
|
8450
|
+
continue;
|
|
8451
|
+
}
|
|
8452
|
+
buffer += line;
|
|
8453
|
+
logical.push(buffer);
|
|
8454
|
+
buffer = "";
|
|
8455
|
+
}
|
|
8456
|
+
if (buffer) {
|
|
8457
|
+
logical.push(buffer);
|
|
8458
|
+
}
|
|
8459
|
+
return logical;
|
|
8460
|
+
}
|
|
8461
|
+
function tokenizeValue(value) {
|
|
8462
|
+
const tokens = [];
|
|
8463
|
+
let i = 0;
|
|
8464
|
+
const n = value.length;
|
|
8465
|
+
while (i < n) {
|
|
8466
|
+
const ch = value[i];
|
|
8467
|
+
if (/\s/.test(ch ?? "")) {
|
|
8468
|
+
i++;
|
|
8469
|
+
continue;
|
|
8470
|
+
}
|
|
8471
|
+
if (ch === '"') {
|
|
8472
|
+
i++;
|
|
8473
|
+
let buf = "";
|
|
8474
|
+
while (i < n) {
|
|
8475
|
+
const c = value[i];
|
|
8476
|
+
if (c === "\\" && i + 1 < n && value[i + 1] === '"') {
|
|
8477
|
+
buf += '"';
|
|
8478
|
+
i += 2;
|
|
8479
|
+
continue;
|
|
8480
|
+
}
|
|
8481
|
+
if (c === '"') {
|
|
8482
|
+
i++;
|
|
8483
|
+
break;
|
|
8484
|
+
}
|
|
8485
|
+
buf += c;
|
|
8486
|
+
i++;
|
|
8487
|
+
}
|
|
8488
|
+
tokens.push(buf);
|
|
8489
|
+
} else {
|
|
8490
|
+
let j = i;
|
|
8491
|
+
while (j < n && !/\s/.test(value[j] ?? "")) {
|
|
8492
|
+
j++;
|
|
8493
|
+
}
|
|
8494
|
+
tokens.push(value.slice(i, j));
|
|
8495
|
+
i = j;
|
|
8496
|
+
}
|
|
8497
|
+
}
|
|
8498
|
+
return tokens;
|
|
8499
|
+
}
|
|
8500
|
+
function validateDoxyfileContent(content) {
|
|
8501
|
+
const errors = [];
|
|
8502
|
+
const droppedKeys = [];
|
|
8503
|
+
if (content.length > MAX_DOXYFILE_CONTENT_LENGTH) {
|
|
8504
|
+
errors.push(`doxyfileContent exceeds ${MAX_DOXYFILE_CONTENT_LENGTH} characters`);
|
|
8505
|
+
return { errors, droppedKeys };
|
|
8506
|
+
}
|
|
8507
|
+
for (const line of joinContinuations(content)) {
|
|
8508
|
+
const stripped = line.trim();
|
|
8509
|
+
if (!stripped || stripped.startsWith("#")) {
|
|
8510
|
+
continue;
|
|
8511
|
+
}
|
|
8512
|
+
if (AT_DIRECTIVE_RE.test(stripped)) {
|
|
8513
|
+
const directive = stripped.split(/\s+/)[0] ?? stripped;
|
|
8514
|
+
if (!droppedKeys.includes(directive)) {
|
|
8515
|
+
droppedKeys.push(directive);
|
|
8516
|
+
}
|
|
8517
|
+
continue;
|
|
8518
|
+
}
|
|
8519
|
+
const match = SETTING_LINE_RE.exec(line);
|
|
8520
|
+
if (match == null) {
|
|
8521
|
+
continue;
|
|
8522
|
+
}
|
|
8523
|
+
const key = match[1] ?? "";
|
|
8524
|
+
const rawValue = match[3] ?? "";
|
|
8525
|
+
const validator = DOXYFILE_ALLOWED_KEYS[key];
|
|
8526
|
+
if (validator == null) {
|
|
8527
|
+
if (!droppedKeys.includes(key)) {
|
|
8528
|
+
droppedKeys.push(key);
|
|
8529
|
+
}
|
|
8530
|
+
continue;
|
|
8531
|
+
}
|
|
8532
|
+
for (const token of tokenizeValue(rawValue)) {
|
|
8533
|
+
if (token.endsWith("\\") || token.includes("$(") || !validator(token)) {
|
|
8534
|
+
errors.push(`Invalid value for Doxyfile setting ${key}: ${JSON.stringify(token)}`);
|
|
8535
|
+
}
|
|
8536
|
+
}
|
|
8537
|
+
}
|
|
8538
|
+
return { errors, droppedKeys };
|
|
8539
|
+
}
|
|
8540
|
+
|
|
8541
|
+
// src/orpc-client/docs/v2/library-docs/contract.ts
|
|
8428
8542
|
var ALLOWED_HOSTNAMES = /* @__PURE__ */ new Set(["github.com", "gitlab.com"]);
|
|
8429
8543
|
var GithubUrlSchema = z14.string().url().describe(
|
|
8430
8544
|
"HTTPS URL of a GitHub or GitLab repository. Currently only github.com and gitlab.com are supported. Must match the pattern https://github.com/<owner>/<repo> or https://gitlab.com/<owner>/<repo>."
|
|
@@ -8459,8 +8573,13 @@ var LibraryDocsBaseConfigSchema = z14.object({
|
|
|
8459
8573
|
slug: z14.string().nullish()
|
|
8460
8574
|
});
|
|
8461
8575
|
var PythonLibraryDocsConfigSchema = LibraryDocsBaseConfigSchema;
|
|
8576
|
+
var SafeDoxyfileContentSchema = z14.string().superRefine((content, ctx) => {
|
|
8577
|
+
for (const error of validateDoxyfileContent(content).errors) {
|
|
8578
|
+
ctx.addIssue({ code: z14.ZodIssueCode.custom, message: error });
|
|
8579
|
+
}
|
|
8580
|
+
}).nullish();
|
|
8462
8581
|
var CppLibraryDocsConfigSchema = LibraryDocsBaseConfigSchema.extend({
|
|
8463
|
-
doxyfileContent:
|
|
8582
|
+
doxyfileContent: SafeDoxyfileContentSchema
|
|
8464
8583
|
});
|
|
8465
8584
|
var StartLibraryDocsGenerationInputSchema = z14.discriminatedUnion("language", [
|
|
8466
8585
|
z14.object({
|