@lyku/lockstep-core 0.2.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.
- package/HandlerModel.d.ts +38 -0
- package/HandlerModel.d.ts.map +1 -0
- package/HandlerModel.js +2 -0
- package/HandlerModel.js.map +1 -0
- package/HttpRoute.d.ts +8 -0
- package/HttpRoute.d.ts.map +1 -0
- package/HttpRoute.js +2 -0
- package/HttpRoute.js.map +1 -0
- package/LLMs.md +979 -0
- package/MongoCollectionModel.d.ts +9 -0
- package/MongoCollectionModel.d.ts.map +1 -0
- package/MongoCollectionModel.js +2 -0
- package/MongoCollectionModel.js.map +1 -0
- package/MongoDatabaseModel.d.ts +7 -0
- package/MongoDatabaseModel.d.ts.map +1 -0
- package/MongoDatabaseModel.js +2 -0
- package/MongoDatabaseModel.js.map +1 -0
- package/ProtoValidator.d.ts +6 -0
- package/ProtoValidator.d.ts.map +1 -0
- package/ProtoValidator.js +2 -0
- package/ProtoValidator.js.map +1 -0
- package/README.md +311 -0
- package/TsonHandlerModel.d.ts +126 -0
- package/TsonHandlerModel.d.ts.map +1 -0
- package/TsonHandlerModel.js +2 -0
- package/TsonHandlerModel.js.map +1 -0
- package/Validator.d.ts +6 -0
- package/Validator.d.ts.map +1 -0
- package/Validator.js +2 -0
- package/Validator.js.map +1 -0
- package/WebSocketRoute.d.ts +3 -0
- package/WebSocketRoute.d.ts.map +1 -0
- package/WebSocketRoute.js +2 -0
- package/WebSocketRoute.js.map +1 -0
- package/alpha.d.ts +2 -0
- package/alpha.d.ts.map +1 -0
- package/alpha.js +2 -0
- package/alpha.js.map +1 -0
- package/bson/AllOfBsonSchema.d.ts +8 -0
- package/bson/AllOfBsonSchema.d.ts.map +1 -0
- package/bson/AllOfBsonSchema.js +2 -0
- package/bson/AllOfBsonSchema.js.map +1 -0
- package/bson/AnyOfBsonSchema.d.ts +8 -0
- package/bson/AnyOfBsonSchema.d.ts.map +1 -0
- package/bson/AnyOfBsonSchema.js +2 -0
- package/bson/AnyOfBsonSchema.js.map +1 -0
- package/bson/ArrayBsonSchema.d.ts +10 -0
- package/bson/ArrayBsonSchema.d.ts.map +1 -0
- package/bson/ArrayBsonSchema.js +2 -0
- package/bson/ArrayBsonSchema.js.map +1 -0
- package/bson/BooleanBsonSchema.d.ts +6 -0
- package/bson/BooleanBsonSchema.d.ts.map +1 -0
- package/bson/BooleanBsonSchema.js +2 -0
- package/bson/BooleanBsonSchema.js.map +1 -0
- package/bson/BsonSchemaOrPrimitive.d.ts +17 -0
- package/bson/BsonSchemaOrPrimitive.d.ts.map +1 -0
- package/bson/BsonSchemaOrPrimitive.js +2 -0
- package/bson/BsonSchemaOrPrimitive.js.map +1 -0
- package/bson/DateBsonSchema.d.ts +7 -0
- package/bson/DateBsonSchema.d.ts.map +1 -0
- package/bson/DateBsonSchema.js +2 -0
- package/bson/DateBsonSchema.js.map +1 -0
- package/bson/DecimalBsonSchema.d.ts +5 -0
- package/bson/DecimalBsonSchema.d.ts.map +1 -0
- package/bson/DecimalBsonSchema.js +2 -0
- package/bson/DecimalBsonSchema.js.map +1 -0
- package/bson/DoubleBsonSchema.d.ts +5 -0
- package/bson/DoubleBsonSchema.d.ts.map +1 -0
- package/bson/DoubleBsonSchema.js +2 -0
- package/bson/DoubleBsonSchema.js.map +1 -0
- package/bson/EmailBsonSchema.d.ts +5 -0
- package/bson/EmailBsonSchema.d.ts.map +1 -0
- package/bson/EmailBsonSchema.js +2 -0
- package/bson/EmailBsonSchema.js.map +1 -0
- package/bson/EnumBsonSchema.d.ts +8 -0
- package/bson/EnumBsonSchema.d.ts.map +1 -0
- package/bson/EnumBsonSchema.js +2 -0
- package/bson/EnumBsonSchema.js.map +1 -0
- package/bson/EnumBsonSchemaOf.d.ts +6 -0
- package/bson/EnumBsonSchemaOf.d.ts.map +1 -0
- package/bson/EnumBsonSchemaOf.js +2 -0
- package/bson/EnumBsonSchemaOf.js.map +1 -0
- package/bson/FromBsonSchema.d.ts +13 -0
- package/bson/FromBsonSchema.d.ts.map +1 -0
- package/bson/FromBsonSchema.js +2 -0
- package/bson/FromBsonSchema.js.map +1 -0
- package/bson/FromObjectBsonSchema.d.ts +5 -0
- package/bson/FromObjectBsonSchema.d.ts.map +1 -0
- package/bson/FromObjectBsonSchema.js +2 -0
- package/bson/FromObjectBsonSchema.js.map +1 -0
- package/bson/FromObjectSchema.d.ts +5 -0
- package/bson/FromObjectSchema.d.ts.map +1 -0
- package/bson/FromObjectSchema.js +2 -0
- package/bson/FromObjectSchema.js.map +1 -0
- package/bson/FromPropertyBsonSchemas.d.ts +6 -0
- package/bson/FromPropertyBsonSchemas.d.ts.map +1 -0
- package/bson/FromPropertyBsonSchemas.js +2 -0
- package/bson/FromPropertyBsonSchemas.js.map +1 -0
- package/bson/IntBsonSchema.d.ts +5 -0
- package/bson/IntBsonSchema.d.ts.map +1 -0
- package/bson/IntBsonSchema.js +2 -0
- package/bson/IntBsonSchema.js.map +1 -0
- package/bson/LongBsonSchema.d.ts +5 -0
- package/bson/LongBsonSchema.d.ts.map +1 -0
- package/bson/LongBsonSchema.js +2 -0
- package/bson/LongBsonSchema.js.map +1 -0
- package/bson/MapBsonSchema.d.ts +25 -0
- package/bson/MapBsonSchema.d.ts.map +1 -0
- package/bson/MapBsonSchema.js +2 -0
- package/bson/MapBsonSchema.js.map +1 -0
- package/bson/NaturalNumberSchema.d.ts +5 -0
- package/bson/NaturalNumberSchema.d.ts.map +1 -0
- package/bson/NaturalNumberSchema.js +2 -0
- package/bson/NaturalNumberSchema.js.map +1 -0
- package/bson/NumberBsonSchema.d.ts +6 -0
- package/bson/NumberBsonSchema.d.ts.map +1 -0
- package/bson/NumberBsonSchema.js +2 -0
- package/bson/NumberBsonSchema.js.map +1 -0
- package/bson/NumberBsonSchemaBase.d.ts +7 -0
- package/bson/NumberBsonSchemaBase.d.ts.map +1 -0
- package/bson/NumberBsonSchemaBase.js +2 -0
- package/bson/NumberBsonSchemaBase.js.map +1 -0
- package/bson/ObjectBsonSchema.d.ts +14 -0
- package/bson/ObjectBsonSchema.d.ts.map +1 -0
- package/bson/ObjectBsonSchema.js +2 -0
- package/bson/ObjectBsonSchema.js.map +1 -0
- package/bson/ObjectIdBsonSchema.d.ts +5 -0
- package/bson/ObjectIdBsonSchema.d.ts.map +1 -0
- package/bson/ObjectIdBsonSchema.js +2 -0
- package/bson/ObjectIdBsonSchema.js.map +1 -0
- package/bson/OneOfBsonSchema.d.ts +8 -0
- package/bson/OneOfBsonSchema.d.ts.map +1 -0
- package/bson/OneOfBsonSchema.js +2 -0
- package/bson/OneOfBsonSchema.js.map +1 -0
- package/bson/OnlyOptionalBson.d.ts +5 -0
- package/bson/OnlyOptionalBson.d.ts.map +1 -0
- package/bson/OnlyOptionalBson.js +2 -0
- package/bson/OnlyOptionalBson.js.map +1 -0
- package/bson/OnlyRequiredBson.d.ts +5 -0
- package/bson/OnlyRequiredBson.d.ts.map +1 -0
- package/bson/OnlyRequiredBson.js +2 -0
- package/bson/OnlyRequiredBson.js.map +1 -0
- package/bson/PrimitiveOrFromBsonSchema.d.ts +4 -0
- package/bson/PrimitiveOrFromBsonSchema.d.ts.map +1 -0
- package/bson/PrimitiveOrFromBsonSchema.js +2 -0
- package/bson/PrimitiveOrFromBsonSchema.js.map +1 -0
- package/bson/RequiredPropOfBson.d.ts +3 -0
- package/bson/RequiredPropOfBson.d.ts.map +1 -0
- package/bson/RequiredPropOfBson.js +2 -0
- package/bson/RequiredPropOfBson.js.map +1 -0
- package/bson/StringBsonSchema.d.ts +9 -0
- package/bson/StringBsonSchema.d.ts.map +1 -0
- package/bson/StringBsonSchema.js +2 -0
- package/bson/StringBsonSchema.js.map +1 -0
- package/bson/UidBsonSchema.d.ts +5 -0
- package/bson/UidBsonSchema.d.ts.map +1 -0
- package/bson/UidBsonSchema.js +2 -0
- package/bson/UidBsonSchema.js.map +1 -0
- package/bson/UnionBsonSchema.d.ts +19 -0
- package/bson/UnionBsonSchema.d.ts.map +1 -0
- package/bson/UnionBsonSchema.js +2 -0
- package/bson/UnionBsonSchema.js.map +1 -0
- package/bson/UuidV4BsonSchema.d.ts +5 -0
- package/bson/UuidV4BsonSchema.d.ts.map +1 -0
- package/bson/UuidV4BsonSchema.js +2 -0
- package/bson/UuidV4BsonSchema.js.map +1 -0
- package/bson/UuidV5BsonSchema.d.ts +5 -0
- package/bson/UuidV5BsonSchema.d.ts.map +1 -0
- package/bson/UuidV5BsonSchema.js +2 -0
- package/bson/UuidV5BsonSchema.js.map +1 -0
- package/bson/WholeNumberBsonSchema.d.ts +5 -0
- package/bson/WholeNumberBsonSchema.d.ts.map +1 -0
- package/bson/WholeNumberBsonSchema.js +2 -0
- package/bson/WholeNumberBsonSchema.js.map +1 -0
- package/bson/index.d.ts +31 -0
- package/bson/index.d.ts.map +1 -0
- package/bson/index.js +32 -0
- package/bson/index.js.map +1 -0
- package/bson/primitives.d.ts +58 -0
- package/bson/primitives.d.ts.map +1 -0
- package/bson/primitives.js +58 -0
- package/bson/primitives.js.map +1 -0
- package/bson2json/allOfBsonToJson.d.ts +4 -0
- package/bson2json/allOfBsonToJson.d.ts.map +1 -0
- package/bson2json/allOfBsonToJson.js +7 -0
- package/bson2json/allOfBsonToJson.js.map +1 -0
- package/bson2json/anyOfBsonToJson.d.ts +4 -0
- package/bson2json/anyOfBsonToJson.d.ts.map +1 -0
- package/bson2json/anyOfBsonToJson.js +7 -0
- package/bson2json/anyOfBsonToJson.js.map +1 -0
- package/bson2json/arrayBsonToJson.d.ts +4 -0
- package/bson2json/arrayBsonToJson.d.ts.map +1 -0
- package/bson2json/arrayBsonToJson.js +8 -0
- package/bson2json/arrayBsonToJson.js.map +1 -0
- package/bson2json/booleanBsonToJson.d.ts +4 -0
- package/bson2json/booleanBsonToJson.d.ts.map +1 -0
- package/bson2json/booleanBsonToJson.js +6 -0
- package/bson2json/booleanBsonToJson.js.map +1 -0
- package/bson2json/bsonToJson.d.ts +4 -0
- package/bson2json/bsonToJson.d.ts.map +1 -0
- package/bson2json/bsonToJson.js +57 -0
- package/bson2json/bsonToJson.js.map +1 -0
- package/bson2json/dateBsonToJson.d.ts +4 -0
- package/bson2json/dateBsonToJson.d.ts.map +1 -0
- package/bson2json/dateBsonToJson.js +5 -0
- package/bson2json/dateBsonToJson.js.map +1 -0
- package/bson2json/enumBsonToJson.d.ts +4 -0
- package/bson2json/enumBsonToJson.d.ts.map +1 -0
- package/bson2json/enumBsonToJson.js +5 -0
- package/bson2json/enumBsonToJson.js.map +1 -0
- package/bson2json/index.d.ts +10 -0
- package/bson2json/index.d.ts.map +1 -0
- package/bson2json/index.js +10 -0
- package/bson2json/index.js.map +1 -0
- package/bson2json/numberBsonToJson.d.ts +4 -0
- package/bson2json/numberBsonToJson.d.ts.map +1 -0
- package/bson2json/numberBsonToJson.js +6 -0
- package/bson2json/numberBsonToJson.js.map +1 -0
- package/bson2json/objectBsonToJson.d.ts +4 -0
- package/bson2json/objectBsonToJson.d.ts.map +1 -0
- package/bson2json/objectBsonToJson.js +16 -0
- package/bson2json/objectBsonToJson.js.map +1 -0
- package/bson2json/objectIdBsonToJson.d.ts +4 -0
- package/bson2json/objectIdBsonToJson.d.ts.map +1 -0
- package/bson2json/objectIdBsonToJson.js +5 -0
- package/bson2json/objectIdBsonToJson.js.map +1 -0
- package/bson2json/oneOfBsonToJson.d.ts +4 -0
- package/bson2json/oneOfBsonToJson.d.ts.map +1 -0
- package/bson2json/oneOfBsonToJson.js +7 -0
- package/bson2json/oneOfBsonToJson.js.map +1 -0
- package/bson2json/stringBsonToJson.d.ts +4 -0
- package/bson2json/stringBsonToJson.d.ts.map +1 -0
- package/bson2json/stringBsonToJson.js +10 -0
- package/bson2json/stringBsonToJson.js.map +1 -0
- package/bson2json/stripBsonType.d.ts +5 -0
- package/bson2json/stripBsonType.d.ts.map +1 -0
- package/bson2json/stripBsonType.js +6 -0
- package/bson2json/stripBsonType.js.map +1 -0
- package/bson2json/wholeBsonToJson.d.ts +4 -0
- package/bson2json/wholeBsonToJson.d.ts.map +1 -0
- package/bson2json/wholeBsonToJson.js +6 -0
- package/bson2json/wholeBsonToJson.js.map +1 -0
- package/cli.d.ts +23 -0
- package/cli.d.ts.map +1 -0
- package/cli.js +138 -0
- package/cli.js.map +1 -0
- package/cli.ts +160 -0
- package/contexts/index.d.ts +39 -0
- package/contexts/index.d.ts.map +1 -0
- package/contexts/index.js +2 -0
- package/contexts/index.js.map +1 -0
- package/errors.d.ts +1 -0
- package/errors.d.ts.map +1 -0
- package/errors.js +2 -0
- package/errors.js.map +1 -0
- package/generators/filterHandlerModels.d.ts +8 -0
- package/generators/filterHandlerModels.d.ts.map +1 -0
- package/generators/filterHandlerModels.js +18 -0
- package/generators/filterHandlerModels.js.map +1 -0
- package/generators/format.d.ts +2 -0
- package/generators/format.d.ts.map +1 -0
- package/generators/format.js +29 -0
- package/generators/format.js.map +1 -0
- package/generators/generateApiTypes.d.ts +10 -0
- package/generators/generateApiTypes.d.ts.map +1 -0
- package/generators/generateApiTypes.js +61 -0
- package/generators/generateApiTypes.js.map +1 -0
- package/generators/generateClient.d.ts +12 -0
- package/generators/generateClient.d.ts.map +1 -0
- package/generators/generateClient.js +193 -0
- package/generators/generateClient.js.map +1 -0
- package/generators/generateDbTypes.d.ts +10 -0
- package/generators/generateDbTypes.d.ts.map +1 -0
- package/generators/generateDbTypes.js +37 -0
- package/generators/generateDbTypes.js.map +1 -0
- package/generators/generateHandles.d.ts +22 -0
- package/generators/generateHandles.d.ts.map +1 -0
- package/generators/generateHandles.js +103 -0
- package/generators/generateHandles.js.map +1 -0
- package/generators/generateJsonModels.d.ts +10 -0
- package/generators/generateJsonModels.d.ts.map +1 -0
- package/generators/generateJsonModels.js +99 -0
- package/generators/generateJsonModels.js.map +1 -0
- package/generators/index.d.ts +13 -0
- package/generators/index.d.ts.map +1 -0
- package/generators/index.js +8 -0
- package/generators/index.js.map +1 -0
- package/generic/NumberJsonSchemaBase.d.ts +7 -0
- package/generic/NumberJsonSchemaBase.d.ts.map +1 -0
- package/generic/NumberJsonSchemaBase.js +2 -0
- package/generic/NumberJsonSchemaBase.js.map +1 -0
- package/generic/Primitive.d.ts +2 -0
- package/generic/Primitive.d.ts.map +1 -0
- package/generic/Primitive.js +2 -0
- package/generic/Primitive.js.map +1 -0
- package/generic/SchemaBase.d.ts +5 -0
- package/generic/SchemaBase.d.ts.map +1 -0
- package/generic/SchemaBase.js +2 -0
- package/generic/SchemaBase.js.map +1 -0
- package/generic/index.d.ts +4 -0
- package/generic/index.d.ts.map +1 -0
- package/generic/index.js +4 -0
- package/generic/index.js.map +1 -0
- package/index.d.ts +23 -0
- package/index.d.ts.map +1 -0
- package/index.js +25 -0
- package/index.js.map +1 -0
- package/isObject.d.ts +2 -0
- package/isObject.d.ts.map +1 -0
- package/isObject.js +4 -0
- package/isObject.js.map +1 -0
- package/json/ArrayJsonSchema.d.ts +12 -0
- package/json/ArrayJsonSchema.d.ts.map +1 -0
- package/json/ArrayJsonSchema.js +2 -0
- package/json/ArrayJsonSchema.js.map +1 -0
- package/json/BooleanJsonSchema.d.ts +7 -0
- package/json/BooleanJsonSchema.d.ts.map +1 -0
- package/json/BooleanJsonSchema.js +2 -0
- package/json/BooleanJsonSchema.js.map +1 -0
- package/json/DateJsonSchema.d.ts +7 -0
- package/json/DateJsonSchema.d.ts.map +1 -0
- package/json/DateJsonSchema.js +2 -0
- package/json/DateJsonSchema.js.map +1 -0
- package/json/EnumJsonSchema.d.ts +6 -0
- package/json/EnumJsonSchema.d.ts.map +1 -0
- package/json/EnumJsonSchema.js +2 -0
- package/json/EnumJsonSchema.js.map +1 -0
- package/json/EnumJsonSchemaOf.d.ts +6 -0
- package/json/EnumJsonSchemaOf.d.ts.map +1 -0
- package/json/EnumJsonSchemaOf.js +2 -0
- package/json/EnumJsonSchemaOf.js.map +1 -0
- package/json/ExclusiveJsonSchema.d.ts +15 -0
- package/json/ExclusiveJsonSchema.d.ts.map +1 -0
- package/json/ExclusiveJsonSchema.js +2 -0
- package/json/ExclusiveJsonSchema.js.map +1 -0
- package/json/FromJsonSchema.d.ts +12 -0
- package/json/FromJsonSchema.d.ts.map +1 -0
- package/json/FromJsonSchema.js +2 -0
- package/json/FromJsonSchema.js.map +1 -0
- package/json/FromObjectJsonSchema.d.ts +5 -0
- package/json/FromObjectJsonSchema.d.ts.map +1 -0
- package/json/FromObjectJsonSchema.js +2 -0
- package/json/FromObjectJsonSchema.js.map +1 -0
- package/json/FromPropertySchemasJson.d.ts +6 -0
- package/json/FromPropertySchemasJson.d.ts.map +1 -0
- package/json/FromPropertySchemasJson.js +2 -0
- package/json/FromPropertySchemasJson.js.map +1 -0
- package/json/IntegerJsonSchema.d.ts +5 -0
- package/json/IntegerJsonSchema.d.ts.map +1 -0
- package/json/IntegerJsonSchema.js +2 -0
- package/json/IntegerJsonSchema.js.map +1 -0
- package/json/IntersectionJsonSchema.d.ts +9 -0
- package/json/IntersectionJsonSchema.d.ts.map +1 -0
- package/json/IntersectionJsonSchema.js +2 -0
- package/json/IntersectionJsonSchema.js.map +1 -0
- package/json/JsonSchema.d.ts +13 -0
- package/json/JsonSchema.d.ts.map +1 -0
- package/json/JsonSchema.js +2 -0
- package/json/JsonSchema.js.map +1 -0
- package/json/JsonSchemaOrPrimitive.d.ts +4 -0
- package/json/JsonSchemaOrPrimitive.d.ts.map +1 -0
- package/json/JsonSchemaOrPrimitive.js +2 -0
- package/json/JsonSchemaOrPrimitive.js.map +1 -0
- package/json/MapJsonSchema.d.ts +25 -0
- package/json/MapJsonSchema.d.ts.map +1 -0
- package/json/MapJsonSchema.js +2 -0
- package/json/MapJsonSchema.js.map +1 -0
- package/json/NumberJsonSchema.d.ts +12 -0
- package/json/NumberJsonSchema.d.ts.map +1 -0
- package/json/NumberJsonSchema.js +2 -0
- package/json/NumberJsonSchema.js.map +1 -0
- package/json/ObjectIdJsonSchema.d.ts +3 -0
- package/json/ObjectIdJsonSchema.d.ts.map +1 -0
- package/json/ObjectIdJsonSchema.js +2 -0
- package/json/ObjectIdJsonSchema.js.map +1 -0
- package/json/ObjectJsonSchema.d.ts +16 -0
- package/json/ObjectJsonSchema.d.ts.map +1 -0
- package/json/ObjectJsonSchema.js +2 -0
- package/json/ObjectJsonSchema.js.map +1 -0
- package/json/OneOfJsonSchema.d.ts +9 -0
- package/json/OneOfJsonSchema.d.ts.map +1 -0
- package/json/OneOfJsonSchema.js +2 -0
- package/json/OneOfJsonSchema.js.map +1 -0
- package/json/OnlyOptionalJson.d.ts +5 -0
- package/json/OnlyOptionalJson.d.ts.map +1 -0
- package/json/OnlyOptionalJson.js +2 -0
- package/json/OnlyOptionalJson.js.map +1 -0
- package/json/OnlyRequiredJson.d.ts +5 -0
- package/json/OnlyRequiredJson.d.ts.map +1 -0
- package/json/OnlyRequiredJson.js +2 -0
- package/json/OnlyRequiredJson.js.map +1 -0
- package/json/PrimitiveOrFromJsonSchema.d.ts +5 -0
- package/json/PrimitiveOrFromJsonSchema.d.ts.map +1 -0
- package/json/PrimitiveOrFromJsonSchema.js +2 -0
- package/json/PrimitiveOrFromJsonSchema.js.map +1 -0
- package/json/RequiredPropOfJson.d.ts +3 -0
- package/json/RequiredPropOfJson.d.ts.map +1 -0
- package/json/RequiredPropOfJson.js +2 -0
- package/json/RequiredPropOfJson.js.map +1 -0
- package/json/StringJsonSchema.d.ts +10 -0
- package/json/StringJsonSchema.d.ts.map +1 -0
- package/json/StringJsonSchema.js +2 -0
- package/json/StringJsonSchema.js.map +1 -0
- package/json/UidJsonSchema.d.ts +5 -0
- package/json/UidJsonSchema.d.ts.map +1 -0
- package/json/UidJsonSchema.js +2 -0
- package/json/UidJsonSchema.js.map +1 -0
- package/json/UnionJsonSchema.d.ts +9 -0
- package/json/UnionJsonSchema.d.ts.map +1 -0
- package/json/UnionJsonSchema.js +2 -0
- package/json/UnionJsonSchema.js.map +1 -0
- package/json/UuidV4JsonSchema.d.ts +5 -0
- package/json/UuidV4JsonSchema.d.ts.map +1 -0
- package/json/UuidV4JsonSchema.js +2 -0
- package/json/UuidV4JsonSchema.js.map +1 -0
- package/json/UuidV5JsonSchema.d.ts +5 -0
- package/json/UuidV5JsonSchema.d.ts.map +1 -0
- package/json/UuidV5JsonSchema.js +2 -0
- package/json/UuidV5JsonSchema.js.map +1 -0
- package/json/WholeNumberSchema.d.ts +5 -0
- package/json/WholeNumberSchema.d.ts.map +1 -0
- package/json/WholeNumberSchema.js +2 -0
- package/json/WholeNumberSchema.js.map +1 -0
- package/json/index.d.ts +28 -0
- package/json/index.d.ts.map +1 -0
- package/json/index.js +28 -0
- package/json/index.js.map +1 -0
- package/json/primitives.d.ts +50 -0
- package/json/primitives.d.ts.map +1 -0
- package/json/primitives.js +50 -0
- package/json/primitives.js.map +1 -0
- package/jsonToType/jsonToType.d.ts +3 -0
- package/jsonToType/jsonToType.d.ts.map +1 -0
- package/jsonToType/jsonToType.js +42 -0
- package/jsonToType/jsonToType.js.map +1 -0
- package/package.json +51 -0
- package/postgres/FromPostgresPropertySchemas.d.ts +6 -0
- package/postgres/FromPostgresPropertySchemas.d.ts.map +1 -0
- package/postgres/FromPostgresPropertySchemas.js +2 -0
- package/postgres/FromPostgresPropertySchemas.js.map +1 -0
- package/postgres/PostgresColumnBase.d.ts +13 -0
- package/postgres/PostgresColumnBase.d.ts.map +1 -0
- package/postgres/PostgresColumnBase.js +2 -0
- package/postgres/PostgresColumnBase.js.map +1 -0
- package/postgres/PostgresColumnModel.d.ts +5 -0
- package/postgres/PostgresColumnModel.d.ts.map +1 -0
- package/postgres/PostgresColumnModel.js +2 -0
- package/postgres/PostgresColumnModel.js.map +1 -0
- package/postgres/PostgresDatabaseModel.d.ts +8 -0
- package/postgres/PostgresDatabaseModel.d.ts.map +1 -0
- package/postgres/PostgresDatabaseModel.js +2 -0
- package/postgres/PostgresDatabaseModel.js.map +1 -0
- package/postgres/PostgresRecordModel.d.ts +20 -0
- package/postgres/PostgresRecordModel.d.ts.map +1 -0
- package/postgres/PostgresRecordModel.js +2 -0
- package/postgres/PostgresRecordModel.js.map +1 -0
- package/postgres/PostgresTableModel.d.ts +25 -0
- package/postgres/PostgresTableModel.d.ts.map +1 -0
- package/postgres/PostgresTableModel.js +2 -0
- package/postgres/PostgresTableModel.js.map +1 -0
- package/postgres/PostgresTriggerModel.d.ts +11 -0
- package/postgres/PostgresTriggerModel.d.ts.map +1 -0
- package/postgres/PostgresTriggerModel.js +2 -0
- package/postgres/PostgresTriggerModel.js.map +1 -0
- package/postgres/RequiredPropOf.d.ts +3 -0
- package/postgres/RequiredPropOf.d.ts.map +1 -0
- package/postgres/RequiredPropOf.js +2 -0
- package/postgres/RequiredPropOf.js.map +1 -0
- package/postgres/columns/Array.d.ts +9 -0
- package/postgres/columns/Array.d.ts.map +1 -0
- package/postgres/columns/Array.js +2 -0
- package/postgres/columns/Array.js.map +1 -0
- package/postgres/columns/Boolean.d.ts +7 -0
- package/postgres/columns/Boolean.d.ts.map +1 -0
- package/postgres/columns/Boolean.js +2 -0
- package/postgres/columns/Boolean.js.map +1 -0
- package/postgres/columns/Bytea.d.ts +5 -0
- package/postgres/columns/Bytea.d.ts.map +1 -0
- package/postgres/columns/Bytea.js +2 -0
- package/postgres/columns/Bytea.js.map +1 -0
- package/postgres/columns/Enum.d.ts +6 -0
- package/postgres/columns/Enum.d.ts.map +1 -0
- package/postgres/columns/Enum.js +2 -0
- package/postgres/columns/Enum.js.map +1 -0
- package/postgres/columns/Jsonb.d.ts +7 -0
- package/postgres/columns/Jsonb.d.ts.map +1 -0
- package/postgres/columns/Jsonb.js +2 -0
- package/postgres/columns/Jsonb.js.map +1 -0
- package/postgres/columns/geometric/index.d.ts +2 -0
- package/postgres/columns/geometric/index.d.ts.map +1 -0
- package/postgres/columns/geometric/index.js +2 -0
- package/postgres/columns/geometric/index.js.map +1 -0
- package/postgres/columns/geometric/point.d.ts +8 -0
- package/postgres/columns/geometric/point.d.ts.map +1 -0
- package/postgres/columns/geometric/point.js +2 -0
- package/postgres/columns/geometric/point.js.map +1 -0
- package/postgres/columns/index.d.ts +10 -0
- package/postgres/columns/index.d.ts.map +1 -0
- package/postgres/columns/index.js +10 -0
- package/postgres/columns/index.js.map +1 -0
- package/postgres/columns/numeric/BigInt.d.ts +5 -0
- package/postgres/columns/numeric/BigInt.d.ts.map +1 -0
- package/postgres/columns/numeric/BigInt.js +2 -0
- package/postgres/columns/numeric/BigInt.js.map +1 -0
- package/postgres/columns/numeric/BigSerial.d.ts +5 -0
- package/postgres/columns/numeric/BigSerial.d.ts.map +1 -0
- package/postgres/columns/numeric/BigSerial.js +2 -0
- package/postgres/columns/numeric/BigSerial.js.map +1 -0
- package/postgres/columns/numeric/Double.d.ts +5 -0
- package/postgres/columns/numeric/Double.d.ts.map +1 -0
- package/postgres/columns/numeric/Double.js +2 -0
- package/postgres/columns/numeric/Double.js.map +1 -0
- package/postgres/columns/numeric/Integer.d.ts +5 -0
- package/postgres/columns/numeric/Integer.d.ts.map +1 -0
- package/postgres/columns/numeric/Integer.js +2 -0
- package/postgres/columns/numeric/Integer.js.map +1 -0
- package/postgres/columns/numeric/Money.d.ts +5 -0
- package/postgres/columns/numeric/Money.d.ts.map +1 -0
- package/postgres/columns/numeric/Money.js +2 -0
- package/postgres/columns/numeric/Money.js.map +1 -0
- package/postgres/columns/numeric/NumberBase.d.ts +11 -0
- package/postgres/columns/numeric/NumberBase.d.ts.map +1 -0
- package/postgres/columns/numeric/NumberBase.js +2 -0
- package/postgres/columns/numeric/NumberBase.js.map +1 -0
- package/postgres/columns/numeric/Numeric.d.ts +7 -0
- package/postgres/columns/numeric/Numeric.d.ts.map +1 -0
- package/postgres/columns/numeric/Numeric.js +2 -0
- package/postgres/columns/numeric/Numeric.js.map +1 -0
- package/postgres/columns/numeric/Real.d.ts +5 -0
- package/postgres/columns/numeric/Real.d.ts.map +1 -0
- package/postgres/columns/numeric/Real.js +2 -0
- package/postgres/columns/numeric/Real.js.map +1 -0
- package/postgres/columns/numeric/Serial.d.ts +5 -0
- package/postgres/columns/numeric/Serial.d.ts.map +1 -0
- package/postgres/columns/numeric/Serial.js +2 -0
- package/postgres/columns/numeric/Serial.js.map +1 -0
- package/postgres/columns/numeric/SmallInt.d.ts +5 -0
- package/postgres/columns/numeric/SmallInt.d.ts.map +1 -0
- package/postgres/columns/numeric/SmallInt.js +2 -0
- package/postgres/columns/numeric/SmallInt.js.map +1 -0
- package/postgres/columns/numeric/SmallSerial.d.ts +5 -0
- package/postgres/columns/numeric/SmallSerial.d.ts.map +1 -0
- package/postgres/columns/numeric/SmallSerial.js +2 -0
- package/postgres/columns/numeric/SmallSerial.js.map +1 -0
- package/postgres/columns/numeric/index.d.ts +11 -0
- package/postgres/columns/numeric/index.d.ts.map +1 -0
- package/postgres/columns/numeric/index.js +11 -0
- package/postgres/columns/numeric/index.js.map +1 -0
- package/postgres/columns/temporal/Date.d.ts +5 -0
- package/postgres/columns/temporal/Date.d.ts.map +1 -0
- package/postgres/columns/temporal/Date.js +2 -0
- package/postgres/columns/temporal/Date.js.map +1 -0
- package/postgres/columns/temporal/Time.d.ts +7 -0
- package/postgres/columns/temporal/Time.d.ts.map +1 -0
- package/postgres/columns/temporal/Time.js +2 -0
- package/postgres/columns/temporal/Time.js.map +1 -0
- package/postgres/columns/temporal/Timestamp.d.ts +5 -0
- package/postgres/columns/temporal/Timestamp.d.ts.map +1 -0
- package/postgres/columns/temporal/Timestamp.js +2 -0
- package/postgres/columns/temporal/Timestamp.js.map +1 -0
- package/postgres/columns/temporal/TimestampBase.d.ts +13 -0
- package/postgres/columns/temporal/TimestampBase.d.ts.map +1 -0
- package/postgres/columns/temporal/TimestampBase.js +2 -0
- package/postgres/columns/temporal/TimestampBase.js.map +1 -0
- package/postgres/columns/temporal/Timestamptz.d.ts +5 -0
- package/postgres/columns/temporal/Timestamptz.d.ts.map +1 -0
- package/postgres/columns/temporal/Timestamptz.js +2 -0
- package/postgres/columns/temporal/Timestamptz.js.map +1 -0
- package/postgres/columns/temporal/index.d.ts +5 -0
- package/postgres/columns/temporal/index.d.ts.map +1 -0
- package/postgres/columns/temporal/index.js +5 -0
- package/postgres/columns/temporal/index.js.map +1 -0
- package/postgres/columns/textual/Char.d.ts +9 -0
- package/postgres/columns/textual/Char.d.ts.map +1 -0
- package/postgres/columns/textual/Char.js +2 -0
- package/postgres/columns/textual/Char.js.map +1 -0
- package/postgres/columns/textual/Text.d.ts +12 -0
- package/postgres/columns/textual/Text.d.ts.map +1 -0
- package/postgres/columns/textual/Text.js +2 -0
- package/postgres/columns/textual/Text.js.map +1 -0
- package/postgres/columns/textual/Varchar.d.ts +11 -0
- package/postgres/columns/textual/Varchar.d.ts.map +1 -0
- package/postgres/columns/textual/Varchar.js +2 -0
- package/postgres/columns/textual/Varchar.js.map +1 -0
- package/postgres/columns/textual/index.d.ts +4 -0
- package/postgres/columns/textual/index.d.ts.map +1 -0
- package/postgres/columns/textual/index.js +4 -0
- package/postgres/columns/textual/index.js.map +1 -0
- package/postgres/index.d.ts +9 -0
- package/postgres/index.d.ts.map +1 -0
- package/postgres/index.js +9 -0
- package/postgres/index.js.map +1 -0
- package/postgres/postgresColumnToJson.d.ts +4 -0
- package/postgres/postgresColumnToJson.d.ts.map +1 -0
- package/postgres/postgresColumnToJson.js +61 -0
- package/postgres/postgresColumnToJson.js.map +1 -0
- package/postgres/postgresColumnToTson.d.ts +4 -0
- package/postgres/postgresColumnToTson.d.ts.map +1 -0
- package/postgres/postgresColumnToTson.js +66 -0
- package/postgres/postgresColumnToTson.js.map +1 -0
- package/postgres/postgresRecordToTson.d.ts +4 -0
- package/postgres/postgresRecordToTson.d.ts.map +1 -0
- package/postgres/postgresRecordToTson.js +14 -0
- package/postgres/postgresRecordToTson.js.map +1 -0
- package/protobuf/tsonToProtobuf.d.ts +14 -0
- package/protobuf/tsonToProtobuf.d.ts.map +1 -0
- package/protobuf/tsonToProtobuf.js +115 -0
- package/protobuf/tsonToProtobuf.js.map +1 -0
- package/tson/ArrayTsonSchema.d.ts +12 -0
- package/tson/ArrayTsonSchema.d.ts.map +1 -0
- package/tson/ArrayTsonSchema.js +2 -0
- package/tson/ArrayTsonSchema.js.map +1 -0
- package/tson/BigIntTsonSchema.d.ts +16 -0
- package/tson/BigIntTsonSchema.d.ts.map +1 -0
- package/tson/BigIntTsonSchema.js +2 -0
- package/tson/BigIntTsonSchema.js.map +1 -0
- package/tson/BooleanTsonSchema.d.ts +14 -0
- package/tson/BooleanTsonSchema.d.ts.map +1 -0
- package/tson/BooleanTsonSchema.js +2 -0
- package/tson/BooleanTsonSchema.js.map +1 -0
- package/tson/DateTsonSchema.d.ts +14 -0
- package/tson/DateTsonSchema.d.ts.map +1 -0
- package/tson/DateTsonSchema.js +2 -0
- package/tson/DateTsonSchema.js.map +1 -0
- package/tson/EnumTsonSchema.d.ts +6 -0
- package/tson/EnumTsonSchema.d.ts.map +1 -0
- package/tson/EnumTsonSchema.js +2 -0
- package/tson/EnumTsonSchema.js.map +1 -0
- package/tson/EnumTsonSchemaOf.d.ts +6 -0
- package/tson/EnumTsonSchemaOf.d.ts.map +1 -0
- package/tson/EnumTsonSchemaOf.js +2 -0
- package/tson/EnumTsonSchemaOf.js.map +1 -0
- package/tson/ExclusiveTsonSchema.d.ts +15 -0
- package/tson/ExclusiveTsonSchema.d.ts.map +1 -0
- package/tson/ExclusiveTsonSchema.js +2 -0
- package/tson/ExclusiveTsonSchema.js.map +1 -0
- package/tson/FromObjectTsonSchema.d.ts +5 -0
- package/tson/FromObjectTsonSchema.d.ts.map +1 -0
- package/tson/FromObjectTsonSchema.js +2 -0
- package/tson/FromObjectTsonSchema.js.map +1 -0
- package/tson/FromPropertySchemasTson.d.ts +6 -0
- package/tson/FromPropertySchemasTson.d.ts.map +1 -0
- package/tson/FromPropertySchemasTson.js +2 -0
- package/tson/FromPropertySchemasTson.js.map +1 -0
- package/tson/FromTsonSchema.d.ts +12 -0
- package/tson/FromTsonSchema.d.ts.map +1 -0
- package/tson/FromTsonSchema.js +2 -0
- package/tson/FromTsonSchema.js.map +1 -0
- package/tson/IntersectionTsonSchema.d.ts +9 -0
- package/tson/IntersectionTsonSchema.d.ts.map +1 -0
- package/tson/IntersectionTsonSchema.js +2 -0
- package/tson/IntersectionTsonSchema.js.map +1 -0
- package/tson/MapTsonSchema.d.ts +25 -0
- package/tson/MapTsonSchema.d.ts.map +1 -0
- package/tson/MapTsonSchema.js +2 -0
- package/tson/MapTsonSchema.js.map +1 -0
- package/tson/NumberTsonSchema.d.ts +16 -0
- package/tson/NumberTsonSchema.d.ts.map +1 -0
- package/tson/NumberTsonSchema.js +2 -0
- package/tson/NumberTsonSchema.js.map +1 -0
- package/tson/ObjectTsonSchema.d.ts +17 -0
- package/tson/ObjectTsonSchema.d.ts.map +1 -0
- package/tson/ObjectTsonSchema.js +2 -0
- package/tson/ObjectTsonSchema.js.map +1 -0
- package/tson/OneOfTsonSchema.d.ts +9 -0
- package/tson/OneOfTsonSchema.d.ts.map +1 -0
- package/tson/OneOfTsonSchema.js +2 -0
- package/tson/OneOfTsonSchema.js.map +1 -0
- package/tson/OnlyOptionalTson.d.ts +5 -0
- package/tson/OnlyOptionalTson.d.ts.map +1 -0
- package/tson/OnlyOptionalTson.js +2 -0
- package/tson/OnlyOptionalTson.js.map +1 -0
- package/tson/OnlyRequiredTson.d.ts +5 -0
- package/tson/OnlyRequiredTson.d.ts.map +1 -0
- package/tson/OnlyRequiredTson.js +2 -0
- package/tson/OnlyRequiredTson.js.map +1 -0
- package/tson/PrimitiveOrFromTsonSchema.d.ts +5 -0
- package/tson/PrimitiveOrFromTsonSchema.d.ts.map +1 -0
- package/tson/PrimitiveOrFromTsonSchema.js +2 -0
- package/tson/PrimitiveOrFromTsonSchema.js.map +1 -0
- package/tson/RefTsonSchema.d.ts +4 -0
- package/tson/RefTsonSchema.d.ts.map +1 -0
- package/tson/RefTsonSchema.js +2 -0
- package/tson/RefTsonSchema.js.map +1 -0
- package/tson/RequiredPropOfTson.d.ts +3 -0
- package/tson/RequiredPropOfTson.d.ts.map +1 -0
- package/tson/RequiredPropOfTson.js +2 -0
- package/tson/RequiredPropOfTson.js.map +1 -0
- package/tson/StringFormats.d.ts +17 -0
- package/tson/StringFormats.d.ts.map +1 -0
- package/tson/StringFormats.js +20 -0
- package/tson/StringFormats.js.map +1 -0
- package/tson/StringTsonSchema.d.ts +17 -0
- package/tson/StringTsonSchema.d.ts.map +1 -0
- package/tson/StringTsonSchema.js +2 -0
- package/tson/StringTsonSchema.js.map +1 -0
- package/tson/TsonSchema.d.ts +15 -0
- package/tson/TsonSchema.d.ts.map +1 -0
- package/tson/TsonSchema.js +2 -0
- package/tson/TsonSchema.js.map +1 -0
- package/tson/TsonSchemaOrPrimitive.d.ts +4 -0
- package/tson/TsonSchemaOrPrimitive.d.ts.map +1 -0
- package/tson/TsonSchemaOrPrimitive.js +2 -0
- package/tson/TsonSchemaOrPrimitive.js.map +1 -0
- package/tson/UnionTsonSchema.d.ts +9 -0
- package/tson/UnionTsonSchema.d.ts.map +1 -0
- package/tson/UnionTsonSchema.js +2 -0
- package/tson/UnionTsonSchema.js.map +1 -0
- package/tson/index.d.ts +29 -0
- package/tson/index.d.ts.map +1 -0
- package/tson/index.js +29 -0
- package/tson/index.js.map +1 -0
- package/tson/isDate.d.ts +2 -0
- package/tson/isDate.d.ts.map +1 -0
- package/tson/isDate.js +2 -0
- package/tson/isDate.js.map +1 -0
- package/tson/parseBON.d.ts +8 -0
- package/tson/parseBON.d.ts.map +1 -0
- package/tson/parseBON.js +396 -0
- package/tson/parseBON.js.map +1 -0
- package/tson/parsePossibleBON.d.ts +2 -0
- package/tson/parsePossibleBON.d.ts.map +1 -0
- package/tson/parsePossibleBON.js +3 -0
- package/tson/parsePossibleBON.js.map +1 -0
- package/tson/primitives.d.ts +26 -0
- package/tson/primitives.d.ts.map +1 -0
- package/tson/primitives.js +26 -0
- package/tson/primitives.js.map +1 -0
- package/tson/stringifyBON.d.ts +11 -0
- package/tson/stringifyBON.d.ts.map +1 -0
- package/tson/stringifyBON.js +126 -0
- package/tson/stringifyBON.js.map +1 -0
- package/tsonToType.d.ts +3 -0
- package/tsonToType.d.ts.map +1 -0
- package/tsonToType.js +53 -0
- package/tsonToType.js.map +1 -0
- package/tsonValidator/ValidationError.d.ts +4 -0
- package/tsonValidator/ValidationError.d.ts.map +1 -0
- package/tsonValidator/ValidationError.js +7 -0
- package/tsonValidator/ValidationError.js.map +1 -0
- package/tsonValidator/buildArrayValidator.d.ts +7 -0
- package/tsonValidator/buildArrayValidator.d.ts.map +1 -0
- package/tsonValidator/buildArrayValidator.js +110 -0
- package/tsonValidator/buildArrayValidator.js.map +1 -0
- package/tsonValidator/buildBigintValidator.d.ts +7 -0
- package/tsonValidator/buildBigintValidator.d.ts.map +1 -0
- package/tsonValidator/buildBigintValidator.js +126 -0
- package/tsonValidator/buildBigintValidator.js.map +1 -0
- package/tsonValidator/buildBooleanValidator.d.ts +4 -0
- package/tsonValidator/buildBooleanValidator.d.ts.map +1 -0
- package/tsonValidator/buildBooleanValidator.js +43 -0
- package/tsonValidator/buildBooleanValidator.js.map +1 -0
- package/tsonValidator/buildDateValidator.d.ts +4 -0
- package/tsonValidator/buildDateValidator.d.ts.map +1 -0
- package/tsonValidator/buildDateValidator.js +69 -0
- package/tsonValidator/buildDateValidator.js.map +1 -0
- package/tsonValidator/buildEnumValidator.d.ts +4 -0
- package/tsonValidator/buildEnumValidator.d.ts.map +1 -0
- package/tsonValidator/buildEnumValidator.js +35 -0
- package/tsonValidator/buildEnumValidator.js.map +1 -0
- package/tsonValidator/buildNumberValidator.d.ts +7 -0
- package/tsonValidator/buildNumberValidator.d.ts.map +1 -0
- package/tsonValidator/buildNumberValidator.js +137 -0
- package/tsonValidator/buildNumberValidator.js.map +1 -0
- package/tsonValidator/buildObjectValidator.d.ts +4 -0
- package/tsonValidator/buildObjectValidator.d.ts.map +1 -0
- package/tsonValidator/buildObjectValidator.js +88 -0
- package/tsonValidator/buildObjectValidator.js.map +1 -0
- package/tsonValidator/buildOneOfValidator.d.ts +7 -0
- package/tsonValidator/buildOneOfValidator.d.ts.map +1 -0
- package/tsonValidator/buildOneOfValidator.js +62 -0
- package/tsonValidator/buildOneOfValidator.js.map +1 -0
- package/tsonValidator/buildStringValidator.d.ts +7 -0
- package/tsonValidator/buildStringValidator.d.ts.map +1 -0
- package/tsonValidator/buildStringValidator.js +93 -0
- package/tsonValidator/buildStringValidator.js.map +1 -0
- package/tsonValidator/buildValidator.d.ts +4 -0
- package/tsonValidator/buildValidator.d.ts.map +1 -0
- package/tsonValidator/buildValidator.js +75 -0
- package/tsonValidator/buildValidator.js.map +1 -0
- package/tsonValidator/index.d.ts +12 -0
- package/tsonValidator/index.d.ts.map +1 -0
- package/tsonValidator/index.js +12 -0
- package/tsonValidator/index.js.map +1 -0
- package/tsonValidator/testUtils.d.ts +8 -0
- package/tsonValidator/testUtils.d.ts.map +1 -0
- package/tsonValidator/testUtils.js +24 -0
- package/tsonValidator/testUtils.js.map +1 -0
- package/typeverters/bsonToType.d.ts +3 -0
- package/typeverters/bsonToType.d.ts.map +1 -0
- package/typeverters/bsonToType.js +48 -0
- package/typeverters/bsonToType.js.map +1 -0
- package/typeverters/postgresColumnToKysely.d.ts +3 -0
- package/typeverters/postgresColumnToKysely.d.ts.map +1 -0
- package/typeverters/postgresColumnToKysely.js +51 -0
- package/typeverters/postgresColumnToKysely.js.map +1 -0
- package/typeverters/postgresColumnToType.d.ts +3 -0
- package/typeverters/postgresColumnToType.d.ts.map +1 -0
- package/typeverters/postgresColumnToType.js +37 -0
- package/typeverters/postgresColumnToType.js.map +1 -0
- package/typeverters/postgresRecordToKysely.d.ts +3 -0
- package/typeverters/postgresRecordToKysely.d.ts.map +1 -0
- package/typeverters/postgresRecordToKysely.js +7 -0
- package/typeverters/postgresRecordToKysely.js.map +1 -0
- package/typeverters/postgresRecordToType.d.ts +3 -0
- package/typeverters/postgresRecordToType.d.ts.map +1 -0
- package/typeverters/postgresRecordToType.js +13 -0
- package/typeverters/postgresRecordToType.js.map +1 -0
package/tson/parseBON.js
ADDED
|
@@ -0,0 +1,396 @@
|
|
|
1
|
+
/* eslint-disable security/detect-object-injection, security/detect-unsafe-regex */
|
|
2
|
+
import { isValidDate } from './isDate';
|
|
3
|
+
class ParseError extends Error {
|
|
4
|
+
constructor(message, position) {
|
|
5
|
+
super(`${message} at position ${position}`);
|
|
6
|
+
this.position = position;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
// Configuration constants
|
|
10
|
+
const MAX_NESTING_DEPTH = 10000; // Maximum allowed nesting depth
|
|
11
|
+
const MAX_STRING_LENGTH = 100000000; // 100MB
|
|
12
|
+
const MAX_INPUT_LENGTH = 100000000; // 100MB
|
|
13
|
+
function tokenize(input) {
|
|
14
|
+
const tokens = [];
|
|
15
|
+
let pos = 0;
|
|
16
|
+
// Special case: ISO date string from stringifyBON (No quotes around dates)
|
|
17
|
+
const isoDatePattern = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,3})?Z/;
|
|
18
|
+
if (isoDatePattern.test(input)) {
|
|
19
|
+
tokens.push({ type: 'string', value: input, position: 0 });
|
|
20
|
+
return tokens;
|
|
21
|
+
}
|
|
22
|
+
while (pos < input.length) {
|
|
23
|
+
const char = input[pos];
|
|
24
|
+
// Skip whitespace
|
|
25
|
+
if (/\s/.test(char)) {
|
|
26
|
+
pos++;
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
// Handle structural tokens
|
|
30
|
+
if (char === '{') {
|
|
31
|
+
tokens.push({ type: 'object_start', value: '{', position: pos });
|
|
32
|
+
pos++;
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
if (char === '}') {
|
|
36
|
+
tokens.push({ type: 'object_end', value: '}', position: pos });
|
|
37
|
+
pos++;
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
if (char === '[') {
|
|
41
|
+
tokens.push({ type: 'array_start', value: '[', position: pos });
|
|
42
|
+
pos++;
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
if (char === ']') {
|
|
46
|
+
tokens.push({ type: 'array_end', value: ']', position: pos });
|
|
47
|
+
pos++;
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
if (char === ':') {
|
|
51
|
+
tokens.push({ type: 'colon', value: ':', position: pos });
|
|
52
|
+
pos++;
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
if (char === ',') {
|
|
56
|
+
tokens.push({ type: 'comma', value: ',', position: pos });
|
|
57
|
+
pos++;
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
// Handle strings
|
|
61
|
+
if (char === '"') {
|
|
62
|
+
let value = '';
|
|
63
|
+
const startPos = pos;
|
|
64
|
+
pos++; // Skip opening quote
|
|
65
|
+
while (pos < input.length) {
|
|
66
|
+
const c = input[pos];
|
|
67
|
+
if (c === '\\' && pos + 1 < input.length) {
|
|
68
|
+
// Handle escape sequences
|
|
69
|
+
const nextChar = input[pos + 1];
|
|
70
|
+
if (nextChar === '"') {
|
|
71
|
+
value += '"';
|
|
72
|
+
pos += 2;
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
// Preserve other escape sequences
|
|
76
|
+
value += c + nextChar;
|
|
77
|
+
pos += 2;
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
if (c === '"') {
|
|
81
|
+
pos++; // Skip closing quote
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
value += c;
|
|
85
|
+
pos++;
|
|
86
|
+
}
|
|
87
|
+
tokens.push({ type: 'string', value, position: startPos });
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
// Handle ISO date string pattern (no quotes) - for date values in objects or arrays
|
|
91
|
+
const remainingInput = input.substring(pos);
|
|
92
|
+
const dateMatch = remainingInput.match(isoDatePattern);
|
|
93
|
+
if (dateMatch && dateMatch.index === 0) {
|
|
94
|
+
const value = dateMatch[0];
|
|
95
|
+
tokens.push({ type: 'string', value, position: pos });
|
|
96
|
+
pos += value.length;
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
// Handle literals (true, false, null, undefined)
|
|
100
|
+
if (input.startsWith('true', pos)) {
|
|
101
|
+
tokens.push({ type: 'true', value: 'true', position: pos });
|
|
102
|
+
pos += 4;
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
if (input.startsWith('false', pos)) {
|
|
106
|
+
tokens.push({ type: 'false', value: 'false', position: pos });
|
|
107
|
+
pos += 5;
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
if (input.startsWith('null', pos)) {
|
|
111
|
+
tokens.push({ type: 'null', value: 'null', position: pos });
|
|
112
|
+
pos += 4;
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
if (input.startsWith('undefined', pos)) {
|
|
116
|
+
tokens.push({ type: 'undefined', value: 'undefined', position: pos });
|
|
117
|
+
pos += 9;
|
|
118
|
+
continue;
|
|
119
|
+
}
|
|
120
|
+
// Handle numbers and bigints
|
|
121
|
+
if (/[\d.-]/.test(char)) {
|
|
122
|
+
let numStr = '';
|
|
123
|
+
const startPos = pos;
|
|
124
|
+
let isBigInt = false;
|
|
125
|
+
// Extract numeric part
|
|
126
|
+
while (pos < input.length) {
|
|
127
|
+
const c = input[pos];
|
|
128
|
+
// Check for bigint notation
|
|
129
|
+
if (c === 'n') {
|
|
130
|
+
isBigInt = true;
|
|
131
|
+
pos++;
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
// Valid number characters
|
|
135
|
+
if (/[\d.e+-]/.test(c)) {
|
|
136
|
+
numStr += c;
|
|
137
|
+
pos++;
|
|
138
|
+
continue;
|
|
139
|
+
}
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
if (isBigInt) {
|
|
143
|
+
tokens.push({ type: 'bigint', value: numStr, position: startPos });
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
tokens.push({ type: 'number', value: numStr, position: startPos });
|
|
147
|
+
}
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
// If we reach here, we found an unexpected character
|
|
151
|
+
throw new ParseError(`Unexpected character '${char}'`, pos);
|
|
152
|
+
}
|
|
153
|
+
return tokens;
|
|
154
|
+
}
|
|
155
|
+
function parse(tokens, startIdx = 0, depth = 0) {
|
|
156
|
+
// Guard against excessive recursion
|
|
157
|
+
if (depth > MAX_NESTING_DEPTH) {
|
|
158
|
+
throw new ParseError('Maximum nesting depth exceeded', tokens[startIdx]?.position || -1);
|
|
159
|
+
}
|
|
160
|
+
if (startIdx >= tokens.length) {
|
|
161
|
+
throw new ParseError('Unexpected end of input', -1);
|
|
162
|
+
}
|
|
163
|
+
const token = tokens[startIdx];
|
|
164
|
+
switch (token.type) {
|
|
165
|
+
case 'string':
|
|
166
|
+
// Validate string length
|
|
167
|
+
if (token.value.length > MAX_STRING_LENGTH) {
|
|
168
|
+
throw new ParseError(`String length exceeds maximum allowed (${MAX_STRING_LENGTH})`, token.position);
|
|
169
|
+
}
|
|
170
|
+
return { value: token.value, nextIdx: startIdx + 1 };
|
|
171
|
+
case 'number': {
|
|
172
|
+
// Validate number format
|
|
173
|
+
const num = Number(token.value);
|
|
174
|
+
if (!Number.isFinite(num) && !Number.isNaN(num)) {
|
|
175
|
+
throw new ParseError(`Invalid number value: ${token.value}`, token.position);
|
|
176
|
+
}
|
|
177
|
+
return { value: num, nextIdx: startIdx + 1 };
|
|
178
|
+
}
|
|
179
|
+
case 'bigint': {
|
|
180
|
+
try {
|
|
181
|
+
// Validate BigInt format
|
|
182
|
+
const bigint = BigInt(token.value);
|
|
183
|
+
return { value: bigint, nextIdx: startIdx + 1 };
|
|
184
|
+
}
|
|
185
|
+
catch (_e) {
|
|
186
|
+
throw new ParseError(`Invalid BigInt value: ${token.value}`, token.position);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
case 'true':
|
|
190
|
+
return { value: true, nextIdx: startIdx + 1 };
|
|
191
|
+
case 'false':
|
|
192
|
+
return { value: false, nextIdx: startIdx + 1 };
|
|
193
|
+
case 'null':
|
|
194
|
+
return { value: null, nextIdx: startIdx + 1 };
|
|
195
|
+
case 'undefined':
|
|
196
|
+
return { value: undefined, nextIdx: startIdx + 1 };
|
|
197
|
+
case 'object_start': {
|
|
198
|
+
let nextIdx = startIdx + 1;
|
|
199
|
+
const result = {};
|
|
200
|
+
let propertyCount = 0;
|
|
201
|
+
// Empty object
|
|
202
|
+
if (nextIdx < tokens.length && tokens[nextIdx].type === 'object_end') {
|
|
203
|
+
return { value: {}, nextIdx: nextIdx + 1 };
|
|
204
|
+
}
|
|
205
|
+
// Parse key-value pairs
|
|
206
|
+
while (nextIdx < tokens.length) {
|
|
207
|
+
// Enforce a reasonable property count to prevent DoS
|
|
208
|
+
if (propertyCount > 100000) {
|
|
209
|
+
throw new ParseError('Object contains too many properties', token.position);
|
|
210
|
+
}
|
|
211
|
+
// Expect a string key
|
|
212
|
+
if (tokens[nextIdx]?.type !== 'string') {
|
|
213
|
+
throw new ParseError(`Expected string key, got ${tokens[nextIdx]?.type || 'undefined'}`, tokens[nextIdx]?.position || -1);
|
|
214
|
+
}
|
|
215
|
+
const key = tokens[nextIdx].value;
|
|
216
|
+
// Check for potentially dangerous property names
|
|
217
|
+
if (key === '__proto__' ||
|
|
218
|
+
key === 'constructor' ||
|
|
219
|
+
key === 'prototype') {
|
|
220
|
+
throw new ParseError(`Potentially unsafe property name: ${key}`, tokens[nextIdx].position);
|
|
221
|
+
}
|
|
222
|
+
nextIdx++;
|
|
223
|
+
// Expect a colon
|
|
224
|
+
if (nextIdx >= tokens.length || tokens[nextIdx]?.type !== 'colon') {
|
|
225
|
+
throw new ParseError('Expected ":"', nextIdx < tokens.length ? tokens[nextIdx]?.position || -1 : -1);
|
|
226
|
+
}
|
|
227
|
+
nextIdx++;
|
|
228
|
+
// Parse the value with increased depth
|
|
229
|
+
const { value, nextIdx: newIdx } = parse(tokens, nextIdx, depth + 1);
|
|
230
|
+
result[key] = value;
|
|
231
|
+
nextIdx = newIdx;
|
|
232
|
+
propertyCount++;
|
|
233
|
+
// Check for comma or end of object
|
|
234
|
+
if (nextIdx >= tokens.length) {
|
|
235
|
+
throw new ParseError('Unexpected end of input', -1);
|
|
236
|
+
}
|
|
237
|
+
if (tokens[nextIdx]?.type === 'object_end') {
|
|
238
|
+
return { value: result, nextIdx: nextIdx + 1 };
|
|
239
|
+
}
|
|
240
|
+
if (tokens[nextIdx]?.type !== 'comma') {
|
|
241
|
+
throw new ParseError(`Expected "," or "}", got ${tokens[nextIdx]?.type || 'undefined'}`, tokens[nextIdx]?.position || -1);
|
|
242
|
+
}
|
|
243
|
+
// Skip comma
|
|
244
|
+
nextIdx++;
|
|
245
|
+
}
|
|
246
|
+
throw new ParseError('Unexpected end of input', -1);
|
|
247
|
+
}
|
|
248
|
+
case 'array_start': {
|
|
249
|
+
let nextIdx = startIdx + 1;
|
|
250
|
+
const result = [];
|
|
251
|
+
// Empty array
|
|
252
|
+
if (nextIdx < tokens.length && tokens[nextIdx]?.type === 'array_end') {
|
|
253
|
+
return { value: [], nextIdx: nextIdx + 1 };
|
|
254
|
+
}
|
|
255
|
+
// Parse array elements
|
|
256
|
+
while (nextIdx < tokens.length) {
|
|
257
|
+
// Enforce a reasonable array length to prevent DoS
|
|
258
|
+
if (result.length > 10000000) {
|
|
259
|
+
// 10 million elements
|
|
260
|
+
throw new ParseError('Array contains too many elements', token.position);
|
|
261
|
+
}
|
|
262
|
+
// Parse value with increased depth
|
|
263
|
+
const { value, nextIdx: newIdx } = parse(tokens, nextIdx, depth + 1);
|
|
264
|
+
result.push(value);
|
|
265
|
+
nextIdx = newIdx;
|
|
266
|
+
// Check for comma or end of array
|
|
267
|
+
if (nextIdx >= tokens.length) {
|
|
268
|
+
throw new ParseError('Unexpected end of input', -1);
|
|
269
|
+
}
|
|
270
|
+
if (tokens[nextIdx]?.type === 'array_end') {
|
|
271
|
+
return { value: result, nextIdx: nextIdx + 1 };
|
|
272
|
+
}
|
|
273
|
+
if (tokens[nextIdx]?.type !== 'comma') {
|
|
274
|
+
throw new ParseError(`Expected "," or "]", got ${tokens[nextIdx]?.type || 'undefined'}`, tokens[nextIdx]?.position || -1);
|
|
275
|
+
}
|
|
276
|
+
// Skip comma
|
|
277
|
+
nextIdx++;
|
|
278
|
+
}
|
|
279
|
+
throw new ParseError('Unexpected end of input', -1);
|
|
280
|
+
}
|
|
281
|
+
default:
|
|
282
|
+
throw new ParseError(`Unexpected token type: ${token.type}`, token.position);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
// Check if a string looks like an ISO date
|
|
286
|
+
function isISODateString(str) {
|
|
287
|
+
const isoDatePattern = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,3})?Z$/;
|
|
288
|
+
return isoDatePattern.test(str);
|
|
289
|
+
}
|
|
290
|
+
// Post-process the parsed data to convert ISO date strings back to Date objects
|
|
291
|
+
function postProcess(value) {
|
|
292
|
+
if (value === null || value === undefined) {
|
|
293
|
+
return value;
|
|
294
|
+
}
|
|
295
|
+
if (typeof value === 'string' && isISODateString(value)) {
|
|
296
|
+
const date = new Date(value);
|
|
297
|
+
if (isValidDate(date)) {
|
|
298
|
+
return date;
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
if (Array.isArray(value)) {
|
|
302
|
+
return value.map(postProcess);
|
|
303
|
+
}
|
|
304
|
+
if (typeof value === 'object') {
|
|
305
|
+
const result = {};
|
|
306
|
+
for (const [key, val] of Object.entries(value)) {
|
|
307
|
+
result[key] = postProcess(val);
|
|
308
|
+
}
|
|
309
|
+
return result;
|
|
310
|
+
}
|
|
311
|
+
return value;
|
|
312
|
+
}
|
|
313
|
+
/**
|
|
314
|
+
* Parses a BON (JSON with BigInt support) string into a JavaScript value
|
|
315
|
+
* @param input The BON string to parse
|
|
316
|
+
* @returns The parsed JavaScript value
|
|
317
|
+
* @throws Error if the input is invalid BON syntax or contains potentially harmful structures
|
|
318
|
+
*/
|
|
319
|
+
export const parseBON = (input) => {
|
|
320
|
+
try {
|
|
321
|
+
// Input validation
|
|
322
|
+
if (input === undefined || input === null) {
|
|
323
|
+
throw new Error('Input cannot be null or undefined');
|
|
324
|
+
}
|
|
325
|
+
if (typeof input !== 'string') {
|
|
326
|
+
throw new Error('Input must be a string');
|
|
327
|
+
}
|
|
328
|
+
if (input.length === 0) {
|
|
329
|
+
throw new Error('Empty input');
|
|
330
|
+
}
|
|
331
|
+
if (input.length > MAX_INPUT_LENGTH) {
|
|
332
|
+
throw new Error(`Input exceeds maximum allowed length (${MAX_INPUT_LENGTH})`);
|
|
333
|
+
}
|
|
334
|
+
// Check for potentially dangerous patterns before tokenizing
|
|
335
|
+
// const dangerousPatterns = [
|
|
336
|
+
// // Potential code execution via JS syntax
|
|
337
|
+
// /\bfunction\s*\(/i,
|
|
338
|
+
// /\beval\s*\(/i,
|
|
339
|
+
// /\bnew\s+Function/i,
|
|
340
|
+
// /\bsetTimeout\s*\(/i,
|
|
341
|
+
// /\bsetInterval\s*\(/i,
|
|
342
|
+
// /\bconstructor\s*\.\s*constructor/i,
|
|
343
|
+
// // Script tags
|
|
344
|
+
// /<script/i,
|
|
345
|
+
// // HTML injection
|
|
346
|
+
// /<\s*\/?\s*[a-z]+[^>]*>/i,
|
|
347
|
+
// // SQL injection patterns
|
|
348
|
+
// /'\s*--/i,
|
|
349
|
+
// /'\s*OR\s+/i,
|
|
350
|
+
// /'\s*;\s*DROP/i,
|
|
351
|
+
// // Command injection
|
|
352
|
+
// /\|\s*rm\s+-rf/i,
|
|
353
|
+
// /\`[^`]*\`/,
|
|
354
|
+
// /\$\([^)]*\)/,
|
|
355
|
+
// // Prototype pollution attempts
|
|
356
|
+
// /__proto__/i,
|
|
357
|
+
// /\.prototype\./i,
|
|
358
|
+
// // Invalid JavaScript syntax that should not be parsed
|
|
359
|
+
// /\bvar\s+/i, // variable declarations
|
|
360
|
+
// /\blet\s+/i, // let declarations
|
|
361
|
+
// /\bconst\s+/i, // const declarations
|
|
362
|
+
// /\bthrow\s+/i, // throw statements
|
|
363
|
+
// /\b\d+\s*\+\s*\d+/i, // arithmetic expressions
|
|
364
|
+
// /0x[0-9a-f]+/i, // hex numbers
|
|
365
|
+
// /0o[0-7]+/i, // octal numbers
|
|
366
|
+
// /0b[01]+/i, // binary numbers
|
|
367
|
+
// /\/\*.*?\*\//, // comments
|
|
368
|
+
// /\{[^"]+:/, // unquoted object keys
|
|
369
|
+
// /\[[^\]]*\]:/, // array as key
|
|
370
|
+
// ];
|
|
371
|
+
// for (const pattern of dangerousPatterns) {
|
|
372
|
+
// if (pattern.test(input)) {
|
|
373
|
+
// throw new Error('Input contains potentially malicious patterns');
|
|
374
|
+
// }
|
|
375
|
+
// }
|
|
376
|
+
// Tokenize and parse
|
|
377
|
+
const tokens = tokenize(input);
|
|
378
|
+
if (tokens.length === 0) {
|
|
379
|
+
throw new Error('No valid tokens found in input');
|
|
380
|
+
}
|
|
381
|
+
const { value, nextIdx } = parse(tokens, 0, 0);
|
|
382
|
+
// Ensure entire input was consumed
|
|
383
|
+
if (nextIdx < tokens.length) {
|
|
384
|
+
throw new ParseError(`Unexpected token after end of BON: ${tokens[nextIdx].type}`, tokens[nextIdx].position);
|
|
385
|
+
}
|
|
386
|
+
// Post-process to handle dates
|
|
387
|
+
return postProcess(value);
|
|
388
|
+
}
|
|
389
|
+
catch (error) {
|
|
390
|
+
if (error instanceof ParseError) {
|
|
391
|
+
throw new Error(`BON parse error: ${error.message}`);
|
|
392
|
+
}
|
|
393
|
+
throw error;
|
|
394
|
+
}
|
|
395
|
+
};
|
|
396
|
+
//# sourceMappingURL=parseBON.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parseBON.js","sourceRoot":"","sources":["../../../../libs/lockstep-core/tson/parseBON.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parsePossibleBON.d.ts","sourceRoot":"","sources":["../../../../libs/lockstep-core/tson/parsePossibleBON.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,QAAQ,MAAM,GAAG,IAAI,KAAG,CAAC,GAAG,IACN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parsePossibleBON.js","sourceRoot":"","sources":["../../../../libs/lockstep-core/tson/parsePossibleBON.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAI,KAAqB,EAAY,EAAE,CACtE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAE,QAAQ,CAAC,KAAK,CAAO,CAAC,CAAC,CAAC,IAAI,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare const string: {
|
|
2
|
+
readonly type: "string";
|
|
3
|
+
readonly description: "Some text i guess lmao";
|
|
4
|
+
};
|
|
5
|
+
export declare const boolean: {
|
|
6
|
+
readonly type: "boolean";
|
|
7
|
+
readonly description: "Either true or false";
|
|
8
|
+
};
|
|
9
|
+
export declare const number: {
|
|
10
|
+
readonly type: "number";
|
|
11
|
+
readonly description: "Any number, should probably be constrained at some point";
|
|
12
|
+
};
|
|
13
|
+
export declare const bigint: {
|
|
14
|
+
readonly type: "bigint";
|
|
15
|
+
readonly description: "Any bigint";
|
|
16
|
+
};
|
|
17
|
+
export declare const natural: {
|
|
18
|
+
readonly type: "integer";
|
|
19
|
+
readonly description: "Any natural number";
|
|
20
|
+
readonly minimum: 1;
|
|
21
|
+
};
|
|
22
|
+
export declare const date: {
|
|
23
|
+
readonly type: "date";
|
|
24
|
+
readonly description: "Any date";
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=primitives.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../../../libs/lockstep-core/tson/primitives.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,MAAM;;;CAGkB,CAAC;AACtC,eAAO,MAAM,OAAO;;;CAGkB,CAAC;AAEvC,eAAO,MAAM,MAAM;;;CAGkB,CAAC;AAEtC,eAAO,MAAM,MAAM;;;CAGkB,CAAC;AAEtC,eAAO,MAAM,OAAO;;;;CAIiB,CAAC;AAEtC,eAAO,MAAM,IAAI;;;CAGkB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export const string = {
|
|
2
|
+
type: 'string',
|
|
3
|
+
description: 'Some text i guess lmao',
|
|
4
|
+
};
|
|
5
|
+
export const boolean = {
|
|
6
|
+
type: 'boolean',
|
|
7
|
+
description: 'Either true or false',
|
|
8
|
+
};
|
|
9
|
+
export const number = {
|
|
10
|
+
type: 'number',
|
|
11
|
+
description: 'Any number, should probably be constrained at some point',
|
|
12
|
+
};
|
|
13
|
+
export const bigint = {
|
|
14
|
+
type: 'bigint',
|
|
15
|
+
description: 'Any bigint',
|
|
16
|
+
};
|
|
17
|
+
export const natural = {
|
|
18
|
+
type: 'integer',
|
|
19
|
+
description: 'Any natural number',
|
|
20
|
+
minimum: 1,
|
|
21
|
+
};
|
|
22
|
+
export const date = {
|
|
23
|
+
type: 'date',
|
|
24
|
+
description: 'Any date',
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=primitives.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../../../libs/lockstep-core/tson/primitives.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,MAAM,GAAG;IACrB,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,wBAAwB;CACD,CAAC;AACtC,MAAM,CAAC,MAAM,OAAO,GAAG;IACtB,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,sBAAsB;CACE,CAAC;AAEvC,MAAM,CAAC,MAAM,MAAM,GAAG;IACrB,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,0DAA0D;CACnC,CAAC;AAEtC,MAAM,CAAC,MAAM,MAAM,GAAG;IACrB,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,YAAY;CACW,CAAC;AAEtC,MAAM,CAAC,MAAM,OAAO,GAAG;IACtB,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,oBAAoB;IACjC,OAAO,EAAE,CAAC;CAC0B,CAAC;AAEtC,MAAM,CAAC,MAAM,IAAI,GAAG;IACnB,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,UAAU;CACW,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stringifies a JavaScript value into a BON (JSON with BigInt support) string.
|
|
3
|
+
*
|
|
4
|
+
* @param value The value to stringify
|
|
5
|
+
* @param space Optional space for formatting (not currently used)
|
|
6
|
+
* @param seen Optional Set of already seen objects (used internally for circular reference detection)
|
|
7
|
+
* @returns The BON string representation
|
|
8
|
+
* @throws Error for circular references or unsupported types
|
|
9
|
+
*/
|
|
10
|
+
export declare const stringifyBON: (value: unknown, space?: string, seen?: Set<unknown>) => string;
|
|
11
|
+
//# sourceMappingURL=stringifyBON.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stringifyBON.d.ts","sourceRoot":"","sources":["../../../../libs/lockstep-core/tson/stringifyBON.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GACxB,OAAO,OAAO,EACd,cAAU,EACV,OAAM,GAAG,CAAC,OAAO,CAAa,KAC5B,MA+HF,CAAC"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { isValidDate } from './isDate';
|
|
2
|
+
/**
|
|
3
|
+
* Stringifies a JavaScript value into a BON (JSON with BigInt support) string.
|
|
4
|
+
*
|
|
5
|
+
* @param value The value to stringify
|
|
6
|
+
* @param space Optional space for formatting (not currently used)
|
|
7
|
+
* @param seen Optional Set of already seen objects (used internally for circular reference detection)
|
|
8
|
+
* @returns The BON string representation
|
|
9
|
+
* @throws Error for circular references or unsupported types
|
|
10
|
+
*/
|
|
11
|
+
export const stringifyBON = (value, space = '', seen = new Set()) => {
|
|
12
|
+
// Handle null separately as it's not a typeof result
|
|
13
|
+
if (value === null) {
|
|
14
|
+
return 'null';
|
|
15
|
+
}
|
|
16
|
+
// If we've already seen this object, we have a circular reference
|
|
17
|
+
if (typeof value === 'object' && value !== null) {
|
|
18
|
+
if (seen.has(value)) {
|
|
19
|
+
throw new Error('Circular reference detected during stringification');
|
|
20
|
+
}
|
|
21
|
+
// Add the current object to the seen set before processing its children
|
|
22
|
+
seen.add(value);
|
|
23
|
+
}
|
|
24
|
+
switch (typeof value) {
|
|
25
|
+
case 'string': {
|
|
26
|
+
// Match the escape patterns expected by the tests
|
|
27
|
+
// The main issue was with control characters not being properly stringified
|
|
28
|
+
let result = value;
|
|
29
|
+
// Escape backslashes first
|
|
30
|
+
result = result.replace(/\\/g, '\\\\');
|
|
31
|
+
// Escape quotes
|
|
32
|
+
result = result.replace(/"/g, '\\"');
|
|
33
|
+
// Match control characters with escape sequences
|
|
34
|
+
if (result.includes('\n'))
|
|
35
|
+
result = result.replace(/\n/g, '\\n');
|
|
36
|
+
if (result.includes('\r'))
|
|
37
|
+
result = result.replace(/\r/g, '\\r');
|
|
38
|
+
if (result.includes('\t'))
|
|
39
|
+
result = result.replace(/\t/g, '\\t');
|
|
40
|
+
if (result.includes('\f'))
|
|
41
|
+
result = result.replace(/\f/g, '\\f');
|
|
42
|
+
if (result.includes('\b'))
|
|
43
|
+
result = result.replace(/\b/g, '\\b');
|
|
44
|
+
return `"${result}"`;
|
|
45
|
+
}
|
|
46
|
+
case 'undefined':
|
|
47
|
+
return 'undefined';
|
|
48
|
+
case 'number':
|
|
49
|
+
// Handle special number values, but ensure they're stringified correctly
|
|
50
|
+
if (isNaN(value)) {
|
|
51
|
+
return 'NaN';
|
|
52
|
+
}
|
|
53
|
+
if (!isFinite(value)) {
|
|
54
|
+
return value < 0 ? '-Infinity' : 'Infinity';
|
|
55
|
+
}
|
|
56
|
+
return value.toString();
|
|
57
|
+
case 'boolean':
|
|
58
|
+
return value.toString();
|
|
59
|
+
case 'symbol':
|
|
60
|
+
case 'function':
|
|
61
|
+
return value.toString(); // Convert symbols and functions to string
|
|
62
|
+
case 'bigint':
|
|
63
|
+
return value.toString() + 'n'; // Convert bigint to string with 'n' suffix
|
|
64
|
+
case 'object':
|
|
65
|
+
// Check for special object types first
|
|
66
|
+
if (Array.isArray(value)) {
|
|
67
|
+
// Handle sparse arrays by explicitly checking each index
|
|
68
|
+
const arrayItems = [];
|
|
69
|
+
for (let i = 0; i < value.length; i++) {
|
|
70
|
+
if (i in value) {
|
|
71
|
+
// eslint-disable-next-line security/detect-object-injection
|
|
72
|
+
arrayItems.push(stringifyBON(value[i], space, seen));
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
arrayItems.push('undefined');
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
seen.delete(value);
|
|
79
|
+
return `[${arrayItems.join(', ')}]`;
|
|
80
|
+
}
|
|
81
|
+
if (isValidDate(value)) {
|
|
82
|
+
seen.delete(value);
|
|
83
|
+
return `new Date("${value.toISOString()}")`;
|
|
84
|
+
}
|
|
85
|
+
// Special handling for Error objects
|
|
86
|
+
if (value instanceof Error) {
|
|
87
|
+
const errorObject = {};
|
|
88
|
+
// Include standard error properties
|
|
89
|
+
if (value.message)
|
|
90
|
+
errorObject['message'] = value.message;
|
|
91
|
+
if (value.name)
|
|
92
|
+
errorObject['name'] = value.name;
|
|
93
|
+
if (value.stack)
|
|
94
|
+
errorObject['stack'] = value.stack;
|
|
95
|
+
// Add any other enumerable properties
|
|
96
|
+
for (const key of Object.keys(value)) {
|
|
97
|
+
// eslint-disable-next-line security/detect-object-injection, @typescript-eslint/no-explicit-any
|
|
98
|
+
errorObject[key] = value[key];
|
|
99
|
+
}
|
|
100
|
+
// Now stringify the error object
|
|
101
|
+
const serializedError = Object.entries(errorObject)
|
|
102
|
+
.map(([key, item]) => {
|
|
103
|
+
const serializedKey = `"${key.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`; // Escape key
|
|
104
|
+
const serializedValue = stringifyBON(item, space, seen);
|
|
105
|
+
return `${serializedKey}: ${serializedValue}`;
|
|
106
|
+
})
|
|
107
|
+
.join(', ');
|
|
108
|
+
// Remove the error object from the seen set after we're done with it
|
|
109
|
+
seen.delete(value);
|
|
110
|
+
return `{${serializedError}}`;
|
|
111
|
+
}
|
|
112
|
+
// Handle regular objects
|
|
113
|
+
const objectEntries = Object.entries(value)
|
|
114
|
+
.map(([key, item]) => {
|
|
115
|
+
const serializedKey = `"${key.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`; // Escape key
|
|
116
|
+
const serializedValue = stringifyBON(item, space, seen);
|
|
117
|
+
return `${serializedKey}: ${serializedValue}`; // Serialize objects
|
|
118
|
+
})
|
|
119
|
+
.join(', ');
|
|
120
|
+
// Remove the current object from the seen set after we're done with it
|
|
121
|
+
seen.delete(value);
|
|
122
|
+
return `{${objectEntries}}`;
|
|
123
|
+
}
|
|
124
|
+
throw new Error('Unsupported type: ' + typeof value);
|
|
125
|
+
};
|
|
126
|
+
//# sourceMappingURL=stringifyBON.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stringifyBON.js","sourceRoot":"","sources":["../../../../libs/lockstep-core/tson/stringifyBON.ts"],"names":[],"mappings":"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"}
|
package/tsonToType.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tsonToType.d.ts","sourceRoot":"","sources":["../../../libs/lockstep-core/tsonToType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,qBAAqB,EAAE,GAAG,CAAC,KAAG,MAgDlE,CAAC"}
|