RocketChat/Rocket.Chat

View on GitHub
.yarn/patches/typia-npm-5.3.3-21d3e18463.patch

Summary

Maintainability
Test Coverage
diff --git a/lib/factories/internal/metadata/iterate_metadata_intersection.js b/lib/factories/internal/metadata/iterate_metadata_intersection.js
index 260670b8ea37b63dcacadeffa26450f81087c90e..f07b44b16099d896ab40c46f03df86ee2f2c1a90 100644
--- a/lib/factories/internal/metadata/iterate_metadata_intersection.js
+++ b/lib/factories/internal/metadata/iterate_metadata_intersection.js
@@ -247,7 +247,7 @@ var iterate_metadata_intersection = function (checker) {
                         var tags = MetadataTypeTagFactory_1.MetadataTypeTagFactory.analyze(errors)(target)(objects.map(function (om) { return om.objects; }).flat(), explore);
                         if (tags.length)
                             if (target === "array")
-                                meta.arrays.at(-1).tags.push(tags);
+                                meta.arrays.slice(-1)[0].tags.push(tags);
                             else if (booleanLiteral === null)
                                 meta.atomics.find(function (a) { return a.type === target; }).tags.push(tags);
                             else {
diff --git a/lib/programmers/CheckerProgrammer.js b/lib/programmers/CheckerProgrammer.js
index bbec09f22798d144b96f59bb946e7e32e3438c05..dc13cb47b72358b8e6165b768cff2360db2bd617 100644
--- a/lib/programmers/CheckerProgrammer.js
+++ b/lib/programmers/CheckerProgrammer.js
@@ -458,8 +458,8 @@ var CheckerProgrammer;
                                 ? "".concat(explore.postfix.slice(0, -1), "[").concat(index, "]\"")
                                 : "\"[".concat(index, "]\"") }));
                     });
