functional-examples 0.0.0-alpha.1 → 0.0.0-alpha.2
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/README.md +168 -26
- package/README.md.template +106 -0
- package/dist/cli/commands/scan.d.ts +1 -1
- package/dist/cli/commands/validate.d.ts +2 -2
- package/dist/cli/commands/validate.d.ts.map +1 -1
- package/dist/cli/commands/validate.js +92 -25
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/index.d.ts +3 -3
- package/dist/config/resolver.d.ts +10 -10
- package/dist/config/resolver.d.ts.map +1 -1
- package/dist/config/resolver.js +156 -57
- package/dist/config/resolver.js.map +1 -1
- package/dist/config/types.d.ts +1 -1
- package/dist/config/types.d.ts.map +1 -1
- package/dist/plugins/pipeline.d.ts +4 -0
- package/dist/plugins/pipeline.d.ts.map +1 -1
- package/dist/plugins/pipeline.js +10 -1
- package/dist/plugins/pipeline.js.map +1 -1
- package/dist/plugins/registry.d.ts +1 -0
- package/dist/plugins/registry.d.ts.map +1 -1
- package/dist/plugins/registry.js +2 -3
- package/dist/plugins/registry.js.map +1 -1
- package/dist/scanner/scan.d.ts +3 -3
- package/dist/scanner/scan.d.ts.map +1 -1
- package/dist/scanner/scan.js.map +1 -1
- package/dist/scanner/scanner.d.ts.map +1 -1
- package/dist/scanner/scanner.js +5 -5
- package/dist/scanner/scanner.js.map +1 -1
- package/dist/schema/merger.d.ts.map +1 -1
- package/dist/schema/merger.js +43 -5
- package/dist/schema/merger.js.map +1 -1
- package/dist/schema/validator.d.ts.map +1 -1
- package/dist/schema/validator.js +7 -1
- package/dist/schema/validator.js.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/package.json +4 -3
package/dist/schema/merger.js
CHANGED
|
@@ -99,6 +99,34 @@ export function mergeConfigSchema(options) {
|
|
|
99
99
|
}
|
|
100
100
|
return schema;
|
|
101
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* Base metadata schema with universal fields shared across all plugins.
|
|
104
|
+
*/
|
|
105
|
+
function createBaseMetadataSchema() {
|
|
106
|
+
return {
|
|
107
|
+
type: 'object',
|
|
108
|
+
properties: {
|
|
109
|
+
id: {
|
|
110
|
+
type: 'string',
|
|
111
|
+
description: 'Unique example identifier',
|
|
112
|
+
},
|
|
113
|
+
title: {
|
|
114
|
+
type: 'string',
|
|
115
|
+
description: 'Example title',
|
|
116
|
+
},
|
|
117
|
+
description: {
|
|
118
|
+
type: 'string',
|
|
119
|
+
description: 'Example description',
|
|
120
|
+
},
|
|
121
|
+
tags: {
|
|
122
|
+
type: 'array',
|
|
123
|
+
items: { type: 'string' },
|
|
124
|
+
description: 'Tags for categorizing the example',
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
required: ['id', 'title'],
|
|
128
|
+
};
|
|
129
|
+
}
|
|
102
130
|
/**
|
|
103
131
|
* Deep merge two JSON Schema objects.
|
|
104
132
|
* Second schema (b) takes priority on conflicts.
|
|
@@ -115,6 +143,15 @@ function deepMergeSchemas(a, b) {
|
|
|
115
143
|
...value,
|
|
116
144
|
};
|
|
117
145
|
}
|
|
146
|
+
else if (key === '$defs' &&
|
|
147
|
+
result.$defs &&
|
|
148
|
+
typeof value === 'object') {
|
|
149
|
+
// Merge $defs, b takes priority on conflicts
|
|
150
|
+
result.$defs = {
|
|
151
|
+
...result.$defs,
|
|
152
|
+
...value,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
118
155
|
else if (key === 'required' &&
|
|
119
156
|
Array.isArray(result.required) &&
|
|
120
157
|
Array.isArray(value)) {
|
|
@@ -134,11 +171,12 @@ function deepMergeSchemas(a, b) {
|
|
|
134
171
|
*/
|
|
135
172
|
export function mergeMetadataSchemas(options) {
|
|
136
173
|
const { configSchema, pluginSchemas } = options;
|
|
137
|
-
// Start with
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
174
|
+
// Start with base metadata schema containing universal fields
|
|
175
|
+
const base = createBaseMetadataSchema();
|
|
176
|
+
// Overlay config schema on top of base (config takes priority)
|
|
177
|
+
let merged = configSchema
|
|
178
|
+
? deepMergeSchemas(base, configSchema)
|
|
179
|
+
: base;
|
|
142
180
|
// Merge in plugin schemas (config already in merged, so it has priority)
|
|
143
181
|
for (const { pluginName, metadata } of pluginSchemas) {
|
|
144
182
|
if (!metadata)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merger.js","sourceRoot":"","sources":["../../src/schema/merger.ts"],"names":[],"mappings":"AA6BA;;GAEG;AACH,SAAS,sBAAsB;IAC7B,OAAO;QACL,OAAO,EAAE,8CAA8C;QACvD,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,OAAO,EAAE;gBACP,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,yCAAyC;gBACtD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,8BAA8B;aAC1D;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,mEAAmE;aACtE;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,OAAO,EAAE;wBACP,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,WAAW,EAAE,0BAA0B;qBACxC;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,WAAW,EAAE,0BAA0B;qBACxC;iBACF;aACF;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,uCAAuC;gBACpD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,UAAU,EAAE;wBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC3B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;qBAC9B;oBACD,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;iBACnC;aACF;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,sCAAsC;qBACpD;iBACF;aACF;SACF;QACD,KAAK,EAAE,EAAE;KACV,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAiC;IACjE,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAClC,MAAM,MAAM,GAAG,sBAAsB,EAAE,CAAC;IACxC,MAAM,UAAU,GAAiB,EAAE,CAAC;IAEpC,KAAK,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,aAAa,EAAE,CAAC;QACnE,IAAI,CAAC,aAAa;YAAE,SAAS;QAE7B,MAAM,OAAO,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,SAAS,CAAC;QAEpE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAe,CAAC;YACvD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,GAAG;gBACd,GAAG,MAAM;gBACT,WAAW,EAAE,eAAe,UAAU,SAAS;aAChD,CAAC;YACF,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;YAEpB,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;oBAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,OAAO,EAAE,EAAE;iBACxC;aACF,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,4BAA4B;YAC5B,OAAO,CAAC,IAAI,CAAC,qCAAqC,UAAU,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAC3C,UAAU,CAAC,OAAO,GAAG;YACnB,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,yCAAyC;YACtD,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;SAC7B,CAAC;QACF,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CAAC,CAAa,EAAE,CAAa;IACpD,MAAM,MAAM,GAAe,EAAE,GAAG,CAAC,EAAE,CAAC;IAEpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,IACE,GAAG,KAAK,YAAY;YACpB,MAAM,CAAC,UAAU;YACjB,OAAO,KAAK,KAAK,QAAQ,EACzB,CAAC;YACD,qCAAqC;YACrC,MAAM,CAAC,UAAU,GAAG;gBAClB,GAAG,MAAM,CAAC,UAAU;gBACpB,GAAI,KAAoC;aACzC,CAAC;QACJ,CAAC;aAAM,IACL,GAAG,KAAK,UAAU;YAClB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC9B,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EACpB,CAAC;YACD,wBAAwB;YACxB,MAAM,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,wCAAwC;YACxC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAoC;IAEpC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAEhD,
|
|
1
|
+
{"version":3,"file":"merger.js","sourceRoot":"","sources":["../../src/schema/merger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/schema/validator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAmB,MAAM,mBAAmB,CAAC;AAM3E;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,GACjB,CAAC,KAAK,EAAE,OAAO,KAAK,gBAAgB,
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/schema/validator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAmB,MAAM,mBAAmB,CAAC;AAM3E;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,UAAU,GACjB,CAAC,KAAK,EAAE,OAAO,KAAK,gBAAgB,CAuCtC"}
|
package/dist/schema/validator.js
CHANGED
|
@@ -21,9 +21,15 @@ export function createSchemaValidator(schema) {
|
|
|
21
21
|
if (missingProp) {
|
|
22
22
|
path = basePath ? `${basePath}/${missingProp}` : missingProp;
|
|
23
23
|
}
|
|
24
|
+
let message = err.message ?? 'Validation failed';
|
|
25
|
+
// Include the offending property name for additionalProperties errors
|
|
26
|
+
const additionalProp = err.params?.additionalProperty;
|
|
27
|
+
if (additionalProp) {
|
|
28
|
+
message += `: '${additionalProp}'`;
|
|
29
|
+
}
|
|
24
30
|
return {
|
|
25
31
|
path,
|
|
26
|
-
message
|
|
32
|
+
message,
|
|
27
33
|
};
|
|
28
34
|
});
|
|
29
35
|
return { success: false, errors };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/schema/validator.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,KAAK,CAAC;AAI7B,0CAA0C;AAC1C,8DAA8D;AAC9D,MAAM,GAAG,GAAI,UAAkB,CAAC,OAAO,IAAI,UAAU,CAAC;AAEtD;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAkB;IAElB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAErC,OAAO,CAAC,KAAc,EAAoB,EAAE;QAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE9B,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACvC,CAAC;QAED,MAAM,MAAM,GAAsB,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACpE,0CAA0C;YAC1C,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,eAAqC,CAAC;YAEtE,IAAI,IAAI,GAAG,QAAQ,CAAC;YACpB,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;YAC/D,CAAC;YAED,OAAO;
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/schema/validator.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,KAAK,CAAC;AAI7B,0CAA0C;AAC1C,8DAA8D;AAC9D,MAAM,GAAG,GAAI,UAAkB,CAAC,OAAO,IAAI,UAAU,CAAC;AAEtD;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAkB;IAElB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAErC,OAAO,CAAC,KAAc,EAAoB,EAAE;QAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE9B,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACvC,CAAC;QAED,MAAM,MAAM,GAAsB,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACpE,0CAA0C;YAC1C,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,eAAqC,CAAC;YAEtE,IAAI,IAAI,GAAG,QAAQ,CAAC;YACpB,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;YAC/D,CAAC;YAED,IAAI,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,mBAAmB,CAAC;YAEjD,sEAAsE;YACtE,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,kBAEtB,CAAC;YACd,IAAI,cAAc,EAAE,CAAC;gBACnB,OAAO,IAAI,MAAM,cAAc,GAAG,CAAC;YACrC,CAAC;YAED,OAAO;gBACL,IAAI;gBACJ,OAAO;aACR,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IACpC,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Types are defined in @functional-examples/devkit and re-exported here
|
|
5
5
|
* for backwards compatibility.
|
|
6
6
|
*/
|
|
7
|
-
export type { ValidationError, ValidationResult, BaseMetadata, ExampleMetadata, ExampleMetadataRegistry, ParsedRegion, ExampleFile, Example, ScannedExample, ExtractorError, ExtractorOptions, ExtractorResult, Extractor, ExtractorFactory, FileParseContext, FileContentsParser, Plugin, PluginCommands, PluginSchemas, PluginValidators, PluginRegistryInterface, PluginValidatorEntry, PluginSchemaEntry, Config, ConfigWithRoot, ScanConfig, PathMapping, ConfigValidationError, ResolvedConfig, JSONSchemaObject, GenerateConfig, ExtractorConfig, ExtractorReference, ExtractorConfigOrFunction, } from '@functional-examples/devkit';
|
|
7
|
+
export type { ValidationError, ValidationResult, BaseMetadata, ExampleMetadata, ExampleMetadataRegistry, ParsedRegion, ExampleFile, Example, ScannedExample, ExtractorError, ExtractorOptions, ExtractorResult, Extractor, ExtractorFactory, FileParseContext, FileContentsParser, Plugin, PluginReference, PluginCommands, PluginSchemas, PluginValidators, PluginRegistryInterface, PluginValidatorEntry, PluginSchemaEntry, Config, ConfigWithRoot, ScanConfig, PathMapping, ConfigValidationError, ResolvedConfig, JSONSchemaObject, GenerateConfig, ExtractorConfig, ExtractorReference, ExtractorConfigOrFunction, } from '@functional-examples/devkit';
|
|
8
8
|
export type { TypeGuard } from './guards.js';
|
|
9
9
|
export { DefaultMap } from './default-map.js';
|
|
10
10
|
export { asSettled, AsyncExtendedIterable, asyncIter, ExtendedIterable, iter, } from './extended-iterable.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EAEV,eAAe,EACf,gBAAgB,EAGhB,YAAY,EACZ,eAAe,EACf,uBAAuB,EAGvB,YAAY,EACZ,WAAW,EACX,OAAO,EACP,cAAc,EAGd,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,gBAAgB,EAGhB,gBAAgB,EAChB,kBAAkB,EAGlB,MAAM,EACN,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EAGjB,MAAM,EACN,cAAc,EACd,UAAU,EACV,WAAW,EACX,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,6BAA6B,CAAC;AAGrC,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,SAAS,EACT,qBAAqB,EACrB,SAAS,EACT,gBAAgB,EAChB,IAAI,GACL,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EAEV,eAAe,EACf,gBAAgB,EAGhB,YAAY,EACZ,eAAe,EACf,uBAAuB,EAGvB,YAAY,EACZ,WAAW,EACX,OAAO,EACP,cAAc,EAGd,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,gBAAgB,EAGhB,gBAAgB,EAChB,kBAAkB,EAGlB,MAAM,EACN,eAAe,EACf,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EAGjB,MAAM,EACN,cAAc,EACd,UAAU,EACV,WAAW,EACX,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,6BAA6B,CAAC;AAGrC,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,SAAS,EACT,qBAAqB,EACrB,SAAS,EACT,gBAAgB,EAChB,IAAI,GACL,MAAM,wBAAwB,CAAC"}
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAyDH,8DAA8D;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,SAAS,EACT,qBAAqB,EACrB,SAAS,EACT,gBAAgB,EAChB,IAAI,GACL,MAAM,wBAAwB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "functional-examples",
|
|
3
|
-
"version": "0.0.0-alpha.
|
|
3
|
+
"version": "0.0.0-alpha.2",
|
|
4
4
|
"author": {
|
|
5
5
|
"name": "Craigory Coppola",
|
|
6
6
|
"url": "https://craigory.dev"
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"jiti": "^2.4.2",
|
|
37
37
|
"minimatch": "^10.0.0",
|
|
38
38
|
"tinyglobby": "^0.2.15",
|
|
39
|
-
"@functional-examples/devkit": "0.0.0-alpha.
|
|
39
|
+
"@functional-examples/devkit": "0.0.0-alpha.2"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@types/node": "22.19.8",
|
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
"build": "tsc -p tsconfig.lib.json",
|
|
57
57
|
"test": "vitest run",
|
|
58
58
|
"test:watch": "vitest",
|
|
59
|
-
"lint": "eslint ."
|
|
59
|
+
"lint": "eslint .",
|
|
60
|
+
"extract-docs": "typedoc --options typedoc.json"
|
|
60
61
|
}
|
|
61
62
|
}
|