@famgia/omnify-old 0.12.9
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 +129 -0
- package/README.md +136 -0
- package/dist/__tests__/generators/contextGenerator.test.d.ts +2 -0
- package/dist/__tests__/generators/contextGenerator.test.d.ts.map +1 -0
- package/dist/__tests__/generators/contextGenerator.test.js +109 -0
- package/dist/__tests__/generators/contextGenerator.test.js.map +1 -0
- package/dist/__tests__/generators/enumGenerator.test.d.ts +2 -0
- package/dist/__tests__/generators/enumGenerator.test.d.ts.map +1 -0
- package/dist/__tests__/generators/enumGenerator.test.js +151 -0
- package/dist/__tests__/generators/enumGenerator.test.js.map +1 -0
- package/dist/__tests__/generators/modelGenerator.test.d.ts +2 -0
- package/dist/__tests__/generators/modelGenerator.test.d.ts.map +1 -0
- package/dist/__tests__/generators/modelGenerator.test.js +329 -0
- package/dist/__tests__/generators/modelGenerator.test.js.map +1 -0
- package/dist/__tests__/utils/pascalCase.test.d.ts +1 -0
- package/dist/__tests__/utils/pascalCase.test.d.ts.map +1 -0
- package/dist/__tests__/utils/pascalCase.test.js +75 -0
- package/dist/__tests__/utils/pascalCase.test.js.map +1 -0
- package/dist/__tests__/utils/typeMapper.test.d.ts +2 -0
- package/dist/__tests__/utils/typeMapper.test.d.ts.map +1 -0
- package/dist/__tests__/utils/typeMapper.test.js +41 -0
- package/dist/__tests__/utils/typeMapper.test.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +248 -0
- package/dist/cli.js.map +1 -0
- package/dist/generators/commonTypesGenerator.d.ts +5 -0
- package/dist/generators/commonTypesGenerator.d.ts.map +1 -0
- package/dist/generators/commonTypesGenerator.js +37 -0
- package/dist/generators/commonTypesGenerator.js.map +1 -0
- package/dist/generators/contextGenerator.d.ts +3 -0
- package/dist/generators/contextGenerator.d.ts.map +1 -0
- package/dist/generators/contextGenerator.js +248 -0
- package/dist/generators/contextGenerator.js.map +1 -0
- package/dist/generators/enumGenerator.d.ts +13 -0
- package/dist/generators/enumGenerator.d.ts.map +1 -0
- package/dist/generators/enumGenerator.js +83 -0
- package/dist/generators/enumGenerator.js.map +1 -0
- package/dist/generators/hooksGenerator.d.ts +4 -0
- package/dist/generators/hooksGenerator.d.ts.map +1 -0
- package/dist/generators/hooksGenerator.js +265 -0
- package/dist/generators/hooksGenerator.js.map +1 -0
- package/dist/generators/modelGenerator.d.ts +13 -0
- package/dist/generators/modelGenerator.d.ts.map +1 -0
- package/dist/generators/modelGenerator.js +262 -0
- package/dist/generators/modelGenerator.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/runtime/hooks/useFormSubmit.d.ts +36 -0
- package/dist/runtime/hooks/useFormSubmit.d.ts.map +1 -0
- package/dist/runtime/hooks/useFormSubmit.js +86 -0
- package/dist/runtime/hooks/useFormSubmit.js.map +1 -0
- package/dist/runtime/index.d.ts +5 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +21 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/lib/axios.d.ts +7 -0
- package/dist/runtime/lib/axios.d.ts.map +1 -0
- package/dist/runtime/lib/axios.js +54 -0
- package/dist/runtime/lib/axios.js.map +1 -0
- package/dist/runtime/lib/validation.d.ts +50 -0
- package/dist/runtime/lib/validation.d.ts.map +1 -0
- package/dist/runtime/lib/validation.js +85 -0
- package/dist/runtime/lib/validation.js.map +1 -0
- package/dist/types.d.ts +54 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/typeMapper.d.ts +10 -0
- package/dist/utils/typeMapper.d.ts.map +1 -0
- package/dist/utils/typeMapper.js +119 -0
- package/dist/utils/typeMapper.js.map +1 -0
- package/package.json +74 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isHalfWidthKatakana = exports.isKana = exports.isHiragana = exports.isKatakana = exports.halfWidthKatakanaRule = exports.kanaRule = exports.hiraganaRule = exports.kanaWithNumbersRule = exports.katakanaRule = exports.VALIDATION_PATTERNS = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Regular expression patterns for Japanese character validation
|
|
6
|
+
*/
|
|
7
|
+
exports.VALIDATION_PATTERNS = {
|
|
8
|
+
// Full-width katakana (including small characters, prolonged sound mark, and numbers)
|
|
9
|
+
// Added 0-9 (half-width) and \uFF10-\uFF19 (full-width) to allow numbers like "2チョウメ" or "2チョウメ"
|
|
10
|
+
KATAKANA: /^[\u30A0-\u30FF\u3099-\u309C0-9\uFF10-\uFF19\s]*$/,
|
|
11
|
+
// Hiragana (including small characters)
|
|
12
|
+
HIRAGANA: /^[\u3040-\u309F\u3099-\u309C\s]*$/,
|
|
13
|
+
// Full-width katakana or Hiragana
|
|
14
|
+
KANA: /^[\u3040-\u309F\u30A0-\u30FF\u3099-\u309C\s]*$/,
|
|
15
|
+
// Half-width katakana
|
|
16
|
+
HALF_WIDTH_KATAKANA: /^[\uFF65-\uFF9F\s]*$/,
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Ant Design validation rule for full-width katakana (includes numbers)
|
|
20
|
+
* Accepts: Katakana + full-width numbers (0-9) + half-width numbers (0-9)
|
|
21
|
+
*/
|
|
22
|
+
const katakanaRule = (message) => ({
|
|
23
|
+
pattern: exports.VALIDATION_PATTERNS.KATAKANA,
|
|
24
|
+
message: message || 'カタカナで入力してください',
|
|
25
|
+
});
|
|
26
|
+
exports.katakanaRule = katakanaRule;
|
|
27
|
+
/**
|
|
28
|
+
* Ant Design validation rule for katakana with numbers
|
|
29
|
+
* Alias for katakanaRule with clearer naming
|
|
30
|
+
* Use for: company name kana, shop name kana, address kana, etc.
|
|
31
|
+
*/
|
|
32
|
+
exports.kanaWithNumbersRule = exports.katakanaRule;
|
|
33
|
+
/**
|
|
34
|
+
* Ant Design validation rule for hiragana
|
|
35
|
+
*/
|
|
36
|
+
const hiraganaRule = (message) => ({
|
|
37
|
+
pattern: exports.VALIDATION_PATTERNS.HIRAGANA,
|
|
38
|
+
message: message || 'ひらがなで入力してください',
|
|
39
|
+
});
|
|
40
|
+
exports.hiraganaRule = hiraganaRule;
|
|
41
|
+
/**
|
|
42
|
+
* Ant Design validation rule for kana (katakana or hiragana)
|
|
43
|
+
*/
|
|
44
|
+
const kanaRule = (message) => ({
|
|
45
|
+
pattern: exports.VALIDATION_PATTERNS.KANA,
|
|
46
|
+
message: message || 'カナで入力してください',
|
|
47
|
+
});
|
|
48
|
+
exports.kanaRule = kanaRule;
|
|
49
|
+
/**
|
|
50
|
+
* Ant Design validation rule for half-width katakana
|
|
51
|
+
*/
|
|
52
|
+
const halfWidthKatakanaRule = (message) => ({
|
|
53
|
+
pattern: exports.VALIDATION_PATTERNS.HALF_WIDTH_KATAKANA,
|
|
54
|
+
message: message || '半角カタカナで入力してください',
|
|
55
|
+
});
|
|
56
|
+
exports.halfWidthKatakanaRule = halfWidthKatakanaRule;
|
|
57
|
+
/**
|
|
58
|
+
* Validator function that checks if a string contains only full-width katakana
|
|
59
|
+
*/
|
|
60
|
+
const isKatakana = (value) => {
|
|
61
|
+
return exports.VALIDATION_PATTERNS.KATAKANA.test(value);
|
|
62
|
+
};
|
|
63
|
+
exports.isKatakana = isKatakana;
|
|
64
|
+
/**
|
|
65
|
+
* Validator function that checks if a string contains only hiragana
|
|
66
|
+
*/
|
|
67
|
+
const isHiragana = (value) => {
|
|
68
|
+
return exports.VALIDATION_PATTERNS.HIRAGANA.test(value);
|
|
69
|
+
};
|
|
70
|
+
exports.isHiragana = isHiragana;
|
|
71
|
+
/**
|
|
72
|
+
* Validator function that checks if a string contains only kana (katakana or hiragana)
|
|
73
|
+
*/
|
|
74
|
+
const isKana = (value) => {
|
|
75
|
+
return exports.VALIDATION_PATTERNS.KANA.test(value);
|
|
76
|
+
};
|
|
77
|
+
exports.isKana = isKana;
|
|
78
|
+
/**
|
|
79
|
+
* Validator function that checks if a string contains only half-width katakana
|
|
80
|
+
*/
|
|
81
|
+
const isHalfWidthKatakana = (value) => {
|
|
82
|
+
return exports.VALIDATION_PATTERNS.HALF_WIDTH_KATAKANA.test(value);
|
|
83
|
+
};
|
|
84
|
+
exports.isHalfWidthKatakana = isHalfWidthKatakana;
|
|
85
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/runtime/lib/validation.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACU,QAAA,mBAAmB,GAAG;IAC/B,sFAAsF;IACtF,iGAAiG;IACjG,QAAQ,EAAE,mDAAmD;IAE7D,wCAAwC;IACxC,QAAQ,EAAE,mCAAmC;IAE7C,kCAAkC;IAClC,IAAI,EAAE,gDAAgD;IAEtD,sBAAsB;IACtB,mBAAmB,EAAE,sBAAsB;CACrC,CAAC;AAEX;;;GAGG;AACI,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAQ,EAAE,CAAC,CAAC;IACrD,OAAO,EAAE,2BAAmB,CAAC,QAAQ;IACrC,OAAO,EAAE,OAAO,IAAI,eAAe;CACtC,CAAC,CAAC;AAHU,QAAA,YAAY,gBAGtB;AAEH;;;;GAIG;AACU,QAAA,mBAAmB,GAAG,oBAAY,CAAC;AAEhD;;GAEG;AACI,MAAM,YAAY,GAAG,CAAC,OAAgB,EAAQ,EAAE,CAAC,CAAC;IACrD,OAAO,EAAE,2BAAmB,CAAC,QAAQ;IACrC,OAAO,EAAE,OAAO,IAAI,eAAe;CACtC,CAAC,CAAC;AAHU,QAAA,YAAY,gBAGtB;AAEH;;GAEG;AACI,MAAM,QAAQ,GAAG,CAAC,OAAgB,EAAQ,EAAE,CAAC,CAAC;IACjD,OAAO,EAAE,2BAAmB,CAAC,IAAI;IACjC,OAAO,EAAE,OAAO,IAAI,aAAa;CACpC,CAAC,CAAC;AAHU,QAAA,QAAQ,YAGlB;AAEH;;GAEG;AACI,MAAM,qBAAqB,GAAG,CAAC,OAAgB,EAAQ,EAAE,CAAC,CAAC;IAC9D,OAAO,EAAE,2BAAmB,CAAC,mBAAmB;IAChD,OAAO,EAAE,OAAO,IAAI,iBAAiB;CACxC,CAAC,CAAC;AAHU,QAAA,qBAAqB,yBAG/B;AAEH;;GAEG;AACI,MAAM,UAAU,GAAG,CAAC,KAAa,EAAW,EAAE;IACjD,OAAO,2BAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpD,CAAC,CAAC;AAFW,QAAA,UAAU,cAErB;AAEF;;GAEG;AACI,MAAM,UAAU,GAAG,CAAC,KAAa,EAAW,EAAE;IACjD,OAAO,2BAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACpD,CAAC,CAAC;AAFW,QAAA,UAAU,cAErB;AAEF;;GAEG;AACI,MAAM,MAAM,GAAG,CAAC,KAAa,EAAW,EAAE;IAC7C,OAAO,2BAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC,CAAC;AAFW,QAAA,MAAM,UAEjB;AAEF;;GAEG;AACI,MAAM,mBAAmB,GAAG,CAAC,KAAa,EAAW,EAAE;IAC1D,OAAO,2BAAmB,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC,CAAC;AAFW,QAAA,mBAAmB,uBAE9B"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export interface EnumValue {
|
|
2
|
+
value: string;
|
|
3
|
+
label: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Pivot field configuration for ManyToMany relationships
|
|
7
|
+
*/
|
|
8
|
+
export interface PivotField {
|
|
9
|
+
type: 'Int' | 'Float' | 'String' | 'Text' | 'Boolean' | 'Date' | 'Timestamp' | 'DateTime' | 'BigInt' | 'Decimal' | 'Json';
|
|
10
|
+
nullable?: boolean;
|
|
11
|
+
default?: string | number | boolean;
|
|
12
|
+
displayName?: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Collection of pivot fields for a ManyToMany relationship
|
|
16
|
+
*/
|
|
17
|
+
export type PivotFields = Record<string, PivotField>;
|
|
18
|
+
export interface Property {
|
|
19
|
+
objectName: string;
|
|
20
|
+
propertyName: string;
|
|
21
|
+
displayName: string;
|
|
22
|
+
description: string | null;
|
|
23
|
+
type: string;
|
|
24
|
+
enum?: EnumValue[] | Record<string, EnumValue>;
|
|
25
|
+
nullable?: boolean;
|
|
26
|
+
primary?: boolean;
|
|
27
|
+
unique?: boolean;
|
|
28
|
+
length?: number | null;
|
|
29
|
+
default?: string;
|
|
30
|
+
relation?: string;
|
|
31
|
+
target?: string;
|
|
32
|
+
foreignKey?: string | null;
|
|
33
|
+
inversedBy?: string | null;
|
|
34
|
+
mappedBy?: string | null;
|
|
35
|
+
pivotFields?: PivotFields;
|
|
36
|
+
fields?: Record<string, any>;
|
|
37
|
+
morphName?: string | null;
|
|
38
|
+
}
|
|
39
|
+
export interface OmnifyObject {
|
|
40
|
+
objectName: string;
|
|
41
|
+
kind: string;
|
|
42
|
+
titleIndex: string;
|
|
43
|
+
groupName: string;
|
|
44
|
+
displayName: string;
|
|
45
|
+
singularName: string;
|
|
46
|
+
pluralName: string;
|
|
47
|
+
tableName: string;
|
|
48
|
+
description: string | null;
|
|
49
|
+
properties: Record<string, Property>;
|
|
50
|
+
}
|
|
51
|
+
export interface SchemaLock {
|
|
52
|
+
[key: string]: OmnifyObject;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IAC1H,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAErD,MAAM,WAAW,QAAQ;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGzB,WAAW,CAAC,EAAE,WAAW,CAAC;IAG1B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAG7B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,UAAU;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAC;CAC7B"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare function mapOmnifyTypeToTypeScript(omnifyType: string, nullable?: boolean): string;
|
|
2
|
+
export declare function normalizeEnumArray(enumData: any): Array<{
|
|
3
|
+
value: string;
|
|
4
|
+
label: string;
|
|
5
|
+
}>;
|
|
6
|
+
/**
|
|
7
|
+
* Map pivot field type to TypeScript type
|
|
8
|
+
*/
|
|
9
|
+
export declare function mapPivotFieldTypeToTypeScript(pivotType: string, nullable?: boolean): string;
|
|
10
|
+
//# sourceMappingURL=typeMapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typeMapper.d.ts","sourceRoot":"","sources":["../../src/utils/typeMapper.ts"],"names":[],"mappings":"AAAA,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAmFxF;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,GAAG,GAAG,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAUzF;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAoC3F"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mapOmnifyTypeToTypeScript = mapOmnifyTypeToTypeScript;
|
|
4
|
+
exports.normalizeEnumArray = normalizeEnumArray;
|
|
5
|
+
exports.mapPivotFieldTypeToTypeScript = mapPivotFieldTypeToTypeScript;
|
|
6
|
+
function mapOmnifyTypeToTypeScript(omnifyType, nullable) {
|
|
7
|
+
let tsType;
|
|
8
|
+
switch (omnifyType) {
|
|
9
|
+
// Numeric types
|
|
10
|
+
case 'Id':
|
|
11
|
+
case 'Int':
|
|
12
|
+
case 'TinyInt':
|
|
13
|
+
case 'BigInt':
|
|
14
|
+
case 'Float':
|
|
15
|
+
tsType = 'number';
|
|
16
|
+
break;
|
|
17
|
+
// String types
|
|
18
|
+
case 'String':
|
|
19
|
+
case 'Text':
|
|
20
|
+
case 'LongText':
|
|
21
|
+
case 'Email':
|
|
22
|
+
case 'Password':
|
|
23
|
+
case 'JapanPhone':
|
|
24
|
+
case 'Color':
|
|
25
|
+
case 'Time':
|
|
26
|
+
tsType = 'string';
|
|
27
|
+
break;
|
|
28
|
+
// Boolean types
|
|
29
|
+
case 'Boolean':
|
|
30
|
+
tsType = 'boolean';
|
|
31
|
+
break;
|
|
32
|
+
// Date/Time types
|
|
33
|
+
case 'Date':
|
|
34
|
+
case 'Timestamp':
|
|
35
|
+
tsType = 'string'; // ISO string format
|
|
36
|
+
break;
|
|
37
|
+
// JSON/Object types
|
|
38
|
+
case 'Json':
|
|
39
|
+
tsType = 'Record<string, any>';
|
|
40
|
+
break;
|
|
41
|
+
// Enum types
|
|
42
|
+
case 'Enum':
|
|
43
|
+
tsType = 'string'; // Will be replaced with specific enum type
|
|
44
|
+
break;
|
|
45
|
+
// Relation types
|
|
46
|
+
case 'Association':
|
|
47
|
+
case 'Polymorphic':
|
|
48
|
+
case 'Lookup':
|
|
49
|
+
tsType = 'any'; // Relations are complex
|
|
50
|
+
break;
|
|
51
|
+
// Select types
|
|
52
|
+
case 'Select':
|
|
53
|
+
case 'SingleSelect':
|
|
54
|
+
case 'MultiSelect':
|
|
55
|
+
tsType = 'string';
|
|
56
|
+
break;
|
|
57
|
+
// File types
|
|
58
|
+
case 'File':
|
|
59
|
+
case 'MultiFile':
|
|
60
|
+
tsType = 'string'; // Usually file path or URL
|
|
61
|
+
break;
|
|
62
|
+
// Address type
|
|
63
|
+
case 'Address':
|
|
64
|
+
tsType = 'string';
|
|
65
|
+
break;
|
|
66
|
+
// Composite types (will be expanded)
|
|
67
|
+
case 'JapanAddress':
|
|
68
|
+
case 'JapanPersonName':
|
|
69
|
+
tsType = 'object'; // Complex types - should be expanded
|
|
70
|
+
break;
|
|
71
|
+
default:
|
|
72
|
+
console.warn(`Unknown Omnify type: ${omnifyType}, mapping to 'any'`);
|
|
73
|
+
tsType = 'any';
|
|
74
|
+
}
|
|
75
|
+
return nullable ? `${tsType} | null` : tsType;
|
|
76
|
+
}
|
|
77
|
+
function normalizeEnumArray(enumData) {
|
|
78
|
+
if (Array.isArray(enumData)) {
|
|
79
|
+
return enumData;
|
|
80
|
+
}
|
|
81
|
+
if (typeof enumData === 'object' && enumData !== null) {
|
|
82
|
+
return Object.values(enumData);
|
|
83
|
+
}
|
|
84
|
+
return [];
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Map pivot field type to TypeScript type
|
|
88
|
+
*/
|
|
89
|
+
function mapPivotFieldTypeToTypeScript(pivotType, nullable) {
|
|
90
|
+
let tsType;
|
|
91
|
+
switch (pivotType) {
|
|
92
|
+
case 'Int':
|
|
93
|
+
case 'BigInt':
|
|
94
|
+
case 'Float':
|
|
95
|
+
case 'Decimal':
|
|
96
|
+
tsType = 'number';
|
|
97
|
+
break;
|
|
98
|
+
case 'String':
|
|
99
|
+
case 'Text':
|
|
100
|
+
tsType = 'string';
|
|
101
|
+
break;
|
|
102
|
+
case 'Boolean':
|
|
103
|
+
case 'Bool':
|
|
104
|
+
tsType = 'boolean';
|
|
105
|
+
break;
|
|
106
|
+
case 'Date':
|
|
107
|
+
case 'Timestamp':
|
|
108
|
+
case 'DateTime':
|
|
109
|
+
tsType = 'string'; // ISO string format
|
|
110
|
+
break;
|
|
111
|
+
case 'Json':
|
|
112
|
+
tsType = 'Record<string, any>';
|
|
113
|
+
break;
|
|
114
|
+
default:
|
|
115
|
+
tsType = 'any';
|
|
116
|
+
}
|
|
117
|
+
return nullable ? `${tsType} | null` : tsType;
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=typeMapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typeMapper.js","sourceRoot":"","sources":["../../src/utils/typeMapper.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@famgia/omnify-old",
|
|
3
|
+
"version": "0.12.9",
|
|
4
|
+
"description": "Complete Laravel + React solution: Schema-to-TypeScript generation + Runtime helpers for forms",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"bin": {
|
|
8
|
+
"omnify-build": "dist/cli.js"
|
|
9
|
+
},
|
|
10
|
+
"keywords": [
|
|
11
|
+
"omnify",
|
|
12
|
+
"typescript",
|
|
13
|
+
"generator",
|
|
14
|
+
"schema",
|
|
15
|
+
"codegen",
|
|
16
|
+
"laravel",
|
|
17
|
+
"type-generation"
|
|
18
|
+
],
|
|
19
|
+
"author": "Omnify JP",
|
|
20
|
+
"license": "MIT",
|
|
21
|
+
"repository": {
|
|
22
|
+
"type": "git",
|
|
23
|
+
"url": "git+https://github.com/omnifyjp/omnify.git"
|
|
24
|
+
},
|
|
25
|
+
"bugs": {
|
|
26
|
+
"url": "https://github.com/omnifyjp/omnify/issues"
|
|
27
|
+
},
|
|
28
|
+
"homepage": "https://github.com/omnifyjp/omnify#readme",
|
|
29
|
+
"engines": {
|
|
30
|
+
"node": ">=16.0.0"
|
|
31
|
+
},
|
|
32
|
+
"devDependencies": {
|
|
33
|
+
"@types/jest": "^30.0.0",
|
|
34
|
+
"@types/node": "^20.19.24",
|
|
35
|
+
"@types/react": "^19.2.2",
|
|
36
|
+
"antd": "^5.28.0",
|
|
37
|
+
"axios": "^1.13.2",
|
|
38
|
+
"jest": "^30.2.0",
|
|
39
|
+
"react": "^19.2.0",
|
|
40
|
+
"ts-jest": "^29.4.5",
|
|
41
|
+
"typescript": "^5.0.0"
|
|
42
|
+
},
|
|
43
|
+
"dependencies": {
|
|
44
|
+
"chokidar": "^3.6.0"
|
|
45
|
+
},
|
|
46
|
+
"peerDependencies": {
|
|
47
|
+
"antd": ">=5.0.0",
|
|
48
|
+
"axios": ">=1.0.0",
|
|
49
|
+
"react": ">=18.0.0",
|
|
50
|
+
"typescript": ">=5.0.0"
|
|
51
|
+
},
|
|
52
|
+
"peerDependenciesMeta": {
|
|
53
|
+
"react": {
|
|
54
|
+
"optional": true
|
|
55
|
+
},
|
|
56
|
+
"antd": {
|
|
57
|
+
"optional": true
|
|
58
|
+
},
|
|
59
|
+
"axios": {
|
|
60
|
+
"optional": true
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"files": [
|
|
64
|
+
"dist",
|
|
65
|
+
"README.md",
|
|
66
|
+
"CHANGELOG.md"
|
|
67
|
+
],
|
|
68
|
+
"scripts": {
|
|
69
|
+
"build": "tsc",
|
|
70
|
+
"test": "jest",
|
|
71
|
+
"test:watch": "jest --watch",
|
|
72
|
+
"test:coverage": "jest --coverage"
|
|
73
|
+
}
|
|
74
|
+
}
|