-                    var rest = tuple.elements.length && tuple.elements.at(-1).rest !== null
-                        ? CheckerProgrammer.decode(project)(config)(importer)(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(input)("slice"), undefined, [ExpressionFactory_1.ExpressionFactory.number(tuple.elements.length - 1)]), (0, wrap_metadata_rest_tuple_1.wrap_metadata_rest_tuple)(tuple.elements.at(-1).rest), __assign(__assign({}, explore), { start: tuple.elements.length - 1 }))
+                    var rest = tuple.elements.length && tuple.elements.slice(-1)[0].rest !== null
+                        ? CheckerProgrammer.decode(project)(config)(importer)(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(input)("slice"), undefined, [ExpressionFactory_1.ExpressionFactory.number(tuple.elements.length - 1)]), (0, wrap_metadata_rest_tuple_1.wrap_metadata_rest_tuple)(tuple.elements.slice(-1)[0].rest), __assign(__assign({}, explore), { start: tuple.elements.length - 1 }))
                         : null;
                     var arrayLength = typescript_1.default.factory.createPropertyAccessExpression(input, "length");
                     return config.combiner(explore)("and")(input, __spreadArray(__spreadArray(__spreadArray([], __read((rest === null
diff --git a/lib/programmers/TypiaProgrammer.js b/lib/programmers/TypiaProgrammer.js
index c75ab1bc077b788e36c32834ea4916c22df34500..99452220e2dd090d4d562296e26fb266faa617f9 100644
--- a/lib/programmers/TypiaProgrammer.js
+++ b/lib/programmers/TypiaProgrammer.js
@@ -165,7 +165,7 @@ var TypiaProgrammer;
                                     .split("\n");
                                 if (lines.length === 0)
                                     return [0, 0];
-                                return [lines.length, lines.at(-1).length + 1];
+                                return [lines.length, lines.slice(-1)[0].length + 1];
                             })()
                             : [0, 0], 2), line = _k[0], pos = _k[1];
                         console.error("".concat(file, ":").concat(line, ":").concat(pos, " - ").concat(category, " TS").concat(diag.code, ": ").concat(diag.messageText));
diff --git a/lib/programmers/internal/application_tuple.js b/lib/programmers/internal/application_tuple.js
index 5c1853a3a1692f95fe702bdae9813e958f54ac4c..04ca996c2ffe72d1cd5969e45a38e91937b975b1 100644
--- a/lib/programmers/internal/application_tuple.js
+++ b/lib/programmers/internal/application_tuple.js
@@ -22,15 +22,15 @@ var application_tuple = function (options) {
                 var schema = __assign(__assign({ type: "array", items: tuple.type.elements.map(function (meta, i) {
                         var _a;
                         return (0, application_schema_1.application_schema)(options)(false)(components)((_a = meta.rest) !== null && _a !== void 0 ? _a : meta)(__assign(__assign({}, attribute), { "x-typia-rest": i === tuple.type.elements.length - 1 && meta.rest !== null, "x-typia-required": meta.required, "x-typia-optional": meta.optional }));
-                    }) }, attribute), { minItems: !!((_a = tuple.type.elements.at(-1)) === null || _a === void 0 ? void 0 : _a.rest)
+                    }) }, attribute), { minItems: !!((_a = tuple.type.elements.slice(-1)[0]) === null || _a === void 0 ? void 0 : _a.rest)
                         ? tuple.type.elements.length - 1
-                        : tuple.type.elements.filter(function (x) { return !x.optional; }).length, maxItems: !!((_b = tuple.type.elements.at(-1)) === null || _b === void 0 ? void 0 : _b.rest)
+                        : tuple.type.elements.filter(function (x) { return !x.optional; }).length, maxItems: !!((_b = tuple.type.elements.slice(-1)[0]) === null || _b === void 0 ? void 0 : _b.rest)
                         ? undefined
                         : tuple.type.elements.length });
                 if (options.purpose === "ajv")
                     if (tuple.type.elements.length === 0)
                         return schema;
-                    else if (!((_c = tuple.type.elements.at(-1)) === null || _c === void 0 ? void 0 : _c.rest))
+                    else if (!((_c = tuple.type.elements.slice(-1)[0]) === null || _c === void 0 ? void 0 : _c.rest))
                         return schema;
                 var wrapper = __assign(__assign({}, schema), { items: (0, application_schema_1.application_schema)(options)(false)(components)(tuple.type.elements.reduce(function (x, y) { var _a, _b; return Metadata_1.Metadata.merge((_a = x.rest) !== null && _a !== void 0 ? _a : x, (_b = y.rest) !== null && _b !== void 0 ? _b : y); }, Metadata_1.Metadata.initialize()))(tuple.type.recursive ? {} : attribute), "x-typia-tuple": schema, minItems: schema.minItems, maxItems: schema.maxItems });
                 return wrapper;
diff --git a/lib/programmers/json/JsonStringifyProgrammer.js b/lib/programmers/json/JsonStringifyProgrammer.js
index ce0ae787164f7eba68ef35b05232b4b94ad8e7d7..8f70cfc8c8e9d82cd1ec5004ca5637487f57b3bc 100644
--- a/lib/programmers/json/JsonStringifyProgrammer.js
+++ b/lib/programmers/json/JsonStringifyProgrammer.js
@@ -424,10 +424,10 @@ var JsonStringifyProgrammer;
                     var rest = (function () {
                         if (tuple.elements.length === 0)
                             return null;
-                        var last = tuple.elements.at(-1);
+                        var last = tuple.elements.slice(-1)[0];
                         if (last.rest === null)
                             return null;
-                        var code = decode(project)(config)(importer)(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(input)("slice"), undefined, [ExpressionFactory_1.ExpressionFactory.number(tuple.elements.length - 1)]), (0, wrap_metadata_rest_tuple_1.wrap_metadata_rest_tuple)(tuple.elements.at(-1).rest), __assign(__assign({}, explore), { start: tuple.elements.length - 1 }));
+                        var code = decode(project)(config)(importer)(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(input)("slice"), undefined, [ExpressionFactory_1.ExpressionFactory.number(tuple.elements.length - 1)]), (0, wrap_metadata_rest_tuple_1.wrap_metadata_rest_tuple)(tuple.elements.slice(-1)[0].rest), __assign(__assign({}, explore), { start: tuple.elements.length - 1 }));
                         return typescript_1.default.factory.createCallExpression(importer.use("rest"), undefined, [code]);
                     })();
                     return StringifyJoinder_1.StringifyJoiner.tuple(children, rest);
