@wictorwilen/cocogen 1.0.17 → 1.0.19
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/CHANGELOG.md +14 -1
- package/README.md +3 -0
- package/dist/init/init.d.ts.map +1 -1
- package/dist/init/init.js +273 -34
- package/dist/init/init.js.map +1 -1
- package/dist/init/templates/dotnet/Core/ConnectorCore.cs.ejs +27 -4
- package/dist/init/templates/dotnet/Core/ItemId.cs.ejs +39 -0
- package/dist/init/templates/dotnet/Core/Validation.cs.ejs +108 -0
- package/dist/init/templates/dotnet/Datasource/CsvItemSource.cs.ejs +1 -1
- package/dist/init/templates/dotnet/Datasource/IItemSource.cs.ejs +1 -1
- package/dist/init/templates/dotnet/Generated/CsvParser.cs.ejs +0 -179
- package/dist/init/templates/dotnet/Generated/FromCsvRow.cs.ejs +0 -21
- package/dist/init/templates/dotnet/Generated/FromRow.cs.ejs +23 -0
- package/dist/init/templates/dotnet/Generated/ItemPayload.cs.ejs +2 -26
- package/dist/init/templates/dotnet/Generated/Model.cs.ejs +5 -1
- package/dist/init/templates/dotnet/Generated/PropertyTransformBase.cs.ejs +10 -6
- package/dist/init/templates/dotnet/Generated/RowParser.cs.ejs +184 -0
- package/dist/init/templates/dotnet/Program.commandline.cs.ejs +6 -3
- package/dist/init/templates/dotnet/PropertyTransform.cs.ejs +1 -1
- package/dist/init/templates/dotnet/README.md.ejs +2 -1
- package/dist/init/templates/ts/README.md.ejs +2 -1
- package/dist/init/templates/ts/src/cli.ts.ejs +5 -1
- package/dist/init/templates/ts/src/core/connectorCore.ts.ejs +21 -2
- package/dist/init/templates/ts/src/core/itemId.ts.ejs +34 -0
- package/dist/init/templates/ts/src/core/validation.ts.ejs +89 -0
- package/dist/init/templates/ts/src/datasource/csvItemSource.ts.ejs +2 -2
- package/dist/init/templates/ts/src/datasource/itemSource.ts.ejs +1 -1
- package/dist/init/templates/ts/src/generated/csv.ts.ejs +0 -53
- package/dist/init/templates/ts/src/generated/fromCsvRow.ts.ejs +0 -19
- package/dist/init/templates/ts/src/generated/fromRow.ts.ejs +20 -0
- package/dist/init/templates/ts/src/generated/index.ts.ejs +1 -1
- package/dist/init/templates/ts/src/generated/itemPayload.ts.ejs +3 -28
- package/dist/init/templates/ts/src/generated/model.ts.ejs +7 -1
- package/dist/init/templates/ts/src/generated/propertyTransformBase.ts.ejs +9 -3
- package/dist/init/templates/ts/src/generated/row.ts.ejs +54 -0
- package/dist/init/templates/ts/src/propertyTransform.ts.ejs +1 -1
- package/dist/ir.d.ts +12 -0
- package/dist/ir.d.ts.map +1 -1
- package/dist/tsp/loader.d.ts.map +1 -1
- package/dist/tsp/loader.js +63 -3
- package/dist/tsp/loader.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,54 +1 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CSV parsing helpers used by generated transforms.
|
|
3
|
-
*/
|
|
4
|
-
/** Parse any CSV cell value into a string (empty when nullish). */
|
|
5
|
-
function parseString(value: unknown): string {
|
|
6
|
-
if (value === undefined || value === null) return "";
|
|
7
|
-
return String(value);
|
|
8
|
-
}
|
|
9
1
|
|
|
10
|
-
/** Parse a numeric CSV cell into a number (defaults to 0). */
|
|
11
|
-
function parseNumber(value: unknown): number {
|
|
12
|
-
const text = parseString(value).trim();
|
|
13
|
-
if (!text) return 0;
|
|
14
|
-
const numberValue = Number(text);
|
|
15
|
-
return Number.isFinite(numberValue) ? numberValue : 0;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/** Parse a boolean-ish CSV cell into a boolean. */
|
|
19
|
-
function parseBoolean(value: unknown): boolean {
|
|
20
|
-
const text = parseString(value).trim().toLowerCase();
|
|
21
|
-
return text === "true" || text === "1" || text === "yes";
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/** Split a delimited CSV cell into an array of strings. */
|
|
25
|
-
function splitCollection(value: unknown): string[] {
|
|
26
|
-
const text = parseString(value).trim();
|
|
27
|
-
if (!text) return [];
|
|
28
|
-
return text.split(/\s*;\s*/).map((s) => s.trim()).filter(Boolean);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/** Parse a string collection from a CSV cell. */
|
|
32
|
-
function parseStringCollection(value: unknown): string[] {
|
|
33
|
-
return splitCollection(value);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/** Parse a number collection from a CSV cell. */
|
|
37
|
-
function parseNumberCollection(value: unknown): number[] {
|
|
38
|
-
return splitCollection(value).map((s) => parseNumber(s));
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/** Read a value from a row using the first matching header. */
|
|
42
|
-
function readSourceValue(row: Record<string, unknown>, headers: string[]): unknown {
|
|
43
|
-
if (headers.length === 0) return "";
|
|
44
|
-
return row[headers[0]];
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export {
|
|
48
|
-
parseString,
|
|
49
|
-
parseNumber,
|
|
50
|
-
parseBoolean,
|
|
51
|
-
parseStringCollection,
|
|
52
|
-
parseNumberCollection,
|
|
53
|
-
readSourceValue
|
|
54
|
-
};
|
|
@@ -1,20 +1 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Map raw CSV rows into the schema model.
|
|
3
|
-
*/
|
|
4
|
-
import type { <%= itemTypeName %> } from "./model.js";
|
|
5
|
-
import { PropertyTransform } from "./propertyTransform.js";
|
|
6
|
-
import { parseString, readSourceValue } from "../datasource/csv.js";
|
|
7
1
|
|
|
8
|
-
const transforms = new PropertyTransform();
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Convert a CSV row into the schema model using generated transforms.
|
|
12
|
-
*/
|
|
13
|
-
export function fromCsvRow(row: Record<string, unknown>): <%= itemTypeName %> {
|
|
14
|
-
return {
|
|
15
|
-
__cocoId: <%- idRawExpression %>,
|
|
16
|
-
<% for (const prop of properties) { -%>
|
|
17
|
-
<%= prop.name %>: transforms.transformProperty<%= prop.tsType ? `<${prop.tsType}>` : "" %>(<%= JSON.stringify(prop.name) %>, row),
|
|
18
|
-
<% } -%>
|
|
19
|
-
};
|
|
20
|
-
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Map raw source rows into the schema model.
|
|
3
|
+
*/
|
|
4
|
+
import type { <%= itemTypeName %> } from "./model.js";
|
|
5
|
+
import { PropertyTransform } from "./propertyTransform.js";
|
|
6
|
+
import { parseString, readSourceValue } from "../datasource/row.js";
|
|
7
|
+
|
|
8
|
+
const transforms = new PropertyTransform();
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Convert a source row into the schema model using generated transforms.
|
|
12
|
+
*/
|
|
13
|
+
export function fromRow(row: Record<string, unknown>): <%= itemTypeName %> {
|
|
14
|
+
return {
|
|
15
|
+
internalId: <%- idRawExpression %>,
|
|
16
|
+
<% for (const prop of properties) { -%>
|
|
17
|
+
<%= prop.name %>: transforms.transformProperty<%= prop.tsType ? `<${prop.tsType}>` : "" %>(<%= JSON.stringify(prop.name) %>, row),
|
|
18
|
+
<% } -%>
|
|
19
|
+
};
|
|
20
|
+
}
|
|
@@ -3,40 +3,15 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { <%= itemTypeName %> } from "./model.js";
|
|
5
5
|
import { contentPropertyName, idPropertyName } from "./constants.js";
|
|
6
|
-
import {
|
|
6
|
+
import { getItemId as getItemIdFromCore, type IdEncoding } from "../core/itemId.js";
|
|
7
7
|
|
|
8
|
-
const idEncoding:
|
|
9
|
-
|
|
10
|
-
function toBase64Url(value: string | Buffer): string {
|
|
11
|
-
const buffer = typeof value === "string" ? Buffer.from(value, "utf8") : value;
|
|
12
|
-
return buffer
|
|
13
|
-
.toString("base64")
|
|
14
|
-
.replace(/\+/g, "-")
|
|
15
|
-
.replace(/\//g, "_")
|
|
16
|
-
.replace(/=+$/g, "");
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
function slugify(value: string): string {
|
|
20
|
-
const normalized = value.normalize("NFKD");
|
|
21
|
-
const slug = normalized
|
|
22
|
-
.toLowerCase()
|
|
23
|
-
.replace(/[^a-z0-9]+/g, "-")
|
|
24
|
-
.replace(/(^-+|-+$)/g, "");
|
|
25
|
-
return slug;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function encodeId(value: string): string {
|
|
29
|
-
if (idEncoding === "base64") return toBase64Url(value);
|
|
30
|
-
if (idEncoding === "hash") return toBase64Url(createHash("sha256").update(value, "utf8").digest());
|
|
31
|
-
return slugify(value);
|
|
32
|
-
}
|
|
8
|
+
const idEncoding: IdEncoding = <%= JSON.stringify(idEncoding ?? "slug") %>;
|
|
33
9
|
|
|
34
10
|
/**
|
|
35
11
|
* Resolve the external item ID from the schema model.
|
|
36
12
|
*/
|
|
37
13
|
export function getItemId(item: <%= itemTypeName %>): string {
|
|
38
|
-
|
|
39
|
-
return encodeId(String(raw ?? ""));
|
|
14
|
+
return getItemIdFromCore(item as unknown as Record<string, unknown>, idPropertyName, idEncoding);
|
|
40
15
|
}
|
|
41
16
|
|
|
42
17
|
/**
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* TypeScript representation of the external item schema.
|
|
3
3
|
*/
|
|
4
|
+
<% if (itemDocComment) { -%>
|
|
5
|
+
<%- itemDocComment %>
|
|
6
|
+
<% } -%>
|
|
4
7
|
export type <%= itemTypeName %> = {
|
|
5
|
-
|
|
8
|
+
internalId?: string;
|
|
6
9
|
<% for (const prop of properties) { -%>
|
|
10
|
+
<% if (prop.docComment) { -%>
|
|
11
|
+
<%- prop.docComment %>
|
|
12
|
+
<% } -%>
|
|
7
13
|
<%= prop.name %>: <%= prop.tsType %>;
|
|
8
14
|
<% } -%>
|
|
9
15
|
};
|
|
@@ -10,10 +10,16 @@ import {
|
|
|
10
10
|
parseString,
|
|
11
11
|
parseStringCollection,
|
|
12
12
|
readSourceValue
|
|
13
|
-
} from "../datasource/
|
|
13
|
+
} from "../datasource/row.js";
|
|
14
|
+
import {
|
|
15
|
+
validateNumber,
|
|
16
|
+
validateNumberCollection,
|
|
17
|
+
validateString,
|
|
18
|
+
validateStringCollection
|
|
19
|
+
} from "../core/validation.js";
|
|
14
20
|
|
|
15
21
|
/**
|
|
16
|
-
* Base class for
|
|
22
|
+
* Base class for row-to-model transforms.
|
|
17
23
|
*/
|
|
18
24
|
export abstract class PropertyTransformBase {
|
|
19
25
|
/**
|
|
@@ -31,7 +37,7 @@ export abstract class PropertyTransformBase {
|
|
|
31
37
|
}
|
|
32
38
|
|
|
33
39
|
<% for (const prop of properties) { -%>
|
|
34
|
-
/** Transform the <%= prop.name %> property from a
|
|
40
|
+
/** Transform the <%= prop.name %> property from a source row. */
|
|
35
41
|
protected transform<%= prop.transformName %>(row: Record<string, unknown>): <%= prop.tsType %> {
|
|
36
42
|
return <%- prop.expression %>;
|
|
37
43
|
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Row value parsing helpers used by generated transforms.
|
|
3
|
+
*/
|
|
4
|
+
/** Parse any row value into a string (empty when nullish). */
|
|
5
|
+
function parseString(value: unknown): string {
|
|
6
|
+
if (value === undefined || value === null) return "";
|
|
7
|
+
return String(value);
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/** Parse a numeric row value into a number (defaults to 0). */
|
|
11
|
+
function parseNumber(value: unknown): number {
|
|
12
|
+
const text = parseString(value).trim();
|
|
13
|
+
if (!text) return 0;
|
|
14
|
+
const numberValue = Number(text);
|
|
15
|
+
return Number.isFinite(numberValue) ? numberValue : 0;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/** Parse a boolean-ish row value into a boolean. */
|
|
19
|
+
function parseBoolean(value: unknown): boolean {
|
|
20
|
+
const text = parseString(value).trim().toLowerCase();
|
|
21
|
+
return text === "true" || text === "1" || text === "yes";
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/** Split a delimited row value into an array of strings. */
|
|
25
|
+
function splitCollection(value: unknown): string[] {
|
|
26
|
+
const text = parseString(value).trim();
|
|
27
|
+
if (!text) return [];
|
|
28
|
+
return text.split(/\s*;\s*/).map((s) => s.trim()).filter(Boolean);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/** Parse a string collection from a row value. */
|
|
32
|
+
function parseStringCollection(value: unknown): string[] {
|
|
33
|
+
return splitCollection(value);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/** Parse a number collection from a row value. */
|
|
37
|
+
function parseNumberCollection(value: unknown): number[] {
|
|
38
|
+
return splitCollection(value).map((s) => parseNumber(s));
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/** Read a value from a row using the first matching header. */
|
|
42
|
+
function readSourceValue(row: Record<string, unknown>, headers: string[]): unknown {
|
|
43
|
+
if (headers.length === 0) return "";
|
|
44
|
+
return row[headers[0]];
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export {
|
|
48
|
+
parseString,
|
|
49
|
+
parseNumber,
|
|
50
|
+
parseBoolean,
|
|
51
|
+
parseStringCollection,
|
|
52
|
+
parseNumberCollection,
|
|
53
|
+
readSourceValue
|
|
54
|
+
};
|
package/dist/ir.d.ts
CHANGED
|
@@ -25,11 +25,23 @@ export type ConnectorIr = {
|
|
|
25
25
|
idPropertyName: string;
|
|
26
26
|
idEncoding: "slug" | "base64" | "hash";
|
|
27
27
|
contentPropertyName?: string;
|
|
28
|
+
doc?: string;
|
|
28
29
|
};
|
|
29
30
|
properties: Array<{
|
|
30
31
|
name: string;
|
|
31
32
|
type: PropertyType;
|
|
32
33
|
description?: string;
|
|
34
|
+
doc?: string;
|
|
35
|
+
example?: unknown;
|
|
36
|
+
format?: string;
|
|
37
|
+
pattern?: {
|
|
38
|
+
regex: string;
|
|
39
|
+
message?: string;
|
|
40
|
+
};
|
|
41
|
+
minLength?: number;
|
|
42
|
+
maxLength?: number;
|
|
43
|
+
minValue?: number;
|
|
44
|
+
maxValue?: number;
|
|
33
45
|
labels: string[];
|
|
34
46
|
aliases: string[];
|
|
35
47
|
search: SearchFlags;
|
package/dist/ir.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ir.d.ts","sourceRoot":"","sources":["../src/ir.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;AAE9C,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,UAAU,GACV,SAAS,GACT,kBAAkB,GAClB,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,WAAW,CAAC;AAEhB,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE;QACV,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,aAAa,CAAC,EAAE;YACd,MAAM,EAAE,MAAM,CAAC;YACf,WAAW,EAAE,MAAM,CAAC;YACpB,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;SAC7B,CAAC;QACF,eAAe,EAAE,eAAe,CAAC;KAClC,CAAC;IACF,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;QACvC,mBAAmB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ir.d.ts","sourceRoot":"","sources":["../src/ir.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;AAE9C,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,UAAU,GACV,SAAS,GACT,kBAAkB,GAClB,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,WAAW,CAAC;AAEhB,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE;QACV,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,aAAa,CAAC,EAAE;YACd,MAAM,EAAE,MAAM,CAAC;YACf,WAAW,EAAE,MAAM,CAAC;YACpB,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;SAC7B,CAAC;QACF,eAAe,EAAE,eAAe,CAAC;KAClC,CAAC;IACF,IAAI,EAAE;QACJ,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;QACvC,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,UAAU,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,YAAY,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE;YACR,KAAK,EAAE,MAAM,CAAC;YACd,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;QACF,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,MAAM,EAAE,WAAW,CAAC;QACpB,YAAY,CAAC,EAAE;YACb,MAAM,EACF,wBAAwB,GACxB,YAAY,GACZ,cAAc,GACd,aAAa,GACb,WAAW,GACX,WAAW,GACX,aAAa,GACb,qBAAqB,GACrB,sBAAsB,GACtB,kBAAkB,GAClB,YAAY,GACZ,eAAe,GACf,mBAAmB,GACnB,kBAAkB,CAAC;YACvB,MAAM,EAAE,KAAK,CAAC;gBACZ,IAAI,EAAE,MAAM,CAAC;gBACb,MAAM,EAAE;oBACN,UAAU,EAAE,MAAM,EAAE,CAAC;iBACtB,CAAC;aACH,CAAC,CAAC;SACJ,CAAC;QACF,MAAM,EAAE;YACN,UAAU,EAAE,MAAM,EAAE,CAAC;YACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;SACpB,CAAC;KACH,CAAC,CAAC;CACJ,CAAC"}
|
package/dist/tsp/loader.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/tsp/loader.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/tsp/loader.ts"],"names":[],"mappings":"AAGA,OAAO,EAiBL,KAAK,OAAO,EAGb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,WAAW,EAA8C,MAAM,UAAU,CAAC;AAuBxF,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAI5B;AAmUD,wBAAsB,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAc5E;AAED,wBAAsB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAkHnF"}
|
package/dist/tsp/loader.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { fileURLToPath } from "node:url";
|
|
3
|
-
import { NodeHost, compile, formatDiagnostic, getDoc, isArrayModelType, } from "@typespec/compiler";
|
|
3
|
+
import { NodeHost, compile, formatDiagnostic, getDoc, getExamples, serializeValueAsJson, getFormat, getPatternData, getDeprecated, getMinLengthAsNumeric, getMaxLengthAsNumeric, getMinValueAsNumeric, getMaxValueAsNumeric, isArrayModelType, } from "@typespec/compiler";
|
|
4
4
|
import { COCOGEN_STATE_CONNECTION_SETTINGS, COCOGEN_STATE_PROFILE_SOURCE_SETTINGS, COCOGEN_STATE_CONTENT_PROPERTIES, COCOGEN_STATE_ID_PROPERTIES, COCOGEN_STATE_ITEM_MODELS, COCOGEN_STATE_PROPERTY_ALIASES, COCOGEN_STATE_PROPERTY_DESCRIPTIONS, COCOGEN_STATE_PROPERTY_LABELS, COCOGEN_STATE_PROPERTY_NAME_OVERRIDES, COCOGEN_STATE_PROPERTY_SEARCH, COCOGEN_STATE_PROPERTY_SOURCE, COCOGEN_STATE_PROPERTY_NO_SOURCE, COCOGEN_STATE_PROPERTY_PERSON_FIELDS, COCOGEN_STATE_ID_SETTINGS, } from "../typespec/state.js";
|
|
5
5
|
export class CocogenError extends Error {
|
|
6
6
|
constructor(message) {
|
|
@@ -127,6 +127,32 @@ function getDescription(program, prop) {
|
|
|
127
127
|
return fromDoc;
|
|
128
128
|
return undefined;
|
|
129
129
|
}
|
|
130
|
+
function getDocText(program, prop) {
|
|
131
|
+
const text = getDoc(program, prop);
|
|
132
|
+
return text && text.trim().length > 0 ? text : undefined;
|
|
133
|
+
}
|
|
134
|
+
function getItemDoc(program, model) {
|
|
135
|
+
const text = getDoc(program, model);
|
|
136
|
+
return text && text.trim().length > 0 ? text : undefined;
|
|
137
|
+
}
|
|
138
|
+
function getExampleValue(program, prop) {
|
|
139
|
+
const examples = getExamples(program, prop);
|
|
140
|
+
if (!examples || examples.length === 0)
|
|
141
|
+
return undefined;
|
|
142
|
+
try {
|
|
143
|
+
return serializeValueAsJson(program, examples[0].value, prop.type);
|
|
144
|
+
}
|
|
145
|
+
catch {
|
|
146
|
+
return undefined;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
function getPattern(program, prop) {
|
|
150
|
+
const data = getPatternData(program, prop);
|
|
151
|
+
if (!data?.pattern)
|
|
152
|
+
return undefined;
|
|
153
|
+
const message = data?.validationMessage;
|
|
154
|
+
return message ? { regex: data.pattern, message } : { regex: data.pattern };
|
|
155
|
+
}
|
|
130
156
|
function getName(program, prop) {
|
|
131
157
|
const override = program.stateMap(COCOGEN_STATE_PROPERTY_NAME_OVERRIDES).get(prop);
|
|
132
158
|
return override ?? prop.name;
|
|
@@ -179,7 +205,10 @@ function mapTypeToPropertyType(program, type) {
|
|
|
179
205
|
case "utcDateTime":
|
|
180
206
|
return "dateTime";
|
|
181
207
|
default:
|
|
182
|
-
|
|
208
|
+
{
|
|
209
|
+
const hint = scalarName === "double" ? " Did you mean 'float64'?" : "";
|
|
210
|
+
throw new CocogenError(`Unsupported TypeSpec scalar type: ${scalarName}. Supported scalars: string, boolean, int64, float64, utcDateTime, coco.Principal.${hint}`);
|
|
211
|
+
}
|
|
183
212
|
}
|
|
184
213
|
}
|
|
185
214
|
if (type.kind === "Model") {
|
|
@@ -237,25 +266,55 @@ export async function loadIrFromTypeSpec(entryTspPath) {
|
|
|
237
266
|
const connection = getConnectionSettings(program, itemModel);
|
|
238
267
|
const profileSource = getProfileSourceSettings(program, itemModel);
|
|
239
268
|
const properties = [...itemModel.properties.values()];
|
|
269
|
+
const itemDoc = getItemDoc(program, itemModel);
|
|
270
|
+
const deprecatedProps = new Set(properties.filter((prop) => Boolean(getDeprecated(program, prop))));
|
|
240
271
|
const idProps = properties.filter((p) => isIdProperty(program, p));
|
|
241
272
|
if (idProps.length !== 1) {
|
|
242
273
|
throw new CocogenError(idProps.length === 0
|
|
243
274
|
? "Missing @coco.id property. Add @coco.id to the property that uniquely identifies items."
|
|
244
275
|
: `Multiple @coco.id properties found (${idProps.map((p) => p.name).join(", ")}). Use exactly one.`);
|
|
245
276
|
}
|
|
277
|
+
if (deprecatedProps.has(idProps[0])) {
|
|
278
|
+
throw new CocogenError("The @coco.id property cannot be marked #deprecated.");
|
|
279
|
+
}
|
|
246
280
|
const contentProps = properties.filter((p) => isContentProperty(program, p));
|
|
247
281
|
const contentPropName = contentProps.length > 0 ? getName(program, contentProps[0]) : undefined;
|
|
248
|
-
|
|
282
|
+
if (contentProps.some((prop) => deprecatedProps.has(prop))) {
|
|
283
|
+
throw new CocogenError("The @coco.content property cannot be marked #deprecated.");
|
|
284
|
+
}
|
|
285
|
+
const irProperties = properties
|
|
286
|
+
.filter((prop) => !deprecatedProps.has(prop))
|
|
287
|
+
.map((prop) => {
|
|
249
288
|
const name = getName(program, prop);
|
|
250
289
|
const labels = getStringArray(program, COCOGEN_STATE_PROPERTY_LABELS, prop);
|
|
251
290
|
const aliases = getStringArray(program, COCOGEN_STATE_PROPERTY_ALIASES, prop);
|
|
252
291
|
const description = getDescription(program, prop);
|
|
292
|
+
const doc = getDocText(program, prop);
|
|
293
|
+
const example = getExampleValue(program, prop);
|
|
294
|
+
const pattern = getPattern(program, prop);
|
|
295
|
+
const format = getFormat(program, prop);
|
|
296
|
+
const minLengthRaw = getMinLengthAsNumeric(program, prop);
|
|
297
|
+
const maxLengthRaw = getMaxLengthAsNumeric(program, prop);
|
|
298
|
+
const minValueRaw = getMinValueAsNumeric(program, prop);
|
|
299
|
+
const maxValueRaw = getMaxValueAsNumeric(program, prop);
|
|
300
|
+
const minLength = minLengthRaw === undefined ? undefined : Number(minLengthRaw);
|
|
301
|
+
const maxLength = maxLengthRaw === undefined ? undefined : Number(maxLengthRaw);
|
|
302
|
+
const minValue = minValueRaw === undefined ? undefined : Number(minValueRaw);
|
|
303
|
+
const maxValue = maxValueRaw === undefined ? undefined : Number(maxValueRaw);
|
|
253
304
|
const propertyType = mapTypeToPropertyType(program, prop.type);
|
|
254
305
|
const personEntity = getPersonEntityMapping(program, prop, propertyType);
|
|
255
306
|
return {
|
|
256
307
|
name,
|
|
257
308
|
type: propertyType,
|
|
258
309
|
...(description ? { description } : {}),
|
|
310
|
+
...(doc ? { doc } : {}),
|
|
311
|
+
...(example !== undefined ? { example } : {}),
|
|
312
|
+
...(format ? { format } : {}),
|
|
313
|
+
...(pattern ? { pattern } : {}),
|
|
314
|
+
...(minLength !== undefined && Number.isFinite(minLength) ? { minLength } : {}),
|
|
315
|
+
...(maxLength !== undefined && Number.isFinite(maxLength) ? { maxLength } : {}),
|
|
316
|
+
...(minValue !== undefined && Number.isFinite(minValue) ? { minValue } : {}),
|
|
317
|
+
...(maxValue !== undefined && Number.isFinite(maxValue) ? { maxValue } : {}),
|
|
259
318
|
labels,
|
|
260
319
|
aliases,
|
|
261
320
|
search: getSearchFlags(program, prop),
|
|
@@ -283,6 +342,7 @@ export async function loadIrFromTypeSpec(entryTspPath) {
|
|
|
283
342
|
idPropertyName: getName(program, idProps[0]),
|
|
284
343
|
idEncoding: getIdEncoding(program, idProps[0]),
|
|
285
344
|
...(contentPropName ? { contentPropertyName: contentPropName } : {}),
|
|
345
|
+
...(itemDoc ? { doc: itemDoc } : {}),
|
|
286
346
|
},
|
|
287
347
|
properties: irProperties,
|
|
288
348
|
};
|
package/dist/tsp/loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/tsp/loader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/tsp/loader.ts"],"names":[],"mappings":"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"}
|