silgi 0.3.13 → 0.4.1

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.
Files changed (71) hide show
  1. package/README.md +1 -31
  2. package/cli.d.ts +1 -0
  3. package/config.d.ts +1 -0
  4. package/core.d.ts +1 -0
  5. package/dist/_chunks/index.mjs +233 -0
  6. package/dist/cli/compatibility.mjs +42 -0
  7. package/dist/cli/index.mjs +3 -184
  8. package/dist/cli/prepare.mjs +1350 -0
  9. package/dist/config/index.d.mts +5 -0
  10. package/dist/config/index.d.ts +5 -0
  11. package/dist/core/index.d.mts +136 -0
  12. package/dist/core/index.d.ts +136 -0
  13. package/dist/core/index.mjs +1444 -0
  14. package/dist/ecosystem/nitro/index.mjs +21 -29
  15. package/dist/ecosystem/nuxt/module.mjs +4 -25
  16. package/dist/kit/index.d.mts +90 -0
  17. package/dist/kit/index.d.ts +90 -0
  18. package/dist/kit/index.mjs +316 -0
  19. package/dist/meta/index.d.mts +3 -0
  20. package/dist/meta/index.d.ts +3 -0
  21. package/dist/meta/index.mjs +1 -0
  22. package/dist/presets/_all.gen.d.ts +2 -0
  23. package/dist/presets/_all.gen.mjs +10 -0
  24. package/dist/presets/_resolve.d.ts +8 -0
  25. package/dist/presets/_resolve.mjs +58 -0
  26. package/dist/presets/_types.gen.d.ts +5 -0
  27. package/dist/presets/_types.gen.mjs +1 -0
  28. package/dist/presets/h3/preset.d.ts +2 -0
  29. package/dist/presets/h3/preset.mjs +22 -0
  30. package/dist/presets/index.d.mts +1 -0
  31. package/dist/presets/index.d.ts +2 -0
  32. package/dist/presets/index.mjs +1 -0
  33. package/dist/presets/nitro/preset.d.ts +2 -0
  34. package/dist/presets/nitro/preset.mjs +26 -0
  35. package/dist/presets/npmpackage/preset.d.ts +2 -0
  36. package/dist/presets/npmpackage/preset.mjs +23 -0
  37. package/dist/presets/nuxt/preset.d.ts +2 -0
  38. package/dist/presets/nuxt/preset.mjs +26 -0
  39. package/dist/runtime/index.d.ts +1 -0
  40. package/dist/runtime/index.mjs +1 -0
  41. package/dist/runtime/internal/debug.d.ts +2 -0
  42. package/dist/runtime/internal/debug.mjs +5 -0
  43. package/dist/runtime/internal/nitro.d.ts +2 -0
  44. package/dist/runtime/internal/nitro.mjs +45 -0
  45. package/dist/runtime/internal/plugin.d.ts +3 -0
  46. package/dist/runtime/internal/plugin.mjs +4 -0
  47. package/dist/shared/silgi.40ZJYm8F.d.mts +11 -0
  48. package/dist/shared/silgi.40ZJYm8F.d.ts +11 -0
  49. package/dist/shared/{silgi.ClpvycKI.d.ts → silgi.CzUPBllI.d.mts} +452 -438
  50. package/dist/shared/{silgi.ClpvycKI.d.mts → silgi.D_LzzCtJ.d.ts} +452 -438
  51. package/dist/types/index.d.mts +42 -0
  52. package/dist/types/index.d.ts +42 -0
  53. package/dist/types/index.mjs +1 -0
  54. package/kit.d.ts +1 -0
  55. package/meta.d.ts +1 -0
  56. package/package.json +89 -39
  57. package/presets.d.ts +1 -0
  58. package/runtime-meta.d.ts +4 -0
  59. package/runtime-meta.mjs +32 -0
  60. package/runtime.d.ts +1 -0
  61. package/types.d.ts +1 -0
  62. package/bin/silgi.mjs +0 -3
  63. package/dist/chunks/generate.mjs +0 -1257
  64. package/dist/cli/config.d.mts +0 -1633
  65. package/dist/cli/config.d.ts +0 -1633
  66. package/dist/index.d.mts +0 -198
  67. package/dist/index.d.ts +0 -198
  68. package/dist/index.mjs +0 -503
  69. package/dist/shared/silgi.D2yb1XAa.mjs +0 -842
  70. /package/dist/{chunks → cli}/init.mjs +0 -0
  71. /package/dist/{cli/config.mjs → config/index.mjs} +0 -0