diff --git a/lib/programmers/misc/MiscCloneProgrammer.js b/lib/programmers/misc/MiscCloneProgrammer.js
index 3db6bc92637284468c5fe47ef59f51a9b41d06eb..0b3fa9deaaadf28d4f348225c0d44f49700c1bca 100644
--- a/lib/programmers/misc/MiscCloneProgrammer.js
+++ b/lib/programmers/misc/MiscCloneProgrammer.js
@@ -291,11 +291,11 @@ var MiscCloneProgrammer;
                     var rest = (function () {
                         if (tuple.elements.length === 0)
                             return null;
-                        var last = tuple.elements.at(-1);
+                        var last = tuple.elements.slice(-1)[0];
                         var rest = last.rest;
                         if (rest === null)
                             return null;
-                        return decode(project)(config)(importer)(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(input)("slice"), undefined, [ExpressionFactory_1.ExpressionFactory.number(tuple.elements.length - 1)]), (0, wrap_metadata_rest_tuple_1.wrap_metadata_rest_tuple)(tuple.elements.at(-1).rest), __assign(__assign({}, explore), { start: tuple.elements.length - 1 }));
+                        return decode(project)(config)(importer)(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(input)("slice"), undefined, [ExpressionFactory_1.ExpressionFactory.number(tuple.elements.length - 1)]), (0, wrap_metadata_rest_tuple_1.wrap_metadata_rest_tuple)(tuple.elements.slice(-1)[0].rest), __assign(__assign({}, explore), { start: tuple.elements.length - 1 }));
                     })();
                     return CloneJoiner_1.CloneJoiner.tuple(children, rest);
                 };
diff --git a/lib/programmers/misc/MiscPruneProgrammer.js b/lib/programmers/misc/MiscPruneProgrammer.js
index 8440aaba9e449dae2468e96dfd7035ac7e170cfc..e97ceec78427b7eed08db23cc4775fdb10c6b2ff 100644
--- a/lib/programmers/misc/MiscPruneProgrammer.js
+++ b/lib/programmers/misc/MiscPruneProgrammer.js
@@ -272,11 +272,11 @@ var MiscPruneProgrammer;
                     var rest = (function () {
                         if (tuple.elements.length === 0)
                             return null;
-                        var last = tuple.elements.at(-1);
+                        var last = tuple.elements.slice(-1)[0];
                         var rest = last.rest;
                         if (rest === null || filter(rest) === false)
                             return null;
-                        return decode(project)(config)(importer)(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(input)("slice"), undefined, [ExpressionFactory_1.ExpressionFactory.number(tuple.elements.length - 1)]), (0, wrap_metadata_rest_tuple_1.wrap_metadata_rest_tuple)(tuple.elements.at(-1).rest), __assign(__assign({}, explore), { start: tuple.elements.length - 1 }));
+                        return decode(project)(config)(importer)(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(input)("slice"), undefined, [ExpressionFactory_1.ExpressionFactory.number(tuple.elements.length - 1)]), (0, wrap_metadata_rest_tuple_1.wrap_metadata_rest_tuple)(tuple.elements.slice(-1)[0].rest), __assign(__assign({}, explore), { start: tuple.elements.length - 1 }));
                     })();
                     return PruneJoiner_1.PruneJoiner.tuple(children, rest);
                 };
