@satisfactory-dev/docs.json.ts 0.7.0 → 0.7.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.
@@ -4,7 +4,7 @@ import { generate_object_parent_schema, generate_typed_string_$defs, } from '../
4
4
  import { local_ref, } from '../../StringStartsWith';
5
5
  import { NoMatchError, } from '../../Exceptions';
6
6
  import { string_to_array, string_to_object, } from '../../DocsValidation';
7
- import { compile, } from '../../AjvUtilities';
7
+ import { compile, } from '@satisfactory-dev/ajv-utilities';
8
8
  import { typed_string, } from '../../TypeDefinitionDiscovery/CustomParsingTypes/typed_string';
9
9
  import assert from 'node:assert/strict';
10
10
  export class TypedStringConverter extends ConverterMatchesSchema {
@@ -1,5 +1,5 @@
1
1
  import { NoMatchError, } from '../Exceptions';
2
- import { compile, } from '../AjvUtilities';
2
+ import { compile, } from '@satisfactory-dev/ajv-utilities';
3
3
  export class Converter {
4
4
  static find_matching_schema(candidates, schema) {
5
5
  const converter = this.has_matching_schema(candidates, schema);
@@ -4,7 +4,7 @@ import { NoMatchError, } from '../../Exceptions';
4
4
  import ts from 'typescript';
5
5
  import { create_literal, type_reference_node, } from '../../TsFactoryWrapper';
6
6
  import { not_matching_string_schema, } from '../../TypeDefinitionDiscovery/JsonSchema/String';
7
- import { compile, } from '../../AjvUtilities';
7
+ import { compile, } from '@satisfactory-dev/ajv-utilities';
8
8
  class StringConverter extends ConverterMatchesSchema {
9
9
  maybe_not;
10
10
  constructor(ajv, schema) {
@@ -12,7 +12,7 @@ import { createHash, } from 'node:crypto';
12
12
  import { is_non_empty_array, is_string, object_has_only_properties_that_match_predicate, object_has_property, property_exists_on_object, value_is_non_array_object, } from '@satisfactory-dev/predicates.ts';
13
13
  import { NoMatchError, } from './Exceptions';
14
14
  import { TypedString, } from './CustomParsingTypes/TypedString';
15
- import { compile, esmify, } from './AjvUtilities';
15
+ import { compile, esmify, } from '@satisfactory-dev/ajv-utilities';
16
16
  const __dirname = dirname(fileURLToPath(import.meta.url));
17
17
  export class ValidationError extends Error {
18
18
  errors;
@@ -1,4 +1,4 @@
1
- import { compile, } from '../AjvUtilities';
1
+ import { compile, } from '@satisfactory-dev/ajv-utilities';
2
2
  export class Generator {
3
3
  check;
4
4
  constructor(ajv, schema) {
@@ -11,7 +11,7 @@ import { NonEmptyString, NonEmptyStringWithExclusions, StringType, } from './Typ
11
11
  import { FilesGenerator, guess_filename, } from './FilesGenerator';
12
12
  import { adjust_class_name, create_modifiers, } from './TsFactoryWrapper';
13
13
  import { reduce, remap, remove_indentation, } from './MarkdownUtilities';
14
- import { compile, } from './AjvUtilities';
14
+ import { compile, } from '@satisfactory-dev/ajv-utilities';
15
15
  import { NoMatchError, } from './Exceptions';
16
16
  function is_schema_with_$defs(schema, discovered_types) {
17
17
  return (object_has_property(schema, '$defs', value_is_non_array_object)
@@ -19,7 +19,7 @@ import { FilesGenerator, FromArray, } from './FilesGenerator';
19
19
  import { FilesGenerator as DocsFiles, } from './DocsTsGenerator/FilesGenerator';
20
20
  import { DataDiscovery, } from './DataDiscovery';
21
21
  import { __dirname_from_meta, } from './__dirname';
22
- import { compile, } from './AjvUtilities';
22
+ import { compile, } from '@satisfactory-dev/ajv-utilities';
23
23
  const __dirname = __dirname_from_meta(import.meta);
24
24
  export class TypeDefinitionWriter {
25
25
  _discovery = undefined;
@@ -3,7 +3,7 @@ import { properties, } from './TypesDiscovery/JsonSchema/properties';
3
3
  import { non_empty_array_property, } from './TypesDiscovery/non_empty_array_property';
4
4
  import { $ref, } from './TypesDiscovery/JsonSchema/$ref';
5
5
  import { non_array_object_property, } from './TypesDiscovery/non_array_object_property';
6
- import { compile, } from './AjvUtilities';
6
+ import { compile, } from '@satisfactory-dev/ajv-utilities';
7
7
  import { local_ref, } from './StringStartsWith';
8
8
  import { typed_string, } from './TypesDiscovery/CustomParsingTypes/typed_string';
9
9
  import { ConstString, } from './TypesDiscovery/JsonSchema/const';
@@ -1,2 +1,3 @@
1
1
  export * from './DocsTsGenerator';
2
+ export * from './DocsValidation';
2
3
  export * from './TypeDefinitionWriter';
package/lib/generator.js CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './DocsTsGenerator';
2
+ export * from './DocsValidation';
2
3
  export * from './TypeDefinitionWriter';
package/lib/index.d.ts CHANGED
@@ -1,5 +1,3 @@
1
- export * from './AjvUtilities';
2
1
  export * from './CustomParsingTypes/CustomPairingTypes';
3
- export * from './DocsValidation';
4
2
  export * from './Exceptions';
5
3
  export * from './StringStartsWith';
package/lib/index.js CHANGED
@@ -1,5 +1,3 @@
1
- export * from './AjvUtilities';
2
1
  export * from './CustomParsingTypes/CustomPairingTypes';
3
- export * from './DocsValidation';
4
2
  export * from './Exceptions';
5
3
  export * from './StringStartsWith';
package/package.json CHANGED
@@ -27,6 +27,7 @@
27
27
  "ts-node": "^10.9.2"
28
28
  },
29
29
  "dependencies": {
30
+ "@satisfactory-dev/ajv-utilities": "^0.1.0",
30
31
  "@satisfactory-dev/predicates.ts": "^0.1.0",
31
32
  "ajv": "^8.12.0",
32
33
  "eslint": "^8.57.0",
@@ -35,5 +36,5 @@
35
36
  "typescript": "~5.5.2",
36
37
  "typescript-eslint": "^7.3.1"
37
38
  },
38
- "version": "0.7.0"
39
+ "version": "0.7.2"
39
40
  }
@@ -1,7 +0,0 @@
1
- import Ajv, { SchemaObject, ValidateFunction } from 'ajv/dist/2020';
2
- import { NoMatchError } from './Exceptions';
3
- export declare class FailedToCompileSchema extends NoMatchError {
4
- constructor(schema: SchemaObject, err: unknown, message?: string);
5
- }
6
- export declare function compile<T>(ajv: Ajv, schema: SchemaObject): ValidateFunction<T>;
7
- export declare function esmify(code: string): string;
@@ -1,58 +0,0 @@
1
- import { NoMatchError, } from './Exceptions';
2
- const cache = new WeakMap();
3
- const duplicate_compile_check = {};
4
- export class FailedToCompileSchema extends NoMatchError {
5
- constructor(schema, err, message = 'Failed to compile schema') {
6
- super({ err, schema }, message);
7
- }
8
- }
9
- export function compile(ajv, schema) {
10
- try {
11
- performance.mark('ajv compile start');
12
- if (cache.has(schema)) {
13
- const result = cache.get(schema);
14
- performance.measure('ajv compile cached', 'ajv compile start');
15
- return result;
16
- }
17
- const key = JSON.stringify(schema);
18
- if (key in duplicate_compile_check) {
19
- performance.measure('ajv compile duplicate', 'ajv compile start');
20
- return duplicate_compile_check[key];
21
- }
22
- const result = ajv.compile(schema);
23
- cache.set(schema, result);
24
- duplicate_compile_check[key] = result;
25
- performance.measure('ajv compile', 'ajv compile start');
26
- return result;
27
- }
28
- catch (err) {
29
- throw new FailedToCompileSchema(schema, err);
30
- }
31
- }
32
- export function esmify(code) {
33
- const replacements = {
34
- 'require("ajv/dist/runtime/equal").default': [
35
- 'fast_deep_equal',
36
- `import fast_deep_equal from 'fast-deep-equal';`,
37
- ],
38
- 'require("ajv/dist/runtime/ucs2length").default': [
39
- 'ucs2length.default',
40
- `import ucs2length from 'ajv/dist/runtime/ucs2length';`,
41
- ],
42
- };
43
- const import_these = [];
44
- for (const entry of Object.entries(replacements)) {
45
- const [look_for, [replace_with, add_to_import]] = entry;
46
- if (code.includes(look_for)) {
47
- code = code.replace(look_for, replace_with);
48
- import_these.push(add_to_import);
49
- }
50
- }
51
- if (import_these.length) {
52
- code = code.replace(/^"use strict";/, [
53
- '"use strict";',
54
- ...import_these,
55
- ].join(''));
56
- }
57
- return code;
58
- }