@@ -0,0 +1,5 @@
1
+ import { SilgiCLIConfig } from 'silgi/types';
2
+
3
+ declare function defineSilgiConfig(config: SilgiCLIConfig): SilgiCLIConfig;
4
+
5
+ export { defineSilgiConfig };
@@ -0,0 +1,5 @@
1
+ import { SilgiCLIConfig } from 'silgi/types';
2
+
3
+ declare function defineSilgiConfig(config: SilgiCLIConfig): SilgiCLIConfig;
4
+
5
+ export { defineSilgiConfig };
@@ -0,0 +1,136 @@
1
+ import { SilgiCLIConfig, LoadConfigOptions, SilgiCLIOptions, SilgiCLI, SilgiConfig, Silgi, SilgiRouterTypes, SilgiOperation, MergedSilgiSchema, ServiceType, SilgiSchema, RequiredServiceType, SilgiModuleShared, DefaultNamespaces, BaseSchemaType } from 'silgi/types';
2
+ import { TSConfig } from 'pkg-types';
3
+ import { FetchOptions } from 'ofetch';
4
+ export { c as createStorage, s as silgi } from '../shared/silgi.40ZJYm8F.mjs';
5
+ import { StandardSchemaV1 } from '@standard-schema/spec';
6
+ import 'unstorage';
7
+
8
+ declare function loadOptions(configOverrides?: SilgiCLIConfig, opts?: LoadConfigOptions): Promise<SilgiCLIOptions>;
9
+
10
+ declare function silgiGenerateType(silgi: SilgiCLI): Promise<{
11
+ declarations: string[];
12
+ tsConfig: TSConfig;
13
+ }>;
14
+
15
+ declare function createSilgi(config: SilgiConfig): Promise<Silgi>;
16
+
17
+ type FetchResponseData<Route extends keyof SilgiRouterTypes, Method extends keyof SilgiRouterTypes[Route]> = SilgiRouterTypes[Route][Method] extends {
18
+ output: any;
19
+ } ? SilgiRouterTypes[Route][Method]['output'] : never;
20
+ type RequestBodyOption<Route extends keyof SilgiRouterTypes, Method extends keyof SilgiRouterTypes[Route]> = SilgiRouterTypes[Route][Method] extends {
21
+ input: any;
22
+ } ? {
23
+ body: SilgiRouterTypes[Route][Method]['input'];
24
+ } : {
25
+ body?: never;
26
+ };
27
+ type RouterParams<Route extends keyof SilgiRouterTypes, Method extends keyof SilgiRouterTypes[Route]> = SilgiRouterTypes[Route][Method] extends {
28
+ params: any;
29
+ } ? {
30
+ params?: SilgiRouterTypes[Route][Method]['params'];
31
+ } : {
32
+ params?: never;
33
+ };
34
+ type DefaultMethod<Route extends keyof SilgiRouterTypes> = keyof SilgiRouterTypes[Route];
35
+ type SilgiFetchOptions<Route extends keyof SilgiRouterTypes, Method extends keyof SilgiRouterTypes[Route] = DefaultMethod<Route>> = {
36
+ method?: Method;
37
+ } & RequestBodyOption<Route, Method> & RouterParams<Route, Method> & Omit<FetchOptions, 'query' | 'body' | 'method'>;
38
+ type SilgiFetchClient = <Route extends keyof SilgiRouterTypes, Method extends keyof SilgiRouterTypes[Route] = DefaultMethod<Route>, ResT = FetchResponseData<Route, Method>>(url: Route, options?: SilgiFetchOptions<Route, Method>) => Promise<ResT>;
39
+ declare function createSilgiFetch(options: FetchOptions | ((options: FetchOptions) => FetchOptions), localFetch?: typeof globalThis.$fetch): SilgiFetchClient;
40
+
41
+ interface Options {
42
+ debug?: boolean;
43
+ }
44
+ interface DataType {
45
+ exportName: string;
46
+ options: {
47
+ type: boolean;
48
+ pluginName?: string;
49
+ };
50
+ path: string;
51
+ }
52
+ declare class SchemaParser {
53
+ options: Options;
54
+ /**
55
+ *
56
+ */
57
+ constructor(options?: Options);
58
+ parseExports(content: string, filePath: string): {
59
+ exportVariables: (search: string, path: string) => DataType[];
60
+ parseInterfaceDeclarations: (search: string, path: string) => DataType[];
61
+ };
62
+ private parseVariableDeclaration;
63
+ private parseTSInterfaceDeclaration;
64
+ private parseTypeDeclarations;
65
+ private parseInterfaceDeclarations;
66
+ }
67
+
68
+ interface RouteTemplateValidator {
69
+ (value: string): boolean;
70
+ }
71
+ interface RouteTemplateConfig {
72
+ pattern: string;
73
+ validators?: Record<string, RouteTemplateValidator>;
74
+ }
75
+ type URITemplate = string | RouteTemplateConfig;
76
+ declare function parseURI(uri: string, uris: Record<string, URITemplate>): SilgiOperation;
77
+
78
+ type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never;
79
+ declare function mergeSchemas<T extends MergedSilgiSchema[]>(typesOrArray: [...T] | T): UnionToIntersection<T[number]>;
80
+ declare function mergeServices<T extends ServiceType<SilgiSchema>[]>(servicesOrArray: [...T] | T): RequiredServiceType<SilgiSchema>;
81
+ declare function mergeShared<T extends SilgiModuleShared[]>(sharedOrArray: [...T] | T): UnionToIntersection<T[number]>;
82
+
83
+ declare function createSchema<T extends Partial<Record<keyof DefaultNamespaces, Record<string, BaseSchemaType<StandardSchemaV1>>>>>(silgiType: T): {
84
+ [K in keyof T]: {
85
+ [P in keyof T[K]]: T[K][P];
86
+ };
87
+ };
88
+
89
+ declare function createService<T extends SilgiSchema>(variables: ServiceType<T>): ServiceType<T>;
90
+
91
+ declare function createShared(shared: Partial<SilgiModuleShared>): SilgiModuleShared;
92
+
93
+ declare enum SilgiErrorCode {
94
+ AUTH_UNAUTHORIZED = "AUTH_UNAUTHORIZED",
95
+ AUTH_MISSING_CONTEXT = "AUTH_MISSING_CONTEXT",
96
+ AUTH_INVALID_CONTEXT = "AUTH_INVALID_CONTEXT",
97
+ AUTH_PERMISSION_DENIED = "AUTH_PERMISSION_DENIED",
98
+ PLUGIN_ERROR = "PLUGIN_ERROR",
99
+ METHOD_NOT_FOUND = "METHOD_NOT_FOUND",
100
+ EXECUTION_ERROR = "EXECUTION_ERROR",
101
+ CACHE_ERROR = "CACHE_ERROR",
102
+ PLUGIN_ALREADY_EXISTS = "PLUGIN_ALREADY_EXISTS",
103
+ PLUGIN_NOT_FOUND = "PLUGIN_NOT_FOUND",
104
+ PLUGIN_INIT_ERROR = "PLUGIN_INIT_ERROR"
105
+ }
106
+ interface SilgiErrorOptions {
107
+ code: SilgiErrorCode | string;
108
+ message: string;
109
+ cause?: Error;
110
+ details?: Record<string, unknown>;
111
+ meta?: Record<string, unknown>;
112
+ }
113
+ declare class SilgiError extends Error {
114
+ readonly code: string;
115
+ readonly details?: Record<string, unknown>;
116
+ readonly meta?: Record<string, unknown>;
117
+ readonly timestamp: number;
118
+ cause?: Error;
119
+ constructor(options: SilgiErrorOptions);
120
+ toString(): string;
121
+ toJSON(): {
122
+ name: string;
123
+ code: string;
124
+ message: string;
125
+ details: Record<string, unknown> | undefined;
126
+ meta: Record<string, unknown> | undefined;
127
+ timestamp: number;
128
+ stack: string | undefined;
129
+ };
130
+ static createFrom(error: unknown, code?: string): SilgiError;
131
+ static isSilgiError(error: unknown): error is SilgiError;
132
+ }
133
+
134
+ declare function useSilgi(): Silgi;
135
+
136
+ export { SchemaParser, SilgiError, createSchema, createService, createShared, createSilgi, createSilgiFetch, loadOptions, mergeSchemas, mergeServices, mergeShared, parseURI, silgiGenerateType, useSilgi };
@@ -0,0 +1,136 @@
1
+ import { SilgiCLIConfig, LoadConfigOptions, SilgiCLIOptions, SilgiCLI, SilgiConfig, Silgi, SilgiRouterTypes, SilgiOperation, MergedSilgiSchema, ServiceType, SilgiSchema, RequiredServiceType, SilgiModuleShared, DefaultNamespaces, BaseSchemaType } from 'silgi/types';
2
+ import { TSConfig } from 'pkg-types';
3
+ import { FetchOptions } from 'ofetch';
4
+ export { c as createStorage, s as silgi } from '../shared/silgi.40ZJYm8F.js';
5
+ import { StandardSchemaV1 } from '@standard-schema/spec';
6
+ import 'unstorage';
7
+
8
+ declare function loadOptions(configOverrides?: SilgiCLIConfig, opts?: LoadConfigOptions): Promise<SilgiCLIOptions>;
9
+
10
+ declare function silgiGenerateType(silgi: SilgiCLI): Promise<{
11
+ declarations: string[];
12
+ tsConfig: TSConfig;
13
+ }>;
14
+
15
+ declare function createSilgi(config: SilgiConfig): Promise<Silgi>;
16
+
17
+ type FetchResponseData<Route extends keyof SilgiRouterTypes, Method extends keyof SilgiRouterTypes[Route]> = SilgiRouterTypes[Route][Method] extends {
18
+ output: any;
19
+ } ? SilgiRouterTypes[Route][Method]['output'] : never;
20
+ type RequestBodyOption<Route extends keyof SilgiRouterTypes, Method extends keyof SilgiRouterTypes[Route]> = SilgiRouterTypes[Route][Method] extends {
21
+ input: any;
22
+ } ? {
23
+ body: SilgiRouterTypes[Route][Method]['input'];
24
+ } : {
25
+ body?: never;
26
+ };
27
+ type RouterParams<Route extends keyof SilgiRouterTypes, Method extends keyof SilgiRouterTypes[Route]> = SilgiRouterTypes[Route][Method] extends {
28
+ params: any;
29
+ } ? {
30
+ params?: SilgiRouterTypes[Route][Method]['params'];
31
+ } : {
32
+ params?: never;
33
+ };
34
+ type DefaultMethod<Route extends keyof SilgiRouterTypes> = keyof SilgiRouterTypes[Route];
35
+ type SilgiFetchOptions<Route extends keyof SilgiRouterTypes, Method extends keyof SilgiRouterTypes[Route] = DefaultMethod<Route>> = {
36
+ method?: Method;
37
+ } & RequestBodyOption<Route, Method> & RouterParams<Route, Method> & Omit<FetchOptions, 'query' | 'body' | 'method'>;
38
+ type SilgiFetchClient = <Route extends keyof SilgiRouterTypes, Method extends keyof SilgiRouterTypes[Route] = DefaultMethod<Route>, ResT = FetchResponseData<Route, Method>>(url: Route, options?: SilgiFetchOptions<Route, Method>) => Promise<ResT>;
39
+ declare function createSilgiFetch(options: FetchOptions | ((options: FetchOptions) => FetchOptions), localFetch?: typeof globalThis.$fetch): SilgiFetchClient;
40
+
41
+ interface Options {
42
+ debug?: boolean;
43
+ }
44
+ interface DataType {
45
+ exportName: string;
46
+ options: {
47
+ type: boolean;
48
+ pluginName?: string;
49
+ };
50
+ path: string;
51
+ }
52
+ declare class SchemaParser {
53
+ options: Options;
54
+ /**
55
+ *
56
+ */
57
+ constructor(options?: Options);
58
+ parseExports(content: string, filePath: string): {
59
+ exportVariables: (search: string, path: string) => DataType[];
60
+ parseInterfaceDeclarations: (search: string, path: string) => DataType[];
61
+ };
62
+ private parseVariableDeclaration;
63
+ private parseTSInterfaceDeclaration;
64
+ private parseTypeDeclarations;
65
+ private parseInterfaceDeclarations;
66
+ }
67
+
68
+ interface RouteTemplateValidator {
69
+ (value: string): boolean;
70
+ }
71
+ interface RouteTemplateConfig {
72
+ pattern: string;
73
+ validators?: Record<string, RouteTemplateValidator>;
74
+ }
75
+ type URITemplate = string | RouteTemplateConfig;
76
+ declare function parseURI(uri: string, uris: Record<string, URITemplate>): SilgiOperation;
77
+
78
+ type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never;
79
+ declare function mergeSchemas<T extends MergedSilgiSchema[]>(typesOrArray: [...T] | T): UnionToIntersection<T[number]>;
80
+ declare function mergeServices<T extends ServiceType<SilgiSchema>[]>(servicesOrArray: [...T] | T): RequiredServiceType<SilgiSchema>;
81
+ declare function mergeShared<T extends SilgiModuleShared[]>(sharedOrArray: [...T] | T): UnionToIntersection<T[number]>;
82
+
83
+ declare function createSchema<T extends Partial<Record<keyof DefaultNamespaces, Record<string, BaseSchemaType<StandardSchemaV1>>>>>(silgiType: T): {
84
+ [K in keyof T]: {
85
+ [P in keyof T[K]]: T[K][P];
86
+ };
87
+ };
88
+
89
+ declare function createService<T extends SilgiSchema>(variables: ServiceType<T>): ServiceType<T>;
90
+
91
+ declare function createShared(shared: Partial<SilgiModuleShared>): SilgiModuleShared;
92
+
93
+ declare enum SilgiErrorCode {
94
+ AUTH_UNAUTHORIZED = "AUTH_UNAUTHORIZED",
95
+ AUTH_MISSING_CONTEXT = "AUTH_MISSING_CONTEXT",
96
+ AUTH_INVALID_CONTEXT = "AUTH_INVALID_CONTEXT",
97
+ AUTH_PERMISSION_DENIED = "AUTH_PERMISSION_DENIED",
98
+ PLUGIN_ERROR = "PLUGIN_ERROR",
99
+ METHOD_NOT_FOUND = "METHOD_NOT_FOUND",
100
+ EXECUTION_ERROR = "EXECUTION_ERROR",
101
+ CACHE_ERROR = "CACHE_ERROR",
102
+ PLUGIN_ALREADY_EXISTS = "PLUGIN_ALREADY_EXISTS",
103
+ PLUGIN_NOT_FOUND = "PLUGIN_NOT_FOUND",
104
+ PLUGIN_INIT_ERROR = "PLUGIN_INIT_ERROR"
105
+ }
106
+ interface SilgiErrorOptions {
107
+ code: SilgiErrorCode | string;
108
+ message: string;
109
+ cause?: Error;
110
+ details?: Record<string, unknown>;
111
+ meta?: Record<string, unknown>;
112
+ }
113
+ declare class SilgiError extends Error {
114
+ readonly code: string;
115
+ readonly details?: Record<string, unknown>;
116
+ readonly meta?: Record<string, unknown>;
117
+ readonly timestamp: number;
118
+ cause?: Error;
119
+ constructor(options: SilgiErrorOptions);
120
+ toString(): string;
121
+ toJSON(): {
122
+ name: string;
123
+ code: string;
124
+ message: string;
125
+ details: Record<string, unknown> | undefined;
126
+ meta: Record<string, unknown> | undefined;
127
+ timestamp: number;
128
+ stack: string | undefined;
129
+ };
130
+ static createFrom(error: unknown, code?: string): SilgiError;
131
+ static isSilgiError(error: unknown): error is SilgiError;
132
+ }
133
+
134
+ declare function useSilgi(): Silgi;
135
+
136
+ export { SchemaParser, SilgiError, createSchema, createService, createShared, createSilgi, createSilgiFetch, loadOptions, mergeSchemas, mergeServices, mergeShared, parseURI, silgiGenerateType, useSilgi };