diff --git a/lib/programmers/notations/NotationGeneralProgrammer.js b/lib/programmers/notations/NotationGeneralProgrammer.js
index 6e0b582a802180d7671c00b999469e7e59193b30..f11cc1d523875a040d3e27ce9a850b083c5d0275 100644
--- a/lib/programmers/notations/NotationGeneralProgrammer.js
+++ b/lib/programmers/notations/NotationGeneralProgrammer.js
@@ -301,11 +301,11 @@ var NotationGeneralProgrammer;
                     var rest = (function () {
                         if (tuple.elements.length === 0)
                             return null;
-                        var last = tuple.elements.at(-1);
+                        var last = tuple.elements.slice(-1)[0];
                         var rest = last.rest;
                         if (rest === null)
                             return null;
-                        return decode(project)(config)(importer)(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(input)("slice"), undefined, [ExpressionFactory_1.ExpressionFactory.number(tuple.elements.length - 1)]), (0, wrap_metadata_rest_tuple_1.wrap_metadata_rest_tuple)(tuple.elements.at(-1).rest), __assign(__assign({}, explore), { start: tuple.elements.length - 1 }));
+                        return decode(project)(config)(importer)(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(input)("slice"), undefined, [ExpressionFactory_1.ExpressionFactory.number(tuple.elements.length - 1)]), (0, wrap_metadata_rest_tuple_1.wrap_metadata_rest_tuple)(tuple.elements.slice(-1)[0].rest), __assign(__assign({}, explore), { start: tuple.elements.length - 1 }));
                     })();
                     return NotationJoiner_1.NotationJoiner.tuple(children, rest);
                 };
diff --git a/lib/transformers/CallExpressionTransformer.js b/lib/transformers/CallExpressionTransformer.js
index 2c5a23879d171ee271ebf6857dc9c65ec29c0ea7..96a40845614f6c54fe8e4ebc48a7d8efeba52a41 100644
--- a/lib/transformers/CallExpressionTransformer.js
+++ b/lib/transformers/CallExpressionTransformer.js
@@ -101,7 +101,7 @@ var CallExpressionTransformer;
             var location = path_1.default.resolve(declaration.getSourceFile().fileName);
             if (isTarget(location) === false)
                 return expression;
-            var module = location.split(path_1.default.sep).at(-1).split(".")[0];
+            var module = location.split(path_1.default.sep).slice(-1)[0].split(".")[0];
             var name = project.checker.getTypeAtLocation(declaration).symbol.name;
             var functor = (_b = FUNCTORS[module]) === null || _b === void 0 ? void 0 : _b[name];
             if (functor === undefined)
diff --git a/src/factories/internal/metadata/iterate_metadata_intersection.ts b/src/factories/internal/metadata/iterate_metadata_intersection.ts
index f46caa25c987092597073e046ae3b9e8130bd994..1eedd727c74f173a5b98a9572b865e058885811d 100644
--- a/src/factories/internal/metadata/iterate_metadata_intersection.ts
+++ b/src/factories/internal/metadata/iterate_metadata_intersection.ts
@@ -214,7 +214,7 @@ export const iterate_metadata_intersection =
         target,
       )(objects.map((om) => om.objects).flat(), explore);
       if (tags.length)
-        if (target === "array") meta.arrays.at(-1)!.tags.push(tags);
+        if (target === "array") meta.arrays.slice(-1)[0]!.tags.push(tags);
         else if (booleanLiteral === null)
           meta.atomics.find((a) => a.type === target)!.tags.push(tags);
         else {
diff --git a/src/programmers/CheckerProgrammer.ts b/src/programmers/CheckerProgrammer.ts
index 892748b80755b89d1449f4d515aa3166534c6b19..8cb5ce35fe6f918545c82066f0583dead2661c89 100644
--- a/src/programmers/CheckerProgrammer.ts
+++ b/src/programmers/CheckerProgrammer.ts
@@ -702,14 +702,14 @@ export namespace CheckerProgrammer {
           ),
         );
       const rest: ts.Expression | null =
