From 39e5ae68e2b4e1c191e730f7dca1efcedd5b1276 Mon Sep 17 00:00:00 2001 From: Totto16 Date: Fri, 27 Dec 2024 14:35:47 +0100 Subject: [PATCH] fix: fix day 24 compilation --- src/24/test_tests.ts | 140 ++++++++++++++++++++++++++------- src/24/tsconfig.json | 18 +++++ src/24/{index.ts => user.d.ts} | 0 3 files changed, 129 insertions(+), 29 deletions(-) create mode 100644 src/24/tsconfig.json rename src/24/{index.ts => user.d.ts} (100%) diff --git a/src/24/test_tests.ts b/src/24/test_tests.ts index 6db4576..cd1d95c 100644 --- a/src/24/test_tests.ts +++ b/src/24/test_tests.ts @@ -1,4 +1,4 @@ -import type { Expect, Equal } from "type-testing" +import type { Expect, Equal, IsAny, IsNever, NotEqual } from "type-testing" import type { Between, @@ -42,6 +42,30 @@ type is_parser_tests_7 = Expect, true>> type is_parser_tests_8 = Expect, true>> +type is_parser_tests_9 = Expect, true>> + +type is_parser_tests_10 = Expect, true>> + +type is_parser_tests_11 = Expect, true>> + +type is_parser_tests_12 = Expect, true>> + +type is_parser_tests_12_a = Expect, true>> + +type is_parser_tests_12_b = Expect, true>> + +type is_parser_tests_13 = Expect, true>> + +type is_parser_tests_13_a = Expect, true>> + +type is_parser_tests_13_b = Expect, true>> + +type is_parser_tests_14 = Expect, true>> + +type is_parser_tests_15 = Expect, true>> + +type is_parser_tests_16 = Expect, true>> + // individual JSON parser tests. based on day 22 type nu_check_0 = Expect< @@ -173,67 +197,125 @@ type s_check_5 = Expect< > type a_check_0 = Expect< - Equal, { data: []; rest: "__" }> -> -// not really valid, but just to check, that a , is stripped away at any time -type a_check_1 = Expect< - Equal, { data: []; rest: "__" }> + Equal, ParserSuccessResult<[], "__">> > + +type z3 = Parse +type a_result_1 = Parse +type a_check_1 = Expect> type a_check_2 = Expect< - Equal, { data: []; rest: "__" }> + Equal, ParserSuccessResult<[], "__">> > type a_check_3 = Expect< - Equal, { data: [1, 2]; rest: "__" }> + Equal, ParserSuccessResult<[1, 2], "__">> > type a_check_4 = Expect< - Equal, { data: [[1, 2]]; rest: "__" }> -> -type a_check_5 = Expect< Equal< - Parse, - { code: 10; error: "Not a valid array" } + Parse, + ParserSuccessResult<[[1, 2]], "__"> > > -type a_check_6 = Expect< - Equal, { code: 11; error: "Not a valid array" }> -> + +type a_result_5 = Parse + +type a_check_5 = Expect> + +type a_result_6 = Parse +type a_check_6 = Expect> type o_check_0 = Expect< - Equal, { data: {}; rest: "__" }> + Equal, ParserSuccessResult<{}, "__">> > type o_check_1 = Expect< Equal< Parse, - { code: 13; error: "Not a valid object" } + ParserErrorResult<{ + message: "Left didn't match, first parser didn't match" + result: ParserErrorResult<{ + message: "Right didn't match, first parser didn't match" + result: ParserErrorResult<{ + message: "Left didn't match, first parser didn't match" + result: ParserErrorResult<{ + message: "Seq didn't match, parser didn't match" + result: ParserErrorResult<"Just didn't match, case 2"> + acc: [] + }> + index: 1 + }> + index: 1 + }> + index: 1 + }> > > type o_check_2 = Expect< Equal< Parse, - { code: 14; error: "Not a valid object" } - > -> -type o_check_3 = Expect< - Equal< - Parse, - { data: { "1": 2 }; rest: "__" } + ParserErrorResult<{ + message: "Left didn't match, second parser didn't match" + result: [ + ParserSuccessResult, '"1", }__'>, + ParserErrorResult<{ + message: "Left didn't match, first parser didn't match" + result: ParserErrorResult<{ + message: "Seq didn't match, parser didn't match" + result: ParserErrorResult<"Just didn't match, case 2"> + acc: [] + }> + index: 1 + }> + ] + index: 2 + }> > > + +type o_result_3 = Parse +type o_check_3 = Expect> type o_check_4 = Expect< Equal< Parse, - { data: { 1: 2 }; rest: "__" } + ParserErrorResult<{ + message: "Left didn't match, second parser didn't match" + result: [ + ParserSuccessResult, "1:2, }__">, + ParserErrorResult<{ + message: "Left didn't match, first parser didn't match" + result: ParserErrorResult<{ + message: "Seq didn't match, parser didn't match" + result: ParserErrorResult<"Just didn't match, case 2"> + acc: [] + }> + index: 1 + }> + ] + index: 2 + }> > > +type z = Parse< + Parse< + Pair, + [Parse, Sym<":">]>, JSONValueParser] + >, + '"1": 2' +> type o_check_5 = Expect< Equal< - Parse, - { data: { "1": 2; "3312": [1] }; rest: "__" } + Parse, + ParserSuccessResult<{ "1": 2 }, "__"> > > +type z2 = Parse type o_check_6 = Expect< + Equal< + Parse, + ParserSuccessResult<{ "1": 2; "3312": [1] }, "__"> + > +> +type o_check_7 = Expect< Equal< Parse, - { data: { "1": 2; "3312": { a: "b"; c: null } }; rest: "__" } + ParserSuccessResult<{ "1": 2; "3312": { a: "b"; c: null } }, "__"> > > diff --git a/src/24/tsconfig.json b/src/24/tsconfig.json new file mode 100644 index 0000000..c7cefa3 --- /dev/null +++ b/src/24/tsconfig.json @@ -0,0 +1,18 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "verbatimModuleSyntax": true, + "noEmit": true, + "paths": { + "*": [ + "./*" + ] + } + }, + "include": [ + "user.d.ts", + "tests.ts", + "test_tests.ts", + "personal_tests.ts" + ] +} diff --git a/src/24/index.ts b/src/24/user.d.ts similarity index 100% rename from src/24/index.ts rename to src/24/user.d.ts