-        tuple.elements.length && tuple.elements.at(-1)!.rest !== null
+        tuple.elements.length && tuple.elements.slice(-1)[0]!.rest !== null
           ? decode(project)(config)(importer)(
               ts.factory.createCallExpression(
                 IdentifierFactory.access(input)("slice"),
                 undefined,
                 [ExpressionFactory.number(tuple.elements.length - 1)],
               ),
-              wrap_metadata_rest_tuple(tuple.elements.at(-1)!.rest!),
+              wrap_metadata_rest_tuple(tuple.elements.slice(-1)[0]!.rest!),
               {
                 ...explore,
                 start: tuple.elements.length - 1,
diff --git a/src/programmers/TypiaProgrammer.ts b/src/programmers/TypiaProgrammer.ts
index e01eccf62eccd73e1f0720db897f539256a6bbc1..cae5eb6fc702d359d4886acefdb68d42691edf97 100644
--- a/src/programmers/TypiaProgrammer.ts
+++ b/src/programmers/TypiaProgrammer.ts
@@ -101,7 +101,7 @@ export namespace TypiaProgrammer {
               .file!.text.substring(0, diag.start)
               .split("\n");
             if (lines.length === 0) return [0, 0];
-            return [lines.length, lines.at(-1)!.length + 1];
+            return [lines.length, lines.slice(-1)[0]!.length + 1];
           })()
         : [0, 0];
       console.error(
diff --git a/src/programmers/internal/application_tuple.ts b/src/programmers/internal/application_tuple.ts
index 5e10b9051e4a846f298aa8f086109e8d6bb38bf9..a8e24d5c2a2a4a4d5d1dc49eb45b4784654a4b66 100644
--- a/src/programmers/internal/application_tuple.ts
+++ b/src/programmers/internal/application_tuple.ts
@@ -28,16 +28,16 @@ export const application_tuple =
         }),
       ),
       ...attribute,
-      minItems: !!tuple.type.elements.at(-1)?.rest
+      minItems: !!tuple.type.elements.slice(-1)[0]?.rest
         ? tuple.type.elements.length - 1
         : tuple.type.elements.filter((x) => !x.optional).length,
-      maxItems: !!tuple.type.elements.at(-1)?.rest
+      maxItems: !!tuple.type.elements.slice(-1)[0]?.rest
         ? undefined
         : tuple.type.elements.length,
     };
     if (options.purpose === "ajv")
       if (tuple.type.elements.length === 0) return schema;
-      else if (!tuple.type.elements.at(-1)?.rest) return schema;
+      else if (!tuple.type.elements.slice(-1)[0]?.rest) return schema;
 
     const wrapper: IJsonSchema.IArray = {
       ...schema,
diff --git a/src/programmers/json/JsonStringifyProgrammer.ts b/src/programmers/json/JsonStringifyProgrammer.ts
index c317cec2c78e984a6e64c7bf287d0c67e530e309..5974830c62dbd2b865aa2e64e2e757283258d872 100644
--- a/src/programmers/json/JsonStringifyProgrammer.ts
+++ b/src/programmers/json/JsonStringifyProgrammer.ts
@@ -543,7 +543,7 @@ export namespace JsonStringifyProgrammer {
         );
       const rest = (() => {
         if (tuple.elements.length === 0) return null;
-        const last = tuple.elements.at(-1)!;
+        const last = tuple.elements.slice(-1)[0]!;
         if (last.rest === null) return null;
 
         const code = decode(project)(config)(importer)(
@@ -552,7 +552,7 @@ export namespace JsonStringifyProgrammer {
             undefined,
             [ExpressionFactory.number(tuple.elements.length - 1)],
           ),
-          wrap_metadata_rest_tuple(tuple.elements.at(-1)!.rest!),
+          wrap_metadata_rest_tuple(tuple.elements.slice(-1)[0]!.rest!),
           {
             ...explore,
             start: tuple.elements.length - 1,
diff --git a/src/programmers/misc/MiscCloneProgrammer.ts b/src/programmers/misc/MiscCloneProgrammer.ts
index 94d768b0a0738c0caccd711671351d1f22fa3848..739fd5f2baf4d2eb8e9dd65d73179242a0244707 100644
--- a/src/programmers/misc/MiscCloneProgrammer.ts
+++ b/src/programmers/misc/MiscCloneProgrammer.ts
@@ -343,7 +343,7 @@ export namespace MiscCloneProgrammer {
       const rest = (() => {
         if (tuple.elements.length === 0) return null;
 
-        const last: Metadata = tuple.elements.at(-1)!;
+        const last: Metadata = tuple.elements.slice(-1)[0]!;
         const rest: Metadata | null = last.rest;
         if (rest === null) return null;
 
@@ -353,7 +353,7 @@ export namespace MiscCloneProgrammer {
             undefined,
             [ExpressionFactory.number(tuple.elements.length - 1)],
           ),
-          wrap_metadata_rest_tuple(tuple.elements.at(-1)!.rest!),
+          wrap_metadata_rest_tuple(tuple.elements.slice(-1)[0]!.rest!),
           {
             ...explore,
             start: tuple.elements.length - 1,
diff --git a/src/programmers/misc/MiscPruneProgrammer.ts b/src/programmers/misc/MiscPruneProgrammer.ts
index ed1465267066e382ae6696a25a806c2489597593..661f3cd93ae66070c978bd3e8d2b8db07189fe47 100644
--- a/src/programmers/misc/MiscPruneProgrammer.ts
+++ b/src/programmers/misc/MiscPruneProgrammer.ts
@@ -310,7 +310,7 @@ export namespace MiscPruneProgrammer {
       const rest = (() => {
         if (tuple.elements.length === 0) return null;
 
-        const last: Metadata = tuple.elements.at(-1)!;
+        const last: Metadata = tuple.elements.slice(-1)[0]!;
         const rest: Metadata | null = last.rest;
         if (rest === null || filter(rest) === false) return null;
 
@@ -320,7 +320,7 @@ export namespace MiscPruneProgrammer {
             undefined,
             [ExpressionFactory.number(tuple.elements.length - 1)],
           ),
-          wrap_metadata_rest_tuple(tuple.elements.at(-1)!.rest!),
+          wrap_metadata_rest_tuple(tuple.elements.slice(-1)[0]!.rest!),
           {
             ...explore,
             start: tuple.elements.length - 1,
diff --git a/src/programmers/notations/NotationGeneralProgrammer.ts b/src/programmers/notations/NotationGeneralProgrammer.ts
index bd49b1e34002b1a1ec4f5444a8f91fa0ab794360..71d676de290986045910602ab10c6ef09a19c07d 100644
--- a/src/programmers/notations/NotationGeneralProgrammer.ts
+++ b/src/programmers/notations/NotationGeneralProgrammer.ts
@@ -353,7 +353,7 @@ export namespace NotationGeneralProgrammer {
       const rest = (() => {
         if (tuple.elements.length === 0) return null;
 
-        const last: Metadata = tuple.elements.at(-1)!;
+        const last: Metadata = tuple.elements.slice(-1)[0]!;
         const rest: Metadata | null = last.rest;
         if (rest === null) return null;
 
@@ -363,7 +363,7 @@ export namespace NotationGeneralProgrammer {
             undefined,
             [ExpressionFactory.number(tuple.elements.length - 1)],
           ),
-          wrap_metadata_rest_tuple(tuple.elements.at(-1)!.rest!),
+          wrap_metadata_rest_tuple(tuple.elements.slice(-1)[0]!.rest!),
           {
             ...explore,
             start: tuple.elements.length - 1,
diff --git a/src/transformers/CallExpressionTransformer.ts b/src/transformers/CallExpressionTransformer.ts
index c58a1b143ce4f204bb249a4858c9d16a26f97408..9e9ffcf73e4c01aa6ac8c213669fdcd50e0181b9 100644
--- a/src/transformers/CallExpressionTransformer.ts
+++ b/src/transformers/CallExpressionTransformer.ts
@@ -111,7 +111,7 @@ export namespace CallExpressionTransformer {
       // TRANSFORMATION
       //----
       // FUNCTION NAME
-      const module: string = location.split(path.sep).at(-1)!.split(".")[0]!;
+      const module: string = location.split(path.sep).slice(-1)[0]!.split(".")[0]!;
       const { name } = project.checker.getTypeAtLocation(declaration).symbol;
 
       // FIND TRANSFORMER